Está en la página 1de 21

Tema 2:

Diseño conceptual de Bases de Datos:


el Modelo Entidad–Relación

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:

2.1 Introducción al diseño de BD

2.2 Elementos básicos del modelo ER:


Entidades, Atributos y Relaciones

2.3 Entidades débiles y fuertes: Concepto de


clave primaria y de discriminador

2.4 Cardinalidad y tipo de una relación

2.5 Jerarquı́as de Generalización

2.6 Uso de relaciones reflexivas

2
Introducción al diseño de BD(I):

El diseño de una BD consta de tres fases:

(A) Diseño conceptual:

Se parte de: especificación de requisitos (des-


cripción detallada de la información que debe
recoger la BD y de las prestaciones que debe
ofrecer a los futuros usuarios).

Se obtiene: Esquema Conceptual (descrip-


ción en lenguaje natural o gráfico de la estruc-
tura de la BD, independiente del SGBD que se
usará posteriormente para implementarla).

Modelo conceptual: lenguaje natural o gráfico


que se emplea para describir un esquema con-
ceptual.

3
Introducción al diseño de BD(II):

(B) Diseño lógico:

Se parte de: esquema conceptual.

Se obtiene: Esquema lógico (descripción de


la estructura de la BD basada en el modelo de
datos elegido para implementarla).
Por ejemplo, descripción gráfica de un con-
junto de tablas relacionales.

Modelo lógico: lenguaje empleado para des-


cribir el esquema lógico. Es independiente del
SGBD que se empleará para implementar la
base de datos, pero sı́ depende del modelo de
datos elegido.

Nota. Posteriormente estudiaremos técnicas


de mejora de los esquemas lógicos basados en
el modelo relacional: Normalización en BD.
4
Introducción al diseño de BD(III):

(C) Diseño fı́sico:

Se parte de: esquema lógico.

Se obtiene: Esquema fı́sico (descripción de la


implementación de la BD usando un determi-
nado SGBD. Se detallan las estructuras fı́sicas
de almacenamiento de datos en el ordenador,
los métodos de acceso a dichos datos y el mo-
delo de seguridad del sistema).

Nota 1. Sólo estudiaremos el diseño concep-


tual y el diseño lógico de BD.

Nota 2. En este curso simpre emplearemos...


Modelo conceptual: modelo Entidad–Relación
Modelo lógico: modelo de datos relacional
5
Introducción al modelo ER:

El modelo Entidad–Relación (ER) es el mode-


lo conceptual más utilizado para el diseño 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 está formado por un conjunto


de conceptos (entidad, atributo, relación) que
permiten describir la infromación relevante de
cierta parcela de la realidad mediante un con-
junto de representaciones gráficas.

El esquema conceptual asociado se llama


Diagrama Entidad–Relación(DER).

6
Entidades:
Entidad: cualquier objeto concreto o abstracto
del que se desea almacenar información.
Una entidad puede ser una persona, un lugar,
una cosa, un concepto, un suceso, ...
Cada entidad tiene asociado un NOMBRE
(usualmente, sustantivo común singular).
Ejemplos: AUTOR, LIBRO, PRÉSTAMO,...
Lope de Vega es una instancia de AUTOR
Representación gráfica: un rectángulo.
• Regular o fuerte: tiene existencia por sı́
misma en el universo del discurso, indepen-
dientemente de cualquier otra entidad.

• Débil: depende de alguna entidad exis-


tente en el universo del discurso. Al desa-
parecer esta entidad superior, desaparecerá
la entidad débil vinculada a la misma.

Ejemplo: EJEMPLAR (entidad débil) que de-


pende de LIBRO (entidad fuerte)
Nota: Entidad débil: doble rectángulo.
7
Relaciones(I):

Relación: correspondencia o asociación entre


dos o más 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 relación Escribe.

Representación gráfica: un rombo.

Como las entidades, una relación puede ser:

• Regular o fuerte: todas las entidades que


relaciona son fuertes.

• Débil: al menos una de las entidades que


relaciona es una entidad débil.

Nota: Relación débil: doble rombo.


8
Relaciones(II):
Las relaciones débiles lo pueden ser...
• por Existencia(E): una instancia de la en-
tidad débil no puede existir si desaparece
la instancia de la entidad fuerte de la que
depende, pero sı́ puede ser identificada por
sı́ misma.

• por Identificación(ID): es una relación débil


por existencia y, además, una instancia de
la entidad débil no puede ser identificada
por sı́ misma. Es necesario añadir infor-
mación de la instancia de la entidad regular
con la que está relacionada.

Ejemplos: 1.- La relación entre Cliente y Pe-


dido es débil en existencia. La entidad débil
Pedido puede identificarse por sı́ misma(me-
diante el código de pedido).
2.- La relación entre Cuenta-bancaria y Ope-
ración es débil en identificación. El número de
la operación no basta para identificarla, nece-
sitamos además el número de cuenta.
9
Atributos(I):

Atributo: propiedad o caracterı́stica de interés


que describe a una entidad o a una relación.

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) ⇒ número entero


Dominio(Nombre) ⇒ cadena de texto
Dominio(Domicilio) ⇒ cadena de texto

2.- Fecha es un atributo de la relación Presta


que asocia las entidades Libro y Persona.

Dominio(Fecha) ⇒ formato fecha–hora

Representación gráfica: un óvalo.


10
Atributos(II):

Tipos de atributos:

• Simple/Compuesto: un atributo es com-


puesto cuando está formado por más de un
atributo.

• Univaluado/multivaluado: un atributo es
multivaluado cuando puede contener más
de un valor.

• Obligatorio/Opcional: un atributo obli-


gatorio siempre debe tomar algún valor para
cada instancia de la entidad o la relación.

• Primitivo/Derivado: un atributo es de-


rivado cuando su valor puede calcularse a
partir de los valores de otros atributos.

11
Claves de una entidad:
Clave: conjunto de uno o más atributos que
permiten identificar de forma única a cada ins-
tancia de la entidad. Además, dicho conjunto
de atributos debe ser minimal, esto es, ningún
subconjunto de atributos de la clave puede ac-
tuar también como clave.
Clave candidata: cada una de los conjuntos
de atributos que pueden actuar como clave de
una entidad.
Clave primaria (PK=Primary Key ): clave can-
didata elegida por el diseñador de la BD para
identificar una entidad.
Si una entidad débil tiene dependencia en iden-
tificación, NO posee clave primaria. En su lu-
gar, posee un discriminador.
Discriminador de una entidad débil: conjunto
minimal de atributos que, junto con la clave
primaria de la entidad fuerte de la que depende
en identificación, permiten identificar cada ins-
tancia de la entidad.
12
Cardinalidad. Tipo de una relación(I):

Grado: número de entidades que intervienen


en la relación.

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

Nota: Podemos restringirnos a relaciones bi-


narias. En efecto, una relación de grado k > 2
puede simularse añadiendo una nueva entidad
y k nuevas relaciones binarias.

Cardinalidad de la entidad E1 en la relación R:


es el par (a, b) que indica el número mı́nimo(=a)
y máximo(=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
Cardinalidad. Tipo de una relación(II):

Ejemplos:
(•) Relación Posee entre Libro y Ejemplar.
1.- Libro participa con cardinalidad (1, 1).
Fijada una instancia de Ejemplar :
(-) estará relacionada con 1, y sólo 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
(-)podrá estar relacionada con muchas instan-
cias de Ejemplar.

Nota: En una relación débil, la entidad fuerte


participa con cardinalidad (0/1, 1).

(•) Relación Encuesta entre Persona y Ciudad-


de-veraneo.
Ambas entidades participan en la relación con
cardinalidad (0, n).
14
Cardinalidad. Tipo de una relación(III):

Tipo de una relación: se define a partir de los


máximos de las cardinalidades de las entidades
que intervienen en la relación.

Distinguimos tres tipos de relaciones binarias:

• Una a una (1:1): una instancia de E1 está


asociada con 1,y sólo 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 sólo
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
Jerarquı́as de Generalización(I):

Descomposición 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 además 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 especialización ES-UN
(en inglés, IS-A).

Representación gráfica de relaciones ES-UN:


triángulo invertido, con la base paralela al rec-
tángulo que representa el supertipo y conecta-
do a los subtipos.
16
Jerarquı́as de Generalización(II):

Clasificación de jerarquı́as:
(A) Total o Parcial.
Total: cada instancia del supertipo pertenece
obligatoriamente a un subtipo.
Parcial: existen instancias del supertipo que no
pertenecen a ningún subtipo.
(una jerarquı́a parcial se transforma en total
añadiendo un nuevo subtipo Otros).
(B) Exclusiva o Solapada:
Exclusiva: Una instancia de la entidad padre
sólo puede pertencer a un único subtipo.
Solapada: una instancia de la entidad padre
puede pertenecer a más 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,
Recopilación forman una jerarquı́a parcial y so-
lapada (una recopilación es también un libro).
17
Tipos especiales de relación(I):

(•) Relación 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 generalización en lugar de una relación re-
flexiva. Pero si un jefe puede a su vez tener
otro jefe de nivel superior y ası́ recursivamente
es necesario usar una relación reflexiva.

(•) Dos o más relaciones entre las mismas


dos entidades: útil para almacenar información
histórica completa.

Ejemplo: proyectos en los que trabaja actual-


mente un empleado y proyectos en los que ha
trabajado anteriormente.
18
Tipos especiales de relación(II):

(•) Relaciones de grado k ≥ 3.


Para hallar la cardinalidad con la que participa
una entidad E1 en una relación ternaria (en
general, de grado k ≥ 3) se fija una combi-
nación de dos (en general, k − 1) instancias de
las entidades restantes; y se calcula el número
mı́nimo y máximo de instancias de E1 que se
relacionan con dicha combinación.
Ejemplo: Relación Edita entre las entidades
Libro, Autor y Editorial.
(•) Cuántos autores puede tener un determi-
nado libro publicado en una determinada edi-
torial. Cardinalidad de Autor (0, n).
(•) Cuántos libros puede tener un determinado
autor publicados en una determinada editorial.
Cardinalidad de Libro (0, n).
(•) En cuántas editoriales puede un determi-
nado autor publicar un mismo libro. Cardinali-
dad de Editorial (0, 1).
Nota: Tipo de relación: (1:N:M)
19
Fases para la obtención del DER

• Identificar las entidades dentro del sistema.


(Entidades fuertes y entidades débiles).

• Identificar y describir los atributos de cada


entidad. (Tipo de dato y dominio).

• Determinar las claves primarias de las en-


tidades. (Discriminadores para entidades
débiles).

• Establecer las relaciones entre la entidades


y obtener su cardinalidad.

• Diagrama E–R. Representar gráficamente


el modelo obtenido.

• Verificación. (Eliminar relaciones redun-


dantes, eliminar o añadir entidades, elimi-
nar o añadir atributos de una entidad, ...)

20
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)

21

También podría gustarte