Clase 02
Clase 02
Clase 02
Contenidos
Modelamiento de Datos
Modelos de Datos El modelo Relacional LLave Primaria Llave Foranea Integridad de la Entidad Integridad Referencial Ejercicio de Aplicacin
Normalizacion
Definicin Dependencia Funcional Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Desnormalizacion
Modelamiento de Datos
Modelos de Datos
Clasificacion Bsica
El modelo de datos, como abstraccin del minimundo en estudio, es el enfoque utilizado para la representacin de las entidades y sus caractersticas dentro de la base de datos, y puede ser dividido en tres grandes tipos:
Modelo de Datos
Nociones de Modelamiento
El objetivo es producir una descripcin estructurada de la organizacin y del negocio del cliente, en detalle suficiente para permitir construir un sistema basado en ste.
Para esto, mnimamente se requiere: Un conjunto de tcnicas especficas y complementarias, adecuadas cada una para describir distintos aspectos del negocio/sistema. Conocimiento, normas y estndares que aseguren la correcta descripcin y posterior interpretacin usando estas tcnicas.
Nociones de Modelamiento
Modelamiento Entidad - Relacin
Modelo de Datos
Modela las cosas acerca de las cuales el negocio mantiene o debe mantener informacin, y las asociaciones existentes entre stas.
Nociones de Modelamiento
Modelamiento Funcional
Modelo de Datos
Modela lo que el negocio hace o har en el futuro para alcanzar sus objetivos.
Nociones de Modelamiento
Diagramas de Flujo de Datos
Modelo de Datos
Modela el flujo de informacin dentro y fuera del negocio y las transformaciones que sta sufre en el proceso
Nociones de Modelamiento
Matrices de Cruce
Modelo de Datos
Muestra las asociaciones entre elementos de distintas clases. Ayuda al control de calidad y a completar los modelos.
Nociones de Modelamiento
Panorama General
Modelo de Datos
Modelo de Datos
Modelo de Datos
Un modelo de datos se define como la combinacin de tres componentes :
Una coleccin de tipos de objetos de informacin, los cuales son las unidades bsicas para construir cualquier base de datos. Una coleccin de reglas generales de integridad, las cuales limitan el conjunto de los tipos de objetos que pueden aparecer en forma legal en cualquier base de datos. Una coleccin de operadores, aplicables a los objetos para obtener informacin y para otros propsitos.
Modelo de Datos
La descripcin de la estructura de una base de datos, es el modelo de datos, una coleccin de herramientas conceptuales para describir datos, relaciones de datos, semnticas y restricciones de datos.
Los principales objetivos del proceso de modelamiento es saber identificar cual es el problema y encontrar la forma de representarlo en un sistema. Esto significa saber de los datos, saber quienes van a usarlos y como van a usarlos.
Modelo de Datos
Modelo de Datos
Modelo de Datos
Entidad Relacin Atributo Identificador nico Subtipo y Supertipo Dependencia de existencia Entidades fuertes y dbiles Definiciones Cualquier cosa de relevancia para el negocio acerca de la cual debe mantenerse informacin. Algo con existencia real o conceptual. Algo a lo que se le da nombre. Cualquier cosa que se puede identificar claramente. Un objeto que existe y es distinguible de otros objetos.
Qu es una Entidad ?
Modelo de Datos
Modelo de Datos
EMPLEADO
PROYECTO
PERSONA
SALA
PRODUCTO
PROVEEDOR
Modelo de Datos
Modelo de Datos
VEHICULO
# o o o Numero Motor Patente Tipo Marca Modelo Numero de puertas Numero de asientos
Atributos Opcionales
Modelo de Datos
Dominios
Dominio es un conjunto de reglas de validacin, restricciones de formato, y otras propiedades que se aplican a un grupo de atributos. Listas de valores Rangos
Ejemplos :
Modelo de Datos
Esto ocurre cuando: El atributo puede tener varios valores dada una ocurrencia de una entidad, o El atributo puede tener a su vez atributos, o Requerimos historia de cambios en los valores del atributo.
Relaciones
ejemplo, la entidad libro puede estar relacionada con la entidad persona por medio de la relacin arrendar.
Modelo de Datos
Formalmente, una relacin R entre conjuntos de entidades {E1, E2, ... En} se representa mediante un conjunto de n-tuplas (e1, e2, ..., en) donde e1 1,e2 2,...,en En.
Una relacin tambin puede tener atributos, por ejemplo, en la relacin arrendar el atributo fecha podra indicar la fecha en que se devuelve el libro.
Una relacin se representa por una lnea que une dos La opcionalidad se representa por una lnea punteada
(opcional) o llena (obligatoria).
Modelo de Datos
Opcional (punteado)
MARCA
Uno (simple)
Modelo de Datos
La lectura debe expresar reglas Cada extremo se lee: Cada puede, o debe una o ms, o una y solo una
Ejemplo: Cada MODELO debe corresponder a una y slo una MARCA. Cada MARCA puede tener uno o ms MODELOS.
Ejercicios
Haga una lista de entidades y atributos para:
Una distribuidora de combustibles. Un Banco Falabella
Modelo de Datos
Relaciones N:M
Son aquellas de grado singular en ambos extremos. Se debe investigar la posibilidad de fusionar ambas entidades
Modelo de Datos
A
Relaciones excluyentes - Arcos
entidad estn asociadas con slo una de varias otras entidades. posibilidad es usar subtipos.
Modelo de Datos
C
Relaciones excluyentes - Lectura
Modelo de Datos
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.
Modelo de Datos
Definicin
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. 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.
Modelo de Datos
EMPLEADO # Emp_Id
PROYECTO # Codigo
ASIGNACION # Fecha
Modelo de Datos
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.
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).
Ejercicios
Construir un modelo Entidad Relacin que represente el funcionamiento de una bomba de bencina. Su solucin debe al menos contestar: Quines son los clientes? Qu productos compran los clientes? Cul es el monto total de venta diaria? Cul es la bomba que ms vende? Qu octanaje tiene ms venta? Construir las consultas sql para contestar las preguntas anteriores.
Construir un modelo Entidad Relacin que represente un banco y los productos cuenta corriente y tarjeta de crdito. Su solucin debe al menos contestar: Quines son los clientes? Qu productos tiene cada cliente? Cul es el movimiento de cada producto? Cul es el saldo de cada producto? Construir las consultas sql para contestar las preguntas anteriores.
Modelo de Datos
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.
Observaciones
Modelo de Datos
Generalizacin y Especializacin
a partir de varias entidades con atributos comunes. Especificacin es el proceso de definir subtipos de una entidad base.
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.
Modelo de Datos
JURDICA
NATURAL
Modelo de Datos
Ejemplo : Para que exista una entidad Vendedor debe existir una entidad Empleado asociada.
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.
Modelo de Datos
Problema
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.
Modelo de Datos
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
Modelo de Datos
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. 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.
Modelo de Datos
A A B
Modelo de Datos
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
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.
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.