Diseño Lógico Estándar
Diseño Lógico
Tema 9
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
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
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
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
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
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
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
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)
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
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)
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
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)
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
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)
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
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)
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)
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)
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)
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
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)
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)
Top Related