Unidad iii normalizacion

1,064 views

Published on

1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total views
1,064
On SlideShare
0
From Embeds
0
Number of Embeds
43
Actions
Shares
0
Downloads
41
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Unidad iii normalizacion

  1. 1. Normalización 1
  2. 2. NormalizaciónEl proceso de normalización de bases de datosconsiste en aplicar una serie de reglas a lasrelaciones obtenidas tras el paso del modeloentidad-relación al modelo relacional.Las bases de datos relacionales se normalizanpara:• Evitar la redundancia de los datos.• Evitar problemas de actualización de los datosen las tablas.• Proteger la integridad de los datos. M.C. Daniel Esparza Soto 2
  3. 3. Normalización: RestriccionesEn el modelo relacional es frecuente llamar tablaa una relación, aunque para que una tabla seaconsiderada como una relación tiene que cumplircon algunas restricciones:• Cada columna debe tener su nombre único.• No puede haber dos filas iguales. No sepermiten los duplicados.• Todos los datos en una columna deben ser delmismo tipo.M.C. Daniel Esparza Soto 3
  4. 4. Terminología relacional equivalenteRelación = tabla o archivoTupla = registro, fila o renglónAtributo = campo o columnaClave = llave o código de identificaciónClave Candidata = superclave mínimaClave Primaria = clave candidata elegidaClave Ajena = clave externa o clave foráneaClave Alternativa = clave secundariaRDBMS = Del inglés Relational Data Base Manager System quesignifica, Sistema Gestor de Bases de Datos Relacionales.1FN = Significa, Primera Forma Normal o 1NF del ingles FirstNormal Form.M.C. Daniel Esparza Soto 4
  5. 5. DependenciaUna dependencia funcional es una conexión entre uno omás atributos. Por ejemplo si conocemos el valor deFechaDeNacimiento podemos conocer el valor de Edad.B es funcionalmente dependiente de A.M.C. Daniel Esparza Soto 5
  6. 6. Dependencia funcionalLas dependencias funcionales del sistema se escribenutilizando una flecha, de la siguiente manera:FechaDeNacimiento  EdadAquí a FechaDeNacimiento se le conoce como undeterminante. Se puede leer de dos formasFechaDeNacimiento determina a Edad o Edad esfuncionalmente dependiente de FechaDeNacimiento. Dela normalización (lógica) a la implementación (física oreal) puede ser sugerible tener éstas dependenciasfuncionales para lograr mayor eficiencia en las tablas.M.C. Daniel Esparza Soto 6
  7. 7. Propiedades de la DependenciafuncionalExisten 3 axiomas de Armstong:1.- Dependencia funcional Reflexiva2.- Dependencia funcional Aumentativa3.- Dependencia funcional transitivaM.C. Daniel Esparza Soto 7
  8. 8. Dependencia funcional ReflexivaSi y esta incluido en x entonces x  y.Si la dirección o el nombre de una persona estánincluidos en la clave, entonces con la clavepodemos determinar la dirección o su nombre.M.C. Daniel Esparza Soto 8
  9. 9. Dependencia funcional AumentativaX  Y entonces XZ  XYClave  nombreclave,dirección  nombre,direcciónSi con la clave se determina el nombre de unapersona, entonces con la clave más la direccióntambién se determina el nombre o su dirección.M.C. Daniel Esparza Soto 9
  10. 10. Dependencia funcional transitivaSean X, Y, Z tres atributos (o grupos de atributos) de la misma entidad.Si Y depende funcionalmente de X y Z de Y, pero X no dependefuncionalmente de Y, se dice que Z depende transitivamente de X.Simbólicamente sería:X  Y  Z entonces X  Z FechaDeNacimiento EdadEdad  Conducir.FechaDeNacimiento Edad ConducirEntonces tenemos que FechaDeNacimiento determina a Edad y laEdad determina a Conducir, indirectamente podemos saber a través deFechaDeNacimiento a Conducir (En muchos paises , para una personapoder conducir un automóvil la persona necesita ser mayor de ciertaedad, por eso se utiliza este ejemplo).M.C. Daniel Esparza Soto 10
  11. 11. Principios básicos de la normalización.1.- Descomposición sin perdida.2.- Claves Candidatas y Claves principales.3.- Formas normales: Primera Forma Normal. Segunda Forma Normal. Tercera Forma Normal. Cuarta Forma Normal. Quinta Forma Normal.M.C. Daniel Esparza Soto 11
  12. 12. 1.- Descomposición sin pérdidasEl mundo relacional permite que las relacionesse unan de varias formas vinculando atributos. Elproceso de obtención de un modelo de datostotalmente normalizado involucra la eliminaciónde la redundancia mediante la división de lasrelaciones, de tal forma que las relacionesresultantes se puedan combinar sin que sepierdan ninguna información. Este es el principiode la descomposición sin pérdida.M.C. Daniel Esparza Soto 12
  13. 13. 2.- ClavesUna clave primaria es aquella columna (pueden sertambién dos columnas o más) que identifica únicamentea esa fila. La clave primaria es un identificador que va aser único para cada fila. Se acostumbra poner la claveprimaria como la primera columna de la tabla pero estono tiene que ser necesario, si no es más unaconveniencia. Muchas veces la clave primaria esautonumérica.En una tabla puede que tengamos más de una clave, ental caso se puede escoger una para ser la clave primaria,las demas claves son las claves candidatas.ademas esla posible clave primaria.M.C. Daniel Esparza Soto 13
  14. 14. 2.- ClavesUna clave foránea es aquella columna que existiendocomo dependiente en una tabla, es a su vez claveprimaria en otra tabla.Una clave alternativa es aquella clave candidata que noha sido seleccionada como clave primaria, pero quetambién puede identificar de forma única a una fila dentrode una tabla. Ejemplo: Si en un tabla clientes definimosClaveCte como clave primaria el RFC de ese clientepodria ser una clave alternativa. En este caso no se usócomo clave primaria porque es posible que no seconozca ese datos en todos los clientes.Una clave compuesta es una clave que está compuestapor más de una columna.M.C. Daniel Esparza Soto 14
  15. 15. 3.- Formas normalesHay que tener en mente que las formas normales nos onprescripciones para la creación de un modelo de datoscorrectos. Un modelo de datos podría estarperfectamente normalizado y todavía fallar al responder alas cuestiones que se les plantean, o proporcionanrespuestas tan despacio y de forma tan complicada queel sistema de base de datos y de forma tan complicadaque el sistema de base de datos construido sobre elmodelo de datos resulta inoperativo. Pero si el modelo dedatos está normalizado, es decir, se ajusta al as reglas dela estructura relacional, las probabilidades de que elresultado sea un modelo de datos eficientes y efectivos.M.C. Daniel Esparza Soto 15
  16. 16. 3.- Formas NormalesLas formas normales son aplicadas a las tablasde una base de datos. Decir que una base dedatos está en la forma normal N es decir quetodas sus tablas están en la forma normal N.En general, las primeras tres formas normalesson suficientes para cubrir las necesidades de lamayoría de las bases de datos. El creador deestas 3 primeras formas normales (o reglas) fueEdgar F. Cood.M.C. Daniel Esparza Soto 16
  17. 17. 3.- Formas normalesLos principios de normalización tratados en estecapítulo son herramientas para controlar laestructura de los datos en una base de datos.Los formularios o formas normales especificanreglas cada vez mas estrictas para la estructurade las relaciones, cada forma normal amplia a laanterior de manera que previenen ciertos tiposde anomalías de actualización.M.C. Daniel Esparza Soto 17
  18. 18. Primera Forma Normal (1FN)Una tabla está en Primera Forma Normal sólo si :1.- Todos los atributos son atómicos. Un atributoes atómico si los elementos del dominio sonindivisibles, mínimos.2.- La tabla contiene una clave primaria3.- La tabla no contiene atributos nulos4.- Si no posee ciclos repetitivosEn resumen: El contenido de una columna debecontener un solo concepto.M.C. Daniel Esparza Soto 18
  19. 19. Primera Forma Normal (1FN)El nombre del cliente debe sustituirse en 3campos: nombre apellido paterno , apellidomaterno.Las direcciones se aconseja subdividirlo en 3campos: nombre de la calle , colonia y códigopostal.El campo fecha en muy pocas ocasiones sepuede dividir en dia, mes y año, esto es para lospuristas al aplicar la regla.M.C. Daniel Esparza Soto 19
  20. 20. Segunda Forma Normal (2FN)Dependencia Funcional. Una relación está en2FN si está en 1FN y si los atributos que noforman parte de ninguna clave dependen deforma completa de la clave principal. Es decirque no existen dependencias parciales.En términos levemente más formales: una tabla1NF está en 2NF si y solo si ninguno de susatributos no-principales son funcionalmentedependientes de la clave principal.M.C. Daniel Esparza Soto 20
  21. 21. Segunda Forma Normal (2FN)Entidad Productos:ClaveProdNombrePrecioTelefonoProveedorEl campo nombre y precio unitario dependen dela clave principal, en cambio el campoTelefonoProveedor no depende de la claveprincipal, la cual especifica la clave de unproducto y dicho campo especifica el teléfono delproveedor.M.C. Daniel Esparza Soto 21
  22. 22. Tercera Forma Normal (3FN)Una relación esta en la 3ra forma normal si estaen la 2FN y además todos los atributos que noson clave principal son mutuamenteindependentes.La tabla se encuentra en 3FN si es 2FN y cadaatributo que no forma parte de ninguna clave,depende directamente y no transitivamente, de laclave primaria.M.C. Daniel Esparza Soto 22
  23. 23. Tercera Forma Normal (3FN)ClaveEmpleadoNombreApepatApematDireccionColoniaCPTelLadaCiudadLos campos que no son independientes son colonia y código postal,estos es debido a que todas las colonias ya tienen predefinido sucódigo postal, por lo tanto el CP depende de la colonia.Otros campos que no son independientes son ciudad y lada, debidoa que cada ciudad tiene asignada una lada para los númerostelefónicos.M.C. Daniel Esparza Soto 23
  24. 24. Tercera Forma Normal (3FN)Las 3 primeras formas normales descritas estáncontempladas en la formulación original de lateoría relacional de COOD y en la gran mayoríade los casos es todo lo que se tiene que tomaren cuenta para la normalización.M.C. Daniel Esparza Soto 24
  25. 25. Forma Normal de Boyce-Codd (FNBC)La tabla se encuentra en BCNF si cadadeterminante, atributo que determinacompletamente a otro, es clave candidata .Es una versión ligeramente más fuerte de laTercera forma normal (3FN). La forma normal deBoyce-Codd requiere que no existandependencias funcionales no triviales de losatributos que no sean un conjunto de la clavecandidata.M.C. Daniel Esparza Soto 25
  26. 26. Cuarta Forma NormalEsta forma normal especifica que no se deben combinaren una sola relación grupos repetitivos independientes.Generalmente se aconseja dividir dichos elementos en unsolo registro.ClaveProd Nombre Precio Tamaño1 Jabon 10.6 80 gr, 100 gr, 200 grSe debe tener:ClaveProd Nombre Precio Tamaño1 Jabon 10.6 80 gr2 Jabon 10.6 100 gr3 Jabon 10.6 200 grM.C. Daniel Esparza Soto 26
  27. 27. Quinta Forma Normal (5FN)Una tabla se encuentra en 5FN si:1.- La tabla esta en 4FN2.- No existen relaciones de dependencias notriviales que no siguen los criterios de las claves.Una tabla que se encuentra en la 4FN se diceque esta en la 5FN si, y sólo si, cada relación dedependencia se encuentra definida por las clavescandidatas.M.C. Daniel Esparza Soto 27
  28. 28. Reglas de CoddCodd se percató de que existían bases de datosen el mercado las cuales decían ser relacionales,pero lo único que hacían era guardar lainformación en las tablas, sin estar estas tablasliteralmente normalizadas; entonces éste publicó12 reglas que un verdadero sistema relacionaldebería tener, en la práctica algunas de ellas sondifíciles de realizar. Un sistema podráconsiderarse "más relacional" cuanto más sigaestas reglas.M.C. Daniel Esparza Soto 28
  29. 29. Regla No. 1 - La Regla de la informaciónToda la información en un RDBMS estáexplícitamente representada de una sola manerapor valores en una tabla.Toda la información en una base de datosrelacional se representa explícitamente en elnivel lógico exactamente de una manera: convalores en tablas. Por tanto los metadatos(diccionario, catálogo) se representanexactamente igual que los datos de usuario.M.C. Daniel Esparza Soto 29
  30. 30. Regla No. 2 - La regla del acceso garantizadoCada ítem de datos debe ser lógicamenteaccesible al ejecutar una búsqueda que combineel nombre de la tabla, su clave primaria, y elnombre de la columna.Esto significa que dado un nombre de tabla, dadoel valor de la clave primaria, y dado el nombre dela columna requerida, deberá encontrarse uno ysolamente un valor. Por esta razón la definiciónde claves primarias para todas las tablas esprácticamente obligatoria.M.C. Daniel Esparza Soto 30
  31. 31. Regla No. 3 - Tratamiento sistemático de losvalores nulosLa información inaplicable o faltante puede serrepresentada a través de valores nulos.Un RDBMS (Sistema Gestor de Bases de DatosRelacionales) debe ser capaz de soportar el usode valores nulos en el lugar de columnas cuyosvalores sean desconocidos o inaplicables.M.C. Daniel Esparza Soto 31
  32. 32. Regla No. 4 - La regla de la descripción de la base dedatosLa descripción de la base de datos es almacenada de lamisma manera que los datos ordinarios, esto es, entablas y columnas, y debe ser accesible a los usuariosautorizados.La información de tablas, vistas, permisos de acceso deusuarios autorizados, etc, debe ser almacenadaexactamente de la misma manera: En tablas. Estastablas deben ser accesibles igual que todas las tablas, através de sentencias de SQL.M.C. Daniel Esparza Soto 32
  33. 33. Regla No. 5 - La regla del sub-lenguajeIntegralDebe haber al menos un lenguaje que seaintegral para soportar la definición de datos,manipulación de datos, definición de vistas,restricciones de integridad, y control deautorizaciones y transacciones.Esto significa que debe haber por lo menos unlenguaje con una sintaxis bien definida quepueda ser usado para administrarcompletamente la base de datos.M.C. Daniel Esparza Soto 33
  34. 34. Regla No. 6 - La regla de la actualización devistasTodas las vistas que son teóricamenteactualizables, deben ser actualizables por elsistema mismo.La mayoría de las RDBMS permiten actualizarvistas simples, pero deshabilitan los intentos deactualizar vistas complejas.M.C. Daniel Esparza Soto 34
  35. 35. Regla No. 7 - La regla de insertar y actualizarLa capacidad de manejar una base de datos conoperandos simples aplica no sólo para larecuperación o consulta de datos, sino tambiénpara la inserción, actualización y borrado dedatos.Esto significa que las cláusulas SELECT,UPDATE, DELETE e INSERT deben estardisponibles y operables sobre los registros,independientemente del tipo de relaciones yrestricciones que haya entre las tablas.M.C. Daniel Esparza Soto 35
  36. 36. Regla No. 8 - La regla de independencia físicaEl acceso de usuarios a la base de datos a través determinales o programas de aplicación, debe permanecerconsistente lógicamente cuando quiera que haya cambiosen los datos almacenados, o sean cambiados losmétodos de acceso a los datos.El comportamiento de los programas de aplicación y de laactividad de usuarios vía terminales debería serpredecible basados en la definición lógica de la base dedatos, y éste comportamiento debería permanecerinalterado, independientemente de los cambios en ladefinición física de ésta.M.C. Daniel Esparza Soto 36
  37. 37. Regla No. 9 - La regla de independencia lógicaLos programas de aplicación y las actividades de accesopor terminal deben permanecer lógicamente inalteradascuando quiera que se hagan cambios (según lospermisos asignados) en las tablas de la base de datos.La independencia lógica de los datos especifica que losprogramas de aplicación y las actividades de terminaldeben ser independientes de la estructura lógica, por lotanto los cambios en la estructura lógica no deben alteraro modificar estos programas de aplicación.M.C. Daniel Esparza Soto 37
  38. 38. Regla No. 10 - La regla de la independencia de laintegridadTodas las restricciones de integridad deben ser definiblesen los datos, y almacenables en el catalogo, no en elprograma de aplicación.Las reglas de integridad:1.- Ningún componente de una clave primaria puedetener valores en blanco o nulos. (esta es la norma básicade integridad).2.- Para cada valor de clave foránea deberá existir unvalor de clave primaria concordante. La combinación deestas reglas aseguran que haya Integridad referencial.M.C. Daniel Esparza Soto 38
  39. 39. Regla No. 11 - La regla de la distribuciónEl sistema debe poseer un lenguaje de datos que puedasoportar que la base de datos esté distribuida físicamenteen distintos lugares sin que esto afecte o altere a losprogramas de aplicación.El soporte para bases de datos distribuidas significa queuna colección arbitraria de relaciones, bases de datoscorriendo en una mezcla de distintas máquinas y distintossistemas operativos y que esté conectada por unavariedad de redes, pueda funcionar como si estuvieradisponible como en una única base de datos en una solamáquina.M.C. Daniel Esparza Soto 39
  40. 40. Regla No. 12 - Regla de la no-subversiónSi el sistema tiene lenguajes de bajo nivel, estoslenguajes de ninguna manera pueden ser usadospara violar la integridad de las reglas yrestricciones expresadas en un lenguaje de altonivel (como SQL).Algunos productos solamente construyen unainterfaz relacional para sus bases de datos Norelacionales, lo que hace posible la subversión(violación) de las restricciones de integridad. Estono debe ser permitido.M.C. Daniel Esparza Soto 40

×