El documento introduce el modelo entidad-relación para bases de datos. Explica que maneja un conjunto de entidades, relaciones y atributos. Describe los componentes básicos como entidades, relaciones, atributos, así como notaciones y aplicaciones para crear diagramas entidad-relación.
1. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Bases de
Datos
Modelo Entidad-Relación
Agosto 2014
2. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Modelo Entidad-Relación
• Maneja un conjunto de entidades, relaciones y atributos.
• Componentes:
– Entidad.
– Relación.
– Atributos.
2
3. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Notaciones
3
4. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
• Peter Chen (1976):
– Entidades
– Relaciones
– Atributos
– Generalización
– Atributos compuestos
– Identificadores
4
5. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Aplicaciones para ERD
• RISE
– http://www.risetobloome.com/Page_1_S.aspx?ITEM=1853
•
– http://creately.com/
• yEd Graph Editor
– http://www.yworks.com/en/products_yed_about.html
• SQL Developer
– http://sqldeveloper.solyp.com/
5
7. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
• DBDesigner
– http://www.fabforce.net/dbdesigner4/
• DB Designer Fork
– http://sourceforge.net/projects/dbdesigner-fork/
• wwwsqldesigner
– https://code.google.com/p/wwwsqldesigner/
• SQL Power Arquitect
– http://www.sqlpower.ca/page/architect
7
8. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
8
9. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Entidad
• Cualquier tipo de objeto o concepto sobre el que se guarda
información.
– Cosas, personas, conceptos abstractos o sucesos.
Clientes
Clave Nombre …
e1
e2
…
clientes
ventas
9
10. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
10
11. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Entidad
– Un nombre de entidad sólo puede aparecer una vez en el
esquema conceptual.
– Tipos de entidades:
• Débil. Su existencia depende de una entidad fuerte.
• Fuerte.
11
12. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Entidades débiles
• Para existir, dependen de otra entidad.
• Van en doble rectángulo y doble rombo.
• Para distinguir de entre sus entidades, se usa un atributo
discriminante.
• Va subrayado con línea punteada.
12
13. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Relación
• Correspondencia o asociación entre dos o más entidades.
• Cada relación tiene un nombre que describe su función.
13
14. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
14
15. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Roles
• Indica el papel que juega una entidad en una relación.
15
16. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Cardinalidad
• Cardinalidad de una entidad.
– Número mínimo (0 o 1) y máximo (1 o n) en las que una entidad
participa en una relación especifica.
– Participación Total.
• Cuando una entidad en una relación requiere que cada una de sus
ocurrencias tenga al menos una ocurrencia con la otra entidad
participante.
– Participación Parcial.
• Caso contrario a la Total.
16
17. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Tipos de cardinalidad (1/4)
• Modelo Uno a Uno.
– Una entidad A se asocia a lo más con una entidad B.
– La entidad B se asocia a lo más con una entidad A.
– Se representa con
17
18. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Tipos de cardinalidad (2/4)
• Uno a varios.
– Una entidad A se asocia con cualquier cantidad de entidades en B.
– La entidad B se asocia a lo más con una entidad en A.
– Se representa con:
18
19. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Tipos de cardinalidad (3/4)
• Varios a uno.
– Varias entidades en A se asocian con sólo una en B.
– Una entidad en B se asocia con cualquier cantidad de entidades en A.
19
20. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Tipos de cardinalidad (4/4)
• Varios a varios.
• Una entidad en A se relaciona con cualquier cantidad de
entidades en B y viceversa.
20
21. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Relaciones múltiples
• Una empresa de construcción, a partir del diseño de sus
proyectos, realiza documentos de requerimientos de
materiales.
• Todo requerimiento da origen a uno o más pedidos de
compra.
• Se desea modelar qué requerimientos solicitan qué
materiales originando qué pedidos.
21
22. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
22
23. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Agregaciones
• Manera de representar asociaciones entre elementos de
Relaciones y de otros Conjuntos de Entidades.
• Representar relaciones entre múltiples Conjuntos de
Entidades pero manteniendo relaciones binarias.
• El nuevo Conjunto de Entidades se utiliza como cualquier
otro.
23
24. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
24
25. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Otras representaciones de cardinalidad
• Notación Crow
25
26. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
26
27. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
27
28. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
28
29. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Atributos
• Característica de interés sobre una entidad.
• Representan las propiedades básicas de las entidades y de las
relaciones.
• Su cardinalidad indica el mínimo y máximo de valores que
puede tomar un ejemplar de la entidad o relación.
– Default, (1,1)
29
30. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Atributos de relación
• Precio.
– ¿Es un atributo de Materiales?
– ¿Es un atributo de Proveedores?
30
31. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Atributos de relación
• Precio.
– ¿Es un atributo de Materiales? NO, depente del proveedor.
– ¿Es un atributo de Proveedores? NO, depende del material.
31
32. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
32
33. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
33
34. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
• fecha_arrivo
• nombre
• título
• altitud
• fecha_nacimiento
• dni
• num_habitantes
• nombre
34
35. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
35
(1,n)
(1,1)
36. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Tipos de atributos (1/2)
• Según su composición:
– Simples.
• Sólo tienen un componente, indivisible.
• Ej: Número de control.
– Compuestos.
• Divisibles en varios componentes.
• Se encierran en un doble ovalo.
• Ej: Domicilio (Calle, número, C.P.).
36
37. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
37
38. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Tipos de atributos (2/2)
• Según sus valores:
– Univalorados. Un solo valor. Ej: número de control.
– Multivalorados. Varios valores. Ej: teléfono.
– Opcionales / Nulos. Pueden o no tener un valor.
– Derivados.
• Se obtienen a partir de otros campos.
• Ej: sueldo.
Edad
38
Libro
Clave
Autores*
39. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Dominio de un atributo
• Conjunto de valores asociados a un atributo.
• Tipos:
– Predefinidos. Proporcionados por la base de datos (enteros, cadenas,
etc.).
– Definidos por el usuario. Consta de un nombre de dominio y la
descripción de los valores que lo conforman.
39
40. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Identificadores
40
41. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Metodología de diseño conceptual
1. Identificar las entidades.
2. Identificar las relaciones.
3. Identificar los atributos y asociarlos a entidades y relaciones.
4. Determinar los dominios de los atributos.
5. Determinar los identificadores.
6. Dibujar el diagrama entidad – relación.
7. Revisar el esquema conceptual local con el usuario.
41
42. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Ejemplo:
• Entidades:
– AMIGO
– CERVEZA
– BAR
42
43. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
43
44. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
44
45. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
45
46. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
• Los AMIGOS frecuentan uno o varios bares.
• Puede que les guste ir a cada bar en momentos distintos del día (mañana,
tarde o noche), o puede que les sea indiferente.
• Cada AMIGO ha probado una o varias cervezas y sabe cuánto le gustan:
nada, normal o mucho.
• Una misma CERVEZA puede gustar a varios AMIGOS y puede servirse en
varios BARES distintos.
• De las CERVEZAS, algunas no las ha probado nadie.
• Puede que haya CERVEZAS que no se sirvan en ningún BAR.
• Cada BAR sirve una o varias cervezas.
• Entre los BARES de interés, puede que haya algunos que no frecuenten
nuestros amigos y otros que sean frecuentados por varios amigos.
46
47. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
47
48. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Ejercicio
• En un hospital se tiene un registro de pacientes, un registro de personal y
uno de salas; el personal trabaja en esas salas y los pacientes son
internados en esas salas.
• Del personal nos interesa el número de empleado, el nombre, la
dirección y el teléfono.
• Sabemos que dos empleados no tienen el mismo numero.
• De los pacientes nos interesa el número de registro (le es asignado
cuando ingresa) y el nombre mientras que de las salas nos interesa el
nombre y la cantidad de camas que tiene.
• También se sabe que un empleado trabaja en una única sala y que en una
sala trabajan varios empleados. Lo mismo ocurre con los pacientes.
48
49. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
49
50. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Especialización
• Se refiere a cuando un conjunto de entidades puede incluir
subgrupos de entidades, las cuales se diferencian de alguna
forma con las otras entidades del conjunto.
50
51. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Generalización
• Cuando conjuntos de entidades se pueden sintetizar en un
conjunto de entidades de nivel más alto, basado en
características comunes.
51
52. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Ejecicio
• Una BD para una pequeña empresa debe contener información acerca de
clientes, artículos y pedidos.
• Se necesita almacenar los siguientes datos para cada cliente: Número de
cliente, direcciones de envío (varias por cliente), saldo, límite de crédito y
descuento.
• Para cada artículo: Número de artículo, fábricas que lo distribuyen,
existencia de ese artículo en cada fábrica, descripción del artículo.
• Para cada pedido: cada pedido tiene una cabecera y el cuerpo del pedido.
La cabecera está formada por el número de cliente, dirección de envío y
fecha del pedido. El cuerpo del pedido son varias líneas, en cada línea se
especifican el número del artículo pedido y la cantidad.
52
53. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
53
54. Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Referencias bibliográficas
• Date C., An introduction to database system, Addison Wesley.
• Sánchez J., Diseño Conceptual de Bases de Datos. Licencia
Creative Commons, 2004. Disponible en
http://www.jorgesanchez.net/bd/. Última visita agosto 2014.
• Merche M., Diseño conceptual de bases de datos, Universitat
Jaume I, España. Disponible en línea:
http://www3.uji.es/~mmarques/f47/teoria/tema6.pdf
54