Unidad II
Diseño Conceptual de una Base de Datos:
Modelo Entidad/Relación Extendido(Elmasri-Korth)
OBTENCION Y ANALISIS DE REQUERIMIENTOS
ANALISIS FUNCIONAL
DISEÑO FISICO
Independiente del SGBD
Específico para cada SGBD
IMPLEMENTACION DE LA APLICACIÓN
Minimundo
Minimundo
DISEÑO CONCEPTUALModelo Entidad
Relación Extendido
Implementación tablas “físicas”:
clustering, indices, hashing, etc
Especificación tablas “lógicas”: atributos,
claves primarias, foráneas
Diagrama ERE
Especificación de Requerimientos
Proceso de Construcción de una base de datos
DISEÑO LOGICO
Modelar una base de datos utilizando el enfoque Entidad/Relación Extendido
Mapear el diagrama obtenido (DER) al modelo relacional
Diseño Conceptual: Modelo Entidad/Relación Extendido
Permite percibir del mundo a través de 2 tipos de objetos básicos
Modelo Entidad / Relación Extendido
entidades relacioneso vinculaciones
Entidad objeto que existe y es distinguible entre otros objetos
concreta abstracta
conjunto de atributos
Modelo Entidad / Relación Extendido:
Entidades
Juan Av. Libertador 1112 Oeste 25 años Soltero
Entidad Persona
Modelo Entidad / Relación Extendido:
Entidades
Tipos de Atributos
Simples - Compuestos
Almacenados - Derivados
Monovaluados – Multivaluados
Modelo Entidad / Relación Extendido:
Atributos
Simbología Simples - Monovaluados
Multivaluados
Compuestos
Derivados
Modelo Entidad / Relación Extendido:
Atributos
Conjunto de Entidades
conjunto de entidades del mismo tipo
disjuntos no disjuntos
Modelo Entidad / Relación Extendido:
Entidades
Alumnos
Guadalupe
Carlos
Susana
Alejandra
AnaJoaquín
MarianoLorena
Carlos
AbelAnalía
AnaGermán
Mariano
Docentes
Conjuntos de entidades no disjuntos
Modelo Entidad / Relación Extendido:
Entidades
Paula
Conjuntos de entidades disjuntos
HombresGuadalupe Paula
Susana
Alejandra
Lorena
Ana
CarlosAbel
MarianoMiguel
Germán
Joaquín
Mujeres
Modelo Entidad / Relación Extendido:
Entidades
Analía
Simbología
dni
nombre
dir
telefonos
edad
Persona
Modelo Entidad / Relación Extendido:
Entidades
fecha_nac
Toda entidad posee un atributo o conjunto de atributos que la identifican unívocamente
Modelo Entidad / Relación Extendido:
Claves primarias (entidades)
Clave simple Clave compuesta
Representación:
Modelo Entidad / Relación Extendido:
Claves primarias (entidades)
dni
nombre
dir
telefonos
edad
Persona
fecha_nac
Modelo Entidad / Relación Extendido:
Relaciones o Vinculaciones
Relación Asociación o Vinculación entre entidades
Médico atiende a paciente Profesor dicta curso
Formalmente, es una relación matemática de n conjuntos de entidades (n>1):
Sean E1, E2, ..., En conjunto de entidades, entonces R formada por {(e1, e2, ...,en)/ e1 E1, e2 E2, en En} es una relación
Nota: Los Ei no son necesariamente distintos. Ejemplos:
Materia es correlativa Materia
Empleado es jefe de Empleado
Modelo Entidad / Relación Extendido:
Relaciones o Vinculaciones
Conjunto de Relaciones
conjunto de relaciones o
vinculaciones del mismo tipo
Modelo Entidad / Relación Extendido:
Relaciones o Vinculaciones
dicta
dni
nombre
dir
estado_civil
edad
Persona Curso
codigo
nombre
duracion
posee
nroCliente
nombre
tel
Persona Factura
nroFactura
fecha
importeTotal
Modelo Entidad / Relación Extendido:
Relaciones o Vinculaciones
dicta
dni
nombre
dir
estado_civil
edad
Persona Curso
codigo
nombre
duracion
Libro
isbn
nombre
Modelo Entidad / Relación Extendido:
Relaciones o Vinculaciones
editorial
Multiplicidad / Cardinalidad 1 - 1
Factura RemitotieneAsociada
Modelo Entidad / Relación Extendido:
Multiplicidad Relaciones Binarias
nroFactura
fecha
importeTotal
nroRemito
fechaEntrega
Multiplicidad / Cardinalidad 1 - n
Factura RemitotieneAsociada
nroFactura
fecha
importeTotal
nroRemito
fechaEntrega
Modelo Entidad / Relación Extendido:
Multiplicidad Relaciones Binarias
Multiplicidad / Cardinalidad n - 1
Factura RemitotieneAsociada
nroFactura
fecha
importeTotal
nroRemito
fechaEntrega
Modelo Entidad / Relación Extendido:
Multiplicidad Relaciones Binarias
Multiplicidad / Cardinalidad n - m
Factura RemitotieneAsociada
nroFactura
fecha
importeTotal
nroRemito
fechaEntrega
Modelo Entidad / Relación Extendido:
Multiplicidad Relaciones Binarias
Atributos- entidades
- relaciones
Modelo Entidad / Relación Extendido:
Atributos
Ejemplos de entidades con sus
atributos?
Ejemplos de relaciones con
atributos?
Supongamos que debemos representar entidades Persona, específicamente su dni, nombre, dirección, y la localidad correspondiente:
Podríamos pensar en dos soluciones:
Modelo Entidad / Relación Extendido:
Atributos vs Entidades
¿Podríamos confundir un atributo con una entidad?
localidad
1) Considerar localidad como un atributo:
dni
nombre
Persona
Modelo Entidad / Relación Extendido:
Atributos vs Entidades
2) Considerar localidad como una entidad:
dni
nombre
Persona Localidadhabita
Codigo_postal
nombre
Modelo Entidad / Relación Extendido:
Atributos vs Entidades
¿Cuál es la principal diferencia entre las dos representaciones presentadas?
En el caso 1 cada localidad no tiene atributos propios
En el caso 2 cada localidad podría tener atributos propios
Modelo Entidad / Relación Extendido:
Atributos vs Entidades
Entonces, ¿qué constituye un atributo y qué un conjunto de entidades?
Depende Realidad que modele
Semántica asociada
Modelo Entidad / Relación Extendido:
Atributos vs Entidades
?
Hasta el momento hemos definido los conceptos propios del Modelo Entidad/Relación
Otros conceptos incorporados
Agregación
Entidades Débiles
Modelo Entidad / Relación Extendido
Generalización-Especialización
Una entidad es débil cuando sus atributos no son suficientes para poder identificarla unívocamente
Modelo Entidad / Relación Extendido:
Entidades fuertes y débiles
clave de entidad fuerte de la cual depende
+
discriminador de la entidad débil (distingue las entidades débiles que dependen de dicha
entidad fuerte)
clave entidad débil
Hotel Habitaciónposee
cuit
nombre
direccion
nroHab
piso
telefono
ciudad
tipo
Clave Hotel = cuit Clave Habitación = cuit + nroHab
Modelo Entidad / Relación Extendido:
Entidades fuertes y débiles
Si la existencia de la entidad x depende de la existencia de la entidad y
• y es una entidad dominante
• x es una entidad subordinada
si se suprime y se suprime x operativamente
Modelo Entidad / Relación Extendido:
Entidades: Dependencias de existencias
Toda entidad débil tiene dependencia de existencia sobre la entidad fuerte relacionada
Una entidad débil, además de estar relacionada con la entidad fuerte de la que depende, puede estar relacionada con otra entidad
Modelo Entidad / Relación Extendido:
Entidades: Dependencias de existencias
Modelo Entidad / Relación Extendido:
Entidades fuertes y débiles
Hotel Habitaciónposee
cuit
nombre
direccion
nroHab
piso
telefono
ciudad
tipo
Persona
ocupa
La agregación considera una relación como una entidad
Modelo Entidad / Relación Extendido:
Agregación
Permite vincular relaciones
Modelo Entidad / Relación Extendido:
Agregación
nombre
laboratorio
Medicamento Presentacióntiene
descripción
Farmacia
posee
cuit
nombre
Modelo Entidad / Relación Extendido:
Agregación
nombre
continente
Pais Ciudadtiene
nombre
AtraccionTurística
posee
nombre
precio
Modelo Entidad / Relación Extendido:
Generalización - Especialización
patente
marca
Vehículo
modelo
Automóvil Camión Colectivo
cantPuertas pesoMax personasMax
relacionA relacionB
Modelo Entidad / Relación Extendido
El Modelo Entidad/Relación Extendido
nos permite construir el modelo conceptual de la realidad
Base para el modelo lógico
Base para el modelo físico
Reglas de transformación
Una empresa que posee sucursales en diferentes ciudades del país, necesita generar una pequeña base de datos que mantenga información de los empleados que trabajan en ella.
En cuanto a las sucursales, se necesita registrar número, nombre, teléfonos y ciudad donde se ubica.
De los empleados, DNI, nombre, fecha de nacimiento, trabajo que desempeña, comisión (en caso de que corresponda), y la sucursal en la que trabaja. Además es necesario conocer el gerente de cada sucursal (es un empleado más).
Ejercicio
Diseño LógicoConversión del Modelo ERE a tablas
Cada entidad del esquema conceptual se transforma en una tabla base. ◦ Atributos:
Los atributos (simples) de la entidad se convierten en los atributos de la tabla.
Cada componente de un atributo compuesto se convierte en un atributo de la tabla.
◦ Clave: La clave primaria de la tabla es la identificada para
la entidad.
Entidades
Los atributos multivaluados generan una tabla adicional.◦ Atributos:
El atributo multivaluado La clave de la entidad
◦ Clave: La clave de esta tabla será (en general) la unión de
ambos atributos
Entidades
Se pueden implementar alguna de las siguientes opciones, según corresponda:
1. Una tabla por cada entidad (superclase y subclases):
◦ Sirve para cualquier tipo de jerarquía.
2. Una tabla por cada subclase:◦ Sólo sirve para jerarquías totales y exclusivas.
3. Integrar todas las entidades en una tabla:◦ Genera Nulos◦ Se debe agregar un atributo que indique el tipo de entidad.
Entidades vinculadas con una Relación Generalización - Especialización
Opción 1: Es la mas general. Sirve para cualquier tipo de jerarquía.
◦ Tabla de la superclase: La tabla contendra todas las instancias. Atributos:
Todos los atributos de la superclase Clave:
El atributo clave de la superclase
◦ Tablas de cada subclase: Cada tabla contendra solo las instancias de la subclase correspondiente. Atributos:
El atributo clave de la superclase Todos los atributos de la subclase
Clave: El atributo clave de la superclase
Entidades vinculadas con una Relación Generalización - Especialización
Opción 2: Sólo sirve para jerarquías totales y exclusivas.
◦ Una tabla por cada subclase: Cada tabla contendra las instancias de la subclase correspondiente. Atributos:
Todos los atributos de la superclase Todos los atributos de la subclase
Clave: El atributo clave de la superclase
Entidades vinculadas con una Relación Generalización - Especialización
Opción 3: Integrar todas las entidades en una tabla: La tabla contendrá las todas las instancias
Atributos: Todos los atributos de la superclase Todos los atributos de la subclase Un atributo que indique el tipo correspondiente a la subclase a la que
pertenece Clave:
El atributo clave de la superclase
OBSERVACIONES:◦ Genera Nulos ◦ Se debe agregar un atributo que indique el tipo de entidad.
Entidades vinculadas con una Relación Generalización - Especialización
Entidades Debiles
Al igual que una entidad (fuerte) se transforma en una tabla base. ◦ Atributos:
Los atributos (simples) de la entidad se convierten en los atributos de la tabla.
Se agrega como atributo, la clave de la entidad fuerte a la que esta vinculada
◦ Clave: La clave primaria de la entidad fuerte a la que se
vincula
+ La clave primaria de la tabla correspondiente a la
entidad debil (discriminador)
Relaciones binarias 1-n◦ No generan tabla◦ A la tabla correspondiente a la entidad del lado n
de la vinculación, se le agrega la clave de la entidad del lado 1 de la relación.
◦ Si la relación tiene atributos, esos atributos se colocaran en la tabla a la que se le agrego la clave.
Relaciones o Vinculaciones
Relaciones binarias 1- 1◦ No generan tabla◦ Se agrega el atributo clave en alguna de las dos tablas
de las entidades vinculadas◦ Si tiene atributos, se coloca en la tabla a la que se le
agrego la clave
NOTA: Las 2 entidades vinculadas podría reunirlas en una sola tabla
.
Relaciones o Vinculaciones
Relaciones binarias m-n◦ Generan tabla◦ La tabla contendrá las claves de las entidades
vinculadas, mas los atributos propios (si los tuviera): Atributos:
Las claves de las entidades vinculadas Los atributos propios de la relacion, si los tuviera
Clave: En caso de no tener atributos propios: La unión de las dos
claves de las entidades vinculadas En caso de tener atributos propios: Idem anterior, pero además
puede necesitar agregar algun/nos de los atributos de la relación
Relaciones o Vinculaciones
La relacion m-n agregada genera tabla tal como se menciono en el caso de cualquier relacion m-n
La relacion vinculada a la agregacion se implementa según corresponda al tipo de vinculacion (1-1, 1-n, m-n).
Tener cuidado con la clave!!! Justamente en el caso de tener atributos que formen parte de la clave en la agregacion
Agregación
Estas reglas de conversión son generales Debieran ser aplicadas con criterio critico a
la luz de las consultas y la evolución probable de la realidad que se esta modelando.
Diseño Logico
Este debe realizarse en base a las formas de almacenamiento y técnicas de acceso provistas por el motor especifico en el que se implementara la base de datos (como muestra el grafico)
Por ello, no se describe en forma especifica en la materia. En la unidad del Nivel Interno se ven en forma general algunos aspectos generales que debieran tenerse en cuenta en esta etapa de la construcción de una base de datos.
Diseño Fisico
Diseño Conceptual y Logico
OBTENCION Y ANALISIS DE REQUERIMIENTOS
ANALISIS FUNCIONAL
DISEÑO FISICO
Independiente del SGBD
Específico para cada SGBD
IMPLEMENTACION DE LA APLICACIÓN
Minimundo
Minimundo
DISEÑO CONCEPTUALModelo Entidad
Relación Extendido
Implementación tablas “físicas”:
clustering, indices, hashing, etc
Especificación tablas “lógicas”: atributos,
claves primarias, foráneas
Diagrama ERE
Especificación de Requerimientos
DISEÑO LOGICO
FIN
Proceso de Construcción de una base de datos
Top Related