TEMA 3. 1. Diseño de una Base de Datos... 2



Documentos relacionados
Modelo Entidad-Relación

Tema 2: Modelo Entidad-Asociación (E-A)

TEMA Fases de diseño de una BD Captación y análisis de requerimientos Diseño conceptual de la BD... 5

Tema 2: Modelo Entidad-Relación(ER)

BASES DE DATOS TEMA 2. MODELOS DE DATOS

BASES DE DATOS TEMA 2. MODELOS DE DATOS

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

Conjuntos entidad. prestamo. Conjuntos entidad cliente y prestamo. Atributos. Atributos. Conjuntos asociación. Tema 2: Modelo Entidad-Asociación (E-A)

UNIVERSIDAD NACIONAL DE TRUJILLO ESCUELA DE INFORMATICA BASE DE DATOS

EL MODELO ENTIDAD-RELACIÓN:

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

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

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

Repaso de Conceptos Básicos de Bases de Datos

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

Capítulo VI. Diagramas de Entidad Relación

M III ABSTRACCIÓN Y CLASIFICACIÓN

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

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

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

rg.o cm a Diseñ e o o c o c n o ce c p e tual 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

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

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

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

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

Operaciones con bases de

Proyecto de Normalización Automática de Base de Datos

Base de datos relacional

Operación Microsoft Access 97

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

INTRODUCCION A LAS BASES DE DATOS Procesamiento de Archivos vs Bases de Datos ARCHIVOS BASES DE DATOS

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

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

Introducción a la Programación Orientada a Objetos (POO) Introducción a la Programación Orientada a Objetos (POO)

Operaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta

Diagrama de Clases. Diagrama de Clases

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

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

3. Modelo relacional: Estructura e integridad.

Metodología Orientada a Objetos Clave Maestría en Sistemas Computacionales

Capítulos 2 y 5: Modelación con UML y Modelo Objeto

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

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

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

El modelo relacional

Modelo ER Jos e Ram on Param a Gab ıa

Introducción. Componentes de un SI. Sistema de Información:

Que es normalización? Normalización de una base de datos Grados de normalización: Primera Forma Grados de normalización: Segunda Forma Grados de

Ingeniería del Software I

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

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

Tema 2. Modelado Entidad-Relación

Elementos requeridos para crearlos (ejemplo: el compilador)

Patrones para persistencia (I) Ingeniería del Software II

Elaboración de Mapas Conceptuales

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.

a) Cita y comenta brevemente los grados de acoplamiento. Clasifícalos y ordénalos en orden creciente al nivel de acoplamiento asociado.

3. MODELO ENTIDAD RELACIÓN

Ficheros y Bases de Datos Curso Ingeniería Técnica de Informática Primer Parcial. 1-Junio Nombre:

Módulo 9 Sistema matemático y operaciones binarias

Que sucederá si la tasa de cambio al final del período es de $2.000 y $2.500 respectivamente.

ESTUDIO ADMINISTRATIVO

Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica)

TEMA 8.- DISEÑO TEORICO DE BASES DE DATOS RELACIONALES. 1. TEORÍA DE LAS DEPENDENCIAS FUNCIONALES

1.1.- Objetivos de los sistemas de bases de datos Administración de los datos y administración de bases de datos Niveles de Arquitectura

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

Diagramas de Clases ~ 1 ~ Ing. Fabián Silva Alvarado

Normalización. El diseño que hemos recibido está compuesto de estas dos relaciones:

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

IES Politécnico Estella

Capitulo III. Diseño del Sistema.

Asignaturas antecedentes y subsecuentes

Gestión de la Prevención de Riesgos Laborales. 1

Este es un ejemplo muy sencillo, un esquema de empleados que trabajan en proyectos, en una relación muchos a muchos.

BASES DE DATOS TEMA 1

NORMALIZACIÓN DE BASES DE DATOS RELACIONALES

Sistemas de Gestión de Documentos Electrónicos de Archivo (SGDEA)

Diseño de una Base de Datos. Fases del Diseño

Análisis de Sistemas. M.Sc. Lic. Aidee Vargas C. C. octubre 2007

INTRODUCCIÓN: Una Visión Global del Proceso de Creación de Empresas

TEMA 5.- ESTRUCTURA DE DATOS RELACIONAL.

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Teoría formal de la normalización de esquemas relacionales. Definición formal de las tres primeras Formas Normales

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

UNIDAD 3. MODELO RELACIONAL

BASE DE DATOS RELACIONALES

Diseño de bases de datos Diapositiva 1


Tema 2: Diseño de Bases de Datos (Diseño Conceptual)

LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS

Unidad 1. Fundamentos en Gestión de Riesgos

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R

App para realizar consultas al Sistema de Información Estadística de Castilla y León

IAP ENTORNOS INFORMATIZADOS CON SISTEMAS DE BASES DE DATOS

FUNDAMENTOS DE BASES DE DATOS TEMA 2

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

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

2014 Néstor A. Jiménez J. Derechos reservados. Celular

Módulo de farmacia, stock y compras

Transcripción:

TEMA 3 DISEÑO. MODELO ENTIDAD-RELACIÓN 1. Diseño de una Base de Datos................. 2 2. Modelo Entidad-Relación..................... 9 (a) Entidad, atributo, interrelaciones.......... 10 (b) Lazos de correspondencia, claves, entidades fuertes y débiles............................. 25 (c) Diagrama E-R........................... 41 3. Modelo E-R extendido....................... 46 (a) Especialización - Generalización........... 47 (b) Agregación.............................. 58 4. Criterios de diseño de un esquema E-R....... 61 5. Diseño de un esquema E-R.................. 68 6. Ejemplos................................... 69 1

Diseño de una Base de Datos Sistema de Base de Datos: Pretende satisfacer las necesidades de información de diferentes usuarios, sobre un conjunto de datos comunes a todos ellos. Ejemplo: Base de Datos de gestión de un banco. Se pretende satisfacer las siguientes necesidades de información: Presidente: Cuántas cuentas corrientes hay? Cuántas cuentas de ahorro? Cuántos clientes tiene el banco? Cuánto dinero se guarda en las cuentas, corrientes o de ahorro? Jefe del Dept. de contabilidad: Cada cliente ha de recibir el saldo de su cuenta. Cada cliente ha de recibir los movimientos que genera su cuenta. Jefe del Dept. de préstamos: Informe de los pagos mensuales realizados para cada préstamo. Para poder satisfacer estas necesidades hay que realizar un diseño de la Base de Datos. 2

FASES DE DISEÑO DE UNA BASE DE DATOS 3

FASES: 1. Captación y análisis de requerimientos Caracterizar de forma completa las necesidades que desean los usuarios de la BD, tanto en los datos como en las operaciones a realizar con los datos. Entrevistas con los futuros usuarios de la BD para captar las necesidades. Resultado: Es- REQUISITOS DE DATOS: Necesidades de datos. pecificación de la información que se quiere guardar. REQUISITOS FUNCIONALES: Necesidades de manipulación de datos. Especificación de las operaciones a realizar con los datos. 2. Diseño conceptual de la BD Una vez escogido el modelo abstracto que se quiere utilizar, el diseñador aplica los conceptos de este modelo para traducir los requisitos de datos del usuario al modelo abstracto, formando el esquema conceptual de la BD. Validar el esquema conceptual sobre las transacciones especificadas en los requisitos funcionales (consultas, actualizaciones, borrados, inserciones). 4

Implementación del modelo conceptual sobre un sistema de base de datos concreto se realiza en dos fases: DISEÑO LÓGICO y DISEÑO FÍSICO. 3. Diseño lógico Conversión del esquema conceptual de la BD al modelo de datos que implementa el sistema de BD (usualmente el modelo de BD relacional). ESQUEMA RELACIONAL DE BD Definición del conjunto de relaciones base que constituyen el nivel conceptual de la arquitectura ANSI/SPARC. 4. Diseño físico Definir las características físicas de la BD a partir del esquema de la BD. Definición del conjunto de ficheros que constituyen el esquema interno de la arquitectura ANSI/SPARC. 5

NIVELES DE MODELADO EN UNA BD NIVEL EJEMPLO CONSTRUCCIONES Esquema modelo E-R, objetos, interrelaciones, conceptual de BD modelo orientado a entidades objetos modela Esquema de BD relaciones y atributos persona, nombre, dirección, de la BD DNI, empleado por, modela Pepe viu al Estado actual BD BD 13 Rue del Percebe ESQUEMA DE BD: Estructura lógica y semántica para registrar un conjunto de hechos de una realidad concreta. Esquema obtenido a partir del modelo conceptual de BD escogido. 6

MODELO ABSTRACTO DE DATOS: Descripción que posibilita la creación de esquemas conceptuales de BD utilizados por aplicaciones concretas. También denominado modelo conceptual de datos o modelo semántico de datos. Capturar la semántica o significado del entorno que se pretende modelar en la BD. MODELADO SEMÁNTICO DE DATOS Desarrollado para incrementar la efectividad y la precisión del diseño de la BD. Modelo de fácil conversión a otros modelos (jerárquico, relacional, en red, orientado a objeto). TIPOS DE MODELOS ABSTRACTOS: Modelo Binario-Semàntico (Abrial, 1974) Modelo Entitat-Relación (Chen, 1976) Modelo Semántico de Datos - SMD (Hammer-McLeod, 1981) Modelo de Datos Funcional (Shipman, 1981) Modelo Orientado a Objetos - Model E-R extendido 7

MODELO ORIENTADO A OBJETOS: Modelo E-R extendido. Modelo abstracto de datos más utilizado actualmente. Basado en el modelo E-R de Chen, incorporando conceptos de programación orientada a objetos en los modelos semánticos de datos: Especialización - Generalización Agregación Estudia el comportamiento de los datos, no de las estructuras. Busca formas de manipular los datos, no de las estructuras. 8

Modelo Entidad-Relación Entity-Relationship Model También denominado Model Entidad-Vínculo. Basado en una percepción del mundo real. Consta de Entidades: Conjunto de eventos (objetos o acciones) básicos. Relaciones: Conjunto de interrelaciones entre las entidades. A partir de estos dos conceptos, el Modelo E-R define otros que son utilizados para construir el modelo abstracto de la BD: Atributo Lazos de correspondencia Claves Entidades fuertes y débiles Estos elementos se representan gráficamente mediante un Diagrama E-R. 9

ENTIDAD Acontecimiento (objeto o acción) del mundo real que es distinguible del resto. Entidad concreta (objeto): Persona, libro, etc. Entidad abstracta (acción): Préstamo, vacaciones, etc. Entidad tiene asignado un conjunto de propiedades (atributos), con valores para identificar la entidad de forma única. Ejemplo: Entidad PERSONA con atributos Nombre, DNI, Dirección, etc. CONJUNTO DE ENTIDADES: Colección de entidades del mismo tipo que comparten propiedades. Ejemplo: Conjunto de personas Conjunto de entidades clientes de un banco CLIENT. Conjunto de entidades PRÉSTEC-BANCARI representa el conjunto de todos los préstamos concedidos por un banco. EXTENSIÓN de un conjunto de entidades: Las entidades individuales que constituyen un conjunto. Ejemplo: Todos los clientes de un banco son una extensión del conjunto de entidades CLIENT. 10

Conjunto de entidades no necesariamente disjunto. Ejemplo: EMPLEAT: Conjunto de entidades de todos los empleados de un banco. CLIENT: Conjunto de entidades de todos los clientes de un banco. Una entidad persona (Pepe Pinto) puede estar como extensión de EMPLEAT, de CLIENT o de ambos conjuntos de entidades a la vez. BASE DE DATOS: Colección de conjuntos de entidades, cada una de las cuales contiene un número de entidades del mismo tipo. Para simplificar la nomenclatura, a partir de ahora se cambiarán las definiciones: CONJUNTO DE ENTIDADES = ENTIDAD ENTIDAD = INSTANCIACIÓN DE ENTIDAD BASE DE DATOS: Colección de entidades, cada una de las cuales contiene un número de instanciaciones de entidad del mismo tipo. 11

DIAGRAMA E-R: Entidades son representadas mediante cuadrados. 12

ATRIBUTO Descripción de propiedades que tiene cada instanciación de entidad. Cada entidad tiene un único valor por atributo. Ejemplo: Atributos de la entidad CLIENT: Nom, DNI, Carrer, Ciutat. Atributos de la entidad PRÉSTEC: Número-Préstec, Import. Cada atributo tiene asociado un dominio. Cada instanciación en una entidad es descrito por un conjunto de parejas (atributo,valor), una por cada atributo de la entidad: Ejemplo: { (Nom,López), (DNI,67789901), (Carrer,Major), (Ciutat, Peguerinos) } 13

TIPOS DE ATRIBUTOS: SIMPLES - COMPUESTOS: Atributo simple: No se puede subdividir en más atributos. Atributo compuesto: Atributo que se puede subdividir en atributos más simples. Permite agrupar atributos relacionados semánticamente. JERARQUIA DE ATRIBUTOS Ejemplo: Entidad CLIENT (Nom-Client, Adreça-Client), on Nom-Client(Nom, Cognom1, Cognom2) Adreça-Client(Carrer, Ciutat, Província, Codi-Postal) Carrer(Número-Carrer, Nom-Carrer, Pis) 14

MONOVALORADOS - MULTIVALORADOS: Atributo monovalorado: Atributo que tiene un sólo valor por cada instanciación de entidad. Ejemplo: Atributos DNI, Nom. Atributo multivalorado: Atributo que tiene más de un valor por cada instanciación de entidad. Pueden definirse ĺımites inferior y superior para el número valores del atributo. Ejemplo: Atributo Nom-Subordinat en la entidad EMPLEAT Un empleado puede tener varios subordinados. 15

VALOR NULO (NULL): Valor que toma un atributo de una instanciación de entidad cuando ésta no tiene valor para el atributo. Significados del valor nulo: VALOR NO APLICABLE: No tiene sentido dar un valor de atributo a la instanciación. VALOR PERDIDO: Valor existe pero no se tiene. VALOR NO CONOCIDO: No se sabe si existe o no valor para la instanciación. Ejemplo: DNI=NULL: Persona tiene DNI pero no se sabe qué Número es. Ejemplo: Número-Pis=NULL: Dirección sin atributo piso (una casa). Existe el piso, pero no se sabe cuál es. No se sabe si la dirección corresponde a un bloque de pisos o a una casa. 16

DERIVADO: Atributo con valor que se puede obtener de los valores de otros atributos o entidades. Ejemplo: Entidad CLIENT con atributo Préstecs, que representa el número de préstamos que tiene el cliente en el banco. Atributo Préstecs derivable contando el número de instanciaciones préstamo asociadas a cliente. Ejemplo: Entidad EMPLEAT con atributos Data-Inici, Antiguitat, que representan la fecha de incorporación a la empresa y la antigüedad del trabajador en la empresa. Atributo Antigüedad derivable de la Data-Inici Antigüedad = Data-Actual - Data-Inici 17

Ejemplo: BASE DE DATOS BANCARIA. Formada por un conjunto de entidades y atributos: CLIENTE(Nombre-cliente,DNI,Calle-Cliente,Ciudad-Cliente) PRÉSTAMO(Número-Préstamo,Importe) COMPTE(Número-Cuenta,Saldo) SUCURSAL(Nombre-Sucursal,Ciudad,Activos) DIAGRAMA E-R: Atributos son representados mediante elipses. 18

INTERRELACIONES Asociación entre diferentes instanciaciones de entidad. Ejemplo: Interrelación que asocia el cliente López con el préstamo P-15, significa que López es cliente con el préstamo P-15. CONJUNTO DE INTERRELACIONES: Colección de interrelaciones del mismo tipo, es decir, entre las mismas entidades y con mismo significado. Definición: Sean las entidades E 1, E 2,..., E n, se define un conjunto de interrelaciones R como el subconjunto {(e 1, e 2... e n ) e 1 E 1, e 2 E 2,..., e n E n } on (e 1, e 2,..., e n ) es una interrelación. 19

Ejemplo: Entidades CLIENT i PRÉSTEC. Conjunto de interrelaciones PRESTATARI asocia clientes y préstamos. Ejemplo: Entidades PRÉSTEC y SUCURSAL. Conjunto de interrelaciones SUCURSAL-PRÉSTEC asocia sucursales y préstamos. PARTICIPACIÓN: Asociación entre entidades o entre instanciaciones de entidades. Entidades E 1,..., E n PARTICIPAN en el conjunto de interrelaciones R. Ejemplo: Instanciación de entidad CLIENT López y la instanciación de entidad PRÉSTEC P-15 participan en la interrelación PRESTATARI. Interrelación significa en el mundo real que el cliente López tiene un préstamo con el banco, numerado como P-15. 20

PAPEL: Función o significado que describe una instanciación de entidad en una interrelación. Significado de la interrelación. Describe una propiedad del mundo real. No se especifica cuando la interrelación es entre dos entidades diferentes. Si la interrelación es entre la misma entidad (interrelación unaria o recursiva), la entidad participa en la interrelación más de una vez con diferentes significados (papeles). Ejemplo: Entidad EMPLEADO, con una interrelación unaria sobre entidad: TRABAJA-PARA con dos papeles: DIRECTOR, con pares ordenados (Jefe-1,Empleado-1) SUBORDINAT, con pares ordenados (Empleado-1,Jefe-1) 21

INTERRELACIONES CON ATRIBUTOS: Interrelación con atributos descriptivos asociados. Ejemplo: Interrelación IMPOSITOR entre entidades CLIENTE y CUENTA se le asocia el atributo Fecha-Acceso para especificar la fecha más reciente en la cual el cliente ha accedido a su cuenta. 22

GRADO DE UNA INTERRELACIÓN: Número de entidades implicadas en una interrelación. Tipos: Unaria: Interrelación con la misma entidad (grado 1). Binaria: Interrelación entre dos entidades (grado 2). Interrelación más usual. Ternaria: Interrelación entre tres entidades (grado 3). Interrelación poco frecuente. Más restrictiva que corresponendientes binarias (trampa de conexión). Ejemplo: Interrelación CPS. Instancia ( López, P-15, Figueres ) significa que el cliente López tiene el préstamo P-15 en la sucursal de Figueres. n-arias: Interrelación entre n entidades. frecuente. Poco 23

Para simplificar la nomenclatura, a partir de ahora se cambiarán las definiciones: CONJUNTO = INTERRELACIÓN DE INTERRELACIONES INTERRELACIÓN = INSTANCIACIÓN DE INTERRELACIÓN DIAGRAMA E-R: Interrelaciones son representadas mediante rombos. 24

LAZOS DE CORRESPONDENCIA Lazos en los cuales el contenido de la BD se ha de adaptar. De dos tipos: Correspondencia de cardinalidades Dependencias de existencia. 25

Correspondencia de cardinalidades También denominada razón de cardinalidades. Expresa el número de instanciaciones de entidades a las cuales la otra entidad puede estar asociada mediante la interrelación. Característica muy útil que se aplica a las interrelaciones binarias. 26

Para una interrelación binaria R entre las entidades A y B, la correspondencia de cardinalidades puede ser: UNO a UNO (1-1) Una instancia de A se asocia como mucho a una instancia de B. Una instancia de B se asocia como mucho a una instancia de A. UNO a VARIOS (1-n) Una instancia de A se asocia a cualquier número de instancias de B. Una instancia de B se asocia como mucho a una instancia de A. 27

VARIOS a UNO (n-1) Una instancia de A se asocia como mucho a una instancia de B. Una instancia de B se asocia a cualquier número de instancias de A. VARIOS a VARIOS (n-n) Una instancia de A se asocia a cualquier número de instancias de B. Una instancia de B se asocia a cualquier número de instancias de A. 28

Correspondencia de cardinalidad en una interrelación depende del mundo que se pretende modelar, definido en el conjunto de restricciones específicas. Ejemplo: Interrelación PRESTATARIO entre entidades CLIENTE y PRÉSTAMO. Correspondencia 1-n: Un cliente puede tener diversos préstamos. Un préstamo sólo puede ser de un cliente. Correspondencia n-n: Un cliente puede tener diversos préstamos. Un préstamo puede ser de diversos clientes. 29

Según la correspondencia, los atributos de la interrelación pueden situarse en diferentes lugares. Correspondencia 1-1: Atributos de la interrelación pueden estar situados en la interrelación o en cualquiera de las dos entidades. Correspondencia 1-n, n-1: Atributos de la interrelación pueden estar situados en la interrelación o en la entidad que tenga las n instanciaciones. Ejemplo: Interrelación IMPOSITOR(Fecha-Acceso) con correspondencia 1-n entre las entidades CLIENTE(Nombre-Cliente) y CUENTA(Número-Cuenta). Atributo de la interrelación Fecha-Acceso puede estar asociado a la entidad COMPTE. Elección de situar los atributos en la entidad o la interrelación define el modelo a representar. Situar el atributo en la interrelación indica que el atributo corresponde a una acción ligada a las dos entidades, no a una sola entidad. 30

Correspondencia n-n: Atributos de la interrelación situados en la interrelación. Ejemplo: Interrelación IMPOSITOR con correspondencia n n entre las entidades CLIENTE(Nombre-Cliente) y CUENTA(Número-Cuenta) Atributo de la interrelación Data-Accés puede situarse: En CLIENTE: Una única fecha de acceso por cliente (la última), sin considerar en qué cuenta se ha hecho el acceso. En CUENTA: Única fecha de acceso por cuenta, independientemente del cliente que haya accedido (el último). En INTERRELACIÓN: Una fecha de acceso por cliente y cuenta. 31

Dependencia de existencia Definición: Dadas dos entidades A,B, se dice que la entidad A tiene dependencia de existencia de B Una instanciación de A depende de la existencia de la instanciación de B. Si una instanciación de B se borra, se han de borrar las instanciaciones dependientes de ella en A. B: Entidad dominante. A: Entidad subordinada. Ejemplo: Entidades PRÉSTAMO i PAGO (pagos del préstamo). PRÉSTAMO(Número-Préstamo,Importe) PAGO(Número-Pago,Fecha-Pago,Importe-Pago) Interrelación PRÉSTAMO-PAGO con correspondencia 1-n Cada préstamo tiene diversos pagos. Cada pago tiene asociado un préstamo. Si se borra un préstamo, hay que borrar los pagos asociados al préstamo. Si se borra un pago del préstamo NO hay que borrar el préstamo. 32

Definición: La participación de una entidad E en una interrelación R es TOTAL si toda instancia de E participa al menos en una instancia de R. Definición: La participación de una entidad E en una interrelación R es PARCIAL si algunas (no todas) las instanciaciones de E participan en instancias de R. En la dependencia de existencia A,B, La participación de la entidad SUBORDINADA es TOTAL en la interrelación. La participación de la entidad DOMINANTE es PAR- CIAL en la interrelación. Ejemplo: Interrelación PRÉSTAMO-PAGO, La participación de la entidad PAGO es TOTAL en la interrelación. Todo pago interrelacionado con PRÉSTAMO. La participación de la entidad PRÉSTAMO es PARCIAL en la interrelación. Préstamos NO interrelacionados con pago (Préstamos que no se han empezado a pagar) 33

DIAGRAMA E-R: Correspondencias a uno son representadas mediante una flecha dirigida a la entidad a uno. 34

CLAVES Permiten distinguir una instancia dentro de una entidad. Entidades e interrelaciones con atributos CLAVES Claves en entidades SUPERCLAVE: Conjunto de uno o más atributos que permiten identificar de forma única una instancia dentro de una entidad. Característica de UNICIDAD, pero NO de MINIMALIDAD Ejemplo: Entidad EMPLEADO: DNI o Nombre-Empleado,DNI son SUPERCLAVES. Nombre-Empleado NO es SUPERCLAVE. CLAVE CANDIDATA: Superclave con característica de minimalidad. Exemple: Entidad EMPLEAT con claus candidates: Código-Empleado, único para cada empleado. DNI. Nombre-Empleado,Fecha-Nacimiento,Dirección-Empleado, pues es improbable dos personas con los mismos valores. CLAVE PRIMARIA: Clave candidata escogida por el diseñador. Propiedad que se asigna a la entidad, no a las instancias. 35

Claves en interrelaciones Definición: Sea R una interrelación, con o sin atributos descriptivos, entre las entidades E 1, E 2,..., E n, y CP (E i ) la clave primaria de la entidad E i, suponiendo nombres de claves únicos entre entidades, se define una SUPERCLAVE DE LA INTERRELA- CIÓN R - SC(R) de la siguiente forma: SC(R) = CP (E 1 ) CP (E 2 )... CP (E n ) Atributos de la clave primaria dentro de una interrelación depende de la correspondencia de cardinalidad de la interrelación. 36

Ejemplo: Interrelación CLIENTE-BANQUERO, entre las entidades CLIENTE y EMPLEADO, describiendo la asociación de un cliente con su banquero. Correspondencia n-n, con atributo Tipo, describiendo el tipo de relación cliente-banquero. SC(CLIENTE-BANQUERO) = CP (CLIENTE) CP (EMPLEADO) Correspondencia n-1, sin atributos en interrelación. SC(CLIENTE-BANQUERO) = CP (CLIENTE) CP (EMPLEADO) CP (CLIENTE-BANQUERO) = CP (CLIENTE) Correspondencia 1-1, sin atributos en interrelación. SC(CLIENTE-BANQUERO) = CP (CLIENTE) CP (EMPLEADO) CP (CLIENTE-BANQUERO) = CP (EMPLEADO) ó CP (CLIENTE-BANQUERO) = CP (CLIENTE) DIAGRAMA E-R: Claves primarias son representadas como atributos subrayando el nombre del atributo. 37

ENTIDADES FUERTES Y DÉBILES Toda dependencia de existencia define una entidad fuerte y una débil. Entidad fuerte: Entidad que tiene una clave primaria. Entidad dominante en una dependencia de existencia. Entidad débil: Entidad que no tiene suficientes atributos para formar una clave primaria. Ha de formar parte de una interrelación 1-n sin atributos. Todo atributo se puede poner en la entidad débil. Entidad subordinada en una dependencia de existencia. Ejemplo: Entidad PAGO(Número-Pago,Fecha-Pago,Importe-Pago) Entidad débil, sin clave primaria, pues Número-Pago único para un préstamo pero no único para todos los préstamos. Más de una instanciación de entidad con los mismos valores. 38

DISCRIMINANTE DE UNA ENTIDAD DÉBIL: Atributo o atributos que permiten distinguir las instancias de entidad débil que dependen de una instancia de entidad fuerte. Ejemplo: Entidad PAGO con discriminante Número-Pago. Atributo Número-Pago es único en un préstamo (entidad furte). Definición: Dada A una entidad débil asociada a la entitat fuerte B, y DIS(A) com el discriminante de la entidad A, se define CP (A) como la CLAVE PRIMARIA DE LA ENTIDAD DÉBIL A de la siguiente forma: CP (A) = DIS(A) CP (B) Ejemplo: Entidad débil PAGO(Número-Pago,Fecha-Pago, Importe-Pago), con entidad fuerte PRÉSTAMO(Número-Préstamo, Importe), CP (PAGO) = Número-Pago Número-Préstamo Entidad dominante es el propietario de la entidad débil. INTERRELACIÓN DE IDENTIFICACIÓN: Interrelación que asocia una entidad fuerte y una débil. 39

DIAGRAMA E-R: Entidades débiles e interrelaciones de identificación son representadas mediante ĺıneas dobles. Los discriminantes de entidades débiles se subrayan con ĺınea punteada. 40

DIAGRAMA ENTIDAD-RELACIÓN Representación de la estructura lógica y semántica de una BD. Diagrama claro y simple, bastante utilizado en diseño de BD. Components: Rectángules para representar entidades. Elipses para representar atributos. Rombos para representar interrelaciones. Líneas continuas que unen Atributos con entidades. Entidades con interrelaciones. Nombres de atributo subrayados para representar claves primarias. Elipses dobles que representan atributos multivalorados. Elipses discontinuas que representan atributos derivados. Líneas dobles para indicar la participación total de una entidad en una interrelación. Etiquetas de ĺınea para representar papeles de las interrelaciones. 41

42

Ejemplo: 43

Interrelaciones: Atributos asociados a interrelaciones: 44

Papeles entre interrelaciones: Interrelación ternaria: 45

Model E-R extendido También denominado model orientado a objeto. Modelo con extensiones adicionales que cubren limitaciones mancances del Modelo E-R. Extensions: Especialización - Generalización Herencia de atributos Lazos de diseño Agregación 46

ESPECIALIZACIÓN Designación de subgrupos de entidades (entidades de bajo nivel) dentro de una entidad (entidad de alto nivel). Una entidad tiene: Atributos COMUNES a todos los subgrupos. Atributos PROPIOS para cada subgrupo. Ejemplo: Entidad CUENTA(Número-Cuenta,Saldo) representando las cuentas de un banco. Se pueden definir dos subgrupos: CUENTA-AHORRO(Tipo-Interés) CUENTA-CORRIENTE(Descubierto) Una entidad puede especializarse en más de una característica, definiendo diferentes tipos de subgrupos. Ejemplo: Entidad CUENTA con diferentes especializaciones y subgrupos: Especialización CUENTA-CORRIENTE, CUENTA-AHORRO. Especialización CUENTA-EMPRESA, CUENTA-PERSONAL, CUENTA-BENÉFICA. 47

JERARQUÍA DE ESPECIALIZACIONES: Una instancia de entidad puede pertenecer a varias especialitzaciones. Ejemplo: Especialización de la especialización CUENTA-CORRIENTE de la entidad CUENTA: CUENTA-NORMAL(Número-Movimientos), dando 3 movimientos gratis. COMPTE-OR(Pago-Interés,Saldo-Mínimo), con interés variable y saldo mínimo. CUENTA-SENIOR(Fecha-Nacimiento), cuenta para mayors de 65 años, con ventajas fiscales. DIAGRAMA E-R: Especializaciones son representadas mediante un triángulo etiquetat como ES, de donde surgen ĺıneas hacia los subgrupos de entidades (cuadrados) relacionados por atributos (elipses). 48

GENERALIZACIÓN Proceso inverso al de la especialización. Se aplican ambos procesos (especialización y generalización) para construir el esquema E-R extendido. Agrupar entidades con atributos comunes en una entidad superior (superclase) de nivel más alt. Entidades agrupadas: subclases de nivel más bajo Proceso aplicado dentro e una estrategia de diseño bottomup, definiendo entidades simples y agrupandolas. Agrupamiento de entidades elimina la redundancia. DIAGRAMA E-R: No es distinguen los procesos de especialización y generalización, representándose de la misma forma. 49

Propiedades de las especializaciones: (a) Herencia de atributos (b) Lazos de diseño (a) Herencia de atributos Propiedad importante de las entidades de alto i bajo nivel, definidas mediante la especialización y la generalización. Atributos de entidades de alto nivel son heredados por las entidades de nivel inferior. Ejemple: Entidades de nivel bajo CUENTA-CORRIENTE y CUENTA- AHORRO heredan atributos de la entidad CUENTA. 50

Entidades de nivel bajo también heredan la participación en interrelaciones de las cuales forma parte la entidad de nivel más alto. Ejemplo: Entidades CUENTA-CORRIENTE,CUENTA-AHORRO heredan la relación IMPOSITOR, en la cual participa la entidad CUENTA. Herencia puede tenir una estructura jerárquica. RETÍCULO: Entidad que es al nivel más bajo de una interrelación del tipo ES. Tiene más de una entidad de nivel alto. 51

(b) Lazos de diseño Definidas por el diseñador de la Base de Datos. Determinar qué instanciaciones de entidad pueden ser miembros de una entidad de nivel más bajo. Propiedades de los lazos: 1. Definición 2. Carácter 3. Completitud 52

1. Definición Forma en la cual se define una instanciación de entidad de alto nivel a una entidad de nivel más bajo. Dos formas: Definido por condición: Pertenencia de una instanciación a una entidad de nivel más bajo según una condición expĺıcita sobre un atributo. Ejemplo: Entidad COMPTE con atributo Tipus-Compte. Instanciaciones con Tipus-Compte= Corrent, incluidas en el subgrupo COMPTE-CORRENT. Instanciaciones con Tipus-Compte= Estalvi, incluidas en el subgrupo COMPTE-ESTALVI. Generalización definida por el atributo Tipus-Compte Definido por el usuario: Asignación de una instanciación a un subgrupo es hecha por el usuario. Asignación no sometida a ninguna condición expĺıcita. Asignación de cada instanciación una a una por separado. 53

2. Carácter Pertenencia de una instanciación a entidades de nivel bajo. Dos tipos: Entidad disjunta: Instanciación pertenece a una única entidad de nivel bajo. Ejemplo: Una instanciación de CUENTA en subgrupo CUENTA- AHORRO no puede estar en subgrupo CUENTA-CORRIENTE. Entidad solapada: Instanciación puede pertenecer a más de una entidad de nivel bajo. Ejemplo: Entidad EMPLEAT, donde un director puede participar en más de un proyecto, definido cada proyecto como subgrupo. 54

3. Completitud Especifica si las instanciaciones de una entidad de nivel alto están o no incluídas en las entidades de nivel más bajo. Dos tipos: TOTAL: TODA instanciación de entidad de alto nivel ha de pertenecer a una entidad de nivel más bajo. PARCIAL: Existen instanciaciones de entidad de alto nivel que no pertenecen a una entidad de nivel más bajo. Ejemplo: Generalización COMPTE-CORRENT,COMPTE-ESTAL- VI de la entidad COMPTE tiene lazo de completitud total. Toda cuenta ha de ser de uno de los dos tipos, corriente o de ahorro (estalvi) y por tanto ha de estar en uno de los dos subgrupos. 55

Entidades de nivel alto obtebidas por GENERALIZACIÓN (de más simples a más complejas) acostumbran a tener lazos de completitud TOTALES (se incluyen todos los elementos en la entidad de nivel bajo). Entidades de nivel alto obtenidas por ESPECIALIZACIÓN (de más complejas a más simples) acostumbran a tener lazos de completitud PARCIALES (con instanciaciones no clasificables). Ejemplo: Generalización de la entidad CUENTA a partir de las entidades CUENTA-CORRIENTE y CUENTA-AHORRO define un tipo de lazo: Definido por condición. De carácter disjunto. De completitud total. 56

Sobre els lazos, hay que definir ciertas condiciones de inserción y borrado: Si el lazo de completitud es TOTAL, cuando se añade una instancia en la entidad de nivel más alto hay que insertar esta instancia en una de las entidades de nivel más bajo. Si el lazo es DEFINIDO POR CONDICIÓN, cuando se añade una instancia en la entidad de nivel alto se ha de comprobar la condición, para poder insertar la instancia en una entidad de nivel más bajo. Si se borra una instancia de la entidad de nivel alto, hay que borrarla de las entidades de nivel más bajo (borrando UNA si el lazo es DISJUNTO, o DIVER- SAS si el lazo es SOLAPADO). 57

AGREGACIÓN Abstracción en la que un conjunto de interrelaciones y entidades se tratan como una única entidad de nivel más alto respecto el resto de entidades del esquema. Consecuencia de una limitación en el modelo E-R, que no permite expresar interrelaciones entre interrelaciones. Ejemplo: BD con información de clientes y préstamos. Dos interrelaciones entre entidades CLIENT i PRÉSTEC: PRESTATARI: Interrelación con correspondencia n n. RESPONSABLE-PRÉSTEC: Interrelación con correspondencia 1 n. Cada cliente-préstamo tiene un único empleado responsable del préstamo con atributos (Nombre-Empleado, DNI-E, Núm- Tel). Se quiere combinar ambas interrelaciones. Sin agregación, pueden haber dos soluciones: 1. COMBINAR ambas interrelaciones: Responsable-Préstamo assignado para cada cliente-préstamo com atributos a la interrelación. Datos del empleado Responsable-Préstamo repetidos por cada pareja Client-Préstamo, tantos como clientes tiene el préstamo REDUNDANCIA 58

2. SEPARAR ambas interrelaciones: Cada pareja cliente-préstamo está en las dos interrelaciones (REDUNDÀNCIA). Hay que garantizar que toda instanciación a la interrelación responsable-prèstamo es también a prestatario. responsable-prèstamo se puede asociar a todo cliente y préstamo independientemente de las instanciaciones asociadas a la interrelación prestatario. Este diseño permite que un préstamo no tenga responsable asignado aún. 59

AGREGACIÓN: Agrupar entidades CLIENTE, PRÉSTAMO e interrelación PRESTATARIO en una entidad PRES- TATARIO, que es tratada com cualquier otra entidad en el esquema. Interrelación RESPONSABLE-PRÉSTAMO entre entidades PRESTATARIO y EMPLEADO. responsable-préstamo se relaciona únicamente con los préstamos existentes a la interrelación prestatario, no con cualquier cliente o préstamo presente en las entidades. Este diseño permite que un préstamo no tenga responsable asignado aún. 60

Criterios de diseño de un esquema E-R Definiciones de entidad e interrelación son pooc precisas, pudiendolas describir de diferentes formas para un mismo problema de diseño. Criterios de diseño de un esquema E-R: Uso de entidades o atributos Us de entidades o interrelaciones Interrelaciones binarias o n-arias 61

USO DE ENTIDADES O ATRIBUTOS PROBLEMA: Dado un evento (objeto o acción) a modelar en la BD, como representarlo en el modelo E-R, como entidad o como atributo?. No hay una metodología óptima. Ejemplo: Objeto EMPLEADOS, con propiedades nombre y número de teléfon. Dos modelos de representación: 1. Entidad EMPLEADO con atributos Nombre, DNI, Número- Teléfono. SUPOSICIÓN IMPLÍCITA: Cada empleat tiene un único número de teléfono. 2. Entidades EMPLEADO(Nombre,DNI) y NÚMERO-TELÉFONO(Número, Ubicación), con interrelación EMPLEADO-TELÉFONO, asociando un empleado con todos los teléfonos que tiene. Cada empleado puede tener más de un teléfono. Un teléfono puede estar compartido por más de un empleado. No se considera que un número de teléfono tenga diferentes ubicaciones (supletorios). 62

USO DE ENTIDADES O INTERRELA- CIONES PROBLEMA: Dado un evento (objeto o acción) a modelar en la BD, com representarlo en el model E- R, como entidad o como interrelación?. No hay una metodología óptima. SUGERENCIA: Definir como interrelación una acción (tipo de evento) entre entidades y evaluar las propiedades de esta definición. Ejemplo: Evento préstamo bancario. Dos modelos de representación: 1. Entidad PRÉSTAMO(Número-Préstamo,Importe) SUPOSICIÓN IMPLÍCITA: Un sólo valor por número de préstamos e Importe. 63

2. Interrelación PRÉSTAMO(Número-Préstamo,Importe,Cuenta) entre entidades CLIENTE y SUCURSAL. Cada préstamo definido como una instanciación de la interrelación PRÉSTAMO. Si todo préstamo se asocia a un único cliente y a una única sucursal, el modelo es satisfactorio. Si diversos clientes comparten un préstamo, hay que definir una instanciación para cada cliente del préstamo, replicando los atributos (Número-Préstamo,Importe,Cuenta) para cada préstamo. REDUNDANCIA Tratada en la Teoría de la Normalización 64

INTERRELACIONES BINARIAS o n-arias Interrelaciones binarias más fáciles de entender. Se pueden definir esquemas E-R únicamente con interrelaciones binarias. 65

Toda interrelación n-aria se puede transformar en n interrelaciones binarias. Proposición: Dada una interrelación ternaria R con las entidades A,B,C, se puede sustituir en un esquema E-R por: Entidad E con: Atributos de la interrelación R. Atributos que permiten distinguir las instanciaciones de R (Claves Primarias de A,B,C). Interrelación R A entre las entidadse E,A. Interrelación R B entre las entidades E,B. Interrelación R C entre las entidades E,C. 66

de forma que para cada instanciación de R(a i, b i, c i ) es crea: Instanciación en entidad E Instanciación (e i, a i ) R A Instanciación (e i, b i ) R B Instanciación (e i, c i ) R C No siempre es deseable definir el esquema E-R con interrelaciones binarias: El atributo de identificación de la entidad E y las interrelaciones binarias adicionales incrementan la complejidad del diseño y los requisitos de almacenamiento. La interrelación n-ària aporta más información que las correspondientes binarias. TRAMPA DE CONEXIÓN 67

Diseño de un esquema E-R Modelo E-R da una gran flexibilitat para diseñar un esquema de BD a partir de unos requisitos de usuarios especificados. Diseñador de la BD ha de tomar decisiones del tipo: Utilizar un atributo o una interrelación para representar un evento (objeto o acción). Representar un evento como una entidad o una interrelación. Utilizar interrelaciones n-arias o binarias. Utilizar o no entidades fuertes y débiles para definir un evento. Usar o no la especialización y la generalización para definir una jerarquía de interrelaciones, modularizando la información dentro de la BD. Usar la agregación de forma apropiada. MODELO CONCEPTUAL DE DATOS: Proporciona al diseñador de la BD un marco conceptual donde especificar los requisitos de datos de los usuarios de la BD y como se estructurará la BD para cumplir estos requisitos. DISEÑO CONCEPTUAL 68

Ejemplos Ejemplo 1.1: Secretaría Universidad Relación entre profesores y alumnos teniendo en cuenta asignaturas, horarios, clases. Para cada profesor se guarda Nombre-Profesor y DNI. Para cada estudiante se guarda Nombre-Estudiante, DNI y Nota de cada asignatura. Para cada asignatura se guarda Código-Asignatura, Nombre-Asignatura, Horario, Aula. Supuestos semánticos: Un profesor imparte una única asignatura al estudiante. Cada asignatura tiene un único profesor, horario y aula donde se imparte la clase. PROBLEMA: Se repite la información de la asignatura (Código- A, Nombre-A, Horario, etc.) tantas veces como estudiantes tenga la asignatura. 69

Ejemplo 1.2: Secretaría Universidad Relación entre profesores y alumnes teniendo en cuenta asignaturas, horarios, clases. Para cada profesor se guarda Nombre-Profesor y DNI. Para cada estudiante se guarda Nombre-Estudiante, DNI y Nota de cada asignatura. Para cada asignatura se guarda Código-Asignatura, Nombre-Asignatura, Horario, Aula. Supuestos semánticos: Un profesor puede impartir más de una asignatura al estudiant. Cada asignatura tiene un único profesor, horario y aula donde se imparte la clase. 70

Ejemplo 1.3: Secretaría Universidad Relación entre profesores y alumnos teniendo en cuenta asignaturas, horarios, clases. Para cada profesor se guarda Nombre-Profesor y DNI. Para cada estudiante se guarda Nombre-Estudiante, DNI Nota de cada asignatura. Para cada asignatura se guarda Código-Asignatura, Nombre-Asignatura, Horario, Aula. Supuestos semánticos: Un profesor puede impartir más de una asignatura al estudiant. Cada asignatura tiene un único profesor, pero más de un horario y aula donde se imparte la clase. 71

Ejemplo 2: Compañía transportista. Compañía recoge envios de almacenes y los entrega a las tiendas. De los almacenes hay que guardar Código-Almacén y Ciudad donde se encuentra. De las tiendas hay que guardar Código-Tienda y Ciudad donde se encuentra. Supuestos semánticos: Se han de realizar envios de género de los almacenes a las tiendas. De cada envio interesa guardar Código-Envio, Peso y Volumen. Un grupo de envios con origen y destino comunes se agrupan en viajes, de los cuales hay que guardar el Código-Viaje, identificador único del viaje y el Número de Envios. Un camión transporta diversos viajes y entrega los diferentes envios a las tiendas correspondientes. De cada viaje, interessa saber qué camión lo ha hecho y la Fecha en la cual se ha hecho el viaje. Los camiones tienen diferente Código, Capacidad y Peso para transportar. 72

Ejemplo 3: BD de una liga de baloncesto. Interesa guardar como información sobre el jugador el Nombre, DNI, Dirección, Núm-Fitxa. Un jugador esta fichado por un equipo. Del equipo interesa guardar la información sobre Nombre-Equipo, Dirección. De un partido interesa guardar Jornada, Equipo-Casa, Equipo- Fuera, Resultado. Se quiere llevar el control de los jugadores que participan en cada partido, los equipos que juegan, el resultado de cada partido y la puntuación que ha hecho cada jugador en cada partido. Supuestos semánticos: Un jugador juega en un único equipo toda la temporada. Cada equipo tiene diversos jugadores y no todos juegan un partido. Dos equipos juegan dos partidos, uno en cada campo. Un equipo juega un partio en cada jornada. 73

PROBLEMA: Redundancia (Equip-C, Equip-F) en la entidad Partido. OTRA SOLUCIÓN: 74

Ejemplo 4: Compañía de discos. Notown Records tiene una plantilla de músicos y han decidido guardar la información en una BD. Supuestos semánticos: Interesa guardar como datos del músico Nombre, DNI, Dirección, Teléfono. Músicos poco pagados comparten una dirección y cada dirección tiene un único teléfono. Para cada instrumento se ha de guardar Nombre-Instrumento, Código-Instrumento, Clave Musical. Para cada álbum se guarda Código-Álbum, Título-Álbum, Fecha-Álbum, Número-CDs. Para cada canción se quiere guardar Título y Duración. Cada músico toca instrumentos y un instrumento puede ser tocado por diferentes músicos. Cada álbum tiene un conjunto de canciones y cada canción aparece únicamente en un álbum. Cada canción es interpretada per uno o más músicos y un músico puede tocar varias canciones. Para cada álbum, únicamente hay un músico que hace de productor. Un músico puede producir diversos álbums. 75

76

Ejemplo 5: Catastro municipal. Mantener información sobre las personas que viven en cada vivienda como puede ser Nombre i DNI, de los propietarios de las viviendas y del jefe de familia de cada vivienda. De cada vivenda se quiere guardar Calle, Número y los Metros Cuadrados. Supuestos semánticos: Hay dos tipos de viviendas: Casas: Vive una sola familia. Interesa guardar el Número de Plantas de la casa. Bloques de pisos: Conjunto de viviendas, donde en cada una habita una familia. Contiene un número variable de pisos. De cada piso interesa guardar Escalera, Planta y Piso. Toda persona habita en una sola vivienda, considerada como vivienda habitual. Cada vivienda tiene un único propietario. Las viviendas estan en un único barrio. Los barrios estan divididos geográficamente y hay que guardar el Nombre y Extensión en Km. cuadrados. El nombre de las calles es único dentro del municipio. Cada familia tiene un jefe de familia. 77

78

Ejemplo 6: BD Hospital Supuestos semánticos: Los pacientes se identifican mediante Nombre, DNI, Dirección, Edad. Médicos se identifican mediante Nombre, DNI, Especialidad, Años de Experiencia. Cada compañía farmacéutica se identifica por el Nombre, Direción, Teléfon. Para cada medicina se guarda el Nombre y la Fórmula. Cada medicina es fabricada por una Compañía y el nombre es único dentro de la Base de Datos. Cada farmacia tiene un Nombre y Dirección. único en la Base de Datos. El nombre es Cada paciente tiene un médico principal. Cada médico tiene como mínimo un paciente y, a poder ser, más de uno. Toda farmacia vende medicinas a un precio por cada una. Una medicina puede ser vendida en diferentes farmacias y su precio puede variar de una farmacia a otra. Los médicos recetan medicinas a los pacientes. Un médico puede recetar una o más medicinas a diferentes pacientes y un paciente puede tener recetas de diferentes médicos. Cada receta tiene una fecha y una cantidad asociada. Si un médico receta la misma medicina al mismo paciente sólo se guarda la última receta. Las compañías farmaceuticas tienen contratos a largo plazo con las farmacias. Una compañía puede contratar varias farmacias y una farmacia puede estar contratada por diferentes compañías. Para cada contrato hay que guardar Fecha Inicio, Fecha Final, Texto. Las farmacias tienen un supervisor para cada contrato con una compañía farmaceutica. En todo momento sólo puede haber un supervisor por contrato, pero puede cambiar durante la vida del contrato. 79

80

Ejemplo 7: BD Universidad Supuestos semánticos: Los profesores se identifican por Nombre, DNI, Edad, Categoría. Proyectos tienen Número Proyecto, Sponsor, Fecha Inicio, Fecha Fin, Cantidad. Estudiantes se identifican mediante Nombre, DNI, Edad, Estudios. Cada proyecto es dirigido por un único profesor y pueden trabajar uno o más profesores. Los profesores pueden trabajar en diferentes proyectos. En cada proyecto trabajan uno o más estudiantes. Cuando un estudiante está becado en un proyecto ha de ser supervisado por un profesor. Estudiantes pueden trabajar en diferentes proyectos, supervisados cada uno por profesores diferentes o comunes en algunos proyectos. Departamentos se identifican por Nombre, Código, Direción. Tienen un profesor que ejerce de Jefe de Departamento. Un profesor sólo puede ser jefe de un único departamento. Profesores trabajan en uno o más departamentos. Para cada departamento donde trabajan tienen asignada una dedicación en porcentaje. Estudiantes estan en un departamento, donde realizan los estudios. Cada estudiante tiene otro estudiante (consejero) que lo ayuda y aconseja en las asignaturas a cursar. 81

82