Document

Sistemas de Datos
Diseño Conceptual de Bases de Datos
Diseño Conceptual de Bases de Datos
Sistemas de Datos
Curso: Ernesto Chinkes
Esquema de la clase
2. Entidades
1. El proceso del diseño
conceptual
3. Relaciones
4. Restricciones
5. La normalización
6. El MER y las reglas
de transformación
El DER
7. Criterios para el diseño
8. Formas Normales
avanzadas
Diseño Conceptual de Bases de Datos
Sistemas de Datos
Curso: Ernesto Chinkes
El proceso del diseño conceptual
Visión
•Usuario
PersonasA
Sistema
• Operaciones
Visión
Objeto
• Materiales
Usuario B
• Documentos
Visión
• Computadoras
Usuario
N
• Etc.
Visión
actual
Visión
futura
Sub Modelo
de datos A
Sub Modelo
de datos B
Modelo de datos
Conceptual
Sub Modelo
de datos N
• Entidades (Tipos de entidades)
• Relaciones (Tipos de relaciones)
• Restricciones.
Solo
relevantes
• Normalización y otros criterios de diseño
• DER – Como herramienta de formalización
Diseño Conceptual de Bases de Datos
Sistemas de Datos
Curso: Ernesto Chinkes
Entidades (tipo de entidad)
- Simple - Compuesto
• Atributo
- Monovalorado - Multivalorado
- Almacenados - Derivados
No corresponde valor
- Obligatorios (1) – No obligatorios (valor indefinido)
Corresponde valor pero falta
Asume un valor
Dominio (2)
No se sabe si corresponde
• Ocurrencia (Entidad)
Claves subrogadas
• Claves
- Clave Primaria (3)
- Clave Alterna (4)
- Superclave
Claves candidatas
- Clave foránea
-Nº mínimo de atributos
-Menor frecuencia de cambios
-Menor longitud
-Más afin a la perspectiva del usuario
Identifican
unívocamente
una ocurrencia
Diseño Conceptual de Bases de Datos
Sistemas de Datos
Curso: Ernesto Chinkes
Relaciones (tipos de relaciones)
• Grado: recursiva, dos entidades, n entidades
• Cardinalidad (5): -maximos: tipos de relaciones: 1-1, 1-m, m-m (límites)
-mínimos: participación total o parcial en la entidad.
• Dependencia: Tipo relación:
-Identidad (propiedad): Entidad fuerte (propietaria) y débil (nido)
-No identidad (referencia): Entidades fuertes (primaria y referenciada).
-Subconjunto o Generalización/especialización: Supertipo y subtipos
(atributos diferenciales, herencia y participación en más de un conjunto).
• Atributos:
Atributos de la relación
Integridad
referencial
(6)
Diseño Conceptual de Bases de Datos
Sistemas de Datos
Curso: Ernesto Chinkes
Restricciones
• Atributo: Dominio, unicidad, obligatorio.
• Entidad: primaria, alterna, relaciones entre atributos
• Relaciones:
Cardinalidad max y mínimos, integridad referencial
• Generales: Entre atributos de distintas entidades, ....
Diseño Conceptual de Bases de Datos
Sistemas de Datos
Curso: Ernesto Chinkes
NORMALIZACION
Fuentes de
relevamiento:
• Usuarios
• Especificación de
requisitos
• Informes existentes
y futuros
• Etc.
Utilizar técnica
arriba-abajo:
MER y reglas de transformación
Conjunto de
relaciones
bien diseñadas
Utilizar Normalización
como técnica de
Abajo-arriba para crear relaciones
Utilizar Normalización
como técnica de validación,
para comprobar la estructura
1
2
Diseño Conceptual de Bases de Datos
Sistemas de Datos
Curso: Ernesto Chinkes
NORMALIZACION
1 FN
• Esté definida la clave primaria*.
• No Existan Grupos Repetitivos.
2 FN
• Esté en 1 FN.
• No existan dependencias
funcionales parciales.
3 FN
• Esté en 2 FN.
• No existan dependencias
funcionales transitivas.
D.F.
A
determina
E.F. Codd (1972)
B
Venta
Numero factura
Fecha venta
Codigo cliente
Razon social
Domicilio
Codigo producto
Descripcion producto
Precio unitario de venta
Cantidad vendida
Producto
Codigo producto
Descripcion producto
1
Item Venta
Numero factura
Codigo producto
Descripcion
Precio
unitario
producto
de venta
Precio unitario
Cantidad
vendida
de venta
Cantidad vendida
Cliente
Codigo cliente
Razon social
Domicilio
Diseño Conceptual de Bases de Datos
Sistemas de Datos
Curso: Ernesto Chinkes
DER
Identidad (propiedad)
o
CLIENTE
<
ITEM
VENTA
<
Generalización/
especialización
(Subconjunto)
<
VENTA
o
PRODUCTO
o
PERSONA
No – Identidad
(referencia)
Diseño Conceptual de Bases de Datos
Sistemas de Datos
Curso: Ernesto Chinkes
Criterios de buen diseño
A. Representar información
•Evitar valores indefinidos (nulos)
Reuniones naturales
Funciones de agregación
B. Evitar redundancia
•Evitar atributos derivados
•Evitar repetición en valores
! Sin pérdida
Normalización
Reducir espacio de
almacenamiento
Menor costo de actualización
Menor probabilidad de
generar inconsistencias
Costo de consulta (+ / -)
C. Asegurar consistencia
•Verificar restricciones a mínimo costo
!
Conserve dependencias
D. Claridad conceptual (semántica del modelo)
Soluciona
mediante
Descomposición
1FN, 2FN, 3FN (Codd)
-Boyce-Codd
-4FN (Fagin)
-5FN (Fagin)
Diseño Conceptual de Bases de Datos
Sistemas de Datos
Curso: Ernesto Chinkes
NORMALIZACION
Boyce-Codd (1974)
Dado en R ά -> ß
• ά -> ß es una DF trivial, o
• ά es superclave de R
DF trivial = ά -> ß y ß está incluido en ά
Conservan dependencias
Entrevista Cliente
Id_propiedad
Fecha entrevista
Hora entrevista
Comentario
Id_empleado
Patente auto
DF
Entrevista Cliente
Id_propiedad
Fecha entrevista
Hora entrevista
Comentario
Id_empleado
Auto asignado
Fecha asignada
Id_empleado
Patente auto
No conservan dependencias
Estudiante materia
Código_estudiante
Codigo materia
DF
Código profesor
Cliente sucursal responsable
Codigo cliente
DF
Código sucursal
Legajo_responsable cuenta
Estudiante profesor
Codigo estudiante
Codigo profesor
Cliente
Codigo cliente
Legajo_responsable cuenta
Profesor
Codigo profesor
Codigo materia
Responsable cuenta
Legajo responsible cuenta
Codigo sucursal
Diseño Conceptual de Bases de Datos
Sistemas de Datos
Curso: Ernesto Chinkes
NORMALIZACION
4 FN (R. Fagin 1977)
Dado en R ά ->> ß
•ά ->> ß es una DM trivial, o
•ά es superclave de R (DM no trivial)
Empleado hijo telefono
Legajo empleado
DNI hijo
Numero_telefono
Empleado telefono
Legajo empleado
Numero_telefono
DM trivial = ά ->> ß y (ß está incluido
en ά o ß unión ά = R)
D.M.
A
Determina B
“n” valores
D.M.
A
Determina C
“n” valores
independientes
Empleado hijo
Legajo empleado
DNI hijo
Sucursal empleado
propietario
Id_sucursal
Legajo_empleado
Id_propietario
Sucursal empleado
Legajo empleado
Id_sucursal
Sucursal_propietario
Id_propietario
Id_sucursal
Diseño Conceptual de Bases de Datos
Sistemas de Datos
Curso: Ernesto Chinkes
NORMALIZACION
5 FN (R. Fagin 1979)
Es una entidad que no debe contener
dependencias de combinación (o reunion
DR) no triviales.
La DR es no trivial, si su descomposición
en dos entidades es con pérdida.
Suministra
Id_proveedor
Id_insumo
Id_proyecto
Proveedor insumo
Id_proveedor
Id_insumo
Proveedor proyecto
Id_proveedor
Id_proyecto
Insumo proyecto
Id_insumo
Id_proyecto
Diseño Conceptual de Bases de Datos
Sistemas de Datos
Curso: Ernesto Chinkes
Modelo E-R
Entidad
Entidad
débil
Relación
Relación
identificadora
A
Atributo
A
Atributo
derivado
A
Atributo
multivalorado
A
Clave
primaria
A
Discriminante
ES
Relación
de especializacion /
generalizacion
A.S.
A.C.
Atributo
Compuesto
A.S.
A.S.
Diseño Conceptual de Bases de Datos
Sistemas de Datos
Curso: Ernesto Chinkes
M ER
Fecha venta
Numero factura
1. Entidades débiles no llevan clave
primaria: llevan discriminante.
2. No se formalizan las claves foráneas.
3. Existen relaciones M-M.
4. Los grupos repetitivos: con atributos
multivaluados o entidades débiles.
Cantidad vendida
Precio unitario
o
Codigo cliente
<
<
<
VENTA
PRODUCTO
<
PRECIO
HISTORICO
Razon social
CLIENTE
Domicilio
Telefono
Fecha
Precio
Codigo producto
Descripcion producto
Reglas de
transformación:
MER ->
entidades en el
Esquema de la
base de datos
(Tablas).
5.
1.
3.
•
2.
4.
6.
Crear una tabla para representar las relaciones muchos a muchos, su
Incluir
Entidad
claves
fuerte:
foráneas
Se creaen
una
relación
entidades,
que del
incluya
lado
los
del
atributos
muchosque
de
clave
primaria
se
compone
delas
las
claves primarias
de las
entidades
APLICAR
NORMALIZACIÓN
PARA
QUE
LASforánea),
ENTIDADES
simples.
las
relaciones.
relaciona
(por otro lado cada
una VALIDAR
actúa como
clave
y seESTÉN
le
BIEN FORMADAS
Incluir
Entidad
lalos
débil:
clave
Se
foránea
crea
una
en
las
relación
relaciones
incluya
de unolos
a uno
atributos
(del lado
agregan
atributos
relación
si losque
tuviese.
2de la
Crear
una
representar
un atributo
e incluir
simples
en
que
es
ytabla
agregar
sub para
tipola
- participación
clave primaria
opcional-),
de lamultivalorado
entidad
en donde
identificadora,
será
también
atributo
la calve
primaria
entidad propietaria
luego seun
además
clave
define
primaria.
clave
primaria
de de
la la
entidad.
(identificadora) en la nueva tabla, la misma actuará como clave
externa. También hay que definir su clave primaria.
Diseño Conceptual de Bases de Datos
Sistemas de Datos
Curso: Ernesto Chinkes
Trampas de conexión
Trampa multiplicativa o ruta ambigua
Trabaja en
>
Empleado
División
Opera con
< Sucursal
Trabaja en
Empleado >
Sucursal >
Opera con
División
No se sabe que
empleado
trabaja por
sucursal
Trampa de corte
<
Sucursal
Le asignan
< Empleado o
o< Inmueble
Trabaja en
Ofrece
No puedo
asignar un
inmueble a una
sucursal si no
fue asignada a
un empleado
Diseño Conceptual de Bases de Datos
Sistemas de Datos
Curso: Ernesto Chinkes
DILEMA DE LA RESTRICCION
Reserva
PK
Reserva_Función
Reserva _Función
código _reserva
PK,FK1
PK,FK4
PK,FK5
fecha _reserva
código _tipo_pago
pago_realizado _reserva
código _cliente
código _función
código _reserva
número _asiento
código _función
fecha_función
hora_función
codigo _obra_teatral
codigo _sala
FK5
codigo_sala
PK,FK1
PK
código _sala
número _asiento
FK2
fila
columna
código _sector
Sector
Obra_Teatral
PK
PK
código_función
código_reserva
número_asiento
Asiento _Sala
Función
PK
PK,FK1
PK,FK4
PK,FK5
código _sector
código _sala
código _obra_teatral
descripción _sector
nombre _obra_teatral
descripción _obra_teatral
fecha _inicio _obra_teatral
fecha _fin_obra_teatral
PK,FK1
PK
código_sala
número_asiento
FK2
fila
columna
código_sector
Ver depedencias de inclusión:
Navathe-Elmasri.
Sala
PK
Asiento_Sala
nombre _sala