Bases de Datos Geográficos Pasaje de MER a Modelo Instituto de Agrimensura - Facultad de Ingeniería Universidad de la República
Uno de los puntos principales del esquema relacional, en contraste con un esquema ER, es que los tipos de relación no están explícitamente representados. La "relación" entre dos tablas (relaciones) se representa con dos atributos A y B, uno como clave principal y otro como foreign key (en el mismo dominio) incluidos en las dos relaciones S y T. Dos tuplas de las relaciones (tablas) S y T están relacionadas cuando tienen el mismo valor para los atributos A y B. Al utilizar la operación EQUIJOIN (o concatenación) sobre S.A y T.B, podemos combinar todas las parejas de tuplas relacionadas de S y T y materializar la relación. En el caso de un tipo de relación N:N binaria, se necesitan dos operaciones de concatenación Un tipo de relación 1:1 o 1:N binaria, normalmente sólo necesita una operación de concatenación. Para los tipos de relación n-ary, se necesitan n concatenaciones para materializar completamente las instancias de relación. Facultad de Ingeniería Bases de Datos Geográficos-IA 2
Pasaje de los tipos de entidad fuertes Por cada tipo de entidad fuerte E se crea una relación (tabla) R. Incluir todos los atributos simples de E. En caso de atributo compuesto, incluir únicamente los atributos simples que lo componen. Seleccionar uno de los atributos claves de E como clave principal de R. Agregar el resto de los atributos clave de E como claves adicionales de R (el conocimiento de estas es necesario para la indexación y otros tipos de análisis). Facultad de Ingeniería Bases de Datos Geográficos-IA 3
Pasaje de los tipos de entidad débiles Por cada tipo de entidad débil E1 con el tipo de entidad propietario E2, se crea una relación R. Incluir todos los atributos simples/compuestos Incluir todos los atributos de las claves primarias de las entidades propietario. La clave primaria de R es la clave primaria de las entidades propietario más el/los atributo/s que representan al identificador parcial. Facultad de Ingeniería Bases de Datos Geográficos-IA 4
Pasaje de los tipos de relación 1:1 binaria. Por cada tipo de relación 1:1 binaria R del esquema Entidad-Relación, identificar las relaciones S y T que corresponden con los tipos de entidad que participan en R. Seleccionar una de las relaciones, por ejemplo S, y se incluye como foreign key de S la clave principal de T. Incluir en S todos los atributos simples de la relación R. Pasaje de tipos de relaciones 1:N binarias. Por cada relación l:n binaria regular R, identificar la relación S que representa el tipo de entidad participante en el lado N del tipo de relación R. Incluir como como foreign key en S la clave principal de la relación T que representa el otro tipo de entidad participante en R. Incluir en S los atributos simples/compuestos del tipo de relación R. Facultad de Ingeniería Bases de Datos Geográficos-IA 5
Pasaje de tipos de relaciones N:N binarias. Por cada tipo de relación N:N binaria R, crear una nueva relación S para representar a R. Incluir como atributos de la foreign key en S las claves principales de las relaciones que representan los tipos de entidad participantes; su combinación formará la clave principal de S. Facultad de Ingeniería Bases de Datos Geográficos-IA 6
Pasaje de atributos multivalor. Por cada atributo multivalor A, crear una nueva relación (tabla) R. Esta relación incluirá un atributo correspondiente a A, más el atributo clave principal K (como foreign key en R) de la relación que representa el tipo de entidad o tipo de relación que tiene A como un atributo. La clave principal de R es la combinación de A y K. Si el atributo multivalor es compuesto, incluimos sus componentes simples. Facultad de Ingeniería Bases de Datos Geográficos-IA 7
Pasaje de los tipos de relación n-ary. Por cada tipo de relación n-ary R, donde n > 2, crear una nueva relación (tabla) S. Incluir como atributos de la foreign key en S las claves principales de las relaciones que representan los tipos de entidad participantes en R. Incluir también cualesquiera atributos simples/compurdtod del tipo de relación n- ary como atributos de S. Normalmente, la clave principal de S es una combinación de todas las foreign keys que hacen referencia a las relaciones que representan los tipos de entidad participantes. Facultad de Ingeniería Bases de Datos Geográficos-IA 8
Pasaje de la especialización. Convertir cada especialización con m subclases {S1, S2,..., Sm} y la superclase (generalizada) e, donde los atributos de e son {k, a1,..., an} y k es la clave (principal), en esquemas de relación utilizando alguna de las siguientes opciones: Varias relaciones (superclase y subclase). Esta opción funciona para cualquier especialización (total o parcial, disjunta o solapada). Varias relaciones (sólo relaciones de subclase). Esta opción sólo funciona para una especialización cuyas subclases sean totales (cada entidad de la superclase debe pertenecer [al menos] a una de las subclases). Si la especialización es solapada, una entidad se puede duplicar en varias relaciones. Una sola relación con un atributo de tipo. Esta opción sólo funciona para una especialización cuyas subclases son disjuntas, y tiene el potencial de generar muchos valores NULL si en las subclases existen muchos atributos específicos. Una sola relación con varios atributos de tipo. Esta opción funciona para la especialización cuyas subclases sean solapadas (pero también funcionará para una especialización disjunta). Facultad de Ingeniería Bases de Datos Geográficos-IA 9
Pasaje de la especialización. Varias relaciones (superclase y subclase). Crear una relación L para C con los atributos Atrs(L) = {k, a1,..., an} y la CPr(L) = k. Crear una relación Li para cada subclase Si, 1 <= i <= m, con los atributos Atrs(Li) = {k} U {atributos de Si} y CPr(Li) = k. Esta opción funciona para cualquier especialización (total o parcial, disjunta o solapada). Facultad de Ingeniería Bases de Datos Geográficos-IA 10
Pasaje de la especialización. Varias relaciones (sólo relaciones de subclase). Crear una relación Li por cada subclase Si, 1 <= i <= m, con los atributos Atrs(Li) = {atributos de Si} U {k, a1,..., an} y la CPr(Li) = K. Esta opción sólo funciona para una especialización cuyas subclases sean totales (cada entidad de la superclase debe pertenecer [al menos] a una de las subclases). Si la especialización es solapada, una entidad se puede duplicar en varias relaciones. Facultad de Ingeniería Bases de Datos Geográficos-IA 11
Pasaje de la especialización. Una sola relación con un atributo de tipo. Crear una sola relación L con los atributos Atrs(L) = {k, a1,...,an} U {atributos de S1} U... U {atributos de Sm} U {t} y CPr(L) = k. El atributo t se denomina atributo de tipo (o discriminatorio) que indica la subclase a la que pertenece cada tupla, si la hay. Esta opción sólo funciona para una especialización cuyas subclases son disjuntas, y tiene el potencial de generar muchos valores NULL si en las subclases existen muchos atributos específicos. Facultad de Ingeniería Bases de Datos Geográficos-IA 12
Pasaje de la especialización. Una sola relación con varios atributos de tipo. Crear un solo esquema de relación L con los atributos Atrs(L) = {k, a1,...,an} U {atributos de S1} U... U {atributos de Sm} U {t1, t2,..., tm} y la CPr(L) = K. Cada ti, 1 <= i <= m, es un atributo de tipo booleano que indica si una tupla pertenece a la subclase Si. Esta opción funciona para la especialización cuyas subclases sean solapadas (pero también funcionará para una especialización disjunta). Facultad de Ingeniería Bases de Datos Geográficos-IA 13
Algoritmo 1) Pasaje de los tipos de entidad fuertes. 2) Pasaje de los tipos de entidad débiles. 3) Pasaje de los tipos de relación 1:1 binaria. 4) Pasaje de tipos de relaciones 1:N binarias. 5) Pasaje de tipos de relaciones N:N binarias 6) Pasaje de atributos multivalor. 7) Pasaje de los tipos de relación n- ary. 8) Pasaje de la especialización. Modelo ER Tipo de entidad Tipo de relación 1:1 o 1:N Tipo de relación M:N Tipo de relación n-ary Atributo simple Atributo compuesto Atributo multivalor Conjunto de valores Modelo Relación de entidad Foreign key (o relación de relación) Relación de relación y dos foreign keys Relación de relación y n foreign keys Atributo Conjunto de atributos simples Relación y foreign key Dominio Atributo clave Clave principal (o secundaria) Facultad de Ingeniería Bases de Datos Geográficos-IA 14
Normalización de bases de datos La normalización de bases de datos es un proceso que consiste en designar y aplicar una serie de reglas a las relaciones obtenidas tras el paso del Modelo Entidad- Relación (MER) al Modelo. Las bases de datos relacionales se normalizan para: Evitar la redundancia de los datos. Disminuir problemas de actualización de los datos en las tablas. Proteger la integridad de los datos. Facultad de Ingeniería Bases de Datos Geográficos-IA 15