Ejemplo2: Normalización
CodLibro
Titulo
Autor
Editorial
NombreLector
FechaDev
1001
Variable compleja
Murray Spiegel
McGraw Hill
Pérez Gómez, Juan
15/04/2005
1004
Visual Basic 5
E. Petroustsos
Anaya
Ríos Terán, Ana
17/04/2005
1005
Estadística
Murray Spiegel
McGraw Hill
Roca, René
16/04/2005
1006
Oracle University
Nancy Greenberg y
Priya Nathan
Oracle Corp.
García Roque, Luis
20/04/2005
1007
Clipper 5.01
Ramalho
McGraw Hill
Pérez Gómez, Juan
18/04/2005
Ejemplo2: Normalización
CodLibro
Titulo
Autor
Editorial
NombreLector
FechaDev
1001
Variable compleja
Murray Spiegel
McGraw Hill
Pérez Gómez, Juan
15/04/2005
1004
Visual Basic 5
E. Petroustsos
Anaya
Ríos Terán, Ana
17/04/2005
1005
Estadística
Murray Spiegel
McGraw Hill
Roca, René
16/04/2005
1006
Oracle University
Nancy Greenberg y
Priya Nathan
Oracle Corp.
García Roque, Luis
20/04/2005
1007
Clipper 5.01
Ramalho
McGraw Hill
Pérez Gómez, Juan
18/04/2005
1FN:
CodLibro
Titulo
Autor
Editorial
Paterno
Materno
Nombres
FechaDev
1001
Variable compleja
Murray Spiegel
McGraw Hill
Pérez
Gómez
Juan
15/04/2005
1004
Visual Basic 5
E. Petroustsos
Anaya
Ríos
Terán
Ana
17/04/2005
1005
Estadística
Murray Spiegel
McGraw Hill
Roca
René
16/04/2005
1006
Oracle University
Nancy Greenberg
Oracle Corp.
García
Roque
Luis
20/04/2005
1006
Oracle University
Priya Nathan
Oracle Corp.
García
Roque
Luis
20/04/2005
1007
Clipper 5.01
Ramalho
McGraw Hill
Pérez
Gómez
Juan
18/04/2005
Datos del libro
CodLibro
2FN:
Creamos nuevas tablas:
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
Datos del Lector
CodLector
Paterno
Materno
Nombres
501
Pérez
Gómez
Juan
502
Ríos
Terán
Ana
503
Roca
504
García
René
Roque
Luis
Datos del Préstamo
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
Descomponemos la tabla 1 de la 2FN:
3FN:
CodLibro
Titulo
CodEditorial
1001 Variable compleja
1004 Visual Basic 5
901
1005 Estadística
902
1006 Oracle University
903
1007 Clipper 5.01
CodLibro
CodLibro
CodLector
codAutor
CodAutor
Editorial
801 Murray Spiegel
McGraw Hill
802 E. Petroustsos
Anaya
803 Nancy Greenberg
Oracle Corp
804 Priya Nathan
806 Ramalho
CodLibro
codEditorial
1001
801
1001
901
1004
802
1004
902
1005
801
1005
901
1006
803
1006
903
1006
804
1007
901
1007
806
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
Autor
CodLector
Paterno Materno Nombres
501 Pérez
Gómez
Juan
502 Ríos
Terán
Ana
503 Roca
504 García
René
Roque
Luis
Descomponemos la tabla 1 de la 2FN:
3FN:
CodLibro
Titulo
CodEditorial
1001 Variable compleja
1004 Visual Basic 5
901
1005 Estadística
902
1006 Oracle University
903
1007 Clipper 5.01
CodLibro
CodLibro
CodLector
CodAutor
Editorial
Autor
801 Murray Spiegel
McGraw Hill
802 E. Petroustsos
Anaya
803 Nancy Greenberg
Oracle Corp
804 Priya Nathan
806 Ramalho
CodLibro
codEditorial
codAutor
1001
901
1001
801
1004
902
1004
802
1005
901
1005
801
1006
903
1006
803
1007
901
1006
804
1007
806
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
CodLector
Paterno Materno Nombres
501 Pérez
Gómez
Juan
502 Ríos
Terán
Ana
503 Roca
504 García
René
Roque
Luis
RELACIONES
Una relación uno a varios
La relación uno a varios es el tipo de relación más común. En este tipo de relación, un registro de la Tabla A puede tener
muchos registros coincidentes en la Tabla B, pero un registro de la Tabla B sólo tiene un registro coincidente en la Tabla A.
Un proveedor ...
... puede suministrar más de un producto ...
... pero cada producto tiene un único proveedor
Una relación varios a varios
En una relación varios a varios, un registro de la Tabla A puede tener muchos registros coincidentes en la Tabla B, y viceversa.
Este tipo de relación sólo es posible si se define una tercera tabla (denominada tabla de unión) cuya clave principal (clave
principal: uno o más campos (columnas) cuyos valores identifican de manera exclusiva cada registro de una tabla. Una clave
principal no puede permitir valores Nulo y debe tener siempre un índice exclusivo.
•Clave principal de la tabla Pedidos
•Clave principal de la tabla Productos
•Un pedido puede incluir muchos productos ...
•... y cada producto puede aparecer en muchos pedidos
Una relación uno a uno
En una relación uno a uno, cada registro de la Tabla A sólo puede tener un registro coincidente en la Tabla B y viceversa. Este
tipo de relación no es habitual, debido a que la mayoría de la información relacionada de esta forma estaría en una sola tabla.
Puede utilizar la relación uno a uno para dividir una tabla con muchos campos, para aislar parte de una tabla por razones de
seguridad o para almacenar información que sólo se aplica a un subconjunto de la tabla principal. Por ejemplo, puede crear una
tabla que registre los empleados participantes en un partido de fútbol benéfico. Cada jugador de fútbol de la tabla Jugadores de
fútbol tiene un registro coincidente en la tabla Empleados
•Cada jugador de fútbol tiene un registro coincidente en la tabla
Empleados.
•Este conjunto de valores es un subconjunto del campo Id. de
empleado y la tabla Empleados
El tipo de relación que crea Microsoft Access depende de cómo
están definidos los campos relacionados.
•Una relación de uno a varios se crea si sólo uno de los campos relacionados es una
qclave principal (clave principal: uno o más campos (columnas) cuyos valores
identifican de manera exclusiva cada registro de una tabla. Una clave principal no
puede permitir valores Nulo y debe tener siempre un índice exclusivo. Una clave
principal se utiliza para relacionar una tabla con claves externas de otras tablas.) o
tiene un índice único (índice único: índice que se define al establecer la propiedad
Indexado de un campo como Sí (Sin duplicados). Un índice único no permite entradas
duplicadas en el campo indizado. Al establecer un campo como clave principal, queda
automáticamente definido como exclusivo.).
•Se crea una relación uno a uno si ambos campos relacionados son claves principales o
tienen índices únicos.
•Una relación de varios a varios es, en realidad, dos relaciones de uno a varios con una
tercera tabla cuya clave principal consta de dos campos: las claves externas (clave
externa: uno o más campos de tabla (columnas) que hacen referencia al campo o
campos de clave principal de otra tabla. Una clave externa indica cómo están
relacionadas las tablas.) de las otras dos tablas.
Descargar

Diapositiva 1