380
Diseño de Bases de Datos Relacionales:
Mapeo ER al Modelo Relacional
© 2007
Fundamentos de Bases de Datos
L. Gómez
1
Input:ERD
Relacional
Entidades
Atributos Simples, Compuestos
Atributos Derivados, multivalor
Relaciones 1:1, 1:N, M:N,
Relaciones recursivas
Entidades débiles
Participación total
Participación opcional
© 2007
Fundamentos de Bases de DatosOutput: Esquema
Algoritm
o
Tablas,
Llaves primarias PK
Llaves foráneas FK
Employee(Fname, ..
PK(SSN)
FK(SUPERSSN) refernces
Employee(SSN)
Department(Dname, Dnumber,
mgrSSN,…)
PK(Dnumber)
FK(mgrSSN) references
Employee(SSN)
….
….
De
Mapeo
L. Gómez
2
MAPEO ER A RELACIONES
El enfoque ER representa un diseño conceptual que
representa una situación real.
Aquí consideramos el mapeo deentidades y
relaciones de un diagrama ER a las relaciones
(tablas) del modelo de datos relacional
Aunque el mapeo es flexible de alguna forma, se
definen varias heurísticas o reglas mapeo.
© 2007
Fundamentos de Bases de Datos
L. Gómez
3
Reglas de Mapeo
R1
R2
R3
R4
R5
R6
R7
R8
R9
Mapeo de Entidades
Mapeo de Atributos Simples y Compuestos
Mapeo de relaciones 1:1
Mapeo derelaciones 1:N
Mapeo de relaciones M:N
Mapeo de atributos multivalor
Mapeo de Entidades débiles
Mapeo de relaciones recursivas
Mapeo de atributos derivados
© 2007
Fundamentos de Bases de Datos
L. Gómez
4
R1 Mapeo de entidades
Por cada entidad no débil, crear una tabla
Tablas:
Department()
Employee()
Project()
© 2007
Fundamentos de Bases de Datos
L. Gómez
5
R2. Atributos Simples yCompuestos
Cada Atributo Simple y cada nodo hoja de los atributos
compuestos es una columna en R.
Atributos de la tabla
Los atributos simples de la entidad y
los componentes simples de atributos compuestos.
Llave Primaria (Primary Key)
Llave primaria de la entidad.
ESTR
EID
ENAME
EMP
ECITY
EADDR
EST
ESAL
EZIP
emp(EID,ENAME,ESAL,ESTR,ECITY,EST,EZIP)
© 2007
Fundamentos de Bases de DatosL. Gómez
6
R3. CARDINALIDAD 1:1 (CARDINALITY
RATIO)
Relación de 1:1 entre clases C1 y C2 , seleccionar una de las clases
(C1) e incluir la llave de C2 en C1 como una llave foránea.
Incluir los atributos simples de la asociación entre ambas clases
en C1
Agregar a una de las tablas seleccionada (C1):
1. Atributos correspondientes a la llave primaria de la otra entidad involucrada en
la relación(relationship). En este caso C2 o course
2. Si existen Atributos de la relación (relationship) C1:C2 se ponen en la tabla
correspondiente a C1, TEACHER en este ejemplo.
course(crsid, title)
Teacher(tname, dept, crsid, ….)
FK(crsid) references Course(crsid)
C2
© 2007
C1
Nota: Si es posible, seleccionar a la
entidad que tiene participación total (total participation)
en la relación(relationship)
Fundamentos de Bases de Datos
L. Gómez
7
R4. CARDINALIDAD 1:N
Agregar a la relación o tabla (relation) de la entidad
en el lado muchos (many) del tipo de relación
(relationship) lo siguiente:
Los Atributos que forman la llave primaria de la
entidad en el lado uno del tipo de
relación(relationship)
Si existen atributos de la relacion (relationship),
se ponen en la tabla que tiene N
course(CRSID, TITLE, TNAME, ….)
FK(TNAME) references teacher(TNAME)
teacher(TNAME, DEPT)
© 2007
Fundamentos de Bases de Datos
L. Gómez
8
R5. CARDINALIDAD M:N
R5. Relaciones N:M entre clases C1 y C2, crear una relación R
para representar la relación entre clases. Incluir las llaves de C1
y C2 y todos los atributos simples de la relación entre las clases.
Llave Primaria
Combinación delos atributos que forman las llaves primarias de las
entidades involucradas en la relación (relationship).
EXPORT(NAME, PNUM, QTY)
PK(NAME,PNUM)
FK(NAME) references COUNTRY(NAME)
FK(PNUM) references PRODUCT(PNUM)
© 2007
Fundamentos de Bases de Datos
L. Gómez
9
R6. Atributos Multivalor
(Multivalued)
Crear una tabla para el atributo multivalor que incluya la llave
de la entidad:
C(keyOfC,...
Regístrate para leer el documento completo.