Академический Документы
Профессиональный Документы
Культура Документы
DISEO LGICO
Objetivos
Comprender la conveniencia y ventajas de disponer de un esquema lgico de BD
independiente de un SGBD particular
Conocer las reglas de transformacin de un esquema conceptual en el MERE en un
esquema lgico en el MR
Conocer cmo evitar la posible prdida de semntica al traducir elementos del MERE
a elementos del MR
Conocer estrategias de eleccin de la opcin de diseo lgico ms adecuada entre
varias alternativas posibles
Conocer guas y recomendaciones para trasladar un esquema en el MR a un esquema
en el modelo de datos especfico soportado por el SGBD de implementacin
DL - 1
DISEO LGICO
Mientras que el objetivo fundamental del diseo
conceptual es completitud y la expresividad de los
esquemas conceptuales,
el objetivo del diseo lgico es obtener una
representacin que use, del modo ms eficiente
posible, los recursos que el modelo de SGBD posee
para estructurar los datos y para modelar las
restricciones.
DL - 3
DISEO LGICO
Transformacin
DL - 6
Dominios
Atributos
Tipos de entidad Relacin
Tipos de relacin
N:M Relacin
1:1;1:N;N:1 relacin o propagacin?
Prdida de semntica !!
Cod_libro
LIBRO
(0,m)
N
(0,n)
Cod_Autor
Esquema relacional:
(0,n)
AUTOR(cod_autor, )
edita
1
AUTOR
escribe
ESCRIBE(cod_autor, cod_libro, )
FK
(1,1)
FK
LIBRO(cod_libro, , cod_editorial, )
EDITORIAL
Cod_Editorial
FK
EDITORIAL(cod_editorial, )
DLS: Dominios
Transformacin directa: El modelo relacional admite
dominios aunque no disponibles en la mayor parte de
las implementaciones comerciales.
DL - 9
Atributo de R
Identificador principal Clave primaria de R (clusula PRIMARY KEY)
Identificador alternativo Clave alterna de R (clusula UNIQUE + NOT NULL )
DL - 10
PERSONA direccin
PERSONA
calle
ciudad
provincia
dni
nombre
fechaNac
calle
ciudad
provincia
dni
nombre
fechaNac
PERSONA
direccin
DL - 11
dni
nombre
fechaNac
PERSONA
dni
nombre
fechaNac
direccin (1,n)
PERSONA
dni
direccin
DIRECCION_PERSONA(dni, direccin)
DIRECCION
PERSONA
DL - 12
E1
R1
E2
R2
nomCli
(1,1)
INFORMACION
ENVIO
cp
codCli
numCasa
calle
(2)
codEmp
EMPLEADO
nomEmp
(1,1)
DIRIGE
(0,1)
fechaInic
DEPARTAMENTO
nomDep
DL - 15
DLS:Interrelaciones 1:1
(3)
(b) Una entidad con participacin TOTAL y otra con participacin PARCIAL
(b.2) NUEVA RELACIN R. Cuando...
Hay pocas instancias del tipo de Interrelacin IR
Atributos de R:
claves primarias de R1 y de R2
son claves ajenas (a la clave primaria de R1 y de R2, respectivamente)
son claves candidatas en R
uno de ellos ser la Clave Primaria de R (la de participacin total, si existe)
el otro ser Clave Alternativa de R (NOT NULL, UNIQUE)
atributos simples (o componentes simples de atributos compuestos) de IR
Participacin Total?
DL - 16
(4)
(b) Una entidad con participacin TOTAL y otra con participacin PARCIAL
(b.3) Muchas instancias del tipo de relacin: NICA RELACIN.
(y 5)
nif
HOMBRE
(0,1)
MATRIMONIO
nif
(0,1)
MUJER
fecha
HOMBRE(nif, ...)
FK (NOT NULL UNIQUE)
MATRIMONIO(nifEsposa, nifEsposo, fecha, lugar)
MUJER(nif, ...)
FK
DL - 18
E1
R1
IR
E2
R2
Clave ajena en R2 hacia R1 (ojo con acciones disparadas por Integridad Referencial)
ESTA_EN
(1,1)
nombreCiudad
CIUDAD
(0,n)
nomProv
(2)
PINACOTECA
EXPONE
(0,1)
ciudad
codCuadro
CUADRO
(1,n)
titulo
pintor
sala
NULOS PERMITIDOS
DL - 20
DLS:Interrelaciones 1:N
(y 3)
ESTUDIANTE
N
PROPIETARIO_DE
(0,1)
(0,n)
COCHE
matricula
modelo
COCHE_DE_ESTUDIANTE(nifEstudiante, matricula)
FK
DLS:Interrelaciones N:M
Interrelaciones Binarias N:M
IR
E1
R1
E2
R2
codAutor
isbn
AUTOR
(1,4)
nomAutor
LIBRO
ESCRIBE
(0,n)
titulo
fechaFin
DL - 22
DATE
NOT NULL,
NUMBER(2) DEFAULT 20,
DLS: Cardinalidades
Especificacin de Restricciones: CARDINALIDADES MNIMA y MXIMA
CREATE ASSERTION num_autores_libro CHECK
((4>=(SELECT MAX(ocurrencias)
FROM (SELECT COUNT(*) AS ocurrencias
FROM ESCRIBE
GROUP BY codLibro))
AND
((1<=(SELECT MIN(ocurrencias)
FROM (SELECT COUNT(*) AS ocurrencias
FROM ESCRIBE
GROUP BY codLibro));
SET CONSTRAINTS
{ALL | nombre_constraint`[,...]} {DEFERRED | INMEDIATE}
INITIALLY {DEFERRED | INMEDIATE}
DL - 24
DEPENDENCIA EN IDENTIFICACIN
combinacin de atributos: F y clave parcial (discriminante) de R2
EMPLEADO
E
TIENE
(1,1)
(2)
nifFam
FAMILIAR
(0,n)
DL - 26
PACIENTE
ID
RECIBE
(1,1)
N
(1,n)
(3)
fecha
VISITA_MEDICA
hora
observaciones
historial
ON UPDATE CASCADE ,
fecha
fechas,
hora
horas,
observaciones
VARCHAR(100),
PRIMARY KEY (historial, fecha, hora) );
DL - 27
m (0,n)
E1
IR
E2
R1
R2
DL - 28
Segn IR sea...
1:1
S incluye un atributo F, clave ajena a la clave primaria de R1 o de R2
Clave Primaria de S = (F, A)
1:N ( E2 es el tipo entidad con cardinalidad N )
S incluye un atributo F, clave ajena a la clave primaria de R2
Clave Primaria de S = (F, A)
N:M
S incluye dos atributos F1 y F2, clave ajena a las clave primaria de IR
Clave Primaria de S = (F1, F2, A)
DL - 29
DLS:Atributos Multivaluados en IR
Caso N:M
R1
R
trimestre (1,3)
nifProf
PROFESOR
PROFESOR(nifProf, ...)
maxNumAlumnos
OFERTA
(1,m)
FK
(0,n)
SEMINARIO
numSeminario
R2
SEMINARIO(numSeminario,...)
nifProf
FK
maxNumAlumnos
nifProfesor
PROFESOR
OFERTA
SEMINARIO
SEMINARIO
OFERTADO
numSemin
trimestre
numSeminario
DL - 30
nifEmp
nomEmp
JEFE DE
EMPLEADO
subordinado
Caso N:M
EMPLEADO (nifEmp, nomEmp, ...)
JEFE_DE(nifJefe, nifSubordinado, ...)
Caso 1:N
Relacin donde la clave primaria del tipo de entidad aparece DOS VECES
Nombres de esos atributos segn roles del tipo entidad en la interrelacin
DL - 31
componente
N
(0,n)
PRODUCTO
(0,1)
1
agregado
COMPUESTO_POR
descripcion
PRODUCTO(codigo, descripcion, ...)
FK
FK
COMPONENTE(codAgregado, codComponente)
--- un producto es componente de un nico producto, o de ninguno
(Al Producto Agregado o Compuesto)
FK: nulos permitidos
DL - 32
IR
E2
R1
E3
R2
R3
Clave primaria de R
Normalmente, es la combinacin de todas las claves externas hacia Ri
pero es posible que la PK de R sea un subconjunto de esa superclave
DL - 33
COCHE
nifCliente
(0,1)
fechaVenta
nifVendedor
CLIENTE
(0,n)
VENTA
VENDEDOR
(0,n)
(0,n)
BANCO
cifBanco
DLS: Jerarquas
Jerarquas de Especializacin/Generalizacin
(a) TRANSFORMACIN DIRIGIDA POR EL SUPERTIPO
Los subtipos se diferencian en pocos atributos
Interrelaciones establecidas con el supertipo o
son las mismas para todos los subtipos
S1
Se crea una nica relacin R que contiene...
TODOS los atributos del supertipo P y de los subtipos S1 y S2
un atributo nuevo -- atributo discriminante d de la jerarqua
(posibles) nuevas restricciones semnticas
P
d
S2
DL - 38
DL - 39
DLS:Jerarquas (3)
Si la jerarqua es TOTAL, el discriminante no permite NULOS
Si la jerarqua es SOLAPADA,
Tratar el discriminante como un ATRIBUTO MULTIVALUADO, o
Aadir un atributo (booleano) por cada subtipo (indica si o al subtipo)
Ventajas e Inconvenientes
Acceso eficiente a TODA la informacin sobre una entidad concreta (acceso
a una sola relacin)
d
S1
S2
incluye atributos de P
la clave primaria de R es el atributo correspondiente al AIP del supertipo
semntico.
*Conviene si operaciones estrictamente locales a subtipos o a supertipo (pocas
operaciones acceden conjuntamente a atributos de subtipos y supertipo)
DLS: Jerarquas ( y 5)
(c) TRANSFORMACIN DIRIGIDA POR LOS SUBTIPOS
Existen muchos atributos NO comunes (en los subtipos)
Existen pocos atributos comunes (en el supertipo)
Los accesos a datos de subtipos siempre afectan a
datos comunes
S1
d
S2
diseo lgico
Categoras
DNI
PERSONA
nombre
BANCO
NVehculo
nombre
COCHE
EMPRESA
FechaCompra
PROPIETARIO
tiene
CAMIN
VEHICULO MATRICULADO
PERSONA ( DNI,,IdPropietario)
matrcula
COCHE ( Nvehculo,)
BANCO ( Nombre,,IdPropietario)
EMPRESA ( Nombre,,IdPropietario)
NVehculo
CAMIN ( Nvehculo,)
Clave sustituta
DL - 43
La mayor parte del ELS sirve como ELE, as que slo veremos
los aspectos que necesitan transformaciones adicionales
DL - 44
DL - 45
DL - 47
referencial
Crear un procedimiento que peridicamente compruebe y notifique
posibles violaciones de la Integridad Referencial
DL - 48
DL - 49