SEMANA 3 (Modelo Relacional)
SEMANA 3 (Modelo Relacional)
SEMANA 3 (Modelo Relacional)
• Entidades
• Atributos
• Identificadores
• Relaciones
Cardinalidad
Cero o uno. Paciente-habitación
Uno o muchos. Profesor-materia
Uno. Alumno-matrícula
Cero o muchos. Aula-clases
Muchos. Profesor-alumno
Ref. http://aulavirtual.utel.edu.mx/lib/ebook_pearson.php?id_ebook_pearson=323
Elementos del Modelo Relacional (R)
El modelo relacional, es una representación para la
gestión de bases de datos, basado en la lógica de
predicados y en la teoría de conjuntos. Su idea
fundamental es el uso de relaciones. Estas relaciones
podrían considerarse en forma lógica como conjuntos de
datos llamados tuplas.
Ref. http://aulavirtual.utel.edu.mx/lib/ebook_pearson.php?id_ebook_pearson=323
Definiciones del modelo relacional
Grado
Campo c
a
2-tupla r
d
T i
u n
p a
l l
a i
d
a
d
Ref. http://aulavirtual.utel.edu.mx/lib/ebook_pearson.php?id_ebook_pearson=323
Propiedades de las relaciones (tablas)
Cada tabla debe tener un nombre distinto.
Cada campo (atributo) de la tabla toma un solo valor en cada fila.
Cada campo (atributo) tiene un nombre distinto en cada tabla
(aunque puede coincidir en tablas distintas).
Cada registro (fila) es única (no hay tuplas duplicadas).
Cada fila debe tener un identificador o llave único
El orden de los campos (atributos) no importa.
El orden de los registros (filas) no importa.
Ejemplos:
grupo (idgrupo, nombre, formación, desintegracion)
genero(idgenero, descripción)
Pregunta 1
Empleado
• Cedula
• primNombre
• primApellido
• segApellido
• telefono
Diagrama E-R
• Por cada tipo de entidad fuerte del esquema E-R se crea una
relación R que contenga todos los atributos simples y no
multivaluados de E.
Empleado
• Cedula
• primNombre
• primApellido
• segApellido
• telefono
Empleado
• Cedula
• primNombre
• primApellido
• segApellido
• telefono
Empleado
• Cedula
• primNombre
• primApellido
• segApellido
• telefono
Diagrama E-R
PK FK
Hito( Código_Hito, Cédula, Día, Mes, Año, Descripción_Hito)
Hito
• Código_Hito
• Dia
• Mes
• Año
• Descripción_Hito
Hito
• Código_Hito
• Dia
• Mes
• Año
• Descripción_Hito
Hito
• Código_Hito
• Cédula
PK FK • Dia
Hito(Código_Hito, Cédula, Día, Mes, Año, Descripción_Hito) • Mes
• Año
Empleado(Cédula, PrimNombre, PrimApellido, SegApellido, Teléfono) • Descripción_Hito
PK
Transformación de entidades
Proyecto
• Numero_Proyecto
• Nombre_Proyecto
• Descripción_Proyecto
Diagrama E-R
PK compuesta
Transformación de vínculos 1:1
Regla de transformación.
Diagrama E-R
PK FK
Departamento(Número_Dpto, Nombre_Dpto, Cédula)
Número_Dpto
Nombre_Dpto
- Cédula
PK FK
Departamento(Número_Dpto, Nombre_Dpto, Cédula)
Regla de transformación.
Diagrama E-R
PK FK
Empleado(PrimNombre, PrimApellido, SegApellido, Teléfono, Cédula, Numero_Dpto)
Departamento(Número_Dpto, Nombre_Dpto)
PK
Transformación de vínculos 1:N
Número_Dpto
Nombre_Dpto
PK FK
Empleado(Cédula, PrimNombre, PrimApellido, SegApellido, Teléfono, Numero_Dpto)
Departamento(Número_Dpto, Nombre_Dpto)
PK
Transformación de vínculos M:N
Regla de transformación.
Diagrama E-R
PK
Empleado(Cédula, PrimNombre, PrimApellido, SegApellido, Teléfono)
FK FK
Trabaja_en(Cédula, Numero_Proyecto, Horas)
Proyecto(Número_proyecto, Nombre_Proyecto)
PK
Transformación de vínculos M:N
Número_proyecto
Nombre_proyecto
Cédula
Numero Proyecto
PK
Empleado(Cédula, PrimNombre, PrimApellido, SegApellido, Teléfono)
FK FK
Trabaja_en(Cédula, Numero_Proyecto, Horas)
Proyecto(Número_proyecto, Nombre_Proyecto)
PK
Transformación de cardinalidad 1:N
Usuario
PK • Nick
• Nombre
• Apellidos
• E_mail
• Password
Canción
•PKId_cancion
• Nick FK
• Género
• Autor
Diagrama E-R • Título
• Fecha
• Duración
PK • Bitrate
Usuario(Nick, Nombre, Apellidos, E-mail, Password)
Canción(Id_canción, Nick,Género, Autor, Título, Fecha, Duración, Bitrace)
PK FK
Transformación de cardinalidad 1:N
Diagrama E-R
FK FK PK
Hito(Numero_proyecto, Nombre_Proyecto, Código_Hito, Fecha_Hito, Descripción_Hito)
1. Regla de los nulos: ¿Tiene sentido que la clave ajena acepte nulos?
2. Regla de borrado: ¿Qué ocurre si se intenta borrar la tupla referenciada por la
llave foránea?
a) Restringir: no se permite borrar la tupla referenciada.
b) Propagar: se borra la tupla referenciada y se propaga el borrado a las tuplas
que la referencian mediante la llave foránea.
c) Anular: se borra la tupla referenciada y las tuplas que la referenciaban
ponen a nulo la llave foránea (sólo si acepta nulos).
3. Regla de modificación: ¿Qué ocurre si se intenta modificar el valor de la llave
primaria de la tupla referenciada por la llave ajena?
a) Restringir: no se permite modificar el valor de la llave primaria de la tupla
referenciada.
b) Propagar: si se modifica el valor de la llave primaria de la tupla referenciada,
se debe propagar la modificación a las tuplas que la referencian mediante la
llave foránea.
Ejercicio 1. Identifique para cada una de las siguientes entidades
los atributos que podrían servir de llaves primarias (PK):
Respuestas:
Para tabla DEPARTAMENTO ID_depto (PK) (es necesario crear la llave primaria)
Para tabla EMPLEADO id (PK)
Para tabla CLIENTE ninguno (se debe crear un campo ID_cliente (PK) numérico)
Para tabla PROYECTO código (PK)
Cardinalidad entre relaciones
Identifique la cardinalidad para representar lo siguiente y
Transfórmelo al modelo relacional:
1. Cada cliente puede ser el que origina una o muchas órdenes y cada
orden debe ser originada por uno y sólo un cliente.
2. Cada orden debe ser emitida para uno o muchos artículos y cada artículo
puede ser comprado vía una o muchas órdenes.
3. Pasar los diagramas E-R al modelo relacional
cliente(id_cliente, nombre)
CLIENTE 1 Origina N ORDEN
orden(id_orden, id_cliente)
orden(id_orden)
orden_articulo(id_orden,id_articulo)
ORDEN N Emitida M ARTÍCULO
articulo(id_articulo)
CLIENTES
PRODUCTO. LÁCTEOS
PROVEEDORES
Diagrama simple entidad-relación a modelos relacional
N:M N:M
Proveedor
RUT_proveedor
Página web
nombre
teléfono
Proveedor
RUT_proveedor
Página web
nombre
teléfono
ciudad
calle
número
colonia
Proveedor (RUT-proveedor, página web, nombre, teléfono, ciudad, calle, número, colonia)
Pregunta 3