21
Tema 2: Dise˜ no conceptual de Bases de Datos: elModeloEntidad–Relaci´on Andr´ es Cord´ on Franco Departamento de Ciencias de la Computaci´on e Inteligencia Artificial UNIVERSIDAD DE SEVILLA Bases de Datos Curso 2005–06 1

Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Embed Size (px)

Citation preview

Page 1: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Tema 2:

Diseno conceptual de Bases de Datos:

el Modelo Entidad–Relacion

Andres Cordon Franco

Departamento deCiencias de la Computacion e Inteligencia Artificial

UNIVERSIDAD DE SEVILLA

Bases de Datos

Curso 2005–06

1

Page 2: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Contenido:

2.1 Introduccion al diseno de BD

2.2 Elementos basicos del modelo ER:

Entidades, Atributos y Relaciones

2.3 Entidades debiles y fuertes: Concepto de

clave primaria y de discriminador

2.4 Cardinalidad y tipo de una relacion

2.5 Jerarquıas de Generalizacion

2.6 Uso de relaciones reflexivas

2

Page 3: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Introduccion al diseno de BD(I):

El diseno de una BD consta de tres fases:

(A) Diseno conceptual:

Se parte de: especificacion de requisitos (des-

cripcion detallada de la informacion que debe

recoger la BD y de las prestaciones que debe

ofrecer a los futuros usuarios).

Se obtiene: Esquema Conceptual (descrip-

cion en lenguaje natural o grafico de la estruc-

tura de la BD, independiente del SGBD que se

usara posteriormente para implementarla).

Modelo conceptual: lenguaje natural o grafico

que se emplea para describir un esquema con-

ceptual.

3

Page 4: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Introduccion al diseno de BD(II):

(B) Diseno logico:

Se parte de: esquema conceptual.

Se obtiene: Esquema logico (descripcion de

la estructura de la BD basada en el modelo de

datos elegido para implementarla).

Por ejemplo, descripcion grafica de un con-

junto de tablas relacionales.

Modelo logico: lenguaje empleado para des-

cribir el esquema logico. Es independiente del

SGBD que se empleara para implementar la

base de datos, pero sı depende del modelo de

datos elegido.

Nota. Posteriormente estudiaremos tecnicas

de mejora de los esquemas logicos basados en

el modelo relacional: Normalizacion en BD.4

Page 5: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Introduccion al diseno de BD(III):

(C) Diseno fısico:

Se parte de: esquema logico.

Se obtiene: Esquema fısico (descripcion de la

implementacion de la BD usando un determi-

nado SGBD. Se detallan las estructuras fısicas

de almacenamiento de datos en el ordenador,

los metodos de acceso a dichos datos y el mo-

delo de seguridad del sistema).

Nota 1. Solo estudiaremos el diseno concep-

tual y el diseno logico de BD.

Nota 2. En este curso simpre emplearemos...

Modelo conceptual: modelo Entidad–Relacion

Modelo logico: modelo de datos relacional

5

Page 6: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Introduccion al modelo ER:

El modelo Entidad–Relacion (ER) es el mode-

lo conceptual mas utilizado para el diseno con-

ceptual de BD. Dicho modelo fue introducido

por Peter Chen en 1976 en el artıculo:

(•) The Entity–Relationship Model. Toward a

Unified View of Data, Chen, P. Transactions

on Database Systems, Vol.1, 1976 (pp.9–36)

El modelo ER esta formado por un conjunto

de conceptos (entidad, atributo, relacion) que

permiten describir la infromacion relevante de

cierta parcela de la realidad mediante un con-

junto de representaciones graficas.

El esquema conceptual asociado se llama

Diagrama Entidad–Relacion(DER).

6

Page 7: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Entidades:

Entidad: cualquier objeto concreto o abstractodel que se desea almacenar informacion.Una entidad puede ser una persona, un lugar,una cosa, un concepto, un suceso, ...

Cada entidad tiene asociado un NOMBRE(usualmente, sustantivo comun singular).

Ejemplos: AUTOR, LIBRO, PRESTAMO,...Lope de Vega es una instancia de AUTOR

Representacion grafica: un rectangulo.

• Regular o fuerte: tiene existencia por sımisma en el universo del discurso, indepen-dientemente de cualquier otra entidad.

• Debil: depende de alguna entidad exis-tente en el universo del discurso. Al desa-parecer esta entidad superior, desaparecerala entidad debil vinculada a la misma.

Ejemplo: EJEMPLAR (entidad debil) que de-pende de LIBRO (entidad fuerte)

Nota: Entidad debil: doble rectangulo.

7

Page 8: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Relaciones(I):

Relacion: correspondencia o asociacion entre

dos o mas entidades.

Cada entidad tiene asociado un NOMBRE

(usualmente, verbo en singular).

Ejemplo: Escribe relaciona la entidad Autor y

la entidad Libro. La correspondencia Lope de

Vega–El perro del hortelano es una instancia

de la relacion Escribe.

Representacion grafica: un rombo.

Como las entidades, una relacion puede ser:

• Regular o fuerte: todas las entidades que

relaciona son fuertes.

• Debil: al menos una de las entidades que

relaciona es una entidad debil.

Nota: Relacion debil: doble rombo.

8

Page 9: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Relaciones(II):

Las relaciones debiles lo pueden ser...

• por Existencia(E): una instancia de la en-tidad debil no puede existir si desaparecela instancia de la entidad fuerte de la quedepende, pero sı puede ser identificada porsı misma.

• por Identificacion(ID): es una relacion debilpor existencia y, ademas, una instancia dela entidad debil no puede ser identificadapor sı misma. Es necesario anadir infor-macion de la instancia de la entidad regularcon la que esta relacionada.

Ejemplos: 1.- La relacion entre Cliente y Pe-dido es debil en existencia. La entidad debilPedido puede identificarse por sı misma(me-diante el codigo de pedido).

2.- La relacion entre Cuenta-bancaria y Ope-racion es debil en identificacion. El numero dela operacion no basta para identificarla, nece-sitamos ademas el numero de cuenta.

9

Page 10: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Atributos(I):

Atributo: propiedad o caracterıstica de interes

que describe a una entidad o a una relacion.

Rango o dominio de un atributo: conjunto de

valores que puede tomar el atributo.

Ejemplos: 1.- DNI, Nombre, Domicilio, Edad

son atributos de la entidad Alumno.

Dominio(Edad) ⇒ numero entero

Dominio(Nombre) ⇒ cadena de texto

Dominio(Domicilio) ⇒ cadena de texto

2.- Fecha es un atributo de la relacion Presta

que asocia las entidades Libro y Persona.

Dominio(Fecha) ⇒ formato fecha–hora

Representacion grafica: un ovalo.

10

Page 11: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Atributos(II):

Tipos de atributos:

• Simple/Compuesto: un atributo es com-

puesto cuando esta formado por mas de un

atributo.

• Univaluado/multivaluado: un atributo es

multivaluado cuando puede contener mas

de un valor.

• Obligatorio/Opcional: un atributo obli-

gatorio siempre debe tomar algun valor para

cada instancia de la entidad o la relacion.

• Primitivo/Derivado: un atributo es de-

rivado cuando su valor puede calcularse a

partir de los valores de otros atributos.

11

Page 12: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Claves de una entidad:

Clave: conjunto de uno o mas atributos quepermiten identificar de forma unica a cada ins-tancia de la entidad. Ademas, dicho conjuntode atributos debe ser minimal, esto es, ningunsubconjunto de atributos de la clave puede ac-tuar tambien como clave.

Clave candidata: cada una de los conjuntosde atributos que pueden actuar como clave deuna entidad.

Clave primaria (PK=Primary Key): clave can-didata elegida por el disenador de la BD paraidentificar una entidad.

Si una entidad debil tiene dependencia en iden-tificacion, NO posee clave primaria. En su lu-gar, posee un discriminador.

Discriminador de una entidad debil: conjuntominimal de atributos que, junto con la claveprimaria de la entidad fuerte de la que dependeen identificacion, permiten identificar cada ins-tancia de la entidad.

12

Page 13: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Cardinalidad. Tipo de una relacion(I):

Grado: numero de entidades que intervienen

en la relacion.

Nota: binaria≡ grado 2, ternaria≡ grado 3,...

Nota: Podemos restringirnos a relaciones bi-

narias. En efecto, una relacion de grado k > 2

puede simularse anadiendo una nueva entidad

y k nuevas relaciones binarias.

Cardinalidad de la entidad E1 en la relacion R:

es el par (a, b) que indica el numero mınimo(=a)

y maximo(=b) de instancias de E1 que pueden

estar asociadas a una instancia fija de E2.

Son posibles las siguientes cardinalidades:

(0,1), (1,1), (0, n), (1, n), (m, n).

Nota: m, n significan “muchos”.

13

Page 14: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Cardinalidad. Tipo de una relacion(II):

Ejemplos:

(•) Relacion Posee entre Libro y Ejemplar.1.- Libro participa con cardinalidad (1,1).Fijada una instancia de Ejemplar :(-) estara relacionada con 1, y solo una, ins-tancia de Libro.

2.- Ejemplar participa con cardinalidad (0, n).Fijada una instancia de Libro:(-) puede no estar relacionada con ninguna ins-tancia de Ejemplar ; y(-)podra estar relacionada con muchas instan-cias de Ejemplar.

Nota: En una relacion debil, la entidad fuerteparticipa con cardinalidad (0/1,1).

(•) Relacion Encuesta entre Persona y Ciudad-de-veraneo.Ambas entidades participan en la relacion concardinalidad (0, n).

14

Page 15: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Cardinalidad. Tipo de una relacion(III):

Tipo de una relacion: se define a partir de los

maximos de las cardinalidades de las entidades

que intervienen en la relacion.

Distinguimos tres tipos de relaciones binarias:

• Una a una (1:1): una instancia de E1 esta

asociada con 1,y solo una, instancia de E2.

(Ejemplo: Paıs y Capital)

• Una a muchas (1:N): una instancia de E1

puede estar asociada con muchas instan-

cias de E2, pero una instancia de E2 solo

puede estar asociada con 1 instancia de E1.

(Ejemplo: Cliente y Pedido)

• Muchas a Muchas (N:M): una instancia de

E1 puede estar asociada con muchas ins-

tancias de E2 y viceversa.

(Ejemplo: Alumno y Asignatura)

15

Page 16: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Jerarquıas de Generalizacion(I):

Descomposicion de una entidad padre (o su-

pertipo) en varias entidades hijo (o subtipos).

• Los subtipos heredan los atributos de la

entidad padre.

• Los subtipos pueden ademas poseer atri-

butos propios.

Ejemplo: La entidad padre Documento se di-

vide en los subtipos Libro, Artıculo y Revista.

Para incluir jerarquıas en el modelo E–R, se

emplean relaciones de especializacion ES-UN

(en ingles, IS-A).

Representacion grafica de relaciones ES-UN:

triangulo invertido, con la base paralela al rec-

tangulo que representa el supertipo y conecta-

do a los subtipos.

16

Page 17: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Jerarquıas de Generalizacion(II):

Clasificacion de jerarquıas:

(A) Total o Parcial.

Total: cada instancia del supertipo perteneceobligatoriamente a un subtipo.

Parcial: existen instancias del supertipo que nopertenecen a ningun subtipo.

(una jerarquıa parcial se transforma en totalanadiendo un nuevo subtipo Otros).

(B) Exclusiva o Solapada:

Exclusiva: Una instancia de la entidad padresolo puede pertencer a un unico subtipo.

Solapada: una instancia de la entidad padrepuede pertenecer a mas de un subtipo.

Ejemplos:El supertipo Persona y los subtipos Hombre,Mujer forman una jerarquıa total y exclusiva.

El supertipo Obra y los subtipos Libro, Artıculo,Recopilacion forman una jerarquıa parcial y so-lapada (una recopilacion es tambien un libro).

17

Page 18: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Tipos especiales de relacion(I):

(•) Relacion reflexiva: relaciona una entidad

consigo misma.

Ejemplo: empleados de una empresa que pueden

ser jefes de otros empleados.

Si los empleados pueden dividirse en jefes y

subordinados, es preferible usar una jerarquıa

de generalizacion en lugar de una relacion re-

flexiva. Pero si un jefe puede a su vez tener

otro jefe de nivel superior y ası recursivamente

es necesario usar una relacion reflexiva.

(•) Dos o mas relaciones entre las mismas

dos entidades: util para almacenar informacion

historica completa.

Ejemplo: proyectos en los que trabaja actual-

mente un empleado y proyectos en los que ha

trabajado anteriormente.

18

Page 19: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Tipos especiales de relacion(II):

(•) Relaciones de grado k ≥ 3.Para hallar la cardinalidad con la que participauna entidad E1 en una relacion ternaria (engeneral, de grado k ≥ 3) se fija una combi-nacion de dos (en general, k−1) instancias delas entidades restantes; y se calcula el numeromınimo y maximo de instancias de E1 que serelacionan con dicha combinacion.

Ejemplo: Relacion Edita entre las entidadesLibro, Autor y Editorial.

(•) Cuantos autores puede tener un determi-nado libro publicado en una determinada edi-torial. Cardinalidad de Autor (0, n).

(•) Cuantos libros puede tener un determinadoautor publicados en una determinada editorial.Cardinalidad de Libro (0, n).

(•) En cuantas editoriales puede un determi-nado autor publicar un mismo libro. Cardinali-dad de Editorial (0,1).

Nota: Tipo de relacion: (1:N:M)

19

Page 20: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Fases para la obtencion del DER

• Identificar las entidades dentro del sistema.

(Entidades fuertes y entidades debiles).

• Identificar y describir los atributos de cada

entidad. (Tipo de dato y dominio).

• Determinar las claves primarias de las en-

tidades. (Discriminadores para entidades

debiles).

• Establecer las relaciones entre la entidades

y obtener su cardinalidad.

• Diagrama E–R. Representar graficamente

el modelo obtenido.

• Verificacion. (Eliminar relaciones redun-

dantes, eliminar o anadir entidades, elimi-

nar o anadir atributos de una entidad, ...)

20

Page 21: Tema 2: Dise~no conceptual de Bases de Datos: el Modelo Entidad… · Introducci¶on al modelo ER: El modelo Entidad{Relaci¶on (ER) es el mode-lo conceptual m¶as utilizado para

Bibliografıa:

• Concepcion y diseno de bases de datos,

Adoracion de Miguel, Mario Piattini, RA–

MA Editorial (1993)

• Apuntes de Ficheros y Bases de Datos,

Mercedes Marques, Universidad Jaume I en

Castellon (2001)

21