Normalizacion de Bases de Datos

45
Normalización d bases de datos INTEGRANTES: ALBERT GUTIERREZ GEORGE TINTAYA

description

AREA DE BASE DE ADTOS I

Transcript of Normalizacion de Bases de Datos

Sin ttulo de diapositiva

Normalizacin de bases de datos

INTEGRANTES: ALBERT GUTIERREZ GEORGE TINTAYAProceso de Construccin de una base de datos OBTENCION Y ANALISIS DE REQUERIMIENTOSDISEO FISICOIndependiente del SGBDEspecfico para cada SGBDMinimundoDISEO CONCEPTUALModelo Entidad Relacin ExtendidoDISEO LOGICOTablasNORMALIZACIONCmo utilizamos la normalizacin nosotros?OBTENCION Y ANALISIS DE REQUERIMIENTOSDISEO FISICOIndependiente del SGBDEspecfico para cada SGBDMinimundoDISEO CONCEPTUALModelo Entidad Relacin ExtendidoDISEO LOGICOTablasNORMALIZACIONNormalizacin Objetivoelegir buenas estructuras de relacionesExpresar formalmente las razones por las que una agrupacin de atributos es mejor que otrapermitiendoLa normalizacin es el proceso de organizar los datos en una base de datos. Esto incluye la creacin de tablas y que establece relaciones entre aquellas tablas segn reglas diseadas para proteger los datos y hacer la base de datos que es ms flexible al eliminar redundancia y dependencia incoherente.

Los datos redundantes desperdician espacio en disco y crean problemas de mantenimiento. Si es necesario cambiar datos que aparecen en ms de un sitio, el cambio deber ser exactamente igual en todos estos sitios. Por ejemplo, un cambio de direccin de un cliente es mucho ms fcil de implementar si los datos slo se almacenan en la tabla Clientes y en ningn otro lugar de la base de datos.

NormalizacinQu es una "dependencia incoherente"? Aunque para un usuario puede resultar intuitivo buscar la direccin de un determinado cliente en la tabla Clientes, es posible que no tenga sentido buscar en esa misma tabla el sueldo del empleado que atiende a dicho cliente. El salario del empleado est relacionado con el empleado (es decir, existe una dependencia entre ambos), por lo que debe moverse a la tabla Empleados. Las dependencias incoherentes pueden dificultar el acceso a los datos, ya que la ruta de acceso a los mismos puede estar rota o no encontrarse.

Existen unas cuantas reglas para la normalizacin de bases de datos. Cada regla se denomina "forma normal" Si se cumple la primera regla, se dice que la base de datos est en la "primera forma normal" Si se cumplen las tres primeras reglas, se considera que la base de datos est en la "tercera forma normal" Aunque existen otros niveles de normalizacin, se considera que la tercera forma normal es el mximo nivel necesario para la mayora de las aplicaciones.

NormalizacinBondad de las relacionesNivel lgicoForma en la que los usuarios interpretan: las estructuras de las relaciones el significado de sus atributosNivel de implementacinForma en la que se manipulan:cmo se almacenan las tuplas de la relacincmo se actualizan las tuplas de la relacin NormalizacinFormas Normales (1FN a la 5FN):Normalizacin- Dependencia Funcional- Dependencia Multivaluada- Dependencia JoinNormalizacin (Formas Normales)2FN3FNFNBC4FN1FN5FNUniverso de todas las relacionesPrimera Forma NormalUna relacin R est en 1FN si los dominios de todos sus atributos son atmicosToda relacin R est en 1FN, por definicin si para 2 tuplas cualesquiera t1 y t2 de R tales que t1(X)= t2(X) entonces t1(Y)= t2(Y) en todo estado de RDependencia FuncionalDependencia FuncionalX Y si para cada valor de X le corresponde slo un valor de Y en todo estado de Ro expresado de otra maneraX YDependencia Funcional Trivial y No Trivial es Trivial si X contiene a YX YZ+Y Yes TrivialCaso contrario, es no TrivialX YClavesDada una relacin R, un subconjunto de atributos S de R es superclave si su valor es nico dentro de la relacin en todo momento. Formalmente, si no existe un par de tuplas t1, t2 tal que t1[S]= t2[S], para todo estado permitido de la relacin.ClavesDada una relacin R, un subconjunto de atributos K de R es clave candidata o simplemente clave si cumple:

Unicidad: No existe un par de tuplas que tengan el mismo valor para K, es decir, es superclave.Minimalidad: Si se quita algn atributo de la misma deja de cumplir la unicidad.

Entonces, sea K={A1, A2, , Ak}, si K es clave entonces K {Ai} no es clave para 1i kClavesUna relacin puede contener ms de una clave, llamadas claves candidatas:Se elige una como clave primariaA las restantes, se las denomina claves secundarias o alternativas.

Atributo PrimoUn atributo de R se denomina atributo primo de R si es miembro de alguna clave de R.

Un atributo de R se denomina atributo no primo de R si no es atributo primo

Segunda Forma NormalSe basa en el concepto de dependencia funcional completa o total:

- Una dependencia funcional es completa si la eliminacin de cualquier atributo A de X hace que la dependencia no sea vlida. Es decir, X-A no determina funcionalmente a Y.X Y- Una dependencia funcional es parcial si es posible eliminar algn atributo A de X y la dependencia sigue siendo vlida.X YSegunda Forma NormalUna relacin R est en 2FN si todo atributo no primo A de R depende funcionalmente en forma completa de la clave primaria de R.Segunda Forma NormalSi una relacin no est en 2FN, descomponerla y crear una nueva relacin para cada clave parcial con sus atributos dependientes.

Solucin:Descomposiciones vlidas Toda descomposicin debe cumplir una restriccin (no slo para la 2FN, sino para todas)

No provocar prdida de informacin, es decir,el join (union) de las proyecciones genera la relacin originalInclusive, provocan ganancia de informacin.Permiten registrar informacin que en la relacin original era imposible.Tercera Forma NormalUna relacin R est en 3FN si est en 2FN y ningn atributo no primo de R depende en forma transitiva de la clave primaria.Tercera Forma NormalDefinicin GeneralUna relacin R est en 3FN si para toda dependencia funcional no trivial se cumple:X es superclave de RoY es un atributo primoX YTercera Forma NormalSolucin:

Si una relacin no est en 3FN, descomponerla creando otra relacin que contenga el/los atributo/s no clave que determinen funcionalmente a otro/s atributo/s no clave.Nota: Tener cuidado con las posibles descomposicionesForma Normal de Boyce y CoddUna relacin R est en FNBC si todo determinante es clave candidata.Una relacin que est en 3FNNo necesariamente est en BCNFUna relacin que est en BCFNEst en 3FNForma Normal de Boyce y CoddOtra DefinicinUna relacin R est en FNBC si para toda dependencia funcional no trivial X es superclave de R.X Y,Forma Normal de Boyce y CoddVeamos un ejemplo:

Nro_CatastralNombre_Municipio+ParcelaSuperficieDeterminantes:Nro_CatastralNombre_Municipio+ParcelaClaves candidatas:DF1Cada parcela es identificada por su nro. catastralDF2Cada parcela es identificada dentro de un municipio, por su nro. de parcelaDF3Las superficie de las parcelas de cada municipio son diferentes, pero, no existe una superficie que corresponda a ms de un municipio.

No es clave candidataFNBCForma Normal de Boyce y CoddAl descomponer:

Nro_CatastralDeterminantes: Nro_CatastralClaves candidatas: SuperficieDeterminantes:Claves candidatas: SuperficieBCNFBCNFDada una relacin R con atributos (X,Y,Z), X multidetermina a Y, y se simboliza , si se cumple que dado un par (X,Z) el conjunto de valores de {Y} que coinciden con ese par, dependen de X y no dependen de Z.Cuarta Forma NormalSe basa en el concepto de dependencia multivaluada (DMV)X YDMV no funcionalesCuarta Forma NormalUna relacin R est en 4FN si est en FNBC y no existen DMV no funcionales.

DFDMVCuarta Forma NormalOtra definicin:Una relacin R est en 4FN si est en FNBC y toda DMV es DF.DFDMVCuarta Forma NormalVeamos un ejemplo:

Cada curso puede ser dictado por varios profesores. Cada curso tiene libros asignados, independientemente del profesor que lo dicte. Es decir, el profesor no decide los libros que usa en un curso determinado.Dado un par (Curso, Profesor), por ejemplo (Bases de Datos I, Castro) el conjunto de valores de Libro {Fundamentos de Bases de Datos, Introduccin a los DBMS}:Curso Libro?Cuarta Forma Normal

CursoLibroDepende del Curso?Depende del Profesor?S dependeNo dependeCuarta Forma NormalEn esta relacin se verifican:

DMV1DMV2Las dos dependencias multivaluadas no son funcionales. Por lo tanto, la relacin no est en 4FN.Cuarta Forma NormalSolucin:

Est en BCNF No presenta DMV Est en BCNF No presenta DMV Est en 4FN Est en 4FNQuinta Forma NormalSe basa en el concepto de Dependencia Join (DJ)

Dependencia Join = n-descomponible n>2Quinta Forma NormalUna relacin R est en 5FN si est en 4FN y toda DJ es consecuencia de la clave primaria.

Cada proyeccin de la DJ contiene a la clave primariaQuinta Forma Normal

ProveedoresLa relacin Proveedores est en 5FN?

Quinta Forma NormalEs posible descomponerla en al menos 3 proyecciones sin perder informacin?Existe al menos una Dependencia Join?

Contiene la clave primariaContiene la clave primariaContiene la clave primariaQuinta Forma Normal

Est en 5 FNQuinta Forma NormalAhora analicemos esta otra relacin:

Supongamos que satisface la siguiente restriccin en todo estado vlido:Si (S1,P1), (P1,J1) y (S1,J1) entonces debe aparecer la tupla (S1,P1,J1) en la relacin.

Restriccin cclicaQuinta Forma Normal

La insercin de la tuplaEsta restriccin genera la siguiente situacin:Quinta Forma Normal

Join de las 3 proyecciones genera la relacin originalClave primariaNo contiene la clave primariaNo contiene la clave primariaNo contiene la clave primaria5FNAnalicemos ahora si est en 5FNQuinta Forma Normal

5FNSolucin:5FN5FNNo posee DJs No posee DJs No posee DJs Debiera incluir los resultados de los join para efectivamente ver que se obtiene la tabla originalLa sexta forma normal pretende descomponer las variables de relacin de componentes irreducibles. Aunque esto puede ser relativamente poco importante para las variables de relacin no temporales, puede ser importante cuando se trata con variables temporales u otros datos de intervalo.Sexta Forma NormalFin.Gracias