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.
2NF
CodLibro | Titulo | Autor | Editorial |
1001 | Variable compleja | Murray Spiegel | McGraw Hill |
1004 | Visual Basic 5 | E. Petroustsos | Anaya |
1005 | Estadística | Murray Spiegel | McGraw Hill |
1006 | Oracle University | Nancy Greenberg | Oracle Corp. |
1006 | Oracle University | Priya Nathan | Oracle Corp. |
1007 | Clipper 5.01 | Ramalho | McGraw Hill |
La nueva tabla sólo contendrá datos del lector.
CodLector | Paterno | Materno | Nombres |
501 | Pérez | Gómez | Juan |
502 | Ríos | Terán | Ana |
503 | Roca | | René |
504 | García | Roque | Luis |
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:
CodLibro | CodLector | FechaDev |
1001 | 501 | 15/04/2005 |
1004 | 502 | 17/04/2005 |
1005 | 503 | 16/04/2005 |
1006 | 504 | 20/04/2005 |
1007 | 501 | 18/04/2005 |