Lic. Hairol Romero Sand BASES DE DATOS RELACIONALES (NORMALIZACIN) Leccin # 4 26 de abril de 2013 Diseo de una Base de Datos Los modelos conceptuales se basan en un criterio intuitivo de lo que ocurre en el mundo real y como este mundo real debe ser modelado No hay mucho ms que trabajar con los modelos resultantes para generar los diseos de las bases de datos resultantes Si bien son intuitivos, son de fcil aplicacin y adems muy efectivos en sus resultados En el modelo relacional existen otros mecanismos que ayudan a producir un buen diseo. Pueden trabajarse los esquemas de relacin acorde una teora desarrollada, para producir un esquema de base de datos con ciertas propiedades deseables. Central al diseo relacional es la idea de dependencia de datos Debe verificarse que un los valores de los datos que pretendemos resulten en una nueva tupla de una relacin de nuestra base de datos cumplen un conjunto de restricciones. 26 de abril de 2013 Diseo de una Base de Datos La Teora es til Como control de nuestros diseos Para comprender algunas cosas que no pueden ser representadas en el Modelo ER Para comprender las consecuencias de conceptos tales como redundancia (que puede ser utilizado para mejorar la eficiencia de los sistemas) Distinguimos un conjunto (incompleto) de estas restricciones para el modelo, que pueden implementarse en varios SGBD relaciones actualmente en el mercado. 26 de abril de 2013 Restricciones de Integridad Restricciones de Dominio Restricciones de Integridad Referencial Test que permite controlar operaciones de actualizacin Insercin, Borrado (cascada), Modificacin Clave Aserciones Predicados que debe satisfacer la base de datos El sistema controla su validez lo que puede ocasionar una gran sobrecarga si no se utiliza con cuidado. 26 de abril de 2013 Restricciones de Integridad... Disparadores Acciones que se ejecutan como efecto lateral ante una operacin Deben especificarse: Bajo qu operaciones tendran que ejecutarse Cules son las acciones que debera realizar Dependencias Funcionales El valor de un conjunto de atributos determina unvocamente el valor de otro conjunto de atributos Nocin como generalizacin de clave 26 de abril de 2013 Claves de un Esquema Clave Conjunto de atributos de un esquema que permite distinguir unvocamente las tuplas de una relacin. Si el conjunto tiene un subconjunto propio con la misma propiedad lo llamamos SuperClave En trmino de DF K es clave de R, si K _ R y K 26 de abril de 2013 Qu es un mal diseo? Un mal diseo lleva a: Repetir Informacin Inhabilidad para representar cierta informacin Supongamos un esquema Proveedor ( Nombre_Proveedor, Direccin_Proveedor, Item, Item_Precio_Unitario ) Problemas en el diseo: Redundancia La direccin del Proveedor se repite por cada item provisto 26 de abril de 2013 Qu es un mal diseo?... Problemas en el diseo: Potencial inconsistencia (anomalas de actualizacin) cmo actualizamos la direccin de un proveedor? Anomalas de Insercin cul es la direccin de un proveedor qu an no ha provisto items? Anomalas de Borrado Si borro el ltimo item provisto, cmo guardo la direccin del proveedor? 26 de abril de 2013 Un buen diseo! Objetivos de un buen diseo Evitar datos redundantes Asegurar que se representen las relaciones entre los datos Facilitar el control de que las actualizaciones de la base de datos resulten en una violacin de las restricciones de integridad 26 de abril de 2013 Qu es un mal diseo?... Correccin del problema Reemplazar el esquema con dos nuevos esquemas: Proveedor ( Nombre_Proveedor, Direccin_Proveedor)
Provee ( Nombre_Proveedor, Item, Item_Precio_Unitario ) Veamos como soluciona los problemas Redundancia Anomalas (Insercin, Modificacin y Borrado) 26 de abril de 2013 Qu es un mal diseo?... Nuevo Problema Cmo recupero la informacin inicial? (cuando los datos estaban en una sola tabla) Utilizando la operacin JOIN Nueva_Proveedor = Proveedor Provee Nueva_Proveedor ( Nombre_Proveedor, Direccin_Proveedor, Item, Item_Precio_Unitario) 26 de abril de 2013 Un buen diseo! Pautas Informales Conocer la semntica de los atributos Disee un esquema de relacin de modo que sea fcil de explicar su significado. No combine atributos de varios tipos de entidades y tipos de relaciones (modelo ER) en una sola relacin (modelo relacional) Reducir los valores redundantes en las tuplas Disee los esquemas de las relaciones de modo que no haya anomalas de actualizacin 26 de abril de 2013 Un buen diseo! Pautas Informales.. Reducir los valores nulos en las tuplas Hasta donde sea posible, evite incluir en una relacin atributos cuyos valores puedan ser nulos. Si no es posible evitar los nulos, asegrese de que se apliquen slo en casos excepcionales y no a la mayora de las tuplas de una relacin Prohibir tuplas espurias Disee los esquemas de relacin de manera que puedan reunirse mediante condiciones de igualdad sobre atributos que sean claves primarias o candidatas, a fin de garantizar que no se formarn tuplas espurias 26 de abril de 2013 Tuplas espurias o errneas Supongamos el esquema Estudiante (Legajo, Nombre, Ciudad, Provincia) Legajo Nombre Ciudad Provincia 10 Jorge Neuqun Neuqun 20 Anala Plottier Neuqun 30 Carlos Cipolletti Ro Negro 40 Mara Centenario Neuqun 26 de abril de 2013 Tuplas espurias o errneas... Solucin al problema de redundancia Estudiante (Legajo, Nombre, Provincia) Direccin (Provincia, Ciudad)
Legajo Nombre Provincia 10 Jorge Neuqun 20 Anala Neuqun 30 Carlos Ro Negro 40 Mara Neuqun Ciudad Provincia Neuqun Neuqun Plottier Neuqun Centenario Neuqun Cipolletti Ro Negro 26 de abril de 2013 Tuplas espurias o errneas...
Legajo Nombre Provincia 10 Jorge Neuqun 20 Anala Neuqun 30 Carlos Ro Negro 40 Mara Neuqun Ciudad Provincia Neuqun Neuqun Plottier Neuqun Centenario Neuqun Cipolletti Ro Negro
Legajo Nombre Provincia Ciudad 10 Jorge Neuqun Neuqun 10 Jorge Neuqun Plottier 10 Jorge Neuqun Centenario 20 Anala Neuqun Neuqun 20 Anala Neuqun Plottier 20 Anala Neuqun Centenario 30 Carlos Ro Negro Cipolletti 40 Mara Neuqun Neuqun 40 Mara Neuqun Plottier 40 Mara Neuqun Centenario Tuplas Espurias 26 de abril de 2013 Tuplas espurias o errneas... Se trata de las tuplas adicionales que no estaban en la relacin original Representan informacin errnea o agregada que no es vlida Se obtiene porque el join se realiz entre dos tablas cuyos esquemas no fueron elegidos como un buen diseo Esto se debe a que el atributo que relaciona ambos esquemas no es una clave primaria o clave candidata en cualquiera de las relaciones 26 de abril de 2013 Descomposicin Una descomposicin del esquema de relacin R = {A1, A2, ... , Am} es su reemplazo por un conjunto = {R1, R2, ..., Rk} de subconjuntos de R, tales que R = R1 R2 ... Rk No es necesario que los Ris sean disjuntos 26 de abril de 2013 Join sin prdida Sea R un esquema relacin que se descompone en los esquemas R1, Rk, y F un conjunto de dependencias funcionales La descomposicin es join sin prdida (lossless join) de R con respecto al conjunto F si para toda instancia de r(R) que satisface F tR1 (r) ... tR1 (r) = r Es decir, cada relacin r se reconstruye como el join natural de sus proyecciones sobre cada Ri. Necesaria como propiedad si la relacin descompuesta puede recuperarse de su descomposicin 26 de abril de 2013 Preservacin de Dependencias Si actualizamos una relacin de una BD. Podemos fcilmente controlar si una dependencia funcional XY es violada? Slo podramos hacerlo si X Y estn contenidos en algn conjunto de atributos La proyeccin de un conjunto de dependencias funcionales F en un conjunto de atributos Z, FZ es {XY | XYeF + and X Y eZ } Una decomposicin R1, , Rk preserva dependencias si F + = ( FR1 ... FRk ) + Lo que significa que la descomposicin no ha perdido alguna dependencia funcional esencial. Conservaramos as las restricciones de integridad de la relacin R original. 26 de abril de 2013 Preservacin de Dependencias... El esquema de relacin Proveedor { Nombre, Direccin, Ciudad, CP, Item, Precio } Conjunto de dependencias funcionales Nombre Direccin, Ciudad Direccin, Ciudad CP Nombre,Item Precio Considerar la descomposicin {Nombre, Direccin, Ciudad, CP} {Nombre, Item, Precio} Es Join sin Prdida? Preserva dependencias? Cmo cambia si se reemplaza la primera dependencia con Nombre, Direccin Ciudad ? Ejemplo de Preservacin 26 de abril de 2013 Preservacin de Dependencias... Esquema: {estudiante, profesor, tema} Conjunto de DF: profesor tema estudiante, tema profesor La Descomposicin: {estudiante, profesor} {profesor, tema} Es join sin prdida? Tiene preservacin de dependencias? Ejemplo de Preservacin II 26 de abril de 2013 Formas Normales Definicin de Forma Normal Es una restriccin al esquema de BD que presumible-mente evita ciertas propiedades indeseables en la BD. Se definen primero para un esquema de relacin en el esquema de la BD y se extienden hasta aplicar al esquema de BD como un todo
1 FN Un esquema relacional R est en primera forma normal (1FN) si el valor de dom(A) para cada atributo de R es atmico Los valores del dominio no pueden ser listas, conjunto de valores o valores compuestos. 26 de abril de 2013 Atributos Multivaluados Primera Forma Normal (1FN) Profesor ID# Nombre Apellido Mdulos 12345 23456 34567 45678 56789 67890 78901 . . . Fred Sarah Joe Mary Edward Cyril Mei Ti . . . Jones Smith Clegg Windsor Griswald Coombs Quinn . . . IT, Business, History Chemistry, Physics, IT Maths, Physics, Art Maths, Physics, Geography Maths, PE, Gen Studies History, French, PE Chemistry, Biology . . . Query: (Encontrar todos los profesores de Fsica) Una relacin est en 1 Forma Normal si no tiene atributos con valores multivaluados 26 de abril de 2013 Profesor ID# Nombre Apellido Modulo 1 12345 23456 34567 45678 56789 67890 78901 . . . Fred Sarah Joe Mary Edward Cyril Mei Ti . . . Jones Smith Clegg Windsor Griswald Coombs Quinn . . . IT Business History Chemistry Physics IT Maths Physics Art Maths Physics Geography Maths PE Gen Studies History French PE Chemistry Biology . . . Modulo 2 Modulo 3 Atomic Attributes (still search multiple columns) Primera Forma Normal (1FN)... 26 de abril de 2013 Formas Normales Dependencia Funcional Parcial / Total Sea F un conjunto de DF y X Y en F+. Y es parcialmente dependiente de X en F si X Y no es reducido a izquierdo, ie - X c X / X Y e F+. Y es totalmente dependiente de X en F si X Y es reducido a izquierdo, ie - X c X / X Y e F Atributo Primario o Primo Sea R un esquema de Relacin, y A e R, F un conjunto de DF sobre R. A es primo en R con respecto a F si A pertenece a alguna clave de R. De lo contrario A es no primo. 26 de abril de 2013 Formas Normales... 2 FN Un esquema relacional R est en segunda forma normal (2FN) cuando todos los atributos no primos tienen dependencia total respecto de cada una de las claves. Un esquema de base de datos est en segunda forma normal respecto a un conjunto de dependencias funcionales F si cada esquema de relacin Ri en R est en 2FN con respecto a F. Ejemplo 26 de abril de 2013 La Informacin est duplicada. (La informacin est contenida en las Correspon- dencias entre atributos) Depende de ID# (parte de la clave primaria) Profesor ID# Nombre Apellido Mdulo 12345 12345 12345 23456 23456 23456 34567 34567 34567 45678 45678 . . . Fred Fred Fred Sarah Sarah Sarah Joe Joe Joe Mary Mary . . . Jones Jones Jones Smith Smith Smith Clegg Clegg Clegg Windsor Windsor . . . IT Business History Chemistry Physics IT Maths Physics Art Maths Physics . . . No hay grupos repetitivos, pero hay problemas Una relacin est en 2 Forma Normal si est en 1 Forma Normal y ningn atributo no primo es dependiente de una parte de una clave. Segunda Forma Normal (2FN)... 26 de abril de 2013 Mdulo ID# Mdulo BS001 HI001 PH002 . . . Business History Physics . . . Profesor ID# Nombre Apellido 12345 23456 34567 45678 . . . Fred Sarah Joe Mary . . . Jones Smith Clegg Windsor . . . En esta propuesta, las tablas representan cosas o conceptos que tienen claro significado. Por un lado el Profesor, por el otro los Mdulos.
Estas son las entidades sobre las cuales se ha hablado en la modelizacin conceptual. Segunda Forma Normal (2FN)... 26 de abril de 2013 BS001 HI001 PH002 . . . Business History Physics . . . Mdulo ID# Mdulo Profesor ID# Nombre Apellido 12345 23456 34567 45678 . . . Fred Sarah Joe Mary . . . Jones Smith Clegg Windsor . . . Profesor/Mdulo TID# MID# 12345 12345 12345 23456 23456 23456 34567 34567 34567 45678 45678 . . . IT003 BS001 HI001 CH002 PH002 IT003 MA002 PH002 AR001 MA002 PH002 . . . Segunda Forma Normal (2FN)... 26 de abril de 2013 Formas Normales Dependencia Funcional Transitiva Sea F un conjunto de DF y X Y en F+, y A un atributo de R. A es transitivamente dependiente de X en R con respecto a F si hay un subconjunto Y de R tal que X Y e F y (Y X) y Y A sobre F y A e XY. Ejemplo
3 FN Un esquema relacional R est en tercera forma normal (3FN) cuando est en 1FN y no hay atributos no primos en R que tengan dependencia transitiva respecto de cada una de las claves de R. 26 de abril de 2013 Formas Normales... 3 FN Un esquema de base de datos est en tercera forma normal con respecto a F si cada esquema de relacin Ri de R est en tercera forma normal con respecto a F. Ejemplo El esquema relacional R est en 3FN si para cada dependencia funcional X A que vale en R, se cumple lo siguiente: A e X (trivial), X es una superclave para el esquema R, o A es miembro de alguna de las claves de R 26 de abril de 2013 Formas Normales... 3 FN Un esquema de base de datos est en tercera forma normal respecto a un conjunto de dependencias funcionales F si cada esquema de relacin Ri en R est en 3FN con respecto a F.
Teorema Cualquier esquema de relacin R que est en 3FN con respecto al conjunto de dependencias funcionales F est tambin en 2FN con respecto a F. Demostracin: Una dependencia parcial implica una dependencia transitiva. 26 de abril de 2013 IT Bu Hi Ch Ph IT Ma Ph Ar Ma Ph
Profesor ID# Nombre Mdulo 12345 12121 11345 26456 21156 22256 35667 31367 11167 21378 12178 . . . Jones Brown Paul Sylvester Mike Smith Clegg Marshall Dominic Windsor Matt . . . Nombre del Mdulo Information Technology Business Studies History of Art Chemistry Physics IT Maths Physics Art Maths Physics . . . Estos atributos no dependen de ID# Una relacin est en 3 Forma Normal si est en 2 Forma Normal y no existen atributos no primos que dependen transitivamente de alguna de las claves. Tercera Forma Normal (3FN) 26 de abril de 2013 Formas Normales Forma Normal de Boyce Codd El esquema relacional R est en FNBC si para cada dependencia funcional X Y no trivial que vale en R, X es una superclave para el esquema Por definicin, un esquema en FNBC tambin est en 3FN FNBC es la ms deseable de las restricciones de una descomposicin pero puede demostrarse que no siempre puede obtenerse esta descomposicin y mantener todas las propiedades (LJ y PD) FNBC es ms estricta que 3FN. 26 de abril de 2013 Formas Normales... Siempre es posible partir de un esquema de relacin R que no se encuentra en 3FN con respecto a un conjunto F de dependencias funcionales y descomponerlo en un esquema de base de datos relacional que est en 3FN con respecto a F Descomponer un esquema de base de datos relacional significa romper el esquema relacional inicial en un par de esquemas R1 y R2 (posiblemente que se intersectan) tales que la relacin r(R) que satisface a F se descompone sin prdida en R1 y R2. Es decir tR1 (r) tR2 (r) = r Podemos repetir el proceso en cada Ri si alguno de ellos no ha alcanzado la forma normal buscada. 26 de abril de 2013 Relacin de las Formas Normales 26 de abril de 2013 Forma Original No Normalizada 1NF 2NF 3NF 1 Forma Normal 2 Forma Normal 3 Forma Normal Ejemplo de Pasos de una propuesta del proceso de Normalizacin Normalizacin 26 de abril de 2013 Proceso de Normalizacin Tcnica formal para analizar una relacin basada en sus claves primarias y las dependencias funcionales que existen entre los atributos del esquema. Usualmente se ejecuta en una serie de pasos. Cada paso corresponde a una forma normal especfica (es posible), con propiedades conocidas. En la medida que avanza el proceso, las relaciones se hacen ms restringidas (ms fuertes) en su formato y tambin menos vulnerables a las anomalas de actualizacin. 26 de abril de 2013 Proceso de Normalizacin
26 de abril de 2013 Metas del proceso de Normalizacin Obtener los atributos correctos (Buscar los atributos correctos) Obtener las entidades correctas (Dependencias funcionales) Obtener las relaciones correctas (Dependencias Multivaluadas) 26 de abril de 2013 En trminos de las formas normales, la normalizacin se expresa como: 1ra Forma Normal: elimina los grupos repetitivos. 2da + 3ra Forma Normal: elimina todas las dependencias funcionales entre los atributos no primos. 4ta Forma Normal: elimina todas las dependencias multivaludas Proceso de Normalizacin 26 de abril de 2013 Profesor ID# Nombre Apellido Mdulos 12345 23456 34567 45678 56789 67890 78901 . . . Fred Sarah Joe Mary Edward Cyril Mei Ti . . . Jones Smith Clegg Windsor Griswald Coombs Quinn . . . IT, Business, History Chemistry, Physics, IT Maths, Physics, Art Maths, Physics, Geography Maths, PE, Gen Studies History, French, PE Chemistry, Biology . . . Query: (Encontrar todos los profesores de Fsica) Atributos Multivaluados Una relacin est en 1 Forma Normal si no tiene atributos con valores multivaluados Primera Forma Normal (1FN) 26 de abril de 2013 Profesor ID# Nombre Apellido Modulo 1 12345 23456 34567 45678 56789 67890 78901 . . . Fred Sarah Joe Mary Edward Cyril Mei Ti . . . Jones Smith Clegg Windsor Griswald Coombs Quinn . . . IT Business History Chemistry Physics IT Maths Physics Art Maths Physics Geography Maths PE Gen Studies History French PE Chemistry Biology . . . Modulo 2 Modulo 3 Atomic Attributes (still search multiple columns) Primera Forma Normal (1FN) 26 de abril de 2013 La Informacin est duplicada.
(La informacin est contenida en las correspondencias entre atributos) Depende de ID# (parte de la clave primaria) Profesor ID# Nombre Apellido Mdulo 12345 12345 12345 23456 23456 23456 34567 34567 34567 45678 45678 . . . Fred Fred Fred Sarah Sarah Sarah Joe Joe Joe Mary Mary . . . Jones Jones Jones Smith Smith Smith Clegg Clegg Clegg Windsor Windsor . . . IT Business History Chemistry Physics IT Maths Physics Art Maths Physics . . . No hay grupos repetitivos, pero hay problemas Una relacin est en 2 Forma Normal si est en 1 Forma Normal y ningn atributo no primo es dependiente de una parte de una clave. Segunda Forma Normal (2FN) 26 de abril de 2013 Mdul o ID# Mdulo BS001 HI001 PH002 . . . Business History Physics . . . Profesor ID# Nombre Apellido 12345 23456 34567 45678 . . . Fred Sarah Joe Mary . . . Jones Smith Clegg Windsor . . . En esta propuesta, las tablas representan cosas o conceptos que tienen claro significado. Por un lado el Profesor, por el otro los Mdulos.
Estas son las entidades sobre las cuales se ha hablado en la modelizacin conceptual. Segunda Forma Normal (2FN) 26 de abril de 2013 Mdul o ID# Mdulo BS001 HI001 PH002 . . . Business History Physics . . . Profesor ID# Nombre Apellido 12345 23456 34567 45678 . . . Fred Sarah Joe Mary . . . Jones Smith Clegg Windsor . . . Profesor/Mdul o TID# MID# 12345 12345 12345 23456 23456 23456 34567 34567 34567 45678 45678 . . . IT003 BS001 HI001 CH002 PH002 IT003 MA002 PH002 AR001 MA002 PH002 . . . Segunda Forma Normal (2FN) 26 de abril de 2013 Profesor ID# Nombre Mdulo 12345 12121 11345 26456 21156 22256 35667 31367 11167 21378 12178 . . . Jones Brown Paul Sylvester Mike Smith Clegg Marshall Dominic Windsor Matt . . . IT Bu Hi Ch Ph IT Ma Ph Ar Ma Ph
Nombre del Mdulo Information Technology Business Studies History of Art Chemistry Physics IT Maths Physics Art Maths Physics . . . Estos atributos no dependen de ID# Una relacin est en 3 Forma Normal si est en 2 Forma Normal y no existen atributos no primos que dependen transitivamente de alguna de las claves. Tercera Forma Normal (3FN) 26 de abril de 2013 Muchas gracias por su atencin