Modelo Entidad-Relación

-1-

MODELO ENTIDAD-RELACIÓN
1. INTRODUCCIÓN
1.1. VISTA DE LA DATA A DIFERENTES NIVELES
En el estudio de un modelo de información se deben identificar los niveles de vista 1ógicos de la data con el cual está involucrado el modelo. Se pueden identificar cuatro niveles de vista de data: a) La información concerniente a las entidades y a las relaciones existentes entre esas entidades. b) La estructura de la información, o sea, la organización de la información mediante la cual se representa la data correspondiente a las entidades y las relaciones. c) El acceso independiente de la estructura de datos, aquellas que no están involucradas en el esquema de búsqueda, indexado, etc. d) El acceso dependiente de la estructura de datos. El modelo Entidad-Relación corresponde a los dos primeros niveles. EL modelo llamado de Redes corresponde al nivel cuatro. El llamado modelo Relacional corresponde a los niveles dos y tres.

1.2. ENTIDADES
Una entidad es un objeto o evento que existe y es distinguible; es decir, podemos distinguir una entidad de otra. Por ejemplo, cada libro es una entidad; así mismo lo son cada persona, cada automóvil, cada escuela, lo mismo que cada venta en un supermercado, o cada depósito en una cuenta bancaria. Pudiéramos considerar cada hormiga como una entidad si pudiéramos diferenciar una de la otra; en otras palabras, no podemos considerar las hormigas como entidades. Un grupo de entidades similares forman un Conjunto de Entidades; las entidades están a su vez clasificadas en diferentes grupos de entidades. Hay un predicado asociado con cada conjunto de entidades para probar si una entidad pertenece o no a dicho conjunto. Por ejemplo: a) b) c) d) Todas las Personas Todas las Personas Vivas Todos los Automóviles Todos los Camiones FORD
Ing. Nerio Villalobos Finol

1. entonces debemos saber que ésta tiene las propiedades comunes a las otras entidades del conjunto de entidades EMPLEADO. TIPOS DE RELACIONES Para implementar una base de datos eficientemente. La base de datos de una organización (empresa. institución. Nerio Villalobos Finol . Debemos tomar en cuenta solamente la información relevante para el diseño de la base de datos. c. Es imposible (quizás innecesario) grabar todo elemento de información disponible acerca de las entidades y relaciones. Es la forma más simple de relación entre dos conjuntos de entidades. está asociada a lo sumo con una entidad en E2.. (Cardinalidad) a.4. En ella se indica que para cada entidad en un conjunto de entidades existen varias entidades en el otro conjunto asociadas a ella.Modelo Entidad-Relación -2- Si sabemos que una entidad está en el conjunto de entidades EMPLEADO. es necesario clasificar las relaciones de acuerda a cuántas entidades de un conjunto de entidades pueden estar asociadas con cuántas otras entidades de otros conjuntos de entidades. En ella se indica que para cada entidad de un conjunto de entidades E1 existe un miembro asociado a otro conjunto de entidades E2. Ing. Por ejemplo.3. RELACIONES Una relación es una asociación entre entidades. no hay restricciones en los conjuntos de pares de entidades que puedan aparecer en un conjunto de relaciones. esposo y esposa son roles de las entidades en la relación. El rol de una entidad en una relación es la función que ésta realiza en la relación. donde una entidad en el conjunto E2 está asociada con cero a más entidades del conjunto E1. RELACION MUCHOS A MUCHOS (M:N). Un conjunto de relaciones R es una relación matemática entre entidades. etc. Una descripción completa de una entidad o relación no debe ser grabada en la base de datos de la organización. 1. club. Otro ejemplo sería un conjunto de entidades PERSONA y un conjunto de relaciones MADRE-DE. un matrimonio es una relación entre dos entidades del conjunto de entidades PERSONA. b. En este tipo de relación. que asocia conjuntos de entidades PERSONAS y que incluye a todos los pares (p1. en la cual la organización está interesada. RELACION UNO A MUCHOS (1:N). p2) tal que la persona p1 es la madre de la persona p2. RELACION UNO A UNO (1:1). En el ejemplo anterior.) contiene información relevante concerniente a entidades y relaciones. pero cada entidad en E1. La relación es una función de un conjunto de entidades E1 a un conjunto de entidades E2.

llamadas atributos. En este caso. llamado dominio. Un atributo puede definirse formalmente como una función que proyecta de un conjunto de entidades o relaciones a un dominio.75". La clave primaria de una relación puede representarse por las claves primarias de las entidades asociadas por la relación. de números reales. se selecciona una de ellas como la clave primaria del conjunto de entidades. Ing. Estatura (Numérico). VALORES Y DOMINIOS Las entidades tienen propiedades. Generalmente. Los valores para estos atributos podrían ser "PEDRO”. En el caso donde varios atributos son claves. cada conjunto de entidades tiene una clave. etc.Modelo Entidad-Relación -3- 1. el significado del atributo no depende de un conjunto de entidades. puede usarse cualquier tipo de relación para identificar entidades. o de cadenas de caracteres. En principio. etc. ya que establecimos la hipótesis de que cada entidad es distinguible de las demás. Teóricamente. 1. se deben restringir a un sólo tipo de relación: la relación binaria con 1:n proyecciones en las cuales la existencia de las n entidades en un lado de la relación dependa de la existencia de una entidad al otro lado de la relación. ATRIBUTOS. CLAVE PRIMARIA Un atributo o conjunto de atributos cuyos valores identifican en forma única cada entidad en un conjunto de entidades se llama clave para ese conjunto de entidades. sin embargo. el dominio para un atributo sería un conjunto de enteros. Pero si no escogemos una colección de atributos que incluya una clave. En algunos casos un número serial arbitrario se coloca como atributo para usarlo como clave. las entidades en el conjunto de entidades PERSONA tienen atributos tales como Nombre (cadenas de caracteres). pero no se descartan otros tipos de valores. no podemos distinguir una entidad de otra. Por ejemplo. Por ejemplo. Un valor en un dominio puede ser igual a otro valor en un dominio diferente. "1. 1000 en el dominio METROS es igual a 1 en el dominio KILOMETROS. con cada entidad en un conjunto de entidades. sino también las relaciones. Nerio Villalobos Finol .5. que asocian un valor de un conjunto de valores para ese atributo. Nótese que no sólo las entidades tienen atributos.6. sino de todos los conjuntos de entidades involucrados en la relación.

Nerio Villalobos Finol . c. ESTRUCTURA DE LA INFORMACIÓN Ahora nos importa cómo organizar la información asociada con las entidades y las relaciones. Ing. Los óvalos o círculos representan atributos. Esta separación es muy útil para identificar dependencias entre los datos. Los rectángulos representan conjuntos de entidades. Están unidos a sus conjuntos de entidades por las esquinas. La cardinalidad de la relación se representa mediante flechas con una o dos puntas. DIAGRAMAS ENTIDAD-RELACIÓN Es útil resumir la información en un diseño usando Diagramas Entidad-Relación (DER) donde: a. El método propuesto por Peter Pin-Shan Chen es el separar la información acerca de las entidades de la información acerca de sus relaciones.Modelo Entidad-Relación -4- 2. Los rombos representan las relaciones d. 2.1. b.

2. esto es. 1. EL conjunto de relaciones PROYECTO-TRABAJADOR es una proyección M:N. podemos tener los conjuntos de relaciones PROYECTO-TRABAJADOR y PROYECTO-GERENTE definidos ambos sobre los conjuntos de entidades PROYECTO y EMPLEADO. b. PROYECTO y PARTE. Puede haber más de un conjunto de relaciones definidos en conjuntos de entidades dadas. uno o más proyectos. y cada EMPLEADO puede ser asignado a cero. También es posible expresar una Ing. un DEPARTAMENTO puede tener N (N = 0. El diagrama puede distinguir entre proyecciones 1:1. Podríamos considerar. Por ejemplo. el conjunto de relaciones PROVEEDOR-PROYECTO-PARTE el cual está definido sobre tres conjuntos de entidades: PROVEEDOR. c.Modelo Entidad-Relación -5- Departamento Proveedor Dept-Emp Dept-Emp Prov-Proy-Part Empleado Proyecto Proy-Part Parte DeptGerente Emp-Ayud Proy-Part Ayudante Diagrama Entidad-Relación Figura 1. CARACTERÍSTICAS DE LOS DIAGRAMAS ENTIDAD-RELACIÓN. uno o más empleados asignados a él. Nerio Villalobos Finol . 2.) empleados.. y cada EMPLEADO trabaja para un sólo departamento. Por ejemplo. esta es. 1:N y M:N. el conjunto de relaciones COMPONENTE está definido sólo sobre el conjunto de entidades PARTE. 2. El conjunto de relaciones DEPARTAMENTO-EMPLEADO es una proyección I:N. por ejemplo. Puede definirse un conjunto de relaciones sobre más de dos conjuntos de entidades. d.. cada PROYECTO puede tener cero. Puede definirse un conjunto de relaciones sobre un sólo conjunto de entidades. a.

reflejado en la figura 2. La información acerca del número de entidades en cada conjunto de entidades a la cual está designada en un conjunto de relaciones se indica con una punto de flecha para signif1car UNO.3. DISEÑO DE UNA BASE DE DATOS Hay cuatro pasos para diseñar una base de datos usando el modelo Entidad-Relación: a. tal como el conjunto de relaciones MATRIMONIO. asociado mediante el conjunto de relaciones EMPLEADOAYUDANTE con el conjunto de entidades EMPLEADO. el rectángulo inscrito en el conjunto de entidades AYUDANTE. El dominio de cada atributo se declara como en un lenguaje de programación típico. indica que una entidad en AYUDANTE depende de una entidad en EMPLEADO. Hagamos ahora un análisis de un diseño de base de datos de una línea aérea usando el modelo Entidad-Relación. b. Identificar los conjuntos de entidades y los conjuntos de relaciones de interés. Ing. d. y INT(n) significa un entero de n dígitos. Los comentarios están delimitados por pares /* */ • Conjunto de entidades PASAJERO con atributos NOMBRE DIRECCIÓN TELEFONO CHAR(30) CHAR(30) INT1110) NOMBRE y DIRECCION juntos forman la clave primaria para este conjunto de entidades. 2. y con doble punta de flecha para significar MUCHO. Por ejemplo. CHAR(n) significa cadena de hasta n caracteres. de tal manera que si un empleado deja la compañía todos sus ayudantes también se irán. El diagrama puede expresar la dependencia por existencia de un conjunto de entidades con respecto a otra. Organizar la información dentro del Diagrama Entidad-Relación. Primero se listan los conjuntos de entidades y sus atributos. tales como si un cierto conjunto de relaciones es una proyección 1:N. Nerio Villalobos Finol . c. Definir los dominios y los atributos. e. Identificar la información semántica en los conjuntos de relaciones.Modelo Entidad-Relación -6- proyección 1:1. y decidir las claves primarias.

por ser un conjunto simple. una clave candidata como NÚMERO.Modelo Entidad-Relación -7- • Conjunto de entidades VUELO con sus atributos NUMERO ORIGEN DESTINO HORA-SALIDA HORA-LLEGADA INT(3) CHAR(3) CHAR(3) INT(4) INT(4) /* /* /* /* /* Número de Vuelo Aeropuerto de origen. así como también lo es el par de atributos ORIGEN-HORA-SALIDA. • Conjunto de entidades SALIDA con atributos FECHA INT(3) Asumimos que las fechas están numeradas desde el principio del año y la información sobre los vuelos no se guarda más de un año. En la práctica. asumimos que los VUELOS no hacen paradas intermedias. El atributo FECHA_INT por sí mismo no define una entidad en este conjunto. SFO. aunque en la práctica. 33 = 2 de Febrero. Para simplificar. las aerolíneas frecuentemente usan el mismo número de vuelo para las diferentes paradas del mismo. Cada entidad de este conjunto es un vuelo en particular en una fecha dada. MQA. Ejemplo: MAR. etc. Aeropuerto de destino Ejemplo 1340 = 1:40 pm idem */ */ */ */ */ Todos los aeropuertos comerciales tienen un código de tres letras. Posteriormente introduciremos la relación INSTANCIA-DE entre SALIDA y VUELO para definir el conjunto de entidades SALIDA en forma completa. Nerio Villalobos Finol . • Conjunto de entidades APARATO con atributos SIGLAS NOMBRE CHAR(8) CHAR(15) Ing. El atributo NÚMERO es una clave candidata. • Conjunto de entidades AVION con los atributos FABRICANTE MODELO CAPACIDAD CHAR(10) CHAR(10) INT(3) La combinación de los dos primeros atributos forman la clave primaria del conjunto de entidades. Por ejemplo. sería escogida y referida como la clave primaria.

por ejemplo. indicando la tripulación de vuelo para cada salida. ya que cada salida tiene un único número de vuelo. tales como BOING 747. Nerio Villalobos Finol . • • • Ing. • • Relación ANOTADOS-EN entre PASAJERO y SALIDA. Nótese que el conjunto AVION consiste de asignaciones genéricas.Modelo Entidad-Relación -8- Asumimos que las siglas son asignadas por el gobierno y sirven como clave para cada aparato que posee la aerolínea. • Conjunto de entidades PERSONAL con atributos NUMERO_E NOMBRE DIRECCIÓN SUELDO INT(5) CHAR(30) CHAR(30) INT(8) /* Número de Empleado */ NUMERO-E es la clave para PERSONAL. Esta relación es MUCHOS A UNO entre SALIDA y VUELO. varios DC-10. pero la aerolínea puede tener. el mismo número de vuelo se use cada día. Relación PUEDEN-VOLAR entre PILOTO y AVION. El hecho de colocar los pilotos como conjunto de entidades separadas es para que los pilotos sean relacionados con aviones en la relación PUEDEN-VOLAR. Relación INSTANCIA-DE entre SALIDA y VUELO. y no cada aparato individual como lo es en el conjunto APARATO. La relación es de MUCHOS A MUCHOS. Relación ASIGNADO-A entre PERSONAL y SALIDA. aunque. indicando reservaciones. • Conjunto de entidades PILOTO. Relación TIPO entre AVION y APARATO. El hecho de que tanto PERSONAL y PASAJERO tengan atributos NOMBRE y DIRECCION no es significativo. además la relación ES-UN entre PILOTO y PERSONAL. ya que cada aparato es de un tipo genérico. Tenemos la relación PILOTO ES-UN PERSONAL para identificar a los PILOTOS en forma individual. Otra relación MUCHOS A MUCHOS. sin atributos. mientras se pudiera perder información en la base de datos al retener esta información en el personal que no vuela. A continuación se listan los conjuntos de relaciones. La relaci6n es MUCHOS A UNO de APARATO a AVION. indicando el tipo genérico de cada aparato. Esta relación es MUCHOS A MUCHOS.

Nerio Villalobos Finol . Ing.Modelo Entidad-Relación -9- Figura 2.

Por ejemplo.Por ejemplo: {NOMBRE(e) / e ∈ HOMBRE} ⊆ {NOMBRE(e) / e ∈ PERSONA} b) Restricciones entre valores particulares. Selección de un subconjunto de relaciones a partir de un conjunto de relaciones. Las relaciones se seleccionan dando los valores de ciertos atributos y/o identificando ciertas entidades en la relación. las cuales pueden ser de dos tipos: a) Restricciones entre conjuntos de valores existentes . esto es. EDAD(e) ∈ (20. subconjunto de valores a partir de un dominio.5. c. Un ejemplo de consulta podría ser la siguiente: Ing. En algunos casos. Por ejemplo.10 - 2. Selección de un subconjunto de atributos. IMPLICACIONES DE LA INTEGRIDAD DE LA DATA Con los conceptos explícitos de entidad y relación. Por ejemplo: IMPUESTO(e) ≤ SUELDO(e). Las entidades son seleccionadas dando los valores de ciertas atributos y/o sus relaciones con otras entidades. hay tres tipos principales de restricciones sobre valores: I. podríamos tener una restricción para que la edad de los empleados esté entre 20 y 65 años.Modelo Entidad-Relación . Selección de un subconjunto de entidades a partir de un conjunto de entidades. Restricciones sobre valores permitidos para un cierto atributo. b. donde e ∈ EMPLEADO III. Restricciones sobre valores permitidos para un dominio II. d.4. Selección de un. 65). el modelo entidad-relación es muy útil para entender y especificar restricciones para el mantenimiento de la integridad de la data. donde e ∈ EMPLEADO 2. Restricciones sobre valores existentes en la base de datos. SEMÁNTICA Y OPERACIONES DE CONSULTA DE INFORMACIÓN Las consultas pueden ser consideradas como una combinación de los siguientes tipos de operaciones básicas: a. Nerio Villalobos Finol . no todos los valores permitidos en un dominio son permitidos para algunos atributos.

ej] ∈ PROYECTO-OBRERO. [EMPLEADO. ej ∈ PROYECTO. o también {EDAD(EMPLEADO) / PESO(EMPLEADO) > 100.Modelo Entidad-Relación . [e. Nerio Villalobos Finol . PESO(e) > 100. Ing. NUMERO_PROYECTO(eJ) = 254}.11 - • Cuáles son las edades de los empleados que pesan más de 100 kilos y quienes están asignados al proyecto N° 254 La misma puede ser expresada como {EDAD(e) / e ∈ EMPLEADO. NUMERO_PROYECTO(EMPLEADO) = 254}. PROYECTO] ∈ PROYECTO-OBRERO.

Sign up to vote on this title
UsefulNot useful