. El proceso de
concepción, diseño y creación de una BD requiere una serie de pasos
|
. Origen: Visión
conceptual del problema, representada mediante el Modelo de Entidad-Relación
(esquema conceptual)
. Resultado final:
implementación lógica, y concreción en diseño físico en función de un SGBD
concreto
|
|
. Concepto previo:
entidad fuerte y débil, tipos de dependencia
|
. Entidad débil: no puede existir sin participar en la relación; no
puede ser unívocamte identificada solamente por sus atributos
. Dependencia por existencia: Las ocurrencias de la ent débil
pueden identificarse mediante atributo id clave sin identificar la entidad
fuerte relacionada
. Dependencia por identidad: La entidad débil no puede ser
identificada sin la entidad fuerte relacionada
|
|
. Transformación de entidadesà Cada entidad del modelo conceptual se
transforma en una relación o tabla con estructura relacional
. Transformación de atributosà Los atributos convencionales se
transforman en campos de la relación con el dominio que tuvieran asignado
|
||||||
.Transformación de relaciones
|
Relaciones 1:1
|
. Será necesario crear
una nueva tabla si…
|
. Las cardinalidades
mínimas son cero (ambas)
|
. Evitará valores nulos
en claves ajenas y mantendrá simetría natural (*)
(*) Independencia entidades tablas separadas
|
||
. La relación tiene
atributos propios
. Se prevé posterior
variación cardinalidades
|
||||||
. Si solo una de las
cardinalidades mínimas es ceroà propagar clave de la obligatoria a la que
no lo es
|
||||||
. Si todas las card.
mínimas son 1 (se dice que las 2 ent. participan de forma completa)..
|
. Si las entidades
tienen el mismo identificador...
|
. Se transforman en una
única tabla
. Atributos:
concatenación atrib. de las 2
|
||||
. Si tienen diferente
identificador
|
. Cada entidad se
transforma en una tabla
. Se propaga la clave
de cq a la otra (según frecuencia acceso,prioridades,..)
|
|||||
Relaciones 1:N
|
. Si ambas entidades
son fuerte à Se propaga la clave
|
|||||
. Una entidad débil y
otra fuerte
|
. Dependencia por
existenciaà se propaga la clave
|
|||||
. Dependencia por
identificador
|
. Se propaga la clave
. Además, a la clave
primaria de tabla cardinal N se le añade la clave de cardinal 1
|
|||||
Relaciones N:M
|
. Se crea una tabla
como consecuencia de la relación
. Tendrá como clave
primaria la concatenación de los identificadores de las entidades
relacionadas
|
|||||
Relaciones ternariasà Igual que el caso de las relaciones N:M
|
||||||
Relaciones reflexivas
|
. Son aquellas
relaciones 1:N en las que participa una única entidad
. Se transforma
utilizando la propagación de la clave, aunque renombrando el nombre del
identificador
|
|||||
. Transformac. de jerarquías
|
. El modelo lógico
relacional no puede representar directamente supertipos y subtiposà3 métodos de transformación
|
|||||
. Método 1: Crear tablas diferentes
|
. Una tabla para el
supertipo, su clave primaria el identificador
. Una tabla para c/u de
los subtipos, que tengan el id del supertipo como clave ajena
|
|||||
. Método 2: Tablas para cada subtipo
|
. Una tabla para cada
subtipo
. Los atributos comunes
aparecen en todos los subtipos
. La clave primaria
para cada tabla es el identificador del supertipo
|
|||||
. Método 3: Todo en una tabla
|
. Agrupar en una tabla
todos los atributos de la entidad supertipo y los subtipos
. La clave primaria es
el identificador de la entidad
. Añadir atributo
(discriminante de la jerarquía) q dice el subtipo de cada ocurrencia
|
|||||
. Transformac. de relaciones exclusivas
|
. “Caso particular”:si
para un id se da una ocurrencia en una entidad,no se puede dar para otras con
que tb está relacionada
. P.ej. dada la
relación “edita”,y las entidades libro, editorial y universidad, suponer
existe exclusividad en edición de un libro: por parte de editorial o
universidad
. Si se transforma la
relación 1:N con id’s propagados: comprobar que si una clave toma valor,las
otras deberán ser nulas (*)
(*) Es decir, hay que comprobar que una y sólo una de
esas claves es nula en cada ocurrencia
. Si se ha transformado
la relación creando tablas nuevas,comprobarlo en las tablas resultado de
transformar las relaciones
. Soportar relaciones exclusivas exige definir (“por fuera” del modelo) las restricciones pertinentes en cada
caso
|
|||||