Vous êtes sur la page 1sur 11

Unidad 4.- Diseo de base de datos relacionales Competencia Especifica: Aplicar la normalizacin al diseo de los esquemas de base de datos.

4.1 Caractersticas del diseo relacional Una caracterstica del modelo relacional es generar un conjunto de esquemas de relaciones que permitan almacenar la informacin con un mnimo de redundancia, pero que a la vez faciliten la recuperacin de la informacin. Cuya tcnica para lograrlo consiste en disear esquemas que tengan una forma normal adecuada. Para determinar si un esquema de relaciones tiene una de las formas normales se requiere mayor informacin sobre la empresa del "mundo real" que se intenta modelar con la base de datos. La informacin adicional la proporciona una serie de limitantes que se denominan dependencias de los datos. La normalizacin es una tcnica que busca dar eficiencia y fiabilidad a una BD relacional. Su objetivo es, por un lado, llevar la informacin a una estructura donde prime el aprovechamiento del espacio; y por otro lado, que el manejo de informacin pueda llevarse a cabo de forma rpida. Cuando realizamos un diseo en el modelo relacional existen diferentes alternativas, pudindose obtener diferentes esquemas relacionales. No todos ellos sern equivalentes y unos representarn mejor la informacin que otros. Las tablas obtenidas pueden presentar problemas: Redundancia. Se llama as a los datos que se repiten continua e innecesariamente por las tablas de las bases de datos. Cuando es excesiva es evidente que el diseo hay que revisarlo, es el primer sntoma de problemas y se detecta fcilmente. Ambigedad. Datos que no clarifican suficientemente el registro al que representan. Los datos de cada registro podran referirse a ms de un registro o incluso puede ser imposible saber a qu ejemplar exactamente se estn refiriendo. Prdida de restricciones de integridad. Normalmente debido a dependencias funcionales. Anomalas en operaciones de modificacin de datos. El hecho de que al insertar un solo elemento haya que repetir tuplas en una tabla para variar unos pocos datos. O que eliminar un elemento suponga eliminar varias tuplas necesariamente (por ejemplo que eliminar un

cliente suponga borrar seis o siete filas de la tabla de clientes, sera un error muy grave y por lo tanto un diseo terrible). La normalizacin nos permite eliminar estos problemas, forzando a la divisin de una tabla en dos o ms. FORMAS NORMALES: Son las tcnicas para prevenir las anomalas en las tablas. Dependiendo de su estructura, una tabla puede estar en primera formal normal, segunda forma normal o en cualquier otra.

Primera Forma Normal (1NF) Segunda Forma Normal (2NF) Tercera Forma Normal (3NF) Forma Normal de BoyceCood(BCNF) Cuarta Forma Normal (4NF) Quinta Forma Normal (5NF)

Las distintas formas normales representan los grados de eliminacin de redundancia que pueden lograrse. Normalizacin: Es la descomposicin o subdivisin de una relacin en dos o ms relaciones para evitar la redundancia. Es el proceso mediante el cual cierta tabla va cumpliendo los requisitos de las formas normales con el fin de tener tablas bien diseadas y por consiguiente un buen diseo del modelo conceptual de una base de datos. La normalizacin trata de simplificar el diseo de una base de datos, esto a travs de la bsqueda de la mejor estructuracin que pueda utilizarse con las entidades involucradas en ella. 4.2 Dominios atmicos y la primera forma normal Los dominios suponen una gran mejora en este modelo ya que permiten especificar los posibles valores vlidos para un atributo. Cada dominio incorpora su nombre y una definicin del mismo. Ejemplos de dominio:

Direccin: 50 caracteres Nacionalidad: Espaol, Francs, Italiano,...

Los dominios pueden ser tambin compuestos a partir de otros (ao, mes y da = fecha) Primera forma normal (1FN) Una relacin est en 1NF si y solo si los dominios de sus atributos solo contienen valores atmicos (no se debe dejar ningn casillero vaco y cada uno debe tener un nico valor)
Ejemplo: PROVEEDOR PROV. 1 PROV. 1 PROV. 1 PROV. 1 PROV. 1 PROV. 1 PROV. 2 PROV. 2 PROV. 3 PROV. 4 PROV. 4 PROV. 4 REGION 20 20 20 20 20 20 10 10 10 20 20 20 CIUDAD LONDRES LONDRES LONDRES LONDRES LONDRES LONDRES PARS PARS PARS LONDRES LONDRES LONDRES ARTICULO ART. 1 ART. 2 ART. 3 ART. 4 ART. 5 ART. 6 ART. 1 ART. 2 ART. 2 ART. 2 ART. 4 ART. 5 CANTIDAD 300 200 400 200 100 100 300 400 200 200 300 400

4.3 Dependencias funcionales Para comprender bien las formas normales es necesario identificar lo que significa dependencia funcional: Se dice que existe dependencia funcional entre dos atributos de una tabla si para cada valor del primer atributo existe un slo valor del segundo. Por ejemplo, en el esquema Kardex(nombre_alumno, asignatura, calif, ciudad) existe dependencia funcional nombre_alumno -> ciudad, es decir para un valor de nombre de alumno existe un solo valor de ciudad. Definicin: Sean X e Y subconjuntos de atributos de una relacin. Diremos que Y tiene una dependencia funcional de X, o que X determina a Y, si cada valor de X tiene asociado siempre un nico valor de Y. La dependencia funcional se representa como X -> Y.

El smbolo -> se lee como "implica" o "determina", y la dependencia anterior se lee como X implica Y o X determina Y. 4.4 Segunda forma normal (2FN) Una relacin esta en segunda forma normal si y solo si esta en primera forma normal y cada atributo no primo(es aquel que no forma parte de la llave primaria) es completamente dependiente de la llave primaria, es decir existe dependencia funcional total. Pasos: a).- Escoger una clave primaria que pueda representar de manera nica cada registro en la relacin. b)._ Construir un diagrama de dependencia funcional describiendo las relaciones entre los atributos. c).- Dividir la relacin 1Nf de tal manera que todos los campos noclave en cada relacin dividida sean total y funcionalmente dependientes de la clave primaria. EJEMPLO: Relacin original
PROVEEDOR REGION CIUDAD ARTICULO CANTIDAD

Relacin en 2NF PROVEEDOR--> REGION, CIUDAD ARTICULO--> CANTIDAD

4.5 Tercera forma normal (3FN) Una relacin esta en tercera forma normal si y solo si esta en segunda forma normal y no existen dependencias transitivas. Dependencia Transitiva: Esta se da cuando un atributo depende indirectamente de su llave principal. En el ejemplo no se cumple esta regla porque hay transitividad de un proveedor a regin.

PROVEEDOR--> REGION, CIUDAD ARTICULO--> CANTIDAD

CIUDAD--->REGION PROVEEDOR--> CIUDAD ARTICULO--> CANTIDAD Se considera que un esquema que alcanza la 3NF es eficiente, No obstante, se ha propuesto una mejora que permitir obtener un modelo ms eficiente con la ventaja de que no depende de formas normales anteriores, sin embargo se recomienda alcanzar la tercera forma normal antes de su aplicacin. 4.5 Forma Normal Boyce Cood (BCNF) Una relacin R est en FNBC si y solo si todo determinante es una clave candidata. Definicin de determinante. Un determinante es un atributo del que depende funcionalmente de manera completa algn otro atributo. Ejemplo: Considerando la relacin materia-pc-alumno, sta tiene dos claves aspirantes sobrepuestas (clavem, npc) y (clavem, ncontrol), considerando las siguientes reglas: Para cada materia, una computadora es usada por slo un alumno, aun cuando el alumno trabaje en ms de una materia. Una materia puede usar distintas computadoras Un alumno utiliza solo una computadora, pero una computadora se puede compartir entre distintos alumnos para distintas materias.

El diagrama de dependencia funcional: Materia-pc-alumno

clavem ncontrol npc

Las anomalas 3nf de la relacin materia-pc-alumno suceden cuando hay dos claves sobrepuestas y cuando uno de los atributos principales depende funcionalmente de uno no-clave. La relacin materia-pc-alumno es 3nf, pero no es BNCF, ya que ncontrol, que no es clave aspirante, es un determinante de npc. El problema puede superarse proyectando la relacin en dos relaciones BCNF. Relacin alumno-pc ncontrolnpc clavemncontrol

Relacin materia-alumno

4.7 Formas normales superiores Cuarta forma normal (4FN). dependencias multivaluadas Para el resto de formas normales (las diseadas por Fagin, mucho ms complejas), es importante definir este tipo de dependencia, que es distinta de las funcionales. Si las funcionales eran la base de la segunda y tercera forma normal (y de la de Boyce-Codd),stas son la base de la cuarta forma normal. Generalmente, un proceso de normalizacin termina cuando todas las relaciones divididas pertenecen a la tercera forma normal. Sin embargo si una relacin contiene dependencias de valores mltiples, es necesaria una normalizacin posterior. Una relacin est en 4NF, si est en BCNF y no contiene DMV (no triviales). Dependencia multivaluada B-->--> A

El atributo A de esta relacin se dice ser dependencia multivaluada (DMV) del atributo B si un rango especificado de valores del atributo A est determinado por un valor particular de B. A,B A C B C DMV trivial DMV no trivial

Dependencia multivalor trivial: La relacin se llama trivial si una combinacin de valores de dos campos determina los valores de uno tercero y se expresa de la siguiente manera: (A,B)C La combinacin de A y B multidetermina a C

Dependencia multivalor no tribial: La relacin se llama no trivial cuando un campo (B) es dependiente multivalor de A, y C tambin es dependiente multivalor de A. Ejemplo: Relacin Inventario =(No_inv, color, talla, precio)
No_inv L1 L1 L1 L1 L1 L1 L1 L1 L2 L2 L2 L2 L2 L2 precio 2 2 2 2 2 2 2 2 4 4 4 4 4 4 color Azul Azul Azul Azul Rojo Rojo Rojo Rojo Verde Verde Rojo Rojo Blanco Blanco talla 1 2 3 4 1 2 3 4 1 2 1 2 1 2

Las dependencias multivaluadas se pueden eliminar siguiendo uno de los dos simples mtodos. 1).-Crear una nueva relacin para cada atributo DMV. Si la cantidad de valores distintos para un atributo DMV es grande o indefinido (que

pueden agregarse ms en el futuro), entonces se puede crear una nueva relacin. Relacin Talla(no_inv, talla) Relacin Color(no_inv, color) Relacin Precio(no_inv, precio) 4NF

2).-Reemplazar un atributo DMV con atributos funcionales dependientes. Si la cantidad de valores distintos en un atributo DMV es un nmero especfico y pequeo, entonces cada uno de los valores del atributo DMV se puede representar por un atributo dentro del mismo registro. Relacin Talla(no_inv, talla) Relacin Inventario(no_inv, precio, color1,color2,color3) Niveles de normalizacin
Sin normalizar 1NF Datos almacenados redundantemente en un archivo no plano La relacin tiene registros por separado para cada valor en cada campo del registro, o cada campo de un registro contiene un solo valor. Cada clave depende total y funcionalmente de su clave principal. Ninguna no-clave depende indirectamente de su clave principal, y cada determinante es clave aspirante. La relacin no contiene claves aspirantes La relacin no contiene dependencias multivalores no triviales

4NF

2nf

3nf BCNF 4nf

Quinta forma normal (4FN). dependencias multivaluadas En esta forma normal se utilizan dependencias de interseccin, en algunos textos se le conoce como forma normal de proyecto producto (PJNF). As como una dependencia multivaluada es una forma de expresar la independencia de un par de relaciones, una dependencia de producto es una forma de expresar que todas las relaciones de un conjunto son independientes. Un diseo de bases de datos esta en 5nf si cada miembro del conjunto del esquema de relaciones que comprende el diseo esta en 5nf. Ejemplo:

Dependencia de producto: *(ncontrol, materia), (ncontrol, actividad), (ncontrol, calif) Este esquema no est en 5nf. Para hacerla 5nf necesitamos descomponer la relacin en las planificaciones especificadas por la dependencia de producto. (ncontrol, materia), (ncontrol, actividad), (ncontrol, calif). Cada dependencia multivaluada es tambin una dependencia de interseccin, es fcil observar que cada esquema 5nf esta tambin en 4nf. 4.9 Integridad de las bases de datos. Integridad de las Bases de Datos, la integridad en una base de datos es la correccin y exactitud de la informacin contenida. Adems de conservar la seguridad en un sistema de bases de datos que permite el acceso a mltiples usuarios en tiempos paralelos. Condiciones de integridad Las condiciones que garantizan la integridad de los datos pueden ser de dos tipos: 1. Las restricciones de integridad de usuario: son condiciones especficas de una base de datos concreta; son las que se deben cumplir en una base de datos articular con unos usuarios concretos, pero que no son necesariamente relevantes en otra base de datos. 2. Las reglas de integridad de modelo: son condiciones propias de un modelo de datos, y se deben cumplir en toda base de datos que siga dicho modelo. Los SGBD deben proporcionar la forma de definir las restricciones de integridad de usuario de una base de datos y una vez definida, debe velar por su cumplimiento. Las reglas de integridad del modelo, en cambio, no se deben definir para cada base de datos concreta, porque se consideran preestablecidas para todas las base de datos de un modelo. Un SGBD de un modelo determinado debe velar por el cumplimiento de las reglas de integridad preestablecidas por su modelo.

Ejercicios de Normalizacin
Vendedores (Normalizar hasta BCNF) clave_vendedor nombre_vendedor curp_vendedor clave_inv nombre_inv color precio existencia clave_cte nombre_cte direccin_cte telefono_cte num_venta fecha_venta cant_vta importe_venta subtotal_vta iva_vta total_vta Biblioteca (Libros escritos y libros prestados) (Normalizar hasta 3NF) ISBN titulo nombre_autor apellidos cod_autor cant_libros_escritos No_cte Nombre_cte Apellidos_cte Direccin_cte telefono_cte cant_libros_prestados Pedidos (Normalizar hasta 3NF) Num_prov nombre_prov

ciudad_prov num_artculo nombre_artculo fecha_pedido cantidad_pedido precio_artculo Banco (Normalizar hasta 3NF) clave_cte nombre_cte direccin_cte telefono_cte clave_cuenta nombre_cuenta monto_minimo_cuenta num_cta saldo Proyectos (Normalizar hasta 3NF) Num_empleado nombre_empleado fecha_nacimiento direccin num_depto nombre_depto num_proyecto nombre_proyecto horas_trabajadas_proyecto

Vous aimerez peut-être aussi