Sei sulla pagina 1di 21

Bases de Datos I Modelos de Datos

Erik Sacre

Modelo de Datos
Modelo Entidad - Relacin A B A B
Notas

Relaciones N:M
X
Relaciones Uno a Uno
Son aquellas de grado singular en ambos extremos. Se debe investigar la posibilidad de fusionar ambas entidades

Erik Sacre

Pgina 2

Modelo de Datos
Modelo Entidad - Relacin
Relaciones recursivas
Modelan jerarquas en entidades del mismo tipo, por ejemplo: parte - componente, jefe - subordinado.
Coloquialmente: Oreja de chancho

Notas

A
Relaciones excluyentes - Arcos
Modelan el caso en que las ocurrencias de una entidad estn asociadas con slo una de varias otras entidades. Esta es una manera de modelar exclusividad. Otra posibilidad es usar subtipos.
Erik Sacre Pgina 3

Modelo de Datos
Modelo Entidad - Relacin A B
Notas

C
Relaciones excluyentes - Lectura Se leen todas las relaciones, unindolas por la partcula o bien
Cada o bien o bien ... o bien (entidad) (relacin 1 - entidad 1) (relacin 2 - entidad 2) (relacin N - entidad N)
Erik Sacre Pgina 4

Modelo de Datos
Modelo Entidad - Relacin
Ejemplo : Cada TRABAJO o bien debe ser hecho por un EMPLEADO o bien debe ser hecho por un PROVEEDOR.

Notas

Relaciones excluyentes - Reglas


Toda relacin en el arco debe tener la misma opcionalidad. Toda relacin en el arco debe ser de la misma entidad.

Una relacin puede participar en a lo ms 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.

Erik Sacre

Pgina 5

Modelo de Datos
Modelo Entidad - Relacin
Ejemplo : El conjunto de todas las personas que toman ramo en la escuela, puede definirse como el conjunto de entidades alumno.

Notas

Definicin
Para todo conjunto de entidades del mismo tipo, debe existir uno o ms atributos, o una o ms relaciones, o una combinacin de stos que permite identificar inequvocamente cada entidad en forma nica. Este atributo o combinacin de atributos se denomina identificador nico. Conjunto de atributos y/o relaciones cuya combinacin 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.

Erik Sacre

Pgina 6

Modelo de Datos
Modelo Entidad - Relacin
Ejemplo : El N de matrcula es una buen identificador nico para el conjunto de entidades alumno.

Notas

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

EMPLEADO # Emp_Id

PROYECTO # Codigo

La barra seala que el UID de PROYECTO participa del UID de ASIGNACION

ASIGNACION # Fecha

Erik Sacre

Pgina 7

Modelo de Datos
Modelo Entidad - Relacin
Observaciones
Una entidad puede tener ms de un UID. En casos complejos, puede usarse UID artificiales. Nunca un atributo o relacin opcional es parte de un UID.

Notas

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).

Erik Sacre

Pgina 8

Ejercicios
Construir un modelo de datos que represente el funcionamiento de una bomba de bencina. Su solucin debe al menos contestar: q Quines son los clientes? q Qu productos compran los clientes? q Cul es el monto total de venta diaria? q Cul es la bomba que ms vende? q Qu octanaje tiene ms venta?

Construir un modelo de datos que represente un banco y los productos cuenta corriente y tarjeta de crdito. Su solucin debe al menos contestar: q q q q q Quines son los clientes? Qu productos tiene cada cliente? Cul es el movimiento de cada producto? Cul es el saldo de cada producto?

Erik Sacre

Pgina 9

Modelo de Datos
Modelo Entidad - Relacin
Subtipos y Supertipos
Definicin
Un supertipo es una entidad que queda completamente definida como la unin de dos o ms entidades. A stas ltimas se les llama subtipos de la entidad supertipo.
Los subtipos modelan exclusividad.

Notas

Observaciones
Cada ocurrencia de la entidad supertipo debe ser parte de una y slo una entidad subtipo. Los subtipos son excluyentes.

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

Erik Sacre

Pgina 10

Modelo de Datos
Modelo Entidad - Relacin
Subtipos y Supertipos
Generalizacin y Especializacin
Generalizacin es el proceso de definir supertipos a partir de varias entidades con atributos comunes.
Especificacin es el proceso de definir subtipos de una entidad base.

Notas

La generalizacin se usa para obtener un conjunto de entidades de alto nivel a partir de un conjunto entidades de bajo nivel.
La generalizacin se usa para hacer resaltar los parecidos entre tipos de entidades de nivel ms bajo y ocultar sus diferencias. La generalizacin ayuda a la modularidad permitiendo que atributos comunes de conjuntos de entidades similares sean representados una sola vez en un diagrama E-R.
Erik Sacre Pgina 11

Modelo de Datos
Modelo Entidad - Relacin
Subtipos y Supertipos
La especificacin es el proceso inverso, pueden haber entidades en el conjunto de alto nivel que no estn asociadas a entidades en un conjunto de bajo nivel.

Notas

Representacin grfica

PERSONA

Regla descrita:
Toda PERSONA es o bien jurdica o bien natural.

JURDICA

NATURAL

Erik Sacre

Pgina 12

Modelo de Datos
Modelo Entidad - Relacin
Dependencia de Existencia
Definicin
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.

Notas

Para que exista una orden de compra debe existir algn cliente que la ordena. Si se elimina un cliente se debe eliminar tambin sus rdenes de compra. El conjunto de entidades Clientes es el dominante y Orden es el subordinado.

Entidades fuertes y dbiles


Es posible que una entidad no tenga suficientes atributos para formar un identificador nico y deba ser formado usando la relacin. Entidades as se llaman entidades dbiles.
Erik Sacre Pgina 13

Modelo de Datos
Modelo Entidad - Relacin
Una entidad dbil es aquella cuya existencia depende de otra entidad, en el sentido de que no puede existir si no existe tambin esa otra entidad.

Notas

En el ejemplo (visto en clases), la entidad seccin es dbil por que no puede existir si no existe la entidad curso.
Una entidad fuerte es una entidad que no es dbil.

Problema para la casa


Definir el modelo E-R de los Mundiales de Ftbol, que considere a los pases participantes y jugadores de cada seleccin, indicando edad y posicin en que juega. Un jugador puede participar en ms de un mundial y lo puede hacer cada vez en una posicin distinta. Un jugador siempre juega por un mismo pas. Los partidos del mundial deben indicar los pases que jugaron y el marcador obtenido. Los pases se clasifican en etapas : final, semifinal, cuartos de final , etc.
Erik Sacre Pgina 14

Modelo de Datos
Modelo Entidad - Relacin
Temas al cierre
Modelo Entidad - Relacin 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. : Ningn 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 Atributos UIDs Relaciones se se se se mapean mapean mapean mapean a a a a Tablas Columnas LLaves Primarias Llaves Forneas

Notas

Erik Sacre

Pgina 15

Modelo de Datos
Modelo Entidad - Relacin
Mapeo (elemental) de Modelo E-R a Modelo Relacional Arcos pueden ser diseados de dos maneras: Explcitos: Cada relacin se mapea a una llave fornea. Implcitos: Todas las relaciones se mapean a una columna de llave fornea ms una bandera para el tipo.

Notas

Subtipos pueden ser diseados 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 diseo de subtipos se rehace en trminos de relaciones con arcos.

Erik Sacre

Pgina 16

Modelo de Datos
Modelo Entidad - Relacin
Ejercicios
Discutir la validez de estos casos

Notas

A A

B
B

Erik Sacre

Pgina 17

Modelo de Datos
Modelo Entidad - Relacin
Ejercicios Indicar qu y qu no es implicado por el siguiente diagrama :

Notas

ser Xde

A
ser Y para

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 nmero de niveles es limitado No ms de tres A1 pueden ser Y para A2

Erik Sacre

Pgina 18

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 ms fcil posteriormente eliminar que agregar. 5.Ahora, se trabajar con las Entidades: Consignar en un Modelo de Datos las Entidades identificadas 6.Relacionar las Entidades segn 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 ms informacin de la solicitada. Esto no es malo. Sera errado que no soportara un requerimiento explcito 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 lnea segn 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 solucin.
Erik Sacre Pgina 19

Ejercicio en Clases
Un empresario tiene en la Regin 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 nmero de pedigree que lo identifica en forma nica. Cuando se realiza la venta, el perro debe quedar registrado con su nuevo dueo, adems de asignrsele un nombre al perrito. Para cada perro interesa tambin identificar la raza a la cual pertenece, en qu criadero fue vendido, cul es su fecha de nacimiento y las seas particulares del perrito. Adems, y dado que la venta de un perrito genera ingresos, el dueo del criadero necesita saber el precio de venta de cada perrito. Construir el modelo de datos que satisfaga este requerimiento.

Erik Sacre

Pgina 20

Entidades
Criadero (#codigo, *nombre, *direccion, *fono) Animal (#codigo, *nro_pedigree, *nombre, *fec_nac, *seas) Raza (#codigo, *nombre) Dueo (#rut, *nombre, *direccion, *telefono)

Cada Cada Cada Cada Cada Cada

Animal debe corresponder a una Raza Raza puede tener uno o ms Animal Criadero puede tener uno o ms Animal Animal debe pertenecer a un Criadero Animal puede pertenecer a un Dueo Dueo debe tener uno o ms Animal
Erik Sacre Pgina 21