Normalización de bases de datos

Description

mapa acerca de como normalizar las bases de datos
15aos2119m F007
Mind Map by 15aos2119m F007, updated more than 1 year ago
15aos2119m F007
Created by 15aos2119m F007 over 6 years ago
54
0

Resource summary

Normalización de bases de datos
  1. Reglas de Codd
    1. Codd se dio de cuenta que existían bases de datos en el mercado las cuales decían ser relacionales, pero lo único que hacían era guardar la información en las tablas, sin estas tablas estar literalmente normalizadas; entonces éste publicó 12 reglas que un verdadero sistema relacional debería de tener, en la práctica algunas de ellas son difíciles de realizar.Un sistema podrá considerarse "más relacional" cuanto más siga estas reglas.
      1. Toda la información en un RDBMS está explícitamente representada de una sola manera por valores en una tabla. Cualquier cosa que no exista en una tabla no existe del todo. Toda la información, incluyendo nombres de tablas, nombres de vistas, nombres de columnas, y los datos de las columnas deben estar almacenados en tablas dentro de las bases de datos. Las tablas que contienen tal información constituyen el Diccionario de Datos.
        1. Regla No. 1 - La Regla de la información
          1. Cada ítem de datos debe ser lógicamente accesible al ejecutar una búsqueda 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 razón la definición de claves primarias para todas las tablas es prácticamente obligatoria.
            1. Regla No. 2 - La regla del acceso garantizado
              1. La información inaplicable o faltante puede ser representada a través de valores nulos. Un RDBMS (Sistema Gestor de Bases de Datos Relacionales) debe ser capaz de soportar el uso de valores nulos en el lugar de columnas cuyos valores sean desconocidos o inaplicables.
                1. Regla No. 3 - Tratamiento sistemático de los valores nulos
                  1. La descripción 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. La información de tablas, vistas, permisos de acceso de usuarios autorizados, etc, debe ser almacenada exactamente de la misma manera: En tablas. Estas tablas deben ser accesibles igual que todas las tablas, a través de sentencias de SQL.
                    1. Regla No. 4 - La regla de la descripción de la base de datos
                      1. Debe haber al menos un lenguaje que sea integral para soportar la definición de datos, manipulación de datos, definición 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.
                        1. Regla No. 5 - La regla del sub-lenguaje Integral
                          1. Todas las vistas que son teóricamente actualizables, deben ser actualizables por el sistema mismo. La mayoría de las RDBMS permiten actualizar vistas simples, pero deshabilitan los intentos de actualizar vistas complejas
                            1. Regla No. 6 - La regla de la actualización de vistas
                              1. La capacidad de manejar una base de datos con operandos simples aplica no solo para la recuperación o consulta de datos, sino también para la inserción, actualización y borrado de datos. Esto significa que las cláusulas SELECT, UPDATE, DELETE e INSERT deben estar disponibles y operables sobre los registros, independientemente del tipo de relaciones y restricciones que haya entre las tablas.
                                1. Regla No. 7 - La regla de insertar y actualizar
                                  1. El acceso de usuarios a la base de datos a través de terminales o programas de aplicación, debe permanecer consistente lógicamente cuando quiera que haya cambios en los datos almacenados, o sean cambiados los métodos de acceso a los datos. El comportamiento de los programas de aplicación y de la actividad de usuarios vía terminales debería ser predecible basados en la definición lógica de la base de datos, y éste comportamiento debería permanecer inalterado, independientemente de los cambios en la definición física de ésta.
                                    1. Regla No. 8 - La regla de independencia física
                                      1. Los programas de aplicación y las actividades de acceso por terminal deben permanecer lógicamente inalteradas cuando quiera que se hagan cambios (según los permisos asignados) en las tablas de la base de datos. La independencia lógica de los datos especifica que los programas de aplicación y las actividades de terminal deben ser independientes de la estructura lógica, por lo tanto los cambios en la estructura lógica no deben alterar o modificar estos programas de aplicación.
                                        1. Regla No. 9 - La regla de independencia lógica
                                          1. Todas las restricciones de integridad deben ser definibles en los datos, y almacenables en el catalogo, no en el programa de aplicación. Las reglas de integridad son: Ningún componente de una clave primaria puede tener valores en blanco o nulos. (esta es la norma básica de integridad). Para cada valor de clave foránea deberá existir un valor de clave primaria concordante. La combinación de estas reglas aseguran que haya Integridad referencial.
                                            1. Regla No. 10 - La regla de la independencia de la integridad
                                              1. El sistema debe poseer un lenguaje de datos que pueda soportar que la base de datos esté distribuida físicamente en distintos lugares sin que esto afecte o altere a los programas de aplicación. El soporte para bases de datos distribuidas significa que una colección arbitraria de relaciones, bases de datos corriendo en una mezcla de distintas máquinas y distintos sistemas operativos y que este conectada por una variedad de redes, pueda funcionar como si estuviera disponible como una única base de datos en una sola máquina.
                                                1. Regla No. 11 - La regla de la distribución
                                                  1. 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 subversión (violación) de las restricciones de integridad. Esto no debe ser permitido.
                                                    1. Regla No. 12 - Regla de la no-subversión
                          2. Primera forma normal
                            1. La regla de la Primera Forma Normal establece que las columnas repetidas deben eliminarse y colocarse en tablas separadas.
                              1. Elimine los grupos repetidos de las tablas individuales.
                                1. Cree una tabla independiente para cada conjunto de datos relacionados.
                                  1. Poner la base de datos en la Primera Forma Normal resuelve el problema de los encabezados de columna múltiples. Muy a menudo, los diseñadores de bases de datos inexpertos harán algo similar a la tabla no normalizada. Una y otra vez, crearán columnas que representen los mismos datos. La normalización ayuda a clarificar la base de datos y a organizarla en partes más pequeñas y más fáciles de entender. En lugar de tener que entender una tabla gigantesca y monolítica que tiene muchos diferentes aspectos, sólo tenemos que entender los objetos pequeños y más tangibles, así como las relaciones que guardan con otros objetos también pequeños
                                    1. ¿Qué ocurre cuando se agrega un tercer proveedor? Agregar un campo no es la respuesta, requiere modificaciones en las tablas y el programa, y no admite fácilmente un número variable de proveedores. En su lugar, coloque toda la información de los proveedores en una tabla independiente denominada Proveedores y después vincule el inventario a los proveedores con el número de elemento como clave, o los proveedores al inventario con el código de proveedor como clave.
                                      1. “Cuando se manipulan las relaciones de un modelo de visión se les trata como conjuntos matemáticos de eneadas (tuplas). Esto requiere entre otras cosas, que los atributos dentro de cada eneada sean ordenados y completos, y que los dominios permitan sólo valores simples. Los valores simples no pueden descomponerse en múltiples valores y no pueden por sí mismos ser conjuntos o relaciones."
                                        1. Al proceso de eliminar grupos anidados se le denomina NORMALIZACION, y a las relaciones resultantes se les considera expresadas en la PRIMERA FORMA NORMAL
                                          1. Segunda Forma Normal
                                            1. La regla de la Segunda Forma Normal establece que todas las dependencias parciales se deben eliminar y separar dentro de sus propias tablas. Una dependencia parcial es un término que describe a aquellos datos que no dependen de la llave primaria de la tabla para identificarlos
                                              1. Una vez alcanzado el nivel de la Segunda Forma Normal, se controlan la mayoría de los problemas de lógica. Podemos insertar un registro sin un exceso de datos en la mayoría de las tablas.
                                                1. Cree tablas independientes para conjuntos de valores que se apliquen a varios registros.
                                                  1. Relacione estas tablas con una clave externa
                                                    1. Los registros no deben depender de nada que no sea una clave principal de una tabla, una clave compuesta si es necesario. Por ejemplo, considere la dirección de un cliente en un sistema de contabilidad. La dirección se necesita en la tabla Clientes, pero también en las tablas Pedidos, Envíos, Facturas, Cuentas por cobrar y Colecciones. En lugar de almacenar la dirección de un cliente como una entrada independiente en cada una de estas tablas, almacénela en un lugar, ya sea en la tabla Clientes o en una tabla Direcciones independiente.
                                                      1. Tercera Forma Normal
                                                        1. Elimine los campos que no dependan de la cla
                                                          1. Una tabla está normalizada en esta forma si todas las columnas que no son llave son funcionalmente dependientes por completo de la llave primaria y no hay dependencias transitivas. Comentamos anteriormente que una dependencia transitiva es aquella en la cual existen columnas que no son llave que dependen de otras columnas que tampoco son llave.
                                                            1. Cuando las tablas están en la Tercera Forma Normal se previenen errores de lógica cuando se insertan o borran registros. Cada columna en una tabla está identificada de manera única por la llave primaria, y no deben haber datos repetidos. Esto provee un esquema limpio y elegante, que es fácil de trabajar y expandir.
                                                              1. EXCEPCIÓN: cumplir la tercera forma normal, aunque en teoría es deseable, no siempre es práctico. Si tiene una tabla Clientes y desea eliminar todas las dependencias posibles entre los campos, debe crear tablas independientes para las ciudades, códigos postales, representantes de venta, clases de clientes y cualquier otro factor que pueda estar duplicado en varios registros. En teoría, la normalización merece el trabajo que supone. Sin embargo, muchas tablas pequeñas pueden degradar el rendimiento o superar la capacidad de memoria o de archivos abiertos
                                                                1. Puede ser más factible aplicar la tercera forma normal sólo a los datos que cambian con frecuencia. Si quedan algunos campos dependientes, diseñe la aplicación para que pida al usuario que compruebe todos los campos relacionados cuando cambie alguno.
                                      2. Identifique cada conjunto de datos relacionados con una clave principal.
                                    2. Qué es la normalización
                                      1. La normalización es el proceso mediante el cual se transforman datos complejos a un conjunto de estructuras de datos más pequeñas, que además de ser más simples y más estables, son más fáciles de mantener.
                                        1. También se puede entender la normalización como una serie de reglas que sirven para ayudar a los diseñadores de bases de datos a desarrollar un esquema que minimice los problemas de lógica. Cada regla está basada en la que le antecede. La normalización se adoptó porque el viejo estilo de poner todos los datos en un solo lugar, como un archivo o una tabla de la base de datos, era ineficiente y conducía a errores de lógica cuando se trataban de manipular los datos.
                                          1. La normalización también hace las cosas fáciles de entender. Los seres humanos tenemos la tendencia de simplificar las cosas al máximo.
                                            1. Lo hacemos con casi todo, desde los animales hasta con los automóviles. Vemos una imagen de gran tamaño y la hacemos más simple agrupando cosas similares juntas.
                                              1. Las guías que la normalización provee crean el marco de referencia para simplificar una estructura de datos compleja.
                                                1. Otra ventaja de la normalización de base de datos es el consumo de espacio. Una base de datos normalizada ocupa menos espacio en disco que una no normalizada.
                                                  1. Hay menos repetición de datos, lo que tiene como consecuencia un mucho menor uso de espacio en disco.
                                                    1. El proceso de normalización tiene un nombre y una serie de reglas para cada fase. Esto puede parecer un poco confuso al principio, pero poco a poco se va entendiendo el proceso, así como las razones para hacerlo de esta manera.
                                                      1. Grados de normalización
                                                        1. Existen básicamente tres niveles de normalización: Primera Forma Normal (1NF), Segunda Forma Normal (2NF) y Tercera Forma Normal (3NF).
                                                          1. Cada una de estas formas tiene sus propias reglas. Cuando una base de datos se conforma a un nivel, se considera normalizada a esa forma de normalización. No siempre es una buena idea tener una base de datos conformada en el nivel más alto de normalización, puede llevar a un nivel de complejidad que pudiera ser evitado si estuviera en un nivel más bajo de normalización.
                                          2. Terminología equivalente
                                            1. relación = tabla o archivo
                                              1. tupla = registro, fila o renglón
                                                1. atributo = campo o columna
                                                  1. base de datos = banco de datos
                                                    1. dependencia multivaluada = dependencia multivalor
                                                      1. clave = llave
                                                        1. clave primaria = superclave
                                                          1. clave ajena = clave extranjera o clave foránea
                                                            1. RDBMS = del inglés Relational Data Base Manager System que significa, Sistema Gestor de Base de Datos Relacionales
                                                              1. Claves
                                                                1. Clave ajena
                                                                  1. Cuando se tienen dos tablas o más, una clave ajena es aquella columna de una tabla que hace referencia a una clave primaria de otra tabla.
                                                                    1. La base de datos no debe conter valores de clave ajena sin concordancia. Así como los valores de clave primaria representan identificadores de entidades, las claves ajenas representan referencia a entidades.
                                                                      1. Regla de Integridad Referencial
                                                                        1. Por lo general la forma más eficiente y segura para escoger o hacer la clave primaria es poniendo un número y aumentando éste a medida que se van añadiendo filas, pero si de casualidad se diera el caso de que existan varias claves candidatas de las cuales se deba escoger la clave primaria, esta elección se hace utilizando el sentido común.
                                                                          1. Clave candidata
                                                                            1. Son aquellas claves candidatas que no han sido elegidas
                                                                              1. Claves alternativas
                                                                                1. Es una clave que esta compuesta solo de un atributo
                                                                                  1. Clave simple
                                                                                    1. Es una clave que esta compuesta por más de un atributo.
                                                                                      1. Clave compuesta
                                                    2. Objetivo de la normalización
                                                      1. Evitar la redundancia de los datos.
                                                        1. Evitar problemas de actualización de los datos en las tablas.
                                                          1. Proteger la integridad de los datos.
                                                            1. Cada columna debe tener su nombre único.
                                                              1. No puede haber dos filas iguales. No se permiten los duplicados.
                                                                1. Todos los datos en una columna deben ser del mismo tipo
                                                                  1. Organizar los datos en grupos lógicos, de tal manera que cada grupo describa una pequeña parte del todo.
                                                                    1. Minimizar la cantidad de datos duplicados almacenados en una base de datos.
                                                                      1. Perfeccionar la organización de los datos de tal manera que, cuando se necesite introducir modificaciones, el cambio sólo deba aplicarse en un lugar.
                                                                        1. Construir una base de datos a la que se pueda acceder de forma rápida y donde sea posible manipular los datos con la máxima eficiencia y sin comprometer su integridad.
                                                      2. EPO 331 INFORMÁTICA Karla Hughes
                                                        Show full summary Hide full summary

                                                        Similar

                                                        MENTEFACTO BASE DE DATOS
                                                        jessica patiño
                                                        Las Hipótesis
                                                        NEIL BERNAL R.
                                                        Mapa Conceptual de la arquitectura de base de datos
                                                        Alan Alvarado
                                                        IDENTIFICACIÓN DE OBJETIVOS ESTABLECIDOS EN EL SISTEMA DE GESTIÓN DE LA CALIDAD
                                                        Xelii PHz
                                                        LA COMUNICACIÓN NO VERBAL
                                                        Cecilia Gudiño
                                                        Los Valores en mi Proyecto de Vida
                                                        Fabián Muriel Zapata
                                                        EL PRESUPUESTO
                                                        Sandra Alvarez
                                                        Las Hipótesis
                                                        Fernanda Rodriguez
                                                        Creación de un glosario
                                                        palomares07
                                                        PRODUCTIVIDAD POR OBJETIVOS
                                                        Glenda María
                                                        Mapa mental Base de datos
                                                        sebastian97-19