Sunteți pe pagina 1din 42

Unidad 2

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 Entidad - Relacin

Modelo de Datos

Modelo Entidad - Relacin


El objetivo es identificar y representar las cosas de importancia para el funcionamiento del negocio (entidades), sus propiedades (atributos), y la forma en que estas cosas se relacionan entre s (relaciones).
Este modelo se desarroll para facilitar el diseo de las bases de datos (presentado por Chen en 1976). La idea de esta metodologa de representacin de la informacin es mostrar los datos que contendr un sistema como un conjunto de objetos con atributos propios, los cuales son capaces de disminuir la redundancia presente en un sistema de archivos tradicionales y ocupar mejor la estructura presente en los datos a almacenar.

Modelo Entidad - Relacin


Terminologa bsica

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 Entidad - Relacin


Cmo se identifican Entidades ?

Modelo de Datos

A partir de la descripcin del negocio:

Buscando SUSTANTIVOS de uso comn en el


negocio.

Buscando SINNIMOS, que representen conceptos


generalizables.

A partir de los documentos del negocio:

Buscando agrupaciones de informacin contenida en


stos.

Buscando elementos de informacin cuyo origen puede


estar en entidades no identificadas.

Modelo Entidad - Relacin


Entidades - Representacin grfica

Modelo de Datos

Rectngulo de bordes redondeados. Nombre en singular y maysculas.

EMPLEADO

PROYECTO

PERSONA

SALA

PRODUCTO

PROVEEDOR

Modelo Entidad - Relacin


Atributos Las entidades poseen cualidades o propiedades conocidas como atributos : una sala de clases tiene, un nombre (QO QP - D310), una ubicacin, un cupo, etc.. Definicin Dato especfico, significativo para una entidad, que: La califica, o (ej.: color) La identifica, o (ej.: RUT) La clasifica, o (ej.: grupo) La cuantifica, o (ej.: peso) Expresa su estado (ej.: pagado, solicitado)

Modelo de Datos

Deben llevar nombre en singular, nico dentro de la entidad.


No deben incluir el nombre de la entidad. Pueden ser opcionales u obligatorios. Su formato, valores por defecto, rangos, validaciones, son comunes para todos los valores posibles del atributo.

Modelo Entidad - Relacin


Atributos - Representacin grfica

Modelo de Datos

VEHICULO
# o o o Numero Motor Patente Tipo Marca Modelo Numero de puertas Numero de asientos

Identificador nico Atributos Obligatorios

Atributos Opcionales

Modelo Entidad - Relacin


Atributos
Cada atributos de una entidad posee un TIPO, el que corresponde al tipo de dato del atributo. Ejemplo : RUT Nmero Nombre String. Fecha Date.

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 :

Los dominios estandarizan los atributos en las entidades del negocio.

Modelo Entidad - Relacin


Conversin de Atributos en Entidades

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

Definicin Una relacin es una asociacin significativa entre dos entidades.

Una relacin es una vinculacin entre entidades , por

ejemplo, la entidad libro puede estar relacionada con la entidad persona por medio de la relacin arrendar.

Modelo Entidad - Relacin


Toda relacin tiene un nombre, que expresa la asociacin entre las entidades.

Modelo de Datos

Tiene grado (o cardinalidad). Tiene opcionalidad.

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.

Relaciones - Representacin grfica


entidades.

Una relacin se representa por una lnea que une dos La opcionalidad se representa por una lnea punteada
(opcional) o llena (obligatoria).

Modelo Entidad - Relacin


El grado se representa por un extremo simple (uno) o
pata de gallo (muchos).

Modelo de Datos

El nombre se escribe en los extremos.


Obligatorio (lnea llena)
MODELO
corresponder a tener

Opcional (punteado)
MARCA

Muchos (pata de gallo)

Uno (simple)

Modelo Entidad - Relacin


Relaciones - Lectura

Modelo de Datos

La lectura debe expresar reglas Cada extremo se lee: Cada puede, o debe una o ms, o una y solo una

del negocio (entidad) (nombre relacin) (entidad(es))

Ejemplo: Cada MODELO debe corresponder a una y slo una MARCA. Cada MARCA puede tener uno o ms MODELOS.

Relaciones Muchos a Muchos


Son aquellas cuyo grado es mltiple en ambos extremos. Se deben resolver buscando una entidad de interseccin.

Ejercicios
Haga una lista de entidades y atributos para:
Una distribuidora de combustibles. Un Banco Falabella

Modelo Entidad - Relacin A B A B

Modelo de Datos

Relaciones N:M

Relaciones Uno a Uno

Son aquellas de grado singular en ambos extremos. Se debe investigar la posibilidad de fusionar ambas entidades

Modelo Entidad - Relacin


Relaciones recursivas

Modelo de Datos

Modelan jerarquas en entidades del mismo tipo, por


ejemplo: parte - componente, jefe - subordinado.
Coloquialmente: Oreja de chancho

A
Relaciones excluyentes - Arcos

Modelan el caso en que las ocurrencias de una

entidad estn asociadas con slo una de varias otras entidades. posibilidad es usar subtipos.

Esta es una manera de modelar exclusividad. Otra

Modelo Entidad - Relacin A B

Modelo de Datos

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)

Modelo Entidad - Relacin


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

Modelo de Datos

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.

Modelo Entidad - Relacin


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

Modelo de Datos

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. de valores para una ocurrencia de una entidad es nica en el universo de ocurrencias posibles de la entidad.

Conjunto de atributos y/o relaciones cuya combinacin

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

Modelo Entidad - Relacin


Ejemplo : El N de matrcula es una buen identificador
nico para el conjunto de entidades alumno.
Pregunta : Es el Carnet de Identidad una buen identificador nico ?

Modelo de Datos

EMPLEADO # Emp_Id

PROYECTO # Codigo

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

ASIGNACION # Fecha

Modelo Entidad - Relacin

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 Entidad - Relacin


Subtipos y Supertipos Definicin

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

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

Modelo Entidad - Relacin


Subtipos y Supertipos

Modelo de Datos

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.

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

Modelo de Datos

Representacin grfica PERSONA


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

JURDICA

NATURAL

Modelo Entidad - Relacin


Dependencia de Existencia Definicin
La entidad X depende de la entidad Y, si para que exista X debe existir Y.

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.

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.

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

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 Entidad - Relacin


Temas al cierre

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

Atributos UIDs Primarias Relaciones Forneas

se mapean a se mapean a se mapean a se mapean a

Tablas Columnas LLaves Llaves

Modelo Entidad - Relacin


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

Modelo de Datos

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

Subtipos pueden ser diseados de tres maneras:


Modelo Entidad - Relacin


Ejercicios

Modelo de Datos

Discutir la validez de estos casos

A A B

Modelo Entidad - Relacin


Ejercicios Indicar qu y qu no es implicado por el siguiente diagrama :

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.

S-ar putea să vă placă și