Tema 3: Diseño lógico de Bases de Datos: el Modelo Relacional

Documentos relacionados
- Bases de Datos (2012/2013) Tema 2: Diseño lógico. Modelo Relacional

Modelo Relacional. El modelo relacional...1 El modelo entidad relación (que vimos ayer) es un modelo conceptual que sirve

Bases de Datos. Laboratorio III, L106/L111. Profesor: Goyo Celada

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

Tema 5: Normalización en Bases de Datos

El Modelo Relacional. Carlos A. Olarte BDI

Tema 1: Sistemas de Gestión de Bases de Datos

id_trabajador nombre tarifa_hr tipo_de_oficio id_supv 1235 F. Aguilera 12,50 Electricista A. Calvo 13,75 Fontanero N.

Modelo Relacional I. Nos encontramos en la FASE 2: REGLAS DE TRANSFORMACIÓN del Modelo Entidad Relación (MER) al Modelo Relacional (MR).

BASE DE DATOS Modelos de Datos

MÓDULO 1: ORGANIZACIÓN Y ESTRUCTURA DE LA INFORMACIÓN. Tema 2: Creación de la Base de Datos. Leire Aldaz, Begoña Eguía y Leire Urcola

[3.3] Restricciones. Unidad 3) Modelo Relacional Gestión de Bases de Datos, ciclo de ASIR

EL MODELO RELACIONAL

Gestión base de datos : Modelo Relacional (II)

Modelo Entidad Relación.MER.

Modelos de Datos. Modelo Entidad-Relación

Modelo relacional. El modelo relacional

Bases de Datos OTROS ASPECTOS MODELO E-R

INTRODUCCIÓN A BASE DE DATOS. Excel - Access

Tema 2: Diseño de Bases de Datos (Diseño Lógico)

Fundamentos de Bases de Datos Facultad de Ciencias UNAM

Sistemas de Gestión de Bases de Datos

Diseño Lógico El modelo relacional. M.Sc.Lic. Cimar H. Meneses España

MODELO RELACIONAL BASE DE DATOS RELACIONALES

PERIODO 3 SOFTWARE MANEJADOR DE BASE DE DATOS CONCEPTOS INTERMEDIOS DE MICROSOFT ACCESS

Slide 1. Slide 2. Slide 3

Carlos A. Olarte Ligaduras de Integridad y Restricciones sobre la BD

Modelo relacional. Modelo relacional

Tema 5: Normalización en Bases da Datos

Ing. Yim Isaias Apestegui Florentino

Metodología de Diseño Lógico. Sistemas Gestores de Bases de Datos

Diseño de base de datos: Modelo Entidad Relación (I)

Modelo Relacional: Conceptos

Tema 2. DISEÑO LÓGICO DE BASES DE DATOS Parte 2

BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Fundamentos del Modelo Relacional de Datos

El Modelo Relacional de Bases de Datos

DISEÑO DE BASES DE DATOS RELACIONALES

DED Diagramas de Estructura Lógica de Datos. Universidad de Oviedo Departamento de Informática

TEMA 4: EL MODELO RELACIONAL. ESTÁTICA

PROPIEDADES DE LOS CAMPOS. Cada campo de una tabla dispone de una serie de características que proporcionan un control

Sistemas de Bases de Datos I MODELADO DE DATOS I. Sistema de Bases de Datos I

Diseño Lógico Modelo Relacional. Ges3ón y Modelación de Datos María Constanza Pabón

T07 Opciones de integridad referencial

Teoría de la Normalización

Modelos de datos. Colección de herramientas conceptuales para describir

Introducción a las Bases de Datos UNIDAD II MODELO ENTIDAD-RELACION

UNIDAD 10. LAS CONSULTAS DE ACCIÓN

Modelado Entidad-Relación

- Bases de Datos (2012/2013) Adjunto Tema 1: Ampliación DER

Transformación ER Relacional para el diseño de bases de datos relacionales

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

Esquema Lógico F1. EXAMEN 1 de diciembre de EQUIPO (NOMBRE:cadena) CP (NOMBRE) DIRECTOR (NOMBRE:cadena) CP (NOMBRE)

Bases de Datos. Contenido. Oscar Marban 4302 Apuntes de Pau Arlandis Martinez

5. El diseño lógico de una BD es independiente del modelo de datos elegido para su posterior implementación.

Introducción a las Bases de Datos y al Modelo Relacional

Formas Normales. Normalización. Introducción

Bases de Datos y Sistemas de Información

1.Introducción al Modelo Relacional.

El Modelo Relacional. Carlos A. Olarte BDI

Ítems/Entidades/Objetos [sustantivos]: Objetos que existen en el mundo y que son

Es decir, se va a mostrar la equivalencia más eficiente entre las distintas relaciones representables en E-R y MR.

Diseño de Bases de Datos

INSTITUTO TECNOLOGICO SUPERIOR DE LERDO. ALUMNO: JUAN ESQUIVEL VAQUERA. ENSAYO: Modelo entidad-relación. PROFESOR: RICARDO BUSTAMANTE.

EXAMEN DE ESTRUCTURAS DE LA INFORMACIÓN (Junio de 2008)

UNIDAD 3. MODELO RELACIONAL

Tema 4 DISEÑO LÓGICO: EL MODELO RELACIONAL

TEMA 3: REDUCCIÓN DE UN ESQUEMA E-R A TABLAS

EL MODELO DE DATOS RELACIONAL

TEMA 5.- ESTRUCTURA DE DATOS RELACIONAL.

Relaciones en una base de datos

TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD)

INFORMÁTICA MÉDICA. Profesor: MsC. Liz Armenteros Chávez

BASES DE DATOS. TABLA PLANETAS.

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

Gestor de bases de datos MicroSoft Access (2 de 4)

Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

MicroSoft Access (2 de 4)

Notaciones de Entidad Relación ER

UNIDAD 2- LA CREACIÓN DE TABLAS EN ACCESS 2010

BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Reglas de Integridad

4. FUNDAMENTOS DEL MODELO RELACIONAL

Bases de Datos: fundamentos del modelo relacional

EJERCICIOS DE ACCESS - COLEGIO

Bases de datos Unidad 4 Modelo Relacional

PREGUNTAS CUESTIONARIO BASES DE DATOS

Conocimiento de las Bases de Datos relacionales.

PARTE II. MODELO RELACIONAL. ESTÁTICA

DI SEÑO DE BASES DE DATOS Y SEGURIDAD DE LA INFORMACIÓN (31 de mayo de 2005) 3DUFLDO. APELLIDOS: NOMBRE: TITULACIÓN (Sistemas/Gestión):

UNIDAD 1: CONCEPTOS BA SICOS DE BASE DE DATOS

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

Catedra de Base de Datos

Prácticas de Microsoft Access

FUNDAMENTOS DE BASES DE DATOS TEMA 4. Metodología de desarrollo de Bases de Datos

FUNDAMENTOS DE BASES DE DATOS TEMA 5

El modelo relacional

Modelo relacional Jos e Ram on Param a Gab ıa

Modelo Relacional: Conceptos

Una base de datos de Access puede estar conformada por varios objetos, los más comunes son los siguientes:

Temario. Índices simples Árboles B Hashing

Transcripción:

Tema 3: Diseño lógico de Bases de Datos: el Modelo Relacional Andrés Cordón Franco Departamento de Ciencias de la Computación e Inteligencia Artificial UNIVERSIDAD DE SEVILLA Bases de Datos Curso 2005 06 1

Contenido: 3.1 Introducción al Modelo Relacional 3.2 Elementos básicos del Modelo Relacional: tabla o relación, registro o tupla, campo 3.3 Clave primaria (PK) y claves ajenas (FK) de una tabla 3.4 Valores nulos. Restricciones de integridad 3.5 Transformación de esquemas: del diagrama E R al esquema relacional. 3.6 Jerarquías de generalización en el esquema relacional. 2

Introducción al Modelo Relacional(I): Fue introducido por E.F. Codd en 1970. Aunque los primeros SGBD relacionales no aparecieron hasta los años 80. Supuso una revolución en el diseño lógico de BD, dando lugar a la segunda generación de SBGD. Es el modelo lógico más extendido en la actualidad (ORACLE, Access, dbaseiv,...) Los datos se estructuran lógicamente en forma de relaciones (tablas). Intuitivamente, una BD relacional es un conjunto de tablas enlazadas entre sí. 3

Introducción al Modelo Relacional(II): Conceptos fundamentales: Relación: tabla bidimensional Registro o tupla: fila de la tabla Campo: columna de la tabla Tabla ESCRITOR (2 registros de 4 campos) DNI Nombre Dirección Fecha 44345789 Ana Pérez Sol, 17 9/5/1960 56123009 Luis Gómez Feria,2 5/5/1961 Tabla ESCRIBE (3 registros de 3 campos) ISBN Libro Autor Año 84-8088-004-9 44345789 2003 44-9876-123-7 44345789 1999 34-5678-321-5 56123009 1989 Las tablas se enlazan entre sí mediante campos con contenido común. (El campo Autor de la tabla ESCRIBE y el campo DNI de la tabla ESCRITOR permiten enlazar ambas tablas). 4

Definiciones(I): Una relación de grado m consta de dos partes: Cabecera: conjunto fijo de m campos. Cada campo está definido por su Nombre y su Dominio (que indica el tipo de valores que contendrá dicho campo). Lo escribiremos (Nombre:Dominio). Cuerpo: conjunto variable de registros (también denominados tuplas). Notas: Un registro es un conjunto de m valores, correspondientes a los campos de la relación: {(Nombre 1 : Valor 1 ),..., (Nombre m : Valor m )}. 1.- Cada relación tiene asociado un Nombre que la identifica. 2.- Una relación de grado m puede representarse mediante una tabla bidimensioinal de m columnas y tantas filas como registros aparezcan en la relación. 5

Definiciones(II): Ejemplo: Relación Escritor DNI Nombre Dirección Fecha 44345789 Ana Pérez Sol,17 9/5/1960 56123009 Luis Gómez Feria,2 5/5/1961 La cabecera de la relación Escritor es: {(DNI:Numérico), (Nombre:Texto), (Dirección:Texto), (Fecha:Fecha/Hora)} El cuerpo de la relación Escritor está formado por dos registros: {(DNI:56123009), (Nombre:Luis Gómez), (Dirección:Feria,2), (Fecha:5/5/1961)} {(Fecha:9/5/1960), (DNI:44345789), (Dirección:Sol,17), (Nombre:Ana Pérez)} La relación Escritor es de grado 4. 6

Propiedades de las Relaciones(I): Todos los registros de una relación deben tener el mismo número de campos, aunque alguno esté vacío (se admite el valor NULL). Los valores de los campos son atómicos: fijado un registro, cada campo toma un único valor (no se admiten campos multivaluados). No se admiten registros duplicados. Esto es, dos registros de una misma relación deben diferir, al menos, en el valor de un campo. Dos campos de la misma relación no pueden tener el mismo nombre. Dos campos de relaciones distintas sí pueden tener el mismo nombre (Nombre1.Nombre2 denota el campo Nombre2 de la relación Nombre1). Ejemplo: Escritor.DNI El orden de los campos no importa. El orden de los registros no importa. 7

Propiedades de las Relaciones(II): Ejemplo 1: DNI Nombre Dirección Fecha 44345789 Ana Pérez Sol, 17 9/5/1960 40876100 José Ruíz Luna,1 1/1/1972 56123009 Luis Gómez Feria,2 5/5/1961 Dirección Nombre Fecha DNI Feria,2 Luis Gómez 5/5/1961 56123009 Luna,1 José Ruíz 1/1/1972 40876100 Sol,17 Ana Pérez 9/5/1960 44345789 Las 2 relaciones anteriores son idénticas. Sólo difieren en el orden de los campos y resgistros. Ejemplo 2: Nombre Edad Estudios Juan Pérez 41 Lcdo. Química Ana Sánchez 37 Lcdo. Medicina Lcdo. Física Juan Pérez 41 Lcdo. Química La relación anterior NO es válida. Posee campos multivaluados y registros repetidos. 8

Propiedades de los Campos(I): Cada campo debe poseer un Nombre (relacionado con los datos que contendrá) y debe tener asociado un Tipo de dato. Texto: almacena cadenas de caracteres, ya sean números (con los que no se vaya a relizar operaciones), letras o cualquier símbolo. Numérico: almacena números destinados a realizar operaciones. Fecha/hora: almacena fechas y horas. Sí/No: para almacenar datos que solo tengan dos posibilidades(verdedro-falso). Autonumérico: valor numérico (1,2,3,..) que el SGBD incrementa de modo automático cada vez que se añade un registro. Memo: almacena texto largo. Moneda: almacena valores de moneda. Objeto OLE: almacena gráficos, imágenes o textos creados por otras aplicaciones. 9

Propiedades de los Campos(II): Propiedades adicionales: Descripción: texto breve que aclara el contenido o la finalidad del campo. Tamaño: indica el tamaño máximo permitido (sólo es aplicable a campos de texto o numéricos). Requerido o NOT NULL: no se permiten valores nulos para dicho campo. se fija un valor por de- Predeterminado: fecto para el campo. Ejemplo: Relación Cliente (5 campos) { (NIF:Texto(9),NOT NULL), (Nombre:Texto(50),NOT NULL, Descripción= Nombre y apellidos del cliente ), (Fecha:Fecha/Hora, Descripción= Fecha de nacimiento del cliente ), (Nacionalidad:Texto(20), Predeterminado= Española ), (Dirección:Texto) } 10

Clave primaria y claves ajenas(i): Clave: conjunto de campos cuyos valores determinan unívocamente a cada registro de la relación. Dicho conjunto de campos debe ser minimal, esto es, ningún subconjunto propio de la clave puede actuar también como clave. Clave candidata: cada uno de los campos o combinaciones de campos que pueden actuar como clave de la relación. Clave primaria(pk=primary Key ): clave candidata elegida por el diseñador de la BD para la relación. Clave ajena o secundaria (FK=Foreign Key ): campo o combinación de campos de una relación que funciona como clave primaria de otra relación de la BD (relación referenciada o relación padre para la clave ajena). 11

Clave primaria y claves ajenas(ii): 1.- Las claves ajenas son esenciales en el Modelo Relacional, ya que permiten enlazar tablas de la BD. 2.- Una clave ajena y la clave primaria de la relación referenciada asociada han de estar definidas sobre los mismos dominios. 3.- Una relación puede poseer más de una clave ajena (tendrá una clave ajena por cada relación referenciada de la cual dependa). 4.- Una relación puede no poseer ninguna clave ajena. 5.- Una clave ajena puede enlazar una relación consigo misma (relaciones reflexivas). 6.- En el Modelo Relacional, toda relación posee clave primaria. Observación: Nótese la diferencia con el Modelo Entidad-Relación, donde existen entidades que no poseen PK (las entidades débiles con dependencia en identificación). 12

Clave primaria y claves ajenas(iii): Relación Editorial Nombre Dirección Ciudad País LaÑ Sol,5 Sevilla España Relación Escritor Nombre DNI Nacionalidad Ana Ruíz 56234111 Chilena Relación Libro Código Título Autor Nombre-Ed 1256AB Volver 56234111 LaÑ Relación Editorial: PK = (Nombre:Texto) Relación Escritor: PK = (DNI:Texto) Relación Libro: PK = (Código:Texto) FK = (Nombre-Ed:Texto) ( Editorial) FK = (Autor:Texto) ( Escritor) 13

Valores nulos en el Modelo Relacional: Valor nulo (NULL): marca utilizada para representar información desconocida o no aplicable. El valor de un campo puede ser nulo por dos razones distintas: Existencia de registros con ciertos atributos desconocidos en ese momento. Existencia de campos inaplicables a ciertos registros de una tabla. Ejemplo: Relación Obra Código Título Tipo Editorial Año 123A La huida Libro LaÑ 2002 678V El infinito Libro NULL NULL 564B Azul Cuadro NULL 1975 Los valores nulos del registro 678V lo son por información deconocida, mientras que el valor nulo del registro 564B representa un campo no aplicable (un cuadro no posee editorial). 14

Restricciones de integridad(i): (A) Restricciones inherentes: Integridad de entidad: ningún campo que forme parte de la clave primaria de una relación puede tomar valores nulos. Nota: Para conseguir la integridad de entidad, basta declarar como Requerido todos los campos que formen parte de la PK de cada relación de la BD. (B) Restricciones de usuario: Integridad referencial: Si una relación R1 posee una clave ajena que la enlaza con la relación padre R2, entonces todo valor de dicha clave ajena de R1: debe coincidir con algún valor de la clave primaria de R2 que haya sido previamente introdicido en la BD; o bien debe tomar el valor nulo (NULL). 15

Restricciones de integridad(ii): Ejemplo: Relación Escritor DNI Nombre Fecha País 67543198 Luis Ruíz 1/1/1965 Chile 89564123 Ana Pérez 2/7/1977 España PK = (DNI:Texto) Relación Obra Código Título Autor Fecha 345 La huida 67543198 1993 111 El fin 33567900 1982 654 NULL NULL 2001 PK = (Código:Texto) FK = (Autor:Texto) ( Escritor) La BD anterior NO cumple la restricción de integridad referencial. El valor del campo Autor del segundo registro de la tabla Obra (33567900) NO se corresponde con ningún valor del campo DNI de la tabla Escritor. 16

Restricciones de integridad(iii): La relación R1 está enlazada con la relación padre R2 mediante una clave ajena C. Para mantener la integridad referencial... (A) Insercción: El SGBD sólo permite insertar un nuevo resgistro en la tabla R1 cuando el valor del campo C para ese registro coincida con algún de la PK de R2 que aparezca en la tabla. (B) Borrado (eliminación en cascada): Si eliminamos un registro de la tabla padre R2, el SGBD elimina automáticamente todos los registros de la tabla R1 que están relacionados con dicho registro. (C) Modificación (actualización en cascada): Si modificamos el valor de la PK de un registro de la tabla padre R2, el SGBD modifica automáticamente dicho valor en todos los registros de la tabla R1 que estén relacionados con él. 17

Paso del DER al Esquema Relacional(I): ENTIDADES: (A) Entidades fuertes Por cada entidad fuerte del diagrama E-R, se creará una nueva relación en el esquema relacional con tantos campos como atributos posea la entidad. La PK de la relación creada es la misma que la PK de la entidad. Ejemplo: La entidad fuerte Alumno(DNI,Nombre,Dirección,Fecha) genera la Relación Alumno definida por: { (DNI:Texto), (Nombre:Texto), (Dirección:Texto), (Fecha:Fecha/Hora)} PK = (DNI:Texto) (B) Entidades débiles (en existencia): Se tratan como entidades fuertes. 18

Paso del DER al Esquema Relacional(II): (C) Entidades débiles (en identificación): Se creará una nueva relación con los campos: un campo por cada atributo de la entidad, y se añaden los campos que forman la PK de la entidad padre de la cual depende. { discriminador de la entidad débil + PK = PK de la entidad padre Se añade además una clave ajena a la relación: FK=PK de la entidad padre( Relación padre) Ejemplo: Cuenta(Código,Titular,Fecha) Operación(Número,Descripción,Cantidad) Relación Operación: {(Número:Texto), (Código-cuenta:Texto), (Cantidad:Numérico), (Descripción:Texto) } PK = (Número:Texto)+(Código-cuenta:Texto) FK = (Código-cuenta:Texto) ( Cuenta) Nota: En una cadena de dependencias, las claves primarias se propagan en cascada. 19

Paso del DER al Esquema Relacional(III): RELACIONES: Las relaciones se tratarán de forma distinta según el tipo de relación : (N:M), (1:N), (1:1). (Suponemos que R asocia las entidades E1,E2) (A) Relaciones de tipo (N:M): En el esquema relacional, creamos una nueva relación con los siguientes campos: los campos de la PK de la entidad E1, los campos de la PK de la entidad E2, los campos correspondientes a los atributos propios de la relación (si los hubiese). Clave primaria: PK = (PK de E1) + (PK de E2) Claves ajenas: Se añaden dos claves ajenas a la nueva relación: FK = PK de E1 ( Relación E1) FK = PK de E2 ( Relación E2) 20

Paso del DER al Esquema Relacional(IV): (B) Relaciones de tipo (1:N): NO se creará ninguna relación nueva. En su lugar, modificaremos la relación asociada a la entidad que partcipa con cardinalidad máxima muchos. Suponemos que... E1 participa con cardinalidad (,n) E2 participa con cardinalidad (,1) ( ) Modificamos la relación asociada a la entidad E1 como sigue: añadimos los campos que forman la PK de la entidad E2, añadimos los campos correspondientes a los atributos propios de la relación (si los hubiese), la clave primaria de la relación E1 no varía pero sí añadimos una nueva clave ajena: FK = PK de la entidad E2 ( Relación E2) 21

Paso del DER al Esquema Relacional(V): (C) Relaciones de tipo (1:1): NO se creará ninguna relación nueva. Se tratan como las relaciones (1:N). Puesto que las dos entidades participan con cardinalidad (,1), tenemos dos opciones: Añadir a la relación asociada a E1 la PK de E2 y los atributos propios de la relación (1:1) Añadir a la relación asociada a E2 la PK de E1 y los atributos propios de la relación (1:1) Notas: 1.- Si una entidad participa con cardinalidad (1,1) y la otra con cardinalidad (0,1), optaremos por modificar la relación correspondiente a la entidad que participa con cardinalidad (1,1). (Ventaja: Evitamos valores nulos) 2.- El diseñador de la BD puede optar por tratar una cierta relación (1:N) o (1:1) como relación (N:M) y añadir una nueva relación en la BD para ella. 22

Paso del DER al Esquema Relacional(VI): RELACIONES ESPECIALES: (A) Relaciones débiles en identificación: Basta añadir los atributos propios de la relación débil en identificación (si los hubiese) a la tabla previamente creada para la entidad débil. (B) Relaciones reflexivas: Tipo (N:M): se creará una nueva relación siguiendo las instrucciones anteriores, pero la PK de la entidad que participa aparecerá dos veces (con nombres distintos según el rol con el que participe en la relación reflexiva). Tipo (1:N): NO se creará una nueva relación. Se tratarán como se describió anteriormente. Ahora bien, en la tabla asociada a la entidad que participa en la relación reflexiva aparecerá dos veces su PK (con nombres distintos): (-) una vez como PK de la tabla, y (-) otra vez como FK de la tabla que la enlaza consigo misma. 23

Paso del DER al Esquema Relacional(VII): (C) Relaciones de grado k 3 Debemos analizar la relación y estudiar la mejor opción en cada caso particular. Solución General: Se trata como una relación binaria (N:M). Es decir, se crea una nueva tabla para la relación siguiendo las instrucciones descritas para las relaciones de tipo (N:M). Ahora bien: en lugar de dos, habrá que añadir k claves ajenas en la tabla creada, la PK de la nueva tabla no tiene por qué ser igual a la suma de las PK de las entidades participantes. Puede que haya que eliminar alguno de los campos. 24

Paso del DER al Esquema Relacional(VIII): Ejemplo: Relación Imparte entre Asignatura, Grupo, Aula y Profesor ; con atributo propio Horario. Cod-asig Grupo Cod-aula DNI Horario PK = (Cod-asig:Texto),(Grupo:Numérico) Claves ajenas: FK = (Cod-asig:Texto) ( Asignatura) FK = (Grupo:Numérico) ( Grupo) FK = (Cod-aula:Texto) ( Aula) FK = (DNI:Texto) ( Profesor) Solución particular: Existe una entidad (entidad hija) tal que cada instancia suya está relacionada con una única tupla de las k 1 entidades restantes. No se crea una nueva tabla. En su lugar, se añade a la tabla de la entidad hija: las PK de las k 1 restantes entidades (con las correspondientes k 1 claves ajenas), los atributos propios de la relación (si los hubiese). 25

Paso del DER al Esquema Relacional(IX): JERARQUÍAS DE GENERALIZACIÓN: No existe solución general. Hay que analizar ventajas e inconvenientes en cada caso. Opción 1: Tabla única Se crea una única tabla para representar la jerarquía con las siguientes características: Nombre: nombre de la entidad padre. Clave primaria: PK de la entidad padre Campos: atributos de la entidad padre, la unión de los atributos de los subtipos; y un nuevo campo Tipo para indicar a qué subtipo de la jerarquía pertenece cada registro. Inconvenientes: 1.- Aparición de muchos valores nulos. 2.- Pérdida de información si existen en el DER relaciones en las que no participa la entidad padre sino un cierto subtipo. 26

Paso del DER al Esquema Relacional(X): Opción 2: Orientada a objetos Se añade una nueva tabla por cada subtipo de la jerarquía y se consideran que son entidades distintas (no es necesario incluir una tabla para la entidad padre a menos que la jerarquía sea parcial). Para cada subtipo, su tabla asociada contendrá los siguientes campos: atributos de la entidad padre (la PK de la entidad padré será la PK de la tabla) atributos propios del subtipo en cuestión. Inconvenientes: 1.- Una relación del DER en la que participa la entidad padre ha de clonarse para cada subtipo de la jerarquía (aparecen muchas tablas). 2.- Información redundante (los atributos de la entidad padre se repiten para cada subtipo de la jerarquía). 3.- Jerarquías solapadas: en qué tabla se guarda un registro que pertenece a varios subtipos? 27

Paso del DER al Esquema Relacional(XI): Opción 3: Directo del Diagrama E-R Solución intermedia. Se añaden nuevas tablas para la entidad padre y los subtipos, y se relacionan mediante claves ajenas. Tabla entidad padre: Campos: atributos de la entidad padre. PK = PK de la entidad padre. Tabla para cada subtipo: Campos: atributos propios del subtipo + PK de la entidad padre. PK = PK de la entidad padre. FK=PK entidad padre( Tabla entidad Padre). Inconvenientes: 1.- Se repiten registros. Cada registro de la jerarquía aparece dos veces: una en la tabla padre y otra en el subtipo correspondiente. 2.- Muchas claves ajenas. Puede ralentizar las consultas en la BD. 28

Bibliografía: Concepción y diseño de bases de datos, Adoración de Miguel, Mario Piattini, RA MA Editorial (1993) Apuntes de Ficheros y Bases de Datos, Mercedes Marqués, Universidad Jaume I en Castellón (2001) 29