Diplomado en Base de Datos
Clase 7,8 y 9: Modelamiento de Datos Juan Guillermo Henao Montoya
[email protected]
MODELAMIENTO DE DATOS Presentación
• Qué es un modelo de datos ?
– Es una manera diferente de ver la información “Herramienta intelectual que nos permite estructurar los datos de forma que se capte la semántica de los mismos “ ¿qué significan / que representan? ¿cómo se relacionan? ¿qué se puede hacer con ellos? (“¿cómo se almacena una factura?”) Cuales son sus características ?
– No se refieren a los valores específicos que un elemento de datos deba tomar, sino que – Trata los datos como grupos genéricos, que pueden tomar cualquier conjunto de valores específicos.
MODELAMIENTO DE DATOS Presentación
• Que es modelamiento de datos ? – Construcción de un modelo de datos que cumpla con las necesidades de los usuarios, expresadas en : • • • • • •
Las necesidades del Usuario Requisitos del sistema Diagrama de Casos de Uso Diagrama de Clases Diagrama de Componentes Diagramas de Despliegue
especificado Modelo de por realizado casos de uso por
distribuido por
Modelo de análisis
implementa do por verificado por
Modelo de Diseño Modelo de Desplie gue
O K Modelo de Implementació n
O Modelo K de Prueba
MODELAMIENTO DE DATOS Presentación Conjunto de MODELO Se compone de conceptos DE DATOS Reglas de composición
Representa Sistema de Información
MODELAMIENTO DE DATOS Presentación
¿Como hacer que el MODELO DE DATOS cumpla con las expectativas de ambos ? Precisa, Predecible Exacta
Impreciso, intuitivo, desordenado
MODELAMIENTO DE DATOS Presentación
• Como lograr que se cumplan las expectativas de los usuarios y de los aplicativos ?
Requerimientos del usuario
MODELAMIENTO DE DATOS Presentación
• Cual es la herramienta para la elaboración de un modelo de datos ? – El Diagrama Entidad - Relación – Fue propuesto por Peter Chen en 1976 – Es un modelo sobre el cual se soporta el diseño conceptual de una base de datos – Es una forma valiosa de obtener información y adentrarse en la estructura de los datos requeridos por una empresa, usuario o sistema antes implementar un S.I.
MODELAMIENTO DE DATOS Presentación
• Que es un diagrama entidad relación ? – Es la representación de información en términos de ENTIDADES y las Asociaciones entre estas, llamadas RELACIONES.
• Es el DER el modelo de datos ? – El DER es solo una parte, ya que este incluye además las definiciones de los objetos, la descripción de las reglas de integridad, los atributos y sus dominios.
MODELAMIENTO DE DATOS Tipos de Representación
Entidad :
TÉCNICAS DE MODELAMIENTO Conceptos Básicos
• Todo objeto de datos que es diferenciable de otros objetos, ya sean abstractos o concretos. • Tipo de cosas que tenemos que recordar para conducir nuestro negocio. • Algo de interés y particular significado para una empresa acerca de los cual necesita guardar información. • Ej.: Articulo, Persona, Pedido, Cliente
TÉCNICAS DE MODELAMIENTO Conceptos Básicos
Relación: • Conexión lógica entre dos entidades • Asociación entre dos entidades únicamente • Asociaciones entre entidades que deben ser recordadas • Ej.: El CLIENTE hace PEDIDO ( Los negocios deben recordar cuando el cliente ordena que productos )
TÉCNICAS DE MODELAMIENTO Conceptos Básicos
Atributos : • Describen las propiedades o características de las entidades. • Cosas que describen las entidades • Aspecto o propiedad, de significado único, que está asociado a la entidad. Su significado es relevante solamente cuando está asociado a la entidad. • Ej.: Número del articulo, Nombre de persona.
TÉCNICAS DE MODELAMIENTO Elaboración de un diagrama ER
• Una ENTIDAD se dibuja como una caja conteniendo el nombre en letras mayúsculas.
CLIENTE
TÉCNICAS DE MODELAMIENTO Elaboración de un diagrama ER
Ejemplos de Entidades Personas : EMPLEADO, CLIENTE, VENDEDOR, ESTUDIANTE Lugares : ALMACÉN, OFICINA, EDIFICIO Artículos : PRODUCTO, REPUESTO, EQUIPO Conceptual : CLIENTE CORPORATIVO, POLITICA DE SEGURO, PROYECTO Actividad : PEDIDO, VENTA, DEPOSITO
TÉCNICAS DE MODELAMIENTO Elaboración de un diagrama ER
• Ocurrencias de una entidad Cada uno de los valores que adquiere la entidad. Ejemplo: Para la entidad EMPLEADO, son ocurrencias: Pedro, Juan, José, etc...
TÉCNICAS DE MODELAMIENTO
Elaboración de un diagrama ER EMPLEADO JORGE MARIA OLGA PATRICIA FREDDY MARINA FABIO CARLOS OCURRENCIAS DE LA ENTIDAD EMPLEADO
ES ASIGNADO A
PROYECTO ANALISIS DE NOMINA REVISION DE OPERACION CLIENTES ESPECIALES SISTEMA EN LINEA IMPACTO DEL METRO PLATAFORMA
OCURRENCIAS DE LA ENTIDAD PROYECTO
TÉCNICAS DE MODELAMIENTO
Elaboración de un diagrama ER Se ve mas claro en un diagrama de objetos :Empleado
:Proyecto
Nombre=‘Maria’
Proy=‘Sistema en linea’
:Empleado
:Proyecto
Nombre=‘Marina ’
Proy=‘Plataforma’
Se identifica que hay una relación de muchos a muchos. Se resuelve con una clase de la relación
TÉCNICAS DE MODELAMIENTO Elaboración de un diagrama ER
RELACIÓN
• Una RELACIÓN se dibuja con una línea entre dos entidades, con el nombre de la relación encima y debajo de la línea en letras minúsculas. está localizado en HOTEL
CIUDAD
es la ubicación
Las relaciones se leen en el sentido del reloj
TÉCNICAS DE MODELAMIENTO Elaboración de un diagrama ER PARTICIPACIÓN La participación de una entidad en una relación se denomina opcionalidad y es mostrada por un circulo (o) cuando significa cero; o por una barra vertical cuando significa uno. Se colocan al final de la línea. HOTEL
está localizado en es la ubicación
CIUDAD
0 : Un hotel no tiene ciudades | : Un hotel está localizado en una ciudad
TÉCNICAS DE MODELAMIENTO Elaboración de un diagrama ER
Relaciones Dependientes Una ocurrencia de una entidad puede solo existir si ella está relacionada a una ocurrencia de la otra, pero una ocurrencia de la otra puede existir independiente sin participar en la relación. está localizado en HOTEL
es la ubicación
CIUDAD
TÉCNICAS DE MODELAMIENTO Elaboración de un diagrama ER
Relaciones opcionales En estas relaciones no es necesario que una ocurrencia de alguna entidad esté relacionada con una ocurrencia de la otra entidad. PUESTO DE TRABAJO
es ocupado por ocupa
EMPLEADO
TÉCNICAS DE MODELAMIENTO Elaboración de un diagrama ER
Relaciones obligatorias En estas, cada entidad debe estar asociada con una ocurrencia de la otra entidad y viceversa. ORDEN
contiene esta contenido
DETALLE
TÉCNICAS DE MODELAMIENTO Elaboración de un diagrama ER
CARDINALIDAD • La máxima relación entre las ocurrencias de las entidades involucradas en una relación, se denomina cardinalidad y es mostrada con una barra vertical ( | ) para indicar uno (1) y una pata de gallina ( < nombre de la relación> [ uno y solo uno, uno o muchos, cero o uno, cero o muchos ]
TÉCNICAS DE MODELAMIENTO Elaboración de un diagrama ER
• Establecer todas las posibles reglas que se pueden dar para documentar esta relación para un cliente:
CLIENTE
realiza
PEDIDO
TÉCNICAS DE MODELAMIENTO Elaboración de un diagrama ER
• • • •
Soluciones uno y solo un pedido II uno o muchos pedidos I < ninguno o un pedido OI cero o muchos pedidos O < Una relación documenta las reglas del negocio
TÉCNICAS DE MODELAMIENTO Taller General Supóngase que la universidad desea conocer lo siguiente acerca de los diplomados : Dado un Conocer Modulo Alumno Profesor Diplomado
Alumnos asistentes Módulos matriculados Módulos que atiende Módulos y Alumnos
TÉCNICAS DE MODELAMIENTO Taller General
Como representarlo en forma gráfica ? MODULO
PROFESOR
ALUMNO
DIPLOMADO
TÉCNICAS DE MODELAMIENTO Consideraciones de calidad
• Características de un diagrama ER – Debe mostrar la máxima cardinalidad y la participación para cada relación – Mas de una relación puede existir entre dos entidades – Es posible para una relación indicar la Asociación entre diferentes ocurrencias de la misma entidad – Existen relaciones que pueden ser deducidas y no representarse en el diagrama por ser redundantes – Antes de verificar relaciones redundantes, debe estar definida la máxima cardinalidad, la participación y la condición de existencia de la relación.
TÉCNICAS DE MODELAMIENTO Consideraciones de calidad
• Evaluación de las relaciones – – – –
Deben tener nombres significativos y precisos Las relaciones uno a uno, pueden ser una sola entidad Verifique las relaciones redundantes Confirme que la gran mayoría de las relaciones son uno a muchos y dependientes – Cada participación obligatoria debe verificarse para ver si una ocurrencia de la entidad con la cual está asociada puede ser creada sin la entidad asociada – Las relaciones muchos a muchos deben ser disueltas
TÉCNICAS DE MODELAMIENTO Consideraciones de calidad
• Evaluación de las entidades – Asegure que los nombres están en singular y no son ambiguos. Use términos del negocio donde sea posible – Verifique las entidades sin relaciones – Chequee las entidades con una sola ocurrencia – Cada entidad debe tener algún atributo que sea relevante para el negocio
TÉCNICAS DE MODELAMIENTO Consideraciones de calidad
• Consideraciones generales – Asegúrese que el diagrama refleje las necesidades de datos requeridas – Lea el diagrama y verifique que refleje los aspectos de la empresa en la forma como son tratados en ésta – Valide el diagrama contra la definición de procesos y asegure que cualquier entidad o relación requerida está presente en el diagrama y que todas las relaciones o entidades son usadas
TÉCNICAS DE MODELAMIENTO Proceso de Normalizacion
• Se estudia la normalizacion de la relaciones – Consiste en descomponer las relaciones originales en otras mas pequenas con el fin de eliminar las anomalias de almacenamiento y manipulacion que se pueden dar en las relaciones iniciales y que conformaran la futura base de datos relacional.
TÉCNICAS DE MODELAMIENTO Proceso de Normalizacion Se compone de un proceso de seis etapas llamada formas normales. El objetivo del proceso es llevar a que las relaciones de la base de datos se encuentren todas en 5ta forma normal
TÉCNICAS DE MODELAMIENTO Proceso de Normalizacion
• Beneficios de una Base de Datos Correctamente Normalizada: – Reducir los problemas asociados con el Creación y el Borrado de tuplas – Reducir el tiempo asociado con modificaciones de las tuplas – Identificar problemas potenciales que pueden requerir un análisis adicional – Mejorar la información para la toma de decisiones referentes a la organización física de los datos.
TÉCNICAS DE MODELAMIENTO Primera forma normal (1FN)
En donde los atributos son diferentes y los valores de cada uno de estos son componentes atómicos
Movimiento Empleado
Numero
Fecha Pago 1
Monto 1
Fecha pago 2
Monto 2
123
2011/01/0 1
100000
2011/02/0 1
200000
124
2011/01/0 1
150000
2011/02/0 1
250000
Numero
Fecha Pago
Monto
123
2011/01/01
100000
123
2011/02/01
200000
124
2011/01/01
150000
124
2011/02/01
250000
TÉCNICAS DE MODELAMIENTO Primera forma normal (1FN) TOUR
NumeroViaje
Sitio
01-2011
Egipto, Piramides
02-2011
Israel, Muro de las lamentaciones
Numero Ano Viaje
Pais
TipoSitio
01
2011
Egipto
Piramides
02
2011
Israel
Muro de las lamentaciones
TÉCNICAS DE MODELAMIENTO Segunda forma normal (2FN) Si se encuentra en 1FN y ningun atributo no llave depende parcialmente de la Clave Primaria (Dependencia Parcial) Itinerario Numero Viaje (pk)
Fecha Salida (pk)
Tarifa
Numero sitio
Numero Turista
01
2011/01/01
100000
1001
43221345
2011/01/01
150000
1002
70555777
02 Itinerario Numero Viaje (pk)
Fecha Salida (pk)
Numero sitio
Numero Turista
01
2011/01/01
1001
43221345
02
2011/01/01
1002
70555777
CostoItinerario Numero Viaje (pk)
Tarifa
01
100000
02
150000
TÉCNICAS DE MODELAMIENTO Tercera forma normal (3FN) Si se encuentra en 2FN y no existe Dependencia Transitiva sobre la clave primaria. Todos los campos no clave primaria son dependientes de la clave primaria. No hay atributos no clave primaria que dependen de otro atributo no clave primaria. Sea R(X,Y,Z) donde X,Y.Z son subconjuntos de atributos. Se verifica X Y No se verifica Y X, se verifica Y Z El ejemplo mas claro es el modelo de caso de estudio de CRM en especial el modelo de Personas
TÉCNICAS DE MODELAMIENTO Tercera forma normal (3FN) Si se encuentra en 2FN y no existe Dependencia Transitiva Sea R(X,Y,Z) donde X,Y.Z son subconjuntos de atributos. Se verifica X Y No se verifica Y X, se verifica Y Z
Itinerario Numero Viaje (pk)
Fecha Salida (pk)
Numero sitio
Numero Turista
01
2011/01/01
1001
43221345
02
2011/01/01
1002
70555777
Itinerario Numero Viaje (pk)
CostoItinerario Numero Viaje (pk)
Tarifa
01
100000
02
150000
SitioVisitado Fecha Salida (pk)
Numero Turista
Numero Turista (pk)
Numero sitio
01
2011/01/01
43221345
43221345
1001
02
2011/01/01
70555777
70555777
1002
TÉCNICAS DE MODELAMIENTO Tercera forma normal (3FNBC)
Se encuentra en 3FNBC (Boyce –Codd) si todos los atributos son determinados por Claves
Itinerario Numero Viaje (pk)
Fecha Salida (pk)
Numero Turista
01
2011/01/01
43221345
02
2011/01/01
70555777
Itinerario Numero Viaje (pk)
Fecha Salida (pk)
Regla de Integridad: Cada turista tiene una sola fecha de salida. Se traduce en una dependencia funcional NumeroTurista---FechaSalida
SalidaTurista Numero Turista (pk)
Fecha Salida
01
2011/01/01
43221345
2011/01/01
02
2011/01/01
70555777
2011/01/01
TÉCNICAS DE MODELAMIENTO Cuarta forma normal (4FN)
Si se encuentra en 3FNBC (Boyce –Codd) y si cada vez que una dependencia multivaluada X Y se verifica, entonces X contiene a una Clave de R NumeroPersona(pk)
FechaSiniestro (pk)
FechaAviso (pk)
43111222
2011/01/01
2011/01/01
70555777
2011/01/01
2011/01/01
NumeroPersona (pk)
FechaSiniestro
NumeroPersona (pk)
FechaAviso
43111222
2011/01/01
43111222
2011/01/01
43111222
2011/01/01
43111222
2011/01/01
TÉCNICAS DE MODELAMIENTO Quinta forma normal (5FN) Se refiere a las llamadas dependencias producto que garantizan la descomposición de una relacion en tres o mas relaciones, manteniendo el contenido original y con menor redundancia Si cada dependencia producto [X1][X2]…[Xn] de R esta inducida por las llaves candidatas de R, es decir cada Xi contiene una llave candidata de R EPS
Especialista
Especialidad
EPS Sura
Juan Perez
Ortopedista
SaludCoop
Natalia Medina
Dermatologa
TÉCNICAS DE MODELAMIENTO Quinta forma normal (5FN) EPS
Especialista
EPS Sura
Juan Perez
SaludCoop
Natalia Medina
Especialista
Especialidad
Juan Perez
Ortopedista
Natalia Medina
Dermatologa
EPS
Especialidad
EPS Sura
Ortopedista
SaludCoop
Dermatologa
DICCIONARIO DE DATOS • TABLE Owner= Name= TableSpace= Comment= Ejemplo: Owner= ops$sini Name= tbt_rva TableSpace=TSD_BTS_TAB01 Comment= Contiene la informacion de la reserva
DICCIONARIO DE DATOS
• Colums Name= Type= Nullable= Default= Storage= (cuando existen LOBs) Comment= Ejemplo: Name=CDUEN Default= 114 Type= VARCHAR2(3) Storage= Nullable= YES Comment= Identificacion de la unidad estrategica de negocio
DICCIONARIO DE DATOS
• Keys Name= Type= Primary – Foreign Columns= Enable= Ejemplo: Name=TBTS_RVA_PK Type= Primary Columns=NMEXPEDIENTE,CDRAMO Enable=YES
DICCIONARIO DE DATOS
• Checks Name= Condition= Enabled= Deferred = siempre la transaccion se realiza al final Last Change= Ejemplo: Name=TBTS_RVA_CDUEN_CK Condition=CDUEN IN (‘214’,’219’,’220’) Enabled=YES Deferred=YES Last Change=9/9/2010 02:00:10
DICCIONARIO DE DATOS
• Indexes Owner= Name= Type=unique-normal Columns = Ejemplo: Owner=OPS$BTS Name=TBTS_RVA_I1 Type=unique Columns = nmpoliza,nmriesgo
DICCIONARIO DE DATOS
• Privileges Grantee= Select= Insert= Update= Delete= Ejemplo: Grantee= OPS$ORG Select=YES Insert=YES Update=YES Delete=YES