1. 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.
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.
2. 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) Coche
Dni (Clave principal) (Relación) Matricula
Nombre (Campo) Dni_persona (Clave
foránea)
Apellidos 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 HabitaciónAloja
Serv.
Habitaciones Comida
3. 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.
4. 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.
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.
RELACIONES REFLEXIVAS
Son relaciones donde solo participa una sola entidad y se relaciona consigo
misma.
Huésped 1
Habitación2AlojaHuésped 2
Huésped 3 Habitación3
Habitación1
Es suministrado
(0:n)
(0:n)
(0:1)
Suministra
Articulo
Fabricante
Proveedor
Suministra
(0:1)
Es suministrado
Artic.
Fabri.
Artic.
Prov.
EMPLEADO
SUPER
VISA
ES SUPERVISADO (1:1)
SUPERVISA (1:N)
5. 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.
6. 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.
7. • 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.
8. 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.