Capitulo 3: Diseño de base de datos y
Capitulo 3: Diseño de base de datos y
el modelo Entidad-Relación
Capitulo 3: Modelo Entidad-Relación
Capitulo 3: Modelo Entidad-Relación
Modelado Restricciones
Diagramas entidad-relación
Aspectos del diseño entidad-relación Conjunto de entidades débiles
Características del modelo entidad-relación extendido Diseño de una base de datos para un banco
Reducción a esquemas relacionales
Visión general del proceso de diseño
Visión general del proceso de diseño
Creación de Aplicaciones de Bases de Datos
Diseño del esquema de bases de datos
Diseño de los programas que tienen acceso a los datos y los actualizan Diseño del esquema de seguridad para controlar el acceso a los datos.
Las necesidades de los usuarios desempeñan un papel central en el proceso de
diseño.
En el presente apartado nos centraremos en el diseño del esquema de la base de
datos.
Fases del proceso de diseño
Fase Inicial: Especificación de requisitos de usuario
Fase de diseño conceptual: Diagrama Entidad-Relación y Especificación de requisitos
funcionales
Fase de diseño lógico Fase de diseño físico
Alternativas de diseño
El modelo entidad-relación
El modelo entidad-relación
Facilita el diseño de bases de datos
Permite la especificación de un
esquema de
empresa
que representa la estructura lógica
global de la base de datos
Es un modelo de datos semántico –
Representación del significado de los datos
Emplea tres conceptos básicos: Los
Conjunto de entidades
Conjunto de entidades
Una entidad es un objeto que existe y es claramente diferenciable de
otros objetos.
Ejemplo: personas, lugares, productos, compañías, eventos,
plantas y similares
Concretas o abstractas
Las entidades tienen atributos
Ejemplo: las personas tienen nombres y dirección
Un conjunto de entidades son varias entidades del mismo tipo que
comparten las mismas propiedades o características (Atributos).
Ejemplo: conjunto de todas las personas, compañías, arboles, días
festivos
Los conjuntos de entidades no son necesariamente disjuntos. Cada entidad se representa mediante un conjunto de atributos
Conjunto de entidades cliente y préstamo
Conjunto de entidades cliente y préstamo
Conjunto de relaciones
Conjunto de relaciones
Una
relación
es una asociación de dos o varias entidades
Ejemplo: se puede definir una relación que asocie al cliente López con él préstamo P-15. Esta relación especifica que López es un cliente con el préstamo número P-15.
Un
conjunto de relaciones
es un conjunto de relaciones
del mismo tipo.
Formalmente es una relación matemática con
n
2
entidades que pertenecen a un conjuntos de entidades
(posiblemente no distintos)
{(e1, e2, … en) | e1 E1, e2 E2, …, en En}
donde (e1, e2, …, en) es una relación
Ejemplo:
Conjunto de relaciones prestatario
Conjunto de relaciones (Cont.)
Conjunto de relaciones (Cont.)
Una relación puede también tener atributos denominados
Grado del conjunto de relaciones
Grado del conjunto de relaciones
El numero de conjunto de entidades que participan en un
conjunto de relaciones se denomina grado de ese conjunto de
relaciones.
Las relaciones donde participan dos conjuntos de entidades se
denominan
binarias
(o de grado 2). La mayoría del conjunto
de relaciones son binarias. Pueden existir conjunto de
relaciones n-arias.
Ejemplo: considérese los conjuntos de entidades empleado,
sucursal y trabajo. Un ejemplo de relación ternaria con este
conjuntos de entidades seria que el empleado Santos trabaja de Director en la Sucursal de Navacerrada
No son muy frecuentes las relaciones mas de dos conjuntos
Atributos
Atributos
Una entidad es representada por un conjunto de
atributos, que son propiedades poseídas por todos
los miembros de un conjunto de entidades.
Ejemplo:
cliente= (id_cliente, nombre_cliente, calle_cliente, ciudad_cliente)
préstamo = (numero_prestamo, importe )
Dominio – el conjunto de los valores permitidos para
un cierto atributo.
Tipos de atributos:
Atributos
simples
y
compuestos
.
Atributos
monovalorados
y
multivalorados
Atributos
Derivados
Restricciones – correspondencia de cardinalidad
Restricciones – correspondencia de cardinalidad
Expresa el
numero de entidades
numero de entidades
a las que otra
entidad
entidad
se puede asociar mediante un
conjunto de relaciones
conjunto de relaciones
.
Resulta muy útil para describir conjuntos de relaciones
binarias.
Para conjuntos de relaciones binarias la
correspondencia de cardinalidad pueden ser las
siguientes:
Uno a uno
Uno a varios
Varios a uno
Correspondencia de cardinalidad
Correspondencia de cardinalidad
Uno a uno Uno a varios
Correspondencia de cardinalidad
Correspondencia de cardinalidad
Varios a uno Varios a Varios
Claves
Claves
Una superclave es un conjunto de uno o mas
atributos que, tomados conjuntamente, permiten
identificar de forma univoca una entidad del conjunto
de entidades.
Una clave candidata de un conjunto de entidades
es una superclave mínima
Id_Cliente
es una clave canidata para
cliente
Numero_cuenta
es clave candidata para
cuenta
Sin embargo, pueden existir varias claves
Claves para conjunto de relaciones
Claves para conjunto de relaciones
La combinación de las claves primarias del conjunto
de entidades participantes forman una superclave del
conjunto de relaciones
(
id_cliente, numero_cuenta
) es una superclave
para
impositor
Podemos considerar la correspondencia de
cardinalidad del conjunto de relaciones para
determinar cuales serian las claves candidatas
Se necesita considerar la semántica del conjunto de
relaciones en la selección de la
clave primaria
en el
caso que dispongamos de mas de una clave
Diagramas Entidad-Relación
Diagramas Entidad-Relación
Los rectángulos representan conjunto de entidades. Los rombos representan conjunto de relaciones.
Las líneas enlazan atributos con conjunto de entidades y conjunto de
entidades con conjunto de relaciones.
Las elipses representan los atributos
Elipses dobles representan atributos multivalorados Elipses discontinuas denotan atributos derivados.
Diagrama E-R con atributos compuestos,
Diagrama E-R con atributos compuestos,
Conjunto de relaciones con atributos
Roles
Roles
Las etiquetas “director” y “trabajador” son llamadas roles; especifica
como las entidades empleado interactúan vía el conjunto de relaciones “trabaja_para”.
Los roles se indican en un diagrama E-R por etiquetas en las líneas
que conectan los rombos a los rectángulos.
Los roles son opcionales, y son usados para mejorar la claridad de la
Restricciones de cardinalidad
Restricciones de cardinalidad
Expresamos restricciones de cardinalidad con una línea dirigida (),
que significa “uno”, o una línea no dirigida (—), que significa “varios” entre el conjunto de relaciones y el conjunto de entidades.
Relación uno a uno:
Un cliente esta asociado con al menos un préstamo vía la relación
prestatario.
Un préstamo esta asociado con al menos un cliente vía
Relación de uno a muchos
Relación de uno a muchos
En la relación uno-a-muchos un préstamo es
asociado con al menos un cliente vía prestatario, un
cliente es asociado con varios (incluyendo 0)
Relación de muchos a uno
Relación de muchos a uno
En una relación muchos-a-uno un préstamo es
asociado con varios (incluyendo 0) clientes vía
Relación de muchos a muchos
Relación de muchos a muchos
Un cliente es asociado con varios (posiblemente 0)
prestamos vía prestatario.
Un préstamo esta asociado con varios
Participación de un Conjunto de Entidades en un
Participación de un Conjunto de Entidades en un
Conjunto de Relaciones
Conjunto de Relaciones
Participación Total (indicado por doble línea): Cada entidad en el
conjunto de entidades participan en al menos una relación en el conjunto de relaciones.
Ejemplo la participación de préstamo en prestatario es total.
Cada préstamo debe tener un cliente asociado a esté, vía
prestatario.
Participación Parcial (indicado por una línea simple): Algunas
entidades pueden no participar en algunas relaciones del conjunto de relaciones.
Notaciones alternativas para limites de Cardinalidad
Notaciones alternativas para limites de Cardinalidad
Los limites de Cardinalidad también expresan restricciones de
Restricciones de cardinalidad en
Restricciones de cardinalidad en
relaciones ternarias
relaciones ternarias
La forma de hallar cardinalidades en las relaciones ternarias es fijar una
combinación de elementos en dos de los extremos de la relación y obtener lógicamente las cardinalidades mínima y máxima en el otro extremo libre.
Ejemplo: el título de un libro, un autor y una editorial se relacionan las tres
mediante la acción de publicar el libro (en un año concreto, con un ISBN y con un determinado número de páginas en la edición). Para determinar las cardinalidades hay que preguntarse por:
Cuántos autores puede tener un determinado libro publicado en una
determinada editorial(cardinalidad en el extremo de la entidad autor).
Cuántos libros puede tener un determinado autor, publicados en una
determinada editorial (cardinalidad en el extremo de la entidad libro).
En cuántas editoriales puede un determinado autor publicar un mismo
Cuestiones de diseño
Cuestiones de diseño
Uso de un conjunto de entidades vs. atributos
Seleccione principalmente los que dependen de la estructura de la empresa que esta siendo modelada y con la semántica
asociada con el atributo en cuestión.
Uso de un conjunto de entidades vs. conjunto de relaciones
Una posible guía es diseñar un conjunto de relaciones que describan una acción que ocurre entre dos entidades.
Conjunto de relaciones Binarias versus n-arias
Siempre es posible reemplazar un conjunto de relaciones no binarias (n-aria, parar n > 2) por un numero de diferentes
conjuntos de relaciones binarias, un conjunto de relaciones
n-arias muestra mas claramente que vn-arias entidades participan en una simple relación.
Relaciones Binarias Vs. No-Binarias
Relaciones Binarias Vs. No-Binarias
Algunas relaciones que parecen ser no binarias se
pueden representar mejor usando relaciones binarias.
Ejemplo. Una relación ternaria padre que relaciona un
hijo con su padre y su madre. Sin embargo se podría
representar por dos relaciones padre y madre.
Usando dos relaciones binarias permitirán
información parcial (ejemplo solo se conocerá la
madre)
Conversión de relaciones de forma
Conversión de relaciones de forma
No-binaria a No-binaria
binaria a binaria
En general, cualquier relación no-binaria puede ser representado usando
relaciones binarias creando un conjunto de entidades artificiales.
Remplazar R entre el conjunto de entidades A, B y C por un conjunto de
entidades E, y tres conjuntos de relaciones:
1. RA, relacionando E y A 2.RB, relacionando E y B
3. RC, relacionando E y C
Crear un atributo identificador especial para E Adicionar algunos atributos de R a E
Para cada relación (ai , bi , ci) en R, crear
1. una nueva entidad ei en el conjunto de entidades E
Conversión de relaciones no-binarias
Conversión de relaciones no-binarias
(Cont.)
(Cont.)
También es necesario trasladar restricciones Trasladar todas las restricciones, puede no ser posible
Puede haber instancias en el esquema trasladado que no pueden
corresponder a alguna instancia de R
Ejercicio: agregar restricciones a las relaciones RA, RB y RC para asegurar que una entidad nuevamente creada corresponda
exactamente a una entidad en cada conjunto de entidades A, B y C.
Podría no haber una forma de traducir restricciones en la relación ternaria
en restricciones sobre relaciones binarias. Por ejemplo, considérese una restricción que dice que R es varios a uno de A, B a C; es decir, cada par de entidades de A y B se asocia con a lo sumo una entidad C. Esta restricción no se puede expresar usando restricciones de cardinalidad sobre los
Ubicación de los atributos de las relaciones
Ubicación de los atributos de las relaciones
La relación de cardinalidad de una relación puede afectar a la
ubicación de sus atributos. Por tanto los atributos de los
conjuntos de relaciones
uno a uno
o
uno a varios
pueden estar
asociados con uno de los conjunto de entidades participantes.
Los atributos de un conjunto de relaciones uno a varios solo se pueden
recolocar en el conjunto de entidades de la parte “varios” de la relación.
Para los conjuntos de relaciones uno a uno, los atributos de la relación se
pueden asociar con cualquiera de las entidades participantes.
Para los conjunto de relaciones varios a varios, los atributos de la relación
Conjunto de entidades débiles
Conjunto de entidades débiles
Puede que un conjunto de entidades no tenga suficientes atributos para formar
una clave primaria. Ese conjunto de entidades se denomina conjunto de entidades débiles.
Para que un conjunto de entidades débiles tenga sentido, debe estar asociado
con otro conjunto de entidades, denominado conjunto de entidades identificadoras o propietarias (entidades fuertes).
La relación identificadora es varios a uno del conjunto de entidades débiles
al conjunto de entidades identificadoras y la participación del conjunto de entidades débiles en la relación es total.
La relación identificadora se indica con un rombo con líneas dobles y un
rectángulo con líneas dobles indican a los conjunto de entidades débiles.
El discriminante (o clave parcial) de un conjunto de entidades débiles es un
conjunto de atributos que permiten hacer la distinción entre todas las entidades de un conjunto de entidades débiles.
La clave primaria de un conjunto de entidades débiles se forma con la clave
Conjunto de entidades débiles
Conjunto de entidades débiles
(Cont.)
(Cont.)
Representaremos a un conjunto de entidades débiles con
rectángulos dobles.
Subrayaremos el discriminante de un conjunto de entidades
débiles con una línea punteada.
Numero_pago
– discriminante del conjunto de entidades pago
Ejemplos de entidades débiles
Ejemplos de entidades débiles
Podemos modelar las ofertas de asignaturas en una
universidad. La misma asignatura se puede ofrecer en
diferentes cursos y, dentro de cada curso, puede haber
varios grupos para la misma asignatura. Por tanto, se
puede crear el conjunto de entidades débiles
oferta_asignatura
, que dependen existencialmente de
asignatura
; las diferentes ofertas de la misma asignatura
se identifican mediante
curso
y
numero_grupo
, que
Características del modelo E-R extendido
Características del modelo E-R extendido
Especialización Generalización
Herencia de atributos
Características del modelo E-R extendido:
Características del modelo E-R extendido:
Especialización
Especialización
Los conjuntos de entidades pueden incluir subgrupos de
entidades que se diferencian de alguna forma de las demás
entidades del conjunto.
Un subconjunto de entidades de un conjunto de entidades puede
tener atributos que no sean compartidos por todas las entidades
del conjunto de entidades.
El proceso de establecimiento de subgrupos dentro del conjunto
de entidades se denomina
especialización
.
Ejemplo
cliente
y
empleado
es una especialización de
persona.
O
cuenta corriente
y
cuenta de ahorro
son una especialización de
cuenta
.
La especialización se representa mediante un componente
triangular
etiquetado con
ES.
Cliente
“es”
una persona.
La relación ES también se puede denominar relación
Ejemplo de especialización
Características del modelo E-R extendido:
Características del modelo E-R extendido:
Generalización
Generalización
El refinamiento a partir del conjunto de entidades inicial en
sucesivos niveles de subgrupos de entidades representa un
proceso de diseño
descendente
.
El proceso de diseño
también puede proceder de forma
ascendente
,
en la que
varios conjunto de entidades se sintetizan en conjunto de
entidades de nivel superior basado en características
comunes.
Existen analogías entre conjunto de entidades en el sentido de
que tienen atributos que, conceptualmente, son iguales. Esta
similitud se puede expresar mediante la
generalización
que
es una relación de contención que existe entre los conjuntos
de entidades.
En términos de diagramas E-R no se distinguen entre
Especialización y generalización (Cont.)
Especialización y generalización (Cont.)
La generalización es una inversión simple de la
especialización.
La especialización parte de un único conjunto de
entidades; destaca las diferencias entre las
entidades del conjunto mediante la creación de
diferentes conjuntos de entidades de nivel inferior.
La generalización parte del reconocimiento de que
varios conjunto de entidades comparten algunas
características comunes. Con base en esas
Herencia de atributos
Herencia de atributos
Una propiedad crucial de las entidades de nivel
superior e inferior creadas mediante la
especialización y la generalización es la herencia
de
atributos
.
Se dice que los atributos de los conjuntos de
entidades de nivel superior son heredados por los
conjuntos de entidades de nivel inferior.
Los conjuntos de entidades de nivel inferior también
heredan la participación en los conjuntos de
Restricciones a las generalizaciones y
Restricciones a las generalizaciones y
especializaciones
especializaciones
Un tipo de restricción implica la determinación de las
entidades que pueden formar parte de un
conjunto de entidades de nivel inferior dado
. Esa
pertenencia puede ser una de las siguientes:
Definida por condición
La pertenencia se evalúa en función al
cumplimiento de una condición por la entidad.
Condición “tipo de cuenta” de ahorros o
corriente
Definida por el usuario
El usuario de la base de datos asigna las
Restricciones a las generalizaciones y
Restricciones a las generalizaciones y
especializaciones (cont.)
especializaciones (cont.)
Un segundo tipo de restricciones tiene relación con la
pertenencia de las entidades a más de un conjunto de
entidades de nivel inferior
. Pueden se las siguientes:
Disjuntos
La restricción sobre la condición de disjunción exige que
cada entidad no pertenezca a mas de un conjunto de
entidades de nivel inferior.
Cuenta de ahorro o cuenta corriente pero no ambas.
Solapados
En las generalizaciones solapadas la misma entidad
puede pertenecer a mas de un conjunto de entidades de
nivel inferior de la generalización.
La generalización es solapada cuando los empleados
Restricciones a las generalizaciones y
Restricciones a las generalizaciones y
especializaciones (cont.)
especializaciones (cont.)
Una última restricción, la restricción de completitud sobre una
generalización o especialización, especifica si una entidad del conjunto de entidades de nivel superior debe pertenecer, al
menos, a uno de los conjuntos de entidades de nivel inferior. Esta restricción puede ser de dos tipos:
Generalización o especialización total: Cada entidad del nivel superior debe pertenecer a un conjunto de entidades de nivel inferior.
Una entidad Cuenta debe ser de ahorro o corriente
necesariamente
Generalización o especialización parcial: Puede que alguna entidad del nivel superior no pertenezca a ningún conjunto de entidades de nivel inferior.
Agregación
Agregación
Considere la relación ternaria trabaja_en, diapositiva 25
Supóngase ahora que se desea registrar al director responsable de
las tares realizadas por cada empleado de cada sucural.
Es decir se desea registrar al director responsable de las
Agregación (Cont.)
Agregación (Cont.)
Parece que los conjuntos de relaciones
trabaja_en
y
dirige
se
pueden combinar en un solo conjunto de relaciones. No
obstante, no se deben combinar en una sola relación, ya que
puede que algunas combinaciones
empleado, sucursal,
trabaja
no tengan director.
Agregación
Agregación
(Cont.)
(Cont.)
Una de las limitantes del modelo E-R es que no es posible
expresar relaciones entre relaciones.
La agregación en una abstracción a través de la cual las
Alternativas de diseño E-R
Alternativas de diseño E-R
A continuación se sugiere la manera en que el diseñador de
base de datos puede escoger entre una amplia gama de
alternativas.
Si usar atributos o conjuntos de entidades para representar
un objeto.
Si los conceptos del mundo real se expresan mejor
mediante conjunto de entidades o mediante conjunto de
relaciones.
Si utilizar relaciones ternarias o pares de relaciones binarias
Si usar conjunto de entidades fuertes o débiles.
Si es adecuado utilizar la generalización o especialización.
Requisitos de datos de la base de bancaria
Requisitos de datos de la base de bancaria
El banco esta organizado en sucursales. Cada sucursal esta ubicada
en una ciudad concreta y se identifica con un nombre único. El banco supervisa los activos de cada sucursal.
Los clientes del banco se identifican se identifican mediante su valor
de id_cliente. El banco almacena cada nombre de cliente, y la calle y la ciudad donde vive cada cliente. Los clientes pueden tener cuentas
y pueden solicitar prestamos. Cada cliente puede estar asociado con un empleado del banco concreto, que puede actuar como responsable de prestamos o como asesor personal de ese cliente.
Los empleados del banco se identifican mediante su valor de
id_empleado. La administracion del banco almacena el nombre y el numero de teléfono de cada empleado, el nombre de los
subordinados de cada empleado, y el número id_empleado del jefe de cada empleado. El banco también mantiene un registro de la fecha de incorporación a la empresa del empleado, y por tanto, de su
Requisitos de datos de la base de bancaria (cont.)
Requisitos de datos de la base de bancaria (cont.)
El banco ofrece dos tipos de cuentas: cuentas de ahorro y cuentas
corrientes. Las cuentas pueden tener como titular a más de un cliente, y cada cliente puede tener mas de una cuenta. Cada cuenta tiene
asignado un numero de cuenta único. El banco mantiene un registro del saldo de cada cuenta y de la fecha mas reciente en que cada titular de la cuenta tuvo acceso a es cuenta. Además cada cuenta de ahorro tiene un tipo de interés y para cada cuenta corriente se
registran los descubiertos generados.
Cada préstamo se genera en una sucursal concreta y pueden
solicitarlo uno o mas clientes. Cada préstamo se identifica mediante un numero de préstamo único. Para cada préstamo el banco
Conjunto de entidades de la base de datos bancaria
Conjunto de entidades de la base de datos bancaria
El conjunto de entidades sucursal, con los atributos nombre-sucursal,
ciudad-sucursal y activo.
El conjunto de entidades cliente, con los atributos id-cliente,
nombre-cliente, calle-cliente y ciudadcliente. Un posible atributo adicional es nombre_asesor.
El conjunto de entidades empleado, con los atributos id-empleado,
nombre-empleado, númeroteléfono, sueldo y jefe. Algunas características descriptivas adicionales son el atributo multivalorado nombre-subordinado, el atributo base fechacomienzo y el atributo derivado antigüedad.
Dos conjuntos de entidades cuenta —cuenta-ahorro y cuenta-corriente—
con los atributos comunes número-cuenta y saldo; además, cuenta-ahorro tiene el atributo tipo-interés y cuenta-corriente tiene el atributo descubierto.
El conjunto de entidades préstamo, con los atributos número-préstamo,
importe y sucursal-origen.
El conjunto de entidades débiles pago-préstamo, con los atributos
Conjunto de relaciones de la base de datos bancaria
Conjunto de relaciones de la base de datos bancaria
prestatario, un conjunto de relaciones varios a varios entre cliente y
préstamo.
préstamo-sucursal, un conjunto de relaciones varios a uno que indica la
sucursal en que se ha originado un préstamo.
pago-préstamo, un conjunto de relaciones uno a varios de préstamo a
pago, que documenta que se ha realizado un pago de un préstamo.
impositor, con el atributo de relación fecha-acceso, un conjunto de
relaciones varios a varios entre cliente y cuenta, indicando que un cliente posee una cuenta.
Asesor_personal, con el atributo de relación tipo, un conjunto de relaciones
varios a uno que expresa que un cliente puede ser aconsejado por un
empleado del banco, y que un empleado del banco puede aconsejar a uno o más clientes.
trabaja-para, un conjunto de relaciones entre entidades empleado con
papeles que indican jefe y trabajador; la correspondencia de cardinalidades expresa que un empleado trabaja para un único jefe, y que un jefe
Símbolos usados en la notación (Cont.)
Reducción del modelo E-R al
Reducción del modelo E-R al
esquema relacional
esquema relacional
Para cada conjunto de entidades y conjunto de relaciones
del modelo E-R tienen un esquemas de relación.
El modelo E-R y Relacional son representaciones abstractas y
Representación de los conjuntos de
Representación de los conjuntos de
entidades fuertes
entidades fuertes
Sea
E
un conjunto de entidades fuertes con los atributos
a1,
a2, …an
. Esta entidad se representa con un esquema
E
con
n
atributos.
La clave primaria del esquema derivado es la misma clave
primaria del conjunto de entidades fuertes.
Cada tupla representa a una entidad del conjunto de
entidades.
Representación de los conjuntos de
Representación de los conjuntos de
entidades débiles
entidades débiles
Sea A un conjunto de entidades débiles con atributos a1, a2, …., an. Sea B el
conjunto de entidades fuertes del que A depende. La clave primaria de B
consiste en b1, b2, …., bn.
El esquema de la relación que representa al conjunto de entidades débiles A
tiene una columna por cada miembro del conjunto {a1,a2,.., an}U{b1, b2, …, bn}.
Clave primaria es clave primaria de B y el discriminante de A.
También se crea una restricción de clave externa para la relación A que
especifica que los atributos (b1, b2, …, bn) hacen referencia a la clave primaria de la relación B.
préstamo = (numero_prestamo, importe)
Representación de los conjuntos de
Representación de los conjuntos de
relaciones
relaciones
Sea
R
un conjunto de relaciones
Sean
a1, a2, …., an
. Las claves primarias de cada uno de los
conjuntos de entidades participantes en la relación
R
.
Sean
b1, b2, …, bn.
Los atributos descriptivos de
R.
El conjunto de relaciones se representa con el Esquema
conformado por los atributos
{a1, a2,…,an} U {b1, b2, .., bn}.
La clave primaria de un conjunto de relaciones binaria son
todos los atributos de las claves primarias de todos los
conjuntos de entidades participantes en la relación.
Para el conjunto de relaciones uno a uno, varios a uno y uno a
Clave primaria para las relaciones
Clave primaria para las relaciones
de varios a varios
de varios a varios
Para relaciones binarias varios a varios la unión de los
atributos clave primaria de los conjuntos de entidades
participantes pasara hacer la clave primaria del esquema de la
relación.
cliente = (id_cliente, nombre_cliente, calle_cliente, ciudad_cliente) préstamo = (numero_prestamo, importe)
Clave primaria para las relaciones
Clave primaria para las relaciones
uno a uno
uno a uno
La clave primaria de cualquiera de los conjuntos de entidades
puede escoger como clave primaria del esquema de la
relación.
La elección del conjunto de entidades de entre los
Clave primaria para las relaciones
Clave primaria para las relaciones
uno a varios o viceversa
uno a varios o viceversa
Para los conjuntos de relaciones binarias varios a uno ó uno a
Clave primaria para las relaciones
Clave primaria para las relaciones
n-arias sin flechas
n-arias sin flechas
Para los conjuntos de relaciones n-arias sin flechas en los
segmentos, la unión de los atributos de clave primaria de los
conjuntos de entidades participantes pasa hacer la clave
Clave primaria para las relaciones
Clave primaria para las relaciones
n-arias con una flecha
n-arias con una flecha
Para los conjuntos de relaciones n-arias con una flecha en uno
de los segmentos, las claves primarias de los conjuntos de
entidades que no están en el lado de la “flecha” del conjunto
de relaciones sirven de clave primaria del esquema de la
relación.
Recuérdese que solo se permite una flecha saliente por
Restricciones de clave externa en esquemas del
Restricciones de clave externa en esquemas del
conjunto de relaciones
conjunto de relaciones
También se crean restricciones de clave
externa para la relación
R
resultante del
conjunto de relaciones.
Para cada conjunto de entidades
E
,
relacionado con el conjunto de relaciones
R
Redundancia de los esquemas
Redundancia de los esquemas
El conjunto de relaciones que enlazan los conjuntos
de entidades débiles con su conjunto de entidades
fuertes es un esquema redundante y no es
necesario representarlo.
Estas relaciones son varios a uno y no tienen
atributos descriptivos.
En general, el esquema de los conjuntos de
relaciones que enlazan los conjuntos de entidades
débiles con su conjunto correspondiente de
entidades fuertes es redundante y no hace falta que
este presente en el diseño de la base de datos
Combinación de esquemas
Combinación de esquemas
Considere un conjunto AB de relaciones varios a uno del
conjunto de entidades A al conjunto de entidades B.
De estos conjuntos se consiguen tres esquemas de relación A,
B, AB. Además que la participación de A e la relación es total.
Entonces se puede combinar los esquemas A y AB. Unión de
ambos esquemas.
La clave primaria del esquema combinado se toma del conjunto
de entidades en cuyo esquema se ha fusionado.
En el caso de relaciones uno a uno, el esquema de la relación
del conjunto de relaciones puede combinarse con el esquema
de cualquiera de los conjunto de entidades.
Se puede combinar esquemas aunque la participación sea
parcial, usando valores nulos.
Caso de relaciones 1 a 1
Caso de relaciones 1 a 1
En caso de relaciones uno a uno, el
esquema de relación del conjunto de
relaciones puede combinarse con el
esquema de cualquiera de los
Atributos compuestos
Atributos compuestos
Los atributos compuestos se tratan mediante
la creación de un atributo diferente para
cada uno de los atributos componentes; y no
se crea ningún atributo para el atributo
Atributos multivalorados
Atributos multivalorados
Para cada atributo multivalorado M se crea un
esquema de relación E con un atributo A que
corresponde a M, y a los atributos correspondiente a
la clave primaria del conjunto de entidades o de
relaciones del que M es atributo.
Se crea una clave primaria de esquema de la relación
consistente de todos los atributos del esquema.
Además, se crea una clave externa para el esquema
Representación de la
Representación de la
generalización opción 1
generalización opción 1
Se crea un esquema para la entidad del nivel superior y para
cada uno de las entidades con sus respectivos atributos.
Los atributos de clave primaria del nivel superior pasa a ser
atributos de clave primaria de los esquemas del nivel inferior.
Representación de la
Representación de la
generalización opción 2
generalización opción 2
Si la generalización es disjunta y completa.
Solo se crea esquemas de relación para cada una de las
entidades de nivel inferior y no para el nivel superior.
Los atributos del nivel superior se colocan en el esquema de
nivel inferior
La clave primaria de los esquemas es la clave primaria de la
entidad superior
Este método tiene la dificultad de definir las restricciones de
Representación de la agregación
Representación de la agregación
Se transforman los conjuntos de relaciones y entidades
siguiendo las reglas anteriores.
Las reglas vistas anteriormente para la creación de
restricciones de clave primaria y de clave externa para los
conjuntos de relaciones se pueden aplicar también a los
conjuntos de relaciones que incluyan agregación. Tratando la
agregación como cualquier otra entidad.
La clave primaria de la agregación es la clave primaria del
UML
UML
UML
Ejercicio de modelado del diseño conceptual
Ejercicio de modelado del diseño conceptual
Ejercicio 1. Construya un diagrama E-R para una compañía de
seguros de coches cuyos clientes poseen uno o más coches cada uno. Cada coche tiene asociado un valor que va de cero al numero de accidentes registrados.
Ejercicio 2. la secretaria de la universidad conserva datos acerca de
las siguientes entidades: a) asignaturas, incluyendo el número, titulo, créditos, programa, y requisitos; b) ofertas de asignaturas, incluyendo el numero de asignatura, año, semestre, numero de sección,
profesor(es), horario y aulas; c) estudiantes, incluyendo identificador de estudiante, nombre y programa; y d) profesores, incluyendo