Análisis y Diseño de Sistemas

:

Modelamiento de Datos

Ing. Luis Zuloaga Rotta

Las organizaciones como sistemas
• Una organización es un conjunto de subsistemas relacionados entre si con la finalidad de alcanzar las metas y objetivos propuestos. • Todo lo que realiza una organización son actividades que dependiendo del nivel pueden ser funciones, procesos, o tareas.

DIRECCIÓN SISTEMAS

PRODUCCIÓN

LOGISTICA

VENTAS

FINANZAS

COMPRAS
INSUMOS

PRODUCCIÓN

PRODUCTOS

LOGISTICA

PRODUCTOS COMPRADOS

NECESIDADES PRODUCCIÓN CLIENTES

DESPACHOS

ORDEN DE PAGO

PRODUCTOS VENDIDOS

VENTAS
INGRESOS

FINANZAS

RECAUDACION

ACTIVIDAD: Un término genérico para funciones de negocio. Los procesos permanecen sin cambio cuando cambia la tecnología. los procedimientos podrían ser diferentes. o módulos de programa. El proceso indica qué debería ejecutarse. FUNCIONES NEGOCIO PROCESOS NEGOCIO PROCEDIMIENTOS NEGOCIO MODULO PROGRAMA PROCEDIMIENTO: Método por el cual uno o más procesos son llevados a cabo. procedimientos. PROCESOS: Actividad de negocio definida que puede ser llevada a cabo en un período de tiempo especifico. MODULOS DE PROGRAMA: Un procedimiento o una porción de él que son unidades en el diseño del programa. . Un procedimiento indica que debería hacerse. procesos. pero no precisa qué método emplear. FUNCIONES DE NEGOCIO: Un grupo de actividades y decisiones que conjuntamente soportan un aspecto del funcionamiento de la empresa.

pero ocurren a un nivel inferior. .Funciones y Procesos de Negocio • Una función es un conjunto de actividades de alto nivel que son permanentes y que en conjunto son responsables de alcanzar las metas y objetivos de la organización. • Las funciones son agrupamientos de actividades importantes de alto nivel. • Los procesos también son agrupamientos de actividades.

. y – requieren de un evento externo (trigger) para su iniciar su ejecución.Proceso de negocio • Conjunto de actividades de bajo nivel que se caracterizan: – por tener un inicio y un fin (se ejecutan en un periodo de tiempo).

Ejemplo • Función : identificada por un verbo. – – – – – – – – – – – Comercializar Fabricar Vender Expedir Comprar Supervisar Tomar un pedido Ensamblar un pieza Facturar a un cliente Solicitar materiales Cobrar una letra • Proceso : indentificado por verbo+sustantivo .

ORGANIZACION ABC AREAS DE FUNCION FUNCIONES DE NEGOCIOS PROCEDIMIENTOS PROCESOS MODULOS DE PROGRAMAS -Planeamiento de Negocios -Finanzas -Ingeniería del Producto -Materiales -Planeamiento Producción -Producción -Investigación -Ventas -Distribución -Contabilidad -Personal -Control de Stocks -Servicio de Ordenes -Embalaje -Embarque -Aceptar Orden -Registrar Orden -Crear Factura -Liberar Orden -Validar Cliente -Chequear Disponibilidad de Productos Terminados -Manejo de Errores -Manejo de Orden Pendiente -Creación de Orden de Cliente -GET Registro Cliente -CHECK Crédito Cliente -CREATE NEW Registro Cliente -COLLECT ALL Orden de Cliente .

FUNCION Una función puede descomponerse en otras funciones PROCESO Un proceso no puede descomponerse en otras funciones FUNCION FUNCION FUNCION FUNCION FUNCION Una función no puede descomponerse en funciones y procesos FUNCION Una función puede ser responsable o participar en dos o mas procesos PROCESO PROCESO PROCESO Un proceso se puede descomponer en dos o mas procesos de menor nivel FUNCION PROCESO FUNCION Una función no puede descomponerse en solo una función PROCESO FUNCION PROCESO Un proceso no puede descomponerse en solo un proceso PROCESO PROCESO REPRESENTACION CORRECTA REPRESENTACION INCORRECTA .

EMPRESA ABC PRODUCCIÓN PLANEAMIENTO PRODUCCIÓN FABRICACIÓN CARGA DE INSUMOS CONTROLCALIDAD MARKETING VENTAS RECEPCION DE PEDIDOS PROMOCION DE PRODUCTOS ADQUISICION DE MATERIALES TRES NIVELES DE DESCOMPOSICION DE LAS FUNCIONES .

VISIÓN MISIÓN Obj1 Met1 Func1 Proc1 Met2 Func2 Proc2 Obj2 Met3 Func3 Proc3 Obj3 Met4 Func4 Proc4 Met5 Func5 Proc5 Obj x Met Y Func n Proc m Objetivos Metas Funciones Procesos EBP1 EBP2 EBP3 EBP4 EBP5 EBP6 Procesos elementales U E7 R C E1 E2 R U R E3 R U C E5 E6 R C U E4 Entidades De datos Base de datos BD1 BD2 SI 1 SI 2 SI 3 SI x Sistemas de Información .

Matrices de Relación • Una forma alternativa de representar la relación entre objetivos. . • Un requerimiento es la característica o propiedad que debe ser satisfecha por los responsables para atender una necesidad de los usuarios en relación con el cumplimiento de sus funciones o ejecución de los procesos para el logro de las metas y objetivos empresariales. entidades y requerimientos es a través de matrices. funciones. metas. procesos.

Matrices de relación OBJETIVOS OBJ 1 OBJ 2 0BJ 3 OBJ 4 OBJ 5 M1 X X X X X METAS M2 M3 X X X M4 X X METAS M1 M2 M3 M4 F1 X X X FUNCIONES F2 F3 X X X F4 X X PROCESOS P1 P2 P3 P4 P5 REQUERIMIENTOS INFORMACION R1 R2 R3 R4 R5 X X X X X X X X X X X X X FUNCIONES F1 F2 F3 F4 P1 X X P2 PROCESOS P3 P4 X X X X X X X P5 X X REQUERIMIENTOS INFORMACIÓN R1 R2 R3 R4 R5 E1 X X ENTIDADES E2 E3 E4 X X X X X X X X E5 X X X .

.Qué mas necesitamos ? • También necesitamos generar una jerarquía de funciones y descripciones de la mayoría de funciones en términos de las entidades y atributos que ellas utilizan y de las reglas del negocio que ellas implementan.

DATOS ACTIVIDADES REQUERIMIENTOS .Modelo de Análisis del Sector de Actividad Los analistas concentran sus mayores esfuerzos en estas tres tareas.

• Estas necesidades van acompañadas de requisitos o características que tienen que satisfacer los productos u objetos a proveer.REQUERIMIENTOS • Necesidades que tienen que satisfacer los responsables para apoyar el cumplimiento de las tareas de los usuarios o clientes. NECESIDADES REQUERIMIENTOS USUARIOS RESPONSABLE .

con la finalidad de satisfacer parte de los requerimientos funcionales.Requerimientos de información • Son los datos que tienen que proveerse a los usuarios a través de las consultas y reportes y que son generados por los sistemas de información. .

Insatisfacción de Ninguno clientes por excesivo periodo de tiempo para atenderlo 3 Ventas diarias por región Verificar progreso vrs plan MET. Rendimiento por Línea de Producto Estadística de la población del lugar Artículos acabados disponibles Control de Calidad Análisis de mercados OBJ.Aumentar las ventas en 3% en 4 trimestres Procesamiento de pedidos 1 CSF: Critical success factor o factor crítico de éxito .Mejorar la Sistema de satisfacción de clientes inventario 2 OBJ.Lista de Requerimientos de Información REQUERIMIENTO DE INFORMACION UTILIZACION OBJETIVO-META-CSF SOPORTADO POR LA INFORMACION SISTEMA(S) SOPORTANDO LA NECESIDAD INDICE SATISF.Identificar nuevos mercados Verificación de pre-pedidos de ventas CSF.

Requerimientos del Software • Las características a incorporar o con las que debe contar el producto software a construir. • Los requerimientos pueden ser: – Funcionales (RFN) – No funcionales (RNF) . mantener o comprar para satisfacer las necesidades de los usuarios.

• Ej. Sistema Académico – El software debe permitir el registro de la matricula de un alumno.Requerimientos funcionales (RFN) • Son los requerimientos especificados en base a las necesidades funcionales de los usuarios finales y que guardan relación con las actividades del negocio. – El software debe permitir la emisión del listado de alumnos inscritos en una asignatura .

documentación. fiabilidad. mantenibilidad. su arquitectura.Requerimientos No Funcionales (RNF) • Son los requerimientos relacionados con: – – – – – – – – – el lenguaje con el que deberá ser construido el software. forma de entrega. la seguridad de acceso. la usabilidad. . y procedimientos para resolver cualquier discrepancia.

.Entidades y Requerimientos de Información • Registre la contribución de un tipo de entidad a la satisfacción de cada requerimiento de información utilizando una matriz de relación entre tipos de entidad vrs. requerimiento de información.

Entidad de datos REGION_VENTA CLIENTE PEDIDO_CLIENTE ARTICULO_PEDIDO FACTURA PAGO X X X X X X X X X X X X X X X X X X X X X X PROVEEDOR PEDIDO_COMPRA MATERIA_PRIMA Controles Pago Ventas Diarias Pedidos Pend. .Clientes>100$ Prod. Compromisos Ventas x Area Lotes Defect.Linea Prod.Disponibles Rend.Ped.

Cómo empezamos ? • Identificar las áreas o asuntos de interés que trata el negocio. . • Describir las asociaciones entre las distintas áreas de interés en un Diagrama de Areas de Interés. Una asociación entre dos áreas de interés indica una relación de gestión entre uno o más de sus componentes.

CLIENTES PRODUCTOS MATERIAS PRIMAS VENTAS CONTABILIDAD VENDEDORES ORDENES DE COMPRA PROVEEDORES DIAGRAMA DE AREAS DE INTERES .

y que son el soporte para el diseño de DBs relacionales. • Es una de las principales técnicas que hoy están en uso para la construcción de los sistemas de información. .Qué es Modelamiento Datos ? • Es un medio para capturar formalmente los datos que son de relevancia para una organización en la conducción de sus negocios.

Modelo Datos • Un modelo de Datos de negocio es una representación gráfica de los tipos de datos que se están procesando y almacenando. • Un modelo de Datos se desarrolla desde las conversaciones entre el modelador de datos y la gente que comprende el sistema que esta siendo modelado y que eventualmente usará la DB completada. .

.Beneficios del Modelamiento de Datos • Costo Efectivo. • Medio de Comunicación. • Mejor Comprensión del Sistema.

.Costo Efectivo • Es mucho mas fácil y barato corregir equivocaciones sobre una pizarra que sobre una DB física.

.Medio de Comunicación • Una buena estructura de modelamiento de datos debe ser una herramienta de comunicación. Esto permite que la gente hable acerca de los datos sin utilizar terminología técnica de DBs. • Incrementar este medio de comunicación reduce las oportunidades de cometer equivocaciones.

Mejor Comprensión del Sistema • Una mejor comunicación también permite que todos los involucrados tengan una mejor comprensión del sistema que esta siendo modelado. • Esto conducirá a un mejor diseño de DBs que en otro caso no podría ser posible. .

. • Reducir errores y la redundancia en el almacenamiento de datos. • El control y la auditoría de las operaciones con los datos.Justificación de la necesidad de modelar los datos • La implementación de sistemas de información que sean eficientes en el proceso de soporte a la toma de decisiones. • Mantenimiento de datos históricos.

reticular. . o relacional. independientemente si el medio ambiente es jerárquico.Etapas en la construcción del Modelo de datos • El modelo de datos es iniciado y mejorado durante la etapa de análisis y completado durante la etapa de diseño. • Un buen modelo de datos es útil como input para el diseño de cualquier DB. orientado a objetos.

Entidad de datos • Todo objeto o ente que presenta o donde se almacenan datos de interés para el negocio. . • Se identifican dentro del dominio del sistema o negocio a través de la observación de sus actividades.

. los modeladores de datos generalmente entienden el alcance de cada uno. • Aunque no hay un acuerdo general. para aceptar estos términos.Modelos Conceptual. Lógico y Físico • Los términos conceptual. lógico y físico son usados frecuentemente en el modelamiento de datos para diferenciar los niveles de abstracción versus detalles en el modelo.

Modelo de datos Conceptual
• Muestra como el mundo de los negocios ve la información. Este incluye tradicionalmente solo entidades que tienen significado para el negocio, junto con sus relaciones. • Puede incluir unos pocos atributos significativos para mejorar la definición y visualización de las entidades, y puede incluir algunos conceptos de identificación o claves candidatas.

Modelo de datos Lógico
• Los modelos lógicos generalmente se ajustan a la teoría relacional, y contienen solo entidades totalmente normalizadas. • Algunos de éstas entidades pueden representar dominios lógicos en vez de potenciales tablas físicas. • Para que el modelo de datos lógico esté normalizado, debe incluir la población completa de atributos a ser implementada y estos deben ser definidos en términos de sus dominios o tipos de datos lógicos.

Modelo de datos Lógico
• Un modelo de datos lógico requiere para cada entidad de la definición de un identificador (ID) que facilite la identificación única de cada ocurrencia o instancia de la entidad. • También incluye la cardinalidad de las relaciones, los atributos de relación y la identificación del tipo de relación entre cada una de ellas.

vistas. DB2. Informix. declaraciones de claves. . MS SQL. • Especifica detalles de implementación que pueden ser característicos de un producto o versión particular de un DBMs. modos de integridad referencial. restricciones. etc) y en una instalación específica.Modelo de datos Físico • Un modelo de datos físico es un modelo lógico instanciado en un especifico producto DBMS. (Oracle. incluyendo construcción de índices. y objetos de almacenamiento físico.

.Entidades • Una entidad es una clase de distintas cosas del mundo real acerca de la cual algo es conocido. La ocurrencia de una entidad es una instancia particular de la clase entidad. Una entidad también puede ser alguna cosa puramente conceptual. • En el modelamiento de información es importante distinguir entre tipos e instancias de cosas.

Representación de Entidades y Atributos • Existen varias convenciones para los símbolos de un ERD. Entidad Atributo(PK) Atributo Símbolo Entidad . Nosotros usaremos las convenciones de la metodología de Ingeniería de Información (IE).

CARRO nroPlaca (ID) nroMotor marcaCarro modeloCarro colorCarro nroPuertas kilometraje estadoCarro Entidad con sus atributos y su atributo identificador (ID) .

Avería Equipo . Factura – Conceptuales (conceptos de interés) Centro Costo. Producto. Partida Libro Mayor – Activos (eventos) Asistencia Conferencia.Tipos Entidad • Categorías de Tipos de Entidad : – Tangibles (objetos físicos) Cliente.

Pormenorización de una Entidad • Pormenorización o detalle del Tipo de Entidad – Nombre – Descripción – Propiedades . esperado ocurrencias . Tasa crecimiento esperada – Predicados – Identificadores – Participaciones en las relaciones Mutuamente Exclusivas – Seudónimos . Nro.

• Como en las entidades.Atributos • Cualquier propiedad de una entidad que es de interés. • Cada entidad debe tener propiedades que la describen. sin las cuales esta no puede existir. es referida como un atributo o una relación. . cosas que son conocidas acerca de ella. es importante distinguir entre atributos y ocurrencias de atributos.

Identificador • Aquellos atributos que permiten identificar a cada instancia de una entidad de manera única son referidos como identificadores únicos o claves primarias (PK) de una entidad. • Cuando una selección de PKs esta disponible para una entidad. . cada opción es referida como una clave candidata. • La PK de una entidad puede ser simple o compuesta si se representa por una o por una combinación de columnas (propiedades).

• Un identificador es un predicado o conjunto de predicados que en forma exclusiva identifica una entidad. Un tipo de entidad puede tener mas de un identificador. se denomina predicado de la entidad.Predicados e Identificadores • Al conjunto de atributos que participa en una relación describiendo un Tipo de Entidad. .

Relaciones • Nosotros vemos que las entidades pueden ser descritas en un modelo de información en términos de su clave primaria y otros atributos no clave. . • En el sistema real y a partir de los requerimientos de información se descubren las relaciones entre las entidades. Sin embargo no tenemos la vista completa porque las entidades no pueden ser vistas aisladamente.

Relaciones • Si tratamos de implementar el modelo de información en un DBMS. . el único mecanismo que tiene por ejemplo el ORACLE para implementar una relación es la de clave foránea. • Las únicas relaciones que pueden implementarse en esta forma son: uno-a-uno y uno-a-muchos. Si se desea implementar una relación muchos-amuchos tenemos que añadir lo que denominamos una entidad de intersección o entidad de enlace.

• Toda relación debe ser representada con su cardinalidad y de ser el caso su opcionalidad. .Representando Relaciones • Las relaciones son representadas como una línea entre dos entidades. • Para ayudar a clarificar y a comprender las relaciones se pueden adicionar nombres o etiquetas sobre la línea representada.

METODOLOGÍA IE hecho por hace PEDIDO CLIENTE muchos uno uno cero o muchos uno cero o uno uno o muchos uno “ Representación tipo pata de gallo “ .

Muchos Carro PK1 Atributo1 Es propiedad de Persona PK2 Atributo2 Opcional Uno Entidades y su Relación entre ellas ” Una Persona no puede tener en propiedad un Carro o ser propietario de muchos. . y un Carro es propiedad de una Persona ” .

TE-1 TE-2 M:M Muchos a Muchos 1:1 Uno a Uno 1:M Uno a Muchos TE-1 TE-2 TE-1 TE-2 Tipos de Cardinalidad .

uno o muchos cero .METODOLOGIA IDEF1X propiedad de CARRO propietario PERSONA uno cero .uno o muchos Cero .uno o muchos .

NOMENCLATURA BASICA DEL MODELADO DE DATOS Concepto Tipo Ocurrencia Asunto u objeto Asociación entre Asuntos u objetos Característica de un Asunto u objeto Entidad Relación Atributo Instancia Apareamiento Valor atómico Identificar cada asunto u objeto Atributo(s) de identificación Código único .

00 30.92 125.00 25.00 90.00 TOTALITM 64.00 TOTALITM 270.00 44.00 540.00 TOTALVTA Pedido Nro: 115674 ITEM 01 02 03 04 05 729.46 50.00 30.92 Fecha: 12/10/96 CTD 03 08 04 02 01 CODPROD 2267C 1002E 2357B 2555F 1346R DESCRIP CORTINA GANCHO PELOTA MARTILLO ALFOMBRA PRECIO 90.00 .00 16.00 TOTALVTA 460.00 100.Ejemplo Pedido Nro: 125607 ITEM 01 02 03 Fecha: 12/10/96 CTD 02 05 06 CODPROD 2345A 1343Z 2267C DESCRIP ANTEOJOS JARRA CORTINA PRECIO 32.00 2.00 22.

Cliente nroMovimiento+ tipoMovimiento codCliente Stock Producto nroPedido codProducto Pedido Producto ERD según IE .

codCliente nroPedido Cliente PEDIDO Cabecera Pedido Stock Producto nroMovimiento+ tipoMovimiento codProducto Linea Pedido Producto nroPedido+ item .

IDENTIFICADORES • nroPedido+item : Dado que el valor de la LINEAPEDIDO es exclusivo para un PEDIDO determinado. se puede identificar exclusivamente una LINEAPEDIDO por la combinación de su apareamiento con un PEDIDO y con un PRODUCTO específicos. • nroPedido+codProd : Además si imponemos la limitación por la cual cada PRODUCTO solamente puede aparecer una vez en un PEDIDO. . podemos identificar exclusivamente cada entidad de la LINEAPEDIDO por la combinación de su apareamiento con un PEDIDO particular y por su atributo Item.

. • Desde que un valor nulo ( Null ) no está garantizado a ser único. • En una Tabla puede identificarse un número variable de claves candidatas. ningún componente de una clave candidata puede ser nulo.Claves Candidatas • Una clave candidata es un conjunto de una o más columnas cuyos valores combinados son únicos entre todas las ocurrencias (tuples o filas).

• Sería correcto. . • La PK puede ser seleccionada por conveniencia. performance. aunque frecuentemente inconveniente. comprensión. cambiar la selección de una PK a otra clave candidata pero esto es raramente soportado por el software.Claves Primarias • La clave primaria (PK) de una tabla es cualquier clave candidata de esa tabla que el diseñador de DB arbitrariamente señala como “primaria”. o cualquier otra razón (a pesar que todas comparten la propiedad de identificación única).

. y las remanentes si existe alguna. son llamadas claves alternas. • Exactamente una de aquellas claves candidatas es seleccionada como PK.Claves Alternas • Las claves alternas de cualquier tabla son simplemente aquellas claves candidatas las cuales no fueron seleccionadas como clave primaria.

Cliente codClie 246123 241075 nombreClie LUIS PEREZ JOSE SOTO direccClie LOS ANTIGUOS 125 LOS ROSALES 345 nroTelef 4678954 4812346 linCredito 100000 50000 146509 126321 LUIS SOTO WALTER CRUZ SAN CARLOS 199 LOS ANTIGUOS 125 3656922 4678954 90000 40000 • Cliente = codClie + nombreClie + direcClie + nroTelef + linCred • Identificadores – codClie o – nombreClie + direcClie .

• Una “ Key” tiene un solo significado en la teoría relacional: Es un conjunto de una o más columnas que enlazadas identifican valores únicos entre todas las ocurrencias en una tabla dada.Claves Relacionales • La palabra “Key” (clave) en lugar de ID es muy usada en el contexto del diseño de DB relacionales. .

• Entidad «Hijo» – La entidad que dentro de una relación uno a muchos esta al lado de la cardinalidad muchos.Tipos de entidad según la cardinalidad • Entidad «Padre» – La entidad que dentro de una relación uno a muchos esta al lado de la cardinalidad uno. .

.Tipos de relaciones • Relaciones identificadas Cuando la entidad hijo incluye en su ID el ID de la entidad padre. • Relaciones no identificadas Cuando la entidad hijo no incluye en su ID el ID de la entidad padre o la incluye parcialmente.

Relación identificada Relación No identificada .

ERD en ERWin según IDEF1X .

ERD en ERWin según IE .

Entidades dependientes e Independientes • Una entidad es independiente cuando su ID no depende del ID de otra entidad. • Una entidad será dependiente cuando su ID dependa del ID de otra entidad. Entidad Independiente Entidad Dependiente .

. y la existencia de un apareamiento basado en una de las relaciones excluye la existencia de un apareamiento basado en la otra. se dice que las relaciones son mutuamente exclusivas.Relaciones Mutuamente Exclusivas • Si existen relaciones entre una entidad A y las entidades B y C.

PRODUCTO codProducto nombreProducto precioProducto stockMinimo unidadMedida codProveedor codDepartamento es suministrado por es fabricado por PROVEEDOR codProveedor DEPARTAMENTO codDepartamento RELACIONES MUTUAMENTE EXCLUSIVAS .

Sub-Tipos y Super-Tipos • Algunas veces un atributo tiene un especial significado para una entidad: este la categoriza dentro de distintos tipos y la entidad es dividida para reflejar esta importancia. . y la entidad original se convierte en un super-tipo. • Las nuevas entidades son conocidas como subtipos.

• Se definen atributos en ambos niveles pero la comonalidad de atributos se define en el supertipo. .Representando Sub-Tipos y Super-Tipos • Las entidades Sub-tipos heredan las características de la entidad Super-tipo a través de atributos comunes.

CLIENTE

CLIENTE
CLIENTE
NACIONALIDAD

NACIONALIDAD

NACIONAL

FORANEO
NACIONAL FORANEO
TIPO EMPRESA

PRIVADO
Tipo de entidad CLIENTE con dos Sub-Tipos y con un doble particionamiento.

ESTATAL

CLIENTE
NACIONALIDAD

codigoCliente nombre domicilio número Telefónico estadoCliente linea Crédito nacionalidad tipo nombre Agencia Gubernamental codigo Pais número Licencia Importación

FORANEO

NACIONAL

RUC (número Contribuyente) UBIGEO

Formas de Representar Sub-Tipos y Super-Tipos

ERD con tipos y sub tipos (notación IE)

Para resolver esto se introduce el concepto de entidad de intersección o entidad de enlace. • Este tipo de relaciones no pueden ser directamente implementadas en el modelo relacional.Representando Relaciones Muchos a Muchos • En este tipo de relación cada ocurrencia de una entidad esta relacionada con mas de una simple ocurrencia de otra entidad. . • La nueva entidad deriva su PK de ambas entidades relacionadas.

Entidad de Enlace para resolver una Relación Muchos a Muchos .

Rolenames • Es un nombre que identifica una relación diferenciándola de otras que pueden existir entre dos entidades. ESCRITOR .

.

.

subordinado EMPLEADO codigoEmpleado jefe nombreEmpleado DNI codigoEmplJefe .Representando Relaciones Reflexivas o Recursivas • Este tipo de relación es siempre opcional.

Atributos y su Pormenorización • • • • • • • • • • • Nombre atributo Descripción Opcionalidad Categoría fuente Dominio Primitivo Extensión Nro. posiciones decimales Sensibilidad Mayúsculas-Minúsculas Valores Permitidos Valor o Algoritmo por omisión Algoritmo de derivación .

.Categoría Fuente • Básica : los valores del atributo son intrínsecos a las entidades del tipo que se esta describiendo y no pueden deducirse de otros predicados. • Derivada : los valores del atributo siempre se deducen o se calculan a partir de los valores de otros predicados. • Designada : atributo inventado para superar restricciones o simplificar operaciones.

Hora.Dominios • Se refiere al conjunto de valores posibles para un atributo a grupo de atributos. • Cada atributo es asignado a uno de cuatro dominios básicos o primitivos: – – – – Texto. • Los dominios primitivos son la base para formar otros dominios mas complejos definidos por el usuario. Número. Fecha. .

. dado que el número de caracteres o dígitos restringe el conjunto posible de valores para el atributo. Podemos considerar que esto va a ser un subconjunto del dominio de un atributo.Extensión • Indica el número máximo de caracteres o dígitos para cada uno de sus valores.

( rollo ). Por ejemplo : UnidadVenta = [ TM RO BO PQ ( tonelada métrica).Valores Permitidos • El conjunto de valores permitidos para un atributo describe exahustivamente los valores potenciales del atributo. (bolsa ). ( paquete ) ] .

Por ejemplo : Nro.Cliente + 1 .Valor o Algoritmo por Omisión • Para c/atributo que pueda contener valores permitidos se puede especificar un algoritmo por omisión o bien un valor por omisión (pero no ambos).Cliente = Nro.

• En la práctica el diseñador debe tomar la decisión sobre si un atributo derivado debe ser calculado o almacenado en memoria.Algoritmo de Derivación • Solamente podemos especificar algoritmos de derivación para atributos derivados. : TotalVentaItem = ValorVenta + IGV TotalVenta = S TotalVentaItem . Por ej.

Todo lo relacionado con la implementación (DBMS) debe ser introducido durante el diseño y no antes.Asegurando la Calidad del Modelo Conceptual • Tres importantes modelos son producidos durante el ciclo de vida del proyecto : – El modelo conceptual (MC) – El modelo de datos lógico – El modelo de datos físico • El modelo de información conceptual debe representar las entidades del negocio y nada mas. .

• El modelo lógico deberá estar totalmente normalizado. las relaciones muchos-a-muchos deberían ser modeladas tal cual se descubren. y se intentan desnormalizaciones selectivas. . las relaciones muchos-a-muchos son resueltas.El modelo de Información Conceptual y la Fase de Diseño • El MC no debería contener entidades asociativas o de enlace. • En fase de diseño.

Teoría Relacional vrs. E-R .

DICCIONARIO DE DATOS LÓGICO Nro 1 ENTIDAD DEFINICION Medio de transporte de los envíos siguiendo una ruta determinada ATRIBUTO nroSerie nombreBarco capacidadMax DEFINIC Identificación de un barco Nombre asignado a un barco Capacidad máxima de transporte de un barco El tipo de barco PK x FK OBSERV BAR CO nroSerie nombreBarco capacidadMaxEmbarque tipoBarco tipoBarco 2 GR: granelero CO: contenedor x x x x x EN VIO nroSerie (FK) nroRegEmbarque (FK) nroEnvio consignatario p e so Envio va lo rD e cla ra d o valorAsegurado estadoEnvio Carga a enviar en un embarque correspondiente a un barco. nroSerie nroRegEmbarque nroEnvio consignatario pesoEnvio valorDeclarado valorAsegurado Nro de envío de la carga Persona que realiza el envío Peso del envío en Kg. Valor declarado en aduana Valor asegurado por el que se responsabiliza el embarque Estado del envío x estadoEnvio PE: por embarcar EB: embarcado DE: en depósito .

• Tipos de restricciones de integridad ya fueron introducidas como : – – – – condiciones de opcionalidad condiciones de cardinalidad valores permitidos para un atributo exclusividad mutua Restricciones de Integridad (constraints) .• Las condiciones que determinan la validez de entidades de un determinado tipo se denominan restricciones de integridad.

. • Ejemplos de condiciones : – Valores permitidos complejos.Condiciones por Restricciones de Integridad • Las restricciones de integridad documentadas durante el modelado de datos se incorporarán en la definición detallada de lo procesos. en donde puede existir un apareamiento solamente si existe otro. – Relaciones mutuamente inclusivas. en los que ciertos valores permitidos de un atributo son válidos solo cuando otros atributos tienen valores específicos o cuando existen apareamientos específicos.

• Un PRODUCTO solo puede aparecer en una LINEAPEDIDO si ha sido abastecido por un PROVEEDOR o ha sido hecho por un DEPARTAMENTO. .Registro de Condiciones Ejemplo • Para que un CLIENTE tenga el Estado “preferente” debe tener una LineaCredito “impecable ” y por lo menos un PEDIDO “sobresaliente ”.

Diagramas de Transición de Estado (STD). Definiciones de Atributos Relaciones entre Entidades. Definiciones de Entidad. Identificadores únicos de Entidad.Qué comprende el Modelo de Datos? • • • • • • Diagramas Entidad-Relación (ERD). .

relaciones. de los super-tipos. y subtipos. y en algunos casos los atributos de PK.Diagramas Entidad-Relación (ERD) • Un ERD es una representación gráfica de las entidades. La tarea del diseñador es tomar los conceptos transmitidos de la realidad y plasmarlo dentro del ERD. • El ERD debe ser una conceptualización de los requerimientos de información. .

. y • los procedimientos los convertimos dentro de definiciones de módulo. • .Cómo se implementan ? • Las entidades llegan a ser tablas. Pero no es tan simple como parece ! . • las relaciones se transforman en claves foráneas. • los atributos pasan a ser columnas.. • los identificadores se convierten en claves primarias.

Entidad 1 ID 1 Atributo 1 Entidad 2 ID 2 ID 1 Atributo 2 Tabla_1 PK_1 Col_1 Tabla_2 PK_2 FK_1 Col_2 El Proceso de Diseño de Datos .

no posee relaciones. Docentes. Productos – Tabla histórica. es la mas relacionada y tiene una gran tasa de crecimiento – Ej: Matricula. tiene algunas relaciones – Ej: Alumnos. Programación académica. representa a las entidades independientes.Tipos de Tablas • Las tablas se diferencian por el tamaño de sus registros o instancias y por la frecuencia con que crecen. es muy relacionada – Ej: Categoría Docente. Asignaturas. Ventas . Notas. Orden Venta. – EJ: Matriculas. Áreas académicas – Tabla transaccional. Operación Bancaria – Tabla maestra. – Tabla General. son de gran volumen y se utilizan para almacenar información de periodos.

siempre que estas mantengan una misma estructura de datos. utilizada para simplificar el modelamiento de varias tablas en una sola. .Tabla General • También llamada tabla de tablas.

.Tabla de datos de Alumno que está relacionada con varias otras tablas que mantienen una estructura similar.

Industrial 100 03 Medicina 100 04 Arquitectura 200 200 200 200 300 300 300 300 400 400 400 00 01 02 03 00 01 02 03 Tabla Deportes Natacion Football Esgrima Tabla Religiones Catolica Budista Islamica alias TACAR INGSI INGIN MEDIC ARQUI TADEP NATAC FOOTB ESGRI TAREL CATOL BUDIS ISLAM TANAC PERUA ARGEN estado 00 Tabla Nacionalidades 01 Peruana 02 Argentina .TABLA GENERAL codTabla itemTabla denominacion 100 00 Tabla Carreras 100 01 Ing. Sistemas 100 02 Ing.

Uso de una Tabla general .

• Sólo se construyen diagramas de transición de estados para aquellas entidades cuyos estados guardan relación con los requerimientos. .Diagrama de Transición de Estados • Es un diagrama que presenta los distintos estados por los que puede pasar cada instancia u ocurrencia de una entidad con la finalidad de identificar los procesos o eventos que generan los cambios de estado en la instancia.

Diagrama de Transición de estados para las instancias de la entidad Empleado. SANCIONAR VACACIONES (V) VACACIONAR SANCIONADO (S) INACTIVAR ACTIVAR ACTIVAR ACTIVO (A) REGISTRAR LICENCIAR INACTIVO (I) ACTIVAR JUBILAR LICENCIA (L) JUBILADO (J) A HISTÓRICO .

Luis Zuloaga Rotta .Análisis y Diseño de Sistemas: Normalización de Datos Ing.

Se implica una FD si podemos determinar el valor de un atributo simplemente conociendo el valor de algún otro atributo. podemos determinar un conjunto de valores de otro atributo. .Qué es Normalización ? • Es la base para remover dependencias funcionales (FDs) no deseadas de nuestras entidades. • Una variación en una FD es conocida como dependencia multivaluada (MVD) la cual significa que si conocemos el valor de un atributo.

• En términos prácticos la forma normal nos ayuda a diseñar DBs que no tienen datos redundantes innecesarios o inconsistencias que puedan conducirnos a problemas de performance o pérdida de información.Porque el Modelo Información Normalizado es importante en el Diseño Relacional ? • Nos brinda la mejor vista para modelar el mundo usando objetos de 2 dimensiones (tablas) sin imponer demasiadas restricciones o comprometiendo los hechos (data) que estamos usando para definir la DB. .

producidos por un diseño deficiente. borrar y actualizar datos en una base de datos relacional.Anomalías de Datos • Comportamientos anómalos que se pueden presentar al insertar. .

ncliente.nomalu. fecha.espec.Anomalía de Inserción (insert) • La existencia de un objeto requiere la existencia de otro objeto independiente. – Ej: Factura (nfact. .ofic.total) Reporte (codalum. obligatoriamente necesito crear una factura o un nuevo alumno para ese cliente o ese curso. nombre. (Es decir esta representación no permite organizar la información correctamente).secc) • Para añadir un nuevo cliente o un nuevo curso.codcur.denomin.nomdoc. direccion.

Anomalía de Borrado o Eliminación (delete) • El borrado (rutinario) de un registro puede hacer que se pierda (borre) información que no se quería eliminar. total) Reporte (codalum.secc) • Si se elimina una factura y es la única de un cliente. . direccion. fecha.denomin. se pierde la información de ese cliente o de ese curso sección (pérdida de datos).ofic. – Factura (nfact.nomdoc.espec.codcur. nombre. o se elimina un alumnoy es el único matriculado en el curso.nomalu. ncliente.

denomin. fecha.espec. hay que hacerlo en todas las facturas que tenga o en todas las matriculas donde aparezca. nombre.ofic. se necesita cambiarlo simultáneamente en varios sitios. a pesar que el cliente sólo tiene una dirección y el curso sólo tiene una denominación (por la redundancia).secc) • Para cambiar la dirección de un cliente o la denominación de un curso.nomdoc. total) Reporte (codalum.nomalu. ncliente. direccion. . – Factura (nfact. en lugar de en uno.Anomalía de Actualización (update) • Para cambiar el valor de un atributo.codcur.

. Ellos pueden si lo consideran conveniente denormalizar selectivamente la data por razones de performance. • El equipo de diseño debe verificar que la 3NF ha sido llevada a cabo antes de aceptar el modelo.Modelo de Datos Normalizado • Uno de los requerimientos clave del modelo de información que es entregado desde el análisis al diseño es que este es liberado en al menos su tercera forma normal (3NF).

.Normalización • Primera Forma Normal : Separar grupos repetitivos de datos. • Tercera Forma Normal : Eliminar las dependencias Transitivas. es decir atributos que no dependan directamente de la clave. • Segunda Forma Normal : Separar atributos no clave que no dependan de la clave.

Se remueven los grupos repetitivos. y el resultado es un conjunto de relaciones en 2FN. enseguida se remueven dependencias parciales.3FN .Pasos para la normalización • Primero se identifican las vistas de usuario. luego cada vista es convertida a la forma de una relación no normalizada. Remover grupos repetitivos Vistas de usuario Relaciones no normalizadas • Remover Dependencias parciales Relación Normalizada 1FN Remover Dependencias transitivas Relaciones en 2da forma Normal . y se obtiene un conjunto de relaciones en 1FN.2FN Relaciones en 3ra forma Normal . Finalmente se remueven las dependencias transitivas creando un conjunto de relaciones en 3FN.

Vistas de usuario o formas No Normalizadas REPORTE MATRICULA CODIGO CODIGO NOMBRE ALUMNO ESPECIALIDAD DENOMINACION NOMBRE DOCENTE ALUMNO CURSO 382145A LUIS ZULOAGA INDUSTRIAL MA123 MATEMATICA 2 CARLOS ARAMBULO QU514 AU521 360247K RAUL ROJAS SISTEMAS PA714 MA123 AU511 FISICO QUIMICA DESCRIPTIVA MATEMATICA 2 DIBUJO PETRA RONDINEL VICTOR MONCADA CARLOS ARAMBULO VICTOR MONCADA OFICINA CB-214 CB-110 CB-120 SC-220 CB-214 CB-120 SECCION U U W V V U INVESTIGACION 1 CESAR FERNANDEZ • Una relación no normalizada es una relación que contiene uno o mas grupos repetitivos. los datos de los cursos-sección en la vista constituyen grupos repetitivos dentro de los datos de los alumnos. . • Desde que cada alumno se puede inscribir en uno o mas cursos-sección.

• En el ejemplo. • La principal desventaja de relaciones no normalizadas es que ellas contienen datos redundantes. vemos que el curso MA123 puede aparecer varias veces. que ocurriría si deseamos cambiar el nombre del curso ? .Datos redundantes REPORTE MATRICULA CODIGO NOMBRE ALUMNO ESPECIALIDAD ALUMNO CODIGO CURSO DENOMINACION NOMBRE DOCENTE OFICINA SECCION Grupos repetitivos • Como se observa en la relación no normalizada por cada alumno existen varios cursos-sección matriculados. cada uno con un docente responsable a quien se le ubica en una oficina determinada.

secc) – Alumno (codalum.nomalu. Esto es.espec) CursoAlumno (codalum+codcur. • Para la 1FN separamos la relación no normalizada en dos entidades.espec. – Reporte (codalum.secc) . uno conformada con los grupos no repetitivos y la otra con los grupos repetitivos.nomdoc.nomdoc.denomin.Primera Forma Normal – 1FN • Es una relación que contiene sólo valores simples o atómicos en la intersección de cada fila y columna.nomalu.ofic. denomin.codcur. una relación normalizada no contiene grupos repetitivos.ofic.

REPORTE MATRICULA
CODIGO NOMBRE ALUMNO ESPECIALIDAD ALUMNO

CODIGO CURSO

DENOMINACION

NOMBRE DOCENTE

OFICINA

SECCION

Grupos repetitivos

ALUMNO
CODIGO NOMBRE ALUMNO ESPECIALIDAD ALUMNO 382145A LUIS ZULOAGA INDUSTRIAL 360247K RAUL ROJAS SISTEMAS

CURSO ALUMNO
CODIGO ALUMNO 382145A 382145A 382145A 360247K 360247K 360247K CODIGO CURSO MA123 QU514 AU521 PA714 MA123 AU511 DENOMINACION MATEMATICA 2 FISICO QUIMICA DESCRIPTIVA MATEMATICA 2 DIBUJO NOMBRE DOCENTE CARLOS ARAMBULO PETRA RONDINEL VICTOR MONCADA CARLOS ARAMBULO VICTOR MONCADA OFICINA CB-214 CB-110 CB-120 SC-220 CB-214 CB-120 SECCION U U W V V U

INVESTIGACION 1 CESAR FERNANDEZ

Segunda Forma Normal - 2NF
• La entidad debe estar primero en su 1NF, y adicionalmente esta debe tener todos sus atributos no clave totalmente dependientes de los componentes de la PK. • La 2NF especifica que no deben existir atributos no clave que dependan de solo una parte de la PK o no dependan de ella; a estos hay que removerlos y ubicarlos en una nueva entidad relacionada.

Segunda Forma Normal - 2NF
• Para eliminar las anomalías de la 1FN, debemos remover las dependencias funcionales parciales. • Para convertir una relación con dependencias parciales a 2da. forma normal (2FN), creamos dos nuevas relaciones, una con atributos que son totalmente dependientes de la clave primaria y la otra con atributos que son parcialmente dependientes de la clave.

• Los atributos no clave que dependen de la clave primaria son totalmente dependientes los otros son sólo parcialmente dependientes. CODIGO ALUMNO 382145A 382145A 382145A 360247K 360247K 360247K CODIGO CURSO MA123 QU514 AU521 PA714 MA123 AU511 DENOMINACION MATEMATICA 2 FISICO QUIMICA DESCRIPTIVA MATEMATICA 2 DIBUJO NOMBRE DOCENTE CARLOS ARAMBULO PETRA RONDINEL VICTOR MONCADA CARLOS ARAMBULO VICTOR MONCADA OFICINA CB-214 CB-110 CB-120 SC-220 CB-214 CB-120 SECCION U U W V V U INVESTIGACION 1 CESAR FERNANDEZ .Dependencia de atributos • La razón de las anomalías es que varios de los atributos no clave son dependientes sólo de parte de la clave primaria (de algunos atributos) y no de la cave primaria total.

y adicionalmente todos los atributos no clave deben depender solo de la PK.3NF • Para que una entidad este en 3NF. Es decir no deben de depender de algún otro atributo no clave. • La 3NF especifica que no deben existir dependencias transitivas ni algún otro atributo dependiente. .Tercera Forma Normal . esta debe estar primero en su 2NF.

CURSO ALUMNO CODIGO ALUMNO CODIGO CURSO DENOMINACION NOMBRE DOCENTE OFICINA SECCION DETALLE MATRICULA CODIGO ALUMNO 382145A 382145A 382145A 360247K 360247K 360247K CODIGO CURSO MA123 QU514 AU521 PA714 MA123 AU511 SECCION U U W V V U CURSO CODIGO CURSO MA123 QU514 AU521 PA714 AU511 DENOMINACION MATEMATICA 2 FISICO QUIMICA DESCRIPTIVA INVESTIGACION 1 DIBUJO NOMBRE DOCENTE CARLOS ARAMBULO PETRA RONDINEL VICTOR MONCADA CESAR FERNANDEZ VICTOR MONCADA OFICINA CB-214 CB-110 CB-120 SC-220 CB-120 .

C CODIGO CURSO DENOMINACION NOMBRE DOCENTE OFICINA B A A A CURSO CODIGO CURSO MA123 QU514 AU521 PA714 AU511 DENOMINACION MATEMATICA 2 FISICO QUIMICA DESCRIPTIVA INVESTIGACION 1 DIBUJO B C C Dependencia Transitiva NOMBRE DOCENTE CARLOS ARAMBULO PETRA RONDINEL VICTOR MONCADA CESAR FERNANDEZ VICTOR MONCADA DOCENTE NOMBRE DOCENTE CARLOS ARAMBULO PETRA RONDINEL CESAR FERNANDEZ VICTOR MONCADA OFICINA CB-214 CB-110 SC-220 CB-120 .

es cancelado y eliminado se pierde todo rastro de los envíos. En esta forma. esto fuerza la regla de que un embarque nunca pueda tener mas de un número especifico de envíos porque no habría forma de registrarlo. . y Valor Declarado) para cada uno de los envíos de un embarque. El total del peso de los envíos no debe superar la capacidad máxima permitida. si un embarque registrado.Ejemplo : Un embarque registra los envíos (Consignatario. Peso envío. Valor Asegurado. Si para registrar esta información se utiliza una entidad EMBARQUE sin normalizar.

Embarque Responsable Nombre de Barco Puerto Origen Envío Consignatario Nro. Registro Embarque Día Embarque Puerto Destino Peso Valor Declarado Valor Asegurado Total Peso Embarque Firma y Sello Responsable Declaración Aduana Valor de Aduana .

EMBARQUE NroRegEmbarque DiaEmbarque Responsable NombreBarco Origen Destino 1erEnvio 2doEnvio 3erEnvio 4toEnvio PesoEmbarque ValorAduana DeclaracionAduana ENTIDAD MOSTRANDO GRUPOS REPETITIVOS .

EMBARQUE NroRegEmbarque DiaEmbarque NombreResponsable NombreBarco Origen Destino TotalPesoEmbarque ValorAduana DeclaracionAduana ENVIO NroRegEmbarque DiaEmbarque NroEnvio PesoEnvio Consignatario ValorDeclarado ValorAsegurado PRIMERA FORMA NORMAL (1FN) .

EMBARQUE PUERTO codPuerto nombrePuerto Pais capacAtraque NroRegEmbarque DiaEmbarque codPuertoOrigen codPuertoDestino TotalPesoEmbarque ValorAduana DeclaracionAduana nroIDPersonal nroSerie ENVIO NroRegEmbarque DiaEmbarque NroEnvio PesoEnvio Consignatario ValorDeclarado ValorAsegurado BARCO PERSONAL EMBARQUE nroSerie NroIDPersonal NombrePersonal Dirección nombreBarco capacidadEmbarque SEGUNDA FORMA NORMAL (2FN) .

TERCERA FORMA NORMAL (3FN) .

MODELO DATOS NORMALIZADO (1FN/2FN/3FN) .

Forma Normal Boyce . . • Incluye el análisis de las anomalías de Deletion (Eliminación). • Impone similarmente la regla que toda dependencia transitiva debe ser removida.Codd BCNF • No es suficiente utilizar el sentido común y la intuición para identificar atributos que dependan exclusivamente de la clave.

Esto indica que un equipo puede haber tenido varios lideres. y con un miembro siendo líder del equipo en un determinado momento. tal que un miembro de la tripulación puede integrar varios equipos.Ejemplo : • Supongamos que la tripulación de la compañía de embarque esta dividida dentro de equipos para atender sus actividades. pero con un miembro liderando un equipo a la vez. .

Tabla de Relación MiembroTripulación NombreEquipo NombreLider Garcia Garcia Benites Gonzales Prado Prado Fernandez Emergencia Abastecimiento Emergencia Emergencia Abastecimiento Mantenimiento Mantenimiento Gomez Calle Romero Gomez Holland Cervantes Cervantes .

• Si Benites es removido de Emergencia. perdemos parte de conocimiento relacionado. • Cuando un nuevo miembro es asignado al equipo de Emergencia y queremos ubicar en la lista de lideres a quien podemos asignar el nuevo miembro. Romero no aparece en lista. .Anomalía de Deletion • Aun cuando la tabla esta en 3NF. tenemos una anomalía de Deletion (Eliminación). es decir que Romero es el líder del equipo de Emergencia.

MiembroTripulación NombreEquipo NombreLíder Garcia Garcia Benites Gonzales Prado Prado Fernandez Emergencia Abastecimiento Emergencia Emergencia Abastecimiento Mantenimiento Mantenimiento Gomez Calle Romero Gomez Holland Cervantes Cervantes TRIPULACION DE EQUIPO LIDER DE EQUIPO Tabla a Introducir para satisfacer BCNF NombreLíder NombreEquipo Gomez Calle Romero Holland Cervantes Emergencia Abastecimiento Emergencia Abastecimiento Mantenimiento .

tendremos conocimiento que Romero lidera el equipo de Emergencia aun cuando el equipo no posea miembros.• Si ahora removemos a Benites. No existirá el problema de asignar a Romero un nuevo miembro para su equipo. .

donde fuimos capaces de quebrar las tablas sin crear redundancia. • La tabla original de asignación de tripulantes se queda como esta y debe ser complementada con una tabla de lideres de equipo. .Solución • Esto implica que sin ser semejante a las formas normales previas. en este caso estamos forzados a almacenar alguna redundancia para resolver la situación.

4NF • Esta forma tiene que ver con dependencias multivaluadas (MVDs). • Esta forma normal resuelve el problema de una tabla que tiene mas de una MVD. .Cuarta Forma Normal .

las Rutas que siguen en cada viaje. los Viajes que ellos hacen. Buque Capitán Viaje Ruta .• Ejemplo : Considere una tabla de Buques. y los Capitanes que pueden comandar el Buque en cada viaje.

La tabla derivada de esta entidad no tiene FDs de modo que se encuentra en BCNF. Buque Solitario Solitario Solitario Solitario Noche Clara Solitario Solitario Noche Clara Noche Clara Noche Clara Capitán Ruiz Aguilar Cordova Gomez Cordova Rios Gomez Aguilar Lopez Cordova Viaje Callao-Piura Callao-Piura Callao-Piura Callao-Piura Callao-Piura Talara-Ilo Talara-Ilo Tacna-Tumbes Supe-Paita Supe-Paita .• La entidad Viaje registra los siguientes detalles en su estructura.

Si Aguilar decide abandonar y removemos sus registros. necesitamos adicionar mas de una fila en la Tabla. Además si adicionamos un nuevo Viaje. como consecuencia perdemos los registros sobre hechos acerca de la navegación del buque Noche Clara. y entre Callao y Piura. ya que este navegó entre Tacna y Tumbes. .Anomalía de Deletion • Nuevamente tenemos una anomalía de Deletion.

Capitan) La entidad original : PK = Buque + Capitan + Viaje BUQUE CAPITAN VIAJE Es reemplazada por : .• Este problema se resuelve explotando la Tabla dentro de dos nuevas Tablas : – (Viaje. Buque) y (Viaje.

• Los campos son independientes si no hay combinaciones que estén lógicamente relacionadas.Cuarta Forma Normal .4NF • La cuarta forma normal elimina casos en los cuales la clave compuesta de un tipo de registro contiene dos o más items de información que son hechos multivaluados independientes acerca de una entidad. .

4NF • En el ejemplo. pero no hay una dependencia lógica entre un LENGUAJE y una HABILIDAD.EJEMPLO . HABILIDAD y LENGUAJE son multivaluados (muchas diferentes habilidades y muchos diferentes lenguajes). EMPLEADO HABILIDAD LENGUAJE .

Solución .4NF La entidad original : EMPLEADO HABILIDAD LENGUAJE PK = Empleado + Habilidad + Lenguaje Es reemplazada por : .

• Cada registro en la relación se compone de un nombre de curso. más un grupo de repetición de nombres de textos. más un grupo de repetición de nombres de profesores.Nuevo Ejemplo . .4NF • Supóngase que se da una relación no normalizada que contiene información acerca de cursos. profesores y textos.

Pardo Prof. Blanco Algebra Moderna Geometría Proyectiva . Verde Prof. Negro Matemáticas TEXTO Mecánica Básica Principios de Optica Prof.La figura siguiente muestra dos de esos registros CURSO Física PROFESOR Prof.

• Se supone que. . puede existir cualquier número de profesores y cualquier número de textos correspondientes.Análisis .4NF • El significado de un registro específico en esta relación no normalizada es que el curso indicado lo puede dictar cualquiera de los profesores indicados y en él se utilizan todos los textos indicados. para un curso dado.

se usan los mismos textos).Independencia . • También se supone que un profesor o texto específico puede estar asociado con cualquier número de cursos.4NF • Además. . que los profesores y los textos son independientes entre sí (es decir independiente de quien enseñe en realidad un curso dado. se supone quizá en forma no muy realista.

Solución .4NF La entidad original : CURSO PROFESOR TEXTO PK = Curso + Profesor + Texto Es reemplazada por : CURSO PK = Curso + Profesor PROFESOR CURSO PK = Curso + Texto TEXTO .

COMPUTADORA APPLE APPLE IBM NCR NCR PAQUETE SOFTWARE WRITER FOX WORD WORDPERFECT LOTUS COMPUTADORA APPLE APPLE IBM NCR NCR TIENDA PCSHOP DIGISHOP CIBERSTORE DIGISHOP CIBERSTORE • Para eliminar las anomalías dividimos la relación en dos entidades. . • Por cada computadora existe un conjunto de paquetes y un conjunto de tiendas que las venden. • Los paquetes y las tiendas son independientes. • La clave primaria de la relación se expresa en función de los tres atributos.COMPUTADORA APPLE APPLE APPLE IBM NCR NCR NCR PAQUETE SOFTWARE WRITER FOX WRITER WORD LOTUS WORDPERFECT LOTUS TIENDA PCSHOP PCSHOP DIGISHOP CIBERSTORE DIGISHOP DIGISHOP CIBERSTORE • La relación esta en la BCFN.

.Quinta Forma Normal . todas relacionadas con una relación muchos-a-muchos a las otras. • Suele presentarse cuando resolvemos tres (o mas) entidades. • Es algunas veces referida como una forma normal de Joint-Proyection (JPNF).5NF • Permite hacer frente a un tipo de dependencia denominada dependencia de unión (Join dependency).

. • Este problema es conocido como una anomalía Join-Proyection.5NF • En algunos casos resolviendo cada una de estas relaciones con una entidad asociativa podemos llegar a un modelo defectuoso desde el cual se pueden inferir relaciones no existentes. Puede ocurrir si su CASE intenta resolver relaciones muchoas-a-muchos por Ud.Quinta Forma Normal .

Estructura de tres relaciones muchos-a-muchos Carro Color Modelo .

y cada carro esta disponible en ciertos modelos. Modelo_Carro. • Si seleccionamos resolver el problema como tres relaciones muchos-a-muchos aisladas. deberíamos introducir tres entidades asociativas: Color_Carro.5NF • Cada Carro esta disponible en una selección de colores. y Color_Modelo. . Algunos colores estan solo disponibles sobre ciertos modelos.Análisis .

Color_Carro Carro Modelo_Carro Color Modelo Color_Modelo Solución con Entidades Asociativas .

5NF • La solución correcta a este problema es mucho mas simple. llamandola Carro_Color_Modelo.Solución . . hay que introducir una simple entidad asociativa enlazando las otras tres.

Tabla Asociativa de Tres Vías CARRO Escort Escort Escort Escort Datsun Datsun COLOR Rojo Rojo Verde Metálico Verde Metálico MODELO Deportivo Tauro Deportivo Tauro Gol Deportivo Azul Azul .

5NF .Carro Color Modelo Carro_Modelo_Color Solución a través de la Tabla Asociativa .

Estructuras Inusuales e Ilegales • La mayor parte de las relaciones en un ERD son del tipo uno-a-muchos. . los subtipos no exclusivos o no inclusivos. las relaciones reflexivas. • Cualquier relación que no es de este tipo merece alguna investigación. relaciones muchos-a-muchos y uno-a-uno. en la mayoría de los casos con el lado “uno” opcional y el lado “muchos” obligatorio. en particular.

entonces el efecto es una jerarquía infinita.Relaciones Reflexivas • Como ya hemos mencionado esta es una relación entre instancias de la misma entidad. en la relación empleado-aempleado se han definido las relaciones “administrado por” y “es administrador de”. • Por ejemplo. de lo que se implica que un empleado debe tener exactamente un administrador. . • Si ambos lados finales de la relación son obligatorios.

en este caso todos deben administrar a todos. . • Las relaciones reflexivas obligatorias son siempre erradas. ¿quién es el administrador del jefe de la compañía? o ¿quién está en el último cargo? • Esto es igualmente inválido si hacemos obligatorio el otro lado de la relación. dejando los problemas en la parte baja de la jerarquía.Problema de Jerarquía Infinita • Si lo anterior es verdadero.

Subtipos No Exclusivos
• Algunas entidades están particionadas dentro de subtipos. Es fácil confundir subtipos con miembros de la clase. • Las entidades atómicas son llamadas subtipos de la entidad compuesta (llamada supertipo). • Los subtipos deben ser disjuntos y en conjunto componen el supertipo. En otras palabras los subtipos deben ser mútuamente exclusivos y no pueden ser cualquier ocurrencia del supertipo, la cual no debe pertenecer a un subtipo.

Ejemplo: Industria Agroquímica
• Es muy cierto que la gran mayoría de pesticidas en la ind. agroquímica son también fungicidas, herbicidas, insecticidas o raticidas. Sin embargo, hay algunos productos pesticidas que pueden servir para un doble propósito por ejemplo como fungicidas y herbicidas. • Además, hay algunos pesticidas que no son fungicidas, herbicidas, insecticidas o raticidas, un ejemplo es un Regulador del Crecimiento de Plantas.

Pesticida

Fungicida

Herbicida

Insecticida

Raticida

¿hay productos que siempre son comercializados como similares con componentes disímiles? . algún pesticida en el mercado que conforme dos o más categorías de pesticida?. Es necesario que alguien responda a preguntas como : – ¿hay actualmente o podría concebirse alguna vez. ya que los subtipos no son exclusivos y el supertipo no es inclusivo. • Se requiere alguna comprensión del negocio para completar el análisis. – por ejemplo.Problema de Tipificación • El modelo es defectuoso por no cumplir ambas reglas.

el staff médico está particularmente interesado en esta distinción. . y los ve como pacientes privados o pacientes de servicio de salud (según tengan responsabilidad de pagar o no). el Dpto. Financiero tiene una diferente visión de los pacientes. • Por otra parte.Modelo de Pacientes en un hospital • Podemos categorizar los pacientes como internos o externos.

Un Supertipo con dos categorías de Subtipo Paciente Pagante Paciente interno Paciente Paciente No Pagante Paciente externo .

• Intentando combinar las categorías no relacionadas sólo aumentamos nuestros problemas. si se intenta implementar cualquiera de las dos o ambas categorías como tablas separadas. especialmente si nuevamente intentamos implementar estas entidades como tablas separadas. .Problemas • Este doble agrupamiento lo lleva a algunos problemas interesantes.

Grupos Combinados de Subtipos No Relacionados Paciente Interno Pagante Paciente Externo Pagante Paciente Paciente Interno No Pagante Paciente Externo No Pagante .

. • La selección es usualmente muy obvia si hacemos lo siguiente: – Observar si todos los subtipos tienen la misma PK – Chequear el número de atributos comúnes y no comúnes. – Chequear el número de relaciones a los subtipos comparado con el número al supertipo.Resolviendo un Subtipo • La implementación de subtipos comienza con la selección entre combinar los subtipos dentro de una simple tabla o hacerlo en tablas individuales.

.Ejemplo • Vamos a tomar el caso de los pacientes. tal como la localización de una cama. Puede haber alguna relación que sólo aplica a pacientes internos. • Es muy probable que la mayor parte de los atributos de un paciente sea registrado indiferentemente si ellos son internos o externos. considerando los tipos: paciente interno y paciente externo.

. ¿Qué más necesitamos hacer? • Adicionamos una columna Tipo de Paciente a la tabla para indicar Interno o Externo. que una simple tabla es la decisión.Solución • Asumimos. Usamos una condición para restringir esta columna a uno de estos dos valores.

. • Recíprocamente debemos adicionar restricciones para asegurar que columnas que son sólo aplicables a ciertos subtipos sean siempre nulas para los otros subtipos.Qué otra cosa … ? • Cualquier columna obligatoria o FK que sólo aplica a uno de los subtipos será restringida a no ser nula para el subtipo para el cual ellas son obligatorias.

• Estas vistas son útiles en aplicaciones que están interesadas en uno de los subtipos.Finalmente • Finalmente. . podríamos seleccionar el crear vistas para imitar que las tablas sean semejantes a las que tendríamos si optamos por tablas separadas.

y procesar y resolver cada una en nuestro modelo lógico. . Algunas veces.Relaciones Muchos-a-Muchos • El modelo de información conceptual debe ser entregado con relaciones muchos-amuchos intactas. revisar que la relación sea realmente muchos-a-muchos. • Primero. una relación de este tipo se usa para representar una relación temporal.

un carro puede ser arreglado con un motor de repuesto y un motor puede ser reacondicionado y adaptado a otro carro. .Ejemplo para ilustrar temporalidad • Existe una correspondencia uno-a-uno entre un carro y su motor. esto depende de que si el sistema va a mantener información histórica detallada. • Por supuesto. sin embargo. el modelo ni es correcto ni es incorrecto.

Vista Estática y Temporal de la misma construcción Vista Estática Carro Motor Vista Temporal Carro potenciado por adaptado a Motor .

es conocida con el nombre de entidad de enlace. Si Ud.Resolviendo Relaciones muchos-a-muchos • Desde que una relación muchos-a-muchos no puede ser implementada directamente en una BD relacional. esto se resuelve colocando una nueva “entidad” en el medio. entonces llamela “Entidad1_Entidad2_Enlace” o similar. • Esta nueva entidad. no puede encontrar un nombre apropiado para esta entidad. asociativa o de intersección. .

Ejemplo de Entidad Asociativa • Si tenemos una relación entre la entidad TRABAJO y TAREA (inicialmente muchos-amuchos). que determina el orden en el cual las TAREAS son realizadas dentro del TRABAJO. . la nueva entidad o de asociación es TRABAJO_TAREA. uno importante como el Orden_Tareas. • Esta nueva entidad puede tener atributo de su propiedad.

TRABAJO Compuesto de TAREA Es componente de TRABAJO Nombre Tipo Frecuencia TAREA_TRABAJO OrdenTarea TAREA NombreTarea TipoTarea .

PK : entidades Asociativas • La PK de la entidad asociativa casi siempre esta compuesta de una combinación de FK de las entidades que esta enlaza (referidas como entidades cardinales). es muy importante el orden en el cual se definen los componentes de la clave. . • Cuando se implementa esta entidad como una tabla.

Implementación • Las entidades asociativas no tienen vida por si mismas. • Al implementarlas se necesitan definir reglas tal que si un usuario intenta eliminar una TAREA o un TRABAJO hay que prevenir que ambas tienen enlaces a TAREA_TRABAJO . esta pierde su razón de ser si una de las entidades que enlaza es eliminada.

Relaciones uno-a-uno • Usted puede encontrar dos tipos de relaciones uno-a-uno : A B C D • Son válidas ambas relaciones ? .

• Si A y B tienen diferentes PKs entonces se debe seleccionar una como la PK de la entidad fusionada.Caso : A B • La relación entre A y B no no es realmente una construcción válida. . la otra será una CK dentro de la tabla. A y B son por definición una mis entidad formadas por la combinación de dos conjuntos de atributos.

pero es necesaria una decisión de diseño. • Las entidades son implementadas como tablas separadas o como una tabla combinada de ambas.Caso : C D • La relación entre C y D es una construcción válida. . algunos atributos obligatorios de la D serán opcionales en la entidad combinada. • Si se combinan C y D.

Ejercicios A partir de la siguientes vistas de usuario o formas desnormalizadas construir el modelo de datos normalizado .

Si este Contrato es anulado por el Cliente. el vendedor podrá tomar la acción legal correspondiente reteniendo el adelanto como liquidación por los daños.Prod. Los Camotales 1354 . Total Item Nota : Todo Contrato de Venta al crédito esta sujeto a verificación y aprobación por el Administrador de Ventas. 465 .Lima Telfs. Precio Dscto. Total Venta Transporte IGV Adelanto Saldo a Pagar Firma Cliente: Firma y Sello Vendedor : .A.Unid.4568 458 . Contrato Código Observaciones Nro.3106 Vendedor Cliente Dirección Ciudad Teléfono Depósito de despacho : Item Cód. Nro.LA FAVORITA S. Descripción Producto RUC CONTRATO DE VENTA Fecha Tipo Vta.

CLIENTE VENDEDOR CONTRATO VENTA DEPOSITO DESPACHO DETALLE CONTRATO PRODUCTO .

Negro Prof. Negro TEXTO Mecánica Básica Principios de Óptica Matemáticas Algebra Moderna Geometría Proyectiva Topología . Blanco Prof. Pardo Prof. Verde Prof.CURSO Física PROFESOR Prof.

Buque Capitán Viaje Callao-Piura Callao-Piura Callao-Piura Callao-Piura Callao-Piura Talara-Ilo Talara-Ilo Tacna-Tumbes Supe-Paita Supe-Paita Solitario Solitario Solitario Solitario Noche Clara Solitario Solitario Noche Clara Noche Clara Noche Clara Ruiz Aguilar Cordova Gomez Cordova Rios Gomez Aguilar Lopez Cordova .

GARCIA L.PROYECTO TAURO TAURO TAURO TAURO GALES ACTIVIDAD PLANEAR PLANEAR COMPRAR COMPRAR EMPLEADO J. ROSAS J. GARCIA L. GARCIA CONTRATAR CONTRATAR GALES . ALVA M. ALVA J.