Tema 2 - Dpto. Ciencias de la Computación e Inteligencia Artificial

Anuncio
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 (descripció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 (descripción en lenguaje natural o gráfico de la estructura 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 conceptual.
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 conjunto de tablas relacionales.
Modelo lógico: lenguaje empleado para describir 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 determinado SGBD. Se detallan las estructuras fı́sicas
de almacenamiento de datos en el ordenador,
los métodos de acceso a dichos datos y el modelo de seguridad del sistema).
Nota 1. Sólo estudiaremos el diseño conceptual 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 modelo conceptual más utilizado para el diseño conceptual 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 conjunto 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, independientemente de cualquier otra entidad.
• Débil: depende de alguna entidad existente en el universo del discurso. Al desaparecer esta entidad superior, desaparecerá
la entidad débil vinculada a la misma.
Ejemplo: EJEMPLAR (entidad débil) que depende 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 entidad 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 información de la instancia de la entidad regular
con la que está relacionada.
Ejemplos: 1.- La relación entre Cliente y Pedido es débil en existencia. La entidad débil
Pedido puede identificarse por sı́ misma(mediante el código de pedido).
2.- La relación entre Cuenta-bancaria y Operación es débil en identificación. El número de
la operación no basta para identificarla, necesitamos 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 compuesto 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 obligatorio siempre debe tomar algún valor para
cada instancia de la entidad o la relación.
• Primitivo/Derivado: un atributo es derivado 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 instancia de la entidad. Además, dicho conjunto
de atributos debe ser minimal, esto es, ningún
subconjunto de atributos de la clave puede actuar 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 candidata elegida por el diseñador de la BD para
identificar una entidad.
Si una entidad débil tiene dependencia en identificación, NO posee clave primaria. En su lugar, 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 instancia 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 binarias. 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, instancia de Libro.
2.- Ejemplar participa con cardinalidad (0, n).
Fijada una instancia de Libro:
(-) puede no estar relacionada con ninguna instancia de Ejemplar ; y
(-)podrá estar relacionada con muchas instancias de Ejemplar.
Nota: En una relación débil, la entidad fuerte
participa con cardinalidad (0/1, 1).
(•) Relación Encuesta entre Persona y Ciudadde-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 instancias 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 instancias de E2 y viceversa.
(Ejemplo: Alumno y Asignatura)
15
Jerarquı́as de Generalización(I):
Descomposición de una entidad padre (o supertipo) en varias entidades hijo (o subtipos).
• Los subtipos heredan los atributos de la
entidad padre.
• Los subtipos pueden además poseer atributos propios.
Ejemplo: La entidad padre Documento se divide 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 rectángulo que representa el supertipo y conectado 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 solapada (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 reflexiva. 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 actualmente 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 combinació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 determinado libro publicado en una determinada editorial. 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 determinado autor publicar un mismo libro. Cardinalidad 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 entidades. (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 redundantes, eliminar o añadir entidades, eliminar 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
Descargar