diseño lógico estándar - kybele.etsii.urjc.es · diseño de bases de datos y seguridad de la...

24
Diseño Lógico Estándar Diseño Lógico Tema 12

Upload: buitu

Post on 26-Sep-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diseño Lógico Estándar - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

Diseño Lógico Estándar

Diseño Lógico

Tema 12

Page 2: Diseño Lógico Estándar - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

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

Tecnología y Diseño de Bases de Datos M. Piattini, E. Marcos, C. Calero y B. VelaEd.: 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 - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

Diseño de Bases de Datos y Seguridad de la Información - 2010www.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 - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

Diseño de Bases de Datos y Seguridad de la Información - 2010www.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 - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

Diseño de Bases de Datos y Seguridad de la Información - 2010www.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 - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

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

Diseño Lógico Estándar Esquema conceptual + Requisitos del proceso y entorno

Esquema Lógico eStándar (ELS) basado en un Modelo Lógico eStándar (MLS) correspondiente al SGBD.

El MLS será el mismo modelo de datos soportado por el SGBD que se vaya a utilizar, pero sin las restricciones ligadas a ningún producto comercial.

En nuestro caso el MLS es el modelo relacional. Otros ejemplos de MLS son: Jerárquico, Codasyl, …

El ELS se describirá utilizando un lenguaje estándar. En nuestro caso se usa SQL.

Etapas del Diseño Lógico

Page 7: Diseño Lógico Estándar - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

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

Diseño Lógico Específico Esquema Lógico eStándar (ELS) + Modelo Lógico

Específico (MLE) del SGBD Esquema Lógico Específico (ELE).

ELE será descrito en el lenguaje de definición de datos (LDD) del producto comercial que estemos utilizando.

En nuestro caso el producto comercial es Oracle.

Etapas del Diseño Lógico

Page 8: Diseño Lógico Estándar - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

Diseño de Bases de Datos y Seguridad de la Información - 2010www.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 unarelación.

Para todo tipo de interrelación 1:N se realiza lo que sedenomina propagación de clave (regla general), o secrea 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 9: Diseño Lógico Estándar - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

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

Cod_dep

DEPARTAMENTO PROFESOR CURSOPertenece Imparte

Cod_prof Cod_curso

1:N N:M

CURSO (Cod_curso, Nombre, Num_horas)

Clave ajena

Clave ajena

Clave ajena

Ejemplo

PROFESOR (Cod_prof, Nombre_p, ..., Cod_dep)

DEPARTAMENTO (Cod_dep, Nombre, ...)

IMPARTE (Cod_curso, cod_prof)

Page 10: Diseño Lógico Estándar - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

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

Dominios DominiosCREATE DOMAIN Estados_Civiles AS CHAR(1)

CHECK (VALUE IN ('S', 'C', 'V', 'D'))

PERO: Los productos no suelen tener dominios.

Entidades RelacionesCREATE TABLE Profesor ( …)

Atributos de entidades Columnas de la relaciónIdentificador Principal Clave Primaria

Identificador Alternativo UNIQUE, ¿NOT NULL?

No identificadores columnas, ¿NOT NULL?

Reglas de TransformaciónModelo Básico (I)

Page 11: Diseño Lógico Estándar - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

Diseño de Bases de Datos y Seguridad de la Información - 2010www.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));

PROFESORCod_prof

NombreDNI

MateriaTeléfonoDirección

PROFESOR (Cod_prof, Nombre, DNI, Dirección, Teléfono, Materia)

Ejemplo

Page 12: Diseño Lógico Estándar - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

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

Interrelaciones:

según tipo de correspondencia y otros aspectossemánticos

N:M RelaciónClave 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 (noSQL92)

Reglas de TransformaciónModelo Básico (II)

Page 13: Diseño Lógico Estándar - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

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

CREATE TABLE trabaja(

Cod_Empl Codigos_E

Cod_Proy Codigos_P,

…. ,

PRIMARY KEY (Cod_Empl, Cod_Proy),

FOREIGN KEY (Cod_Empl)REFERENCES Empleado

ON DELETE CASCADE

ON UPDATE CASCADE,

FOREIGN KEY (Cod_Proy) REFERENCESProyecto

ON DELETE CASCADE

ON UPDATE CASCADE));EMPLEADO

PROYECTO

trabaja

Cod_Empl

Cod_Proy

(1,n)

(1,n)

N:M EMPLEADO (Cod_Empl, ...)

PROYECTO (Cod_Proy, ...)

TRABAJA (Cod_Proy, Cod_Empl, ...)

B:C, M:CB:C, M:C

Ejemplo

Page 14: Diseño Lógico Estándar - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

Diseño de Bases de Datos y Seguridad de la Información - 2010www.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á enuna de tipo N:M

Cuando la interrelación tiene atributos propios y no deseamospropagarlos (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 15: Diseño Lógico Estándar - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

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

JUGADOR EQUIPOpertenece

Cod_Jugador Cod_Equipo

TEMA

consta

(0,n)

(1,1)(0,n)

(1,1)

Ejemplo

Page 16: Diseño Lógico Estándar - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

Diseño de Bases de Datos y Seguridad de la Información - 2010www.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 captandomás semántica

C. (1,1), (1,1) propagar la clave, o incluso las dos

Reglas de TransformaciónModelo Básico (IV)

Page 17: Diseño Lógico Estándar - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

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

HOMBRE MUJERMatrimonio

Cod_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 18: Diseño Lógico Estándar - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

Diseño de Bases de Datos y Seguridad de la Información - 2010www.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ónModelo Básico (V)

Page 19: Diseño Lógico Estándar - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

Diseño de Bases de Datos y Seguridad de la Información - 2010www.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 concatenanlas claves

Restricciones de interrelaciones (exclusión, inclusión)

Checks, aserciones...

Reglas de TransformaciónExtensiones (I)

Page 20: Diseño Lógico Estándar - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

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

Tipos y subtipos Opción a:

Englobar tipos y subtipos en una única relación. Subtipos similares enatributos e interrelaciones.

Atributo discriminante: estudiar su comportamiento en caso detotalidad y exclusividad

Mayor eficiencia

Opción b:Tantas relaciones como tipos y subtipos. Múltiples atributos einterrelaciones.

Estudio de las restricciones

Menos eficiente que opción a), pero conserva más la semántica

Reglas de TransformaciónExtensiones (II)

Page 21: Diseño Lógico Estándar - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

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

Tipos y subtipos Opción c:

Relaciones distintas por cada subtipo que incluya los atributospropios y comunes

Estudio de restricciones

Mayor eficiencia ante determinadas consultas (por ej., en el caso demuchos accesos a atributos comunes). Posibles redundancias en casode solapamiento. ¿En el caso de jerarquía parcial?

Reglas de TransformaciónExtensiones (III)

Page 22: Diseño Lógico Estándar - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

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

Documento

LibroArtí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 23: Diseño Lógico Estándar - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

Diseño de Bases de Datos y Seguridad de la Información - 2010www.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ónExtensiones (IV)

Page 24: Diseño Lógico Estándar - kybele.etsii.urjc.es · Diseño de Bases de Datos y Seguridad de la Información - 2010 ... cardinalidad mínima 0 Reglas de Transformación Modelo Básico

Diseño de Bases de Datos y Seguridad de la Información - 2010www.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ónExtensiones (V)