Normalización

Transcription

Normalización4.1 Conceptos.4.2 Primera Forma Normal.4.3 Dependencias funcionales.4.4 Segunda Forma Normal.4.5 Dependencias Transitivas y Tercera FormaNormal.4.6 Forma Normal de Boyce-Codd4.7 Cuarta Forma NormalFund. Bases de DatosIng. Felipe Alanís González -ITD-1

4.1 Conceptos BásicosEjercicio para los Alumnos:Usando Excel diseñe hojas de trabajo para:1. Registrar el rol de trabajo de los empleados de Intendencia del ITD.Se debe guardar la CURP, nombre del intendente y la informaciónrelativa a los días que tiene asignadas labores de limpieza. Losintendentes pueden trabajar cualquier día de la semana, perodeben descansar al menos un día, considere que puede ser quetrabajen Sábados o Domingos y descansen algún día entre semana;puede también haber trabajadores que laboren menos de 6 días ala semana.2. Por otro lado, se debe registrar información relativa a proveedoresdel ITD, de diferentes bienes o servicios, los datos a considerarson: RFC, nombre del proveedor y los diferentes teléfonos con quecuenta para comunicarnos con ellos. También se requiere llevar unregistro de los productos que nos vende (por ejemplo, mobiliario,papelería, computación, artículos de limpieza).

4.1 Conceptos Básicos Las BD Relacionales se componen de tablas. Los datos de las empresas con frecuencia sonmanipulados en hojas electrónicas creadas por lospropios usuarios, o pueden usar softwareespecializado pero con esquemas mal diseñados porpersonal inexperto o mal preparado. Si nuestra labor fuera migrar los datos (que laorganización ya posee en hojas electrónicas) hacia unDBMS, debemos asegurarnos de convertir las hojaselectrónicas a tablas SIN ANOMALÍAS. Lo mismo hayque hacer, si tomamos la responsabilidad de una BD(en operación o no). Siempre hay que buscar corregirlas anomalías.Fund. Bases de DatosIng. Felipe Alanís González -ITD-3

4.1 Conceptos Básicos1. Cada renglón representa un elemento de datos, no debe haber gruposrepetidos. Un grupo repetido es un atributoque puede tener múltiples valorespara un mismo valor de la llaveúnica. Ejemplo: Los usuarios que creansus tablas con datos, para evitar larepetición, deciden usar “comillas” odejar espacios en blanco. Otra forma es colocar los diferentesvalores separados por comas en ellugar del atributo.Fund. Bases de DatosIng. Felipe Alanís González -ITD-4

4.1 Conceptos BásicosCada ocurrencia de un grupo repetido sedebe convertir en una tupla. ¿Por qué?Porque no podríamos obtener fácilmenteconsultas como las siguientes: ¿quienestrabajan los lunes?, algunos DBMS tienenatributos tipo SET, pero debemos diseñarpara cualquier DBMS no para uno enparticular, y si el atributo fuera tipo string,podría quedar mal escrito uno de los días yya no obtendríamos la consultasatisfactoriamente.La Redundancia no importa por ahora.Observemos que la llave única ya no seríala misma, ahora sería:CURP Día Laborable

4.1 Conceptos Básicos2. Los renglones y las columnas deben poder verse en cualquiersecuencia en cualquier momento, sin afectar el contenido de la tabla nisu significado. La tablas con grupos repetidos (como el caso que se muestraabajo) no pueden cambiar de orden. Se puede simular esta situación con una hoja de Excel ,seleccionando la opción Ordenar Datos. Al eliminar los grupos repetidos, se elimina este problema.Fund. Bases de DatosIng. Felipe Alanís González -ITD-6

4.1 Conceptos Básicos3.Las tablas deben contar con columnas homogéneas, esdecir, para cierta columna, todos los elementos debentener el mismo dominio.Fund. Bases de DatosIng. Felipe Alanís González -ITD-7

4.1 Conceptos Básicos4. Cada columna debe tener un nombre único dentro de la tabla:En realidad estos songrupos repetidosFund. Bases de DatosLlave única: RFC TelefonoIng. Felipe Alanís González -ITD-8

4.1 Conceptos Básicos5. No se permite duplicidad de datos, cada renglón debe estaridentificado por una llave única.No habría forma de saber si setrata de dos diferentes empleadoso si por error se registraron 2veces los datos de un mismoempleado.Llave única: CURPFund. Bases de DatosIng. Felipe Alanís González -ITD-9

4.1 Conceptos BásicosEn el caso de la página anterior, se tuvo que añadir un nuevo atributo (que enrealidad desde un inicio debió ser considerado) para poder obtener una llaveúnica.Lo más común es que, la tabla cuente con los atributos suficientes para obteneruna llave única, por ejemplo:Llave única: CURP Día LaborableFund. Bases de DatosIng. Felipe Alanís González -ITD-10

4.1 Conceptos BásicosSe deben evitar: Renglones duplicados (propiedad 5). Datos inconsistentes (propiedad 3). Tablas tridimensionales (propiedades 1,2,4).Fund. Bases de DatosIng. Felipe Alanís González -ITD-11

4.1 Conceptos BásicosLo que acabamos de estudiar es la primera fase de unproceso llamado Normalización.Una tabla que elimine los problemas de los que hemoshablado, se encuentra en PRIMERA FORMA NORMAL.Una tabla en 1NF tiene redundancia y por lo tanto anomalíasde Actualización, Inserción y Borrado, pero es una tablaque se puede implementar usando un DBMS.Las etapas posteriores de la Normalización, tienen comoobjetivo eliminar las anomalías causadas por la Redundancia.En seguida vemos el por que se debe eliminar la redundancia.Fund. Bases de DatosIng. Felipe Alanís González -ITD-12

4.1 Conceptos Básicos1.Actualización:Debido a la redundancia de datos, en algún momento se presentará lanecesidad de modificar las múltiples ocurrencias de un mismo dato.Supongamos que tenemos una tabla como la siguiente:Dado el caso de un aumento de sueldo a José López, ¿Sería suficiente conmodificar el sueldo en una de las tuplas?

4.1 Conceptos Básicos2.Inserción:Las anomalías de inserción se presentan cuando, para añadir una tupla,es indispensable colocar un valor inconsistente (fuera del dominiocorrespondiente).La situación que se muestra, se presentó porque se contrató a un nuevo intendente einicialmente no se le asignaron responsabilidades.Se tuvo que crear un día “fantasma”, por ejemplo, X (o un NULO como en el ejemplo) alintendente para poder guardar los datos básicos, curp, nombre, sueldo.

4.1 Conceptos Básicos3.Borrado:Se presenta una anomalía de borrado si se pierden datos por la eliminación de una omás tuplas cuyos datos debieran estar guardados por separado.Ejemplo: Manuel Martínez se enferma e incapacita temporalmente, por lo tanto, yano podrá acudir al trabajo ningún día de la semana.¿Cómo conservar la información relativa a su sueldo?Respuesta: dejando una tupla con un NULO en la columna DiaLaborable

4.2 Primera Forma Normal Las Formas Normales establecen criterios para detectar tablas conanomalías. No importa si las tablas fueron diseñadas por un usuario o por un Ingenieroen Sistemas; siempre se pueden aplicar para mejorar el diseño.Supongamos que contamos con una tabla en una hoja de Excel, como la que semuestra enseguida:Llave única: CURPFund. Bases de DatosIng. Felipe Alanís González -ITD-16

4.2 Primera Forma NormalQuedaría como sigue de acuerdo a los criterios que hemos estudiadopreviamente:Observaciones: Día y tipo de limpieza para cada intendente son establecidos por el jefedel intendente. El tiempo es un dato asignado por el jefe. Se refiere al tiempo máximopara que el trabajador lleve a cabo su tarea. Se puede hacer limpieza de cualquier tipo a un salón cualquier cantidad deveces en un mismo día de la semana, sin embargo, un mismo intendenteno puede hacer en un mismo día 2 veces el mismo tipo de limpieza en elmismo salón.Para que esté en 1NF solo falta establecer la llave única ¿cuál es?.

Llave única: Curp Salon Dia Tipo

4.3 Dependencias FuncionalesLa relación Intendentes que acabamos de dejaren 1NF cuenta con las 3 anomalías que sedescribieron antes:Actualización, Inserción, Borrado.Estas anomalías se deben a un problemallamado Dependencia Parcial.Fund. Bases de DatosIng. Felipe Alanís González -ITD-19

4.3 Dependencias FuncionalesDependencia Funcional(o simplemente Dependencia) Capacidad para identificar el valor del atributode una tabla a partir de otro(s). Se define como A B, que significa que si dostuplas tienen el mismo valor para el atributo (oconjunto de atributos) A, tendrán el mismo valorpara el atributo (o conjunto de atributos) B, esdecir, en una relación R, conociendo el valor deA, se puede obtener el valor de B. Al atributo (o conjunto de atributos) A se le llamadeterminante.Fund. Bases de DatosIng. Felipe Alanís González -ITD-20

4.3 Dependencias FuncionalesAtributos Primos Atributos que forman parte de la llave única(primo es por primaria. Años atrás, una de lasllaves únicas -candidatas- era elegida comollave primaria).Dependencia Parcial Hay atributos no primos que dependen deuna parte de la llave única.Fund. Bases de DatosIng. Felipe Alanís González -ITD-21

4.3 Dependencias FuncionalesRelaciónRolTrabajoIntendentesLlave Candidata:curp salon dia tipoDiagrama de Dependencias Funcionales de la relación Intendentes. nombre sueldo no es DF ya re no es único, p.ej., 2 diferentespersonas que se llaman igual podríantener diferente sueldo. Para que haya DF Total en unarelación, todos los atributos noprimosdebendependerexclusivamente de la llave completa. Como se ve en el Diagrama, la relacióncuenta con dependencias funcionalesparciales o incompletas y debenremoverse.“tiempo” está determinado solo por la llave única (los atributos que no están determinados por una dependencia parcial, estándeterminado por la llave única porque no podrán tener 2 valores diferentes porque la llave única impide que haya 2 tuplas con elmismo valor en los atributos de la llave única.

4.4 Segunda Forma Normal (2NF) Para transformar a 2NF una relación, se producirá una relación por cada DF. Es decir, en el caso de Intendentes, habrá en total, 3 relaciones.

4.4 Segunda Forma Normal (2NF) Para transformar a 2NF una relación, se producirá una relación por cada DF. Es decir, en el caso de Intendentes, habrá en total, 3 relaciones.¿Como debenquedar estastablas al añadir lallave primaria Id?

4.4 Segunda Forma Normal (2NF)

Ejercicio:4.4 Segunda Forma Normal (2NF)Un taller mecánico requiere llevar un control de los serviciosque realiza a los vehículos de los clientes.Los datos se registran en la tabla siguiente:Determine la llave única; haga el diagrama de DependenciasFuncionales; convierta a 2NF y añada las llaves identidadcorrespondientes.

4.4 Segunda Forma Normal ioNombreClienteLlave ente fechaIngresoServicio ClaveServicio NumSerieAuto

4.4 Segunda Forma Normal (2NF)Ejercicio:Crear las tablas e identifique su llave única de acuerdo aldiagrama de dependencias funcionales del taller de servicio.

4.5 Dependencias Transitivas y 3ª Forma NormalLas organizaciones cambian constantemente, por lo tanto tambiénsus datos. Se debe añadir un atributo llamado categoría. Es un dato arbitrario (asignado por el supervisor). Todos los empleados de la misma categoría tendrán el mismo sueldo. Cada intendente solo puede tener una categoría asignada. Dos diferentes categorías pueden tener el mismo sueldo. Las categorías son A, B, C, etc.¿Que cambios hacer a la tabla para considerar esta situación?

4.5 Tercera Forma NormalEsta relación está en 2NF ya que la llave única consta de solo unatributo y por lo tanto no puede haber dependencias parciales.

4.5 3ª Forma NormalDiagrama de Dependencias FuncionalescurpDependencia TransitivanombrecategoríasueldoCurp sueldo transitivamente.(es decir, curp categoría ycategoría sueldo), además dedeterminarlo en forma directa.

4.5 Tercera Forma NormalEsta relación tiene las mismas anomalías que ya describimos antes,pero no es por dependencia parcial sino por dependenciatransitiva: Inserción. No se puede Añadir una categoría si no hay ningúnintendente que se haga acreedor a ella. Actualización. Hay redundancia en los sueldos, si se va a aumentarel sueldo correspondiente a una categoría hay que modificarmuchas tuplas.Si todos los empleados de la categoría B suben a A, no sabríamoscual es el sueldo correspondiente a la categoría B. Borrado. Si todos los empleados que tienen categoría C soneliminados, no sabríamos cual es el sueldo correspondiente a lacategoría C.

4.5 Tercera Forma Normalcurpnombrecategoríasueldo La dependencia transitiva indica que debemos crearuna nueva tabla, y ya creada, se hace innecesario elatributo sueldo en la tabla Intendentes. En esemomento desaparecerá la dependencia directaCurp sueldo.Fund. Bases de DatosIng. Felipe Alanís González -ITD-33

4.5 Tercera Forma NormalRelaciones en 3NF: Con esto se elimina una de las anomalías, aquella que impide conservar el sueldode una categoría a la que no se ha hecho acreedor algún intendente. Sin embargo, si un intendente aun no tiene una categoría asignada, se presentaráuna anomalía de inserción.

4.5 Tercera Forma NormalLa siguiente descomposición resuelve las anomalías de las quehemos hablado. Todas las tablas están en 3NF.

4.5 Tercera Forma Normal Observe que las Para que una relación esté en 3NF, primerodebe estar en 2NF. Por lo tanto, si una relación está en 2NF yno hay dependencias transitivas, tambiénestá en 3NF, (vea las tablas de la página24).Fund. Bases de DatosIng. Felipe Alanís González -ITD-36

4.4 Tercera Forma Normal (3NF)Ejercicio:A la tabla llamada Clientes, que ya se encuentra en 2NF del ejemplo delTaller de Servicio, hay que añadir un par de atributos llamados Ciudad yDescuento. El descuento es un porcentaje variable que se aplica al total apagar. A los clientes se les aplica el descuento dependiendo de la ciudaddonde residen.Una vez que la tabla tenga los atributos indicados, se debe analizar en buscade una dependencia transitiva, en tal caso, haga la descomposición de latabla para asegurarse que las resultantes queden en 3NF.

4.6 Forma Normal de Boyce-CoddLas Formas Normales sondefiniciones que permitenidentificar errores de diseño queproducen anomalías.Las definiciones previas soninsuficientes para ciertos casos.Fund. Bases de DatosIng. Felipe Alanís González -ITD-38

4.6 Forma Normal de Boyce-CoddConsidere como ejemplo la tabla AlumnosDeportes en la que se llevaun control de los deportes que practican los estudiantes y quien es suentrenador:Las Reglas que aplican se indican en seguida: Un entrenador solo puede entrenar un deporte Puede haber más de un entrenador para un mismo deporte. Un alumno solo puede tener un entrenador para un mismo deporte. Un Alumno puede practicar varios deportes.Fund. Bases de DatosIng. Felipe Alanís González -ITD-39

4.6 Forma Normal de Boyce-CoddDe acuerdo a las restricciones de la página anterior, hay dos llaves únicas, por loque habrá dos diagramas de Dependencias FuncionalesidAlumnoDeporteidEntrenadoridAlumno DeporteUn alumno puede practicar varios deportes perosolo puede tener un entrenador para un mismodeporteidAlumno idEntrenadorUn alumno puede tener diferentes entrenadorespero con el mismo entrenador no, porque unentrenador solo puede entrenar un deporte40

4.6 Forma Normal de Boyce-Codd Está en 2NF porque no hay dependencias parciales (todos son atributosprimos y la definición solo considera atributos no primos). Está en 3NF ya que no hay dependencias transitivas (conociéndose alalumno y deporte se conoce al entrenador, por lo que la DFEntrenador Deporte no es transitiva). Aunque está en 3NF tiene anomalías: Si un estudiante está inscrito a un deporte pero ese deporte no tieneasignado entrenador, se obliga a añadir un valor NULO en idEntrenador. Se produce una anomalía similar en caso de que no haya alumnosinscritos a un deporte en particular, en tal caso existiría la obligatoriedadde añadir un valor NULO en Alumno. Debido a que aun hay casos con anomalías estando en 3NF, se creó unanueva definición (BCNF) para corregir las tablas. Las tablas que están en 3NF también están en BCNF si todas sus llaves únicasse componen de solo un atributo.Fund. Bases de DatosIng. Felipe Alanís González -ITD-41

4.6 Forma Normal de Boyce-CoddidAlumnoLlaves únicas:idAlumno DeporteidAlumno idEntrenadorDeporteidEntrenadorUna tabla no se encuentra en Forma Normal de Boyce-Codd si se cumplen estastres condiciones: Hay más de una llave única. Las llaves únicas de la relación son llaves compuestas (se componen demás de un atributo). Las llaves no son disjuntas, es decir, algunos de los atributos en las llavesson comunes.La siguiente es otra definición de la Forma Normal de Boyce-Codd:Una relación está en BCNF si los únicos determinantes son llaves únicas(ésta definición hace innecesarias las definiciones de 2NF y 3NF).Para el ejemplo que se acaba de estudiar, idEntrenador es un determinante y no esllave única, por eso la tabla no está en BCNF.Fund. Bases de DatosIng. Felipe Alanís González -ITD-42

4.6 Forma Normal de Boyce-CoddidAlumnoDependencias funcionales:DeporteidAlumno Deporte idEntrenadoridEntrenador DeporteidEntrenadoridEntrenador Deporte es la DF que viola la FormaNormal Boyce-Codd ya que idEntrenador no es llaveúnica de la tabla.Esta dependencia funcional ocasionará otra tabla.Fund. Bases de DatosIng. Felipe Alanís González -ITD-43

4.6 Forma Normal de Boyce-CoddidAlumnoDeporteidEntrenadorYa que Deporte es el atributo dependiente en la dependencia funcionalEntrenador Deporte, una vez creada la tabla correspondiente, ese atributose eliminará de la tabla original. Observe que ambas tablas estarán en BCNF.Llave única: idEntrenadorLlave única: idAlumno idEntrenadorObserve que a estas tablas falta añadir su llave identidad. Enseguida semuestranFund. Bases de DatosIng. Felipe Alanís González -ITD-44

4.6 Forma Normal de Boyce-CoddA continuación se muestran las tablas definitivas, incluyendo las llavesidentidad.Llave única:idEntrenadorLlave única:idAlumno idEntrenadorFund. Bases de DatosIng. Felipe Alanís González -ITD-45

4.7 Cuarta Forma NormalLa Normalización es un análisis útil porque en la práctica,se crean o modifican esquemas añadiendo atributosarbitrariamente o se presenta la necesidad de trabajarcon tablas creadas por otros.El Modelo Relacional provee principios para contribuir aeliminar las anomalías que se presentan por laredundancia en tablas mal diseñadas.Las normas estudiadas hasta ahora sirven en muchoscasos, pero en otros, son insuficientes; la 4NFproporciona más elementos para identificar un diseñoincorrecto.Fund. Bases de DatosIng. Felipe Alanís González -ITD-46

4.7 Cuarta Forma NormalConsidere un esquema que contiene las siguientes tablas:Tabla PR02PR02Tabla ditosFundamentos de Bases de Datos5Matemáticas VI6Quimica I4Estructuras de Datos5Matemáticas I4Tabla LibrosTextoidLibroTexto1234567TítuloTeoría de ConjuntosAlgébra LinealEstructuras de DatosDiseño BDMatemáticas para ingenieríaMatemáticas fácilesVectores en 21 díasAutorGeorge CantorH GrassmanN WirthEdgar CoddLaplaceFourierHamiltonSi se nos pide diseñar una nueva tabla para conservar la informaciónrelativa a que profesores pueden impartir que materias y cualeslibros de texto están asociados a las materias, podríamosproponer lo que se muestra en la diapositiva siguiente.Fund. Bases de DatosIng. Felipe Alanís González -ITD-47

4.7 Cuarta Forma NormalLlave única:idMaestro idMateria idLibroTextoComo la llave única de esta tabla secompone de todos los atributos, está enBCNF (tendría que haber 2 llaves únicaspara que no cumpliera con BCNF).Sin embargo hay anomalías: Inserción y Eliminación. Si no hay al menos un maestro capaz de impartir cierta materia, no sepuede conservar información de los textos asociados correspondientesa la materia. No puede haber información respecto a que profesores puedenimpartir cierta materia si tal materia no tiene al menos un textoasociado.Fund. Bases de DatosIng. Felipe Alanís González -ITD-48

Cuarta Forma NormalDependencias Multivaluadas.Un conjunto de atributos A determina a muchos B.Se eligen 4 tuplas que tengan el mismo valor en elsupuesto determinanteUn par de tuplas de las elegidas tienen el mismo valor en el atributo dependienteUn par de tuplas de las elegidas tienen el mismo valor en los atributos nodependientesEl par de tuplas restantes de las elegidas tienen el mismo valor en el atributo dependienteEl par de tuplas restantes de las elegidas tienen el mismo valor en los atributosno dependientesFund. Bases de DatosIng. Felipe Alanís González -ITD-49

Comprobación de la existencia de Dependencias MultivaluadasRecordar que las tuplas puedencambiar de orden sin perderse elsignificado de la tabla, por loque se pueden reordenar paradenominarlas t1,t2,t3,t4 y haceresta verificación.50

Cuarta Forma NormalUna tabla por cada DMV:idMaestro idMateriaidMateria idLibroTextoDefinición informal de 4NF:Debe estar en BCNF y solo debe tener unadependencia multivaluada.Fund. Bases de DatosIng. Felipe Alanís González -ITD-51

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 1 Normalización 4.1 Conceptos. 4.2 Primera Forma Normal. 4.3 Dependencias funcionales. 4.4 Segunda Forma Normal. 4.5 Dependencias Transitivas y Tercera Forma Normal. 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal