Sabemos que una tabla es una especialización del concepto representado por otra, por ejemplo coche respecto de vehículo, porque
tiene una clave ajena exactamente igual a la clave primaria
Si como producto de la adaptación del concepto de relación matemática al modelo relacional decimos que la relación tiene intensión y extensión, la segunda se define como
el conjunto de n-tuplas, donde cada tupla es un conjunto de pares (nombreAtributo: valor)
En el modelo relacional, una clave primaria puede ser al mismo tiempo
Una clave ajena
Si R es una relación y A es una clave ajena de R que hace referencia a R2
no hay nunca que definir una política en A ante inserciones en R2, con independencia
de otras características que pueda tener la columna A (Valor No Nulo, Clave
Alternativa, Clave primaria
Si una tabla tiene 4 columnas, la cantidad máxima posible de claves candidatas es
6
Una clave candidata (o parte de ella)
puede contener cadenas vacías
Si T es una tabla que contiene una clave ajena que hace referencia a una tabla X
borrar en X puede provocar problemas con la integridad referencial
En el sistema real, ALUMNO puede escoger tantos VIAJES como quiera y los VIAJES sólo permiten un máximo de 30 ALUMNOS cada uno, pero al diseñar las tablas en modelo relacional la aproximación más correcta
necesita dos claves ajenas
De dominios en el modelo relacional y tipos de datos en lenguajes de programación, sistemas de gestión de bases de datos, etc.
los tipos de datos son casos particulares de dominios
El caso de Factura-Línea_de_detalle es un ejemplo de
dependencia de identificador
Si no necesito que los coches tengan propietario, pero sólo pueden tener un propietario
pondré la clave ajena en coches
La política de anular en la clave ajena de una relación no tiene sentido si
esa clave ajena es también clave primaria o clave alternativa
Las propiedades de cobertura son
total o parcial, y solapada o disjunta
la definición de la relación matemática por intensión, después de su adaptación al modelo relacional es equivalente a su
esquema
La integridad de clave
no permite nulos en ninguna de las columnas de la clave primaria
Una restricción de correspondencia entre clases de objetos de cardinalidad mínima 3
nos dice que la ocurrencia del objeto estará presente en la agregación al menos tres veces
Si entre cliente y vehículo existe una relación alquilar de tipo uno a uno, y cliente sufre una restricción de existencia respecto de alquilar, tendrá clave alternativa la tabla
cliente
A una clave ajena de una relación R se le pueden definir políticas para velar por la integridad referencial para saber que acciones realizar ante
borrados y modificaciones en R que violen la integridad referencial.
Si una clave ajena tiene, además, una restricción de valor no nulo
refleja una restricción de existencia
En el modelo relacional, si VEHÍCULO es una clase generalizada y COCHE es subtipo, la CARD(VEHÍCULO,R)
tiene cardinalidad máxima 1
Si los alumnos de mi sistema de información no son tales hasta que se han matriculado de al menos una asignatura pero, al mismo tiempo, pueden matricularse de varias asignaturas
con una clave ajena en alumno que no admita nulos lo tengo solucionado.
Para adaptar el concepto de relación matemática al modelo relacional, Codd tuvo que
poner nombre a los dominios que constituyen la relación
Una tabla en el modelo relacional
no puede tener filas duplicadas
Una tercera tabla con dos claves ajenas, una de ellas clave primaria y la otra alternativa
es una relación uno a uno
La intensión de una relación se refiere
a su esquema
Una relación 1:1 con doble restricción de existencia
una única tabla sin claves ajenas pero con una clave primaria y otra alternativa
Una clave ajena en el modelo relacional
indica una asociación entre objetos.
La definición de claves ajenas entre dos tablas es consecuencia de la aplicación de los mecanismos de abstracción
agregación o generalización
La integridad referencial puede "romperse"
si no hay definida una estrategia de mantenimiento en todas y cada una de las claves ajenas
Si una tabla tiene 3 claves ajenas y todas admiten nulos y duplicados
estamos hablando de tres relaciones diferentes de esa tabla con otras.
El modelo relacional no recoge el concepto de
atributo multivaluado.
Si, en una tabla R(A,B,C), (A,B) es clave primaria y (B,C) es clave ajena que genera una correspondencia X con otra tabla
Card(R,x) = (1,1)
La relación matemática, antes de su adaptación al modelo relacional
no tiene orden entre sus tuplas ni duplicados
En una tabla en el modelo relacional
una clave candidata puede estar compuesta por varios atributos
Las políticas para mantener la integridad referencial en borrados y modificaciones en el modelo relacional se definen para
impedir referencias inconsistentes en claves ajenas
Si EMPLEADO y DEPARTAMENTO se relacionan de forma que un empleado sólo puede trabajar en un departamento como máximo, en modelo relacional se representaría como
una clave ajena en EMPLEADO
La definición de tablas en un SGBD relacional constituye
el esquema de la base de datos
Sea R una relación R(a:dom_a, b:dom_b, c:dom_c , d:dom_d)
R puede tener como claves candidatas (a,c), (b,c) y (d)
Al hablar de claves en el Modelo Relacional
una clave ajena de una relación R puede ser también la clave primaria de R.
Toda relación tiene al menos una clave candidata ya que
el conjunto de todos los atributos de una relación siempre cumplen la propiedad de
identificación única.
Si todo valor de clave ajena ha de aparecer en la tabla a la que hace referencia, nos estamos refiriendo a
integridad referencial.
Una clave candidata puede contener nulos
nunca
Una relación 1:1
dos tablas más una tercera que aloja 2 claves ajenas a cada una de las anteriores, una como clave primaria y la otra como alternativa
Para un conjunto de atributos determinado, la integridad de clave consiste en
la imposibilidad de almacenar nulos
Una generalización total y disjunta
no se puede representar en el modelo relacional
Un dominio, en la teoría del modelo relacional es
un conjunto de valores escalares
En toda relación se puede encontrar al menos una clave candidata ya que el conjunto de todos los atributos de una relación siempre
cumple la propiedad de identificación única
El trabajar con un SGBD que siga el Modelo Relacional fielmente nos garantiza
que en las tablas no hay tuplas duplicadas.
Para el Modelo Relacional, la no duplicidad de tuplas
es una restricción implícita por el tipo de estructura en la que se basa el modelo.
La independencia de datos en el modelo relacional se refiere a que
cambios de dominio sobre columnas que no utiliza una vista no obligan a redefinir esta última
Una clave candidata puede contener nulos
nunca
Si necesito que cada empleado se relacione como máximo con un departamento aunque puede no asignársele
la clave ajena ha de estar en empleado.
La columna que actúa como clave ajena de una tabla puede contener valores nulos
cuando la clave ajena representa una relación de conectividad 1:M y no hay restricción de existencia.
Si una tabla A, que se relaciona con otra tabla B, contiene una clave ajena que no permite nulos pero sí duplicados
cualquier fila de A se relacionará siempre con una y sólo una fila de B.
La integridad referencial en un SGBD relacional
se cumple si toda la clave ajena es nula o ningún atributo de la clave es nulo y la referencia es válida.
El concepto matemático de tupla, como consecuencia del concepto de relación matemática (antes de su adaptación al modelo relacional), implica que
sólo existe una forma de referenciar una componente dentro de la tupla.
Si 2 tablas se relacionan mediante tres claves ajenas, todas en una de estas dos tablas, estamos hablando de
3 relaciones entre las dos tablas
Una especificación de correspondencia entre clases Card(T,x) = (1,N)
es imposible en un esquema de bases de datos relacionales
La integridad de clave primaria en un SGBD relacional
es la restricción que garantiza la no duplicidad de tuplas.
Una relación 1:1 con una restricción de existencia
son dos tablas con una clave ajena en una de ellas que es, al mismo tiempo, clave alternativa
En el modelo relacional, al hecho de formar una relación empleado con dos atributos, nombre y tipo_de_contrato se le relaciona con un mecanismo de
agregación
Si una relación se define en función de sus atributos como R(a, b, c) y (a, b) es clave primaria,
tendrá como máximo tres claves candidatas.
La definición de relaciones (tablas) en una BD relacional establece las propiedades (del sistema de información que representan)
estáticas
Las restricciones de existencia en las correspondencias entre clases en el modelo relacional
no son posibles en las relaciones muchos a muchos
Si toda relación siempre tiene al menos una clave candidata, la totalidad de los atributos de una relación
nunca será clave alternativa.
El concepto de relación matemática se adapta al modelo relacional
asignando un nombre simbólico a los componentes de las tuplas de la relación
El procedimiento de borrado en cascada (propagar el borrado), desde el punto de vista de la integridad referencial
es elegido por el diseñador del sistema en función de las necesidades del mismo.
Hablando de SGBD relacionales
catálogo y diccionario de datos son, en realidad, la misma cosa.
La política de propagar un borrado a una clave ajena de una relación no es posible
no es cierta la afirmación: siempre es posible
La agregación permite
Construir clases de objetos complejas a partir de otras clases de objetos previamente definidas
Para una clave ajena en una relación R que forma parte de una clave alternativa también de R
anular no es una opción válida para mantener la integridad referencial
Si MARINO capitanea uno y sólo un BARCO, mientras que los BARCOS pueden NO tener capitán pero como mucho UN capitán
en la tabla MARINO hay una clave ajena que es, al mismo tiempo, clave alternativa
Si T es una tabla que contiene una clave ajena que hace referencia a una tabla X
siempre podré borrar y modificar en T, salvo si existe alguna clave ajena en otra tabla que haga referencia a T
Si una relación tiene más de una clave candidata
cualquiera de las claves candidatas sirve para identificar las tuplas de la misma.
Si una tabla A tiene una relación con otra tabla y la clave ajena está definida en en esa otra tabla
nunca podrá tener restricción de existencia.
Si 2 tablas se relacionan mediante una clave ajena en una de ellas que es al mismo tiempo clave alternativa, estamos hablando de
una relación uno a uno con restricción de existencia
Si R es una relación compuesta por tres atributos R(A,B,C), que las claves candidatas sean irreducibles significa que
(A,C) y (A, B) pueden ser ambas claves candidatas