Sei sulla pagina 1di 22

1

Diseno Lgico de Bases de Datos - 1


DISEO LSICO DE uses de Dutos
- Ob]etivo Principal: Tronsformor eI |squemo ConcepfuoI de
Dofos en eI |squemo Logico de Dofos
- Otros ob]etivos del Diseno Lgico:
- Eliminar redundancias
- Conseguir maxima simplicidad
- Evitar cargas suplementarias de programacin
para conseguir ...
- una Estructura Lgica adecuada
- un equilibrio entre los requisitos de usuario y la eficiencia
- Diseno Lgico con la maxima POPTA8ILIDAD
!ntroduccin tardia" del SGBD especifico
- !mplementacin del Esquema Lgico sobre diferenfes SGBD comerciales
- Migrocion entre versiones de un mismo SGBD
Diseno Lgico de Bases de Datos - 2
|TAPAS deI DIS|MO LSICO
?Diseo Lgico Estndur {DLS}
- Transformacin independiente del SGBD especifico
- Se elige el NODELO DE DATOS, no el SGBD concreto
Esquema Conceptual Esquema Lgico eStandar (ELS)
- Uso de un Nodelo Lgico de datos eStandar (MLS)
- Relacional
- Red
- Jerarquico
- Orientado a Ob]etos
ELS descrito mediante lengua]e estandar del modelo de datos
- Diagrama de Estructura de Datos
- SQL-92 en el Nodelo Relacional
2
Diseno Lgico de Bases de Datos - 3
|TAPAS deI DIS|MO LSICO
@Diseo Lgico Especfico {DLE}
- Se elige el SGBD especifico
- Adaptacin del Esquema de BD a un SGBD concreto (comercial)
Esquema Lgico Estandar Esquema Lgico Especifico (ELE)
- Uso del Nodelo Lgico de Datos propio del SGBD elegido
Informix, Oracle, DB2, Interbase,...
ELE descrito mediante lengua]e DDL del SGBD especifico
Diseno Lgico de Bases de Datos - +
Diagrama de Estructura de Datos, DED
Tcnica de representacin grfica de los esquemas
lgicos de datos en los modelos convencionales (en
particular, el modelo relacional)
Notacin a medio camino entre los modelos
E/R y Relacional
Soportados por herramientas CASE (ej. System Architect)
Uso del DED en la metodologa METRICA v.2.1
Fase 1:
ARS 3.2: Diseo del Esquema Lgico Actual de Datos
EFS 2.1: Construccin del Esquema Lgico de Datos
EFS 2.2: Normalizacin del Esquema Lgico de Datos
3
Diseno Lgico de Bases de Datos - 5
Diagrama de Estructura de Datos, DED
Caractersticas del DED:
nicamente Interrelaciones Binarias (dos entidades)
Slo permitidas las Interrelaciones 1:N
Transformacin de Interrelaciones 1:1
Fusionar en una nica entidad, o mantener la interrelacin
Transformacin de Interrelaciones M:N
Creacin de una entidad auxiliar + Dos interrelaciones 1:N
Ejemplo de Interrelacin N:1
EMPLEADO DEPARTAMENTO
Pertenece
Diseno Lgico de Bases de Datos - 6
Normalizacin del Diagrama de
Estructura de Datos
1FN: atributos con valor atmico
Evitar atributos multivalorados
Evitar atributos compuestos
2FN: en toda entidad E, los atributos no identificadores
dependen de manera total del identificador principal de E
Ningn atributo (no identificador) de E depende slo de una parte
de cualquier identificador (principal, alternativo) de E
3FN: No existen dependencias funcionales transitivas
entre los atributos de E.
Todo atributo no identificador slo depende directamente de los
identificadores.
4
Diseno Lgico de Bases de Datos - 7
DISEO LSICO ESTMDAk
PegIos poro eI ModeIo 8osico
Dominios
Afribufos
|nfidodes
InferreIociones
PegIos poro eI ModeIo |xfendido
Jerorquos de |specioIi;ocion/SeneroIi;ocion
Diseno Lgico de Bases de Datos - 8
DIS|MO LSICO |STAMDAP
P|SLAS 8ASICAS
Tipo de Entidad------------------- Relacin
Tipo de !nterrelacin MM------ Relacin
Tipo de !nterrelacin IM y II Propagacin de clave" o nueva Relacin
II Perdido de semonfico ll
5
Diseno Lgico de Bases de Datos - 9
DOMIMIO
Tipo de EMTIDAD
- Relacin o tabla (se recomienda usar un nombre similar, o el mismo)
Dominios y Tipos de |nfidod
PERSONA
direccin
telfono
dni numSS
fechaNacimiento
nombre
nacionalidad altura
PERSONA( dni PRIMARY KEY,
numSS NOT NULL UNIQUE,
nombre,
direccion,
telefono,
fechaNacimiento,
nacionalidad,
altura)
MER MR
Diseno Lgico de Bases de Datos - 10
Afribufos
{u} Atributo Identificudor y Mo Identificudor
- Idenfificodor PrincipoI Clave Primaria (PRIMARY KEY)
- Idenfificodor AIfernofivo Clave Alternativa (UNIQUE)
- Atributo MO idenfificodor Columna
Podra contener NULO si no se indica lo contrario
{b} Atributo SimpIe y MonovuIuudo Columna
6
Diseno Lgico de Bases de Datos - 11
Afribufos
{c} Atributo Compuesto del tipo de entidad E
A) Eliminar" atributo compuesto y considerar todos sus componentes como
ofribufos simpIes de la relacin R
B) Eliminar" los componentes y considerar el atributo compuesto como un
nico ofribufo de R
Cuondo sero mos odecuodo
ufiIi;or uno opcion u ofro7
Diseno Lgico de Bases de Datos - 12
Afribufos
{d} Atributo MuItivuIorudo del tipo de entidad E
- Nueva Relacin S, en la que el atributo multivalorado se representa como
un atributo simple A
- S contendra un atributo F, clave a]ena a la clave primaria de R
- Clave Primaria de S = (F, A)
PERSONA
fechaNac
dni
direccion (1,n)
nombre
||R'0N/(ca|, acmcre, |ec|aNac)
D|R|CC|0N_||R'0N/(ca|, c|recc|ca)
FK
PERSONA
DIRECCION
PERSONA
7
Diseno Lgico de Bases de Datos - 13
InferreIocion 8inorio MM
AMADIP UMA MU|VA P|LACIM R,
que incluye atributos...
- para cada clave primaria de R1 y de R2
- Claves a]enas a la clave primaria de R1 y R2, respectivamente
- Su combinacin (concatenaci n) forma la clave primaria de R
- para cada atributo simple (o componente simple de atributo compuesto)
del tipo de interrelacin !R
AUTOR LIBRO
fechaFin
(1,n) (1,m)
titulo
nomAutor
codAutor
isbn
derechosAutor
Escribe
AUTOR(codAutor, nomAutor, ...)
ESCRIBE(codAutor, isbn, fechaFin, derecAutor)
LIBRO(isbn, titulo, ...)
FK
FK
E1 E2 IR
R1 R2
R
[dMP93j
Diseno Lgico de Bases de Datos - 1+
InferreIocion 8inorio MM
- Especificacin de occiones disporodos por Infegridod PeferencioI
CREATE TABLE ESCRIBE
(codAutor Autores,
codLibro Codigos,
fechaFin DATE NOT NULL,
derecAutor NUMBER(2) DEFAULT 20,
PRIMARY KEY (codAutor, codLibro),
FOREIGN KEY(codAutor) REFERENCES AUTOR(codAutor)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY(codLibro) REFERENCES LIBRO(isbn)
ON DELETE CASCADE
ON UPDATE CASCADE
);
8
Diseno Lgico de Bases de Datos - 15
InferreIocion 8inorio MM
- Especificacin de Restricciones o Asertos
- Para recoger CARD!NAL!DADES NN!NA y NAX!NA
Un Iibro debe fener enfre I y 4 oufores
CREATE ASSERTION num_autores_por_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))));
Diseno Lgico de Bases de Datos - 16
InferreIocion 8inorio II
{u} Porficipocion TOTAL de ombos fipos de enfidod
Los tipos de entidad NO participan en otros tipos de interrelacin
UMA MICA P|LACIM R
- Propagacin de claves en una u otra direccin (es indiferente)
- Clave Primaria de R = clave primaria de R1 o de R2 (*si son disfinfos*)
- La otra sera clave alternativa (UN!QUE) y ademas NOT NULL
- Atributos simples de IR o componentes simples de atributos compuestos,
tambien se incluyen como atributos de la relaci n R
centroSalud
(1,1) (1,1)
fechaApertura
nombre
nss
numHisto
...
MEDICO
HISTORIAL
PACIENTE
PACIENTE( nss, nombre, numHisto, fechaApertura, centrosalud, ...)
...
AK, NN
Tiene
PK
9
Diseno Lgico de Bases de Datos - 17
InferreIocion 8inorio II
{b} Porficipocion TOTAL de uno enfidod y PAPCIAL de Io ofro
(b.I) Caso general
PPOPASACIM D| CLAV|
- La cIove de la enfidod con participacin porcioI se propaga"
hacia la enfidod con participacin fofoI cIove ojeno
EMPLEADO(codEmp, nomEmp, ...)
DEPARTAMENTO(numDep, nomDep, codDire, fechaInic...)
FK
Un empleado de una empresa puede ser el gerente de un (nico)
departamento (desde cierta fecha, en la que fue nombrado como
tal), o bien no dirigir ninguno.
E1 E2 IR
R1 R2
(1,1) (0,1)
DEPARTAMENTO EMPLEADO
codEmp
nomEmp nomDep
numDep
Dirige
fechaInic
[dMP93j
Diseno Lgico de Bases de Datos - 18
InferreIocion 8inorio II
(b.Z) Hay pocas instancias del tipo de interrelacin
AMADIP UMA MU|VA P|LACIM R
- Atributos de R:
- uno(s) para cada clave primaria de R1 y de R2
- son cIoves ojenos (a la clave primaria de R1 y de R2, respectivamente)
- son cIoves condidofos en R
uno de ellos sera la CIove Primorio de R (la de participacin total, si existe)
el otro sera CIove AIfernofivo de R (UNIQUE) y ademas NOT NULL
- atributos simples (o componentes simples de atributos compuestos) de !R
- Evita NULOS en los atributos propagados
EMPLEADO(codEmp, nomEmp, ...)
DIRIGE(codEmp, numDep, fechaInic)
DEPARTAMENTO(numDep, nomDep,...)
FK
FK AK, NN
10
Diseno Lgico de Bases de Datos - 19
InferreIocion 8inorio II
(b.3) Hay muchas instancias del tipo de interrelacin
UMA MICA P|LACIM R
- Atributos: todos (los del tipo de entidad y los del tipo de interrelaci n)
- Clave Primaria: la de la entidad con participaci n PARC!AL (EMPLEADO)
- Debe permitirse NULOS en los atributos propagados (empIeodos MO direcfores)
- desde la entidad con participaci n TOTAL y
- desde la interrelaci n
EMPLEADO(
codEmp ... PRIMARY KEY,
nomEmp ... ,
...,
numDepDir ... NULL UNIQUE,
nomDepDir ... NULL,
...,
fechaInicDir ... NULL,
... )
Diseno Lgico de Bases de Datos - 20
InferreIocion 8inorio II
{c} Porficipocion PAPCIAL de ombos fipos enfidod
AMADIP UMA MU|VA P|LACIM R
- R se construye exactamente igual que en el caso (b.2)
- Evita los valores nulos que aparecerian si se propagara la clave de R1 a
R2 o viceversa (caso (b.1))
(0,1) (0,1)
MUJER HOMBRE
nif
nif
Matrimonio
Estndar
fecha
lugar
HOMBRE(nif, ...)
MATRIMONIO(nifEsposa, nifEsposo, fecha, lugar)
MUJER(nif, ...)
FK
FK
AK, NN
Y... que ucciones dispurudus por Iu Integridud
keferenciuI deberemos imponer poro (fodos Ios
cosos de) Ios inferreIociones II7...
11
Diseno Lgico de Bases de Datos - 21
InferreIocion 8inorio IM
{u} Coso generoI
PPOPASACIM D| CLAV|
- En R2 se incluyen nuevos ofribufos para contener valores de...
- clave primaria de R1
- Clave a]ena en R2 hacia R1 (ojo con occiones disporodos por Infegridod PeferencioI)
- atributos simples (o componentes simples de atributos compuestos) de !R
(o.I) Porficipocion TOTAL u obIigoforio de |Z en IP cord(|Z)~(I,I)
E1 E2 IR
R1 R2
CIUDAD(nomCiudad, codProv, ...)
PROVINCIA(codProv, nomProv, ...)
FK: NULOS NO PERMITIDOS
1 N
PROVINCIA CIUDAD
(1,1) (1,n)
nomProv
codProv
nombreCiudad
Esta_en
1:N
Diseno Lgico de Bases de Datos - 22
InferreIocion 8inorio IM
(o.Z) Porficipocion PAPCIAL u opcionoI de |Z en IP cord(|Z)~(0,I)
PINACOTECA CUADRO
(0,1) (1,n)
nomMuseo
codCuadro
CUADRO(codCuadro, titulo, pintor, nomMuseo, sala...)
PINACOTECA(nomMuseo, ciudad, ...)
Expone
FK
titulo
pintor
ciudad
sala
NULOS PERMITIDOS
12
Diseno Lgico de Bases de Datos - 23
InferreIocion 8inorio IM
{b} Coso en eI que se cumpIe uno de esfos supuesfos
- Hay pocas ocurrencias del tipo de interrelaci n
- Se tendrian demasiados NULOS en la clave propagada, o
- !R tiene varios atributos propios, o
- Es probable que !R se transforme en un futuro en una interrelaci n N:N
AMADIP UMA MU|VA P|LACIM R
- R se construye exactamente igual que para interrelaciones 1:1 (coso b.Z)
- Clave primaria: propagada desde la entidad cuyas instancias s lo participan
una vez (o ninguna) en la interrelaci n
ESTUDIANTE(nif, nombre, ...)
PROPIEDAD(nifEstudiante, matricula)
COCHE(matricula, modelo, ...)
FK
FK NN
ESTUDIANTE
COCHE
(0,1) (0,n)
nif
matricula
Propietario_de
modelo
nombre
1 : N
Diseno Lgico de Bases de Datos - 2+
Dependencio en exisfencio e idenfificocion
- Caso particular de !R 1:1 o 1:N
con propogocion de cIove y porficipocion fofoI de E2 - (caso o.I)
- clave a]ena F de R2 hacia R1 (propagacin de clave desde R1 a R2)
no permite NULO
- clave primaria de R2:
- D|P|MD|MCIA |M |XIST|MCIA
atributos clave primaria de R2 (identificador principal de E2)
- D|P|MD|MCIA |M ID|MTIFICACIM
combinacin de atributos: F y clave (parcial) de R2
- Actualizaciones y Borrados en R1 se transmiten en CASCADA
hacia R2
E1 E2 IR
R1 R2
13
Diseno Lgico de Bases de Datos - 25
Dependencio en exisfencio e idenfificocion
FAMILIAR EMPLEADO
(1,1) (0,n)
EMPLEADO ( nifEmp, nomEmp, ...)
FAMILIAR ( nifFam, nifEmp, ... )
FK
E
nulos no permitidos
ON DELETE CASCADE
ON UPDATE CASCADE
nifFam
nifEmp
nomEmp
VISITA
MEDICA
PACIENTE
1:N
(1,1) (1,n)
PACIENTE ( historial, nombre, ... )
VISITA_MEDICA ( historial,fecha,hora, ... )
FK
ID
nulos no permitidos
ON DELETE CASCADE
ON UPDATE CASCADE
fecha
historial
nombre hora
observaciones
1:N
Tiene
Acude
Diseno Lgico de Bases de Datos - 26
Afribufo MuIfivoIorodo de InferreIocion
MU|VA P|LACIM S,
- El atributo multivalorado se representa como un atributo
simple A
- El resto de atributos simples de !R (si los hay) pasan a S
E1 E2 IR
R1 R2 R
A (0,n)
S(..., A)
14
Diseno Lgico de Bases de Datos - 27
Afribufo MuIfivoIorodo de InferreIocion
Segun !R sea...
- 1:1
- S incluye un atributo F, clave a]ena a la clave primaria de R1 o de R2
- Clave Primaria de S = {F, A)
- 1:M { EZ es eI tipo entidud con curdinuIidud M }
- S incluye un atributo F, clave a]ena a la clave primaria de R2
- Clave Primaria de S = {F, A)
- M:M
- S incluye dos atributos F1 y F2, claves a]enas a las claves primarias
de R1 y R2, respectivamente
- Clave Primaria de S = {F1, F2, A)
Diseno Lgico de Bases de Datos - 28
PROFESOR(nifProf, ...)
OFERTA_SEMINARIO(nifProf, codSeminario, maxNumAlumnos)
SEMINARIO(codSeminario,...)
SEMINARIO_OFERTADO(nifProfesor, codSemin, trimestre)
FK
FK
FK
FK
R1
R
R2
S
A F2 F1
Afribufo MuIfivoIorodo de InferreIocion
trimestre (1,3)
PROFESOR SEMINARIO
(1,m) (0,n)
maxNumAlumnos
nifProf
Puede
Ofertar
codSeminario
Coso MM
PROFESOR
SEMINARIO
Seminario
Ofertado
Oferta
Seminario
15
Diseno Lgico de Bases de Datos - 29
InferreIociones PefIexivos
( Solucin problemtica si puede haber muchos
empleados sin jefe demasiados nulos )
EMPLEADO
JEFE DE
subordinado
jefe
nifEmp
nomEmp
EMPLEADO (nifEmp, nomEmp, ...)
JEFE_DE(nifJefe, nifSubordinado, ...)
Cuso M:M
EMPLEADO ( nifEmp, nomEmp, ...)
JEFE_DE ( nifJefe, nifSubordinado, ... )
Cusos 1:M
EMPLEADO ( nifEmp, nomEmp, ..., nifJefe, ... )
- Relacin donde la clave primaria del tipo de entidad aparece referenciada DOS vECES
- Nombrar esos atributos segun los roles del tipo entidad en la interrelaci n
Diseno Lgico de Bases de Datos - 30
PRODUCTO(codigo, descripcion, ...)
COMPONENTE(codAgregado, codComponente)
--- un producfo es componenfe de un nico producfo, o de ninguno
FK
PRODUCTO
(0,1)
(0,n)
descripcion
codigo
COMPUESTO_POR
agregado
componente
1
N
FK
PRODUCTO(codigo, descripcion, codProducto,...)
FK: nulos permitidos
(AI Producfo Agregodo o Compuesfo)
Producfo o Componenfe
InferreIociones PefIexivos (conf.)
[EM97j
16
Diseno Lgico de Bases de Datos - 31
AMADIP UMA MU|VA P|LACIOM k
que incluye atributos...
- para cada clave primaria de R1, R2, R3...
- Claves a]enas a la relaci n R
i
correspondiente
- para cada atributo simple (o componente simple de atributo compuesto) de !R
- Clave primaria de R:
- Normalmente, es la combinaci n de todas las claves externas hacia R
i
- pero es posible que la PK de R sea un subconjunfo de esa superclave
E1 E2 IR
R1 R2
E3
R3
InferreIociones n-orios
Diseno Lgico de Bases de Datos - 32
CLIENTE VENDEDOR
(0,n) (0,m)
nifCliente
nifVendedor
VENTA
BANCO cifBanco
COCHE
matricula
(0,1)
(0,p)
fechaVenta
VENTA (matricula, nifVendedor, nifCliente, cifBanco, fechaVenta, ...)
^CuoI es Io supercIuve de esfo reIocion7
^^y cuoI es su cIuve primuriu7
^^^Como oseguror que no hoyo ventus sin cIienfe o sin coche o sin vendedor7
^^^^Puede refIejorse Io exisfencio de venfos direcfos (sin bonco)7
InferreIociones n-orios
17
Diseno Lgico de Bases de Datos - 33
Jerorquos de |specioIi;ocion/SeneroIi;ocion
{u} Tronsformocion Dirigido por eI Superfipo
- Los subtipos se diferencian en pocos atributos
- Interrelaciones establecidas con el supertipo o
son las mismas para todos los subtipos
- Se crea una nico reIocion R que contiene...
- TODOS los atributos del supertipo P y de los subtipos S1 y SZ
- un atributo nuevo -- atributo discriminonfe d de Io jerorquo
- (posibles) nuevas resfricciones semonficos
- La cIove primorio de R es el atributo correspondiente al A!P
del supertipo
P
S2 S1

d
Diseno Lgico de Bases de Datos - 3+
DOCUMENTO
codigo
LIBRO ARTCULO

titulo
idioma
aoEdicion nomEditorial
tipo
CREATE TABLE DOCUMENTO(
codigo ... PRIMARY KEY,
titulo... ,
idioma ... ,
tipo ... ,
nomEditorial ... NULL,
aoEdicion ... NULL,
...
CHECK (( tipo = ARTICULO AND
nomRevista IS NOT NULL AND
aoEdicion IS NULL AND
nomEditorial IS NULL)
OR ( tipo = LIBRO AND
nomRevista IS NULL AND
aoEdicion IS NOT NULL AND
nomEditorial IS NOT NULL))
);
Afribufo
DISCPIMIMAMT|
Pesfricciones
S|MAMTICAS
nomRevista
Jerorquo de |specioIi;ocion/SeneroIi;ocion
18
Diseno Lgico de Bases de Datos - 35
- Si la jerarqua es TOTAL, el discriminante no permite NULOS
- Si la jerarqua es SOLAPADA,
- Tratar el discriminante como un ATR!BUTO NULT!vALUADO, o
- Anadir un atributo por cada subtipo (booleano que indica si o al subtipo)
Venfojos e Inconvenienfes
Acceso eficienfe o TODA Io informocion sobre uno enfidod concrefo (occeso
o uno soIo reIocion)
^Aporicion de nuIos (ofribufos que proceden de subfipos poro enfidodes que
no perfenecen o foIes subfipos)
^ Todo operocion sobre subfipos debe "buscor" Ios insfoncios de Ios subfipos
en eI conjunfo compIefo (superfipo) de insfoncios
Jerorquo de |specioIi;ocion/SeneroIi;ocion
Diseno Lgico de Bases de Datos - 36
{b} Tronsformocion "TofoI"
- Los subtipos se diferencian en muchos atributos
- Se desea mantener los atributos comunes en
una relacin separada
- una reIocion P poro eI superfipo P
- incluye atributos de P
- la cIove primorio de R es el atributo correspondiente al A!P del supertipo
- una reIocion P
i
poro codo subfipo S
i
- contiene atributos del subtipo S
i
y
un atributo clave a]ena hacia la clave primaria de R
- La cIove primorio de cada R
i
es el atributo clave a]ena a la clave primaria de R
^Funciono poro jerorquos de fodo fipo. Lo mejor desde eI pfo. de visfo semonfico
^Conviene si Ios operociones son esfricfomenfe "IocoIes" o Ios subfipos o bien oI
superfipo (e.d. cosi nunco se occede o Io ve; o ofribufos de subfipo y superfipo)
Menos eficienfe en eI occeso (^^Por que7^^)
P
S2 S1

d
Jerorquo de |specioIi;ocion/SeneroIi;ocion
19
Diseno Lgico de Bases de Datos - 37
{c} Tronsformocion Dirigido por Ios Subfipos
- Existen muchos atributos NO comunes (en los subtipos)
- Existen pocos atributos comunes (en el supertipo)
- Los accesos a datos de subtipos siempre afectan
tambin a datos comunes
- Se crea una reIocion P
i
poro codo subfipo S
i
- contiene atributos del subtipo S
i
y
- atributos comunes (del supertipo)
- La cIove primorio de cada R
i
es el atributo A!P del supertipo
^Conviene si eI concepfo que represenfo eI superfipo no se requiere en eI dis. Iogico
^Funciono poro jerorquos fofoIes y excIusivos
^Acceso muy eficienfe o fodo Io informocion (reunion yo "infegrodo" en eI esquemo)
^Con jerorquos soIopodos oporecen "repeficiones"
^Con jerorquos porcioIes surgen probIemos de "foIfo de represenfocion"
^Poro buscor uno ocurrencio deI superfipo, hoy que buscor en fodos Ios reIociones
procedenfes de Ios subfipos.
P
S2 S1

d
Jerorquo de |specioIi;ocion/SeneroIi;ocion
Diseno Lgico de Bases de Datos - 38
DISEO LSICO ESPECFICO {DLE}
- Conocimiento del SGBD
Soporfo eI MLS7 Hosfo que punfo7
Como escribir eI |L| con Io sinfoxis propio deI SS8D7
- Estudiar la correspondencio entre concepfos del NLS y del SGBD
Pueden darse dos cosos:
1. SGBD con soporfe fofoI del NLS sin restricciones
- Transformacin (casi) directa al SQL propio del SGBD
2. SGBD no soporta oIgunos conceptos, o s lo hace pero con resfricciones
- Uso de conceptos distintos alternativos
- Programacin complementaria
- La mayor parte del ELS sirve como ELE, asi que slo veremos
los aspectos que necesitan transformaciones adicionales
20
Diseno Lgico de Bases de Datos - 39
DL| Dominios
- Algunos productos comerciales slo ofrecen sintaxis de definici n de
dominios, pero no implementan la semantica asociada
- Segun Codd (1990) el uso de dominios tiene estas venta]as
Declaracin nica de cada tipo de datos permitido en el esquema,
Soporte de integridad y coherencia entre dominios
(operaciones compatibles como la UNION, INTERSECCION, etc.),
Posibilidad de creacin de operadores y caractersticas propias de los dominios,
Facilitar la definicin de comprobaciones del SGBD (menor/mayor que),
Posible indexacin sobre el dominio, no sobre las columnas de las tablas,
Simplificar operaciones complejas sobre varias columnas, haciendolas
directamente sobre el dominio
- La mayoria de SGBD NO ofrece ningun soporte para dominios
Alternativa:
- Definir tipo de datos, longitud, restricciones para cada atributo (columna)
- Simulacin:
- Tablas de Dominio y
- Procedimientos de comprobacin de valores correctos (control de integridad)
Diseno Lgico de Bases de Datos - +0
DL| CIuves Primurius
- Si el SGBD no dispone de sintaxis para definici n de PK o slo ofrece la
sintaxis para hacerlo, pero no implementa su semantica (como
Oracle6)...
- Especificar cada atributo componente de la PK como NOT NULL
- Especificar que la combinacin de todos los componentes de la PK ha de
tener valores unicos (y asegurar esto tras inserciones y actualizaciones)
- Nantener la definicin de cada clave primaria como comenforio en el
catalogo del SGBD o, si este lo soporta, incluir la definicion sinfocfico
^Mofo en eI esfondor SQLZ no es obIigoforio especificor Io PI de uno
reIocion, y en Ios producfos comercioIes fompoco (por compofibiIidod
con versiones onferiores)
21
Diseno Lgico de Bases de Datos - +1
DL| CIuves Agenus
- Pocos productos soportan este concepto (Oracle7 si)
- Algunos lo incluyen slo a nivel sintactico, pero no implementan la
semantica asociada (Oracle6)
- Otros permiten crear un procedimiento (almacenado en el cat alogo)
que implementa cada clave a]ena
- El mecanismo de !ntegridad Referencial penaliza los tiempos de
respuesta del sistema
- importante en consultas interactivas, sobre todo.
- BorradosfActualizaciones en cascada.
- !mplementacin de !ntegridad Referencial en diferido".
Diseno Lgico de Bases de Datos - +2
DL| CIuves Agenus
- La mayoria de productos NO soportan este concepto, entonces...
- !ntroducir las restricciones de clave a]ena FK como requisifos de
especificocion de programas
- Especificar como NOT NULL los atributos de FK con nulos no permitidos
- Nantener la definicion de cada clave a]ena como comenforio en el
catalogo del SGBD o, si este lo soporta, incluir su definicion sinfocfico
- Utilizar mecanismos de seguridad (GRANT, REVOKE) para prohibir
operociones de ocfuoIi;ocion interactivas que pueden vioIor PI
referencioI
- Crear un procedimienfo que peridicamente compruebe y notifique
posibIes vioIociones de la !ntegridad Referencial
22
Diseno Lgico de Bases de Datos - +3
DL| Ofros concepfos deI ModeIo PeIocionoI
- Sera necesario crear procedimientos yfo disparadores ( triggers) que
verifiquen las restricciones de integridud definidas en la fase de
Diseo Lgico Estndar
- Si el SGBD lo permite, se almacenaran en el cofoIogo deI SS8D
- Si no, seran porfe de Ios progromos de opIicoci on
- Pesfricciones de infegridod como especificuciones de procesos

Potrebbero piacerti anche