Entidad relacion

9

Click here to load reader

Transcript of Entidad relacion

Page 1: Entidad  relacion

Modelo Entidad - Interrelación / Entidad -Relación

ENTIDADES

Es un objeto del mundo real, que tiene interés para la empresa. Por ejemplo, los ALUMNOS de un centro escolar o los CLIENTES de un banco. Se representa utilizando rectángulos.

CONJUNTO DE ENTIDADES Es un grupo de entidades del mismo tipo, por ejemplo, el conjunto de entidades cliente. Los conjuntos de entidades no necesitan ser disjuntos, se puede definir los conjuntos de entidades de empleados y clientes de un banco, pudiendo existir una persona en ambas o ninguna de las dos cosas.

ENTIDAD FUERTE Y ENTIDAD DÉBIL Es aquella que no depende de otra entidad para su existencia. Por ejemplo, la entidad ALUMNO es fuerte pues no depende de otra para existir, en cambio, la entidad NOTAS es una entidad débil pues necesita a la entidad ALUMNO para existir. Las entidades débiles se relacionan con la entidad fuerte con una relación uno a varios. Se representan con un rectángulo con un borde doble.

ATRIBUTOS Y CAMPOS

Son las unidades de información que describen propiedades de las entidades. Por ejemplo, la entidad ALUMNO posee los atributos: número de matrícula, nombre, dirección, población y teléfono. Los atributos toman valores, por ejemplo, el atributo población puede ser ALCALÁ, GUADALAJARA, etcétera. Se representan mediante una elipse con el nombre en su interior.

DOMINIO

Es el conjunto de valores permitido para cada atributo. Por ejemplo el dominio del

atributo nombre puede ser el conjunto de cadenas de texto de una longitud

determinada.

Page 2: Entidad  relacion

SUPERCLAVE

Es el conjunto de atributos que identifican de forma única a cada entidad. Por ejemplo, la entidad EMPLEADO, con los atributos Número de la Seguridad Social, DNI, Nombre, Dirección, Fecha nacimiento y Tlf, podrían ser identificadores o superclaves los conjuntos Nombre, Dirección, Fecha nacimiento y Tlf, o también DNI, Nombre y Dirección, o también Num Seg Social, Nombre, Dirección y Tlf, o solos el DNI y el Número de la Seguridad Social.

CLAVE CANDIDATA

Es cada una de las superclaves formadas por el mínimo número de campos posibles. En el ejemplo anterior, son el DNI y el Número de la Seguridad Social.

Page 3: Entidad  relacion

CLAVE PRIMARIA (PRIMARY KEY) Es la clave candidata seleccionada por el diseñador de la BD. Una clave candidata no puede contener valores nulos, ha de ser sencilla de crear y no ha de variar con el tiempo. El atributo o los atributos que forman esta clave se representan subrayados.

CLAVE FORANEA (FOREIGN KEY) Es el atributo o conjunto de atributos de una entidad que forman la clave primaria en otra entidad. Las claves ajenas van a representar las relaciones entre tablas. Por ejemplo, si tenemos por un lado, las entidades ARTÍCULOS, con los atributos código de artículo (clave primaria), denominación, stock. Y, por otro lado, VENTAS, con los atributos Código de venta (clave primaria), fecha de venta, código de artículo, unidades vendidas, el código de artículo es clave ajena pues está como clave primaria en la entidad ARTÍCULOS.

Ejemplo:

Personas (Entidad)

Dni (Clave principal)

Nombre (Campo)

Apellidos

Coche

(Relación)

Matricula

Dni_persona (Clave

foránea)

Problema

RELACIONES

RELACIÓN O INTERRELACIÓN

Es una correspondencia o asociación entre dos o más entidades. Cada relación tiene un nombre que describe su función. Las relaciones se representan gráficamente mediante rombos y su nombre aparece en el interior. Ejemplo: Dadas dos entidades "Habitación 502" y "Mark", es posible relacionar que la habitación 502 se encuentra ocupada por el huésped de nombre Mark.

Huésped Aloja Habitación

Serv.

Habitaciones Comida

Page 4: Entidad  relacion

Una relación tiene sentido al expresar las entidades que relaciona. En el ejemplo anterior, Un Huésped (entidad), se aloja (relación) en una habitación (entidad).

Entidades participantes: Son las entidades que están involucradas en una determinada relación.

Grado de la relación: Es el número de participantes en una relación. Por lo tanto, una relación en la que participan dos entidades es una relación binaria, si son tres las entidades participantes, la relación es ternaria.

Relación recursiva: Es una relación donde la misma entidad participa más de una vez en la relación con distintos papeles. El nombre de estos papeles es importante para determinar la función de cada participación.

Cardinalidad: Especifica el número mínimo y el número máximo de correspondencias en las que puede tomar parte cada ocurrencia de la entidad. Hay dos tipos: Obligatoria o total: si la existencia de cada una de sus ocurrencias requiere la existencia de, al menos, una ocurrencia de la otra entidad participante. Si no, la participación es opcional o parcial. Las reglas que definen la cardinalidad de las relaciones son las reglas de negocio.

Trampas: Son los problemas que surgen cuando se está diseñado un esquema conceptual. Suelen producirse a causa de una mala interpretación en el significado de alguna relación, por lo que es importante comprobar que el esquema conceptual carece de dichas trampas.

En general, para encontrar las trampas, hay que asegurarse de que se entiende completamente el significado de cada relación. Si no se entienden las relaciones, se puede crear un esquema que no represente fielmente la realidad.

Una de las trampas que pueden encontrarse ocurre cuando el esquema representa una relación entre entidades, pero el camino entre algunas de sus ocurrencias es ambiguo. El modo de resolverla es reestructurando el esquema para representar la asociación entre las entidades correctamente.

Otra de las trampas sucede cuando un esquema sugiere la existencia de una relación entre entidades, pero el camino entre una y otra no existe para algunas de sus ocurrencias. En este caso, se produce una pérdida de información que se puede subsanar introduciendo la relación que sugería el esquema y que no estaba representada.

CONJUNTO DE RELACIONES Consiste en una colección, o conjunto, de relaciones de la misma naturaleza.

Page 5: Entidad  relacion

Ejemplo:

Dados los conjuntos de entidades "Habitación" y "Huésped", todas las relaciones de la forma habitación-huésped, permiten obtener la información de los huéspedes y sus respectivas habitaciones.

Huésped 1 Habitación1

Huésped 2 Aloja Habitación2

Huésped 3 Habitación3

INTERRELACIONES EXCLUSIVAS

Un tipo de entidad puede mantener relaciones con otro conjunto de entidades

pero no siempre independientes.

Ejemplo:

Imaginemos 3 entidades, artículos son suministrados por el proveedor y el

fabricante, con las siguientes restricciones, los artículos son suministros por los

proveedores o por los fabricantes pero un artículo nunca puede ser

suministrado por un proveedor que no fabrica el artículo. (0:n)

Articulo (0:n)

Suministra

Suministra

Es suministrado Artic. Prov. (0:1)

Artic. (0:1)

Fabri. Es suministrado

Proveedor

Fabricante

RELACIONES REFLEXIVAS

Son relaciones donde solo participa una sola entidad y se relaciona consigo

misma. SUPERVISA (1:N)

EMPLEADO ES SUPERVISADO (1:1)

SUPER

VISA

Page 6: Entidad  relacion

RELACIONES JERÁRQUICAS

Cada jerarquía es total o parcial, y exclusiva o superpuesta. Una jerarquía es

total si cada ocurrencia de la entidad genérica corresponde al menos con una

ocurrencia de alguna subentidad. Es parcial si existe alguna ocurrencia de la

entidad genérica que no corresponde con ninguna ocurrencia de ninguna

subentidad. Una jerarquía es exclusiva si cada ocurrencia de la entidad

genérica corresponde, como mucho, con una ocurrencia de una sola de las

subentidades. Es superpuesta si existe alguna ocurrencia de la entidad genérica

que corresponde a ocurrencias de dos o más subentidades diferentes. Un

subconjunto es un caso particular de generalización con una sola entidad

como subentidad. Un subconjunto siempre es una jerarquía parcial y exclusiva.

JERARQUÍAS DE ESPECIALIZACIÓN Una subclase puede, a su vez, tener más subclases especificadas a partir de ella, formando una jerarquía o red de especializaciones. Una jerarquía de especialización tiene la restricción cada subclase participa (como subclase) en una relación clase/subclase. Como contraste, para una red de especialización una subclase puede ser subclase en más de una relación clase/subclase.

En la red o jerarquía de especialización, una subclase hereda no solamente los atributos de su superclase directa, sino también todos los de sus predecesores hasta la raíz. Hay que tener en cuenta que una ocurrencia de entidad puede existir en distintas hojas de la jerarquía;

Una subclase con más de una superclase se llama subclase compartida. Esto nos lleva al concepto de herencia múltiple, ya que hereda directamente atributos de varias clases. Hay que tener en cuenta que una subclase compartida implica una red; si no existen subclases compartidas estaremos en presencia de una jerarquía en vez de una red. Aunque se ha utilizado la especialización para definir estos conceptos, la generalización es igualmente aplicable a estos. Por tanto podremos hablar de la misma forma de jerarquía de generalización y red de generalización.

Page 7: Entidad  relacion

RESTRICCIONES

Igual que en otros modelos, existen restricciones, estructuras u ocurrencias no permitidas. Tipos de restricciones:

INHERENTES: impuestas por el propio modelo.

DE USUARIO: en las cuales es el usuario quien prohíbe, porque el modelo se lo permite en determinadas circunstancias.

RESTRICCIONES INHERENTES Impuestas por el propio modelo. Consideramos las siguientes:

Valores atómicos: cada valor de la tabla ha de ser simple. Tuplas distintas: no puede haber dos tuplas iguales.

Clave Principal: ha de existir una clave principal o primaria que identifique de forma unívoca las tuplas, por tanto, no podrá coger valores nulos y tampoco podrá repetirse.

RESTRICCIONES DE USUARIO

Condiciones que ponemos para que el esquema de la BD, refleje lo mejor posible la realidad.

Restricción de Dominio: El valor de un atributo ha de ser un valor atómico. Definiendo claramente el dominio, no aseguramos que el atributo no puede coger valores incorrectos.

El dominio será de un tipo determinado, eligiendo de una gama extensa: en tero corto, entero, entero largo, real, cadena de caracteres.

EMPLEADO (DNI: entero(8); Nombre: carácter(30); Dirección: carácter(30);Teléfono: entero(9); Sueldo: entero(6); Fecha_n: fecha).

Restricción de Clave:

Permite declarar uno o varios atributos como clave Principal o Primaria (Primary Key). “La obligatoriedad de declarar una clave principal era una restricción inherente, pero lo que es una restricción de usuario es la elección de la clave principal, y la consecuencia de que no podrá coger valores nulos ni repetidos”. Aunque estas características también las puede tener otros atributos: Unicidad (UNIQUE): no se puede repetir. Obligatoriedad (NOT NULL): no puede coger un valor nulo.

Page 8: Entidad  relacion

Integridad Referencial

Si en una tabla tenemos un atributo que es clave primaria de otra tabla, todo valor añadido debe concordar con el valor de la clave primaria de la tabla, siendo esto una clave foránea. De manera que si deseamos borrar el elemento principal de la tabla, debemos saber que también será borrado de la tabla donde sea clave foránea. En este caso pueden darse algunas acciones:

o No dejar borrarlo o modificarlo (NO ACTION) o Borrar también los familiares o cambiarlos en cascada (CASCADE) o Cambiar el valor de la clave externa al valor nulo o un valor predeterminado.

Otras restricciones Otros SGBD, más potentes, permiten restricciones consistentes en comprobar una determinada condición después de una actualización: Verificación (CHECK): si la condición no se cumple después de la actualización, se deshace. Sirve muy bien para definir un dominio, entre otras cosas. Disparador (TRIGGER): si se cumple la condición se ejecuta un procedimiento definido por el usuario. (Este concepto es más potente, ya que da una respuesta procedimental, donde se puede hacer cualquier cosa).

HERENCIA La herencia es un intento de adaptación de estos diagramas al paradigma orientado a objetos. La herencia es un tipo de relación entre una entidad "padre" y una entidad "hijo". La entidad "hijo" hereda todos los atributos y relaciones de la entidad "padre". Por tanto, no necesitan ser representadas dos veces en el diagrama. La relación de herencia se representa mediante un triángulo interconectado por líneas a las entidades. La entidad conectada por el vértice superior del triángulo es la entidad "padre". Solamente puede existir una entidad "padre" (herencia simple). Las entidades "hijo" se conectan por la base del triángulo.

HERENCIA DE ATRIBUTOS EN LA RELACIÓN CLASE/SUBCLASE. Debido a que una subclase es a su vez parte de 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.

Page 9: Entidad  relacion

CASO PRÁCTICO

Realizar el esquema E/R para una base de datos en la que se desea almacenar la información relativa a algunos aspectos del campeonato mundial de fútbol considerando los siguientes supuestos:

Un jugador pertenece a un único equipo y no hay dos jugadores con el mismo

nombre.

Un jugador puede jugar en varios puestos distintos.

En cada partido intervienen tres colegiados: 2 jueces de línea y un árbitro.

Un colegiado puede realizar una función en un partido y otra distinta en otro partido.

Cada partido involucra a dos equipos.

Es obligatorio en todo momento que un jugador pertenezca a un equipo determinado y no podrá cambiar de equipo a lo largo del mundial.