1 1 2 2 - - 1 1 1 1 - - 2 2 0 0 1 1 4 4
1
1
Esta tabla no cumple el requisito de la Primera Forma Normal (1NF) de sólo tener 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) 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 descomponerse en apellido paterno, apellido materno y nombres. Tal como se muestra en la siguiente tabla.
siguiente tabla.
CodLibro
CodLibro Titulo Titulo Autor Autor editorial editorial Paterno Paterno Materno Materno Nombres Nombres FechaDevFechaDev 1001
1001 Variable Variable compleja compleja Murray Murray Spiegel Spiegel McGraw McGraw Hill Hill Pérez Pérez Gómez Gómez Juan Juan 15/04/201415/04/2014 1004
1004 Visual Visual Basic Basic 5 5 E. E. Petroustsos Petroustsos Anaya Anaya Ríos Ríos Terán Terán Ana Ana 17/04/201417/04/2014 1005
1005 Estadística Estadística Murray Murray Spiegel Spiegel McGraw Hill McGraw Hill Roca Roca René René 16/04/201416/04/2014 1006
1006 Oracle University Oracle University NancyGreenbNancyGreenberg erg Oracle Oracle Corp. Corp. García García Roque Roque Luis Luis 20/04/201420/04/2014 1006
1006 Oracle University Oracle University Priya Priya Nathan Nathan Oracle Oracle Corp. Corp. García García Roque Roque Luis Luis 20/04/201420/04/2014 1007
1007 Clipper Clipper 5.01 5.01 Ramalho Ramalho McGraw McGraw Hill Hill Pérez Pérez Gómez Gómez Juan Juan 18/04/201418/04/2014
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 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 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 primaria. Actualmente en nuestra tabla tenemos varias dependencias parciales si consideramos como atributo clave el código del libro.
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 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 nombre del lector en realidad no tiene dependencia de este código, por tanto estos datos deben ser trasladados a otra tabla.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial
Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial
CodLibro
CodLibro TituloTitulo Autor Autor Editorial Editorial 1001
1001 Variable Variable compleja compleja Murray Murray Spiegel Spiegel McGraw McGraw HilHil 1004
1004 Visual Visual Basic Basic 5 5 E. E. Petroustsos Petroustsos AnayaAnaya 1005
1005 Estadística Estadística Murray Murray Spiegel Spiegel McGraw McGraw HillHill 1006
1006 Oracle Oracle University University NancyGreenbeNancyGreenberg rg Oracle Oracle CorpCorp 1006
1006 Oracle Oracle University University Priya Priya Nathan Nathan Oracle Oracle Corp.Corp. 1007
1007 Clipper Clipper 5.01 5.01 Ramalho Ramalho McGraw McGraw HillHill
La nueva tabla sólo contendrá datos del lector. La nueva tabla sólo contendrá datos del lector.
CodLector
CodLector PaternoPaterno MaternoMaterno NombresNombres 501
501 Pérez Pérez Gómez Gómez JuanJuan 502
502 Ríos Ríos Terán Terán AnaAna 503
503 Roca Roca RenéRené 504
504 García García Roque Roque LuisLuis
Hemos creado una tabla para contener los datos del lector y también tuvimos que 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 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 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 información de qué libros están prestados a qué lectores. Esta tabla se muestra a continuación:
continuación:
CodLibro
CodLibro CodLector CodLector FechaDev FechaDev 1001 1001 501 501 15/04/201415/04/2014 1004 1004 502 502 17/04/201417/04/2014 1005 1005 503 503 16/04/201416/04/2014 1006 1006 504 504 20/04/201420/04/2014 1007 1007 501 501 18/04/201418/04/2014
Para la Tercera Forma Normal (3NF) la relación debe estar en 2NF y además los 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 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 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, 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.
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 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 autores y editoriales, por lo que debemos crear nuevas tablas para satisfacer los requisitos de 3NF.
3NF.
CodLibro
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial
CodAutor
CodAutor Autor Autor 801
801 Murray Murray SpiegelSpiegel 802
802 E. E. PetroustsosPetroustsos 803
803 Nancy Nancy GreenbergGreenberg 804
804 Priya Priya NathanNathan 806 Ramalho 806 Ramalho
CodEditorial
CodEditorial Editorial Editorial 901
901 McGraw McGraw HillHill 902 Anaya 902 Anaya 903
903 Oracle Oracle CorpCorp
Aunque hemos creado nuevas tablas para que cada una tenga sólo información acerca 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é 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 libro y las editoriales correspondientes, por lo que debemos crear otras tablas que relacionen cada libro con sus autores y editoriales.
cada libro con sus autores y editoriales. CodLibro
CodLibro codEditorial codEditorial
1001 901 1001 901 1004 902 1004 902 1005 901 1005 901 1006 903 1006 903 1007 901 1007 901 CodLibro
CodLibro codAutor codAutor
1001 801 1001 801 1004 802 1004 802 1005 801 1005 801 1006 803 1006 803 1006 804 1006 804 1007 806 1007 806
Y el resto de las tablas no necesitan modificación. Y el resto de las tablas no necesitan modificación.
CodLector
CodLector PaternoPaterno MaternoMaterno NombresNombres 501
501 Pérez Pérez Gómez Gómez JuanJuan 502
502 Ríos Ríos Terán Terán AnaAna 1007
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial
CodLibro
CodLibro CodLector CodLector FechaDev FechaDev 1001 1001 501 501 15/04/201415/04/2014 1004 1004 502 502 17/04/201417/04/2014 1005 1005 503 503 16/04/201416/04/2014 1006 1006 504 504 20/04/201420/04/2014 1007 1007 501 501 18/04/201418/04/2014 2.
2. Un dato sin normalizar no cumple con ninguna regla de normalización. Para explicarUn dato sin normalizar no cumple con ninguna regla de normalización. Para explicar con un ejemplo en qué consiste cada una de las reglas, vamos a considerar los datos con un ejemplo en qué consiste cada una de las reglas, vamos a considerar los datos de la siguiente tabla.
de la siguiente tabla. Ordenes
Ordenes Id_orden
Id_orden Fecha Fecha Id_cliente Id_cliente Nom_cliente Nom_cliente Provincia Provincia Num_art Num_art nom_art nom_art cant cant PrecioPrecio 2301
2301 23/02/14 23/02/14 101 101 Martin Martin Cajamarca Cajamarca 3786 3786 Red Red 3 3 35,0035,00 2301
2301 23/02/14 23/02/14 101 101 Martin Martin Cajamarca Cajamarca 4011 4011 Raqueta Raqueta 6 6 65,0065,00 2301
2301 23/02/14 23/02/14 101 101 Martin Martin Cajamarca Cajamarca 9132 9132 Paq-3 Paq-3 8 8 4,754,75 2302
2302 25/02/14 25/02/14 107 107 Herman Herman Lima Lima 5794 5794 Paq-6 Paq-6 4 4 5,005,00 2303
2303 27/02/14 27/02/14 110 110 Pedro Pedro Piura Piura 4011 4011 Raqueta Raqueta 2 2 65,0065,00 2303
2303 27/02/14 27/02/14 110 110 Pedro Pedro Piura Piura 3141 3141 Funda Funda 2 2 10,0010,00
Al examinar estos registros, podemos darnos cuenta que contienen un grupo repetido Al examinar estos registros, podemos darnos cuenta que contienen un grupo repetido para
para
NUM_ART, NOM_ART, CANT y PRECIO
NUM_ART, NOM_ART, CANT y PRECIO. La 1FN prohíbe los grupos repetidos, por lo tanto
. La 1FN prohíbe los grupos repetidos, por lo tanto tenemos que convertir a la primera forma normal. Los pasos a seguir son:tenemos que convertir a la primera forma normal. Los pasos a seguir son: Tenemos que eliminar los grupos repetidos.
Tenemos que eliminar los grupos repetidos.
Tenemos que crear una nueva tabla con la PK de la tabla base y el grupo Tenemos que crear una nueva tabla con la PK de la tabla base y el grupo repetido.
repetido.
Los registros quedan ahora conformados en dos tablas que llamaremos
Los registros quedan ahora conformados en dos tablas que llamaremos
órdenes y
órdenes y
articulos_ordenes
articulos_ordenes
Ordenes Ordenes
Id_orden
Id_orden Fecha Fecha Id_cliente Id_cliente Nom_cliente Nom_cliente EstadoEstado 2301
2301 23/02/14 23/02/14 101 101 Martin Martin CaracasCaracas 2302
2302 25/02/14 25/02/14 107 107 Herman Herman CoroCoro 2303
2303 27/02/14 27/02/14 110 110 Pedro Pedro MaracayMaracay
Articulos_ordenes Articulos_ordenes
Id_orden Num_ar
Id_orden Num_art t nom_art nom_art cant cant PrecioPrecio 2301 2301 3786 3786 Red Red 3 3 35,0035,00 2301 2301 4011 4011 Raqueta Raqueta 6 6 65,0065,00 2301 2301 9132 9132 Paq-3 Paq-3 8 8 4,754,75
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial
Ahora procederemos a aplicar la segunda formal normal, es decir, tenemos que Ahora procederemos a aplicar la segunda formal normal, es decir, tenemos que eliminar cualquier columna no llave que no dependa de la llave primaria de la tabla. Los pasos eliminar cualquier columna no llave que no dependa de la llave primaria de la tabla. Los pasos a seguir son:
a seguir son:
Determinar cuáles columnas que no son llave no dependen de la llave primaria Determinar cuáles columnas que no son llave no dependen de la llave primaria de la tabla.
de la tabla.
Eliminar esas columnas de la tabla base. Eliminar esas columnas de la tabla base.
Crear una segunda tabla con esas columnas y la(s) columna(s) de la PK de la Crear una segunda tabla con esas columnas y la(s) columna(s) de la PK de la cual dependen.
cual dependen. La tabla
La tabla
órdenes
órdenes
está en 2FN. Cualquier valor único deestá en 2FN. Cualquier valor único deID_ORDEN
ID_ORDEN determina un sólo
determina un sólo valor para cada columna. Por lo tanto, todas las columnas son dependientes de la llave valor para cada columna. Por lo tanto, todas las columnas son dependientes de la llave primariaprimaria
ID_ORDEN
ID_ORDEN..
Por su parte, la tabla
Por su parte, la tabla
articulos_ordenes
articulos_ordenes no se encuentra en 2FN ya que las columnas
no se encuentra en 2FN ya que las columnasPRECIO y NOM_ART
PRECIO y NOM_ART son dependientes de NUM_ART, pero no son dependientes de
son dependientes de NUM_ART, pero no son dependientes deID_ORDEN
ID_ORDEN. Lo que haremos a continuación es eliminar estas columnas de la tabla
. Lo que haremos a continuación es eliminar estas columnas de la tablaarticulos_ordenes
articulos_ordenes y crear una tabla
y crear una tablaartículos
artículos con dichas columnas y la llave primaria de la que
con dichas columnas y la llave primaria de la que dependen.dependen.
Las tablas quedan ahora de la siguiente manera. Las tablas quedan ahora de la siguiente manera.
Articulos_ordenes Articulos_ordenes
Id_orden Num_art cant Id_orden Num_art cant
2301 3786 3 2301 3786 3 2301 4011 6 2301 4011 6 2301 9132 8 2301 9132 8 2302 5794 4 2302 5794 4 2303 4011 2 2303 4011 2 2303 3141 2 2303 3141 2 A
Arr títícucullosos
Num_art nom_art Precio Num_art nom_art Precio
3786 3786 Red Red 35,0035,00 4011 4011 Raqueta Raqueta 65,0065,00 9132 9132 Paq-3 Paq-3 4,754,75 5794 5794 Paq-6 Paq-6 5,005,00 3141 3141 Funda Funda 10,0010,00
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial
La tercera forma normal nos dice que tenemos que eliminar cualquier columna no llave La tercera forma normal nos dice que tenemos que eliminar cualquier columna no llave que sea dependiente de otra columna no llave. Los pasos a seguir son:
que sea dependiente de otra columna no llave. Los pasos a seguir son: Determinar las columnas que son dependientes de otra
Determinar las columnas que son dependientes de otra columna no llave.columna no llave. Eliminar esas columnas de la tabla base.
Eliminar esas columnas de la tabla base.
Crear una segunda tabla con esas columnas y con la columna no llave de la cual son Crear una segunda tabla con esas columnas y con la columna no llave de la cual son dependientes.
dependientes.
Al observar las tablas que hemos creado, nos damos cuenta que tanto la tabla ARTICULOS, Al observar las tablas que hemos creado, nos damos cuenta que tanto la tabla ARTICULOS, como la tabla
como la tabla
articulos_ordenes
articulos_ordenes se encuentran en 3FN. Sin embargo la tabla
se encuentran en 3FN. Sin embargo la tablaordenes
ordenes no lo
no lo está, ya queestá, ya que
NOM_CLIENTE y PROVINCIA
NOM_CLIENTE y PROVINCIA
son dependientes deson dependientes deID_CLIENTE
ID_CLIENTE, y esta columna no
, y esta columna no es la llave primaria.es la llave primaria.
Para normalizar esta tabla, moveremos las columnas no llave y la columna llave de la cual Para normalizar esta tabla, moveremos las columnas no llave y la columna llave de la cual dependen dentro de una nueva tabla
dependen dentro de una nueva tabla
clientes
clientes. Las nuevas tablas
. Las nuevas tablasclientes
clientes
yyórdenes
órdenes
sese muestran a continuación.muestran a continuación.
Ordenes Ordenes
Id_orden Fecha Id_cliente Id_orden Fecha Id_cliente
2301 2301 23/02/11 23/02/11 101101 2302 2302 25/02/11 25/02/11 107107 2303 2303 27/02/11 27/02/11 110110 Clientes Clientes
Id_cliente Nom_cliente Provincia Id_cliente Nom_cliente Provincia
101
101 Martin Martin CajamarcaCajamarca 107
107 Herman Herman LimaLima 110
110 Pedro Pedro PiuraPiura
Por lo tanto la base de datos queda de la siguiente manera: Por lo tanto la base de datos queda de la siguiente manera: Ordenes (id_orden, fecha, id_cliente)
Ordenes (id_orden, fecha, id_cliente)
Clientes (id_cliente, nom_cliente, estado)
Clientes (id_cliente, nom_cliente, estado)
Artículos ( num_art, nom_art, precio)
Artículos ( num_art, nom_art, precio)
Articulos_ordenes (id_orden, num_art, cant)
Articulos_ordenes (id_orden, num_art, cant)
3.
3. Normalización de la tabla de estudiantes:Normalización de la tabla de estudiantes:
N°
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial
Start Free Trial
Cancel Anytime.
EJERCICIOS DE NORMALIZACION
EJERCICIOS DE NORMALIZACION
Las tablas deben tener solo dos dimensiones. Dado que los estudiantes tienen varias Las tablas deben tener solo dos dimensiones. Dado que los estudiantes tienen varias clases, estas clases deben ser listadas en una tabla separada. Los campos Clase1, Clase2, clases, estas clases deben ser listadas en una tabla separada. Los campos Clase1, Clase2, Clase3 en los registros anteriores son
Clase3 en los registros anteriores son indicios de problemas de diseño.indicios de problemas de diseño.
Las hojas de cálculo suelen usar la tercera dimensión, pero las tablas no deben. Otra Las hojas de cálculo suelen usar la tercera dimensión, pero las tablas no deben. Otra forma de ver este problema es con uno-a-muchos. Creamos otra tabla en la primera forma forma de ver este problema es con uno-a-muchos. Creamos otra tabla en la primera forma normal eliminando el grupo de repetición (clase) como se muestra en lo siguiente:
normal eliminando el grupo de repetición (clase) como se muestra en lo siguiente:
N°
N° Alumno Alumno Nombre Nombre del del Titular Titular Salón Salón N° N° ClaseClase 1022
1022 Sr. Sr. LlamoctantaLlamoctanta 1A-2011A-201 ArquitecturaArquitectura
1022
1022 Sr. Sr. LlamoctantaLlamoctanta 1A-2011A-201 GestiónGestión
1022
1022 Sr. Sr. LlamoctantaLlamoctanta 1A-2011A-201 EconomíaEconomía
4123
4123 Sr. Sr. RodríguezRodríguez 1B-2021B-202 DibujoDibujo
4123
4123 Sr. Sr. RodríguezRodríguez 1B-2021B-202 Base de DatosBase de Datos
4123
4123 Sr. Sr. RodríguezRodríguez 1B-2021B-202 An. MatemáticoAn. Matemático
Tomamos en cuenta los múltiples valores para el campo Clase por cada estudiante en Tomamos en cuenta los múltiples valores para el campo Clase por cada estudiante en la tabla anterior.
la tabla anterior.
N°
N° Alumno Alumno Nombre Nombre del del Titular Titular SalónSalón 1022
1022 Sr. Sr. LlamoctantaLlamoctanta 1A-2011A-201
4123
4123 Sr. Sr. RodríguezRodríguez 1B-2021B-202
N° Alumno
N° Alumno N° ClaseN° Clase 1022 1022 ArquitecturaArquitectura 1022 1022 GestiónGestión 1022 1022 EconomíaEconomía 4123 4123 DibujoDibujo 4123
4123 Base de DatosBase de Datos
4123
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial
Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial
Cancel Anytime.
EJERCICIOS DE NORMALIZACION
EJERCICIOS DE NORMALIZACION
II.
II.
CONCLUSION
CONCLUSION
La normalización es una técnica que se ha desarrollado para obtener estructuras de La normalización es una técnica que se ha desarrollado para obtener estructuras de datos eficientes, garantizando un
datos eficientes, garantizando un buen diseño lógico de buen diseño lógico de la base de la base de datos. Es decir, se datos. Es decir, se utilizautiliza para mejorar el esquema, de modo que éste satisfaga ciertas restricciones que eviten la para mejorar el esquema, de modo que éste satisfaga ciertas restricciones que eviten la duplicidad de datos, y garantiza que el esquema resultante esté más próximo al modelo de la duplicidad de datos, y garantiza que el esquema resultante esté más próximo al modelo de la empresa, sea consistente, con la mínima redundancia y
empresa, sea consistente, con la mínima redundancia y la máxima estabilidad.la máxima estabilidad.
La normalización es una ayuda muy útil en el proceso de diseño de las bases de datos, La normalización es una ayuda muy útil en el proceso de diseño de las bases de datos, pero conviene señalar que no es una panacea. Hay que tener en cuenta que las formas pero conviene señalar que no es una panacea. Hay que tener en cuenta que las formas normales no son prescripciones para la creación de
normales no son prescripciones para la creación de un modelo de datos “correcto”. Un modeloun modelo de datos “correcto”. Un modelo de datos podría llegar a estar perfectamente normalizado, pero podría proporcionar las de datos podría llegar a estar perfectamente normalizado, pero podría proporcionar las respuestas tan despacio y de forma tan complicada que el sistema de base de datos construido respuestas tan despacio y de forma tan complicada que el sistema de base de datos construido sobre él resulte inoperativo.
sobre él resulte inoperativo.
No hay que olvidar que al descomponer una relación penalizamos las consultas, No hay que olvidar que al descomponer una relación penalizamos las consultas, provocando una pérdida de eficiencia en las mismas. Aunque, en general, se aconseja llevar los provocando una pérdida de eficiencia en las mismas. Aunque, en general, se aconseja llevar los esquemas relacionales al menos a 3FN, existen ciertos casos en los que, una vez realizada la esquemas relacionales al menos a 3FN, existen ciertos casos en los que, una vez realizada la descomposición, exigencias de eficiencia muy estrictas obligan a llevar a cabo el proceso descomposición, exigencias de eficiencia muy estrictas obligan a llevar a cabo el proceso inverso, es decir, una desnormalización, combinando las relaciones hasta dejarlas en formas inverso, es decir, una desnormalización, combinando las relaciones hasta dejarlas en formas normales anteriores.
normales anteriores.
Por lo tanto, hay que poner en la balanza hasta dónde conviene normalizar para que el Por lo tanto, hay que poner en la balanza hasta dónde conviene normalizar para que el resultado sea un modelo de datos eficiente y efectivo, aunque no cabe duda que con las tres resultado sea un modelo de datos eficiente y efectivo, aunque no cabe duda que con las tres primeras formas normales las probabilidades de obtener este resultado son
primeras formas normales las probabilidades de obtener este resultado son muy altas.muy altas.
III.
III.
BIBLIOGRAFIA
BIBLIOGRAFIA
Estos ejercicios
Estos ejercicios se han else han elaborado tomando como paborado tomando como principales referencias los rincipales referencias los textostextos siguientes. siguientes. https://prezi.com/omjlhd66hrf5/normalizacion-de-base-de-datos/ https://prezi.com/omjlhd66hrf5/normalizacion-de-base-de-datos/ http://cvb.ehu.es/open_course_ware/castellano/social_juri/herrami_gestion/ http://cvb.ehu.es/open_course_ware/castellano/social_juri/herrami_gestion/ normalizacion.pdf normalizacion.pdf