Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
DISEÑO LÓGICO
© 2008 Grupo Kybele 2 2
Contenido
Tema 12.
Diseño Lógico Estándar
Tema 13.
Normalización
Tema 14.
Diseño Lógico Específico
TEMA 12
DISEÑO LÓGICO ESTÁNDAR
© 2008 Grupo Kybele 4
Tecnología y Diseño de Bases de Datos
M.Piattini, E. Marcos, C.Calero y B. Vela
Ed.: RA-MA, 2006
Diseño de Bases de Datos. Problemas
Resueltos.
A. de Miguel et al.
Ed.: RA-MA, 2001
Bibliografía
© 2008 Grupo Kybele 5 5
Índice
1. Introducción
2. Etapas del Diseño Lógico
3. Reglas de Transformación
Modelo Básico
Extensiones
© 2008 Grupo Kybele 6
Metodología propuesta
MUNDO REAL
UD
DISEÑADOR
PROFESOR
ALUMNO
Imparte
clase
ESQUEMA
CONCEPTUAL
ESQUEMA LOGICO
(Relacional)
Introducción
© 2008 Grupo Kybele 7
ESQUEMA
CONCEPTUAL
REQUISITOS
DE LOS
PROCESOS Y
DEL ENTORNO
ENTRADAS
ESQUEMA
LÓGICO
ESTANDAR
ESQUEMA
LÓGICO
ESPECÍFICO
Diseño
Lógico
ESPECIFICACIONES
PARA LOS
PROCESOS
MODELO
LÓGICO
ESTÁNDAR
MODELO
LÓGICO
ESPECÍFICO
Etapas del Diseño Lógico
© 2008 Grupo Kybele 8
Diseño Lógico Estándar
Esquema conceptual Esquema Lógico eStándar
(ELS) basado en un Modelo Lógico eStándar (MLS)
correspondiente al SGBD
Diseño Lógico Específico
ELS Esquema Lógico Específico (ELE), teniendo en
cuenta el Modelo Lógico Específico (MLE) propio del
SGBD descrito en el LDD del producto
Otras herramientas: Diagramas de dependencias
funcionales, teoría de la normalización, grafos
relacionales, etc.
Etapas del Diseño Lógico
© 2008 Grupo Kybele 9
Tres reglas básicas:
Todo tipo de entidad se convierte en una
relación.
Todo tipo de interrelación N:M se transforma
en una relación.
Para todo tipo de interrelación 1:N se realiza lo
que se denomina propagación de clave (regla
general), o se crea una nueva relación.
PÉRDIDA DE SEMÁNTICA: - El modelo E/R no distingue entre entidades y interrelaciones.
- En las 1:N se puede perder hasta el nombre de la interrelación.
Reglas de Transformación
© 2008 Grupo Kybele 10
DEPARTAMENTO PROFESOR CURSO Pertenece Imparte
Cod_dep Cod_prof Cod_curso
1:N N:M
PROFESOR (Cod_prof, Nombre_p, ..., Cod_dep)
DEPARTAMENTO (Cod_dep, Nombre, ...)
IMPARTE (Cod_curso, cod_prof)
CURSO (Cod_curso, Nombre, Num_horas)
Clave ajena
Clave ajena
Clave ajena
Ejemplo
© 2008 Grupo Kybele 11 11
Dominios Dominios CREATE DOMAIN Estados_Civiles AS CHAR(1)
CHECK (VALUE IN ('S', 'C', 'V', 'D'))
PERO: Los productos no suelen tener dominios.
Entidades Relaciones CREATE TABLE Profesor ( …)
Atributos de entidades Columnas de la relación Identificador Principal Clave Primaria
Identificador Alternativo UNIQUE, ¿NOT NULL?
No identificadores columnas, ¿NOT NULL?
Reglas de Transformación – Modelo Básico (I)
© 2008 Grupo Kybele 12 12
CREATE TABLE Profesor(
Cod_prof Códigos,
Nombre Nombres,
DNI DNIS NOT NULL,
Dirección Lugares,
Teléfono Nos_Teléfono,
Materia Materias,
PRIMARY KEY (Cod_Prof),
UNIQUE (DNI));
PROFESOR Cod_prof
Nombre DNI
Materia Teléfono Dirección
PROFESOR (Cod_prof, Nombre, DNI, Dirección, Teléfono, Materia)
Ejemplo
© 2008 Grupo Kybele 13 13
Interrelaciones:
según tipo de correspondencia y otros aspectos
semánticos
N:M Relación Clave primaria: concatenación Identificador Principal de los
tipos de entidad que asocia que serán también claves ajenas.
Opciones de borrado y modificación: restringido, puesta a
nulo, puesta a valor por defecto, operación en cascada
Cardinalidades mínimas: restricciones, aserciones o
disparadores (no SQL92)
Reglas de Transformación – Modelo Básico (II)
© 2008 Grupo Kybele 14
CREATE TABLE Imparte(
Cod_Prof Codigos_P,
Cod_Curso Codigos_C,
…. ,
PRIMARY KEY (Cod_Prof, Cod_Curso),
FOREIGN KEY (Cod_Prof)
REFERENCES Profesor
ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY (Cod_Curso)
REFERENCES Curso
ON DELETE CASCADE
ON UPDATE CASCADE)); CURSO
PROFESOR
imparte
Cod_curso
Cod_prof
(1,n)
(1,n)
N:M PROFESOR (Cod_prof, ...)
CURSO (Cód_curso, ...)
IMPARTE (Cód_curso, Cod_prof, ...)
B:C, M:C B:C, M:C
Ejemplo
© 2008 Grupo Kybele 15
1:N 2 posibilidades Propagar los Identificadores Principales en el sentido de la
flecha (regla básica)
Transformarlo en una relación
Criterios para transformar en relación: Si aparecen muchos valores nulos
Cuando se prevé que dicha interrelación en un futuro se
convertirá en una de tipo N:M
Cuando la interrelación tiene atributos propios y no deseamos
propagarlos (a fin de conservar la semántica)
Mecanismos de borrado y actualización
Cardinalidades mínimas
Reglas de Transformación – Modelo Básico (III)
© 2008 Grupo Kybele 16
PROFESOR DEPARTAMENTO pertenece
Cod_Prof Cod_Dep
TEMA
consta
(0,n)
(1,1) (0,n)
(1,1)
Ejemplo
© 2008 Grupo Kybele 17
1:1 Caso particular de N:M o 1:N Propagar Identificador Principal (incluso en los dos sentidos)
Transformarlo en una relación
Criterios: A. (0,1), (0,1) relación, evitando valores nulos
B. (0,1), (1,1) propagar la clave, evitando así valores nulos y
captando más semántica
C. (1,1), (1,1) propagar la clave, o incluso las dos
Reglas de Transformación – Modelo Básico (IV)
© 2008 Grupo Kybele 18
HOMBRE MUJER Matrimonio
Cód_hombre Cod_Mujer
(0,1) (0,1)
1:1
MATRIMONIO (Cod_hombre, Cod_mujer)
HOMBRE (Cod_hombre)
MUJER (Cod_mujer)
B:C, M:C
B:C, M:C
CASO A
Ejemplo
© 2008 Grupo Kybele 19
ENTIDAD
AIP
Atributo
Atributo multivaluado
INTERRELACIÓN
N:M
1:N
1:1
Modelo E/R Modelo Relacional
RELACIÓN
Clave Primaria
Columna
Relación
Relación
Propagación de clave a la entidad con cardinalidad máxima n
Propagación de clave de la entidad con cardinalidad mínima 0
Reglas de Transformación – Modelo Básico (V)
© 2008 Grupo Kybele 20 20
Dependencias en identificación y en existencia
Propagación de clave ajena con nulos no permitidos
Modificación y borrado en cascada
En el caso de dependencia en identificación, se
concatenan las claves
Restricciones de interrelaciones (exclusión,
inclusión)
Checks, aserciones...
Reglas de Transformación – Extensiones (I)
© 2008 Grupo Kybele 21 21
Tipos y subtipos
Opción a: Englobar tipos y subtipos en una única relación. Subtipos
similares en atributos e interrelaciones.
Atributo discriminante: estudiar su comportamiento en caso de
totalidad y exclusividad
Mayor eficiencia
Opción b:
Tantas relaciones como tipos y subtipos. Múltiples atributos e
interrelaciones.
Estudio de las restricciones
Menos eficiente que opción a), pero conserva más la semántica
Reglas de Transformación – Extensiones (II)
© 2008 Grupo Kybele 22 22
Tipos y subtipos
Opción c: Relaciones distintas por cada subtipo que incluya los atributos
propios y comunes
Estudio de restricciones
Mayor eficiencia ante determinadas consultas (por ej., en el
caso de muchos accesos a atributos comunes). Posibles
redundancias en caso de solapamiento. ¿En el caso de jerarquía
parcial?
Reglas de Transformación – Extensiones (III)
© 2008 Grupo Kybele 23 23
Documento
Libro Artículo
Opción a: una sola relación
Documento (código, titulo, idioma,... tipo)
Opción b: tres relaciones
Documento (código, titulo, idioma,...)
Artículo (código, ...) Libro (código, ...)
Opción c: dos relaciones
Artículo (código, titulo, idioma,...)
Libro (código, titulo, idioma,...)
Ejemplo
© 2008 Grupo Kybele 24 24
Atributos multivaluados
En entidades
En interrelaciones
Dimensión temporal
Atributos derivados
Almacenar las columnas o calcularlas
Atributos compuestos
Columnas
Reglas de Transformación – Extensiones (IV)
© 2008 Grupo Kybele 25 25
Interrelaciones de grado > 2
Grafo Relacional
Claves primarias: subrayado
Claves alternativa: negrita
Claves ajenas: cursiva
Atributos que admiten valores nulos: asterisco
Opciones de borrado y modificación: restringido (R),
en cascada (C), puesta a nulos (N), puesta a valor por
defecto (D)
Reglas de Transformación – Extensiones (V)
TEMA 13
NORMALIZACIÓN
© 2008 Grupo Kybele 27 27
Contenido
Introducción
Normalización de Relaciones
Bibliografía
© 2008 Grupo Kybele 28
• Al diseñar una BD relacional, podemos obtener diferentes
esquemas
• La teoría de la normalización consigue una formalización
en el diseño lógico
• ¿Qué propiedades debe tener un esquema para
representar adecuadamente la realidad y qué problemas se
pueden derivar de un diseño inadecuado?
• La teoría de la normalización permite afrontar el problema
de diseño de bases de datos relacionales de una manera
rigurosa y objetiva
Introducción
© 2008 Grupo Kybele 29
Formas de abordar el proceso de modelado:
a) Realizando el proceso de diseño en dos fases
b) Obteniendo el esquema relacional directamente
Introducción
© 2008 Grupo Kybele 30
a) Proceso de diseño en dos fases:
ESTUDIANTE (Cod_Estud, nombre, apellido, dirección)
SOLICITA (Cód_Beca, Cod_Estud, Fecha)
BECA (Cod_Beca, Nombre, Requisito)
Introducción: Proceso de diseño en dos fases
¿Es Correcto?
© 2008 Grupo Kybele 31
Introducción: Proceso de diseño en dos fases
Cod_Estud Nombre_E Apellido Dirección
012323 Roberto Hens Antonio López 43
763476 Luis García Av. Ciudades 29
987765 Gregorio Celada Pl. Paises 67
232457 María García Rio Miño 2
Cod_Beca Cod_Estud Fecha
A22321 012323 10/10/08
B56784 763476 12/11/08
A22231 763476 14/10/08
G65434 763476 15/09/08
G65434 012323 17/09/08
G65434 987765 21/09/08
B56784 012323 11/11/08
B56784 987765 10/10/08
A22321 012323 12/11/08
A22321 232457 17/09/08
Cod_Beca Nombre Requisito
A22321 METRICA Ing. Técnico
B56784 ERASMUS Ing. Técnico
G65434 HIMMPA Ing. Superior
© 2008 Grupo Kybele 32
Introducción: Esquema relacional directamente
¿Es correcto? ¿Recoge la misma información?
¿Es mejor o peor que el anterior?
Cod_Estud nombre apellidos dirección Cod_Bec nom_beca requisito Fecha
012323 Roberto Hens Antonio López 43 A22321 METRICA Ing. Téc 10/10/08
763476 Luis García Av. Ciudades 29 B56784 ERASMUS Ing. Téc 12/11/08
763476 Luis García Av. Ciudades 29 A22231 METRICA Ing. Téc 14/10/08
763476 Luis García Av. Ciudades 29 G65434 HIMMPA Ingenie. 15/09/08
012323 Roberto Hens Antonio López 43 G65434 HIMMPA Ingenie. 17/09/08
987765 Gregorio Celada Pl. Países 67 G65434 HIMMPA Ingenie. 21/09/08
012323 Roberto Hens Antonio López 43 B56784 ERASMUS Ing. Téc 11/11/08
987765 Gregorio Celada Pl. Países 67 B56784 ERASMUS Ing. Téc 10/10/08
012323 Roberto Hens Antonio López 43 A22321 METRICA Ing. Téc 12/11/08
232457 María García Rio Miño 2 A22321 METRICA Ing. Téc 17/09/08
b) Obteniendo el esquema relacional directamente:
ESTUDIANTE_SOLICITA_BECA
© 2008 Grupo Kybele 33 33
• Incapacidad para almacenar ciertos hechos.
• Redundancias y, por tanto, posibilidad de
inconsistencias.
• Ambigüedades.
• Pérdida de información (aparición de tuplas espurias).
• Pérdida de dependencias funcionales
• Existencia de valores nulos (inaplicables)
• Aparición de estados que no son válidos en el mundo
real
Estos problemas podemos tenerlos en cualquiera de los
dos casos
Introducción: Posibles Problemas
© 2008 Grupo Kybele 34 34
Introducción: Pérdida de Información
Cod_Asig Aula
DBD 318
DBD 121
IS 330
Cod_Asig Nom_Alum Aula
IS Juan 330
DBD Juan 318
DBD Leire 121
IS Leire 330
Cod_Asig Nom_Alum
IS Juan
DBD Juan
DBD Leire
IS Leire
Cod_Asig Nom_Alum Aula
IS Juan 330
DBD Juan 318
DBD Juan 121
DBD Leire 318
DBD Leire 121
IS Leire 330
Tuplas
espurias
© 2008 Grupo Kybele 35 35
Contenido
Introducción
Normalización de Relaciones
• Dependencias y cálculo del cierre de un
descriptor.
• Cálculo del recubrimiento minimal.
• Cálculo de las claves candidatas
• Formas Normales
• Métodos de descomposición y síntesis
Bibliografía
© 2008 Grupo Kybele 36 36
Teoría de la Normalización
Dado un conjunto A de atributos y el conjunto D de
dependencias existentes entre ellos que constituyen un
esquema de relación R(A, D), se trata de transformar, por
medio de sucesivas proyecciones, este esquema de partida
en un conjunto de n esquemas de relación
*𝑹𝒊 (𝑨𝒊, 𝑫𝒊, )+𝒏 𝒊=𝟏
tales que cumplan unas determinadas condiciones:
El conjunto de esquemas 𝑹𝒊 deberan ser equivalentes a 𝑹 y
mejores que el esquema de partida
© 2008 Grupo Kybele 37 37
Normalización de Relaciones
Pasos para normalizar relaciones:
1. Calculo de las dependencias funcionales, multivaluadas,
jerárquicas y en combinación que existen entre los atributos de la
relación.
2. Calculo del recubrimiento minimal.
3. Calculo de las claves candidatas de la relación, de los atributos
principales y de los no principales.
4. Cálculo de la de la forma normal en que se encuentra la relación
5. Aplicar los métodos de descomposición y síntesis para obtener la
forma normal deseada.
© 2008 Grupo Kybele 38 38
Contenido
Introducción
Normalización de Relaciones
• Dependencias y cálculo del cierre de un
descriptor.
• Cálculo del recubrimiento minimal.
• Cálculo de las claves candidatas
• Formas Normales
• Métodos de descomposición y síntesis
Bibliografía
© 2008 Grupo Kybele 39 39
Dependencias entre los datos
Las dependencias son propiedades inherentes al contenido
semántico de los datos; forman parte de las restricciones
de usuario del modelo relacional y se han de cumplir
para cualquier extensión de un esquema de relación.
Sin pérdida de generalidad vamos a considera que el
esquema relacional está compuesto por un único
esquema de relación:
R(A, DEP) • A: conjunto de dependencias existentes entre los atributos
• DEP: cjto. de dependencias existentes entre los atributos
Tipos: funcionales, multivaluadas, jerárquicas…
© 2008 Grupo Kybele 40 40
Dependencias Funcionales
Si para cada valor de X, solamente existe un único
valor de Y
Ejemplo:
Si e entonces
X e Y son equivalentes
yx
implicado
profesornombreprofesordni __
yx xy yx
© 2008 Grupo Kybele 41 Además sí, DF Transitiva Estricta 41
Dependencias Funcionales: Tipos
1. DF Trivial:
y además Y es un subconjunto de X
Ejemplo:
2. DF Elemental:
Si Y es un atributo único, se trata de una dependencia plena
(no parcial) y no trivial.
3. DF Transitiva:
yx
profesornombreprofesornombre __
xy
zy
yx
DEPzyxR
)},,,({
zx
yz
profesornombrepostalcodigo
ciudadpostalcodigo
postalcodigoprofesornombre
DEPciudadpostalcodigoprofesornombreR
__
_
__
)},,_,_({
© 2008 Grupo Kybele 42 42
Dependencia Multivaluada
X multidetermina a Y, si para cada valor de X existe un
conjunto bien definidos de valores posible en Y, con
independencia del resto de los atributos de la relación.
Ejemplo:
Tipos: Dependencias multivaluadas jerárquicas
yx
Nombre Titulación
Juan Mag. Música
Juan Ing. Informática
Ana Ing. Caminos
© 2008 Grupo Kybele 43 43
Dependencias Jerárquicas
X multidetermina jerárquicamente a Y y Z si:
X multidetermina a Y
y
X multidetermina a Z
Ejemplo:
Nombre Titulación Proyecto
Pedro Mag. Música A
Pedro Ing. Informática B
Maria Ing. Caminos A
© 2008 Grupo Kybele 44 44
Cierre de un Descriptor
• DF+: conjunto de todas las dependencias
funcionales implicadas por DF.
• Primera aproximación: axiomas de Armstrong:
Reflexividad: si Y X, entonces X Y
Aumento: si X Y, entonces XZ YZ
Transitividad: si X Y y Y Z, entonces X Z
Cierre de un conjunto de dependencias:
© 2008 Grupo Kybele 45 45
Cierre de un Descriptor (II)
• Podemos calcular DF+ aplicando los axiomas
• Calcular el cierre de un subconjunto tal que X sea
implicante: cierre transitivo de un descriptor X de R
respecto al conjunto de dependencias DF, (X+ DF)
• Dado R(A, DF), se define X+DF como un subconjunto de
los atributos de A tales que X X+DF DF+, siendo X+
DF
máximo en el sentido de que la adición de cualquier
atributo vulneraría la condición anterior
• Consecuencias: cálculo de SK (superclave) y K (clave)
• Algoritmo de Ullman
© 2008 Grupo Kybele 46 46
Ejemplo: Cierre Transitivo de un Descriptor
Sea R (A, B, C, D, E, F, DF), donde DF=A B, B
A, C A, D C, (E, C) D, A F, C F
Hallar el cierre del descriptor (E, C) E, C E, C
E, C E, C, D
E, C E, C, D, A
E, C E, C, D, A, B
E, C E, C, D, A, B, F
Por tanto,
(E, C)+ = E, C, D, A, B, F
© 2008 Grupo Kybele 47 47
Equivalencia de conjuntos de DF
Dado DF, X Y DF+ sii Y X+DF
DF1 y DF2 son equivalentes si DF+1 = DF+
2.
Si para toda dependencia X YDF2 se cumple que Y
X+DF1, entonces toda dependencia de DF2 está en DF1 y
por tanto DF1 es un recubrimiento de DF2
Si para toda dependencia Z WDF1 se cumple que W
Z+DF2, entonces toda dependencia de DF1 está en DF2 y
por tanto DF2 es un recubrimiento de DF1 está
Si se cumplen ambas condiciones, DF1 y DF2 son
mutuamente recubrimientos, luego son equivalentes
© 2008 Grupo Kybele 48 48
Contenido
Introducción
Normalización de Relaciones
• Dependencias y cálculo del cierre de un
descriptor.
• Cálculo del recubrimiento minimal.
• Cálculo de las claves candidatas
• Formas Normales
• Métodos de descomposición y síntesis
Bibliografía
© 2008 Grupo Kybele 49 49
Cálculo del Recubrimiento Minimal
Un conjunto de dependencias es mínimo, y se denota ,
cuando se cumplen las siguientes condiciones:
a) Todas son dependencias son elementales (plenas, no triviales y con
un único atributo implicado)
b) No existen atributos extraños. A es extraño en sí,
c) No existe en la relación ninguna dependencia redúndate.
Se pueden obtener varios de conjuntos de dependencias mínimos
válidos
mDEP
}),{},,,({ CABCACBAR
}),,{},,,({ CACBBACBAR
YX
YAX )(
© 2008 Grupo Kybele 50 50
Contenido
Introducción
Normalización de Relaciones
• Dependencias y cálculo del cierre de un
descriptor.
• Cálculo del recubrimiento minimal.
• Cálculo de las claves candidatas
• Formas Normales
• Métodos de descomposición y síntesis
Bibliografía
© 2008 Grupo Kybele 51 51
Cálculo de Claves Candidatas
Dado un esquema de relación se denomina superclave de la
relación R a un conjunto no vacio de atributos perteneciente de A, tal
que estos atributos determinan a todo el conjunto A, es decir, que el
cierre transitivo de ese conjunto de atributos sea todo A
El cierre transitivo de X se define como el conjunto de atributos
determinados por X aplicando los axiomas de Armstrong, denotado.
Ejemplo:
),( DEPAR
X
}{
}{
},{
},,,{
});,}{,,,({
DD
CC
CBB
DCBAA
CBDBADCBAR
© 2008 Grupo Kybele 52 52
Cálculo de Claves Candidatas (II)
Se denomina clave candidata (CC) de una relación a una superclave tal
que cumple que ningún subconjunto de la misma determina a todo A
Ejemplo:
CC ya que determina a todos los atributos
No es CC, aunque determina a todos los atributos, porque el
subconjunto {A} determina a todos los atributos.
Atributos Principales y No Principales
• AP: Cuando forma parte de laguna de las claves candidatas de la
relación.
• ANP: Cuando no forma parte de ninguna de las claves candidatas
},{
}{
AB
A
© 2008 Grupo Kybele 53 53
Contenido
Introducción
Normalización de Relaciones
• Dependencias y cálculo del cierre de un
descriptor.
• Cálculo del recubrimiento minimal.
• Cálculo de las claves candidatas
• Formas Normales
• Métodos de descomposición y síntesis
Bibliografía
© 2008 Grupo Kybele 54
Esquemas en 1FN
Esquemas en 2FN
Esquemas en 3FN
Esquemas en FNBC
Esquemas en 4FN
Esquemas en 5FN
Formas Normales
© 2008 Grupo Kybele 55 55
1FN. Primera Forma Normal
Condiciones:
• Cada atributo solo toma un valor del dominio. No existen grupos
repetidos
Ejemplo:
La primera forma normal es una restricción inherente al modelo
relacional, por lo que su cumplimiento es obligatorio para toda
relación
Nombre Titulaciones
Miguel Informática
Física
Vanesa E. Infantil
Nombre Titulaciones
Miguel Informática
Miguel Física
Vanesa E. Infantil
© 2008 Grupo Kybele 56 56
2FN. Segunda Forma Normal
Condiciones:
• Se encuentra en 1FN
• Cada atributo no principal (ANP) tiene dependencia funcional
completa respecto de alguna de las claves.
Ejemplo:
}}{{:
}}{{:
:},{
});,{},,,,({
DCANP
BAAP
CCBA
DACBADCBAR
}){},,({2
}),{},,,({1
DADAR
CBACBAR
NO ESTÁ EN 2FN ESTÁ EN 2FN
© 2008 Grupo Kybele 57 57
3FN. Tercera Forma Normal
Condiciones:
• Se encuentra en 2FN
• No existe ningún atributo no principal (ANP) que dependa
transitivamente de alguna clave de R.
Ejemplo:
}}{{:
}{:
:}{
});{},,,({
CBANP
AAP
CCA
CBBACBAR
NO ESTÁ EN 3FN
}){},,({2
}){},,({1
CBCBR
BABAR
ESTÁ EN 3FN
© 2008 Grupo Kybele 58 58
FNBC. Forma Normal Boyce-Codd
Condiciones:
• Se encuentra en 3FN
• Si y solo si todo determinante es clave candidata.
Ejemplo:
CCCBCA
NoCCBA
DCABADCBAR
:},{},,{
:}{},{
}),;{},,,,({
NO ESTÁ EN FNBC ESTÁ EN FNBC
}),{},,,({2
}){},,({1
DCADCAR
BABAR
© 2008 Grupo Kybele 59 59
4FN. Cuarta Forma Normal
Condiciones:
• Si y solo si las únicas dependencias multivaluadas no triviales son
aquellas en las que una clave multidetermina un atributo.
Ejemplo:
});{},,,({ CABACBAR
NO ESTÁ EN 4FN ESTÁ EN 4FN
}){},,({2
}){},,({1
CACAR
BABAR
C no participa B no participa
© 2008 Grupo Kybele 60 60
5FN. Quinta Forma Normal
Condiciones:
• Se encuentra en 4FN.
• Toda dependencia de combinación está implicada por una clave
candidata.
Definición:
“Una relación se encuentra en 5FN si y solo sí toda
dependencia funcional, multivaluada o de combinación
no trivial es consecuencia de las claves candidatas”
© 2008 Grupo Kybele 61 61
Contenido
Introducción
Normalización de Relaciones
• Dependencias y cálculo del cierre de un
descriptor.
• Cálculo del recubrimiento minimal.
• Cálculo de las claves candidatas
• Formas Normales
• Métodos de descomposición y síntesis
Bibliografía
© 2008 Grupo Kybele 62 62
Métodos de Descomposición y Síntesis
Objetivo:
• Transformar, por medio de proyecciones, un esquema de
relación en un conjunto de n esquemas resultantes.
• Los n esquemas resultantes serán equivalentes a la
relación inicial y tendrán menor redundancia en los datos.
A tener en cuenta:
• Conservación de la información.
• Conservación de las dependencias.
• Mínimas redundancias en los datos.
• Avanzar en las formas normales.
© 2008 Grupo Kybele 63 63
Proceso de Descomposición
1) Hallar un recubrimiento minimal DFm
2) Determinar la(s) clave(s), AP y ANP
3) Identificar la FN en que se encuentra la relación
Si se desea llegar a una forma normal más avanzada:
4) Agrupar las DF que tengan el mismo implicante y/o equivalente
5) Obtener proyecciones independientes sobre cada una de las DF
(o de los grupos), de forma que los atributos que aparecen en la
DF constituyen una nueva relación y los ANP, así como la DF,
desaparezcan de la relación origen.
6) Proseguir esta descomposición repitiendo el paso 5 hasta que
no pueda continuarse porque todas las DF estén implicadas por
una clave.
Nos aseguramos relaciones en 5FN
© 2008 Grupo Kybele 64 64
Ejemplo: Proceso de Descomposición
Claves:{A,B,D}
1FN
Claves:{A,C}
5FN
Claves:{A,B,D}
1FN
},{
},,{
FDADEP
FDAAT
Claves:{A,D}
5FN Claves:{A,B}
5FN
R
R2
R1’ R1
R3
},{
},,{
CBADEP
CBAAT
},;,{
},,,,{
FDACBADEP
FDCBAAT
},{
},,{
ECADEP
ECAAT
},;,;,{
},,,,,{
}){},({
ECAFDACBADEP
FEDCBAAT
DEPATR
m
m
© 2008 Grupo Kybele 65 65
Proceso de Síntesis
1) Hallar un recubrimiento minimal DFm
2) Agrupar las DF en particiones que tienen el mismo
implicante, uniendo los atributos equivalentes
3) Crear un esquema Ri para cada partición, que tenga como
atributos todos los que participen en las dependencias y
como grupo de dependencias las del grupo.
4) Si existen atributos que no son implicantes ni implicados ,
formar un esquema de relación con estos sin dependencias
o alternativamente crear un esquema con la clave de la
relación sin dependencias.
Nos aseguramos relaciones en FNBC
© 2008 Grupo Kybele 66 66
Ejemplo: Proceso de Síntesis
},;,;,{
},,,,,{
}){},({
ECAFDACBADEP
FEDCBAAT
DEPATR
m
m
Se crea un nuevo esquema de relación por cada conjunto de
dependencias que poseen el mismo implicante
}),{},,,({1 CBACBAR
}),{},,,({2 FDAFDAR
}),{},,,({3 ECAECAR
© 2008 Grupo Kybele 67 67
Contenido
Introducción
Normalización de Relaciones
• Dependencias y cálculo del cierre de un
descriptor.
• Cálculo del recubrimiento minimal.
• Cálculo de las claves candidatas
• Formas Normales
• Métodos de descomposición y síntesis
Bibliografía
© 2008 Grupo Kybele 68
Date, C. J. “An Introduction to Database Systems” (8ª
edición), Addison-Wesley, 2004. (Existe traducción al
castellano de la 7ª Ed.)
Piattini, M., Marcos, E., Calero, C. y Vela, B.
Tecnología y Diseño de Bases de Datos, Ed.: RA-
MA, 2006
de Miguel A., et al. Diseño de Bases de Datos.
Problemas Resueltos. Ed.: RA-MA, 2001
Bibliografía
TEMA 14
DISEÑO LÓGICO ESPECÍFICO
© 2008 Grupo Kybele 70
ELS ELE
MLE
Diseño lógico específico Diseño físico
EI
Requisitos , objetivos,
características SGBD, SO,
hw
Introducción
© 2008 Grupo Kybele 71
• Obtención del Esquema Lógico Específico a partir del Esquema Lógico Estándar, teniendo en cuenta el Modelo Lógico Específico, descrito en el LDD del producto
• Estudio del SGBD: – Grado de soporte del Modelo Lógico Estándar
– Adaptación del Esquema Lógico Estándar a
características del Modelo Lógico Específico
– Definición del Esquema Lógico Específico en la
sintaxis del SGBD
Diseño lógico específico
© 2008 Grupo Kybele 72
• Correspondencia entre conceptos del Modelo Lógico Estándar y Modelo Lógico Específico:
– Soporta los conceptos del Modelo Lógico Estándar
– No soporta ciertos conceptos:
• Utilizar conceptos propios
• Restricciones en los programas (IR,...)
Diseño lógico específico
© 2008 Grupo Kybele 73
• Dominios – Casi ningún producto los soporta
– Posible simulación, tabla, reglas, disparadores
ESTADOS CIVILES
EST_CIVIL
S
C
V
D
UPDATE
DELETE
INSERT
NO PERMITIDO
Diseño lógico específico
© 2008 Grupo Kybele 74
• Claves primarias
– Algunos productos sólo admiten la sintaxis
(especificación de índices únicos y no nulos)
– Si el producto no lo admite:
• Especificar cada campo como no nulo
• Definición de índice único
• Asegurar la existencia del índice
• Inclusión de comentarios en el catálogo si no se
permite la sintaxis
Diseño lógico específico
© 2008 Grupo Kybele 75
• Claves ajenas – Casi ningún producto la recoge en su totalidad
– Si el producto no lo recoge:
• Introducir restricción como requisito de
especificación de los programas
• Si los nulos no permitidos, especificar los campos
como NOT NULL
• Inclusión de comentarios en el catálogo si no se
permite la sintaxis
• Utilizar los mecanismos de seguridad del SGBD
• Programa ejecutado periódicamente
• Definición de índices u otros mecanismos por
motivos de eficiencia
Diseño lógico específico
© 2008 Grupo Kybele 76
• Otros conceptos del modelo relacional:
– Utilización de disparadores o procedimientos
– A ser posible, en el propio diccionario
Diseño lógico específico