Documentos de Académico
Documentos de Profesional
Documentos de Cultura
124 104 95 95
ocurrir cuando la base de datos modela conocimiento tcnico, que escapa al sentido comn). Otra manera, relacionada con el ejemplo anterior, es comprobar dependencias funcionales sobre una gran poblacin de datos usando la definicin. EJEMPLO Una dependencia funcional es una relacin de dependencia entre uno o ms atributos. Por ejemplo si conocemos el valor FechaDeNacimiento podemos conocer el valor de Edad. Las dependencias funcionales se escriben utilizando una flecha, de la siguiente manera: FechaDeNacimiento -> Edad Aqu a FechaDeNacimiento se le conoce como un determinante. Se puede leer de dos formas FechaDeNacimiento determina a Edad o Edad es funcionalmente dependiente de FechaDeNacimiento. De la normalizacin (lgica) a la implementacin (fsica o real) puede ser sugerible tener stas dependencias funcionales para lograr mayor eficiencia en las tablas. VEAMOS OTRO EJEMPLO: Tenemos la entidad Entidad Auto (CodigoAuto, Modelo, NroPlaca, Color, Capacidad, Ao)
DEPENDENCIA FUNCIONAL TRANSITIVA Supongamos que en una relacin en la que los estudiantes solo pueden estar matriculados en un solo curso y supongamos que los profesores solo pueden dar un curso. ID_Estudiante -> Curso_Tomando Curso_Tomando -> Profesor_Asignado ID_Estudiante -> Curso_Tomando -> Profesor_Asignado Entonces tenemos que ID_Estudiante determina a Curso_Tomando y el Curso_Tomando determina a Profesor_Asignado, indirectamente podemos saber a travs del ID_estudiante el Profesor_Asignado. Entonces en la relacin tenemos una dependencia transitiva entre alumno y profesor.
VEAMOS OTRO EJEMPLO: IdCliente -> Venta realizada Venta realizada -> Vendedor encargado IdCliente -> Venta realizada -> Vendedor encargado Entonces tenemos que el IdCliente determina a quin se le hizo la venta, y la venta realizada determina qu vendedor llev a cabo la venta. Entonces en la relacin tenemos una dependencia transitiva entre el cliente y el vendedor.
NORMALIZACIN DE DATOS
La normalizacin de datos es el proceso de transformacin de las entidades complejas en entidades simples, siempre que se normaliza se crean por lo menos dos entidades nuevas. Esta es otra forma de encontrar las entidades del proceso de negocio, por medio de los documentos que son los que se puede normalizar, podemos disear los modelos de datos. CUL ES EL OBJETIVO DE LA NORMALIZACIN? El objetivo principal es el de evitar la redundancia de los datos en las tablas, mejorar u optimizar el diseo del sistema para brindar una mejor performance de los procesos. Solo un diseo normalizado puede garantizar que nuestro sistema cumple con los requisitos de los usuarios. Adems Evitar problemas de actualizacin de los datos en las tablas. Proteger la integridad de los datos.
EVITAR LA REDUNDANCIA!
Diremos entonces: El campo Nombre y Apellido tienen DF con la clave Cdigo.Nota1, Nota2 y Promedio no tienen DF con la clave Cdigo. Slo aquellos atributos que pertenezcan a las caractersticas propias de la entidad, tienen dependencia funcional con la PK, sino dependen funcionalmente de la clave principal, entonces no pertenecen a la entidad. PASOS DE LA 1FN: 1. Identificar los grupos repetitivos y no repetitivos (GR, GNR). 2. Remover los GR y crear una nueva entidad con ellos. 3. Llevar la clave a la nueva entidad. Para explicar las formas normales, utilizaremos una factura de venta la cual iremos descomponiendo paso a paso. Tenemos una factura cuyo modelo es simple, una tpica factura de una bodega o una farmacia por ejemplo, debemos ubicar todos aquellos datos que representan informacin importante para el negocio, las listamos para luego proceder a normalizarlo. Aqu la lista de atributos encontrados
Diremos: Atributo 1 tiene DFC con ambas claves, Atributo 2 no tiene DFC con ambas claves, entonces remover Atributo 2. PASOS DE LA 2FN 1. Identificar los atributos con dependencia funcional incompleta. 2. Remover los atributos con DF incompleta y crear una nueva entidad. 3. Llevar la clave a la nueva entidad.
Diremos entonces que: La entidad A es transitiva a la entidad C, relacin indirecta por medio dela entidad B PASOS DE LA 3FN 1. Identificar los atributos no claves con DF con otros atributos no claves. 2. Remover los atributos transitivos y crear una nueva entidad. 3. Llevar la clave a la nueva entidad. 4.
Para que un diseo de datos tenga credibilidad y de suficiente soporte al cumplimiento de requerimiento de los usuarios, se acepta hasta la 3FN, es decir, si el diseo se encuentra normalizado hasta la 3FN entonces cumple con los requisitos del sistema, este ejemplo quedara as:
Debemos resolver creando dos nuevas entidades con los atributos multivaluados para evitar as la redundancia de datos.
Reglas de Codd
Codd se percat de que existan bases de datos en el mercado las cuales decan ser relacionales, pero lo nico que hacan era guardar la informacin en las tablas, sin estar estas tablas literalmente normalizadas; entonces ste public 12 reglas que un verdadero sistema relacional debera tener, en la prctica algunas de ellas son difciles de realizar. Un sistema podr considerarse "ms relacional" cuanto ms siga estas reglas.
Regla No. 1 - La Regla de la informacin Toda la informacin en un RDBMS est explcitamente representada de una sola manera por valores en una tabla. Regla No. 2 - La regla del acceso garantizado Cada tem de datos debe ser lgicamente accesible al ejecutar una bsqueda que combine el nombre de la tabla, su clave primaria, y el nombre de la columna. Esto significa que dado un nombre de tabla, dado el valor de la clave primaria, y dado el nombre de la columna requerida, deber encontrarse uno y solamente un valor. Por esta razn la definicin de claves primarias para todas las tablas es prcticamente obligatoria. Regla No. 3 - Tratamiento sistemtico de los valores nulos La informacin inaplicable o faltante puede ser representada a travs de valores nulos Regla No. 4 - La regla de la descripcin de la base de datos La descripcin de la base de datos es almacenada de la misma manera que los datos ordinarios, esto es, en tablas y columnas, y debe ser accesible a los usuarios autorizados. Regla No. 5 - La regla del sub-lenguaje Integral Debe haber al menos un lenguaje que sea integral para soportar la definicin de datos, manipulacin de datos, definicin de vistas, restricciones de integridad, y control de autorizaciones y transacciones. Esto significa que debe haber por lo menos un lenguaje con una sintaxis bien definida que pueda ser usado para administrar completamente la base de datos. Regla No. 6 - La regla de la actualizacin de vistas Todas las vistas que son tericamente actualizables, deben ser actualizables por el sistema mismo. La mayora de las RDBMS permiten actualizar vistas simples, pero deshabilitan los intentos de actualizar vistas complejas. Regla No. 7 - La regla de insertar y actualizar La capacidad de manejar una base de datos con operandos simples aplica no slo para la recuperacin o consulta de datos, sino tambin para la insercin, actualizacin y borrado de datos'. Esto significa que las clusulas para leer, escribir, eliminar y agregar registros (SELECT, UPDATE, DELETE e INSERT en SQL) deben estar disponibles y operables, independientemente del tipo de relaciones y restricciones que haya entre las tablas o no.
10
Regla No. 8 - La regla de independencia fsica El acceso de usuarios a la base de datos a travs de terminales o programas de aplicacin, debe permanecer consistente lgicamente cuando quiera que haya cambios en los datos almacenados, o sean cambiados los mtodos de acceso a los datos. Regla No. 9 - La regla de independencia lgica La independencia lgica de los datos especifica que los programas de aplicacin y las actividades de terminal deben ser independientes de la estructura lgica, por lo tanto los cambios en la estructura lgica no deben alterar o modificar estos programas de aplicacin. Regla No. 10 - La regla de la independencia de la integridad Todas las restricciones de integridad deben ser definibles en los datos, y almacenables en el catlogo, no en el programa de aplicacin. Regla No. 11 - La regla de la distribucin El soporte para bases de datos distribuidas significa que una coleccin arbitraria de relaciones, bases de datos corriendo en una mezcla de distintas mquinas y distintos sistemas operativos y que est conectada por una variedad de redes, pueda funcionar como si estuviera disponible como en una nica base de datos en una sola mquina. Regla No. 12 - Regla de la no-subversin Si el sistema tiene lenguajes de bajo nivel, estos lenguajes de ninguna manera pueden ser usados para violar la integridad de las reglas y restricciones expresadas en un lenguaje de alto nivel (como SQL). Algunos productos solamente construyen una interfaz relacional para sus bases de datos No relacionales, lo que hace posible la subversin (violacin) de las restricciones de integridad. Esto no debe ser permitido.
11
Proyeccin-Unin Extra Fuerte y Forma Normal de Clave de Dominio. Estas formas de normalizacin pueden llevar las cosas ms all de lo que necesitamos. stas existen para hacer una base de datos realmente relacional. Tienen que ver principalmente con dependencias mltiples y claves relacionales.
EN RESUMEN
La normalizacin es una tcnica que se utiliza para crear relaciones lgicas apropiadas entre tablas de una base de datos. Ayuda a prevenir errores lgicos en la manipulacin de datos. La normalizacin facilita tambin agregar nuevas columnas sin romper el esquema actual ni las relaciones. Existen varios niveles de normalizacin: Primera Forma Normal, Segunda Forma Normal, Tercera Forma Normal, Forma Normal Boyce-Codd y Cuarta Forma Normal. Cada nuevo nivel o forma nos acerca ms a hacer una base de datos verdaderamente relacional. Las primeras tres formas proveen suficiente nivel de normalizacin para cumplir con las necesidades de la mayora de las bases de datos. Normalizar demasiado puede conducir a tener una base de datos ineficiente y hacer a su esquema demasiado complejo para trabajar. Un balance apropiado de sentido comn y prctico puede ayudarnos a decidir cundo normalizar.
12