modelos de datos (segunda parte)

21
Bases de Datos I Modelos de Datos Erik Sacre

Upload: esacre

Post on 26-May-2015

13.229 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Modelos De Datos (Segunda Parte)

Bases de Datos IModelos de Datos

Erik Sacre

Page 2: Modelos De Datos (Segunda Parte)

Erik Sacre Página 2

• Relaciones N:M

• Relaciones Uno a Uno

– Son aquellas de grado singular en ambos extremos.

– Se debe investigar la posibilidad de fusionar ambas entidades

Notas

Modelo de DatosModelo Entidad - Relación

A B A B

X

A B

Page 3: Modelos De Datos (Segunda Parte)

Erik Sacre Página 3

• Relaciones recursivas

– Modelan jerarquías en entidades del mismo tipo, por ejemplo: parte - componente, jefe - subordinado.

» Coloquialmente: “Oreja de chancho”

• Relaciones excluyentes - Arcos

– Modelan el caso en que las ocurrencias de una entidad están asociadas con sólo una de varias otras entidades.

– Esta es una manera de modelar exclusividad. Otra posibilidad es usar subtipos.

Notas

A

Modelo de DatosModelo Entidad - Relación

Page 4: Modelos De Datos (Segunda Parte)

Erik Sacre Página 4

• Relaciones excluyentes - Lectura

– Se leen todas las relaciones, uniéndolas por la partícula o bien

– Cada (entidad)– o bien (relación 1 - entidad 1)– o bien (relación 2 - entidad 2)– ...– o bien (relación N - entidad N)

Notas

Modelo de DatosModelo Entidad - Relación

C

A B

Page 5: Modelos De Datos (Segunda Parte)

Erik Sacre Página 5

Ejemplo : Cada TRABAJO o bien debe ser hecho por un EMPLEADO o bien debe ser hecho por

unPROVEEDOR.

• Relaciones excluyentes - Reglas

– Toda relación en el arco debe tener la misma opcionalidad.

– Toda relación en el arco debe ser de la misma entidad.

– Una relación puede participar en a lo más un arco.

• Identificador Único

– Un conjunto de entidades es un conjunto de entidades del mismo tipo que poseen los mismos atributos. Una entidad se identifica dentro del conjunto, por los valores que adquieren sus atributos.

Notas

Modelo de DatosModelo Entidad - Relación

Page 6: Modelos De Datos (Segunda Parte)

Erik Sacre Página 6

Ejemplo : El conjunto de todas las personas quetoman ramo en la escuela, puede definirsecomo el conjunto de entidades alumno.

– Definición

• Para todo conjunto de entidades del mismo tipo, debe existir uno o más atributos, o una o más relaciones, o una combinación de éstos que permite identificar inequívocamente cada entidad en forma única. Este atributo o combinación de atributos se denomina identificador único.

• Conjunto de atributos y/o relaciones cuya combinación de valores para una ocurrencia de una entidad es única en el universo de ocurrencias posibles de la entidad.

– Si bien siempre debe ser posible encontrar un identificador único, es frecuente definir atributos artificiales que garanticen la unicidad.

Notas

Modelo de DatosModelo Entidad - Relación

Page 7: Modelos De Datos (Segunda Parte)

Erik Sacre Página 7

Ejemplo : El N° de matrícula es una buen identificadorúnico para el conjunto de entidades

alumno.

Pregunta : ¿ Es el Carnet de Identidad una buen identificador único ?

Notas

EMPLEADO# Emp_Id

PROYECTO# Codigo

ASIGNACION# Fecha

La barra señala que el UID de PROYECTOparticipa del UID de ASIGNACION

Modelo de DatosModelo Entidad - Relación

Page 8: Modelos De Datos (Segunda Parte)

Erik Sacre Página 8

– Observaciones

• Una entidad puede tener más de un UID.• En casos complejos, puede usarse UID artificiales.• Nunca un atributo o relación opcional es parte de

un UID.

• Problema

– Definir el modelo E-R que permite obtener los horarios y las salas de clases de los cursos dictados por la escuela. (resolver los alumnos, supuestos vistos en clase).

Notas

Modelo de DatosModelo Entidad - Relación

Page 9: Modelos De Datos (Segunda Parte)

Erik Sacre Página 9

Ejercicios

Construir un modelo de datos que represente el funcionamiento de una bomba de bencina.

• Su solución debe al menos contestar:        Quiénes son los clientes?        Qué productos compran los clientes?        Cuál es el monto total de venta diaria?        Cuál es la bomba que más vende?        Qué octanaje tiene más venta?   Construir un modelo de datos que represente un banco y los productos cuenta

corriente y tarjeta de crédito.• Su solución debe al menos contestar:

       Quiénes son los clientes?

       Qué productos tiene cada cliente?        Cuál es el movimiento de cada producto?        Cuál es el saldo de cada producto?     

Page 10: Modelos De Datos (Segunda Parte)

Erik Sacre Página 10

• Subtipos y Supertipos

– Definición• Un supertipo es una entidad que queda

completamente definida como la unión de dos o más entidades. A éstas últimas se les llama subtipos de la entidad supertipo.

» Los subtipos modelan exclusividad.

– Observaciones

• Cada ocurrencia de la entidad supertipo debe ser parte de una y sólo una entidad subtipo. Los subtipos son excluyentes.

• Puede haber anidamiento: un subtipo de una entidad puede ser el supertipo de otras

Notas

Modelo de DatosModelo Entidad - Relación

Page 11: Modelos De Datos (Segunda Parte)

Erik Sacre Página 11

• Subtipos y Supertipos

– Generalización y Especialización

• Generalización es el proceso de definir supertipos a partir de varias entidades con atributos comunes.

• Especificación es el proceso de definir subtipos de una entidad base.

– La generalización se usa para obtener un conjunto de entidades de alto nivel a partir de un conjunto entidades de bajo nivel.

– La generalización se usa para hacer resaltar los parecidos entre tipos de entidades de nivel más bajo y ocultar sus diferencias.

– La generalización ayuda a la modularidad permitiendo que atributos comunes de conjuntos de entidades similares sean representados una sola vez en un diagrama E-R.

Notas

Modelo de DatosModelo Entidad - Relación

Page 12: Modelos De Datos (Segunda Parte)

Erik Sacre Página 12

• Subtipos y Supertipos

– La especificación es el proceso inverso, pueden haber entidades en el conjunto de alto nivel que no estén asociadas a entidades en un conjunto de bajo nivel.

– Representación gráfica

Notas

Modelo de DatosModelo Entidad - Relación

PERSONA

JURÍDICA

NATURAL

Regla descrita:

Toda PERSONA es o bien jurídicao bien natural.

Page 13: Modelos De Datos (Segunda Parte)

Erik Sacre Página 13

• Dependencia de Existencia

– Definición

• La entidad X depende de la entidad Y, si para que exista X debe existir Y.

Ejemplo : Para que exista una entidad Vendedor debe existir una entidad Empleado asociada.

– Para que exista una orden de compra debe existir algún cliente que la ordena. Si se elimina un cliente se debe eliminar también sus órdenes de compra. El conjunto de entidades Clientes es el dominante y Orden es el subordinado.

• Entidades fuertes y débiles

– Es posible que una entidad no tenga suficientes atributos para formar un identificador único y deba ser formado usando la relación. Entidades así se llaman entidades débiles.

Notas

Modelo de DatosModelo Entidad - Relación

Page 14: Modelos De Datos (Segunda Parte)

Erik Sacre Página 14

– Una entidad débil es aquella cuya existencia depende de otra entidad, en el sentido de que no puede existir si no existe también esa otra entidad.

– En el ejemplo (visto en clases), la entidad sección es débil por que no puede existir si no existe la entidad curso.

– Una entidad fuerte es una entidad que no es débil.

• Problema para la casa

– Definir el modelo E-R de los “Mundiales de Fútbol”, que considere a los países participantes y jugadores de cada selección, indicando edad y posición en que juega. Un jugador puede participar en más de un mundial y lo puede hacer cada vez en una posición distinta. Un jugador siempre juega por un mismo país. Los partidos del mundial deben indicar los países que jugaron y el marcador obtenido. Los países se clasifican en etapas : final, semifinal, cuartos de final , etc.

Notas

Modelo de DatosModelo Entidad - Relación

Page 15: Modelos De Datos (Segunda Parte)

Erik Sacre Página 15

• Temas al cierre

– Modelo Entidad - Relación y Formas Normales• 1ra F.N. : Todo atributo debe tener valor único en

una ocurrencia de la entidad.• 2da F.N.: Todo atributo debe depender de la

totalidad del UID de la entidad.• 3ra F.N. : Ningún atributo que no sea parte del UID

de la entidad puede depender de otro atributo que tampoco sea parte del UID.

– Mapeo (elemental) de Modelo E-R a Modelo Relacional

• Entidades se mapean a Tablas• Atributos se mapean a Columnas• UIDs se mapean a LLaves

Primarias• Relaciones se mapean a Llaves Foráneas

Notas

Modelo de DatosModelo Entidad - Relación

Page 16: Modelos De Datos (Segunda Parte)

Erik Sacre Página 16

– Mapeo (elemental) de Modelo E-R a Modelo Relacional

• Arcos pueden ser diseñados de dos maneras:– Explícitos: Cada relación se mapea a

una llave foránea.– Implícitos: Todas las relaciones se

mapean a una columna de llave foránea más una bandera para el tipo.

• Subtipos pueden ser diseñados de tres maneras:– Cada subtipo se mapea a una tabla.– Todos los subtipos se mapean a una única

tabla, y se agrega una columna de tipo.– El diseño de subtipos se rehace en términos

de relaciones con arcos.

Notas

Modelo de DatosModelo Entidad - Relación

Page 17: Modelos De Datos (Segunda Parte)

Erik Sacre Página 17

– Ejercicios• Discutir la validez de estos casos

Notas

Modelo de DatosModelo Entidad - Relación

A A B

X

A B

Page 18: Modelos De Datos (Segunda Parte)

Erik Sacre Página 18

– Ejercicios• Indicar qué y qué no es implicado por el siguiente

diagrama :

Notas

Modelo de DatosModelo Entidad - Relación

A1 puede ser Y para A2 A1 no puede ser Y para A1 mismo Si A1 es Y para A2, entonces A2 no puede

ser Y para A1 El número de niveles es limitado No más de tres A1 pueden ser Y para A2

A

ser Xde

ser Y para

Page 19: Modelos De Datos (Segunda Parte)

Erik Sacre Página 19

METODOLOGIA A EMPLEAR

Sugerencia de pasos para resolver problemas de Modelamiento de Datos: 

1.Leer bien el texto del problema que describe el negocio.2.Identificar (subrayar) los diferentes conceptos que son susceptibles de ser modelados (entidades, atributos).3.Generar una lista de conceptos, identificando de ellos las Entidades y los Atributos.4.Se recomienda agregar los conceptos sobre los cuales se tienen dudas. Es más fácil posteriormente eliminar que agregar.5.Ahora, se trabajará con las Entidades: Consignar en un Modelo de Datos las Entidades identificadas6.Relacionar las Entidades según la nomenclatura vista en clases. (1:1, 1:N, N:M). Las relaciones N:M se separan al final del proceso.7.Probar el modelo: para ello, se deberá “leer” las relaciones y comprobar si satisfacen el problema. Es probable que su modelo permita obtener más información de la solicitada. Esto no es malo. Sería errado que no soportara un requerimiento explícito en el texto.8.Si hay dudas, se deben efectuar los supuestos correspondientes.9.Identificar los Atributos llave (#), los obligatorios (*) y los opcionales (o). Las llaves que se propagan a las otras entidades, no se colocan en el modelo: solamente se explicita con una línea según nomenclatura vista en clases.10.Separar las relaciones N:M y construir los “NUBS” o relaciones 1:N.11.Probar nuevamente el modelo.12.Identificar nuevos requerimientos que pueden ser satisfechos con su solución.

Page 20: Modelos De Datos (Segunda Parte)

Erik Sacre Página 20

Ejercicio en Clases

Un empresario tiene en la Región Metropolitana varias parcelas; en cada una de ellas tiene un Criadero de Perros. El empresario, que se dedica a la venta de perros, los clasifica por raza. Cada perro es inscrito oficialmente en el Kennel Club y tiene un número de pedigree que lo identifica en forma única. Cuando se realiza la venta, el perro debe quedar registrado con su nuevo dueño, además de asignársele un nombre al perrito. Para cada perro interesa también identificar la raza a la cual pertenece, en qué criadero fue vendido, cuál es su fecha de nacimiento y las señas particulares del perrito. Además, y dado que la venta de un perrito genera ingresos, el dueño del criadero necesita saber el precio de venta de cada perrito. Construir el modelo de datos que satisfaga este requerimiento.

Page 21: Modelos De Datos (Segunda Parte)

Erik Sacre Página 21

Entidades

• Criadero (#codigo, *nombre, *direccion, *fono)• Animal (#codigo, *nro_pedigree, *nombre, *fec_nac,

*señas)• Raza (#codigo, *nombre)• Dueño (#rut, *nombre, *direccion, *telefono)

• Cada Animal debe corresponder a una Raza• Cada Raza puede tener uno o más Animal• Cada Criadero puede tener uno o más Animal• Cada Animal debe pertenecer a un Criadero• Cada Animal puede pertenecer a un Dueño• Cada Dueño debe tener uno o más Animal