modelo er
TRANSCRIPT
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Bases de Datos
Modelo Entidad-Relación
Agosto 2014
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
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Notaciones
3
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
• Peter Chen (1976):– Entidades
– Relaciones
– Atributos
– Generalización
– Atributos compuestos
– Identificadores
4
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
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
– https://wiki.gnome.org/Apps/Dia
• Entity Relationship Diagram Generator
– http://sourceforge.net/projects/erdiagrammer/
• Project Mogwai
– http://mogwai.sourceforge.net/erdesignerng.html
• E/R Assistant
– http://highered.mheducation.com/sites/0072942207/student_view0/e_r_assistant.html
6
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
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
8
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Entidad
• Cualquier tipo de objeto o concepto sobre el que se guardainformación.– Cosas, personas, conceptos abstractos o sucesos.
Clientes
Clave Nombre …
e1
e2
…
clientes
ventas
9
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
10
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Entidad
– Un nombre de entidad sólo puede aparecer una vez en elesquema conceptual.
– Tipos de entidades:• Débil. Su existencia depende de una entidad fuerte.
• Fuerte.
11
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 atributodiscriminante.
• Va subrayado con línea punteada.
12
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
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
14
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Roles
• Indica el papel que juega una entidad en una relación.
15
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 susocurrencias tenga al menos una ocurrencia con la otra entidadparticipante.
– Participación Parcial.
• Caso contrario a la Total.
16
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
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
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
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 deentidades en B y viceversa.
20
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Relaciones múltiples
• Una empresa de construcción, a partir del diseño de susproyectos, realiza documentos de requerimientos demateriales.
• Todo requerimiento da origen a uno o más pedidos decompra.
• Se desea modelar qué requerimientos solicitan quémateriales originando qué pedidos.
21
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
22
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Agregaciones
• Manera de representar asociaciones entre elementos deRelaciones y de otros Conjuntos de Entidades.
• Representar relaciones entre múltiples Conjuntos deEntidades pero manteniendo relaciones binarias.
• El nuevo Conjunto de Entidades se utiliza como cualquierotro.
23
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
24
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Otras representaciones de cardinalidad
• Notación Crow
25
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
26
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
27
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
28
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 lasrelaciones.
• Su cardinalidad indica el mínimo y máximo de valores quepuede tomar un ejemplar de la entidad o relación.– Default, (1,1)
29
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
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
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
32
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
33
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
• fecha_arrivo
• nombre
• título
• altitud
• fecha_nacimiento
• dni
• num_habitantes
• nombre
34
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
35
(1,n)
(1,1)
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
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
37
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*
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 ladescripción de los valores que lo conforman.
39
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Identificadores
40
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
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Ejemplo:
• Entidades:
– AMIGO
– CERVEZA
– BAR
42
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
43
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
44
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
45
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 envarios 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 frecuentennuestros amigos y otros que sean frecuentados por varios amigos.
46
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
47
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Ejercicio
• En un hospital se tiene un registro de pacientes, un registro de personal yuno de salas; el personal trabaja en esas salas y los pacientes soninternados en esas salas.
• Del personal nos interesa el número de empleado, el nombre, ladirecció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 asignadocuando ingresa) y el nombre mientras que de las salas nos interesa elnombre y la cantidad de camas que tiene.
• También se sabe que un empleado trabaja en una única sala y que en unasala trabajan varios empleados. Lo mismo ocurre con los pacientes.
48
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
49
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Especialización
• Se refiere a cuando un conjunto de entidades puede incluirsubgrupos de entidades, las cuales se diferencian de algunaforma con las otras entidades del conjunto.
50
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Generalización
• Cuando conjuntos de entidades se pueden sintetizar en unconjunto de entidades de nivel más alto, basado encaracterísticas comunes.
51
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
Ejecicio
• Una BD para una pequeña empresa debe contener información acerca declientes, artículos y pedidos.
• Se necesita almacenar los siguientes datos para cada cliente: Número decliente, direcciones de envío (varias por cliente), saldo, límite de crédito ydescuento.
• 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 yfecha del pedido. El cuerpo del pedido son varias líneas, en cada línea seespecifican el número del artículo pedido y la cantidad.
52
Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación
53
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. LicenciaCreative Commons, 2004. Disponible enhttp://www.jorgesanchez.net/bd/. Última visita agosto 2014.
• Merche M., Diseño conceptual de bases de datos, UniversitatJaume I, España. Disponible en línea:http://www3.uji.es/~mmarques/f47/teoria/tema6.pdf
54