La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

NORMALIZACIÓN DE DATOS

Presentaciones similares


Presentación del tema: "NORMALIZACIÓN DE DATOS"— Transcripción de la presentación:

1 NORMALIZACIÓN DE DATOS

2 Diseño Relacional El diseño de una BD Relacional puede abordarse de dos formas distintas: Obteniendo el esquema relacional directamente: Objetos y reglas captadas del análisis del mundo real, representadas por un conjunto de esquemas de relación, sus atributos y restricciones de integridad. Realizando el diseño del esquema "conceptual" de la BD (modelo E/R) y transformándolo a esquema relacional.

3 Ejemplo de diseño inadecuado
Redundancia de información: ciudad, distancia (ciudad); precio (artículo). Anomalías de modificación: !podemos tener el mismo artículo con dos precios! (igual argumento para ciudad y distancia).  inconsistencias Anomalías de inserción: ¿Podemos registrar nuevo artículo?, ¿Nuevo cliente?, ¿Nueva ciudad, distancia? Anomalías de borrado: Si eliminamos tupla de pedido de artículo A3 o cliente C4  pérdida de información.

4 Ejemplo de diseño inadecuado
Redundancia de información: datos repetidos desperdicio de espacio, actualización complicada Mal diseño: anomalías, redundancia e inconsistencias de la información imposibilidad para representar cierta información pérdida de información Normalización conversión de una relación con ciertos problemas a dos o más relaciones que no tienen tales problemas

5 Principio básico de diseño:
"hechos distintos se deben almacenar en objetos distintos"

6 Teoría de Normalización
Técnica formal de análisis y organización de datos; trata de evitar la redundancia y anomalías de actualización. Introduce formalización en el diseño lógico de las Bases de Datos Relacionales. Además permite mecanizar parte del proceso al disponer de instrumentos algorítmicos de ayuda al diseño. Proceso de normalización: disminuye las anomalías de actualización, pero penaliza las consultas (combinación consume muchos recursos).

7 Formas normales 1ª FN (Codd, 1970)
Un esquema de relación está en una determinada forma normal si satisface un determinado conjunto específico de restricciones definidas sobre los atributos del esquema (dependencias). 1ª FN (Codd, 1970) Concepto de relación normalizada. 2ª, 3ª FN (Codd, 1970), FNBC (Boyce/Codd, 1974) Basadas en análisis de dependencias funcionales. 4ª FN. Fagin, 1977 Basada en análisis de dependencias multivaluadas. 5ª FN. Fagin, 1979 Basada en análisis de dependencias de proyección / combinación.

8 Formas normales Relaciones en 2ªFN Relaciones en 3ªFN
Relaciones en FNBC Relaciones en 4ªFN Relaciones en 5ªFN Relaciones normalizadas Relaciones

9 Dependencias Restricciones de integridad impuestas por el usuario.
Propiedades inherentes al contenido semántico de los datos. Se han de cumplir para cualquier extensión del esquema de una relación. No se pueden demostrar, pero sí afirmar por observación del mini mundo a representar. Del análisis de la extensión de un esquema relacional sólo podremos deducir que no existe una determinada dependencia. Si una dependencia es cierta para un determinado esquema de relación, una extensión no será válida si no la cumple.

10 Dependencia funcional
Sean A y B atributos de una misma tabla o relación R. Se dice que B es funcionalmente dependiente de A y se denota A B si todo posible valor de A tiene asociado un único valor de B,  o lo que es lo mismo, en todas las tuplas de r(R) en las que el atributo A toma el mismo valor “v1”, el atributo B toma también un mismo valor “v2”.

11 Dependencia funcional Definición
Sean X e Y subconjuntos de A (A, conjunto de atributos de R).   Decimos que X determina o implica a Y en R (equivale a Y depende funcionalmente de X) si para dos tuplas cualesquiera de r(R) que tengan iguales valores en X, también son iguales los valores en Y. Se representa por X  Y

12 Diagrama de dependencias funcionales
Ejemplo: R ( A, DF ). R: pedidos A: {artículo, cliente, cantidad, precio, ciudad, distancia}. DF: ({artículo,cliente}  {cantidad,precio,ciudad, distancia}, artículo  precio, cliente  {ciudad, distancia}, ciudad  distancia ) Diagrama de Dependencias Funcionales

13 Dependencia funcional plena o completa
Sea X (conjunto de atributos). Se dice que Y tiene dependencia funcional plena o completa de X, si depende funcionalmente de X pero no depende de ningún subconjunto del mismo X Y sii  X'  X | X'  Y (X determina completamente "" a Y si y solo si no existe un subconjunto X' de X tal que ese subconjunto X' determine funcionalmente a Y) P.e. (artículo, cliente)  cantidad es una DF completa, pero (artículo, cliente)  precio no es una DF completa puesto que artículo  precio;

14 Dependencia funcional transitiva
Si XY, Y-/X, YZ entonces Z depende transitivamente de X (X--Z) Por ejemplo: Cliente  ciudad, ciudad -/ cliente (no determina funcionalmente), y cliente  distancia,  por tanto, ciudad --- distancia (cliente determina “transitivamente” a distancia).

15 Normalización de un esquema de BD Relacional

16 Segunda Forma Normal (2ªFN).
Un esquema de relación R(A,DF) está en 2ª FN si y sólo si está en 1ª FN (es decir, si la relación está normalizada) y sus atributos no primarios dependen completamente de la clave primaria de R. (atributos no primarios: que no formen parte de la clave primaria). Si una relación R no está en 2ª FN, se puede normalizar descomponiendo esa relación en: Una relación con los atributos de clave primaria, más los atributos con dependencia completa de ella. Una relación para cada "parte" de la clave primaria, más los atributos que dependan funcionalmente de esa parte.

17 Descomposición a 2ª FN (informal)
Ejemplo: PEDIDOS se descompone en: PEDIDOS'({artículo,cliente, cantidad}, {[artículo,cliente]  cantidad}) ARTICULOS ({artículo, precio}, {artículo  precio} ) CLIENTES({cliente,ciudad,distancia}, {clienteciudad,ciudaddistancia})

18 Tercera Forma Normal (3ªFN)
Un esquema de relación R(A,DF) está en 3ª FN si y sólo si está en 2ª FN y ninguno de sus atributos no primarios depende transitivamente de la clave primaria de R. Es decir no hay DF transitivas. Descomposición informal: Si una relación no está en 3ª FN, y tenemos los conjuntos de atributos X,Y,Z tales que XY, YZ (por tanto X --- Z ): Una relación formada por la clave primaria (X) más los atributos que dependen directamente de ella. Una relación para los atributos de Y y Z.

19 Descomposición a 3ª FN (informal)
Ejemplo: CLIENTES se descompone en: CLIENTES' ({cliente, ciudad}, {cliente  ciudad}) CIUDADES ({ciudad, distancia}, {ciudad distancia})

20 Implicación lógica de DFs.
Dado un esquema relacional R, una dependencia funcional df de R está implicada lógicamente por un conjunto de dependencias DF de R si cada ejemplar de la relación r(R) que satisface DF también satisface df. R({ABCGHI}, {AB, AC, CGH, CGI, BH} ¿ AH ? Si t1[A]=t2[A], AB  t1[B]=t2[B], BH  t1[H]=t2[H]  AH Cierre (clausura) de DF: Dado un conjunto de dependencias funcionales DF, llamaremos cierre de DF, y lo representaremos por DF+, al conjunto de todas las dependencias funcionales posibles que implicadas lógicamente en DF.

21 Reglas de inferencia de DFs
Dado un conjunto DF de dependencias funcionales, podemos probar que se cumplen otras ciertas dependencias funcionales inferidas de DF. "Axiomas" de Armstrong: Sea R (A:D); X ,Y, Z, W subconjuntos de A. Se verifica: 1) Reflexividad. Si X, conjunto de atributos, Y  X, entonces se verifica que X  Y. 2) Aumentatividad. Si X  Y, Z conjunto de atributos, entonces se verifica que XZ  YZ. (XY es lo mismo que X  Y, unión) 3) Transitividad. Si X  Y e Y  Z, entonces se verifica que X  Z. Estas reglas forman un sistema completo de reglas de inferencia, porque dado DF permiten calcular DF+ Son correctas (seguras) puesto que no generan dependencias funcionales incorrectas.

22 Técnicas principales para el Diseño Relacional
Diseño del esquema conceptual en un modelo de datos de alto nivel (como el ER) y su posterior transformación en un conjunto de relaciones. En esta técnica podemos aplicar informalmente los principios de normalización comentados (evitar dependencias parciales o transitivas), tanto durante la fase de diseño conceptual, como posteriormente al conjunto de relaciones obtenidas mediante el proceso de transformación.

23 Técnicas principales para el Diseño Relacional
Considerar el diseño de la BD relacional estrictamente en términos de dependencias (funcionales y de otros tipos que veremos) entre los atributos de la BD. Este proceso es denominado algunas veces como síntesis relacional, puesto que los esquemas de relación son “sintetizados” mediante el adecuado agrupamiento de atributos. Cada esquema de relación representaría a un grupo de atributos lógicamente coherente y poseería las ventajas asociadas con la normalización (no redundancia, no anomalías, ...). Durante el proceso de normalización descompondremos un determinado esquema de relación que no esté en una determinada forma normal en múltiples esquemas de relación hasta un diseño final con relaciones en las que se hubiese alcanzado la forma normal deseada. Caso extremo (descomposición estricta): comenzamos sintetizando un único esquema de relación (relación universal), que incluye todos los atributos de la BD.

24 Objetivos de la normalización.
Dado un conjunto A de atributos y el conjunto DF de dependencias existentes entre ellos, R(A, DF), se trata de transformar este esquema origen en un conjunto de n esquemas de relación {Ri (Ai, DFi)}, 1 i  n [esquemas resultantes], equivalentes y mejores que R: a) Conservación de la información. b) Conservación de dependencias. c) Mínima redundancia de los datos (mayor grado de normalización).

25 a. Conservación de la información:
a.1. Conservación de atributos: el conjunto de atributos de los esquemas resultantes ha de ser igual al conjunto de atributos del esquema origen. a.2. Conservación del contenido (tuplas): para toda extensión r de R, la reunión natural (natural join, * ) de las relaciones resultantes tiene que producir la relación origen. (nota: * operador de reunión natural,  operador de proyección) i = 1 n Ri r * p ( ) Si la descomposición no cumple esta propiedad, e.d. no es una descomposición y reunión sin pérdidas (de información), cuando se aplica la operación de reunión natural a las relaciones resultantes, aparecen tuplas espúreas en la relación resultado

26 Descomposición y Reunión con pérdida
*

27 Tercera Forma Normal (3ª FN).
Definiciones generales, atributo primo: atributo que forma parte de una clave candidata. Un esquema de relación R está en 2ª FN si está en 1ª FN y todo atributo no primo A de R depende funcionalmente de manera completa de toda clave candidata de R. Un esquema de relación R está en 3ª FN si está en 2ª FN y ningún atributo no primo depende transitivamente de alguna clave candidata de R.

28 Tercera Forma Normal (3ª FN).
Redefinición de 3ª FN: Un esquema de relación R(A,DF) está en 3ª FN si  X  Y  DF+ se verifica alguna de las siguientes condiciones: X  Y trivial. X es superclave de R. X no es superclave y cada atributo A  (Y - X) está contenido en una clave candidata de R. Un diseño de BD está en 3ª FN si cada esquema de relación de la BD está en 3ª FN.  FNBC

29 Ejemplo: 3ª FN y FNBC E P C imparte (estudiante, curso, profesor)
DF: (1) estudiante, curso  profesor; (2) profesor  curso K: { (estudiante, curso), (estudiante, profesor)} No en FNBC pues antecedentes de (2) no es superclave, pero si en 3ª FN pues los consecuentes son atributos primos. Descomposición a FNBC por profesor  curso: E P C


Descargar ppt "NORMALIZACIÓN DE DATOS"

Presentaciones similares


Anuncios Google