1 Elementos de Bases de Datos Modelo Entidad

Anuncio
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Modelo Entidad-Relación
Elementos de
Bases de Datos
Responde al tipo de modelo de datos lógico
basado en objetos.
Está basado en una representación del
mundo real que consiste de:
Dpto.Ciencias e Ingeniería de la Computación
Universidad Nacional del Sur
„
Lic. María Mercedes Vitturini
[[email protected]]
„
„
„
Clase 4
1er. Cuatrimestre de 2004
Una colección de objetos básicos llamados
entidades.
Yrelaciones entre las entidades.
Cada entidad tiene asociado un conjunto de
atributos Que la describe.
Las relaciones pueden tener o no atributos
propios que las describan.
Elementos de Bases de Datos
Clase 4
Entidades y Conjuntos de
Entidades
Entidades y Conjuntos de
Entidades
Entidad: es un objeto que existe y es distinguible
de otros objetos.
„
Ejemplo: Miguel Montero, con número de CUIL 2022134567-1 es una entidad ya que identifica únicamente
a una persona en el universo.
Conjunto de Entidades: es un conjunto de
entidades del mismo tipo.
„
„
Los conjuntos de entidades no
necesariamente deben ser disjuntos.
Ejemplos:
„
„
El conjunto de todas las personas que tienen cuenta en
un banco define al conjunto de entidades Clientes.
El conjunto de todas las cuentas de un banco define al
conjunto de entidades Cuentas.
Elementos de Bases de Datos
Clase 4
2
El conjunto de personas clientes de un banco.
El conjunto de personas empleados en un
banco.
Una persona (i.e. entidad) podría ser empleado y cliente
de un banco, esto es, pertenecer a los conjuntos de
entidades “clientes” y “empleados”.
Elementos de Bases de Datos
Clase 4
3
Atributos
4
Ejemplos de Atributos
Cada entidad está representada o descripta
por un conjunto de atributos.
Para cada atributo existe un conjunto de
valores permitidos al que se denomina
dominio del atributo.
„
5
Nombre-Sucursal, Ciudad-Sucursal, Activo.
Para el conjunto entidad “Clientes”:
„
Formalmente, cada atributo es una función
matemática que asigna un conjunto de
entidades a un dominio.
Elementos de Bases de Datos
Clase 4
Para el conjunto entidad “Sucursales”:
Nombre-Cliente, Documento, Nro-SeguridadSocial, Domicilio-Cliente, Ciudad-Cliente.
Para el conjunto entidad “Cuentas”.
„
Nro-Cuenta, Saldo.
Para el conjunto entidad “Transacciones”.
„
Nro-Transacción, Fecha, Monto.
Elementos de Bases de Datos
Clase 4
6
1
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Relaciones y Conjunto de
Relaciones
Relaciones y Conjunto de
Relaciones
Relación: es una asociación dos o más
entidades, no necesariamente disjuntas.
Conjunto de relaciones: es el
conjunto de relaciones de un mismo
tipo.
Formalmente, si E1, E2, …, En (n > 1) son
conjuntos de entidades, entonces el conjunto
de relaciones R es un subconjunto de:
{(e1,e2,…,en): e1 ∈ E1, e2 ∈ E2,…, en ∈ En}
Ejemplos:
„
„
Elementos de Bases de Datos
Clase 4
Elementos de Bases de Datos
Clase 4
7
Cardinalidad de Relaciones
Ejemplos:
„
B
a1
b1
a2
b2
a3
b3
a4
b4
8
Relaciones “una a una”
Una a una: una entidad en A está asociada a lo
sumo con una entidad en B.
A
Trabaja para: es una relación que vincula los
conjuntos de entidades empleado y empleador.
Titular: es una relación que vincula los conjuntos
de entidades cliente y cuenta.
„
Es capital de: definida entre los conjuntos
de entidades “Provincias” y “Ciudades
Capitales”.
Director: definida entre los conjuntos de
entidades “Departamentos” y “Directores”.
No es un tipo de relación frecuente.
Elementos de Bases de Datos
Clase 4
Cardinalidad de Relaciones
B
a1
Ejemplos:
„
„
b3
a3
Pertenece: definida entre los conjuntos de
entidades “Ciudades” y “Provincias”.
b1
b2
a2
10
Relaciones “una a muchas”
Una a muchas: una entidad en A está asociada
con cero o varias entidades en B.
A
Elementos de Bases de Datos
Clase 4
9
b4
Departamento Responsable: definida para
los conjuntos de entidades “Materias” y
“Departamentos”.
b5
Elementos de Bases de Datos
Clase 4
11
Elementos de Bases de Datos
Clase 4
12
2
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Cardinalidad de Relaciones
Cardinalidad de Relaciones
Muchas a una: una entidad en A está asociada, a lo
sumo, con una entidad en B pero una entidad en B
puede estar asociada con cero o varias entidades en A.
A
Muchas a muchas: una entidad en A está asociada
con cero o varias entidades en B y viceversa.
A
B
B
a1
b1
a2
b1
a2
b2
a3
b2
a3
b3
a4
b3
a4
b4
a1
a5
Elementos de Bases de Datos
Clase 4
La cardinalidad de asignación adecuada para un
conjunto de relaciones depende del mundo real que se
esté modelando.
Ejemplos:
Cursa: definida entre los conjuntos de
entidades “Materias” y “Alumnos”.
„
14
Cardinalidad de las Relaciones
Relaciones “muchas a muchas”
„
Elementos de Bases de Datos
Clase 4
13
Si modelamos una relación entre los conjuntos de
entidades Clientes y Cuentas, un mismo cliente
podría tener muchas cuentas (una a muchas).
Stock: definida para los conjuntos de
entidades “Artículos” y “Sucursales”.
Si una cuenta puede pertenecer a varios clientes,
entonces cada cliente puede tener muchas
cuentas y viceversa (muchas a muchas).
Elementos de Bases de Datos
Clase 4
Llave de un conjunto de
entidades
„
Nro-Cliente es superllave del conjunto de
entidades Clientes.
Nro-Cliente y Nombre-Cliente es superllave del
conjunto de entidades Clientes.
Elementos de Bases de Datos
Clase 4
16
Llave de un conjunto de
entidades
Definición: se define como superllave al
conjunto de atributos que permite
distinguir unívocamente a un único
elemento de un conjunto de entidades.
„
Elementos de Bases de Datos
Clase 4
15
17
Definición: se define como llave
candidata a una superllave que no
contiene ningún subconjunto propio que
también sea superllave.
„
Esto es, es una superllave minimal.
Definición: se define como llave primaria
a la llave candidata elegida por el
diseñador como llave para una tabla de la
base de datos.
Elementos de Bases de Datos
Clase 4
18
3
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Dependencia de Existencia
entre Entidades
Conjuntos de Entidades Débiles y
Fuertes
Si la existencia de la entidad A depende de la
existencia de la entidad B se dice que A es
dependiente por existencia de B.
Un conjunto de entidades es débil si no
contiene un conjunto de atributos suficiente
para formar una llave primaria.
Esto implica que si se suprime B entonces se
suprime A.
Ejemplos:
„
Se dice que B es la entidad dominante y A la
entidad subordinada.
„
Ejemplo: Dados los conjuntos de entidades Cuentas y
Transacciones, cada entidad transacción está asociada
con una entidad cuenta. Cuentas es la entidad dominante
y Transacciones la entidad subordinada.
Elementos de Bases de Datos
Clase 4
19
Conjuntos de Entidades Débiles y
Fuertes
Un conjunto de entidades es fuerte si contiene
un conjunto de atributos que forme una llave
primaria.
Ejemplo:
„
El conjunto de entidades Cuentas. En este caso el
atributo Nro-Cuenta identifica a una única cuenta
Conjunto de Entidades Fuerte
Dominante
Conjunto de Entidades Débil
Subordinada
Elementos de Bases de Datos
Clase 4
21
Dado el conjunto de entidades débiles
Transacciones subordinado del conjunto de
entidades fuertes Cuentas:
„
„
Elementos de Bases de Datos
Clase 4
20
Conjuntos de Entidades Fuertes y
Débiles
Definición: Se define como discriminador
al conjunto de atributos de una entidad
débil que permite distinguir a las entidades
dentro del conjunto.
La llave primaria de un conjunto de
entidades débil A subordinado al conjunto
de entidades fuertes B:
Llave primaria(B) ∪ Discriminador(A)
Elementos de Bases de Datos
Clase 4
22
Atributos de Conjuntos de
Relaciones
Ejemplos
„
„
El conjunto de entidades Transacciones con los
atributos Nro-Transacción, Fecha y Monto.
El conjunto de entidades Ejemplares de libros con
los atributos Nro-Ejemplar, Cantidad-Páginas.
Llave primaria de Cuentas: Nro-Cuenta.
Discriminador de Transacciones: NroTransacción.
Llave primaria de Transacciones: Nro-Cuenta y
Nro-Transacción.
Elementos de Bases de Datos
Clase 4
23
Consideremos los conjuntos de entidades E1,…,En.
Sean pk(E1),…,pk(En) las llaves primarias de E1,…,En
respectivamente.
Sea R una relación que implica a E1,…,En,
R(E1,…,En).
Si R no tiene atributos entonces el conjunto de
atributos que describen las relaciones individuales de
R es: pk(R) = pk(E1) ∪ … ∪ pk(En).
Si R tiene como atributos descriptivos a {a1,…,am}
entonces su conjunto de atributos que describen las
relaciones individuales de R es:
R = pk(E1) ∪ … ∪ pk(En) ∪ {a1,…,am}
Elementos de Bases de Datos
Clase 4
24
4
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Atributos de un conjunto de
relaciones
Diagrama Entidad-Relación
La estructura lógica de una base de datos puede
expresarse mediante un diagrama entidad-relación.
Cada Diagrama Entidad-Relación está compuesto de:
Consideremos los conjuntos de entidades:
„
„
Clientes: Nro-Seguridad-Social, Nombre-Cliente,
Domicilio-Cliente, Ciudad-Cliente.
Cuenta: Nro-Cuenta, Saldo.
La relación que CtaCli es una relación que asocia
a los clientes con las cuentas bancarias que posee.
Supongamos que esta relación tiene el atributo
descriptivo Fecha. Entonces los tres atributos que
componen la relación CtaCli son:
Nro-Cuenta, Nro-Seguridad-Social, Fecha
Elementos de Bases de Datos
Clase 4
Nro-Seguridad
Social
Fecha
CtaCli
Dirección-Cliente
Nombre-Cliente
Nro-Cuenta
Saldo
Ciudad-Cliente
Fecha
Cliente
CtaCli
Dirección-Cliente
Nro-Seguridad
Social
Nro-Cuenta
Nombre-Cliente
Cuenta
Ciudad-Cliente
Elementos de Bases de Datos
Clase 4
Nro-Cuenta
Cuenta
CtaCli
Dirección-Cliente
La relación CtaCli es una a
muchas de cuenta a cliente.
29
28
Diagrama E-R
Fecha
Cliente
Saldo
La relación CtaCli es una a
muchas de cliente a cuenta.
Elementos de Bases de Datos
Clase 4
27
Diagrama Entidad-Relación
Nro-Seguridad
Social
Cuenta
CtaCli
Dirección-Cliente
La relación CtaCli es
muchas a muchas.
Elementos de Bases de Datos
Clase 4
Nombre-Cliente
26
Nro-Cuenta
Fecha
Cliente
Cuenta
Saldo
Ciudad-Cliente
Elementos de Bases de Datos
Clase 4
Diagrama E-R
Nro-Seguridad
Social
Cliente
„
25
Diagrama E-R
Nombre-Cliente
Rectángulos: representando conjuntos de entidades.
Elipses: representando atributos.
„ Rombos: representando relaciones entre conjuntos de
entidades.
„ Líneas: vinculando conjuntos de entidades entre si o conjuntos
de entidades con relaciones.
Š Flechas: el extremo de la flecha indica que corresponde una
entidad del conjunto de entidades.
„
Saldo
Ciudad-Cliente
La relación CtaCli
es una a una.
Elementos de Bases de Datos
Clase 4
30
5
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Libros y Autores
Relaciones no binarias
Registro
Editorial
Cod-Materia
Nombre-Alumno
Libro
Nombre-Materia
Nombre-Libro
ISBN
Relación Muchas a
muchas:
un
libro
puede ser escrito por
muchos autores y un
autor puede escribir
muchos libros.
Nro-Páginas
LibAut
Alumno
Materia
AluMatCar
Nombre-Autor
Autor
Dirección-Autor
Carrera
Cod-Carrera
Elementos de Bases de Datos
Clase 4
Relaciones no binarias
Nombre-Prof
Nombre-Mat
Legajo-Prof
Nro-Materia
Nombre-Carrera
Elementos de Bases de Datos
Clase 4
31
32
Relaciones no binarias
Nombre-Diagnóstico
Descripción
Teléfono
Domicilio
Nombre
Profesor
Materia
Paciente
Diagnóstico
Nro-Paciente
atención
Cursa
Alumno
Nombre-Alumno
Medico
Nro-Registro
Elementos de Bases de Datos
Clase 4
Nro-Medico
33
Consideraciones de diseño
Nombre-Médico
Elementos de Bases de Datos
Clase 4
34
Ejercicios propuestos
Se debe adecuar el diseño a la realidad del
problema.
Crear un diseño para una BD con personas que a su vez
refleje la relación del padre y la madre de cada persona.
Deben determinarse correctamente los atributos.
Crear un diseño para una BD de un hipódromo que refleje
la información de los caballos, las carreras en las que
intervienen y el ganador de una carrera.
No debe haber redundancias ni inconsistencias.
Los atributos de una relación pueden cambiar la
funcionalidad y/o la cardinalidad de la misma.
Elementos de Bases de Datos
Clase 4
35
Crear un diseño de BD para un museo que refleje las obras
del mismo, los autores de cada obra y las exposiciones de
cada obra.
Crear un diseño de BD que refleje las relaciones entre
alumnos que rinden materias de determinada carrera con
profesores de la universidad.
Elementos de Bases de Datos
Clase 4
36
6
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Una posible solución.
Hipódromo (Solución 1)
Persona
Caballo
HijoDe
Es-Una
Padre
Es-Una
Gana
Corre
Carrera
Madre
Elementos de Bases de Datos
Clase 4
Problema:
este
esquema no refleja
que el caballo haya
corrido la carrera
que ganó.
Elementos de Bases de Datos
Clase 4
37
Hipódromo (Solución 2)
38
Museo
Nombre-Lugar
Obra
Caballo
Corre
Direc-Lugar
Posición
HechaPor
Carrera
Rinde
Profesor
Carrera
Fecha
∈
40
• No se controlan si se rinden las
materias de la carrera a la que
pertenece el alumno.
Alumno
Nota
• No se indican que profesores toman los
exámenes.
• No se controlan si se rinden las materias de la
carrera a la que pertenece el alumno.
Elementos de Bases de Datos
Clase 4
Nro-Exposic
Elementos de Bases de Datos
Clase 4
Rinde
Materia
Fecha
Universidad (Solución 2)
∈
Nota
SeHaceEn
Exposición
39
Universidad (Solución 1)
Fecha
SeVeEn
Autor
Elementos de Bases de Datos
Clase 4
Alumno
Lugar
Materia
41
∈
Elementos de Bases de Datos
Clase 4
Carrera
42
7
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Temas de la clase de hoy
Modelo de Datos Entidad-Relación.
„
„
„
„
„
„
Entidades y Conjunto de Entidades. Entidades Fuertes y
Débiles.
Relaciones y Conjunto de Relaciones. Relaciones binarias y
n-arias.
Atributos de Entidades y Atributos de Relaciones.
Cardinalidad de las Relaciones.
Superllave, Llaves Candidatas y Llave Primaria
Diagrama Entidad-Relación. Ejemplos.
Bibliografía
„
„
“Fundamentos de Bases de Datos” – A. Silberschatz.
Capítulo 1.
“Database and Knowledge Base System” – J. Ullman.
Capítulo 1 y 2.
Elementos de Bases de Datos
Clase 4
43
8
Descargar