You are on page 1of 31

Modelo Relacional

Ing. Mauricio Lara


Modelo relacional
Modelado lógico de Bases de datos

• El objetivo es crear un esquema de la base de datos.


• A partir de este esquema se puede realizar el modelado físico.
• Es un paso necesario dentro del diseño de bases de datos.
• El esquema consiste en un conjunto de tablas que representan relaciones.
Modelo relacional
Modelado lógico de Bases de datos

El esquema se puede crear de dos formas:


1. Creando un conjunto de tablas iniciales y aplicándoles operaciones de normalización hasta
conseguir el esquema más óptimo.
2. Convertir el diagrama E-R a tablas y posteriormente aplicar también operaciones de
normalización hasta conseguir el esquema óptimo.

La segunda técnica es más conveniente por las siguientes razones:


• El diagrama visual es muy útil para apreciar los detalles, de ahí que se llame modelo lógico.
• Las tablas iniciales se crean a través de reglas de conversión muy sencillas.
• Crear las tablas a partir del modelo E-R implica usar la "normalización" pero ésta es mínima.
• Aún cuando se normalice de manera deficiente, se garantiza un esquema aceptable, en la primer
técnica no es así.
Modelo relacional
Modelado lógico de Bases de datos - Tablas

• La información se organiza en tablas.


• Las tablas deben satisfacer ciertas restricciones de integridad.
• Están compuestas por filas y columnas.
• Las columnas son los atributos de la entidad.
• Para cada atributo se debe definir un dominio (rango de valores).
• Las filas son las tuplas (instancias de la relación).
Modelo relacional
Modelado lógico de Bases de datos - Tablas

Algunos aspectos a tener en cuenta:


• Cuando se crean tablas no importa el orden de los atributos ni de las tuplas.
• No hay filas repetidas.
• Los valores de los atributos deben ser atómicos.
• Valores nulos, solo si el dominio lo permite.
Modelo relacional
Modelado lógico de Bases de datos - Tablas

Notación utilizada:
• R (A1, A2,…. An)
Modelo relacional
Modelado lógico de Bases de datos - Tablas

Conceptos:
• Clave
• Superclave
• Clave candidata
• Clave primaria
• Claves alternas
• Clave foránea
• Entidad normal
• Entidad débil
• Participación total
• Participación parcial
Modelo relacional
Modelado lógico de Bases de datos - Tablas

FACULTAD (Nombre, Decano)


PROFESOR (Rut, Nombres, Apellidos, Facultad)
CURSO (Código, Nombre, Facultad, Profesor)
Modelo relacional
Modelado lógico de Bases de datos - Restricciones

• De dominio
• De clave
• De Integridad referencial
Modelo relacional
Modelado lógico de Bases de datos - Restricciones

• De Dominio
Los valores de los atributos de
cada tupla deben corresponder al
dominio del atributo, o ser nulos.
Modelo relacional
Modelado lógico de Bases de datos - Restricciones

• De Clave
– Las claves primarias no pueden
tener valores repetidos.
– Ni valores nulos.
Modelo relacional
Modelado lógico de Bases de datos - Restricciones

• De Integridad Referencial
Toda tupla t1 en una relación
R1 referenciada desde una
tupla t2 en una relación R2
debe existir.
Modelo relacional
Modelado lógico de Bases de datos – Convertir Modelo E-R a Modelo Relacional

• Para las entidades normales:


– A cada entidad normal E se le debe crear una relación R.
– La clave primaria de R debe escogerse de entre las claves candidatas.
– Los atributos multivaluados no pueden ser clave primaria.
Modelo relacional
Modelado lógico de Bases de datos – Convertir Modelo E-R a Modelo Relacional

• Para los atributos de la entidad E (entidad normal):


– Atributo simple  Se agrega directamente como atributo de R
– Atributo compuesto  Se agrega cada componente como atributo de R
– Atributo multivaluado  Se debe crear una nueva relación R compuesta por:
• La clave primaria de E
• El atributo compuesto de E
• La clave primaria de la nueva R son todos sus atributos
– Atributo derivado  No se traspasa al modelo relacional (se busca rendimiento)
Modelo relacional
Modelado lógico de Bases de datos – Convertir Modelo E-R a Modelo Relacional

• Para las entidades débiles:


– Los atributos de la entidad E pasan a ser atributos de la nueva relación R.
– Se debe agregar como atributos la clave principal de la entidad de la cual depende.
– Los atributos de R pasan a ser parte de la clave primaria de esta nueva relación.
Modelo relacional
Modelado lógico de Bases de datos – Convertir Modelo E-R a Modelo Relacional

• Para los vínculos:


– La conversión se establece según la cardinalidad.
– Para V1-2 entre R1 y R2:
• Uno a Uno  Incluir en una de las R la clave principal de la otra o viceversa.
– Si una de las R tiene participación total en el vínculo, la clave principal
de la otra se debe incluir en ésta.
– Los atributos del vínculo se agregan a la relación donde se agregó la
clave primaria.
Modelo relacional
Modelado lógico de Bases de datos – Convertir Modelo E-R a Modelo Relacional

• Para los vínculos:


– La conversión se establece según la cardinalidad.
– Para V1-2 entre R1 y R2:
• Uno a Muchos  Incluir en R2 la clave principal de R1 como clave foránea.
– Los atributos del vínculo se agregan a la relación R2.
Modelo relacional
Modelado lógico de Bases de datos – Convertir Modelo E-R a Modelo Relacional

• Para los vínculos:


– La conversión se establece según la cardinalidad.
– Para V1-2 entre R1 y R2:
• Muchos a Muchos  Crear una nueva relación R1-2
– La clave primaria R1-2 es al menos la unión de las claves de R1 y R2
– A la nueva relación se le agregan todos los atributos del vínculo
Modelo relacional
Modelado lógico de Bases de datos – Convertir Modelo E-R a Modelo Relacional

Se tiene el siguiente diagrama E-R:


Modelo relacional
Modelado lógico de Bases de datos – Convertir Modelo E-R a Modelo Relacional

FACULTAD (nombre)
PROFESOR (rut, nombres, apellidos)
Modelo relacional
Modelado lógico de Bases de datos – Convertir Modelo E-R a Modelo Relacional

FACULTAD (nombre, rut_decano, fecha_nombramiento)


PROFESOR (rut, nombres, apellidos)
Modelo relacional
Modelado lógico de Bases de datos – Convertir Modelo E-R a Modelo Relacional

CURSO (código, nombre)


FACULTAD (nombre, rut_decano, fecha_nombramiento)
Modelo relacional
Modelado lógico de Bases de datos – Convertir Modelo E-R a Modelo Relacional

CURSO (código, nombre, nombre_facultad)


FACULTAD (nombre, rut_decano, fecha_nombramiento)
Modelo relacional
Modelado lógico de Bases de datos – Convertir Modelo E-R a Modelo Relacional

ESTUDIANTE (rut, nombres, apellidos, calle, número, comuna)


SECCION (número, código)
Modelo relacional
Modelado lógico de Bases de datos – Convertir Modelo E-R a Modelo Relacional

ESTUDIANTE (rut, nombres, apellidos, calle, número, comuna)


SECCION (número, código)
INSCRIPCIÓN (rut_estudiante, número, código, fecha, nota)
Modelo relacional
Modelado lógico de Bases de datos – Convertir Modelo E-R a Modelo Relacional

PROFESOR (rut, nombres, apellidos)


SECCION (número, código)
Modelo relacional
Modelado lógico de Bases de datos – Convertir Modelo E-R a Modelo Relacional

PROFESOR (rut, nombres, apellidos)


SECCION (número, código, rut_profesor)
Modelo relacional
Modelado lógico de Bases de datos – Convertir Modelo E-R a Modelo Relacional

FACULTAD (nombre, rut_decano, fecha_nombramiento)


PROFESOR (rut, nombres, apellidos)
Modelo relacional
Modelado lógico de Bases de datos – Convertir Modelo E-R a Modelo Relacional

FACULTAD (nombre, rut_decano, fecha_nombramiento)


PROFESOR (rut, nombres, apellidos, nombre_facultad)
Modelo relacional
Modelado lógico de Bases de datos – Convertir Modelo E-R a Modelo Relacional

FACULTAD (nombre, rut_decano, fecha_nombramiento)


PROFESOR (rut, nombres, apellidos, nombre_facultad)
SECCION (número, código, rut_profesor)
INSCRIPCIÓN (rut_estudiante, número, código, fecha, nota)
ESTUDIANTE (rut, nombres, apellidos, calle, número, comuna)
ESTUDIANTE_EMAIL (rut, email)
CURSO (código, nombre, nombre_facultad)

You might also like