BD Normalización

download BD Normalización

of 37

Transcript of BD Normalización

  • *NormalizacinDiseo de esquemas relacionalesRelaciones libres de anomalasEjemplos de descomposicinDescomposicin sin prdidaDependencia funcionalEjemplos bsicos Formas normales (anomalas)1. Forma normal(1NF)2. Forma normal(2NF)3. Forma normal(3NF)Gua para normalizar 3NFOtras formas normalesComparacin con otros modelosModelos de datos

  • *Primera Forma Normal (1FN)No esta normalizada ya que no existen relaciones atmicas entre los dominios. AnomalaDe qu tamao es un registro?Entidad en 1FN

    En el producto cartesiano todos los dominios tienen valores atmicos

  • *Segunda Forma Normal (2FN)Sin embargo la 1FN tiene problemas cuando los atributos tienen dependencia de varias llaves o dominios independiente. Anomala Qu pasa cuando dejo de comprarle a TASA ?Entidades en 2FN

    Las entidades estn en 1FN y adems cada dominio o atributo depende de un sola llave:

    Ent 1 Nombre ==> Ant, Dir,CdEnt 2 Nombre, Producto ==> Cant

  • *Tercera Forma Normal (3FN)Sin embargo la 2FN tiene problemas cuando uno de los atributos tienen dependencia transitiva de los dominios o atributos Anomala Qu pasa cuando TASA de ser mi proveedor?Entidades en 3FN

    Las entidades estn en 2FN y adems cada dominio o atributo depende NO transitivamente de un sola llave:

    Ent 1 Nombre ==> Ant, DireccionesEnt 3 Direcciones ==> Ciudad

  • *Normalizacin: Redundancia controladaLa normalizacin genera ms entidades, sin embargo esta redundancia aparente esta controlada por el manejador de BD, siendo ajena para el usuario. Por otro lado el tamao de los archivos tiende a reducirse.

    Entidad sin normalizarEntidades normalizadas

  • *Normalizacin UlteriorLa normalizacin puede ser continuada mas all de la 3FN, existen argumentos acadmicos interesantes para la existencia de

    BCFN Forma Normal de Boyce y Codd Las entidades estn en 3FN y adems todo dominio independiente es una llave candidato: Ent={A,B,C,D} y las depencias son A==> BCD y D==>Aaqui A y D son llaves 4FN Cuarta Forma NormalLas entidades estn en BCFN y adems no se tienen dependencias multievaluadas

    5FN Quinta Forma Normal

    D/KFN Forma Normal de Dominio y Llave

    Para los propsitos de una operacin administrativa la 3FN es suficientemente poderosa.

    :

  • *EntrevistaLa empresa YAVAS empresa dedicada a la fabricacinde herrajes para muebles de diversos tipos, hallamado al experto para que sistematice su operacin de pedidos. He aqu un registro de la entrevista:

    Gerente -- Mire ingeniero queremos que nos ponga un sistema moderno con todas las ventajas de la computacin, dgame que mquina comprar y que sistema de base de datos a usar.Ingeniero -- Con calma hombre, primero necesito conocer su realidad informacional, esto es sus reportes, sus formatos de entrada, en fin las relaciones del sistema de pedidos.Gerente -- Mire yo no soy experto en la materia, precisamente por eso lo llame a UD. Esta compaa dedicada a la manufactura de herrajes, que son los chunches que se le ponen a los muebles para armarlos hoy en da (no clavos pues), para hacerlos modulares. El xito que hemos tenido es que nos piden diversos herrajes para diversos muebles. As por ejemplo un mueble lleva distintos herrajes, con una cantidad especfica de cada herraje por cada mueble. Los mismos herrajes se usan en diversos muebles pero en cantidades distintas.

  • *Entrevista (2)

    Gerente -- Adems por cada orden de compra llevamos informacin de la direccin de envo, el nombre del cliente y la cantidad y tipo de herrajes de cada mueble en cuestin. Guardamos tambin el precio del artculo (herraje) por lnea de detalle y la fecha de la orden de compra con su numero de folio. Conocemos tambin la informacin de cada mueble en trminos de los tipos y nmeros de herrajes que requieren para usarse en pedidos futuros.

    Gerente -- Como los herrajes se adquieran de distintas plantas necesitamos conocer el nombre de la planta que lo manufactura y la cantidad en inventario del mismo. Ciertamente cada planta nos entrega diversos herrajes. Por cada herraje conocemos su tipo, calidad y descripcin; por cada cliente, sus direcciones. Los descuentos los manejamos nicamente por volumen de compra de cada artculo en cada orden.....

    Ingeniero -- Muy bien djeme trabajar un rato con esta informacin y le propongo una esquema de sistematizacin

  • *Gua de Normalizacin1. Defina los Dominios ( Atomice lo mnimo necesario )2. Defina los Formatos ( Defina formatos comunes )3. Escriba todas las suposiciones semnticas iniciales4. Obtenga la Tabla de Dependencias (conectando todos los dominios)5.Determine las dependencias funcionales ( sentido de la fecha, dominios independientes conjuntos )6. Elimine las dependencias transitivas7. Partiendo de la Tabla de Dependencias obtenga: las entidades mnimas necesarias, tomando cada dominio(s) independiente para entablar a la entidad.8. Complete la lista de suposiciones semnticas 9. Presente los resultados: Dominios, Entidades, Suposiciones10. Obtenga aprobacin firmada de la definicin en caso necesario efecte las modificaciones requeridas (un buen diseo debe no contener ms de 100 dominios y 40 entidades por sistema )

  • *Dominios1. Mueble:IntegerEjemplo : 322. Descripcin Mueble:String ( 40 )Ejemplo : "Librero Grande"3. Direccin:String ( 40 )Ejemplo : "Jurez 34, Toluca, Mx."4. Herraje:IntegerEjemplo : 455. Nmero:IntegerEjemplo : 126. Descripcin Herraje:String ( 40 )Ejemplo :"horquilla mediana7. Calidad:String ( 10 )Ejemplo : "cromo"8. Folio:IntegerEjemplo : 12349. Fecha:Date long Ejemplo : 12/12/199710. Lnea Detalle: Integer Ejemplo : 1311. Cantidad:Integer Ejemplo : 8012. Planta:Integer Ejemplo : 1213. Inventario:Integer Ejemplo : 43914. Descripcin Planta:String (30) Ejemplo : "automatizada grande"15. Volumen:Integer Ejemplo : 50016. % de Descuento:Integer Ejemplo : 2517. Precio:Real Ejemplo : $ 0.50

  • *Realidad Informacional

  • *Entidades1. Muebles : ( Mueble, Descripcin Mueble )2. Direcciones :( Direccin, Cliente )3. Ensambles :( Herraje, Mueble, Nmero )4. Herrajes :( Herraje, Descripcin Herraje, Calidad, Precio )5. Ordenes :( Folio, Direccin, Fecha )6. Detalles :( Folio, Lnea Detalle, Cantidad, Herraje )7. Inventarios :( Planta, Herraje, Inventario )8. Plantas :( Planta, Descripcin Planta )9. Descuentos :( Herraje, Volumen, % Descuento ) En cada se planta se producen diversos herrajesHerrajes iguales se producen en plantas distintasEl descuento depende del volumen y del herraje El cliente tiene distintas direcciones de envoUn mismo herraje se utiliza en varios muebles Muebles distintos usan herrajes similaresEn una orden de compra puede tener varias lneas de detalleSuposiciones

  • *Ejercicios de Normalizacin (1)La empresa ADELANTE tiene una estructura jerrquica en su operacin, adems esta convencida de la necesidad de cambiar sus sistemas de informacin a una base de datos relacional, que les de todas las flexibilidades y ventajas de que tanto habla un conferenciante un tanto loco llamado F.J. Codd y su ayudante C.J. Date. La informacin con la que cuenta es la siguiente:Por cada departamento tiene un nmero individual, cada departamento es manejado por un jefe ( y solo uno ). Cada departamento tiene un presupuesto asignado, as como los proyectos que maneja. Por cada proyecto se tiene la informacin de los empleados que trabajan en el proyecto y el presupuesto del proyecto. Igualmente las oficinas asignadas a cada departamento y los telfonos de cada oficina. Por cada empleado, la empresa conoce en que proyecto esta laborando y a que departamento pertenece, as como su telfono y su historia salarial, consistente en los salarios y puestos que ha desempeado en la empresa en diferentes fechas. Finalmente la empresa conoce el tamao de cada oficina.Podra UD. plantear un esquema de bases de datos relacional para esta informacin?

  • *Ejercicios de Normalizacin (2)Habiendo resuelto su base de datos de personal, ahora la empresaADELANTE desea reestructurar su sistema de ordenes y pedidos.Actualmente maneja la siguiente informacin:

    Por cada cliente maneja su limite de crdito, su balance y las direcciones del mismo. Por cada orden de compra, el nmero del orden, la fecha, la direccin de envo. Por cada lnea de detalle en la orden de compra maneja igualmente la cantidad de producto y el nmero del producto. Por cada producto la descripcin del mismo y las plantas donde se produce y por cada planta los productos que produce y el nivel de inventario de cada producto.

    Podra UD. plantear un esquema de bases de datos relacional para esta informacin?

  • *Conversin entre Modelosa Entidad - Relacinde Relacional

  • *Elementos del modelo Entidad - Relacin

    ElementosRectnguloRepresenta entidades bsicasDoble RectnguloRepresenta entidades dbiles queno tienen llaves primariasDiamanteidentificador de relacionesElipseAtributos de la entidad, si esta subrayado es llave primariaLneaLigas

  • *Modelo Entidad - Relacin

    Introduce el enfoque de Orientado a Objetos aldefinir tipos de datos que encapsulen a una entidadcompleta como un nuevo objeto

    Permite analizar partes de una Base de Datos de mayor dimensin (muchos dominios) a nivel entidades sin tener que estudiar todos los dominios especfico que se vuelven atributos de las mismas.

  • *6. Integridad y seguridad:Directorio de DatosSe logra por medio de almacenar los datos asociados con la ejecucin de los comandos del SQL de la base de datos (altas bajas cambios, perdidas) .Contienen el QUE, QUIEN, COMO, DONDE y CUANDO de la BDLas bitcoras modelan y registran los procesos que se efectan dentro de la base de datos

  • *BITACORAS: QUE, QUIEN, COMO, DONDE y CUANDOBitcora de Usuarios:Usuario, Password, depto, sistema, archivos, terminal, permisosBitcora de Archivos:Password, Dueo, sistema que los usan, dominos, formatos, ubicacin, usuariosCatlogo de Sistemas:Depto, sistema, archivos, terminal, programas, responsableBitcora de Errores:Tipo, programa, descripcin, hora, lugar, usuario, fecha, archivo, sistemaBitcora de Uso:Fecha, Usuario, Sistema, Permiso, Terminal, Registro, tipo de a,cceso Imagen Vieja, Imagen NuevaManuales del Sistema:Sistema, depto, archivos, procedimiento de uso, nivel de sistematizacin/automatizacin

  • *Normalizacin del DirectorioEjemplo de las dependencias funcionales de la bitcora de uso

  • *Uso de la BitcoraAnte estasactualizaciones en lasEntidades TAM y ABCla bitcora refleja la siguiente actividad

  • *Recuperacin

  • *Arranque en FroDeterminacin de la Entidad (Archivo) perdidoCargado del ltimo respaldoOrdenamiento de la bitcora segn el archivo perdidoLectura de Imgenes nuevas de cada registro de la entidad en cuestinLectura de Imgenes viejas de la bitcora y corroboracin con la imagen en el respaldoActualizacin correspondiente de ms antiguo a ms reciente

  • *RespaldosRespaldar la base de datos BD cuando se llene la bitcora de usoRespaldar la bitcora de uso y limpiarla la copia actualSe deben mantener copias de la BD y la bitcora en el sitioEs recomendable tener una copia adicional en un lugar ajeno fsicamente de la instalacinEl tamao de la bitcora es funcin del nmero de actualizaciones que tenga la base de datos

  • *Arranque en CalienteDeterminacin del ltimo punto estableLectura de imgenes viejas de los archivos modificados en el perodo de inestabilidad del proceso usando la bitcora de usoLectura de imgenes nuevas de la bitcora y corroboracin con la imagen en el archivoDesactualizacin de los archivos por medio del reemplazo de imgenes viejas por nuevasAviso a los usuarios para que repitan las actualizaciones efectuadas durante el perodo de inestabilidad

  • *Camino al cambio de las TISER == > Existencia de CarenciasSistema catico, dependiente y limitadoQuerer Ser == > ConvencimientoUnificacin y ConfianzaSaber Ser == > CompromisoPreparacin, Seleccin, Capacitacin Poder Ser == > CostoInversin Adecuada en tecnologa DEBER SER == > Crecimiento e Innovacin Libertad, Eficiencia, Confiabilidad e Independencia

  • *Estrategias en Base de DatosPara convencer Simulaciones en Hoja de ClculoPara unificar y generar confianzaLlevar a Base de Datos las aplicaciones nuevasPara promover la cooperacinPrimero llevar a Base de Datos los procesos externos

  • *7. Lenguajes para BD: lgebra y clculo relacionalEl LDD es el Lenguaje de Definicin de los DatosEl LMD es el Lenguaje de Manipulacin de los DatosExisten dos grandes clases de lenguajes de consulta y acceso relacional:Basados en lgebra relacionalEl prototipo de esta clase es el denominado SQL (Structured Query Language) Select PROV.PROV# From PROV Where PROV.CIUDAD = Puebla

    Basados en el clculo de predicados.El prototipo de esta tipo de lenguajes es el PROLOG

  • *Ejemplos de SQLAsumiendo la existenciade los siguientes archivos (entidades)Muebles :( Mueble, Descripcin Mueble )Direcciones : ( Direccin, Cliente )Ensambles :( Herraje, Mueble, Nmero )Herrajes :( Herraje, Descripcin Herraje, Calidad, Precio )Ordenes :( Folio, Direccin, Fecha )Detalles : ( Folio, Lnea Detalle, Cantidad, Herraje )Inventarios : ( Planta, Herraje, Inventario )Plantas : ( Planta, Descripcin Planta )Descuentos :( Herraje, Volumen, % Descuento )

  • *Solucin del SQL

  • *Ejemplos de SQL (2)Asumiendo la existencia de los siguientes archivos (entidades)

  • *Solucin del SQL (2)

  • *Ejemplo NumricoSe obtienen las siguientes tuplasAsumiendo estos datosen las entidades

  • *8. Manejo de TransaccionesTransacciones, Serializacin Enfoques de solucin Protocolo de bloque en dos fasesTransaccionesConsistenciaEstado de transaccionesDiagrama de estado en una transaccinRecuperacin de falla

  • *Criterios en una TransaccinCorrectitudUna transaccin debe mantener la consistencia de la BDAtomicidadUna transaccin debe manejarse como un objeto atmico, esto es no puede ejecutarse un pedazo del mismo nicamente, o se completa toda o no se completa

    Activa: SI se encuentra en proceso de ejecucinParcialmente Comprometida: se ha ejecutado parte de ella (es estado temporal) Fallida: NO puede ser completada (requiere ser terminada) Terminada: Se efecta un ROLLBACK para deshacer el procesoComprometida: Se efecta un COMMIT para completarla

    En su ejecucinEn su diseo

  • *Ejemplo de transaccin

  • *BibliografaDate C. J. Data Base Systems