¡Descarga Tema 3 Modelo Relacional y más Apuntes en PDF de Ingeniería del Software solo en Docsity!
Modelo Relacional
Base de Datos Mercedes García Merayo Luis Garmendia
Modelo Relacional
Creado por Codd a Principios de los 70.
Modelo lógico de datos de no muy alto nivel, orientado a
registro.
El concepto principal es la relación.
Representa la base de datos como un conjunto de relaciones.
( Informalmente, cada una de estas relaciones se parece a una tabla
Representa la base de datos como un conjunto de relaciones.
( Informalmente, cada una de estas relaciones se parece a una tabla
con filas y columnas)
No hay que confundir las relaciones en el modelo relacional con las relaciones del modelo entidad relación. En el modelo relacional no se distingue entre tipos de entidades y tipos de relaciones.
Modelo Relacional
Tupla = Entidad Modelo ER. También se denominan filas de
la relación.
Atributo = Atributo Modelo ER. También se conocen como
columnas de la relación.
El dominio de los atributos tiene que ser simple: no se
admiten atributos multivalorados ni compuestos.admiten atributos multivalorados ni compuestos.
Esquema de una relación = Tipo de Entidad Modelo ER.
Viene dado por el nombre de la relación y una lista de
atributos. Se utiliza para describir una relación.
El orden de los atributos en la lista no importa.
ALUMNOS( DNI, Nombre, Domicilio, Teléfono)
Modelo Relacional
Instancia de una relación= Conjuntos de entidades Modelo ER
Cada entidad se representa como una tupla.
Cada componente de la tupla corresponde con el valor del
atributo correspondiente, según el orden enunciado en el
esquema de la relación.esquema de la relación.
Instancia del esquema de la relación ALUMNOS
{(01234567Z, Manuel Vázquez Prieto, Calle del Jazmín 7, 9112345678), (245245544P, Laura Ayala García, Calle Sánchez Mora 23, 9134534567)…}
Restricciones del Modelo Relacional
Restricciones de integridad referencial.
Se especifican entre dos relaciones para mantener la
consistencia entre las tuplas de las mismas.
Una clave externa (foreign key) de una relación A referencia
a una relación B si cumple:
Los atributos de la FK tienen los mismos dominios que los
de la clave principal de la relación B.
El valor de los atributos del FK de una tupla en el estado
actual de A aparece como valor de una clave principal de
alguna tupla en el estado actual de B o bien son nulos.
Del Modelo ER al Modelo Relacional
Empleado Departamento
Nombre Completo
DNI
Nombre Número
ADMINISTRA
Nombre
Apellidos
Dirección
Sueldo
PERTENECE
Ubicaciones
Familiar (^) Proyecto
Nombre^ Ubicación FechaNac
RELACIONADO lleva
Nombre Número
Sexo
Relación
Fechaini (^) CONTROLA
TRABAJA_EN
Del Modelo ER al Modelo Relacional
Al traspasar información de ER al modelo relacional se
pierde información.
Tipos de entidades regulares
Para cada tipo de entidad que no sea débil se crea una relaciónPara cada tipo de entidad que no sea débil se crea una relación
con el mismo nombre y conjunto de atributos.
Los atributos compuestos se incluyen mediante sus atributos
simples.
Elegir el atributo clave como clave primaria. Si es un atributo
compuesto la clave primaria se constituirá con los atributos
simples que la forman.
Del Modelo ER al Modelo Relacional
Nombre Apellidos DNI Dirección Sueldo
EMPLEADO
PROYECTO
Nombre NúmeroProyecto
PROYECTO
Nombre NúmeroDept
DEPARTAMENTO
Solución
compositores(DNI, NombreYApe)
CDs(Num.Serie, títuloCD, intérprete)
canciones(titulo, duración, Núm.Serie)
autor(DNI, titulo, duración, Núm.Serie)
13
autor(DNI, titulo, duración, Núm.Serie)
Del Modelo ER al Modelo Relacional
Atributos Multivalor
Por cada atributo multivalor se crea una nueva relación R. Esta relación
incluye el atributo multivalor mas los atributos de la clave primaria del
tipo de entidad E en el que participa dicho atributo.
La clave primaria de R es la combinación de la clave primaria del tipo de
entidad E y los atributos correspondientes al atributoentidad E y los atributos correspondientes al atributo multivalormultivalor..
La relación tendrá una FK constituida por los atributos correspondientes
a la clave primaria del tipo de relación E.
NúmeroDept Ubicación
UBICACIONES
Nombre NúmeroDept
DEPARTAMENTO
Del Modelo ER al Modelo Relacional
Tipos de relaciones
Para cada tipo de relación 1:1.
Se selecciona una de las relaciones participantes (S) y se incluye como
FK la clave primaria de la otra relación (R).
Se incluyen en la relación (S) los atributos propios del tipo de relación
Relación ADMINISTRA (1)
EMPLEADO
Nombre NúmeroDept
DEPARTAMENTO
*Nombre Apellidos DNI Dirección Sueldo NumeroDept FechaIni ***
Del Modelo ER al Modelo Relacional
Sin embargo cuando la participación de una de las
entidades es total es mas eficiente seleccionar dicha
entidad ya que no existirán valores nulos
Relación ADMINISTRA(2)Relación ADMINISTRA(2)
Nombre Apellidos DNI Dirección Sueldo
EMPLEADO
Nombre NúmeroDept DNIDirector FechaIniDirector
DEPARTAMENTO
Del Modelo ER al Modelo Relacional
Tipos de relaciones
Para cada tipo de relación 1: N.
Relación CONTROLA
PROYECTO
**Nombre NúmeroProyecto Ubicación NumDpto ***
PROYECTO
Nombre NúmeroDept DNIDirector FechaIniDirector
DEPARTAMENTO
Del Modelo ER al Modelo Relacional
Tipos de relaciones
Para cada tipo de relación N: M.
Se crea una nueva relación con los atributos de las claves primarias de
los tipos de entidad participantes (clave primaria) y los atributos
propios del tipo de relación. Se incluyen como FK las claves primarias
de cada relación.
EMPLEADO
**NúmeroProyecto DNIEmp Horas ***
TRABAJA_EN
Nombre Apellidos DNI Dirección Sueldo NumDpto
EMPLEADO
Nombre NúmeroProyecto Ubicación NumDpto
PROYECTO
Del Modelo ER al Modelo Relacional
Tipos de relaciones
Relaciones ternarias con al menos dos entidades participan con
cardinalidad N
Se crea una nueva relación (S) con los atributos de las claves primarias de
los tipos de entidad participantes y los atributos propios del tipo de
relación. Se incluyen como FK las claves primarias de cada relación.
La clave primaria es una combinación de las claves primarias de las
relaciones que representan los tipos de entidad participantes.relaciones que representan los tipos de entidad participantes.
Si la razón de cardinalidad de alguna de las entidades participantes fuera 1,
la clave primaria de S no incluiría a la clave primaria de dicha relación.
Relaciones ternarias con solo una entidad participante con
cardinalidad N
No se crea una nueva relacion, sino los atributos de la clave de las
entidades con cardinalidad uno se incluyen en la entidad con cardinalidad
N. Se incluyen como FK las claves primarias de cada relación.
Del Modelo ER al Modelo Relacional
Proveedor
NombreProv
Proyecto Suministro Repuesto
NombreProyecto (^) NumeroRep
Cantidad
Del Modelo ER al Modelo Relacional
NombreProv NumeroRep NombreProyecto Cantidad
SUMINISTRO
NombreProv
PROVEEDOR
NumeroRep
REPUESTO
NombreProyecto
PROYECTO
Del Modelo ER al Modelo Relacional
Empleado
Tipos de relaciones
Relaciones recursivas se aplican las reglas en función de la cardinalidad de
participación.
DIRIGE
Empleado
Jefe Subordinado
Del Modelo ER al Modelo Relacional
Generalización y especialización se tratan igual que en el
caso de las entidades débiles
Vehiculo
Numero Chasis Matrícula^ Precio
Vehiculo
Camión Coche Moto
Ejes Toneladas NumeroPlazas^ VelocidadMáxima Cilindrada
ISA
Del Modelo ER al Modelo Relacional
Número Chasis Matrícula Precio
VEHICULO
CAMION
Opción 1: Si hay muchos atributos especializados. No
tiene nulos.
Número Chasis Ejes Toneladas
CAMION
Número Chasis Plazas Velocidad
MOTO
Número Chasis Cilindrada
COCHE
Del Modelo ER al Modelo Relacional
juega
Equipos
Partidos
juega
Árbitros
resultado
arbitra (^) anuncia
Empresas
Del Modelo ER al Modelo Relacional
EQUIPOS
Casa Fuera Resultado DNIArbrito
PARTIDOS
Nombre ….
CIF …
ARBRITOS
DNI Nombre
EMPRESAS
Casa Fuera CIF
ANUNCIA
Restricciones no reflejadas en el modelo
relacional
Se entiende por modelo lógico de bases de datos al
modelo relacional más una lista de restricciones, que
debe incluir:
Restricciones no reflejadas en el modelo E/R (como
claves candidatas –únicas– no PK)
Restricciones de participación máximoRestricciones de participación máximo
Restricciones de participación total en tipos de relación
muchos a muchos
Resumen de transformaciones
E1(AE11, AE12)
E2(AE21, AE22)
R(AE11, AE21, AR)
+ restricciones si x=
E1(AE11, AE12)
E2(AE21, AE22)
N N
34
E2(AE21, AE22)
E3(AE31, AE32)
R(AE11, AE21, AE31, AR)
+ restricciones si x=
Si E3 tuviera cardinalidad 1 R(AE11, AE21, AE31, AR)
N (^) N N
E1(AE11, AE21, AE12, AR)
N 1 E2(AE21,^ AE22)
Ejemplo: Pasar a modelo relacional el siguiente
modelo E/R
Alumnos Matrícula Asignaturas
Apell. y Nombre Teléfono^ acceso^ Código Título Núm.Créditos
DNI
Calle Número Ciudad
Domicilio
37
Imparte^ Aulas
Supervisa
Profesores
Apellidos y Nombre Domicilio Teléfono Edificio Número
Nota
DNI
Supervisor Supervisado
Solución
Alumnos(DNI, Apellidos y Nombre, Domicilio, teléfono, COU)
Matricula(DNI, Código, Nota*)
Asignaturas(Código, título, núm.créditos)
Profesores(Profesores(DNIDNI,, Apellidos y nombre, Domicilio, teléfono, supervisor)Apellidos y nombre, Domicilio, teléfono, supervisor)
I mparte(DNI, Codigo, Edificio,NumAula)
Aulas(Edificio, núm. aula)