1.- Etapas del diseño lógico Diseño lógico estándar Diseño lógico específico 2.- Transformación del esquema conceptual al lógico estándar



Documentos relacionados
TRANSFORMACIÓN DE ESQUEMAS E/R A ESQUEMAS RELACIONALES

2 Diseño lógico: Modelo Relacional

UNIVERSIDAD NACIONAL DE ASUNCION FACULTAD POLITÉCNICA CARRERA: LCIK MATERIA: Bases de Datos I Prof: Lic. Lilian Riveros Unidad 2: Modelo Relacional

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

Cuando el pedido se entrega al cliente, se genera la factura correspondiente.

1. Introducción: Qué es un Modelo de Datos? 2. Estática del modelo de datos relacional

En primer lugar se obtiene el modelo lógico de alto nivel, independiente del modelo de base de datos y los objetivos a conseguir son:

Transformación de. Esquemas. Entidad-Interrelación a. Esquemas Relacionales

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

- Bases de Datos - - Diseño Físico - Luis D. García

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

Teórico 9 Del MER al MR

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Del MER al MR. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

BASES DE DATOS. Diseño Conceptual, Lógico y Físico UCLM- E.S. de Informática Coral Calero, Marcela Genero, Francisco Ruiz

Tema 5: Teoría de diseño de Bases de Datos Relacionales.

Base de Datos. Profesor: José Miguel Rubio L. P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE ING.

BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL)

Restricciones de Integridad

Bases de Datos. Sistemas de Gestión de Bases de Datos

TEMA 6. DISEÑO CONCEPTUAL DE BASES DE DATOS. MODELO ENTIDAD RELACIÓN.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

OPERACIONES CON BASES DE DATOS OFIMÁTICAS Y CORPORATIVAS CURSO: IES GONZALO NAZARENO

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

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

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Bases de datos relacionales y el modelo entidad-relación

Diseño Estructurado de Datos

Temario. Índices simples Árboles B Hashing

UNIVERSIDAD NACIONAL DE TRUJILLO ESCUELA DE INFORMATICA BASE DE DATOS

Repaso de Conceptos Básicos de Bases de Datos

EL MODELO ENTIDAD-RELACIÓN:

Unidad II: Diseño de Bases de Datos y el modelo E-R. 2.1 El Proceso de Diseño

Temario Curso Bases de Datos

Tema 6: Diseño de bases de datos relacionales.

Unidad 2 Lenguaje de Definición de Datos (DDL) 2.1 Creación de base de datos. 2.2 Creación de tablas.

UNIDAD 3. MODELO RELACIONAL

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

4 Integridad de datos relacional: llaves candidatas y temas relacionados.

Tema 3 Modelo relacional

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Diseño Lógico. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

SE PIDE: 1. Suponiendo que partimos del siguiente grafo relacional que recoge parte de los supuestos anteriores,

3. Modelo relacional: Estructura e integridad.

Lenguaje para descripción de datos

PRÁCTICA B2. Definición y modificación de datos en SQL

Base de datos relacional

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Las tres reglas básicas para convertir un esquema en el modelo E/R al relacional son las siguientes:

A.1. Definiciones de datos en SQL

TEMA 4. Diseño Lógico de bases de datos relacionales.

Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD)

Conceptos Avanzados de Bases de datos

Consultas con combinaciones

BASES DE DATOS - SQL. Javier Enciso

TEST (10 preguntas, respuesta única, 2.0 puntos, aciertos +0.20, fallos 0.05)

PARTE II. MODELO RELACIONAL. ESTÁTICA

T12 Vistas y tablas temporales

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

El modelo relacional y el álgebra relacional

Integridad y Seguridad. Integridad y Seguridad. Restricción de Dominio. Protección. Índice. create domain. Dominios

EJERCICIOS MODELO RELACIONAL

4.Diseño de Bases de Datos (I)

rg.o cm a Diseñ e o o l óg ó ico c l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s s r e r la l c a i c o i nal a e l s

Capítulo VI. Diagramas de Entidad Relación

Sistemas de Bases de Datos I. Modelo Lógico Modelo Relacional

Principios de Bases de Datos Relacionales, Normalización. Unidad 4

Aplicaciones de las vistas Concepto de vista Vistas en SQL Vistas en SQL.

Bases de Datos Modelo Relacional

Conceptos generales sobre bases de datos relacionales y MS-Access

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

Oracle 12c DISEÑO Y PROGRAMACIÓN

Microsoft SQL Server 2005

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES

Base de Datos Práctica 1.

CURSO DE SQL SERVER 2005

Modelado de datos. Bibliografía. Representación de la información Modelos de datos Modelado semántico

Tema 1: Introducción


Práctica 2. Academia Bristol

IES Politécnico Estella

M III ABSTRACCIÓN Y CLASIFICACIÓN

Universidad Nacional del Sur Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos 2do. Cuatrimestre de 2004

MINISTERIO DE EDUCACIÓN DIRECCIÓN DE EDUCACIÓN TÉCNICA Y PROFESIONAL PROGRAMA DE LA ASIGNATURA BASE DE DATOS ESPECIALIDAD INFORMÁTICA.

Modelo Entidad-Relación

ADMINISTRACIÓN DE BASE DE DATOS

TEMA 5.- ESTRUCTURA DE DATOS RELACIONAL.

Conceptos básicos Oracle 10g Introducción - Administración de Oracle - Orasite.com

Diseño de bases de datos Diapositiva 1

El modelo relacional

Gestión de la Información

Práctica 3. Consultas SQL

Capítulo III: Traducción ER-Relacional

Tema 6. Restricciones a la Base de Datos: Integridad y seguridad

Bibliografía. Fundamentos de Sistemas de Bases de Datos (3. edición) Elmasri, Navathe Addisson Wesley 2002

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

Trabajos de Ampliación. Bases de datos NoSQL.

Paso del E-R a tablas

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas.

Bases de Datos Tema 4 Modelo Entidad/Interrelación (ERM de Chen)

CONSULTAS BASICAS EN SQL SERVER

Transcripción:

1.- Etapas del diseño lógico Diseño lógico estándar Diseño lógico específico 2.- Transformación del esquema conceptual al lógico estándar 3.- 4.- Reglas concernientes a las extensiones del modelo E/R Transformación de dependencias en identificación y en existencia Transformación de interrelaciones exclusivas Transformación de tipos y subtipos Transformación de la dimensión temporal Transformación de atributos derivados Transformación de interrelaciones de grado superior a dos

Etapas del diseño lógico A) Diseño lógico estándar - Elaboración del esquema lógico estándar (ELS) que se apoya en el modelo lógico estándar (MLS) -Relacional, Codasyl, Jerárquico- - El ELS se describirá utilizando el lenguaje estándar, si existe, del modelo de datos correspondiente (v.g. el SQL92) B) Diseño lógico específico - Con el ELS, y teniendo en cuenta el modelo lógico específico (MLE) propio del SGBD, se elabora el esquema lógico específico (ELE), que será descrito en el LDD del producto comercial que estemos utilizand.o

Etapas del diseño lógico ENTRADAS ESQUEMA CONCEPTUAL REQUISITOS DE LOS PROCESOS Y EL ENTORNO Diseño lógico ESPECIFICACIONES PARA LOS PROCESOS ESQUEMA LÓGICO ESTANDAR ESQUEMA LÓGICO ESPECÍFICO MODELO LÓGICO ESTANDAR MODELO LÓGICO ESPECÍFICO

Transformación del esquema conceptual al lógico éstandar El paso de un esquema en el modelo E/R al relacional se basa en los principios siguientes: Todo tipo de entidad se convierte en una relación Todo tipo de interrelación N:M se transforma en una relación Todo tipo de interrelación 1:N da lugar: al fenómeno de propagación de clave a una nueva relación La pérdida de semántica que se pueda apreciar no implica un peligro para la integridad de la base de datos, ya que se definen restricciones de integridad referencial que aseguran la conservación de la misma.

Transformación del esquema conceptual al lógico éstandar Nombre_e 1:N Código N:M Nombre_a EDITORIAL Edita LIBRO Escribe AUTOR EDITORIAL (Nombre_e, Dirección, Ciudad, País) AUTOR (Nombre_a, Nacionalidad, Institución) LIBRO (Código, Título, Idioma,..., Nombre_e) ESCRIBE (Nombre_a, Código) Ejemplo de paso del ME/R al modelo relacional

1. Transformación de Dominios ME/R Tipo_docu MR CREATE DOMAIN Tipo_Docu AS CHAR(8) CHECK (VALUE IN ( Libros, Artículo, Otros )) EXTENSIÓN CREATE DOMAIN Tipo_Docu AS CHAR(8) INTENSIÓN *El modelo lógico estándar admite dominios

2. Transformación de Entidades Cada tipo de entidad se transforma en una relación El modelo lógico estándar posee el objeto RELACION o TABLA mediante el cual representamos las entidades. Para su definición disponemos en el SQL de la sentencia CREATE TABLE

3. Transformación de Atributos de Entidades Un atributo de una entidad se transforma en un atributo (columna) de la relación en la cual se ha transformado la entidad; si el atributo estaba definido sobre un dominio, en el modelo relacional queda también definido sobre el mismo dominio (con la excepciónde los atributos multivaluados). 3.1.- Identificador principal (IP): Se transforma en la clave primaria de la relación. El lenguaje lógico estándar (SQL 92 en nuestro caso) recoge este concepto con la cláusula PRIMARY KEY. 3.2.- Identificadores alternativos (IA): Se transforman en claves alternativas en el modelo relacional. En el LLE se recoge por medio de la cláusula UNIQUE. 3.3.- Atributos obligatorios: Se transforman en una columna de la relación en la cual se ha transformado la entidad, no admitiendo valores nulos (NOT NULL). 3.4.- Atributos multivaluados: Se crea una nueva relación formada con la clave primaria de la entidad y el atributo multivaluado, siendo ambos clave primaria de la nueva relación (hay otras posibilidades.

ME/R Domicilio Teléfono Tipo SOCIO Cod_socio Nombre Apellido MR SOCIO Cod_socio Nombre Apellido Domicilio Teléfono Tipo 00001 00002 00003 00004.. Susana Adolfo Antonio Miguel.. Hidalgo Sánchez Martín García.. Rios Ros 22 San Ben 44 Ppe. Ver. 66 De María 60.. 4138060 4131419 4139865 7567676.. I P A I.. 03456 Elena Martín Goya 445 9192919 I Clave Primaria SOCIO (Cod_socio, Nombre, Apellido, Domicilio, Teléfono, Tipo) Ejemplo de transformación de una entidad

Domicilio Teléfono Fecha_nac EMPLEADO Cod_emp Cargo Idioma EMPLEADO (Cod_emp, Domicilio, Cargo, Idioma, Fecha_nac) TELEFONOS (Cod_emp, Teléfono) admite valores nulos Ejemplo de transformación de una entidad con atributos opcionales y multivaluados

4. Transformación de Interrelaciones: Interrelaciones N:M: Un tipo de interrelación N:M se transforma en una relación que tendrá como clave primaria la concatenación de los IP de los tipos de entidad que asocia (Hay cierta pérdida de semántica). Los atributos que forman la clave primaria de esta relación son clave ajena respecto a cada una de las tablas donde este atributo es clave primaria. Se especifica en el LLE con la cláusula FOREIGN KEY Hay que estudiar que ocurre en los casos de borrado y modificación de la clave primaria referenciada. Las opciones son: restringido (RESTRICT) (lo toma por omisión) puesta a nulo (SET NULL) puesta a valor por defecto (SET DEFAULT) operación en cascada (CASCADE)

4. Transformación de Interrelaciones ME/R Cod_autor Escribe Cod_docu (1,N) N:M (0,N) AUTOR DOCUMENTO MR ESCRIBE (Cod_autor, Cod_docu,...) AUTOR (Cod_autor,...) DOCUMENTO (Cod_docu,...) CREATE TABLE ESCRIBE (Cod_docu lsbns, Cod_autor Codigos_A,... PRIMARY KEY (Cod_docu,Cod_autor) FOREIGN KEY (Cod_docu) REFERENCES DOCUMENTO ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (Cod_autor) REFERENCES AUTOR ON DELETE CASCADE ON UPDATE CASCADE Transformación de una interrelación N:M

4. Transformación de Interrelaciones Qué ocurre con las cardinalidades mínimas de 1? Qué hay que controlar al insertar, borrar y modificar en AUTOR, ESCRIBE y DOCUMENTO? PROCEDIMIENTOS ALMACENADOS Y DISPARADORES Ejemplo: Si insertamos en DOCUMENTO hay que insertar una tupla en ESCRIBE. Se necesita un disparador con la Transacción: Insertar DOCUMENTO Preguntar el AUTOR del documento (Cod_autor) Si Cod_autor=NULL Abortar transacción Insertar ESCRIBE (Cod_autor, Cod_docu) y si se borra de ESCRIBE?

4. Transformación de Interrelaciones: Interrelaciones 1:N A) Propagar el AIP del tipo de entidad que tiene card. máx. 1 al que tiene N. ME/R ( P érdida de semántica ---> desaparece la interrelación ) (0,N) 1:N (1,1) LIBRO Pertenece EDITORIAL Título Cod_libro Nombre Cod_editorial MR LIBRO (Cod_libro, Título,..., Cod_editorial) EDITORIAL (Cod_editorial, Nombre,...)

4. Transformación de Interrelaciones: Interrelaciones 1:N B) Transformarla en una relación, como si se tratara de una interrelación N:M ME/R Título LIBRO Cod_libro MR (1,n) Edita 1:N LIBRO (Cod_libro...) EDITORIAL (Cod_editorial,...) (0,1) EDITORIAL Nombre Cod_editorial Cuando: EDITA (Cod_libro,Cod_editorial) 1) El número de ocurrencias interrelacionadas de la entidad que propaga su clave es pequeño (existen muchos valores nulos) 2) Cuando se prevé que dicha interrelación, en un futuro, se convertirá en una de tipo N:M 3) Cuando la interrelación tiene atributos propios

4. Transformación de Interrelaciones: Interrelaciones 1:N MR (0,N) SOLUCIÓN A) TEMA Consta (0,1) 1:N TEMA (Cod_tema,..., Cod_tema_sup) CREATE TABLE CONSTA (Cod_Tema Codigos, Cod_Tema_Sup Codigos, PRIMARY KEY (Cod_Tema) FOREIGN KEY (Cod_Tema) REFERENCES TEMA ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (Cod_Tema_Sup) REFERENCES TEMA ON DELETE CASCADE ON UPDATE CASCADE SOLUCION B) TEMA( Cod_tema...) CONSTA( Cod_tema,Cod_tema_sup)

4. Transformación de Interrelaciones: Interrelaciones 1:N ME/R MR EDITORIAL Cod_editorial Edita (1,1) 1:N EDITORIAL (Cod_editorial,...) LIBRO (Cod_libro,..., Cod_editorial) LIBRO (0,n) Cod _libro clave ajena NOT NULL Borrado Modificación restringido cascada Transformación de cardinalidades mínimas (1)

4. Transformación de Interrelaciones: Interrelaciones 1:N EDITORIAL Edita ( 1,1) 1:N Cod_editorial EDITORIAL (Cod_editorial,...) LIBRO (Cod_libro,..., Cod_editorial) LIBRO ( 1,n) Cod _libro? clave ajena NOT NULL Borrado Modificación restringido cascada Transformación de cardinalidades mínimas (2)

4. Transformación de Interrelaciones: Interrelaciones 1:1 Una interrelación de tipo 1:1 es un caso particular de una N:M o de una 1:N, por lo que no hay regla fija para la transformación de este tipo de interrelación en el modelo relacional estándar. Dependiendo de : Las cardinalidades mínimas, Recoger mayor semántica, Mantener la integridad, Evitar los valores nulos Motivos de eficiencia Conservar las simetrías naturales Si la interrelación tiene atributos Aplicaremos a) Crear una nueva relación b) Propagar una clave {c) Propagar ambas claves

4. Transformación de Interrelaciones: Interrelaciones 1:1 a) C rear una nueva relac ión ME/R HOMBRE MUJER MR 1:1 (0,1) (0,1) Matrimonio MATRIMONIO (Cod_hombre (1), Cod_mujer (2)* ) HOMBRE (Cod_hombre,...) MUJER(Cod_mujer,...) nulos no permitidos Clave alternativa ( 1)Cod_hombre clave ajena que referencia HOMBRE, borrado y modificación en CASCADA (2)Cod_mujer clave ajena que referencia MUJER, borrado y modificación en CASCADA * La clave primaria puede ser tanto Cod_hombre como Cod_mujer

4. Transformación de Interrelaciones: Interrelaciones 1:1 a) C rear una nueva relac ión * Esta solución puede ser conveniente si las cardinalidades mínimas de ambas entidades son cero a fin de evitar los valores nulos y conservar las simetrías naturales. También puede ser adecuada si la interrelación tiene atributos. * Es poco eficiente en las recuperaciones que impliquen una combinación entre las tres relaciones.

4. Transformación de Interrelaciones: Interrelaciones 1:1 b) Propagar una c lave Si una de las entidades que participa en la interrelación posee cardinalidades (1,1), mientras que en la otra son (0,1), conviene propagar la clave de la entidad con cardinalidades (1,1) a la tabla resultante de la entidad con cardinalidades (0,1) ME/R EMPLEADO DEPARTAMENTO 1:1 (1,1) (0,1) Responsable MR EMPLEADO (Cod_E...) DEPARTAMENTO (Cod_D,...,Cod_E) Cod_E clave ajena referencia a EMPLEADO; borrado Restringido modificación en Cascada nulos no permitidos clave alternativa

4. Transformación de Interrelaciones: Interrelaciones 1:1 b) Propagar una c lave * Se recoge la cardinalidad mínima 1 de EMPLEADO (con nulos no permitidos) * Se pierden las simetrías naturales; así si se desea recuperar los datos del DEPARTAMENTO cuyo responsable es un determinado EMPLEADO (Cod_E = x ), solo hay que hacer una operación de restricción sobre la tabla de DEPARTAMENTO. En cambio, la obtención de los datos de un EMPLEADO que es responsable de un determinado DEPARTAMENTO supone hacer una combinación entre ambas tablas. * Se evitan valores nulos * Es mas eficiente en ciertas recuperaciones

4. Transformación de Interrelaciones: Interrelaciones 1:1 c ) Propagar ambas c laves ME/R A B MR 1:1 (1,1) (1,1) I A (Cod_a,...,Cod_b B (Cod_b,...,Cod_a) nulos no permitidos Clave alternativa nulos no permitidos Clave alternativa Cod_b clave ajena que referencia B, borrado y modificación en CASCADA Cod_a clave ajena que referencia A, borrado y modificación en CASCADA No permitir modificación de claves ajenas Inserción en A o en B con disparadores

4. Transformación de Interrelaciones: Interrelaciones 1:1 c ) Propagar ambas c laves Se pueden recoger las cardinalidades mínimas y mantener la integridad mediante disparadores o mediante la opción diferible. Se conservan simetrías. Eficiencia en la recuperación (menor en la actualización).

4. Transformación de Interrelaciones: Atributos en Interrelaciones ME/R derechos Cod_autor Participación Cod_libro (1,N) AUTOR N:M (0,N) LIBRO MR PARTICIPACIÓN (Cod_autor, cod_libro, derechos) AUTOR (Cod_autor,...) LIBRO (Cod_libro,...)

4. Transformación de Interrelaciones: Atributos en Interrelaciones EJEMPLAR (1,n) Presta (0,n) SOCIO EJEMPLAR ( Cod_ejem, título,...) SOCIO ( Cod_socio, nombre, apellidos,...) Fecha_i Fecha_f PRESTA ( Cod_ejem, cod_socio, Fecha_i, Fecha_f ) Ejemplo de transformación de una interrelación con atributos multivaluados

5. Transformación de restricciones sobre Dominios y Atributos Podemos restringir a un rango determinado los valores de un dominio por medio de la cláusula RANGE BETWEEN Podemos determinar por enumeración los valores que puede tomar una columna en una tabla con la cláusula IN Podemos expresar una condición que debe cumplir un conjunto de atributos con la cláusula CHECK CHECK (Fecha_Ini< Fecha_Fin)

Reglas concernientes a las extensiones del Modelo E/R 1. Transformación de Dependencia en Identificación Utilizamos el mecanismo de propagación de clave ME/R Cod_libro (1,1) (0,N) Num_ejemplar Cod_ejem LIBRO ID tiene EJEMPLAR MR 1:N LIBRO (Cod_libro,,...) EJEMPLAR (Cod_libro, Num_ejemplar,...) clave_ajena ON DELETE CASCADE ON UPDATE CASCADE

Reglas concernientes a las extensiones del Modelo E/R 2. Transformación de Interrelaciones exclusivas (0,n) Edita1 (0,1) EDITORIAL LIBRO (0,n) Edita2 (0,1) UNIVERSIDAD EDITORIAL (Cod_E...) UNIVERSIDAD(Cod_U...) LIBRO (Cod_L..., Cod_E,Cod_U) Cod_E clave ajena ref. EDITORIAL modificacion CASCADA/RESTRICT Cod_U clave ajena ref. UNIVERSIDAD modificación CASCADA/RESTRICT CHECK ((Cod_E IS NULL AND Cod_U IS NOT NULL) OR (Cod_E IS NOT NULL AND Cod_U IS NULL))

Reglas concernientes a las extensiones del Modelo E/R 3. Transformación de Tipos y Subtipos Elegiremos una estrategia u otra dependiendo de que sea la semántica o la eficiencia la que prime para el usuario en un momento determinado.

Reglas concernientes a las extensiones del Modelo E/R 3. Transformación de Tipos y Subtipos Opción A) Englobar todos los atributos de la entidad y sus subtipos en UNA SOLA RELACIÓN, cuando los subtipos se diferencien en muy pocos atributos y las interrelaciones que los asocian sean las mismas para todos los subtipos. DOCUMENTO (Codigo,.,,,Tipo_Documento) También hay que especificar las restricciones semánticas (subtipos disjuntos): CHECK ((Tipo_Documento = ARTICULO AND Año_Edición IS NULL AND Codigo_Editorial IS NULL) OR (Tipo_documento = LIBRO AND Código_Revista IS NULL AND Fecha_publicación IS NULL))

Reglas concernientes a las extensiones del Modelo E/R 3. Transformación de Tipos y Subtipos Opción A) El atributo discriminante de la jerarquía podrá admitir valores nulos en el caso de que la jerarquía sea parcial y deberá declararse como NOT NULL si la jerarquía es total. Por otra parte, el atributo discriminante constituirá un grupo repetitivo si los subtipos solapan, (debiendo, por tanto, separar este atributo en una relación aparte y crear una relación que asocie este atributo con la relación resultante del supertipo). También es posible modificar el check anterior. Más eficiente. Poca semántica Muchos nulos si hay exclusividad

Reglas concernientes a las extensiones del Modelo E/R 3. Transformación de Tipos y Subtipos Opción B) Crear una relación para el supertipo y tantas relaciones como subtipos haya, con sus atributos correspondientes. Esta es la solución cuando existen muchos atributos distintos entre los subtipos y se quieren mantener los atributos comunes a todos ellos en una relación. Mayor semántica Más ineficiente Parcialidad/Totalidad controlada con el atributo discriminante Exclusividad/Solapamiento controladas mediante una Aserción

Reglas concernientes a las extensiones del Modelo E/R 3. Transformación de Tipos y Subtipos Opción C) Considerar relaciones distintas para cada subtipo, que contengan además los atributos comunes. Se elegiría esta opción cuando se dieran las mismas condiciones que en el caso anterior - muchos atributos distintos - y los accesos realizados sobre los datos de los distintos supertipos siempre afectan a los atributos comunes. Más eficiente en las consultas a atributos de subtipos Menos eficiente en las consultas al supertipo Poca semántica Introducimos redundancias Parcialidad no admitida y Totalidad si. Exclusividad controlada mediante un check

Reglas concernientes a las extensiones del Modelo E/R 3. Transformación de Tipos y Subtipos ME/R MR DOCUMENTO a. DOCUMENTO (código, título, idioma,... tipo) (1,1) b. DOCUMENTO (código, título, idioma,...tipo) es_un TIPO ARTÍCULO (código,...) (0,1) (0,1) LIBRO (código,...) ARTÍCULO LIBRO c. LIBRO (código, título, idioma,...) ARTÍCULO (código, título, idioma,...)

Reglas concernientes a las extensiones del Modelo E/R 4. Transformación de la dimensión temporal (!!cuidado ) ME/R f_inicio f_fin cod_h (0,N) disfruta N:M (0,N) cod_c HOTEL CLIENTE MR DISFRUTA (cod_c, f_inicio, cod_h, f_fin) CLIENTE (cod_c,...) HOTEL (cod_h,...)

Reglas concernientes a las extensiones del Modelo E/R 5. Transformación de atributos derivados ME/R EJEMPLAR (1,n) 1:N ID (1,1) tiene LIBRO Código Tïtulo D1 N_ejemplares MR LIBRO (código, título, N_ejemplares) Comprobación: check o aserción (atributo con redundancia controlada) Cálculo: disparador en inserción y modificación (atributo derivado)

Reglas concernientes a las extensiones del Modelo E/R Grafo Relacional editorial NOMBRE_E DIRECCIÓN CIUDAD PAÍS libro ejemplar COD_DOC TÍTULO IDIOMA NUM_COPIAS NOMBRE_E tema COD_DOC IDENTIFICATIVO trata COD_DOC NOMBRE_T NOMBRE_T presta COD_DOC IDENTIFICATIVO FECHA_P NUM_S consta FECHA_S consta TEMA_ S TEMA P socio DOMICILIO TEL NUM_S DNI TIPO_S

Reglas concernientes a las extensiones del Modelo E/R 6. Transformación de interrelaciones de grado superior a dos Regla general: A C_A Atr_A Atr_I B C_B Atr_B I A ( C_A, Atr_A...) B ( C_B, Atr_B...) C ( C_C, Atr_C...) I (C_A, C_B, C_C, Atr_I) C C_C Atr_C

Reglas concernientes a las extensiones del Modelo E/R 6. Transformación de interrelaciones de grado superior a dos Análisis más refinado: A) Cardinalidad máx. N y min. 1 A C_A Atri_a B C_B Atri_b (1,n) (1,n) I (1,n) C C_C Atri_c Sería aplicable la regla general. Claves ajenas con borrado y modificación en cascada

Reglas concernientes a las extensiones del Modelo E/R 6. Transformación de interrelaciones de grado superior a dos Análisis más refinado: B) Cardinalidad máx. N y min. 0 A C_A Atri_a I1 B C_B Atri_b (1,n) I (1,n) (o,n) C C_C Atri_c Sería aplicable la regla general, pero en la relación I, no aparecerían las ocurrencias interrelacionadas de A y B que tuvieran ocurrencias de C (la clave no admite nulos) y podría ser conveniente crear una interrelación I1 entre A y B (puntos en la figura)

Reglas concernientes a las extensiones del Modelo E/R 6. Transformación de interrelaciones de grado superior a dos Análisis más refinado: C) Cardinalidad máx. N y min. 0 en dos de las interrelaciones A C_A B C_B (0,n) I (0,n) (1,n) C C_C Regla general e interrelaciones binarias

Reglas concernientes a las extensiones del Modelo E/R 6. Transformación de interrelaciones de grado superior a dos Análisis más refinado: D) Cardinalidad máx. N en dos interrelaciones y 1 en la otra A C_A B C_B (1,n) I (1,n) (0,1) C C_C I ( C_A, C_B, C_C, Atr_I) C_C NULL NOT NULL

Reglas concernientes a las extensiones del Modelo E/R 6. Transformación de interrelaciones de grado superior a dos Análisis más refinado: E) Cardinalidad máx. N en una interrelacion y 1 en las otras dos A C_A B C_B A C_A B C_B (1,1) I (0,n) (1,1) I1 I2 C C_C C C_C Sólo si existe alguna restricción adicional entre las entidades