&!
Diagrama de
Entidad-Relación
B ASE DE D ATOS
Docente Albert Anibal Osiris SOFIA
Raúl HEREDIA
Mirna SEPULVEDA Mirta VILLALBA Claudia VIOLA
Año 2002
&!
Índice
Introducción Pag. 3
Diagrama Entidad-Relación Pag. 4
Entidades y conjunto de entidades Pag. 4
Relaciones y conjunto de relaciones Pag. 4
Cardinalidad Pag. 5
Entidades débiles o dependientes Pag. 7
Atributos Pag. 7
Claves Pag. 9
Subclases, Superclases y Especialización Pag. 10 Herencia de atributos en la relación Clase/subclase Pag. 10
Especialización Pag. 10
Generalización Pag. 11
Agregación Pag. 12
Bibliografía y fuentes de consulta Pag. 14
&!
Introducción
El modelo de entidad-relación e presentado formalmente en el año 1976 por uno de sus autores originales, E. P. Chen.
El modelo de entidad-relación es una herramienta que actualmente posee el mayor nivel de abstracción, ya que no tiene un nivel de implementación exacto, el objetivo de su utilización es comprender la naturaleza de los datos, de la información y su significado, por esto es eficiente para analizar lo que se convertirá en una Base de Datos. Es común que algunos autores referencien a este modelo como un modelo semántico.
Siempre es conveniente comenzar el diseño de la base de datos utilizando el modelo de entidad-relación, ya que nos ayudará a interpretar la información y jerarquizarla según la importancia que le da el usuario.
Por lo anteriormente expresado se puede considerar al modelo entidad-relación como una fina capa previa a cualquiera de los otros modelos de base de datos que se pueden implementar.
El modelo de entidad-relación es informal, es decir no existen principios formales en los que se base, es una serie de convenciones, supuestos, subjetividades y abstracciones que el diseñador deberá aplicar guiado de su sentido común.
Se basa en una percepción de un mundo real, que consiste en un conjunto de objetos básicos que se llaman entidades y relaciones para representar la realidad.
Se desarrolló para facilitar el diseño de base de datos, permitiendo la especificación de un esquema empresarial que representa la estructura lógica global de la base de datos.
&!
Diagrama Entidad-Relación
Denominado por sus siglas como: E-R; Este modelo representa a la realidad a través de un esquema gráfico empleando los terminología de entidades, que son objetos que existen y son los elementos principales que se identifican en el problema a resolver con el diagramado y se distinguen de otros por sus características particulares denominadas atributos, el enlace que rige la unión de las entidades esta representada por la relación del modelo.
Entidades y Conjunto de Entidades
• Entidades: Son cosas u objetos del mundo real, abstractas o concretas, tangibles o intangibles, que son distinguibles de los demás objetos. Tienen un conjunto de propiedades, y los valores para algún conjunto de propiedades pueden identificar una entidad de forma unívoca. Por ejemplo, el D.N.I. Nº 17.236.587 identifica unívocamente a una persona.
• Conjunto de Entidades: Es la totalidad de las entidades de un mismo tipo y que comparten las mismas propiedades.
• La entidades se representan gráficamente mediante un rectángulo.
Relaciones y Conjunto de Relaciones
• Relación: Es una asociación entre diferentes entidades. Por ejemplo, un cliente compra artículos; donde compra es la relación entre ambas entidades.
• Conjunto de Relaciones: Es un conjunto de relaciones del mismo tipo.
Formalmente, es una relación matemática con n >= 2 de conjuntos de entidades, entonces un conjunto de relaciones R es un subconjunto de :
{(e1, e2, ..., en)| e1∈ E1, e2∈ E2, ..., en∈ En} donde (e1, e2, ..., en) es una relación.
alumno
&!
• La relación entre entidades se representa mediante un rombo.
Las relaciones pueden ser del tipo binarias o n-arias. En las relaciones binarias solamente se asocia a dos entidades.
En cambio, en las relaciones n-arias, se pueden asociar mas de dos entidades, las más comunes son las de tipo triarias.
Al número de conjunto de entidades que participan en un conjunto de relaciones se le denomina grado del conjunto de relaciones, de esta forma un conjunto de relaciones binarias tiene grado 2.
La participación de un conjunto de entidades E en un conjunto de relaciones R se dice que es total si cada entidad en E participa en al menos una relación en R.
Si solo algunas entidades en E participan en relaciones en R se dice que la participación del conjunto de entidades en E en la relación es parcial.
Cardinalidad
Expresa el número de entidades a las que otra entidad puede estar asociada a través de un conjunto de relaciones.
compra
cliente artículos
&!
En el caso de las relaciones binarias, la cardinalidad será de una de las siguientes formas:
Uno a uno.
Uno a varios.
Varios a uno.
Varios a varios.
En el D.E.R., la cardinalidad se grafica de la siguiente manera:
Significa uno
Significa varios
La correspondencia de cardinalidades debe ser una de las siguientes:
a) Uno a Uno: Una instancia de A se relaciona a lo sumo con una instancia de B y viceversa.
“Un hombre está casado solo con una mujer, y una mujer esta casada con un solo hombre”
b) Uno a Varios: Una instancia de A se relaciona con 0 o varias instancias de B, pero cada instancia de B esta asociada a lo sumo con una de A.
“Un jugador de fútbol juega en un solo equipo, pero en un equipo hay varios jugadores”
c) Varios a uno: Las instancias de A pueden asociarse a lo sumo con una de B, y cada instancia de B puede asociarse con 0 o más instancias de A.
hombre
casado mujer
jugador integra equipo
&!
“Una escuela tiene muchos alumnos, cada alumno pertenece a una única escuela”
d) Varios a Varios: Las instancias de A se asocian con cualquier cantidad de instancias de B y viceversa.
“Un alumno cursa varias materias, una materia es cursada por varios alumnos”
Entidades débiles o dependientes
En ocasiones ocurre que existen entidades que solo importan si existen otras, o sea, que si la existencia de la entidad x depende de la existencia de la entidad y, se dice que x tiene dependencia de existencia de y. La entidad y es la entidad dominante y la entidad x es la subordinada. Las entidades débiles no tiene clave.
“La existencia de los datos de los hijos de los empleados en una empresa depende de la existencia del empleado”
Un conjunto de entidades débiles se puede modelar en forma más adecuada como un atributo si solo participa en la relación de identificación y si tiene pocos atributos.
Por otra parte, una representación de conjunto de entidades débil será más adecuada para modelar una situación en que el conjunto participe en otras relaciones.
Atributos
• Atributos: Son las propiedades descriptivas que poseen todos los elementos de un conjunto de entidades. Por ejemplo alumno = (nombre-alumno, dni-alumno,
escuela estudia alumno
alumno cursa materia
empleado hijo
&!
dirección, carrera). Y el dominio de los atributos son los conjuntos de valores permitidos para cada uno.
Un atributo en el modelo de entidad-relación se clasifica en los siguientes tipos:
1. Simples: no están divididos en sub-partes, como por ejemplo Nº de factura, Nº Libreta_Universitaria.
2. Compuestos: se pueden dividir en sub-partes, es decir en otros atributos, por ejemplo dirección_cliente se puede dividir en nombre_calle, Nº, Piso, Dpto.
3. Univalorados: tiene un solo valor para una entidad concreta, como ser Nº_cuenta para una entidad caja_ahorro específica, es decir se referencia a un única cuenta.
4. Multivalorados: tiene un conjunto de valores para una entidad específica, considérese una entidad profesor con el atributo catedra_impartida.
5. Nulos: se utiliza cuando una entidad no tiene un valor para un atributo; por ejemplo cuando un cliente no vive en un edificio; o que este no es conocido.
6. Derivados: el valor de un atributo se puede derivar de los valores de otros atributos o entidades, el conjunto de entidades alumnos que tiene como atributos Parcial1, Parcial2, Parcial3, donde el atributo Promedio se deriva de los otros tres.
Conjunto de
Entidades Cliente
Atributos
compuestos Nombre_cliente Dcion_cliente
Atributos
componentes Nombre 1er_apellido 2do_apellido calle Ciudad Pcia Cod.Post
Atributo simple Nombre Nro.
• Los atributos se representan mediante elipses.
alumno Nombre_alumno
dni_alumno
carrera direccion
&!
Claves
Debería ser posible distinguir una entidad dentro de un conjunto de entidades y una relación dentro de un conjunto de relaciones, esto se hace mediante la clave.
Una superclave es un conjunto de uno o más atributos que tomados colectivamente, permiten identificar de forma única una entidad en el conjunto de entidades.
Al tener una superclave atributos innecesarios, interesa introducir el concepto de claves candidatas que son las superclaves tales que los subconjuntos propios de ellas no son superclaves.
Se usa el término de clave primaria para denotar una clave candidata que es elegida por el diseñador como elemento principal para identificar las entidades dentro de un conjunto de entidades. Una clave (primaria, candidata y superclave) es una propiedad del conjunto de entidades, más que de las entidades individuales.
Entidad Atributos
Cliente Dni Domicilio Telefono Tipo cuenta
Artículo Codigo Descripción Stock_minimo Stock actual Materia Id_material Id_carrera Profesor año
En un conjunto de entidades débiles la clave parcial se denomina discriminante, y es el atributo que permite distinguir las entidades que dependen de una entidad particular fuerte.
La clave primaria de un conjunto de entidades débil se forma con la clave primaria del conjunto de entidades fuertes más el discriminante.
Para determinar las claves, se obtendrán aquellos atributos que identifiquen unívocamente cada ocurrencia de cada entidad. Si para una entidad concreta hubiera varios, se elegirá uno de ellos.
Lógicamente, este atributo o conjunto de atributos que constituyen la clave, no podrá tener valores sin información (nulos), ya que esto no permitiría determinar claramente una ocurrencia de entidad.
&!
Subclases, Superclases y Especialización.
En el modelo Entidad-Relación, una entidad agrupa un conjunto de ocurrencias de entidad del mismo tipo. En muchos casos, estas ocurrencias se pueden agrupar a su vez en otros subconjuntos que tienen un significado propio para los propósitos de la Base de Datos y, por tanto, deberían representarse de forma explícita.
Por ejemplo, la entidad empleado puede a su vez subdividirse en secretaria, ingeniero, jefe, técnico, asalariado, subcontratado, etc. El conjunto de ocurrencias de entidad en cada una de estas entidades será un subconjunto de las ocurrencias de entidad de empleado, ya que por ejemplo, un ingeniero también es un empleado.
Llamaremos a cada uno de estos subconjuntos Subclases de la entidad empleado y a empleado una Superclase de cada uno de estos subconjuntos.
Llamaremos a la relación existente entre las Superclases y las Subclases como relación Clase/Subclase. En el ejemplo anterior, empleado/secretaria y empleado/técnico son dos relaciones Clase/Subclase. Hay que tener en cuenta que una ocurrencia de una Subclase representa el mismo objeto real que alguna correspondiente a su Superclase.
Por tanto, la ocurrencia de Subclase es la misma que en la Superclase pero con un rol específico. Una ocurrencia de Subclase no tienen sentido si no es a su vez ocurrencia de Superclase. Por otro lado, una ocurrencia de superclase puede ser a su vez ocurrencia de varias subclases o de ninguna.
Herencia de atributos en la relación Clase/Subclase.
Debido a que una subclase es a su vez parte se una superclase, la subclase tendrá sus atributos específicos así como los atributos correspondientes a la superclase a la que pertenece. Esto quiere decir que la ocurrencia de entidad de una subclase hereda los atributos correspondientes a la superclase a la que pertenece. De la misma manera hereda las relaciones en las que su correspondiente superclase participa.
Especialización.
El proceso por el que se definen las diferentes subclases de una superclase se conoce como especialización. El conjunto de subclases se define basándose en características diferenciadoras de las ocurrencias de entidad de la superclase. Por ejemplo, el conjunto se subclases {SECRETARIA, INGENIERO, TECNICO} es una especialización de la superclase EMPLEADO mediante la distinción del tipo de trabajo en cada ocurrencia de entidad. Podemos tener varias especializaciones de una misma entidad basándonos en distintos criterios. Por ejemplo, otra especialización de EMPLEADO podría dar lugar a las subclases ASALARIADO y SUBCONTRATADO, dependiendo del tipo de contrato.
&!
Generalización
Es una relación contenida que existe entre el conjunto de entidades de nivel más alto (superclase) y uno o más conjuntos de entidades de nivel más bajo (subclase).
La generalización es una inversión simple de la especialización, y en términos del diagrama Entidad-Relación no se distinguen entre ellas.
El proceso de especialización definido anteriormente nos permite lo siguiente:
o Definir un conjunto de subclases a partir de una entidad.
o Asociar atributos específicos a cada subclase.
o Establecer relaciones específicas entre cada subclase con otras entidades o subclases.
La generalización procede del reconocimiento de un número de conjuntos de entidades que comparten algunas características comunes, que se describen mediante el mismo conjunto de atributos y participan en los mismos conjuntos de relaciones.
La generalización se usa para hacer resaltar los parecidos entre tipos de entidades de nivel más bajo y ocultar sus diferencias. La distinción se hace a través de un proceso llamado herencia de atributos. Los atributos de la entidad de más alto nivel son heredados por los conjuntos de entidades de más bajo nivel.
cliente
Cli_cta.cte. Cli_contado
Is a
&!
Ejemplo de generalización con atributos
“Una empresa de turismo que realiza reservas de habitaciones de hotel tanto a pasajeros que viajan en forma particular (turista) como a agencias de turismo (agencia)”
Agregación
Debido a la limitación del modelo entidad-relación, en el cual no es posible expresar relaciones entre relaciones, se utiliza la agregación como herramienta para conseguir mostrar este tipo de relaciones.
Esta restricción obedece a que mostrarlas oscurece el diagrama y puede originar confusiones, con lo que se perdería el objetivo del modelo.
Es una abstracción a través de la cual las relaciones se tratan como entidades de nivel más alto.
cliente
Turista Agencia
Is a Nro._cliente
Nom bre
T elefono Dom icilio
T ipo_cliente
cuit Nro_dni
&!
Nom bre
empleado trabaja proyecto
usa
maquina legajo
horas
Num _pro
Id_m aq
Nom bre empleado trabaja proyecto
legajo
horas
Num _pro
usa
maquina Id_m aq
&!
Bibliografía y fuentes de consulta
Fundamentos de Bases de Datos (3° edición) – Abraham SILVERSCHATZ, Henry F.
KORTH y S. SUDARSHAN www-gist.det.uvigo.es
www.javahispano.com www.cs.us.es
lfc.uah.es