Professional Documents
Culture Documents
CONVENCIONES
CP o PK = Clave Primaria NN = No Nulo CA = Clave Alternativa CF o FK= Clave Fornea
Nota: En caso de varias claves (alternativas, forneas) compuestas se les coloca un subndice para diferenciarlas
ACTUACION
de
ACTOR
contratado para
* rol
O
premio
producida en
Entidad ACTOR - cdula : CP - nombre, apellido : No nulos - nombreArtstico : admite nulos Entidad ESTUDIO - identificador: CP - nombre: No nulos - No tiene claves forneas
Entidad PELICULA - cdigo : CP - ttulo, ao, duracin : No nulos - aparece un atributo (clave fornea) por ejemplo codEstudio que establece la relacin* con ESTUDIO Entidad ACTUACIN CP de la relacin - fecha : No nulos ACTUACION - rol, premio: acepta nulos - aparecen dos CF: idActor, idPelcula
*Relacin en el sentido del modelo E/A
Obtener datos ejemplo de las tuplas mediante: entrevistas, documentacin, conversaciones Convertir las entidades en relaciones Nombre de la relacin igual al de la entidad en el diagrama E/A (algunos recomiendan plural) Convertir los atributos en columnas Atributos obligatorios son No Nulos Nombres cortos pero significativos (pueden ser los mismos que tienen en el modelo E/A), pueden ser abreviaturas consistentes
Convertir las asociaciones en claves forneas: Asignar un nombre de columna para la CF y rotularlo CF. Relaciones 1 a muchos: La CF se coloca en la entidad a la que le llega cardinalidad muchos. Si la relacin es obligatoria (en el lado de la entidad que posee la CF), la CF debe ser NN. Relaciones 1 a 1: Colocar CF en el lado de la obligatoriedad y debe ser NN. (Si ambos lados de la relacin son obligatorios, la CF se debe colocar en cualquiera de los dos lados)
Recomendado por
recomienda a Relaciones 1 a 1 opcionales en los dos sentidos: colocar la CF en cualquiera de las dos entidades. La CF admite nulos Relacin Recursiva 1 a muchos: se adiciona una columna CF a la tabla que referencia a la misma entidad. Puede admitir nulos? Una CF en una relacin 1 a 1 debe ser nica (clave alternativa) Por qu? Relaciones muchos a muchos: Siempre se eliminan, descomponindolas dando origen a una tercera entidad
Actor
10
Si el identificador nico est formado por relaciones con otras entidades, se deben generar las claves forneas respectivas y stas harn parte de la clave primaria
11
Supertipos/subtipos:
12
Crear una tabla para el supertipo. Crear una columna TIPO para identificar el subtipo. Crear una columna para cada atributo del supertipo. Crear una columna para cada atributo de los subtipos. Crear columnas CF para cada relacin del supertipo. Crear columnas CF para cada relacin de los subtipos.
13
Recomendable cuando los subtipos tienen pocos atributos y pocas asociaciones propias Consultas frecuentes que involucran datos de diferentes subtipos La tabla resultante contiene las informaciones de todos los subtipos El acceso al supertipo es directo Acceso a los subtipos mediante vistas
14
Requiere siempre la creacin de una columna que identifique los subtipos a los que se refiere. Todos las columnas pertenecientes a los subtipos deben ser opcionales (admitir nulos) Por qu? Implica una clusula check que garantice que si una fila pertenece a un subtipo dado los atributos pertenecientes a los dems subtipos debern ser nulos
15
Desventajas de este diseo: Los requisitos de atributos obligatorios en el modelo E/A de cada subtipo no se pueden hacer cumplir Implica el manejo de vistas para extraer los subtipos
16
Crear una tabla para el supertipo: Crear una columna por cada atributo del supertipo Crear columnas CF para cada asociacin del supertipo.
17
Crear una tabla para cada subtipo Crear columnas para cada atributo del subtipo Crear columnas CF para cada relacin* del subtipo Crear una CF nica hacia el supertipo en todos los subtipos
*Relacin en el sentido del modelo E/A
18
Cada tabla del subtipo contiene instancias slo del subtipo La opcionalidad de los atributos del subtipo en el modelo E/A se hace cumplir desde la definicin de la BD Acceso al supertipo que implique atributos de los subtipos implica una reunin (join) Subtipos excluyentes: Implica garantizar por programacin que la CP del supertipo slo aparezca en uno de sus subtipos Tambin es posible eliminar la tabla supertipo y agregar todas sus columnas a cada subtipo, pero igualmente exige control por programacin, y adems se pierde un poco el concepto original de supertipo...
El modelo relacional
Lic. Jorge Adalberto Arvalos joarevalos@gmail.com @joarevalos
Objetivos
La terminologa del modelo relacional Cmo se utilizan las tablas para representar datos. La conexin entre las relaciones matemticas y las relaciones usadas en el modelo relacional. Las propiedades de las relaciones de bases de datos. Cmo identificar claves candidatas, principales, alternativas y externas. El significado de la integridad de las entidades y de la integridad referencial. El propsito y las ventajas de las vistas en los sistemas relacionales.
20
Relacin
Clave primaria
Grado
Relacin
Nmeros de sucursalConjunto de todos los posibles nmeros de sucursal Carcter: tamao 4, rango D001-B999 Nombres de calle Carcter: tamao 25 Conjunto de los nombres de calles en Gran Bretaa
Conjunto de los nombres de ciudad en Gran Bretaa Carcter: tamao Nombres de ciudad 15 Conjunto de los cdigos postales de Gran Cdigos postales Carcter: tamao 8 Bretaa
Sexo
Carcter: tamao 1, valor M o F. Fecha, rango desde el 1-Enero-20, formato dd-mmm-yy Monetario: 7 dgitos, rango 6000,00-40000,00
Salarios
Alternativa 1 Tabla
Alternativa 2 Archivo
Tupla
Atributo
Fila
Columna
Registro
Campo
Una forma alternativa consiste en hallar todas las combinaciones de elementos que pueden formarse tomando el primero de D1 y el segundo de D2.
28
Propiedades de las relaciones Cada tupla es diferente; no hay tuplas duplicadas. El orden de los atributos no tiene importancia. El orden de las tuplas no tiene importancia, tericamente.
Clave candidata
Claves relacionales Clave principal La clave candidata seleccionada para identificar las tuplas de forma unvoca dentro de la relacin. Claves alternativas Las claves candidatas que no han sido seleccionadas para ser claves principales. Clave externa Un atributo o conjunto de atributos dentro de una relacin que se corresponde con la clave candidata de alguna (posiblemente la misma) relacin.
Restricciones de integridad
Integridad de entidad En una relacin base ningn atributo de la clave principal puede ser nulo.
Integridad referencial Si hay una clave externa en una relacin el valor de la clave externa debe corresponderse con el valor de una clave candidata de alguna tupla en su relacin de origen o el valor de la clave externa debe ser completamente nulo.
Vistas
Relacin base Una relacin nominada correspondiente a una entidad del esquema conceptual y cuyas tuplas estn almacenadas fsicamente en una base de datos.
Vista El resultado dinmico de una o ms operaciones relacionales que operan sobre las relaciones base para producir otra relacin.
Vistas
Relaciones virtuales que no tienen por qu existir necesariamente en la base de datos sino que se pueden producir cuando se solicite por parte de un usuario concreto, generndose en el momento de la solicitud. Los contenidos de la vista se definen mediante una consulta sobre una o ms relaciones base.
Las vistas son dinmicas, lo que significa que los cambios que se hagan en las relaciones base que afectan a la vista se reflejan inmediatamente en esta.
Actualizaciones de las vistas Todas las actualizaciones efectuadas en una relacin base deben verse inmediatamente reflejadas en todas las vistas que hagan referencia a esa relacin base. Si se actualiza una vista, la relacin base subyacente debe reflejar el cambio.
Existen restricciones en los tipos de modificaciones que pueden efectuarse mediante vistas:
Estn permitidas las actualizaciones mediante una vista que est definida utilizando una consulta simple en la que est involucrada una nica relacin base y que contenga la clave principal o una clave candidata de la relacin base.
Actualizaciones de las vistas No se permiten las actualizaciones mediante vistas que impliquen mltiples relaciones base. No se permiten las actualizaciones mediante vistas que impliquen operaciones de agregacin o de agrupacin.