Los objetivos que persigue todo modelo de datos son de dos tipos:
Formalización: ya que el modelo de datos permite definir formalmente las estructuras permitidas y las restricciones; también el modelo de datos establece la base para la definición de un lenguaje de datos y facilita una apreciación más objetiva de la rigidez o flexibilidad de las estructuras de datos, ayudando a la comparación formal de distintos modelos de datos y a la evaluación de los SGBD.
Diseño: ya que el modelo de datos es un elemento fundamental en el desarrollo de una metodología de diseño de bases de datos, en el cual se basan los otros componentes de la metodología (lenguajes, documentación y otras herramientas); permiten, además, prever e impacto de los cambios del mundo real en nuestro sistema de información.
El primer paso en la metodologías es determinar el Universo del Discurso (UD), el cual generalmente debe establecerse a partir de un conjunto de diferentes vistas de los diferentes usuarios de la realidad.
Una vez definido el UD se puede proceder paso a paso tal como se muestra en la figura. Se presentan tres etapas bien definidas:
MER
OO
F. INDIVIDUAL
RELACIONAL
REDES
JERARQUICO
UNIFICADO
MEJORIA DE
ESQUEMA LÓGICO
REQUISITOS DE DATOS REALIDAD DISEÑO CONCEPTUAL ESQUEMA CONCEPTUAL MODELO CONCEPTUAL DISEÑO LÓGICO ESQUEMA LÓGICO MODELO LÓGICO DISEÑO FÍSICO ESQUEMA FÍSICO MODELO FÍSICOModelado Conceptual:
En esta se escoge un modelo conceptual (altamente
semántico) y se definen las estructuras y restricciones identificadas, totalmente
independiente del SGDB y del diseño de las estructuras lógicas.
Modelado Lógico:
Se escoge un modelo lógico, el cual esta diseñado para
representar la estructura de los datos, por ello se deben transformar los
esquemas conceptuales en esquemas lógicos, los cuales son conocidos y
manipulados por el SGBD.
Modelado Físico:
Finalmente los SGBD tienen en sus motores una serie de
políticas y estrategias de almacenamiento que le permiten llenar la información
física que los usuarios quieren almacenar en la base de datos. Los esquemas
resultantes se visualizan en los archivos físicos de la base de datos.
objetos, propiedades, restricciones y restricciones semánticas.
Sobre estos elementos se realizan las abstracciones que impone el modelo conceptual seleccionado, obteniendo así un esquema conceptual de la realidad. Posteriormente el esquema lógico se obtiene a partir de la conversión del esquema conceptual con el modelo lógico escogido y con la ayuda de las estructuras de los datos que se perciben de la realidad para formular los esquemas lógicos.
Los SGBD permiten definir éstos esquemas lógicos y posteriormente aplican sus modelos físicos a estos esquemas permitiendo obtener los archivos de bases de datos reales en los cuales se almacena la información.
relaciones y restricciones semánticas MODELO CONCEPTUAL Sistema Operativo SGBD Métodos de acceso Valores Estructura percibida ESQUEMA CONCEPTUAL ESQUEMA LÓGICO ESQUEMA INTERNO
Proceso de Diseño de bases de datos Relacionales
Etapa de Análisis de Requisitos
(¿Qué presentar?) (
Esquema percibido
)
•
Descripción de la Organización
•
Reglas de negocio
Etapa de Conceptualización
(¿Cómo?) (
Esquema Conceptual
).
•
Modelos Conceptuales (hacia el MER).
•
Enfoque Lingüístico (sustantivos, verbos, preposiciones)
•
Categorización de Objetos (Entidad, Atributo, Interrelación)
•
Metodologías Ascendentes y Descendentes.
Aplicación del Modelo E-R
(
Esquema Entidad – Relación
)
•
Tabla de Dominios:
(tabla, atributos, evaluación, tipo de dato, tamaño, descripción).Propuesto por Peter P. Chen en dos artículos en 1976 y 1977.
El modelado de datos entidad/relación (o Interrelación) es un
modelo conceptual basado en una percepción del mundo real
por medio de objetos básicos llamados entidades y de las
relaciones que existen entre éstos.
Una
Entidad
representa elementos del mundo real que se
puede identificar claramente.
Una
interrelación
representa un vínculo entre entidades.
El modelo E/R permite al diseñador concebir la base de
datos a un
nivel superior de abstracción
, aislándolo
de consideraciones relativas a la máquina (tanto en su
nivel lógico como físico) y a los usuarios en particular
(nivel externo), y en donde la información desempeña
un papel fundamental.
Según CHEN el conjunto de valores (values set) son:
(1) Entidad (2) Interrelación (3) Dominio y Valor (4) Atributo
(1) ENTIDAD: Cualquier objeto (real o abstracto) que existe en la realidad y acerca del cual queremos almacenar información en la base de datos. La estructura genérica que describe un conjunto de entidades aplicando la abstracción de clasificación se denomina tipo entidad, mientras que entidad es cada uno de los ejemplares de este tipo entidad.
Tipos:
Regulares, que son aquellas cuyos ejemplares tienen existencia por sí mismos (como CURSO y PROFESOR), y
Débiles, en las cuales la existencia de un ejemplar depende de que exista un cierto ejemplar de otro tipo de entidad (por ejemplo, EDICIÓN depende de CURSO), y la desaparición de un determinado curso de la base de datos hace que desaparezcan también todas las ediciones de dicho curso.
Matemáticamente: {e : p(e)}, siendo e un ejemplar de tipo entidad E y p el predicado asociado a E.
Nombre Ejemplo Representación
Tipo Entidad
E = {e : p(e)} Tipos:
Regular Débil
Médico Manuel Patarroyo E = MEDICO
p = Persona que atiende pacientes y establece un diagnóstico.
e = “Manuel Patarroyo”
NOMBRE E
NOMBRE E
Cada relación tiene un nombre que describe su función. Las entidades que están involucradas en una determinada relación se denominan entidades participantes.
El número de participantes en una relación es lo que se denomina grado de la 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; etc.
Una 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.
Dos entidades pueden tener una o varias interrelaciones.
Nombre Ejemplo Representación
Tipo
Interrelación
I = {<e1, e2,…en>}
Paciente consulta Médico.
E1 = PACIENTE ; e1 = “Pepito Perez” E2 = MEDICO ; e2 = “Manuel Patarroyo” I = Consulta
n = 2 ; Grado del tipo de interrelación
Nombre
I
E
2
(3) DOMINIO Y VALOR: Las distintas propiedades o características de un tipo de entidad o de interrelación pueden tomar valores para cada ejemplar de éstas.
Dominio: El conjunto de posibles valores que puede tomar cierta característica. Se define dominio como un conjunto de valores homogéneos con un nombre. El dominio se puede definir:
por intensión(*), especificando el tipo de datos y el predicado de los valores; ó por extensión, declarando el valor de cada elemento del dominio.
El dominio es un elemento que tiene existencia propia independiente de cualquier elemento.
Nombre Ejemplo Representación
Dominio y valor
D = {v
i: p(v
i)}
D es el dominiov
i es un valor p es el predicado asociado a dicho dominioUn procedimiento es la “Cirugía de Corazón” D = Nombres de Procedimientos
p = Es un procedimiento médico. Intensión = {v Є D | p}
Extensión = {“Cirugía de Corazón”, “Cirugía ambulatoria”, etc.}
Nombre D
Nombre D
(*) Intensión: Comprensión -conjunto de propiedades-. Conjunto de rasgos semánticos de una unidaduno o varios dominios. Por tanto, podemos decir que el atributo le da una determinada interpretación al dominio (o a los dominios) en el contexto de un tipo de entidad o de un tipo de interrelación.
Curso
Id
Nombre
Creditos
(D: Cadena caracteres) (D: Cadena caracteres) (D: Entero positivo)El modelo E/R admite —como se deduce de la definición de atributo— atributos compuestos, es decir, atributos definidos sobre más de un dominio; por ejemplo, el atributo Fecha_Ingreso de la entidad PROFESOR puede estar definido sobre los dominios
Profesor
Fecha_Ingreso
Id
Nombre
(D: Cadena caracteres) (D: Cadena caracteres) (D: Entero positivo) (D: Entero positivo) (D: Entero positivo) Fecha_Ingreso_Dia Fecha_Ingreso_Mes Fecha_Ingreso_AñoEn la siguiente figura se representan los tipos de entidad CURSO y PROFESOR y el tipo de interrelación "Imparte" con alguno de sus atributos:
Curso
Id
Nombre
Creditos
Profesor
Id
Nombre
Fecha_Ingreso Fecha_Ingreso_Dia Fecha_Ingreso_Mes Fecha_Ingreso_Año Fecha_Inicio Fecha_Inicio_Dia Fecha_Inicio_Mes Fecha_Inicio_Año Fecha_Fin Fecha_Fin_Dia Fecha_Fin_Mes Fecha_Fin_Año ImparteNombre Ejemplo Representación
A : E S(D) A : I S(D)
Un procedimiento es la “Cirugía de Corazón” , este tiene un costo.
A1 = Nombre Procedimiento
D1 = Nombres de Procedimientos A2 = Costo Procedimiento
D2 = Costos de Procedimientos
valores de un dominio o de un conjunto de dominios:
A : E
S(D) ó A : E
S(D
1) × S(D
2) × ... × S(D
n)
A : I
S(D) ó A : I
S(D
1) × S(D
2) × ... × S(D
n)
Donde
A
es el atributo,
S(D¡)
todos los posibles
subconjuntos de los valores de los dominios,
E
es el tipo
de entidad e
I
es el tipo de interrelación.
NOMBRE E
Nombre D
Nombre A
En el modelo E/R se definen:
Restricciones inherentes y Restricciones de integridad
Restricciones inherentes:• Solo permite establecer interrelaciones entre entidades, no estando admitidas entre entidades e interrelaciones ni entre interrelaciones.
• Todas las entidades deben tener un identificador.
• Los ejemplares no pueden existir por si mismos, éstos deben estar en un atributo de Tipo entidad o de Tipo interrelación.
PACIENTE
Consulta
MEDICO
PACIENTE
Firma
Consulta
Copago
Consulta
Recibo
PACIENTE
PAC_ID
Restricción específicas sobre valores, la cual se establece con la definición de los dominios.
Restricción específica estructural: esta clase refiere tanto a atributos como a interrelaciones. En cuanto a los atributos en todo Tipo entidad deben existir uno o varios atributos (simples o compuestos) que identifiquen unívocamente cada uno de los ejemplares de ese tipo entidad, cada uno de estos atributos de denomina identificador Candidato (IC).
Cuando un IC es compuesto, el número de los atributos que lo componen debe ser mínimo en el sentido de que la eliminación de cualquiera de ellos le haría perder su carácter identificador. Luego todo IC debe cumplir la condición de ser unívoco y mínimo. Entre los IC se elige el identificador principal (IP) y el resto serán identificadores alternativos (IA).
Estudiante
Codigo
Nombre
Doc_Identidad
(Identificador Principal) (Identificador Alternativo)El modelo E/R permite también atributos multivaluados y opcionales (nulos o “faltantes”).
En general un atributo toma, para cada ejemplar de entidad, un único valor de cada dominio (o dominios) subyacente(s) (un libro tiene un único título, un único ISBN, etc.), pero también existen atributos que pueden tomar más de un valor (un curso puede impartirse en más de un idioma, o un profesor puede tener más de un teléfono);
estos atributos reciben el nombre de multivaluados frente a los univaluados que toman un solo valor.
Restricciones de integridad:
Por otro lado, puede obligarse a un atributo de un tipo de entidad a que tome, como mínimo, un valor del (o de los) dominio(s) subyacente(s) para cada ejemplar de entidad; es decir, el valor de ese atributo es obligatorio (no puede ser nulo) para todo ejemplar de la entidad.
La prohibición de valores nulos para un atributo (no admitir la opcionalidad) y la de que un atributo pueda tomar más de un valor (no admitir que sea multivaluado) son
restricciones específicas sobre la estructura de los atributos, al igual que la declaración de atributos identificadores.
Curso
Id
Nombre
Idioma
Numero_Horas
Identificador Principal
NOTACIÓN PARA ATRIBUTOS
Identificador Alternativo
Univaluado y obligatorio
Multivaluado y obligatorio
Opcional
Restricciones de integridad:
Todas estas restricciones pueden definirse basándose en el concepto de cardinalidad de un atributo en el tipo de entidad o de interrelación al cual pertenece.
Se entiende por cardinalidad mínima (o máxima) de un atributo el número mínimo (o máximo) de valores que puede tomar ese atributo en cada ejemplar del tipo de entidad al cual pertenece;
las cardinalidades se representan asociando un par de números enteros (min,max) al correspondiente atributo.
En la figura aparecen los cuatro tipos posibles de cardinalidades.
* La cardinalidad (1,1) es la que se toma por defecto y
También la cardinalidad, pero no del atributo sino del tipo de entidad
respecto al atributo, permite representar
otra restricción que es la
unicidad
, por la cual se obliga a que los valores de un atributo no puedan
repetirse en distintos ejemplares de un tipo entidad, en cuyo caso la
cardinalidad máxima de esa entidad respecto al atributo es uno.
Ejemplo: El código del estudiante. No tiene sentido asignarle el mismo
código a más de un estudiante.
Debemos observar que para todo identificador de un tipo de entidad se ha
de cumplir la restricción de unicidad, debiendo tener el tipo de entidad una
cardinalidad máxima de uno
respecto a ese atributo.
Estudiante
Fecha_Ingreso Fecha_Ingreso_Dia Fecha_Ingreso_Mes Fecha_Ingreso_AñoCodigo
Nombre
Doc_Identidad
Nacionalidad
(1,2)Telefono
(0,2)Estatura
Variante de representación para el atributo compuesto Fecha_IngresoFecha_Ingreso
Fecha_Ingreso_Dia Fecha_Ingreso_Mes Fecha_Ingreso_Año
Dominio
Tipo
Descripción Dominio
NOMBRES
Intensión
Cadenas de hasta 30 caracteres alfabéticos
TELEFONOS
Intensión
Cadenas de hasta 9 caracteres numéricos
MEDIDA_ALTURA
Intensión
Números reales entre 0 y 2,2 (metros)
GENERO
Intensión
Un Caracter
1. Elementos de un Tipo de interrelación
Nombre:
distingue la interrelación unívocamente de las demás.
Grado:
Es el número de Tipos de Entidad que participan en un tipo de
interrelación.
Así un tipo de interrelación es de grado 2 o binaria cuando asocia dos tipos
de entidad.
Un caso particular de las interrelaciones de tipo 2 son las
reflexivas, las
cuales asocian un tipo entidad consigo misma. Pueden existir interrelaciones
que asocien más de dos tipo de entidades.
Procedimiento
Pueden existir también tipos de interrelación que asocien más de dos tipos de
entidad (grado n, n > 2).
En este ejemplo se muestra un profesor con los temas y cursos que imparte.
Profesor
Imparte
Tema
1. Elementos de un Tipo de interrelación
Tipo de Correspondencia:
Es el número máximo de ejemplares de un tipo
de entidad que pueden estar asociados, en una determinada interrelación,
con un ejemplar de otro(s) tipo(s); para su representación se puede utilizar
etiquetas 1:1, 1:N, N:M según corresponda al lado de la interrelación o bien
se orienta el arco de unión en sentido uno a N mediante una punta de flecha.
Dirige
Profesor
Departamento
1:1
Imparte1:N
Profesor
Curso
N:M
Se_matriculaEstudiante
Curso
Papel (“rol”). Es la función que cada uno de los tipo entidad realiza en el tipo de interrelación; se representa poniendo el nombre del papel en el arco que une cada tipo de entidad con el tipo de interrelación. Siempre que no exista ambigüedad se suele prescindir de representar el papel.
Ejemplos varios:
Actor Actua_en Pelicula
Empleado Dirige Jefe Subordinado Pelicula Continuacion de
original
versión
Trabaja_en
Sucursal
Empleado
Cargo
Estudiante
Libro
Biblioteca
Presta
Ejemplos varios:
Se define como el número máximo o mínimo* de ejemplares de un tipo de
entidad que pueden estar interrelacionadas con un ejemplar del otro, u otros
tipos de entidad que participan en el tipo de interrelación.
Se representa mediante una etiqueta de tipo (0:1), (1:1), (0:N) ó (1:N), según
corresponda al lado de los tipos de entidades asociados por el tipo de
interrelación.
Paciente
(0,n)
Consulta
(1,n)
Medico
N:M
Departamento
(1,1)
Trabaja
Profesor
(0,n)
1:N
2. Cardinalidad de un tipo de entidad
Representación Matemática
Sea:
I un tipo de interrelación binaria
E1 y E2 dos tipos de entidad asociados por ella
En caso de no establecer restricción alguna I(E1(min,máx):E2(min,máx)),
cualquier número de ejemplares de entidad, ninguno o varios a la vez, de E1
pueden estar relacionados con uno de E2 y viceversa.
Para lo anterior la notación sería: I(E1(0,n):E2(0,n)).
Debe leerse de la siguiente forma:
E1(0,n) significa que “0,1,2,…,n ejemplares de E1 esta(n) relacionado(s) con un
ejemplar de E2”
Curso
(1,1)
Tiene
(0,n)
Edicion
1:N
Fecha_Imparte
Cuando una interrelación 1:N tiene un atributo asociado, es inmediata
la demostración matemática de que el atributo puede llevarse a la
entidad cuya cardinalidad máxima es N, (en el ejemplo de la figura el
atributo Fecha_Imparte podría llevarse a
Edicion
) con independencia
de los valores de las cardinalidades mínimas.
3. Atributos de las Interrelaciones
Paciente
(0,n)
Consulta
(1,n)
Medico
N:M
Fecha_Consulta
Semánticamente se puede dejar el atributo en la interrelación.
Dependiendo de la interrelación se pueden tener uno o más
atributos en la misma.
Generalmente en las interrelaciones N:M los atributos son propios
de la misma y no de las entidades vinculadas por la interrelación,
incluso los atributos pueden ser multivaluados.
Como en el caso de los tipos de entidad, los tipos de interrelación se clasifican también en regulares y débiles, según estén asociando dos tipos de entidad regulares, o un tipo de entidad débil con un tipo de entidad (regular o débil), respectivamente.
Se pueden distinguir en las entidades débiles dos tipos de dependencias:
Dependencia en existencia: Se da cuando los ejemplares de un tipo de entidad (entidad débil) no puede existir si desaparece el ejemplar del tipo entidad regular del cual dependen.
Si hay dependencia en existencia, el rombo que representa la interrelación va con una E (o sin etiqueta).
Cliente
(1,1)
(0,n)
Prestamo
Tiene
1:N
E
ID_Doc ID_Prestamo4. Dependencia en existencia y dependencia de identificación
Dependencia de Identificación: Sucede cuando además de cumplirse la condición anterior, los ejemplares del tipo entidad débil no pueden identificarse por si mismos, es decir, mediante los propios atributos del tipo de entidad, y exigen añadir el identificador principal del tipo de entidad regular (e incluso débil) del cual dependen.
Si existe dependencia en identificación, el rombo que representa la interrelación va etiquetado con ID.
Copia
(1,1)
(1,n)
Tiene
1:N
ID
Num_Copia ID_LibroLibro
ID_CopiaCopia
es débil, pues depende en existencia de
Libro
,
y también depende en identificación.
Dependencia de Identificación. Obsérvese que una entidad débil puede ser, a su vez, la entidad de la que depende otra débil.
Se ve claramente que una dependencia en
identificación es siempre una dependencia en
existencia (no ocurre lo contrario), y el tipo de
interrelación es débil en ambos casos.
Pago
(1,1)
(0,n)
Tiene
1:N
ID
Num_Pago ID_PrestamoPrestamo
ID_Pago4. Dependencia en existencia y dependencia de identificación
Participación total
No hay dependencia en existencia de ACTOR respecto de PELICULA,
pues si borramos una película determinada, no podemos borrar sus
actores, ya que pueden participar en otras películas. La participación
total de ACTOR está representada mediante la cardinalidad mínima 1
que aparece junto a PELICULA.
Además, es muy raro que haya una entidad débil en una relación M:N.
Pelicula
(0,m)
(1,n)
Actua_en
M:N
Titulo NombreActor
decir que un elemento de un esquema es redundante cuando no se pierde semántica al eliminarlo.
Existen dos tipos de redundancia:
Redundancia en los atributos (Atributos derivados): Se entiende por atributos derivados o calculados, aquellos que se obtienen a partir de otros ya existentes, por lo que, aunque son redundantes, no dan lugar a inconsistencias, siempre que en el esquema se indique su condición de derivados y la fórmula mediante la cual han de ser calculados.
Paciente
(0,n)
Consulta
(1,n)
Medico
N:M
ID_Doc
Edad Dia Mes Año
Redundancia en las Interrelaciones (Relaciones cíclicas): Una interrelación es
redundante cuando su eliminación no implica pérdida de semántica
porque existe la posibilidad de realizar la misma asociación de ejemplares mediante otras interrelaciones. Es condición necesaria , aunque no suficiente, para que una interrelación sea redundante que forme parte de un ciclo, por lo que hay que estudiar detenidamente los ciclos del diagrama E/R.
LIBRO edita EDITORIAL
N:1
(1,n) (1,1) AUTOR escribe publica (1,n) (1,n) (1,n) (1,n)M:N
M:N
redundanteCiclo con un tipo de interrelación redundante
Para que una interrelación pueda ser eliminada por redundante debe cumplir: 1. Que exista un ciclo.
2. Que las interrelaciones que componen el ciclo sean equivalentes semánticamente. 3. Que se puedan asociar los ejemplares de las dos entidades que estaban
interrelacionadas, aún habiéndose eliminado la interrelación.
4. Que la interrelación o bien no tenga atributos o bien estos no puedan ser transferidos a otra a fin de no perder su semántica.
RECOPILACION aparece ARTICULO
M:N
(0,n) (1,n) AUTOR edita escribe (1,n) (1,n) (0,n) (1,n)M:N
M:N
diapositiva anterior)Al elaborar un modelo se debe analizar si los datos a almacenar van a constituir una base de datos histórica o, por el contrario, sólo interesa el estado actual. La diferencia entre estos tipos de esquemas se aprecia en la figura, que se refiere a los préstamos actuales de libros en una biblioteca, de forma que una vez finalizado el préstamo la correspondiente información desaparece de la base de datos, sin que exista archivo histórico.
EJEMPLAR Presta SOCIO
(0,5) (0,1)
Fecha_Prestamo
En la siguiente figura se representa el esquema conceptual de todos los préstamos que se han realizado en la biblioteca, recogiendo, además, el plazo que duró el préstamo.
EJEMPLAR Presta SOCIO
(1,n) (0,n)
Fecha_Prestamo
N:M
Fecha_Devolucion
En caso de tratarse de datos históricos, los tipos de entidad o de interrelación correspondientes tendrán asociados siempre atributos de tipo fecha. En las BD históricas donde una interrelación entre dos ejemplares concretos se pueda
repetir en el tiempo, el atributo fecha será multivaluado, como ocurre en la figura, donde el mismo ejemplar se puede prestar al mismo socio en repetidas ocasiones.
entidad a lo largo del tiempo y aparece la noción de "estado". Por ejemplo, si deseamos reflejar si un libro está en la biblioteca o se encuentra prestado, añadiremos al tipo de entidad un atributo que denominamos estado, que indicará en qué estado concreto se encuentra la entidad y que en muchos casos lleva asociado otro atributo, que es la fecha en la que se ha producido el cambio de estado.
Es también habitual en este tipo de aplicaciones que se desee
tener constancia de la evolución de los estados, en cuyo caso
se podría crear una nueva entidad, como SITUACIÓN, que
tendría como atributos, entre otros posibles, estado y fecha.
En los sistemas de información este mecanismo se
utiliza especialmente en la gestión de expedientes
(Hojas de vida en Recursos Humanos).
Cuando se presenta un tipo de interrelación de grado n (n>2), es preciso analizar si es propiamente de tal grado, ya que a veces es posible su descomposición en otras de menor grado; mientras que, otras veces, no es posible tal descomposición, ya que la semántica recogida en una y otra solución no es la misma.
No se ha encontrado ninguna ternaria con alguna entidad cuya cardinalidad mínima tuviera el valor 0 en la notación.
Más ejemplos de relaciones ternarias: CLIENTE – COCHE – VENDEDOR (relación VENTA, con atributos “fecha” y “precio”) ASIGNATURA – EXAMEN (débil) – ALUMNO (relación PRESENTA, con atributo “nota”) AUTOBÚS – LUGAR – CONDUCTOR (relación HACE_PARADA, con atributos “fecha”, “hora”)
1. Interrelaciones de grado superior a 2
CLIENTE
LIBRO
SEDE
BIBLIOTECA
Presta
(1,1)
(1,n)
(1,1)
fecha
binarias. Es complicado decidir entre utilizar una relación ternaria o varias binarias. El diseñador debe basar sus decisiones en la semántica de la situación particular que se está modelando.
CLIENTE
LIBRO
SEDE
BIBLIOTECA
Presta
(1,1)
(1,n)
(1,1)
fecha
SEDE
BIBLIOTECA
Presta
(1,m)
(1,n)
(1,n)
(1,1)
(1,1)
(1,1)
CONTIENE
fecha
Alquila_en
LIBRO
CLIENTE
NO siempre una relación ternaria se puede llevar a varias relaciones binarias porque puede perderse semántica (¡es decir, que no significan lo mismo!).
1. Interrelaciones de grado superior a 2
PRODUCTO
TIENDA
(1,m)
(1,n)
(1,p)
Suministra
idprov
codpr
nombre
cantidad
fecha
PROVEEDOR
TIENDA
(1,m)
(1,m)
(1,n)
(1,n)
(0,n)
(1,m)
vende
provee
puede
suministrar
PRODUCTO
PROVEEDOR
La ternaria modela la REALIDAD
Esta es la solución típica: emplear en el mismo diagrama tanto la relación ternaria como las binarias que se necesiten.
(1,m)
Suministra
fecha
cantidad
codpr
(1,m)
(1,n)
(0,n)
(1,m)
vende
PRODUCTO
nombre
idprov
TIENDA
(1,n)
(1,m)
PROVEEDOR
provee
(1,n)
(1,p)
puede
suministrar
2. Restricciones sobre Interrelaciones: Exclusividad
Exclusividad: Dos o más tipos de interrelación tienen una restricción de exclusividad con respecto a un tipo entidad que participa en ambas interrelaciones cuando cada ejemplar de dicho tipo entidad sólo puede pertenecer a uno de los dos tipos de la interrelación, pero en el momento en el que pertenezca a uno ya no podrá formar parte del otro.
Para el ejemplo: Un DOCENTE puede impartir cursos o puede tomar cursos, pero no puede hacer las dos cosas al tiempo.
DOCENTE
Imparte
Recibe
(0,n)
(0,n)
CURSO
(1,1)
(1,n)
(0,10)
interrelación excluyen el ejemplar por las otras interrelaciones.
Para el ejemplo: Se permite al DOCENTE tanto impartir cursos como recibir cursos, siempre y cuando el curso que este impartiendo no sea el mismo curso que este tomando.
DOCENTE
Imparte
Recibe
(0,n)
(0,n)
CURSO
(1,1)
(1,n)
(0,10)
2. Restricciones sobre Interrelaciones: Inclusividad
Inclusividad: Cuando un ejemplar relacionado por una interrelación exige que deba estar relacionado por las demás interrelaciones.
Para el ejemplo: Un DOCENTE puede impartir cursos siempre y cuando se cumpla que ha recibido o está recibiendo al menos tres cursos, no necesariamente el mismo curso que imparte. La flecha indica que si un profesor imparte, necesariamente participa en Recibe. La cardinalidad de la flecha establece el número mínimo y máximo que tiene que recibir un DOCENTE para poder impartir un curso.
DOCENTE
Imparte
Recibe
(0,n)
(0,n)
CURSO
(1,1)
(1,n)
(0,n)
(3,n)
relacionado con el mismo ejemplar por las otras interrelaciones.
Para el ejemplo: Un DOCENTE puede impartir cursos siempre y cuando se cumpla que ha recibido previamente el curso. La flecha indica que si un profesor imparte, necesariamente recibió el curso.
DOCENTE
Imparte
Recibe
(0,n)
(0,n)
CURSO
(1,1)
(1,n)
(0,n)
3. Más sobre el M-E/R extendido: Generalización - Especialización
La jerarquía de especialización / Generalización, en el modelo ER se considera un caso especial de interrelación de varios tipos de entidad (subtipos) con un tipo más general (supertipo) cuyas características son comunes a todos los subtipos.
PACIENTE
(1,1)
Es_UnCOMUN
VIP
EMPLEADO
(0,n)
(0,n)
(0,n)
SubTipos
TipoPacSuperTipo
La interrelación que se establece es del tipo “es un” o más precisamente “es un tipo de”. La aparición de éstas jerarquías en el modelo de bases de datos puede surgir de dos formas:
Generalización: Se observa que dos o mas tipos de entidad comparten varios atributos y/o tipos de interrelación, de donde se deduce la existencia de un tipo de entidad de nivel superior que contiene los atributos y los tipos de interrelación comunes a todos los subtipos.
Especialización: Se observa que un tipo de entidad tiene ciertos atributos y/o tipos de interrelación que tienen sentido para unos ejemplares, pero no para otros, por lo que es conveniente definir uno o varios subtipos que contengan éstos atributos y/o interrelaciones específicos, dejando en el supertipo los que son comunes.
Puede ocurrir que se formen, por generalización y/o especialización, jerarquías a más de un nivel, dónde el subtipo es, a su vez, supertipo de otros. Otras característica a tener en cuenta es la herencia, en la cual los subtipos heredan todos los atributos del supertipo.
3. Más sobre el M-E/R extendido: Generalización - Especialización
De igual forma ocurre con las interrelaciones. Se pueden establecer restricciones semánticas a estas interrelaciones dependiendo si los subtipos se solapan o son disjuntos, y de si la unión de los subtipos recubre o no al supertipo, se pueden distinguir cuatro clases de generalización:
Solapamiento/exclusividad:
¿A cuántos subtipos puede pertenecer (a la vez) una instancia del supertipo? A solo un subtipo exclusividad
A más de un subtipo solapamiento (se le considera la “opción por defecto”)
VEHÍCULO
CAMIÓN
TURISMO
PERSONA
ESTUDIANTE
EMPLEADO
Sí Totalidad. Indica que toda instancia del supertipo también debe ser instancia de algún subtipo.
Un elemento importante a tener en cuenta es que se pueden crear jerarquías con herencia múltiple, teniendo que hacer un estudio minucioso de la forma de migrar los atributos, depende del modelo.
VERTEBRADO
TETRAPODA
AGNATHA
GNATHOSTOMATA
Totalidad / Parcialidad:
¿Debe toda instancia del supertipo pertenecer a algún subtipo?
No Parcialidad. Indica que es posible que alguna instancia del supertipo no pertenezca a ninguno de los subtipos. Se le considera la opción por defecto.
ALIMENTO
FRUTA
3. Más sobre el M-E/R extendido: Agregación
La agregación llamada por algunos autores como meronimia, es una abstracción que permite representar tipos de entidad compuestos que se obtienen por unión de otros más simples. Al tipo compuesto nos referimos como al todo, mientras que los componentes son las partes.
PROFESOR Explica ASIGNATURA
MEDIO
Utiliza
Ej: Si se desea representar que un profesor explica asignaturas utilizando distintos medios (pizarra, diapositivas, computador, etc.), pero el ME/R no permite establecer la interrelación "Utiliza" sobre la interrelación "Explica".
entidad "EXPLICACIÓN” por agregación de PROFESOR Explica ASIGNATURA.
PROFESOR Explica ASIGNATURA
MEDIO
Utiliza
EXPLICACIÓN
Opción 1
PROFESOR Explica ASIGNATURA
MEDIO Utiliza Entidad COMPUESTA o AGREGADA EXPLICACIÓN