Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porPepe Escobar Modificado hace 10 años
1
NORMALIZACION DE DATOS ANDREA CATALINA GALLEGO GONZALEZ
2
INTRODUCCIÒN El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional. El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.bases de datosmodelo entidad-relaciónmodelo relacionalbases de datosmodelo entidad-relaciónmodelo relacional Las bases de datos relacionales se normalizan para: Las bases de datos relacionales se normalizan para: Evitar la redundancia de los datos. Evitar la redundancia de los datos.redundancia Evitar problemas de actualización de los datos en las tablas. Evitar problemas de actualización de los datos en las tablas. Proteger la integridad de los datos. Proteger la integridad de los datos.integridad En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla sea considerada como una relación tiene que cumplir con algunas restricciones: En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla sea considerada como una relación tiene que cumplir con algunas restricciones:tabla Cada columna debe tener su nombre único. Cada columna debe tener su nombre único. No puede haber dos filas iguales. No se permiten los duplicados. No puede haber dos filas iguales. No se permiten los duplicados.filas Todos los datos en una columna deben ser del mismo tipo. Todos los datos en una columna deben ser del mismo tipo.columna
3
CLAVES Una clave primaria es aquella columna (pueden ser también dos columnas o más) que identifica únicamente a esa fila. La clave primaria es un identificador que va a ser único para cada fila. Se acostumbra poner la clave primaria como la primera columna de la tabla pero esto no tiene que ser necesario, si no es más una conveniencia. Muchas veces la clave primaria es autonumérica En una tabla puede que tengamos más de una clave, en tal caso se puede escoger una para ser la clave primaria, las demás claves son las claves candidatas.además es la posible clave primaria.
4
CLAVE Una clave foránea es aquella columna que existiendo como dependiente en una tabla, es a su vez clave primaria en otra tabla. Una clave foránea es aquella columna que existiendo como dependiente en una tabla, es a su vez clave primaria en otra tabla. Una clave alternativa es aquella clave candidata que no ha sido seleccionada como clave primaria, pero que también puede identificar de forma única a una fila dentro de una tabla. Ejemplo: Si en un tabla clientes definimos el número de documento (id_cliente) como clave primaria, el número de seguro social de ese cliente podría ser una clave alternativa. En este caso no se usó como clave primaria porque es posible que no se conozca ese datos en todos los clientes. Una clave alternativa es aquella clave candidata que no ha sido seleccionada como clave primaria, pero que también puede identificar de forma única a una fila dentro de una tabla. Ejemplo: Si en un tabla clientes definimos el número de documento (id_cliente) como clave primaria, el número de seguro social de ese cliente podría ser una clave alternativa. En este caso no se usó como clave primaria porque es posible que no se conozca ese datos en todos los clientes. Una clave compuesta es una clave que está compuesta por más de una columna. Una clave compuesta es una clave que está compuesta por más de una columna.
6
Normalización de datos A través del siguiente ejercicio se intenta afirmar los conocimientos de normalización con un ejemplo simplificado de una base de datos para una pequeña biblioteca. A través del siguiente ejercicio se intenta afirmar los conocimientos de normalización con un ejemplo simplificado de una base de datos para una pequeña biblioteca. CodLibr o TituloAutorEditorialNombreLecto r FechaD ev 1001 Variable compleja Murray Spiegel McGraw Hill Pérez Gómez, Juan 15/04/2 005 1004Visual Basic 5 E. Petroustsos Anaya Ríos Terán, Ana 17/04/2 005 1005Estadística Murray Spiegel McGraw Hill Roca, René 16/04/2 005 1006 Oracle University Nancy Greenberg y Priya Nathan Oracle Corp. García Roque, Luis 20/04/2 005 1007Clipper 5.01Ramalho McGraw Hill Pérez Gómez, Juan 18/04/2 005
7
Normalización de datos Esta tabla no cumple el requisito de la Primera Forma Normal (1NF) de sólo tener campos atómicos, pues el nombre del lector es un campo que puede (y conviene) descomponerse en apellido paterno, apellido materno y nombres. Tal como se muestra en la siguiente tabla. Esta tabla no cumple el requisito de la Primera Forma Normal (1NF) de sólo tener campos atómicos, pues el nombre del lector es un campo que puede (y conviene) descomponerse en apellido paterno, apellido materno y nombres. Tal como se muestra en la siguiente tabla.
8
Normalización de datos CodLibroTituloAutorEditorialPaternoMaternoNombresFechaDev 1001Variable complejaMurray SpiegelMcGraw HillPérezGómezJuan15/04/2005 1004Visual Basic 5E. PetroustsosAnayaRíosTeránAna17/04/2005 1005EstadísticaMurray SpiegelMcGraw HillRocaRené16/04/2005 1006Oracle UniversityNancy GreenbergOracle Corp.GarcíaRoqueLuis20/04/2005 1006Oracle UniversityPriya NathanOracle Corp.GarcíaRoqueLuis20/04/2005 1007Clipper 5.01RamalhoMcGraw HillPérezGómezJuan18/04/2005
9
Como se puede ver, hay cierta redundancia característica de 1NF. Como se puede ver, hay cierta redundancia característica de 1NF. La Segunda Forma Normal (2NF) pide que no existan dependencias parciales o dicho de otra manera, todos los atributos no clave deben depender por completo de la clave primaria. Actualmente en nuestra tabla tenemos varias dependencias parciales si consideramos como atributo clave el código del libro. La Segunda Forma Normal (2NF) pide que no existan dependencias parciales o dicho de otra manera, todos los atributos no clave deben depender por completo de la clave primaria. Actualmente en nuestra tabla tenemos varias dependencias parciales si consideramos como atributo clave el código del libro. Por ejemplo, el título es completamente identificado por el código del libro, pero el nombre del lector en realidad no tiene dependencia de este código, por tanto estos datos deben ser trasladados a otra tabla. Por ejemplo, el título es completamente identificado por el código del libro, pero el nombre del lector en realidad no tiene dependencia de este código, por tanto estos datos deben ser trasladados a otra tabla.
10
Normalización de datos CodLibroTituloAutorEditorial 1001Variable complejaMurray SpiegelMcGraw Hill 1004Visual Basic 5E. PetroustsosAnaya 1005EstadísticaMurray SpiegelMcGraw Hill 1006Oracle UniversityNancy GreenbergOracle Corp. 1006Oracle UniversityPriya NathanOracle Corp. 1007Clipper 5.01RamalhoMcGraw Hill
11
Normalización de datos CodLectorPaternoMaternoNombres 501PérezGómezJuan 502RíosTeránAna 503RocaRené 504GarcíaRoqueLuis La nueva tabla sólo contendrá datos del lector.
12
Normalización de datos Hemos creado una tabla para contener los datos del lector y también tuvimos que crear la columna CodLector para identificar unívocamente a cada uno. Sin embargo, esta nueva disposición de la base de datos necesita que exista otra tabla para mantener la información de qué libros están prestados a qué lectores. Esta tabla se muestra a continuación:
13
CodLibroCodLectorFechaDev 100150115/04/2005 100450217/04/2005 100550316/04/2005 100650420/04/2005 100750118/04/2005
14
Para la Tercera Forma Normal (3NF) la relación debe estar en 2NF y además los atributos no clave deben ser mutuamente independientes y dependientes por completo de la clave primaria. También recordemos que dijimos que esto significa que las columnas en la tabla deben contener solamente información sobre la entidad definida por la clave primaria y, por tanto, las columnas en la tabla deben contener datos acerca de una sola cosa. Para la Tercera Forma Normal (3NF) la relación debe estar en 2NF y además los atributos no clave deben ser mutuamente independientes y dependientes por completo de la clave primaria. También recordemos que dijimos que esto significa que las columnas en la tabla deben contener solamente información sobre la entidad definida por la clave primaria y, por tanto, las columnas en la tabla deben contener datos acerca de una sola cosa. En nuestro ejemplo en 2NF, la primera tabla conserva información acerca del libro, los autores y editoriales, por lo que debemos crear nuevas tablas para satisfacer los requisitos de 3NF. En nuestro ejemplo en 2NF, la primera tabla conserva información acerca del libro, los autores y editoriales, por lo que debemos crear nuevas tablas para satisfacer los requisitos de 3NF.
15
CodLibroTitulo 1001 Variable compleja 1004 Visual Basic 5 1005 Estadística 1006 Oracle University 1007 Clipper 5.01
16
CodAutorAutor 801 Murray Spiegel 802 E. Petroustsos 803 Nancy Greenberg 804 Priya Nathan 806 Ramalho CodEditorialEditorial 901 McGraw Hill 902 Anaya 903 Oracle Corp.
17
Aunque hemos creado nuevas tablas para que cada una tenga sólo información acerca de una entidad, también hemos perdido la información acerca de qué autor ha escrito qué libro y las editoriales correspondientes, por lo que debemos crear otras tablas que relacionen cada libro con sus autores y editoriales Aunque hemos creado nuevas tablas para que cada una tenga sólo información acerca de una entidad, también hemos perdido la información acerca de qué autor ha escrito qué libro y las editoriales correspondientes, por lo que debemos crear otras tablas que relacionen cada libro con sus autores y editoriales
18
VENTAJAS Integridad de datos (porque no hay datos redundantes ni omitidos). Integridad de datos (porque no hay datos redundantes ni omitidos). Consultas optimizadas (porque las tablas normalizadas generan combinaciones eficaces y rápidas). Consultas optimizadas (porque las tablas normalizadas generan combinaciones eficaces y rápidas). Creación y ordenación de índices más rápidas (porque las tablas tienen menos columnas). Creación y ordenación de índices más rápidas (porque las tablas tienen menos columnas). Ejecución más rápida de la instrucción UPDATE (porque hay menos índices por tabla). Ejecución más rápida de la instrucción UPDATE (porque hay menos índices por tabla). Resolución de concurrencias mejorada (porque los bloqueos de tabla afectarán a menos datos). Resolución de concurrencias mejorada (porque los bloqueos de tabla afectarán a menos datos).
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.