Story Transcript
Slide 1
___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________
Slide 2
___________________________________ TEXTO NUMERO MONEDA FECHA/HORA OBJETOS OLE DATOS ADJUNTOS ASISTENTE PARA BUSQUEDAS MEMO AUTONUMERICO SI/NO HIPERVINCULOS
___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________
Slide 3
___________________________________ Un
buen diseño:
Divide la información en tablas basadas en temas para reducir los datos redundantes. Proporciona a Access la información necesaria para reunir la información de las tablas cuando así se precise. Ayuda a garantizar la exactitud e integridad de la información. Satisface las necesidades de procesamiento de los datos y de generación de informes.
___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________
Slide 4
___________________________________ 1. 2.
3. 4. 5. 6. 7. 8.
Determinar la finalidad de la base de datos Buscar y organizar la información necesaria Dividir la información en tablas Convertir los elementos de información en columnas Especificar claves principales Definir relaciones entre las tablas Ajustar el diseño Aplicar las reglas de normalización
___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________
Slide 5
___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________
Slide 6
___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________
Slide 7
___________________________________ ___________________________________ No incluya datos calculados
Almacene la información en sus partes lógicas más pequeñas
___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________
Slide 8
___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________
Slide 9
___________________________________
Primera forma normal
La primera forma normal establece que en cada intersección de fila y columna de la tabla existe un valor y nunca una lista de valores. Por ejemplo, no puede haber un campo denominado Precio en el que se incluya más de un precio. Si considera cada intersección de filas y columnas como una celda, cada celda sólo puede contener un valor.
Segunda forma normal
La segunda forma normal exige que cada columna que no sea clave dependa por completo de toda la clave principal y no sólo de parte de la clave. Esta regla se aplica cuando existe una clave principal formada por varias columnas. Suponga, por ejemplo, que existe una tabla con las siguientes columnas, de las cuales Id. de pedido e Id. de producto forman la clave principal:
___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________
Slide 10
___________________________________ Id.
de pedido (clave principal) de producto (clave principal) Nombre de producto Este diseño infringe los requisitos de la segunda forma normal, porque Nombre de producto depende de Id. de producto, pero no de Id. de pedido, por lo que no depende de toda la clave principal. Debe quitar Nombre de producto de la tabla, ya que pertenece a una tabla diferente (a la tabla Productos). Id.
___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________
Slide 11
___________________________________ Tercera
forma normal tercera forma normal exige no sólo que cada columna que no sea clave dependa de toda la clave principal, sino también que las columnas que no sean clave sean independientes unas de otras. O dicho de otra forma: cada columna que no sea clave debe depender de la clave principal y nada más que de la clave principal. Por ejemplo, considere una tabla con las siguientes columnas: IdProducto (clave principal) La
___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________
Slide 12
___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________
Slide 1
___________________________________ 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
___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________
Slide 2
___________________________________ 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
___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________
Slide 3
___________________________________ ___________________________________
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
___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________
Slide 4
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
Datos del Préstamo CodLibro
René Roque
CodLector
FechaDev
1001
501
1004
Luis
___________________________________
15/04/2005
502
17/04/2005
1005
503
16/04/2005
1006
504
20/04/2005
1007
501
18/04/2005
___________________________________ ___________________________________ ___________________________________ ___________________________________
Slide 5
___________________________________
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
802 E. Petroustsos 803 Nancy Greenberg
Oracle Corp
804 Priya Nathan 806 Ramalho
1001
801
1001
901
802
1004
902
1005
801
1005
901
1006
803
1006
903
1006
804
1007
901
1007
806
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
___________________________________
codEditorial
1004
FechaDev
Autor
801 Murray Spiegel
Anaya
CodLibro
codAutor
CodAutor
Editorial McGraw Hill
CodLector
___________________________________
Paterno Materno Nombres
501 Pérez
Gómez
Juan
502 Ríos
Terán
Ana
503 Roca 504 García
___________________________________
René Roque
Luis
___________________________________ ___________________________________ ___________________________________ Slide 6
___________________________________
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
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
1004
502
17/04/2005
1005
503
16/04/2005
15/04/2005
1006
504
20/04/2005
1007
501
18/04/2005
CodLector
___________________________________
codAutor
___________________________________
Paterno Materno Nombres
501 Pérez
Gómez
Juan
502 Ríos
Terán
Ana
503 Roca 504 García
René Roque
___________________________________
Luis
___________________________________ ___________________________________ ___________________________________
Slide 7
___________________________________ ___________________________________ RELACIONES
___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ Slide 8
___________________________________ 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
___________________________________ ___________________________________ ___________________________________ ___________________________________
Slide 9
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
___________________________________ ___________________________________ ___________________________________ ___________________________________
Slide 10
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
___________________________________ ___________________________________ ___________________________________ ___________________________________
Slide 11
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.
___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________