Professional Documents
Culture Documents
Conceptos Bsicos
Peter Chen
The EntityRelationship Model--Toward a Unified View of Data ACM Transactions on Database Systems
Marzo 1976
27/10/2008 3
27/10/2008
uno-a-uno
ttulo
Clave Primaria
N:M
muchos-a-uno muchos-a-muchos
trata
Relacin
27/10/2008
Definicin:
Objeto del mundo real distinguible de otros Cualquier objeto (real o abstracto) que existe en la realidad y acerca del cual queremos almacenar informacin en la base de datos. Algo con realidad objetiva que existe o puede ser pensado
Una persona, lugar, cosa, concepto o suceso, real o abstracto, de inters para la empresa.(ANSI/SPARC)
Ejemplos:
libro libro
27/10/2008
autor autor
materia materia
7
M.E/R. - Entidades
Definicin: Una entidad es un objeto del mundo real, que existe y es distinguible de todos los dems Es el objeto bsico del modelo Puede ser de dos tipos bsicos:
Tema II: El Modelo E-R
Concreta:
persona, automvil, empleado, casa, libro
Abstracta:
empresa, prstamo, vacaciones, puesto de trabajo, curso
27/10/2008
M.E/R. - Entidades
Cada entidad tiene un conjunto de propiedades especficas (atributos) que la describen y la distinguen de las dems Empleado {nombre, edad, direccin, sueldo,
puesto_de_trabajo}
emp1
27/10/2008
M.E/R. - Entidades
DNI ciudad_cliente
nombre_cliente
calle_cliente
cliente
cliente
27/10/2008
10
M.E/R. - Entidades
Definicin: Tipo de entidad es la totalidad de
entidades del mismo tipo que comparten las mismas propiedades (atributos) Al conjunto de entidades se le llama tambin extensin del tipo de entidad El tipo de entidad se llama intensin de su conjunto de entidades Tema II: El Modelo E-R {cliente_1, cliente_2, ,cliente_n} = Conjunto de entidades cliente
Extensi Extensin del tipo cliente
{P15_789, P15_789, P45_098, ,P23_896 } = Conjunto de entidades prestamo_bancario
M.E/R. - Entidades
Los conjuntos de entidades no son (necesariamente) disjuntos Conjunto de entidades de los empleados de un banco (empleado) Conjunto de entidades de los clientes de un banco (cliente)
Un empleado del banco puede tener una cuenta en el banco
27/10/2008
13
27/10/2008
14
27/10/2008
15
M.E/R. - Atributos
Definicin: Los atributos son las propiedades que caracterizan a un conjunto de entidades Una entidad queda representada por un conjunto de propiedades: conjunto de atributos Los atributos describen propiedades que posee cada uno de los elementos del conjunto de entidades Cada entidad puede contener su propio valor para cada atributo La designacin de un atributo para un conjunto de entidades expresa que la BD almacena informacin similar para cada uno de los elementos del conjunto de entidades
27/10/2008 16
M.E/R. - Atributos
Conjunto de entidades_cliente descrita por sus atributos:
nombre_cliente, NIF, calle_cliente, ciudad_cliente Dominio nombre_cliente: { cadenas de texto de longitud 50} Dominio NIF : {8 caracteres numricos y uno -numrico}
Conjunto de entidades_cuenta:
nmero_cuenta, saldo Dominio de saldo : {nmeros reales}
27/10/2008
17
M.E/R. - Atributos
nombre_cliente Gonzlez Gmez Lpez Abril Santos Ruprez dni 1928374 1926784 6794352 3415678 5642316 2209547
num_cuenta C-101 C-215 C-102 C-305 C-201 C-217 C-222
27/10/2008
calle_cliente ciudad_cliente Arenal La Granja Carretas Cerceda Mayor Peguerinos Preciados Valsan Mayor Peguerinos Ramblas Len
saldo 3.300 432 10.345 3.247 43.578 42 6.234
18
M.E/R. - Atributos
Formalmente un atributo es una funcin
{dominios} dominios}
Nombre_cliente NIF
Cliente_1
Calle_cliente Ciudad_cliente
M.E/R. - Atributos
Simples provincia Compuestos: estn divididos en subatributos Pueden formar una jerarqua Son la concatenacin de sus atributos simples
nombre_cliente
nombre primer_apellido segundo_apellido calle
direccin_cliente
ciudad provincia CP
M.E/R. - Atributos
Simples provincia Compuestos: Compuestos estn divididos en subatributos Pueden formar una jerarqua Son la concatenacin de sus atributos simples calle
ciudad
provincia direccin_cliente
provincia
CP
27/10/2008
21
M.E/R. - Atributos
Utilizar un atributo compuesto es una buena eleccin de diseo si
A veces se accede al atributo completo A veces a sus sub_atributos
Los atributos compuestos ayudan a agrupar los atributos relacionados haciendo ms claro el diseo
27/10/2008
22
M.E/R. - Atributos
Univalorados Multivalorados O Multivaluado
num_prstamo
tfno
27/10/2008
23
M.E.R. - Atributos
Derivado
empleado
edad_empleado
Prstamos de un cliente de la entidad bancaria = se puede derivar contando el nmero de entidades prstamo que estn vinculadas a la entidad cliente
nombre_cliente Gmez
dni 1926784V
prstamos
cliente
prestatario
prstamo
24
27/10/2008
M.E/R. - Atributos
Nulos Un atributo puede tener el valor nulo cuando la entidad no tiene valor para ese atributo
cliente cliente
-------------
27/10/2008
25
M.E/R. - Atributos
Clave primaria Definicin
conjunto de atributos que identifican unvocamente a una entidad, dentro de un conjunto de entidades
Ejemplo Tema II: El Modelo E-R
ISBN, Cod_materia, nombre
ISBN ISBN
nombre nombre
Cod_mat Cod_mat
27/10/2008
26
M.E/R. - Atributos
Definicin formal:
A, B conjuntos de objetos con propiedades comunes (tipos, conjuntos de entidades) M,N conjuntos de valores simples ( dominios) Funciones : A M nos permiten representar propiedades (atributos) de un tipo determinado. Tema II: El Modelo E-R
Ejemplo:
(llave o clave primaria) NIF: A P verifica: a,b A ab NIF(a) NIF(b)
M.E/R. - Atributos
Atributo Clave
Tiene un valor nico para cada entidad del tipo de entidad (Restriccin de clave o unicidad) Se debe cumplir para cualquier extensin del tipo de entidad Puede ser una composicin de atributos Debe ser mnima (sin atributos superfluos) Algunos tipos de entidad pueden tener ms de un atributo clave Puede haber tipos de entidad sin clave
nombre nombre
ISBN ISBN
27/10/2008
Cod_mat Cod_mat
28
M.E/R. - Relaciones
Una relacin o asociacin : es una conexin semntica entre dos o ms conjuntos de entidades (escribe, trata, es prestatario...). , .... conjuntos de entidades =personas, =coches Relaciones nos permiten representar conexiones entre tipos de entidades posee
{(a1,b3), (a7,b22),........, (a5,b8)} ={(pepe, audi),(ana, ford),......}
Una relacin entre dos o ms entidades es un subconjunto del producto cartesiano de las mismas
27/10/2008
29
M.E/R. - Relaciones
Entidades: cliente y prstamo_bancario Relaci Relacin: prestatario el cliente es prestatario del crdito_bancario C=cliente y PB=prstamo_bancario relacin prestatario C = {(c,pb) / c C y pb PB} es un subconjunto del producto cartesiano de C y PB
Santos Gmez Lpez Sotoca Prez Valdivieso 5345672 13245189 785643 453289 5655665 3434343 mayor zapatera nueva calderera iturrama larga Burlada Pamplona Burlada Pamplona Uju Villava
p24_987 p12_876 p05_984 p56_214 p89_623 p54_567 200 2300 500 987 7654 60
cliente
prestatario
pr prstamo_bancario
27/10/2008
30
Cardinalidad:
Es el nmero mximo de elementos de una entidad que se conectan con un elemento de la otra (u otras ) entidad
En relaciones binarias: Relaciones N:M (muchos a muchos) Relaciones 1:M, M:1 (uno a muchos) Relaciones 1:1 (uno a uno) Ejemplos muchos autores escriben muchos libros (n:m) muchos libros tratan de una materia concreta (m:1)
31
27/10/2008
27/10/2008
32
uno-a-uno
N:1
muchos-a-uno
N N:M M
muchos-a-muchos
27/10/2008
33
muchos-a-uno
muchos-a-muchos
muchos-a-uno No obligatorio
27/10/2008
34
obligatoria
involutiva
27/10/2008
35
Trabaja_para
(1,N)
DEPARTAMENTO
R
(MIN, MAX)
MIN= la entidad E participa en la relacin R con al menos MIN entidades F MAX= la entidad E participa en la relacin R con un mximo de MAX entidades F 0MIN MAX y 1 MAX
MIN =0 participacin parcial (no obligatoria) MIN > 0 participacin total (obligatoria)
27/10/2008 36
(1,1)
(1,1)
(1,n)
(1,1)
(1,n)
(1,m)
(0,n)
(1,1)
27/10/2008
37
EMPLEADO (1,1)
Trabaja_para
(1,N)
DEPARTAMENTO
Suponemos que no hay departamentos sin empleados, ni tampoco empleados que no trabajen para algn departamento
27/10/2008
38
EMPLEADO
DEPARTAMENTO
27/10/2008
39
EMPLEADO (1,1)
Supervisado_POR
(0,N)
EMPLEADO
Supervisado (1,1)
EMPLEADO
Supervisado_POR
Supervisor (0,N)
27/10/2008
40
SUMINISTRA
SUMINISTRADOR
COMPONENTE
PROYECTO
SUMINISTRA
SUMINISTRADOR
UTILIZA
COMPONENTE
FABRICA
27/10/2008
41
SUMINISTRA
SUMINISTRADOR
COMPONENTE
PROYECTO
SUMINISTRADOR
UTILIZA
COMPONENTE
FABRICA
27/10/2008
42
(1,1)
Se imparte Da Hora
(0,n)
aula Cod-aula Capacidad
27/10/2008
43
(0,1)
Fecha de inicio
dirige
(1,1)
Cod-dep Nombre
Departamentos
27/10/2008
44
Fecha de inicio
Profesor
(0,1)
dirige
(1,1)
Cod-dep Nombre
Departamentos
27/10/2008
45
aquella que no tiene atributos clave propios Se identifica por su relacin con otra entidad de otro tipo distinto (fuerte)
Su atributo clave es una combinacin de alguno/s de sus atributos con el atributo clave de la entidad de la que depende
NSS
Dependencia
EMPLEADO
de
Entidad Dbil
27/10/2008
Entidad Fuerte
Existencia
46
M.E/R. Resumen
Entidades Concretas o Abstractas Dbiles o Fuertes Atributos Simples o Compuestos Univaluados o Multivaluados Derivados NULOS Clave Primaria Relaciones Orden Cardinalidad Obligatoriedad Involucin
27/10/2008
47
Cuestiones de Diseo
49
nombre_cliente
calle_cliente
cliente
es_prestatario
(0,m)
(1,n)
prstamo
(1,m)
saldo
es_impositor
cuenta
(1,n)
numero_cuenta
27/10/2008
50
Relaciones: Relaciones
prestatario
Participan Cliente prstamo Cliente (0,m) Prstamo (1,n) Cliente cuenta Cliente (1,m) Cuenta(1,n)
Cardinalidad N:M
impositor
N:M
27/10/2008
51
Relaciones
Matricula
Participan Alumno (1,n) Asignatura (1,m) Profesor (1,n) Asignatura (1,m) Asignatura (1,1) Aula (0,n) Profesor (1,1) Deptartamento(1,n) Profesor (0,1) Deptartamento (1,1)
Atributos Calificacin
Dia, hora
27/10/2008
53
Asignatura
(1,n)
(1,1)
(1,m)
imparte
(1,n)
Profesor
(1,1)
Da Hora
(0,1)
dirige
(0,n)
aula
(1,n)
(1,m)
Alumnos
(1,1)
Cod-dep Nombre
Departamentos
27/10/2008
54
Asignatura
27/10/2008
56
(1,n)
matricula
Calificacin
(1,m)
Alumnos
FK alumnos
matr matrcula
FK asignatura
27/10/2008
Cod_asig
DNI
Calificaci Calificacin
57
Asignatura
(1,1)
clase
(0,n)
aula
Cod-aula Capacidad
FK asignatura
27/10/2008
58
(1,1)
pertenece
(1,n)
Cod-dep Nombre
FK profesor
Categor Categora rea
FK departamentos
59
Profesor
(1,1)
pertenece
(1,n)
Departamentos Cod-dep Nombre
FK departamentos
nombre
Nombre
Categor Categora
rea
cod_dep
60
(0,1)
dirige
(1,1)
Departamentos Cod-dep Nombre
departamentos Cod_dep Profesor NRP dirige NRP 27/10/2008 cod_dep Nombre Categor Categora rea nombre
FK profesor
FK departamentos
61
(0,1)
dirige
(1,1)
Departamentos
Cod-dep Nombre
departamentos Cod_dep Profesor NRP dirige NRP 27/10/2008 cod_dep Nombre Categor Categora rea nombre
FK profesor
FK departamentos
62
Profesor
(0,1)
dirige
(1,1)
Departamentos departamentos Cod_dep Profesor NRP
27/10/2008
Cod-dep Nombre
nombre Nombre
FK profesor
63
MODELO LGICO
PROFESOR NRP ASIGNATURA COD_ASIG NOMBRE CRDITOS CARACTER CURSO
(0,1)
(1,M)
(1,N)
(1,1)
(1,1)
(1,N)
DIA HORA
CALIFICACION
(0,N)
AULA
(1,M)
ALUMNO DNI NOMBRE EDAD DIRECCIN
COD_AULA CAPACIDAD
DEPARTAMENTO COD_DEP
(1,N)
NOMBRE
(1,1)
27/10/2008
64
65
Alumnos
DNI
Alumnos
Direccion Direccion
FK alumnos
DNI
111 Luis Prez 121 Amaia Iturbe 123 Koldo Landa 133 Paz Lpez
27/10/2008
66
NSS familiar
nombre
Familiar NSS
sexo V M V
27/10/2008
el conjunto de objetos A est incluido en el conjunto de objetos B B es una generalizacin de A A es un subtipo de B B es un supertipo de A
Los empleados de la Universidad se identifican de manera nica por su n n de registro personal y se desea conocer de cada uno su nombre. es s La gerencia de la Universidad necesita conocer si el empleado e funcionario o laboral, laboral, los primeros se clasifican por niveles y los segundos por grupo. grupo. Adem Adems los funcionarios pueden ser profesores, profesores, en cuyo caso se debe conocer el rea de conocimiento, o bien administrativos y hay que saber cu cul es su destino
27/10/2008 68
empleado
nombre
nivel
laboral
grupo
profesor
rea de conocimiento
administrativo
destino
27/10/2008
69
Cod_estudiante Fecha_nacimiento
licenciado
Diplomado
Bachiller
27/10/2008
70
E/R ext:Ejemplo
Consideremos el conjunto de entidades cuenta, con sus atributos: numero_cuenta y saldo Una cuenta se puede clasificar en Cuenta_corriente, atributo especfico: descubierto Cuenta_ahorro, atributo especfico: tipo_inters Adems ofrece tres tipos de cuenta corriente: Normal: tres movimientos gratis al mes. NUMERO_MOVIMIENTOS Oro: requiere saldo mnimo de 150 y un inters del 2%. SALDO_MN y PAGO_INTERS Senior: exige que el titular tenga ms de 65 aos. FECHA_NACIMIENTO
27/10/2008
71
Se heredan automticamente
Tipo_inters Cuenta_ahorro
Cuenta_corriente
Descubierto
es
normal
oro
senior
Fecha_nac
72
27/10/2008
Corriente(num_cuenta,saldo,descubierto)
Normal(num_cuenta,saldo, descubierto,movimientos) Oro(num_cuenta,saldo, descubierto,pinters,saldomin) Senior(num_cuenta,saldo, descubierto,fecha_nac) ---------------------------------------------------------------------------
27/10/2008
73
Corriente(num_cuenta,saldo,descubierto)
Normal(num_cuenta,saldo, descubierto,movimientos) Oro(num_cuenta,saldo, descubierto,pinters,saldomin) Senior(num_cuenta,saldo, descubierto,fecha_nac) --------------------------------------------------------------------------Cuenta(num_cuenta,saldo) Ahorro(num_cuenta,tipo) Corriente(num_cuenta,descubierto) Normal(num_cuenta,movimientos) Oro(num_cuenta, pinters,saldomin) Senior(num_cuenta,fecha_nac)
27/10/2008 74
27/10/2008
76
VIDEOCLUB
1. Quiero saber la cantidad de pelculas que le he comprado a un determinado proveedor. 2. Quiero saber cuales son las pelculas ms y menos vistas. 3. Quiero saber que usuarios llevan alquilada al menos una pelcula por mas de una semana. 4. N de veces que ha sido alquilada cada pelcula 5. Gasto por cada cliente 6. Tiempo medio que se alquila cada pelcula 7. Pelculas mas vistas 8. Si en algn momento se han alquilado los ejemplares de alguna pelcula 9. Pelculas alquiladas en un determinado momento/periodo
27/10/2008 77
VIDEOCLUB
10. Quiero saber de cada pelcula ttulo, ejemplar, reparto, director, gnero y descripcin. 11. Quiero saber de cada cliente nombre, direccin, DNI, nmero de telfono. 12. Quiero saber el total de pelculas que ha alquilado cada cliente y cuantas tienen alquiladas en este momento. 13. Nos interesara saber cuntas pelculas hay en el videoclub junto con su gnero asociado. 14. Nos interesara, tambin, tener los datos de los clientes y los proveedores. 15. Y ,adems, saber los precios de alquiler y sus posibles descuentos segn el nmero de alquileres que haga cada usuario.
27/10/2008 78
VIDEOCLUB
16. Cuntas veces ha sido alquilada una pelcula? 17. Cunto dinero ha dado cada pelcula? 18. A raz de estas dos preguntas, se podra hacer una lista, que, conforme una pelcula se alquile ms veces, se vaya decrementando el precio de alquiler por deterioro del DVD. 19. Cuntos clientes tienen alquilada una pelcula y cul es? 20. Qu pelculas han sido alquiladas el da 16-10-07 21. El nmero de pelculas alquiladas por el usuario1 22. El nmero de pelculas del gnero de terror existentes.
27/10/2008
79
VIDEOCLUB
23. Quiero saber el genero de cada pelcula que se alguila. 24. Quiero saber que da se ha alquilado cada copia. 25. Quiero saber cuantas pelculas ha alquilado cada usuario desde que se ha dado de alta.
27/10/2008
80