El documento describe el modelo relacional (MR) como el modelo lógico de una base de datos. Explica que en el MR, la información se almacena en tablas relacionales donde cada fila representa un registro y cada columna representa un atributo. También describe cómo transformar un modelo conceptual entidad-relación (MER) a un esquema de MR, incluidas las reglas para transformar entidades, atributos y diferentes tipos de relaciones.
3. Modelo Relacional
• Es el Modelo Lógico de una Base de Datos.
• Se origina de la transformación del Modelo Conceptual o MER en MR.
• El MR se basa en el concepto de relación, que se representa
físicamente como una tabla o arreglo bidimensional.
• De ahora en adelante solo trabajaremos con el término Tabla.
• En este modelo, las tablas se usan para contener información acerca
de los objetos a representar en la base de datos. Al usar los términos
del MER, los conjuntos de entidades y de relaciones se muestran
usando tablas.
4. Objetivos del MR
1. Independencia física de los datos, esto es, el modo de
almacenamiento de los datos no debe influir en su
manipulación lógica.
2. Independencia lógica de los datos, es decir, los cambios
que se realicen en los objetos de la base de datos no deben
repercutir en los programas y usuarios que acceden a ella.
3. Flexibilidad, para presentar a los usuarios los datos de la
forma más adecuada.
4. Uniformidad, en la presentación de la lógica de los datos, que
son tablas, lo que facilita la manipulación de la base de datos
por parte de los usuarios.
5. Sencillez, este modelo es fácil de comprender y utilizar por el
usuario.
5. Tablas del MR
• Una relación se representa como una tabla bidimensional en la que
las filas de la tabla corresponden a registros individuales y las
columnas corresponden a atributos.
• Atributos. Se trata de cada una de las columnas de la tabla. Las
columnas tienen un nombre y pueden guardar un conjunto de valores.
Una columna se identifica siempre por su nombre. El orden de las
columnas en una tabla es irrelevante.
• Tuplas Cada tupla representa una fila de la tabla. Son las instancias
de la tabla.
• Una tabla que representa una relación tiene las siguientes
características:
Cada celda de la tabla contiene sólo un valor.
Cada columna tiene un nombre distinto, que es el nombre del atributo que representa.
Todos los valores en una columna provienen del mismo dominio, pues todos son
valores del atributo correspondiente.
Cada tupla o fila es distinta; no hay tuplas duplicadas.
El orden de las tuplas o filas es irrelevante.
7. Representación del MR
• A través de esquemas de relación.
• Los esquemas de relación se pueden representar al dar el nombre de
cada relación, seguido de los nombres de atributo entre paréntesis,
con la clave primaria subrayada.
• No hay una forma estándar simple de indicar sin ambigüedades las
claves externas, pero se puede usar cursivas, subrayado segmentado
para indicar que un atributo es una clave externa, o parte de una clave
externa.
• Además, si se tienen claves externas compuestas, y los atributos se
traslapan, se tendría dificultad para identificar con exactitud cuál es la
clave externa.
• La forma más clara de mostrar las claves externas es mediante el
dibujo de flechas desde las claves externas hasta las claves primarias
a las que hacen referencia.
• Este esquema también incluye dominios, vistas, conjuntos de
caracteres, restricciones, procedimientos almacenados, autorizaciones
y otra información relacionada, de modo que la representación
realmente sólo es una parte del esquema.
8. Representación del MR
• Para el ejemplo de la Universidad, contiene las relaciones para
Student, Class, Faculty y Enroll. Los esquemas de relación se
escribirían como:
• El esquema de relación proporciona el nombre de la tabla para
cada relación y encabezado de columna para cada uno de sus
atributos. El esquema de modelo lógico es el conjunto de todos
estos esquemas para la base de datos.
9. Representación del MR
• A través de una representación gráfica de tablas.
• En este tipo de representación, cada tabla se representa por un
rectángulo, en donde se especifica el nombre de la tabla, los
atributos, la clave primaria, la clave foránea, puede también ser
indicado el dominio para cada atributo, así como algunas
restricciones, y la cardinalidad de la relación entre tablas.
• La clave primaria subrayada y puede ir en negrita, y se le
puede indicar con un PK de Primary Key.
• La clave externa puede ir subrayada con línea segmentada, y
se le puede indicar con un FK de Foreign Key.
10. • Para el ejemplo de la Universidad, contiene las tablas para
Student, Class, Faculty y Enroll.
Representación del MR
11. Transformación del MER al MR
Una vez obtenido el esquema conceptual mediante el MER hay que
definir el modelo lógico de datos el MR. Las reglas básicas para
transformar un MER a un MR son las siguientes:
• Toda entidad se transforma en una tabla.
• Todo atributo se transforma en columnas dentro de una tabla.
• El identificador único de la entidad se convierte en clave primaria (Primary Key
PK).
• Se deben crear tablas intermedias siempre que la cardinalidad de una relación
sea de muchos a muchos, o cuando entre ambas entidades haya una
participación parcial de ambos lados.
• Toda tabla intermedia, debe recibir las llaves primarias de las entidades que
participan en la relación.
• La tabla intermedia adquiere únicamente aquellos atributos pertenecientes a la
relación.
• En una relación entre entidad fuerte y débil cuya cardinalidad no sea de
muchos a muchos, la entidad débil recibe como llave foránea la llave primaria
de la entidad fuerte.
• Toda entidad especializada o generalizada se convierte en una tabla
independiente. Con una referencia a la llave primaria de la superentidad.
12. Transformación de Entidad Fuerte
• Las entidades fuertes del MER son transformados al MR siguiendo
estas instrucciones:
Crear una tabla por cada entidad fuerte del MER, con el mismo nombre
pero en plural.
Crear una columna en la tabla por cada atributo simple de la entidad con el
mismo nombre. Se indicara si aceptan valores NULL.
Se crea una columna en la tabla por cada atributo que conforma la
estructura de cada atributo compuestos o estructurados de la entidad.
Si existen atributos derivados o calculados en la entidad no se reflejan en la
tabla.
Se especificarán claves correspondientes a cada conjunto de atributos
determinantes, y una de ellas se elegirá como clave primaria (Primary Key -
PK).
Para los atributos multivaluados, crear una nueva tabla con la(s) columna(s)
correspondiente al atributo multivaluado, se agregarán las columnas
correspondientes a la clave primaria de la tabla que corresponde a la
entidad fuerte, que serán una clave foránea (Foraign Key - FK) y se
especificará una clave primaria PK.
14. Transformación de Entidad Débil
• Una entidad débil es aquella que necesita de una entidad fuerte para
existir. Tiene una relación de dependencia con esta última.
• Las entidades débiles del MER son transformados al MR siguiendo
estas instrucciones:
Crear una tabla con el mismo nombre pero en plural
Crear una columna en la tabla por cada atributo simple, con el
mismo nombre
Agregar las columnas que formen la PK de la tabla correspondiente
a la entidad de la que depende.
Especificar como PK las columnas que sean PK de la tabla
correspondiente a la entidad de la que ésta depende, más las
columnas que forman la clave parcial de la entidad débil.
Especificar como FK las columnas que sean PK de la tabla
correspondiente a la entidad de la que ésta depende.
Si la entidad débil tiene atributos multivaluados o estructurados,
traducirlos de la misma manera que en el caso de las entidades
fuertes.
16. Transformación de Relaciones 1:1
Con participación total, opción 1:
• Agregar en la tabla con participación total, las columnas que
correspondan a la PK de la otra tabla y columnas para los atributos de
la tabla (si los hay).
17. Transformación de Relaciones 1:1
Con participación total, opción 2:
• Fundir las tablas, manteniendo la PK de la tabla que no tiene
participación total, y dejando la PK de la tabla que tiene participación
total como clave única ( Unique Key UK). Note que esta opción, sin
embargo, implica que se deban permitir valores nulos.
18. Transformación de Relaciones 1:1
Sin participación total, opción 1:
• Elegir arbitrariamente una de las tablas para agregar en ella la PK de la otra, y definirla
como FK, además de las columnas que corresponden a atributos de la tabla (igual a
cuando había una tabla con participación total), aunque se debe considerar en este caso
que los valores pueden ser nulos.
19. Transformación de Relaciones 1:1
Sin participación total, opción 2:
• Cuando no hay ninguna tabla con participación total, es crear una
tabla para la relación, que mantenga las PK de las dos tablas además
de las columnas que corresponden a atributos de la relación.
20. Transformación de Relaciones 1:N
Cuando tenemos relaciones 1:N procederemos de la siguiente manera:
• Agregar en la tabla del lado de la cardinalidad N de la relación, la PK de la otra
tabla y las columnas que correspondan a atributos de la tabla.
21. Transformación de Relaciones N:M
Cuando tenemos relaciones N:M procederemos de la siguiente manera:
• Crear una nueva tabla para representar la relación, agregando la PK de cada una de las
tablas, además de las columnas que correspondan a atributos de la relación.
• La PK de la nueva tabla será la combinación de las PK de las tablas que participan en la
relación.
• Se deben especificar como FK, las PK de las tablas que participan en la relación.