2. Modelamiento de Datos
Modelos de Datos
Clasificacion Básica
El modelo de datos, como abstracción del minimundo en estudio, es el enfoque utilizado para la
representación de las entidades y sus
características dentro de la base de datos, y
puede ser dividido en tres grandes tipos:
3. Modelamiento de Datos
Modelos de Datos
Clasificacion Básica
El modelo de datos, como abstracción del minimundo en estudio, es el enfoque utilizado para la
representación de las entidades y sus
características dentro de la base de datos, y
puede ser dividido en tres grandes tipos:
4. MODELO DE DATOS
Nociones de Modelamiento
El objetivo es producir una descripción estructurada
de la organización y del negocio del cliente, en
detalle suficiente para permitir construir un sistema
basado en éste.
Para esto, mínimamente se requiere:
Un conjunto de técnicas específicas y
complementarias, adecuadas cada una para
describir distintos aspectos del negocio/sistema.
Conocimiento, normas y estándares que aseguren la
correcta descripción y posterior interpretación usando
estas técnicas.
5. MODELO DE DATOS
NOCIONES DE MODELAMIENTO
Modelamiento Entidad - Relación
Modela las cosas acerca de las cuales el
negocio mantiene o debe mantener
información, y las asociaciones existentes entre
éstas.
6. MODELO DE DATOS
NOCIONES DE MODELAMIENTO
Modelamiento Funcional
Modela lo que el negocio hace o hará en el futuro
para alcanzar sus objetivos.
7. MODELO DE DATOS
NOCIONES DE MODELAMIENTO
Diagramas de Flujo de Datos
Modela el flujo de información dentro y fuera del
negocio y las transformaciones que ésta sufre en el
proceso
8. MODELO DE DATOS
NOCIONES DE MODELAMIENTO
Matrices de Cruce
Muestra las asociaciones entre elementos de distintas
clases.
Ayuda al control de calidad y a completar los modelos.
10. MODELO DE DATOS
Modelo de Datos
Un modelo de datos se define como la combinación de
tres componentes :
Una colección de tipos de objetos de información, los
cuales son las unidades básicas para construir
cualquier base de datos.
Una colección 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 colección de operadores, aplicables a los objetos
para obtener información y para otros propósitos.
11. MODELO DE DATOS
–
La descripción de la estructura de una base de datos, es el
modelo de datos, una colección de herramientas
conceptuales para describir datos, relaciones de datos,
semánticas 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.
13. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
Modelo Entidad - Relación
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 diseño de las
bases de datos (presentado por Chen en 1976).
La idea de esta metodología de representación de la
información 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.
14. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
Terminología básica
Relación
Atributo
Identificador único
Subtipo y Supertipo
Dependencia de existencia
Entidad
Entidades fuertes y débiles
Qué es una Entidad ?
Definiciones
Cualquier cosa de relevancia para el negocio acerca de
la cual debe mantenerse información.
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.
15. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
Cómo se identifican Entidades ?
A partir de la descripción del negocio:
Buscando SUSTANTIVOS de uso común en el negocio.
Buscando SINÓNIMOS, que representen conceptos
generalizables.
A partir de los documentos del negocio:
Buscando agrupaciones de información contenida en
éstos.
Buscando elementos de información cuyo origen puede
estar en entidades no identificadas.
16. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
Entidades - Representación gráfica
Rectángulo de bordes redondeados.
Nombre en singular y mayúsculas.
EMPLEADO
PROYECTO
PERSONA
SALA
PRODUCTO
PROVEEDOR
17. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
Atributos
Las entidades poseen cualidades o propiedades conocidas como
atributos : una sala de clases tiene, un nombre (QO - QP - D310), una
ubicación, un cupo, etc..
Definición
Dato específico, significativo para una entidad, que:
La califica, o
(ej.: color)
La identifica, o
La clasifica, o
La cuantifica, o
Expresa su estado
(ej.: RUT)
(ej.: grupo)
(ej.: peso)
(ej.: pagado, solicitado)
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.
18. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
Identificador Único
Atributos Obligatorios
Atributos - Representación gráfica
VEHICULO
#
o
o
o
Numero Motor
Patente
Tipo
Marca
Modelo
Numero de puertas
Numero de asientos
Atributos Opcionales
19. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
Atributos
Cada atributos de una entidad posee un TIPO, el que
corresponde al tipo de dato del atributo.
Ejemplo : RUT Número
Nombre String.
Fecha
Date.
Dominios
Dominio es un conjunto de reglas de validación,
restricciones de formato, y otras propiedades que se
aplican a un grupo de atributos.
Ejemplos :
Listas de valores
Rangos
Los dominios estandarizan los atributos en las entidades del
negocio.
20. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
Conversión de Atributos en Entidades
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
Definición
Una relación es una asociación significativa entre dos
entidades.
Una relación es “una vinculación entre entidades ”,
por ejemplo, la entidad libro puede estar relacionada
con la entidad persona por medio de la relación
“arrendar”.
21. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
Toda relación tiene un nombre, que expresa la asociación
entre las entidades.
Tiene grado (o cardinalidad).
Tiene opcionalidad.
Formalmente, una relación R entre conjuntos de entidades
{E1, E2, ... En} se representa mediante un conjunto de ntuplas (e1, e2, ..., en) donde e1
en En.
1 e2
2
Una relación también puede tener atributos, por ejemplo,
en la relación “arrendar” el atributo fecha podría indicar la
fecha en que se devuelve el libro.
Relaciones - Representación gráfica
Una relación se representa por una línea que une dos
entidades.
La opcionalidad se representa por una línea punteada
(opcional) o llena (obligatoria).
22. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
El grado se representa por un extremo simple
(uno) o “pata de gallo” (muchos).
El nombre se escribe en los extremos.
Obligatorio
(línea llena)
Opcional
(punteado)
MODELO
MARCA
corresponder a
tener
Muchos
(pata de gallo)
Uno
(simple)
23. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
Relaciones - Lectura
La lectura debe expresar reglas del negocio
Cada extremo se lee:
Cada
(entidad)
puede, o debe
una o más, o
una y solo una
(nombre relación)
(entidad(es))
Ejemplo:
Cada MODELO debe corresponder a una y sólo una MARCA.
Cada MARCA puede tener uno o más MODELOS.
Relaciones Muchos a Muchos
Son aquellas cuyo grado es múltiple en ambos extremos.
Se deben resolver buscando una entidad de intersección.
24.
Haga una lista de entidades y atributos para:
Una distribuidora de combustibles.
Un Banco
Falabella
EJERCICIOS
25. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
A
B
A
B
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
A
B
26. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
Relaciones recursivas
Modelan jerarquías 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
están asociadas con sólo una de varias otras entidades.
Esta es una manera de modelar exclusividad. Otra
posibilidad es usar subtipos.
27. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
A
B
C
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)
28. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
Ejemplo : Cada TRABAJO o bien debe ser hecho por un
EMPLEADO o bien debe ser hecho por un
PROVEEDOR.
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.
29. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
Ejemplo : El conjunto de todas las personas que
toman ramo en la escuela, puede definirse
como 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.
30. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
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 ?
EMPLEADO
# Emp_Id
PROYECTO
# Codigo
La barra señala que el
UID de PROYECTO
participa del UID de
ASIGNACION
ASIGNACION
# Fecha
31. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
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).
32. Construir un modelo Entidad Relación que represente el funcionamiento de una bomba de bencina.
Su solución debe al menos contestar:
q
Quiénes son los clientes?
q
Qué productos compran los clientes?
q
Cuál es el monto total de venta diaria?
q
Cuál es la bomba que más vende?
q
Qué octanaje tiene más venta?
q
Construir las consultas sql para contestar las preguntas anteriores.
Construir un modelo Entidad Relación que represente un banco y los productos cuenta corriente y tarjeta de crédito.
Su solución debe al menos contestar:
q
Quiénes son los clientes?
q
Qué productos tiene cada cliente?
EJERCICIOS
q
Cuál es el movimiento de cada producto?
q
Cuál es el saldo de cada producto?
q
Construir las consultas sql para contestar las preguntas anteriores.
33. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
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.
excluyentes.
Los subtipos son
Puede haber anidamiento: un subtipo de una entidad
puede ser el supertipo de otras
34. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
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.
35. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
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 Regla descrita:
PERSONA
JURÍDICA
NATURAL
Toda PERSONA es
o bien jurídica
o bien natural.
36. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
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.
37. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
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 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.
Una entidad fuerte es una entidad que no es débil.
Problema
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.
38. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
Temas al cierre
Modelo Entidad - Relación y Formas Normales
2da F.N.: Todo atributo debe depender de la totalidad
del UID de la entidad.
1ra F.N. : Todo atributo debe tener valor único en una
ocurrencia 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
39. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
Mapeo (elemental)
Relacional
de
Modelo
E-R
a
Modelo
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.
40. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
A
A
B
Ejercicios
Discutir la validez de estos casos
A
X
B
41. MODELO DE DATOS
MODELO ENTIDAD - RELACIÓN
Ejercicios
Indicar qué y qué no es implicado por el siguiente
diagrama :
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 número de niveles es limitado
No más de tres A1 pueden ser Y para A2