UNIDAD III: MODELAJE DE
BASE DE DATOS
RELACIONAL.
Pasos para Construir un Modelo ER
• Identifique las entidades
• Elimine las entidades duplicadas
• Enumere los atributos de cada entidad
Recordar
de la clase
anterior
• Marque las claves primarias
• Defina las relaciones
• Examine cada tipo de entidad para determinar
cómo se relaciona con otras entidades
• Describa la cardinalidad de las relaciones
• Elimine las relaciones redundantes
Transformación Diseño Conceptual a Diseño Lógico
Relación 1:1
Serial
IdCertificado
Modelo
FechaEmision
Color
Carro
CertificadodeC
irculacion
tiene
Placa
Marca
Tipo
Idpropietario
Año
Clave
foránea
Tabla Carro
Serial
Modelo
Color
Placa
Año
Marca
IdCertificado
Tabla CertificadodeCirculacion
Clave
Primaria
IdCertificado
Clave
Primaria
IdPropietario
Tipo
FechaEmisión
Transformación Diseño Conceptual a Diseño Lógico
Relación 1:M o M:1
Serial
IdPuerta
Modelo
Color
Carro
Placa
Puerta
tiene
Marca
Color
Tipo
Año
Tabla Carro
Serial
Modelo
Color
Placa
Año
Marca
Clave
foránea
Clave
Primaria
Tabla Puerta
IdPuerta
Clave
Primaria
Tipo
Color
Serial
Transformación Diseño Conceptual a Diseño Lógico
Relación M:N
FechaNac
Idlibro
Idautor
Titulo
Cant_paginas
Libro
Autor
tiene
Genero
editorial
Nombre
Año
Direccion
Apellido
Tabla Cliente
Idautor
Clave
Primaria
Nombre
Apellido
Clave
Primaria
Direccion
FechaNac
Tabla Libro
Idlibro
Titulo
cant_paginas
Genero
Tabla
Relación
Clave Primaria
Compuesta
Tabla Autor-Libro
Idautor
Idlibro
Año
Editorial
Algebra Relacional
Es un lenguaje de consulta procedimental,
consta de un conjunto de operaciones que
toman como entrada una o dos relaciones y
producen como resultado una nueva relación.
Las operaciones fundamentales son:
SELECCIÓN,
PROYECCIÓN
RENOMBRAMIENTO
BINARIAS: Operan
sobre pares de
relaciones
DIFERENCIA DE
CONJUNTOS
PRODUCTO
CARTESIANO
UNIÓN
UNARIAS:
Operan
sobre una
sola relación
Operaciones Fundamentales:
Selecciona tuplas que satisfacen un predicado
dado. Se utiliza la letra griega sigma δ para
denotarla. El predicado aparece como subíndice
de δ. La relación del argumento se da entre
paréntesis a continuación de δ.
EJM: Para
seleccionar las tuplas de la relación
PRESTAMO en que la sucursal es CARACAS hay que
escribir:
δnombre –sucursal = << caracas>>( préstamo)
EJM: Se pueden buscar todas las tuplas en las que el
importe sea mayor que 1200
δimporte> 1200( préstamo)
Se permiten comparaciones tales como: =, ≠, <,≤,>,≥, en
el predicado de selección. Además se pueden combinar
varios predicados en uno mayor utilizando los
conectivos: y (٨) y o (٧).
EJM: Encontrar las tuplas correspondientes a préstamos
de mas de 1200 concedidos por la sucursal de Caracas.
δnombre –sucursal = << caracas>> ٨ importe> 1200( préstamo)
Devuelve su relación de argumentos,
excluyendo algunos, dado que las relaciones son
conjuntos se eliminan todas las filas duplicadas. Se
denota con la letra griega mayúscula pi (Π).
Se crea una lista de atributos que desea que
aparezcan el resultado como subíndice de Π, la
relación del argumento se escribe dentro del
paréntesis.
EJM: Consulta para crear una lista de todos los
números de préstamos y del importe.
Π número –prestamo,importe( préstamo)
También se pueden combinar a lo cual se le llama
COMPOSICIÓN
DE
OPERACIONES
RELACIONALES.
EJM: Encontrar los clientes que viven en Maracaibo.
Π nombre –cliente(δciudad –cliente = << Maracaibo>> ( cliente))
Consulta para unir información de tablas distintas.
Se debe considerar: a) Las relaciones r y s deben
tener el mismo número de atributos.
b)Los dominios de los atributos deben ser iguales
EJM: Consulta para encontrar el nombre de todos los
clientes del banco que tienen una cuenta, un préstamo o
ambas cosas.
Π nombre –cliente (prestatario)U Π nombre –cliente (impostor)
Atributos o nombre Nombre de la entidad
del campo
Denotada por – permite buscar las tuplas que estén en
una relación pero no en otras. Se deben realizar en
relaciones compatibles (sigue las mismas reglas de la
unión)
EJM: Buscar todos los clientes del banco que tienen
abierta una cuenta pero no tienen concedido ningún
préstamo.
Π nombre –cliente (impostor) -Π nombre –cliente (prestatario)
Denotada por aspa (x) permite combinar información de
dos relaciones cualquieras.
EJM: Consultar todos los nombres de todos los clientes
que tienen concedido un préstamo en la sucursal de
Caracas.
Π nombre –cliente ( δprestatario.numero-préstamo=préstamo.número(prestatario x
prestamo(δnombre –sucursal
= << caracas>>
préstamo)))
Los resultados de las expresiones del algebra
relacional no tienen un nombre que se pueda utilizar para
referirse a ellas, lo cual resulta útil. Este operador
denotao por: rho minúscula (ρ) permite hacerlo.
EJM: Dada la expresión E seria: ρx(E). Lo cual devuelve
el resultado con el nombre x
1. Considere la siguiente base de datos relacional:
Empleado(nombre-empleado, calle, ciudad)
Trabaja(nombre-empleado, nombre-empresa, sueldo)
Empresa(nombre-empleado, ciudad)
Jefe(nombre-empleado, nombre-jefe).
Dese una expresión del algebra relacional para cada
una de las siguientes consultas:
a) Encontrar la compañía con mayor número de
empleados
b) Encontrar la compañía con la nómina (suma de
sueldos de sus empleados)más reducida.
c) Encontrar las compañías cuyos empleados ganen un
sueldo elevado.
Descargar

Diapositiva 1