Revisamos completamente cada uno de los posts en nuestro sitio web con el objetivo de enseñarte en todo momento información más veraz y actualizada.
Recuerda el weather
y cities
mesas de Capitulo 2. Considere el siguiente problema: desea asegurarse de que nadie pueda insertar filas en el weather
tabla que no tienen una entrada coincidente en el cities
mesa. A esto se le llama mantener la integridad referencial de tus datos En los sistemas de bases de datos simplistas, esto se implementaría (si es que se implementa) observando primero el cities
tabla para verificar si existe un registro coincidente, y luego insertar o rechazar el nuevo weather
registros. Este enfoque tiene una serie de problemas y es muy inconveniente, por lo que PostgreSQL puede hacerlo por usted.
La nueva declaración de las tablas quedaría así:
CREATETABLE cities ( city varchar(80)primarykey, location point);CREATETABLE weather ( city varchar(80)references cities(city), temp_lo int, temp_hi int, prcp real,datedate);
Ahora intente insertar un registro no válido:
INSERTINTO weather VALUES('Berkeley',45,53,0.0,'1994-11-28');
ERROR: insert or update on table "weather" violates foreign key constraint "weather_city_fkey" DETAIL: Key (city)=(Berkeley) is not present in table "cities".
El comportamiento de los extranjeros keys se puede ajustar con precisión a su aplicación. No iremos más allá de este simple ejemplo en este tutorial, solo lo referiremos a Capítulo 5 para más información. Hacer un uso correcto del extranjero keys definitivamente mejorará la calidad de sus aplicaciones de base de datos, por lo que le recomendamos encarecidamente que aprenda sobre ellas.
Anterior | Arriba | próximo |
3.2. Puntos de vista | Casa | 3.4. Actas |
valoraciones y reseñas
Tienes la opción de proteger nuestra tarea fijando un comentario y puntuándolo te damos las gracias.