Title: Modelamiento de Datos
1Modelamiento de Datos
Eduardo Schälchli2001
2Modelo de Datos
- Es la representación del mundo real en función de
los datos relevantes a un problema.
3MetodologÃa para la Estructuración de los Datos
- Modelamiento Conceptual
- Normalización
- gt Modelo Conceptual Canónico
- Modelamiento Lógico
- Requerimientos al sistema
- Incorporación de redundancia
- gt Modelo Lógico de Datos
- Modelamiento FÃsico
- Incorporación de caracterÃsticas fÃsicas del
medio de almacenamiento - gt Modelo FÃsico de Datos
4Modelo Conceptual de Datos
Es el modelo de datos que considera el problema
de gestión en función de los datos con un ámbito
limitado sólo por las necesidades de
análisis (Forma Canónica Menor expresión del
modelo, normalizado y sin redundancia) El
modelamiento conceptual se basa en el modelo
Entidad - Relación
5Modelo Conceptual de Datos
- Entidades Son cosas de las cuales el SIA tiene
que saber algo.Existen de 2 tipos - Sujeto Su existencia no depende fundamentalmente
del tiempo, ej. un empleado, un producto, etc. - Evento La existencia depende del tiempo, son
cosas que suceden a las entidades sujeto, ej.
Salida de un Ãtem de bodega. Partida de un avión.
6Modelo Conceptual de Datos
- Atributos
- Son datos que caracterizan a las entidades
- El identificador es el atributo más importante,
es único para una ocurrencia de la entidad. - El identificador es generalmente
- Simple para entidades sujeto (ej. RUT para
Empleado - Compuesto para entidades evento (ej. Rut Afiliado
Mes de Pago para entidad Cotización
Previsional
7Modelo Conceptual de Datos
- Relaciones Las entidades de un modelo de datos
están asociadas o relacionadas lógicamente de
manera que forman una malla (única). Interesan
sólo las relaciones relevantes
8Modelo Conceptual de Datos
- Naturaleza de las relaciones
- Pertenencia
- Jerárquica
- Espacial
- Temporal
- Complementaridad
- Parentesco
- Autoridad, etc.
- Ej. Empleado con Unidad Organizacional (relación
de pertenencia)
9Modelo Conceptual de Datos
- Cardinalidad de las relaciones
- 11 (BiunÃvoca)
- 1N (Uno a Muchos)
- MN (Muchos a Muchos)
- Con estos elementos se puede representar
cualquier relación del mundo real
11
1N
MN
10Modelo Conceptual de Datos
- Cardinalidad de las relaciones Ejemplos
- 11 Normal
- 1N Poligamia
- N1 Poliandria
- MN Comunitaria
- 11 Homosexual
11Modelo Conceptual de Datos
ATRIBUTOS DE LA RELACION
A) De Existencia Cuándo debe existir la relación
dada la existencia de una ocurrencia de las
entidades involucradas en la relación
Dada la existencia de un cliente no
necesariamente tiene una factura asociada. Dada
la existencia de una factura debe tener un
cliente asociado.
12Modelo Conceptual de Datos
ATRIBUTOS DE LA RELACION
B) De Medición Indica cuánto significa la
relación entre cada par de ocurrencias. Sólo si
es importante para el problema en estudio.
Producto
Materia Prima
xij
Xij Coeficiente técnico de materia prima i en
producto j (Los atributos de medición de una
relación 1N pueden almacenarse en la entidad del
lado N)
13Modelo Conceptual de Datos
OBSERVACIONES A LOS MODELOS
i) Entre 2 entidades puede haber más de 1
relación, sin embargo cada una de ellas nos debe
decir algo.
14Modelo Conceptual de Datos
OBSERVACIONES A LOS MODELOS
ii) Una relación puede involucrar más de 2
entidades.
15Modelo Conceptual de Datos
OBSERVACIONES A LOS MODELOS
iii) Una relación puede involucrar entidades del
mismo tipo.
16Modelo Conceptual de Datos
Modelo de Personal
Unidad
Empleado
Cargo Genérico
Carga
Curso Capacitación
Sueldo-Mes
17Modelo Conceptual de Datos
ALCANCE DEL MODELO CONCEPTUAL En base al objeto
del modelamiento
- Hacer un análisis conceptual para un área
funcional especÃfica para por ej. - Administrar la información sobre el área
- Integrar los SIAs de apoyo a esa área
- Racionalizar administración del área
- Desarrollar un nuevo SIA del área
- Hacer un análisis de la información de un modo
global para la organización - Se pretende determinar cual es el quantum mÃnimo
(o base) de información que la organización
requiere para su gestión - Se construye un modelo corporativo
- Desarrollar un Data Warehouse para la
organización - Modelo orientado a responder preguntas que de
otra manera no es posible resolver información
histórica, muy detallada
18Modelo Conceptual de Datos
Pasos para Obtener el Modelo Conceptual de
Datos a) A partir del análisis funcional las el
área problema, determinar las entidades del
modelo.
- Análisis de las funciones, decisiones y roles
dentro del área bajo estudio ejemplo - Seleccionar Proveedores
- Cobrar facturas morosas
- Determinar monto del crédito
- En general
- Función
- Decisión
- Actividad (verbo)
ENTIDAD - Tarea
- Acción
19Modelo Conceptual de Datos
Pasos para Obtener el Modelo Conceptual de
Datos a) A partir del análisis funcional las el
área problema, determinar las entidades del
modelo.
- Clave determinar las Reglas del Negocio para
el área bajo estudio - Otras fuentes de información útiles para
identificar elementos del Modelo Conceptual - Formularios
- Procedimientos administrativos
- Documentos
- Requerimientos al interior
20Modelo Conceptual de Datos
Pasos para Obtener el Modelo Conceptual de Datos
(continuación) b) Determinar los atributos de
las entidades (partiendo por el
identificador). c) Identificar las relaciones
directas más obvias entre las entidades. d)
Identificar los atributos de existencia y de
medición de las relaciones. e) Comprobar que no
hayan mallas disjuntas. Si asà fuera, volver a c)
agregando relaciones.
21Modelo Conceptual Canónico
- Este es la expresión más compacta y estable del
modelo de datos. - Se obtiene
- Eliminando toda redundancia en entidades y sus
atributos. - Eliminando redundancia en relaciones y sus
atributos. - Normalizando el modelo.
22Modelo Conceptual Canónico
Eliminación de Redundancia en Entidades (o
entidades repetidas)
- Cuando 2 entidades tienen los mismos atributos,
estos se pueden refundir en una sola, procediendo
a identificar el tipo mediante un nuevo atributo
o una distinta relación. - Cuando una entidad tiene todos sus atributos
repetidos en otra.
23Modelo Conceptual Canónico
Eliminación de Redundancia en Entidades Ejemplos
- PERSONA
- Tipo (A o E)
- Rut
- Nombre
- Dirección
- ALUMNO
- Rut
- Nombre
- Dirección
- EGRESADO
- Rut
- Nombre
- Dirección
ACTIVIDAD
ACTIVIDAD
24Modelo Conceptual Canónico
Eliminación de Redundancia en Entidades Ejemplos
- PERSONA
- Rut
- Nombre
- Dirección
- DEUDOR
- Rut
- Nombre
- Dirección
- AVAL
- Rut
- Nombre
- Dirección
Aval
Deudor
CREDITO
CREDITO
25Modelo Conceptual Canónico
Eliminación de Redundancia en Entidades Ventajas
- Actualizaciones
- Mantenciones
- Almacenamiento
- La Desventaja es que puede perderse claridad en
el modelo
26Modelo Conceptual Canónico
Eliminación de Redundancia en Relaciones
Si hay trayectorias cerradas en el modelo es
probable que existan relaciones redundantes.
Relación redundante es aquella que si se elimina
no se pierde información pues lo mismo se puede
saber a través de una relación indirecta que
permanece.
27Modelo Conceptual Canónico
Eliminación de Redundancia en Relaciones Ejemplo
Banca
Redundante
Regional
Nota Importante No se puede eliminar cualquier
relación ya que se puede perder información
Sucursal
Empleado
28Modelo Conceptual Canónico
Condiciones para la existencia de relaciones
redundantes
- No puede haber redundancia si en una trayectoria
cerrada - Hay 2 o más relaciones MN (naturales o no)
- Hay relaciones de distinta naturaleza
29Modelo Conceptual Canónico
Eliminación de Redundancia en Relaciones Ejemplo
PAC
Servicio
Relación de distinta naturaleza (rechazos de no
cuentacorrentistas)
Contrato Cta Cargo
En este caso no hay redundancia!
Cargo
Rechazo
Rechazos por falta fondos
30Modelo Conceptual Canónico
Primera Forma Normal
Eliminar datos repetitivos de una entidad y
representarlos como relación (dato repetitivo
que se repite dentro de una misma ocurrencia de
la entidad)
31Modelo Conceptual Canónico
Segunda Forma Normal
Transformar relaciones MN en relaciones 1N
Producto
Atributo de medición de la relación
Materia Prima
Se crea una entidad artificial llamada NUB donde
se almacenan los atributos de la relación. La
relación MN se transforma en 2 relaciones de
cardinalidad 1N
32Modelo Conceptual Canónico
Tercera Forma Normal
Corresponde a resolver las transitividades en los
atributos, sacando los atributos repetidos (que
se repiten para distintas ocurrencias de una
entidad) generando entidades independientes
- PROFESION
- Código
- Descripción
- EMPLEADO
- Rut
- Dirección
- Sección
- Profesión
- SECCION
- Código
- Descripción
33Modelo Conceptual Canónico
Eliminación de Redundancia en Relaciones
Análisis de un caso normalizado
Cliente
Factura
Salida Bodega
Bodega
Producto
34Modelo de Datos
Formas de Almacenar un Dato
- Como dato único (como ENTIDAD)
- Sirve para entrar al modelo
- No hay redundancia por estar en forma única.
- Como dato repetido
- La ventaja de esta forma es que permite recuperar
los datos repetidos junto con el dato único. - Como dato repetitivo
- Ventaja Ãdem punto anterior.
- Como relación
- Permite integrar información almacenada de otras
maneras - Se pueden almacenar los atributos de la relación
- Permite dar un ordenamiento a los datos únicos
que participan en la relación.
35Modelo de Datos
Las diferentes formas de Normalización permiten
modificar el modo de almacenar un dato
36Modelo de Datos
Estructuras de Datos en un Modelo
- Arboles con registros de distinto tipo
- Arboles con registros de igual tipo
Cargo
37Modelo de Datos
Estructuras de Datos en un Modelo
- Red de registros de distinto tipo
- Red de registros de igual tipo
anteriores
posteriores
38Modelo Lógico de Datos
Para diseñar el Modelo Lógico de Datos es
necesario conocer en detalle cada uno de los
Requerimientos al Interior, es decir las salidas,
las entradas y las transformaciones con su
contenido más parámetros tales como llaves de
búsqueda, llaves de ordenamiento, tiempo de
respuesta, etc.
39Modelo Lógico de Datos
La estrategia de diseño del modelo lógico tiene 2
fases
- FASE I Enfoque cualitativo del Modelo Lógico de
Datos (carga del modelo con los requerimientos). - FASE II Enfoque cuantitativo del Modelo Lógico
de Datos - FASEIII Reestructurar el Modelo para buscar
eficiencia lógica
40Modelo Lógico de Datos
FASE I Enfoque cualitativo del Modelo Lógico de
Datos
Es necesario
- Definir puntos de entrada al modelo, ya sea
buscando o recorriendo. Nota En el modelo lógico
de datos las entidades se llaman REGISTROS
Llave(s) búsqueda
Llave(s) búsqueda
X
X
Recorriendo según secuencia de valores de la
llave de ordenamiento
Buscando dado el valor del id. o llave de búsqueda
41Modelo Lógico de Datos
FASE I Enfoque cualitativo del Modelo Lógico de
Datos
- Al usar una trayectoria de búsqueda se le da un
nombre a la relación y un ordenamiento a los
registros del lado N de la relación.
R1Código
LOCEMP
Local
Empleado
R1, R2 S-nombre
R2Sector
42Modelo Lógico de Datos
FASE I Enfoque cualitativo del Modelo Lógico de
Datos
- Una vez cargados los requerimientos, las
relaciones que quedaron sin nombre debieran
eliminarse ya que no son relevantes para el
sistema - Eventualmente la carga de los requerimientos
podrÃa revelar la falta de atributos o relaciones
las que debieran ser incorporados al modelo
43Modelo Lógico de Datos
FASE II Enfoque cuantitativo del Modelo Lógico
de Datos
- El objetivo es determinar en forma cuantitativa
la conducta del modelo lógico para resolver los
requerimientos al interior. Es un apoyo para las
decisiones que se tomarán en la Fase III para
buscar eficiencia. -
- Para aplicar el enfoque se necesita
- Tener claramente especificado en los
requerimientos los parámetros de cada entrada,
salida o transacción - Frecuencia
- Llave Búsqueda
- Ordenamiento
- Conocer el número promedio de ocurrencia de los
registros - Valor promedio
- Tasa de crecimiento
- Definir una estrategia de acceso y recorrido por
la estructura para cada requerimiento
44Modelo Lógico de Datos
FASE III Reestructurar el Modelo para buscar
Eficiencia Lógica
- Apunta a buscar eficiencia en el modelo lógico,
o sea que además de satisfacer los requerimientos
(efectividad), lo haga en forma eficiente. - Para ello deben analizarse en detalle los
atributos de los requerimientos - Frecuencia o Periodicidad
- Tiempo de Respuesta
- Nivel de Complejidad
- Llaves de Ordenamiento y de Búsqueda
- Volumen
- Medio
- Se puede buscar
- Minimizar tiempos de respuesta
- Minimizar tiempo de CPU
- Minimizar espacio en disco
- Minimizar tránsito sobre la estructura, etc.
45Modelo Lógico de Datos
FASE III Reestructurar el Modelo para buscar
Eficiencia Lógica
- Se mejorará la eficiencia mediante
- Agregar o eliminar relaciones
- Sacar o incorporar datos a registros
- Identificar relaciones redundantes y agregarlas o
eliminarlas - Colocar datos resumen (que son datos redundantes)
- Buscar formas alternativas de obtener los
resultados pedidos (procesamiento fuera del
enfoque)
46Modelo Lógico de Datos
FASE III Reestructurar el Modelo para buscar
Eficiencia Lógica
Ejemplos a) Acortar trayectorias de búsqueda
A
B
C
D
Se agrega relación AD
47Modelo Lógico de Datos
FASE III Reestructurar el Modelo para buscar
Eficiencia Lógica
Ejemplos b) Incorporar relaciones que tienen
una sola ocurrencia para acceder a una entidad
por distintos conceptos
Vigentes
Tarjeta de Crédito
Morosas
Todas
48Modelo Lógico de Datos
FASE III Reestructurar el Modelo para buscar
Eficiencia Lógica
- Ejemplos
- c) Agregar y mantener datos resumen
- Como dato único (registro resumen)
- Como dato repetitivo resumen
- Como dato repetido resumen
- Como relación resumen equivale a una relación
redundante
Sumatoria de campos repetitivos en otros
registros de la estructura
Sumatoria de campos repetidos en otros registros
de la estructura
49Modelo FÃsico de Datos
El objetivo es mapear el modelo lógico de datos
sobre las estructuras de datos que soporta la
base de datos o sistema de archivos a
utilizar. Dada la amplia difusión de la
tecnologÃa, se considerará el enfoque de Base de
Datos Relacional.
50Modelo FÃsico de Datos
Modelo Relacional
- El modelo relacional tiene como estructura
básica un esquema tabular, plano. - Cómo se mapea un modelo Lógico de Datos sobre el
modelo relacional? - Cada entidad del modelo corresponde a una tabla
del modelo relacional - Las relaciones se salvan llevando el
identificador de la entidad padre (1) a la
entidad hijo (N) de la relación. Este
identificador corresponderá a una Foreign Key
de la entidad hijo.