76
DISEÑO LÓGICO

TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

DISEÑO LÓGICO

Page 2: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 3: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

TEMA 12

DISEÑO LÓGICO ESTÁNDAR

Page 4: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 5: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 6: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 2008 Grupo Kybele 6

Metodología propuesta

MUNDO REAL

UD

DISEÑADOR

PROFESOR

ALUMNO

Imparte

clase

ESQUEMA

CONCEPTUAL

ESQUEMA LOGICO

(Relacional)

Introducción

Page 7: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 8: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 9: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 10: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 11: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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)

Page 12: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 13: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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)

Page 14: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 15: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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)

Page 16: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 2008 Grupo Kybele 16

PROFESOR DEPARTAMENTO pertenece

Cod_Prof Cod_Dep

TEMA

consta

(0,n)

(1,1) (0,n)

(1,1)

Ejemplo

Page 17: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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)

Page 18: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 19: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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)

Page 20: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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)

Page 21: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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)

Page 22: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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)

Page 23: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 24: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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)

Page 25: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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)

Page 26: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

TEMA 13

NORMALIZACIÓN

Page 27: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 2008 Grupo Kybele 27 27

Contenido

Introducción

Normalización de Relaciones

Bibliografía

Page 28: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 29: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 30: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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?

Page 31: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 32: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 33: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 34: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 35: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 36: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 37: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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.

Page 38: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 39: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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…

Page 40: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 41: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

__

_

__

)},,_,_({

Page 42: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 43: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 44: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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:

Page 45: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 46: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 47: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 48: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 49: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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 )(

Page 50: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 51: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 52: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 53: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 54: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 2008 Grupo Kybele 54

Esquemas en 1FN

Esquemas en 2FN

Esquemas en 3FN

Esquemas en FNBC

Esquemas en 4FN

Esquemas en 5FN

Formas Normales

Page 55: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 56: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 57: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 58: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 59: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 60: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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”

Page 61: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 62: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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.

Page 63: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 64: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 65: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 66: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 67: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 68: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 69: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

TEMA 14

DISEÑO LÓGICO ESPECÍFICO

Page 70: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 71: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 72: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 73: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 74: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 75: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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

Page 76: TEMA 11. DISEÑO LÓGICO ESTÁNDAR · 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

© 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