2. Modelo Entidad/Relación
Extendido (Técnica de
Desarrollo)
El Modelo Entidad-Relación Extendido incluye todos los conceptos del
Entidad-Relación e
incorpora los conceptos de Subclase y superclase con los conceptos
asociados de Especialización
y Generalización. Otro nuevo concepto incluido por el ERE es el de
Categoría. Asociado a estos
conceptos está el importante mecanismo de Herencia de atributos. Habrá
que tener en cuenta que
no existe una terminología estandarizada para estos conceptos, por lo que
usaremos la mas
difundida.
4. Ejemplo de Subclase y Superclase
• Secretaria
• Ingeniero
• Jefe Subclases
• Técnico de
Empleado Empleado
• Asalariado
• Subcontratado
• ….
Superclase • …..
5. Ejemplo de Subclase y Superclase
• Camión
• Turismo
• Autobús Subclases de
• Motocicleta Vehículo
Vehículo
• Bicicleta
• ….
• …..
Superclase
6. 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.
Supertipo/Subtipo
Agrupación de instancias dentro de un tipo de entidad, que debe representarse
explícitamente debido a su importancia para el diseño o aplicación
Subtipos del tipo de entidad VEHÍCULO:
CAMIÓN
TURISMO
AUTOBÚS
CICLOMOTOR
Subtipos del tipo de entidad EMPLEADO:
SECRETARIO
GERENTE
COMERCIAL
El tipo de entidad que se especializa en otros se llama supertipo ( VEHICULO, EMPLEADO )
7. La relación que se establece entre una Superclase y una Subclase, la
llamaremos Relación clase/subclase.
Empleado / Secretaria
Empleado / Ingeniero
Vehículo / Camión
Vehículo / Motocicleta
8. Subclase y Superclase – Notación en el Diagrama
Empleado
Secretaria Ingeniero Técnico
9. Relación Supertipo/Subtipo O
Subclases, Superclases
Es la relación que se establece entre un
supertipo y cada uno de sus subtipos (noción [EN2002]
es_un o es_un_tipo_de) Notación: EMPLEADO
EMPLEADO
SECRETARIO GERENTE COMERCIAL
SECRETARIO GERENTE COMERCIAL EMPLEADO [SKS1998]
[MPM1999]
ES
SECRETARIO GERENTE COMERCIAL
10. Relación Supertipo/Subtipo O
Subclases, Superclases
La extensión de un subtipo es un subconjunto de la extensión del supertipo
Una instancia de subtipo también es instancia del supertipo y es la misma instancia,
pero con un papel específico distinto
Una instancia no puede existir sólo por ser miembro de un subtipo: también debe ser
miembro del supertipo
Una instancia del supertipo puede no ser miembro de ningún subtipo
VEHÍCULO EMPLEADO_HOSPITAL
CAMIÓN TURISMO CICLOMOTOR
MÉDICO CELADOR ENFERMERO LIMPIADOR
12. Herencia Supertipo/Subtipo O
Subclases, Superclases
• Un subtipo puede tener atributos propios (específicos) y participar en relaciones por
separado
• Un subtipo hereda todos los atributos del supertipo, y toda relación en la que participa el
supertipo
– Un subtipo, con sus atributos y relaciones específicos, más los atributos y relaciones
que hereda del supertipo, es un tipo de entidad por derecho propio
nummatricula VEHÍCULO FABRICA FABRICANTE
precio (1,n) (1,1)
N:1
[MPM1999] (1,1) ID (0,1)
CAMIÓN TURISMO MOTOCICLETA SIDECAR
LLEVA
numEjes numPlazas
tonelaje numPuer cilindrada 1:1
15. Supertipo/Subtipo O Subclases,
Superclases
Las Subclases están unidas mediante
líneas a un circulo, que conecta con la
superclase. El símbolo de pertenencia
en las líneas entre las subclases y el
circulo representan la dirección de la
relación clase/subclase.
16. Subclase y Superclase
– Otra Notación
Empleado
Hospital
∈
∈
∈
Médico Enfermera Auxiliar
17. ¿Cuándo utilizar Subclases?
1. Cuando hay atributos que sólo tienen sentido para
algunas instancias de un tipo y no para todas.
2. Cuando hay tipos de relación en los que sólo participan
algunas entidades de un tipo y no todas.
18. Relaciones entre entidades.
Una relación uno a varios.
La relación uno a varios es el tipo de relación más común. En este tipo de relación,
un registro de la Tabla A puede tener muchos registros coincidentes en la Tabla B,
pero un registro de la Tabla B sólo tiene un registro coincidente en la Tabla A.
19. Relaciones entre entidades.
Una relación varios a varios.
En una relación varios a varios, un registro de la Tabla A puede tener muchos registros
coincidentes en la Tabla B, y viceversa. Este tipo de relación sólo es posible si se define una
tercera tabla (denominada tabla de unión) cuya clave principal (clave principal: uno o más campos
(columnas) cuyos valores identifican de manera exclusiva cada registro de una tabla. Una clave
principal no puede permitir valores Nulo y debe tener siempre un índice exclusivo.
20. Relaciones Exclusivas
Dos (o más) tipos de relación son exclusivos,
respecto de un tipo de entidad que participa en ambos, si cada
instancia del tipo de entidad sólo puede participar en uno de
los tipos de relación
VEHÍCULO
“Una relación
recursiva se da
cuando el mismo tipo
de entidades participa
más de una vez con CONSUME GASTA
diferentes papeles. “
GASOLINA GASOLINA
CONSUME y GASTA son exclusivas respecto del tipo de entidad
VEHICULO
21. Relaciones Exclusivas
Otro ejemplo sería el
de un ARTÍCULO
que pudiera
publicarse en un
PERIÓDICO o en
una REVISTA, pero
nunca en ambos.
22. 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.
• Una Subclase puede tener atributos propios y participar en relaciones por
separado.
• Los atributos aplicables solamente a cada una de las Subclases, se
denominan atributos específicos de la subclase.
24. Especialización
Es el proceso según el cual se crean varios tipos de entidades a partir de
uno. Cada una de los conjuntos de entidades resultantes contendrá sólo
algunos de los atributos del conjunto original. Un ejemplo es el caso del tipo
empleado, del que se pueden obtener los subtipos secretaria, técnico e
ingeniero. Descomponemos una entidad en varias más especializadas.
25. Ejemplo de Especialización
Superclase
Discriminante o criterio
Empleado
Subclases
actividad
Secretaria Ingeniero Técnico
30. Especialización
EMPLEADO PELÍCULA
género color
actividad
DRAMA TERROR COMEDIA BLANCO_Y_NEGRO COLOR
SECRETARIO GERENTE COMERCIAL
VEHÍCULO
motorS/N tipo
VEHÍCULO_A_MOTOR VEHÍCULO_SIN_MOTOR CAMIÓN TURISMO MOTOCICLETA
31. La generalización
Permite abstraer un tipo de entidad de nivel superior (supertipo) a partir
de varios tipos de entidad (subtipos); en estos casos los atributos
comunes y relaciones de los subtipos se asignan al supertipo. Se pueden
generalizar por ejemplo los tipos profesor y estudiante obteniendo el
supertipo persona.
33. La agregación
Consiste en construir un nuevo tipo de entidad como composición de otros y su
tipo de relación y así poder manejarlo en un nivel de abstracción mayor La
agregación ayuda a construir entidades de niveles superiores.
La agregación surge de la limitación que existe en el modelado de E-R, al no
permitir expresar las relaciones entre relaciones de un modelo E-R en el caso de
que una relación X se quiera unir con una entidad cualquiera para formar otra
relación.
Para ejemplificar lo anterior consideremos el ejemplo En donde el problema
consiste en que existen trabajando muchos empleados que trabajan en diferentes
proyectos, pero dependiendo del trabajo que realiza pueden llegar a utilizar un
equipo o maquinaria; en este problema intervienen 3 entidades: Empleado,
Proyecto y Maquinaria, el diagrama E-R correspondiente es:
34. La agregación
Como el modelo E-R
no permite la unión
entre dos o más
relaciones, la relación
trabajo es englobada
como si fuera una
entidad más de la
relación usa,
gráficamente queda
como:
35. La agregación
Ahora podemos decir que la
entidad trabajo se relaciona con
la entidad maquinaria a través
de la relación usar. Para
indicarnos que un trabajo usa
un determinado equipo o
maquinaria según el tipo de
trabajo que se trate.
39. La agregación
Esquema en el MERE que almacena información sobre las
entrevistas que una ETT organiza entre solicitantes de empleo y
diferentes empresas
nombre
nif
(1,n) (1,m)
EMPRESA ENTREVISTA_A SOLICITANTE
M N
nombre
dirección fecha telefContacto
telef
nomContacto
Algunas entrevistas dan lugar a ofertas de empleos y otras no
¿cómo modelamos esto?
40. La agregación
EMPRESA ENTREVISTA_A SOLICITANTE
ENTREVISTA
Entidad RESULTA_EN
COMPUESTA o
AGREGADA
OFERTA_EMPLEO
41. La agregación
• Esquema en el MERE que almacena información acerca de
profesores y las asignaturas que éstos imparten, así como los
diversos medios que utilizan para impartir cada asignatura
(pizarra, transparencias, etc.)
M N
PROFESOR EXPLICA ASIGNATURA
EXPLICACIÓN
M
Entidad COMPUESTA
o AGREGADA UTILIZA
N
MEDIO
44. CLAVES EXTERNAS
Las interrelaciones de uno a muchos se implementan mediante el uso de claves ajenas, también
llamadas externas o foráneas (foreign keys). Una clave ajena es un atributo de una relación R2,
cuyos valores han de concordar con los de alguna clave primaria en otra relación R1.
R2
CLAVE
EXTERNA
R1
CLAVE
PRIMARIA
45. CLAVES EXTERNAS
Empleado Empleado
1
ID_Empleado ID_Empleado
Nombre Nombre
Puesto Puesto
Sueldo Sueldo
M
ID_Jefe ID_Jefe
Ejemplo 1
46. CLAVES EXTERNAS
Alumno Alumno
1
NoExpediente
NoExpediente Nombre
Nombre Carrera
Carrera Cuatrimestre
Cuatrimestre M NoExp_JefeGpo
NoExp_JefeGpo
Ejemplo 2
47. Pasara de Modelo Entidad
Relación a Modelo Relacional
Para transformar un modelo entidad-relación a modelo relacional seguiremos las siguientes
reglas:
1. Toda entidad del modelo entidad-relación se transforma en una tabla.
2. Cualquier atributo de una entidad se transforma en un campo dentro la tabla,
manteniendo las claves primarias.
3. Las relaciones N:M se transforman en una nueva tabla que tendrá como clave primaria
la concatenación de los atributos clave de las entidades que relaciona.
4. En las relaciones 1:N se pueden tener dos casos:
Si la entidad que participa con cardinalidad máxima uno lo hace también con
cardinalidad mínima uno, entonces se propaga el atributo de la entidad que tiene
cardinalidad máxima 1 a la que tiene cardinalidad máxima N, desapareciendo el
nombre de la relación. Si existen atributos en la relación éstos también se
propagarán.
Si la entidad que participa con cardinalidad máxima uno lo hace también
cardinalidad mínima cero, entonces se crea una nueva tabla formada por las
claves de cada entidad y los atributos de la relación. La clave primaria de la
nueva tabla será el identificador de la entidad que participa con cardinalidad
máxima N.
48. Pasara de Modelo Entidad
Relación a Modelo Relacional
5. En el caso de las relaciones 1:1 también pueden darse dos casos:
Si las entidades poseen cardinalidades (0,1), la relación se convierte
en una tabla.
Si una de las entidades posee cardinalidad (0,1) y la otra (1,1),
conviene propagar la clave de la entidad con cardinalidad (1,1) a la
tabla resultante de la entidad con cardinalidad (0,1). Si ambas
entidades poseen cardinalidades (1,1) se puede propagar la clave
de cualquiera de ellas a la tabla resultante de la otra.
5. En el caso de las relaciones N-arias se aplica la misma regla que para
las relaciones N:M.
6. En el caso de las relaciones reflexivas supondremos que se trata de una
relación binaria con la particularidad que las dos entidades son iguales y
aplicaremos las reglas vistas en los puntos anteriores.
49. Pasara de Modelo Entidad
Relación a Modelo Relacional
EJEMPLO REGLA 3: Las relaciones N:M se transforman en una nueva tabla que tendrá como
clave primaria la concatenación de los atributos clave de las entidades que relaciona.
En este caso la relación “compra” se transforma en una nueva tabla cuya clave primaria estará
formada por los atributos dni, que es la clave primaria de cliente, y código, que es la clave
primaria de producto. Además tendrá como campo fecha compra, ya que este atributo forma parte
de la relación.
50. Pasara de Modelo Entidad
Relación a Modelo Relacional
El modelo relacional quedaría de la siguiente forma:
CLIENTE(dni,nombre,apellidos)
PRODUCTO(código,descripción)
COMPRA(dni_cliente,código_producto,fecha_compra)
51. Pasara de Modelo Entidad
Relación a Modelo Relacional
EJEMPLO REGLA 4: En las relaciones 1:N se pueden tener dos casos:
Veamos ahora el caso de una relación 1:N. En el siguiente modelo entidad-relación un
empleado pertenece a un único departamento (debe pertenecer a uno obligatoriamente), y un
departamento tiene 1 o más empleados.
52. Pasara de Modelo Entidad
Relación a Modelo Relacional
En este caso se propaga el atributo código de departamento a la tabla EMPLEADO.
El modelo relacional quedaría de la siguiente manera:
EMPLEADO(rfc, nombre, salario, código_departamento)
DEPARTAMENTO(código, nombre, ubicacion)
55. Pasara de Modelo Entidad
Relación a Modelo Relacional
Relaciones reflexivas
56. Pasara de Modelo Entidad
Relación a Modelo Relacional
Ejemplo de los Profesores y los centros especializados en públicos y
privados:
• Hay profesores que imparten clases en 2 tipos de centros educativos:
públicos y privados.
• Un profesor puede impartir clase en varios centros, ya sean públicos o
privados.
• La asignatura será un atributo de la relación entre el profesor y el
centro donde imparte.
• Los centros educativos sólo pueden ser públicos o privados.
• Un centro público no puede ser privado a la vez, ni a la inversa.
• Los atributos específicos para los centros públicos son: el presupuesto
y los servicios; y para los privados son:
la organización y la cuota.
57. Pasara de Modelo Entidad
Relación a Modelo Relacional
PROFESORES(IdProfesor,Nombre,Dirección,Teléfono,Especialidad).
CENTROS(IdCentro,Nombre,Dirección,NúmeroAlumnos,TipoCentro).
PÚBLICOS(IdCentro,Servicios,Presupuesto).
PRIVADOS(IdCentro,Organización,Cuota).
IMPARTICIONES(CodImparticiones,IdProfesor,IdCentro,Asignatura)
.
58. Pasara de Modelo Entidad
Relación a Modelo Relacional
Relaciones N-arias (ternarias, cuaternarias,
etc.)
Vendedores de coches (empleados, clientes y coches):
• En una tienda de coches, un empleado vende coches a sus clientes.
• En cada venta, un único empleado puede vender varios coches a varios clientes.
• En una operación de venta hay que tener en cuenta la forma de pago y la fecha de venta.
59. Pasara de Modelo Entidad
Relación a Modelo Relacional
El resultado en el modelo relacional (siendo una relación ternaria del tipo 1:N:N) es:
EMPLEADOS(CódEmpleado,Nombre,Puesto,Teléfono).
COCHES(CódCoche,Descripción,Marca,Modelo,Matrícula).
CLIENTES(CódCliente,Nombre,Teléfono).
VENTAS(CódCoche,CódCliente,CódEmpleado,FormaPago,FechaVenta).
Notas del editor
Otro ejemplo sería el de un ARTÍCULO que pudiera publicarse en un PERIÓDICO o en una REVISTA, pero nunca en ambos. Un ejemplo más sería el de los domicilios de los estudiantes universitarios durante el curso académico. Un ESTUDIANTE se puede alojar en un DOMICILIO_FAMILIAR, una RESIDENCIA_ESTUDIANTES o en un PISO_COMPARTIDO. Las tres relaciones que unen a ESTUDIANTE con las tres entidades serían exclusivas entre sí.