diseño lógico estándar · todo tipo de entidad se convierte en una relación. todo tipo de...

23
Diseño Lógico Estándar Diseño Lógico Tema 9

Upload: others

Post on 04-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diseño Lógico Estándar · 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

Diseño Lógico Estándar

Diseño Lógico

Tema 9

Page 2: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

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 3: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

Índice

1. Introducción

2. Etapas del Diseño Lógico

3. Reglas de Transformación

Modelo Básico

Extensiones

Page 4: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

Metodología propuesta

MUNDO REAL

UD

DISEÑADOR

PROFESOR

ALUMNO

Imparte

clase

ESQUEMA

CONCEPTUAL

ESQUEMA LOGICO

(Relacional)

Introducción

Page 5: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

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 6: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

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 7: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

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 8: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

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 9: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

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 10: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

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 11: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

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 12: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

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 13: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

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 14: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

PROFESOR DEPARTAMENTO pertenece

Cod_Prof Cod_Dep

TEMA

consta

(0,n)

(1,1) (0,n)

(1,1)

Ejemplo

Page 15: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

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 16: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

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 17: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

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 18: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

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 19: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

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 20: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

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 21: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

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 22: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

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 23: Diseño Lógico Estándar · 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

Diseño de Bases de Datos y Seguridad de la Información - 2010 www.kybele.urjc.es

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)