Modelo Entidad Relacion
Modelo Entidad Relacion
Modelo Entidad Relacion
Un diagrama o modelo entidad-relacin (a veces denominado por sus siglas en ingls, ER "Entity relationship", o del espaol DER "Diagrama de Entidad Relacin") es una
herramienta para el modelado de datos que permite representar las entidades relevantes de
un sistema de informacin as como sus interrelaciones y propiedades.
Modelo Entidad-Relacin[editar]
El Modelo Entidad-Relacin
1.Se elabora el diagrama (o diagramas) entidad-relacin.
2.Se completa el modelo con listas de atributos y una descripcin de otras restricciones que
no se pueden reflejar en el diagrama.
El modelado de datos no acaba con el uso de esta tcnica. Son necesarias otras tcnicas
para lograr un modelo directamente implementable en una base de datos. Brevemente:
permite mostrar resultados entre otras entidades pertenecientes a las existentes de manera
que se encuentre la normatividad de archivos que se almacenarn
Transformacin de relaciones mltiples en binarias.
Normalizacin de una base de datos de relaciones (algunas relaciones pueden transformarse en
atributos y viceversa).
Conversin en tablas (en caso de utilizar una base de datos relacional).
Base terica y conceptual[editar]
El modelo de datos entidad-relacin est basado en una percepcin del mundo real que
consta de una coleccin de objetos bsicos, llamados entidades, y de relaciones entre esos
objetos.
Entidad[editar]
Representa una cosa u "objeto" del mundo real con existencia independiente, es decir, se
diferencia nicamente de otro objeto o cosa, incluso siendo del mismo tipo, o una misma
entidad.
Algunos Ejemplos:
Una persona. (Se diferencia de cualquier otra persona, incluso siendo gemelos).
Un automvil. (Aunque sean de la misma marca, el mismo modelo,..., tendrn atributos
diferentes, por ejemplo, el nmero de chasis).
Una casa (Aunque sea exactamente igual a otra, an se diferenciar en su direccin).
Una entidad puede ser un objeto con existencia fsica como: una persona, un animal, una
casa, etc. (entidad concreta); o un objeto con existencia conceptual como: un puesto de
trabajo, una asignatura de clases, un nombre, etc. (entidad abstracta).
Una entidad est descrita y se representa por sus caractersticas o atributos. Por ejemplo, la
entidad Persona las caractersticas: Nombre, Apellido, Gnero, Estatura, Peso, Fecha de
nacimiento.
Atributos[editar]
Los atributos son las caractersticas que definen o identifican a una entidad. Estas pueden
ser muchas, y el diseador solo utiliza o implementa las que considere ms relevantes.
En un conjunto de entidades del mismo tipo, cada entidad tiene valores especficos
asignados para cada uno de sus atributos, de esta forma, es posible su identificacin
unvoca.
Ejemplos:
A la coleccin de entidades alumnos, con el siguiente conjunto de atributos en comn, (id,
nombre, edad, semestre), pertenecen las entidades:
(1, Sofa, 38 aos, 2)
(2, Josefa, 19 aos, 5)
(3, Carlos, 20 aos, 2)
...
Cada una de las entidades pertenecientes a este conjunto se diferencia de las dems por el
valor de sus atributos. Ntese que dos o ms entidades diferentes pueden tener los mismos
valores para algunos de sus atributos, pero nunca para todos.
En particular, los atributos identificativos son aquellos que permiten diferenciar a una
instancia de la entidad de otra distinta. Por ejemplo, el atributo identificativo que distingue a
un alumno de otro es su nmero de id.
Para cada atributo, existe un dominio del mismo, este hace referencia al tipo de datos que
ser almacenado a restricciones en los valores que el atributo puede tomar (cadenas de
caracteres, nmeros, solo dos letras, solo nmeros mayores que cero, solo nmeros
enteros...).
Cuando algn atributo correspondiente a una entidad no tiene un valor determinado, recibe
el valor nulo, bien sea porque no se conoce, porque no existe o porque no se sabe nada al
respecto del mismo.
Conjunto de relaciones[editar]
Consiste en una coleccin, o conjunto, de relaciones de la misma naturaleza.
Ejemplo:
Dados los conjuntos de entidades "Habitacin" y "Husped", todas las relaciones de la
forma habitacin-husped, permiten obtener la informacin de los huspedes y sus
respectivas habitaciones.
La dependencia o asociacin entre los conjuntos de entidades es llamada participacin. En
el ejemplo anterior los conjuntos de entidades "Habitacin" y "Husped" participan en el
conjunto de relaciones habitacin-husped.
Se llama grado del conjunto de relaciones a la cantidad de conjuntos de entidades
participantes en la relacin.
Restricciones[editar]
Son reglas que deben mantener los datos almacenados en la base de datos.
Correspondencia de cardinalidades[editar]
Dado un conjunto de relaciones en el que participan dos o ms conjuntos de entidades, la
correspondencia de cardinalidad indica el nmero de entidades con las que puede estar
relacionada una entidad dada.
Dado un conjunto de relaciones binarias y los conjuntos de entidades A y B, la
correspondencia de cardinalidades puede ser:
Uno a Uno: (1:1) Un registro de una entidad A se relaciona con solo un registro en una
entidad B. (ejemplo dos entidades, profesor y departamento, con llaves primarias,
codigo_profesor y jefe_depto respectivamente, un profesor solo puede ser jefe de un
departamento y un departamento solo puede tener un jefe).
Uno a varios: (1:N) Un registro en una entidad en A se relaciona con cero o muchos
registros en una entidad B. Pero los registros de B solamente se relacionan con un registro
en A. (ejemplo: dos entidades, vendedor y ventas, con llaves primarias, codigo_vendedor y
venta, respectivamente, un vendedor puede tener muchas ventas pero una venta solo puede
tener un vendedor).
Varios a Uno: (N:1) Una entidad en A se relaciona exclusivamente con una entidad en B.
Pero una entidad en B se puede relacionar con 0 o muchas entidades en A (ejemplo
empleado-centro de trabajo).
Varios a Varios: (N:M) Una entidad en A se puede relacionar con 0 o con muchas entidades
en B y viceversa (ejemplo asociaciones-ciudadanos, donde muchos ciudadanos pueden
pertenecer a una misma asociacin, y cada ciudadano puede pertenecer a muchas
asociaciones distintas).
Restricciones de participacin[editar]
Dado un conjunto de relaciones R en el cual participa un conjunto de entidades A, dicha
participacin puede ser de dos tipos:
Total: Cuando cada entidad en A participa en al menos una relacin de R.
Parcial: Cuando al menos una entidad en A NO participa en alguna relacin de R.
Claves[editar]
Es un subconjunto del conjunto de atributos comunes en una coleccin de entidades, que
permite identificar inequvocamente cada una de las entidades pertenecientes a dicha
coleccin. Asimismo, permiten distinguir entre s las relaciones de un conjunto de relaciones.
Dentro de los conjuntos de entidades existen los siguientes tipos de claves:
Superclave: Es un subconjunto de atributos que permite distinguir unvocamente cada una
de las entidades de un conjunto de entidades. Si se aade un atributo al anterior
subconjunto, el resultado seguir siendo una superclave.
Clave candidata: Dada una superclave, si sta deja de serlo quitando nicamente uno de
los atributos que la componen, entonces sta es una clave candidata.
Clave primaria: Es una clave candidata, elegida por el diseador de la base de datos, para
identificar unvocamente las entidades en un conjunto de entidades.
Los valores de los atributos de una clave, no pueden ser todos iguales para dos o ms
instancias.
Para poder distinguir unvocamente las relaciones en un conjunto de relaciones R, se deben
considerar dos casos:
R NO tiene atributos asociados: En este caso, se usa como clave primaria de R la unin
de las claves primarias de todos los conjuntos de entidades participantes.
R tiene atributos asociados: En este caso, se usa como clave primaria de R la unin de
los atributos asociados y las claves primarias de todos los conjuntos de entidades
participantes.
Si el conjunto de relaciones, R, sobre las que se pretende determinar la clave primaria est
compuesto de relaciones binarias, con los conjuntos de entidades participantes A y B, se
consideran los siguientes casos, segn sus cardinalidades:
R es de muchos a uno de A a B entonces slo se toma la clave primaria de A, como clave
primaria de R.
R es de uno a muchos de A a B entonces se toma slo la clave primaria de B, como clave
primaria de R.
R es de uno a uno de A a B entonces se toma cualquiera de las dos claves primarias,
como clave primaria de R.
R es de muchos a muchos de A a B entonces se toma la unin de los atributos que
conforman las claves primarias de A y de B, como clave primaria de R.
Diagrama entidad-relacin[editar]
Anteriormente detallamos los conceptos relacionados al modelo ER, en esta seccin
profundizaremos en como representarlos grficamente. Cabe destacar que para todo
proceso de modelado, siempre hay que tener en claro los conceptos, estos nos brindan
conocimiento necesario y adems fundamentan nuestro modelo al momento de presentarlo a
terceros.
Formalmente, los diagramas ER son un lenguaje grfico para describir conceptos.
Informalmente, son simples dibujos o grficos que describen informacin que trata un
sistema de informacin y el software que lo automatiza.
Entidades[editar]
Las entidades son el fundamento del modelo entidad relacin. Podemos adoptar como
definicin de entidad cualquier cosa o parte del mundo que es distinguible del resto. Por
ejemplo, en un sistema bancario, las personas y las cuentas bancarias se podran interpretar
como entidades. Las entidades pueden representar entes concretos, como una persona o un
avin, o abstractas, como por ejemplo un prstamo o una reserva. Se representan por medio
de un rectngulo. que pueden ser de tipo: maestras, transaccionales, histricas y temporales
Atributos[editar]
Se representan mediante un crculo o elipse etiquetado mediante un nombre en su interior.
Cuando un atributo es identificativo de la entidad se suele subrayar dicha etiqueta.
Por motivos de legibilidad, los atributos suelen no aparecer representados en el diagrama
entidad-relacin, sino descritos textualmente en otros documentos adjuntos.
Relacin[editar]
Describe cierta dependencia entre entidades o permite la asociacin de las mismas.
Por ejemplo:
Si tenemos dos entidades, CLIENTE y HABITACIN, podemos entender la relacin entre
ambas al tomar un caso concreto (ocurrencia) de cada una de ellas. Entonces, podramos
tener la ocurrencia Habitacin 502, de la entidad HABITACIN y la ocurrencia Henry
Johnson McFly Bogard, de la entidad CLIENTE, entre las que es posible relacionar que la
habitacin 502 se encuentra ocupada por el husped de nombre Henry Johnson McFly
Bogard.
Pasos para realizar diagramas entidad-relacin
1. Escribe los nombres de las entidades distribuidas en una hoja de papel y dibuja un
rectngulo alrededor del nombre de cada entidad. Las entidades suelen ser
sustantivos en las descripciones de un sistema, reglas o una narrativa. Por ejemplo,
en un cine las entidades podran ser pelcula, horario del espectculo, pantalla, actor y
cine.
2. Dibuja una lnea entre las entidades que tengan una relacin entre s. Dibuja un
diamante en cada lnea y escribe la naturaleza de la relacin en l. Por ejemplo, dibuja
una lnea entre los cuadros de actor y de pelcula y escribe "acta/interpretado por" en
el diamante de la lnea.
2.4.1.- Dominio.
Conjunto de valores de un mismo tipo.
2.4.2.- Atributo.
Elemento de un Dominio. Aporta mediante su rtulo, la semntica de los valores del Dominio al
que est asociado.
Ejemplo: en Chile, para un tipo de entidad Persona, el identificador puede ser Rut.
mximo.
Ejemplo: el atributo telfono del tipo de entidad Persona puede tener cardinalidad (0,3)
2.5.1.1.- Cardinalidad de tipo de entidad con respecto a un tipo de interrelacin.
Para los tipos de interrelacin la cardinalidad mxima (mnima) establece el menor (mayor)
nmero de correspondencias en cada una de los tipos de entidad involucradas en la
interrelacin.
Se define la Cardinalidad del Tipo de Entidad TE con respecto al tipo de interrelacin R como:
Card(TE,R) = (mnimo, mximo), con mnimo, mximo {0,...,n} y mnimo mximo.
donde toda ocurrencia de TE debe participar al menos mnimo veces, y a lo ms mximo veces
en R.
Ejemplo: Cada entidad de Provincia participa en la relacin Pertenece exactamente una vez,
entidad STE1 , STE2 , ..., STEn es tambin una entidad del tipo de entidad TE. (Lo opuesto a la
generalizacin se denomina especializacin.)
Adems cada atributo, interrelacin o generalizacin definida para un tipo de entidad genrica,
ser heredado por todas las entidades subconjunto de la generalizacin.
2.5.3.1.-Cobertura.
Las jerarquas de generalizacin presentan la propiedad de cobertura. La cobertura puede ser
parcial o total y exclusiva o superpuesta. La cobertura parcial o total permite especificar una
restriccin entre el tipo de entidad genrica y sus tipos de entidad subconjunto, donde todos los
elementos del tipo de entidad genrico deben pertenecer a alguno de sus tipos de entidad
subconjunto (si es total), o no (si es parcial). La cobertura exclusiva o superpuesta permite
especificar una restriccin entre los tipos de entidad subconjunto, donde los elementos que
pertenecen a un tipo de entidad subconjunto pueden pertenecer tambin a otro tipo de entidad
subconjunto (si es superpuesto) o no (si es exclusiva).
Ejemplo:
Consideremos el caso de un banco cualquiera y una poltica respecto a las personas a
considerar, y su calidad de empleados y clientes.
Caso cobertura total y exclusiva: Todas las personas son empleados o clientes del banco, pero
no ambas cosas simultneamente. En este caso hablamos de cobertura total (todas las
personas estn clasificadas como empleados o clientes) y exclusiva (s una persona se clasifica
como empleado, no puede clasificarse como cliente y al contrario ocurre lo mismo).
Caso cobertura total y superpuesta: Todas las personas son empleados o clientes del banco,
permitindose que un empleado sea a su vez cliente. En este caso hablamos de cobertura total
(todas las personas estn clasificadas como empleados o clientes) y superpuesta (no existe
restriccin con respecto a la exclusividad).
Caso cobertura parcial y exclusiva: Hay personas, algunas de las cuales son empleados o
clientes del banco, pero no ambas cosas simultneamente. En este caso hablamos de
cobertura parcial (no todas las personas estn clasificadas como empleados o clientes) y
exclusiva (s una persona se clasifica como empleado, no puede clasificarse como cliente y al
contrario ocurre lo mismo).
Caso cobertura parcial y superpuesta: Algunas personas son empleados o clientes del banco,
pudiendo ser ambas cosas. En este caso hablamos de cobertura parcial (no todas las personas
estn clasificadas como empleados o clientes) y sobrepuesta (si una persona se clasifica como
empleado tambin puede clasificarse como cliente).
Ejemplo: En una organizacin se manejan pedidos, los que incluyen productos solicitados por
clientes. Cada pedido debe ser asignado a un empleado.
Un Rol de un Tipo de Entidad en un Tipo de Interrelacin es la funcin que aquel cumple dentro
de sta. La definicin de roles permite atribuirle a un tipo de entidad su semntica dentro de la
agregacin, aportndole mayor expresividad al esquema y permitiendo disminuir ambigedades
en la definicin de cardinalidades (esto cobra mayor importancia en aquellos tipos de
interrelacin que involucran a un mismo tipo de entidad ms de una vez).
Ejemplo:
Ejemplo: Consideremos el caso de una organizacin donde se desarrollan proyectos, los cuales
pueden ser asignados a empleados de la organizacin, o a una empresa contratista, pero no a
ambos.
Identificadores.
Cobertura.
Tipos de Interrelacin Exclusivas con respecto a un Tipo de Entidad.
2.8.- Ejemplo.
Consideremos el caso de un campeonato juvenil (menores de 25 aos) de ftbol. Existen
distintos aspectos a considerar para este caso.
Hay equipos de a lo menos 11 jugadores.
Cada jugador puede participar en un equipo solamente.
En cada partido juegan dos equipos.
En cada partido participan 3 colegiados: un arbitro, un arbitro de banda derecha y un arbitro de
banda izquierda.
Cada jugador tiene asignadas posiciones en las que puede jugar en un partido.
Cada jugador de un equipo participa en un partido en una posicin, que debe ser alguna para
las cuales est preparado.
No necesariamente todas las posiciones deben ser ocupadas en un partido (puede haber ms
de once posiciones).
Los nombres de los tipos de interrelacin han sido abreviados para mayor legibilidad del
esquema. A continuacin se detalla su significado.
L: Local V: Visita P: Pertenece
J: Juega O: Ocupa H: habilitado para
I: Arbitro Banda Izquierda D: Arbitro Banda Derecha A: Arbitro.
Tipo de Entidad
Atributo
Dominio
Equipo
nombre equipo
Jugador
rut
Rut vlidos
nombre
Nombres de Persona
fecha de nacimiento
fecha
hora
rut
Rut vlidos
nombre
Nombres de Persona
Partido
Colegiado
Posicin
nmero
funcin
Funciones de Jugadores
JuegaPartido
Jugador
Jugador
(es Agregacin )
Partido
Partido
En el rea de bases de datos existe permanentemente el debate de los modelos de datos. De acuerdo a la
arquitectura de las bases de datos (ANSI/SPARC), podemos distinguir 3 tipos de modelos:
Modelos externos
Modelos conceptuales
Modelos internos
Los dos primeros pueden llamarse modelos lgicos y el ltimo un modelo fsico. Algunos autores dividen los
modelos lgicos en conceptuales y convencionales.
Segn A. de Miguel, los modelos conceptuales son entidad/interrelacin, infolgico, RM/T, etc. y los modelos
convencionales son modelos jerrquicos, de red y relacional.
Segn Battini, un modelo de datos es una serie de conceptos que puede utilizarse para describir un conjunto de
datos y operaciones para manipularlos. Cuando un modelo de datos describe un conjunto de conceptos de una
realidad determinada, se llama modelo conceptual de datos. Los conceptos de un modelo de datos se
construyen por lo regular usando mecanismos de abstraccin y se describen mediante representaciones
lingsticas y grficas; es decir, puede definirse una sintaxis y puede desarrollarse una notacin grfica.
Hay dos tipos de modelos de datos: modelos conceptuales, usados en el diseo de bases de datos y modelos
lgicos, apoyados por los SGBD, que son paquetes de software que crean, modifican y mantienen bases de
datos. Los modelos conceptuales son instrumentos para representar la realidad a un nivel alto de abstraccin.
Utilizando los modelos conceptuales, podemos construir una descripcin de la realidad fcil de entender e
interpretar. Los modelos lgicos apoyan descripciones de datos procesables por un computador, incluyen el
modelo jerrquico, de red y relacional.
Segn Knorth, los diversos modelos de datos que se han propuesto se dividen en tres grupos: modelos lgicos
basados en entidades u objetos, modelos lgicos basados en registros y modelos fsicos de datos.
Dentro de los primeros tenemos, el modelo entidad-interrelacin, el modelo orientado a objetos, entre otros. El
objetivo de stos es proporcionar altos niveles de abstraccin, o lo que significa que se usan en niveles
conceptuales.
Los modelos lgicos basados en registros se usan para describir los datos en forma lgica y global, siendo de
un nivel ms alto que el de implementacin. Aqu tenemos el modelo relacional, modelo de red y el modelo
jerrquico.
Una idea bsica de estos ltimos modelos se presenta a continuacin.
Modelo Jerrquico
Por medio de un modelo jerrquico, el esquema de datos puede visualizarse como un grafo arborescente, en
que los nodos corresponden a las clases de objetos y los arcos corresponden a asociaciones entre 2 nodos.
Modelo de Red
El esquema de datos puede visualizarse como un grafo sin ningn tipo de limitacin, es decir, existen ciclos. Los
nodos representan clases de objetos y los arcos relaciones entre 2 nodos.
Modelo Relacional
Representa los datos y las relaciones entre los datos mediante una coleccin de tablas.
Diccionario de datos
Un diccionario de datos es un conjunto de metadatos que contiene las caractersticas lgicas
y puntuales de los datos que se van a utilizar en el sistema que se programa, incluyendo
nombre, descripcin, alias, contenido y organizacin.
Es un catlogo, un depsito, de los elementos en un sistema. Como su nombre lo sugiere,
estos elementos se centran alrededor de los datos y la forma en que estn estructurados para
satisfacer los requerimientos de los usuarios y las necesidades de la organizacin. En un
diccionario de datos se encuentra la lista de todos los elementos que forman parte del flujo
de datos en todo el sistema. Los elementos ms importantes son flujos de datos, almacenes
de datos y procesos. El diccionario guarda los detalles y descripciones de todos estos
elementos.
Si los analistas desean conocer cuntos caracteres abarca un determinado dato o qu otros
nombres recibe en distintas partes del sistema, o dnde se utiliza, encontrarn las respuestas
en un diccionario de datos desarrollado en forma apropiada.
El diccionario se desarrolla durante el anlisis de flujo de datos y auxilia a los analistas que
participan en la determinacin de los requerimientos de sistemas.