access 2010 - capitulo 2

24
http://dominandoaccess.com/blog CAPITULO II (Tablas) Los Cuatro Pasos Básicos en el diseño de una Base de Datos 1. Debemos tener muy claro cuál es nuestro objetivo principal al tomar la decisión de crear una Base de Datos, sobre todo los resultados que en materia de información esperamos obtener. Teniendo claro dicho objetivo será más fácil determinar acertadamente los conjuntos de datos que necesitamos proporcionarle a la Base de Datos, para que a partir de ellos cumplamos con nuestro propósito, aprovechando las herramientas que Access nos ofrece para tal fin. Por ejemplo: Deseamos crear una Base de Datos que nos ayude a controlar nuestro presupuesto familiar o de un pequeño proyecto. El objetivo de dicha Base de Datos es el permitirnos hacer un seguimiento a nuestros gastos mensuales de acuerdo a un presupuesto organizado por capítulos. El sistema debe permitirnos mediante consultas ó informes una comparación entre lo presupuestado y lo ejecutado para cada capítulo del presupuesto en un momento específico o al final de un periodo en particular. 2. Crear las Tablas Habiendo realizado detalladamente lo comentado en el punto anterior procedemos a la creación de las tablas. Las tablas son los objetos más importantes en una Base de Datos, los otros objetos (formularios, consultas, informes, etc.) se basan y necesitan de las tablas para cumplir su función. Una tabla debe contener datos sobre un tema específico y no debe contener información duplicada. Volviendo al ejemplo de la Base de Datos de presupuesto, el tema específico de los capítulos del presupuesto nos lleva a crear una tabla llamada “capítulos”, la cual cumple con los anteriores dos criterios (contiene datos sobre un tema específico y no contiene información duplicada), veamos un ejemplo de los datos que contendría: 01 Alimentación 02 Servicios públicos 03 Transporte . . .

Upload: luis-guallpa

Post on 25-May-2015

1.049 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

CAPITULOII(Tablas)

LosCuatro PasosBásicoseneldiseño deunaBase deDatos

1. Debemos tener muy claro cuál es nuestro objetivo principal al tomar la decisión de crear

una Base de Datos, sobre todo los resultados que en materia de  información esperamos

obtener.  Teniendo claro dicho objetivo será  más  fácil determinar  acertadamente  los

conjuntos de datos que necesitamos proporcionarle a la Base de Datos, para que a partir

de  ellos  cumplamos  con nuestro propósito,  aprovechando las  herramientas  que  Access

nos ofrece para tal fin.

Por ejemplo:

Deseamos  crear  una  Base  de  Datos  que  nos  ayude  a  controlar nuestro presupuesto

familiar o de un pequeño proyecto. El objetivo de dicha Base de Datos es el permitirnos

hacer  un seguimiento a nuestros  gastos  mensuales  de acuerdo a  un presupuesto

organizado por capítulos.

El  sistema debe  permitirnos  mediante consultas  ó informes  una  comparación entre  lo

presupuestado y lo ejecutado para  cada  capítulo del  presupuesto en  un momento

específico o al final de un periodo en particular.

2. Crear las Tablas

Habiendo realizado detalladamente  lo comentado en el punto anterior procedemos a  la

creación de las tablas.

Las  tablas  son los  objetos  más  importantes  en  una  Base  de  Datos,  los  otros  objetos

(formularios, consultas, informes, etc.) se basan y necesitan de las tablas para cumplir su

función.

Una tabla debe contener datos sobre un tema específico y no debe contener información

duplicada.

Volviendo al  ejemplo de  la  Base  de  Datos  de  presupuesto,  el  tema  específico de  los

capítulos del presupuesto nos  lleva a crear una tabla llamada “capítulos”,  la cual cumple

con los  anteriores  dos  criterios (contiene datos  sobre  un tema específico y no contiene

información duplicada), veamos un ejemplo de los datos que contendría:

01 Alimentación

02 Servicios públicos

03 Transporte

.

.

.

Page 2: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

18. impuestos

Otra tabla puede  contener los meses del año.

01 enero

02 febrero

03 marzo

.

.

.

12 diciembre

La cual también cumple con los dos criterios citados anteriormente (contiene datos sobre

un tema específico y no contiene información duplicada)

3. Definir las Llaves principales.

Cada tabla debe tener una llave principal única. En caso de que el diseño nos arroje tablas

que no la tengan, podemos suplirlo accediendo a que el Access genere un campo de tipo

auto numérico para cada una de ellas o creando llaves compuestas (involucra más de un

campo).  

Las llaves principales son indispensables para relacionar las tablas.

4. Definir las relaciones entre las tablas.

La relación más común entre las tablas es la relación 1 a n.

Una relación 1 a n quiere decir que para cada registro en la primera tabla pueden existir

uno, varios o ninguno  relacionado en la segunda tabla.

En la siguiente gráfica podemos observar:

­ La tabla meses(1) se relaciona con la tabla presupuesto(n), lo cual quiere decir que

cada mes en la tabla meses (enero, febrero, marzo, etc.),  puede aparecer muchas veces

en la tabla presupuesto.

­ La tabla meses(1) se relaciona con la tabla egresos(n), lo cual quiere decir que cada

mes en  la tabla meses (enero, febrero, marzo, etc.), puede aparecer muchas veces en  la

tabla egresos.

Page 3: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

­ La tabla capítulos(1) se relaciona con la tabla presupuesto(n),  lo cual quiere decir

que cada capítulo en la tabla capítulos (alimentación, educación, servicios públicos, etc.),

puede aparecer muchas veces en la tabla presupuesto.

­ La tabla capítulos(1) se relaciona con la tabla egresos(n),  lo cual quiere decir que 

cada  capítulo en la  tabla capítulos (alimentación, educación, servicios  públicos, etc.),

puede aparecer muchas veces en la tabla egresos).

Page 4: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

Comocreartablas enAccess2010

Al crear una Base de Datos Access se  activan las herramientas  contextuales para  las  tablas  (ver

flecha # 1) y se abre la ventana tabla (ver flecha # 2) en la siguiente gráfica:

El Access inmediatamente se crea una Base de Datos, crea una tabla por defecto llamada Tabla1.

En la siguiente gráfica observamos la tabla en vista hoja de datos:

La vista hoja de datos muestra los registros de una tabla en las filas y los campos en las columnas.

Page 5: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

Cambiemos el nombre a la tabla. Ubiquemos  en la pestaña que muestra el nombre de la tabla o

donde  indica  la  flecha en  la  siguiente gráfica  y presionemos  el  botón derecho del  ratón,  y

seleccionemos la opción guardar.

Nos aparece entonces la siguiente pantalla, solicitándonos un nombre para la nueva tabla.

Y le asignamos un nombre, en este caso le he colocado “Meses”

Page 6: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

Presionamos el botón “Aceptar” y nos colocamos en la pestaña del nombre de la tabla tal y como

lo señala la flecha en la próxima gráfica, presionando el botón derecho del ratón.

Seleccionamos entonces la opción “Vista Diseño” del menú.

Vemos  como Access  ha creado un campo auto numérico de manera automática, me  refiero al

campo “Id” el cual  se indica en la siguiente gráfica con la flecha # 1. Para este ejercicio lo vamos a

dejar,  note que el Access  lo ha definido como clave principal  (ver  la  llave que ha  colocado a  la

izquierda del nombre del campo). Nos vamos entonces a  la segunda fila y digitamos un nombre

para el segundo campo, que en este caso le he asignado el nombre “mes” (ver flecha # 2)

Page 7: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

En  la  columna  tipo de  datos  de  la  fila  donde  se  encuentra  definido el  campo “mes” vamos  a

seleccionar “Texto”.

Page 8: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

Y en  la ventana  de  las propiedades del campo le vamos a colocar en la propiedad “Tamaño del

campo” le  vamos  a  decir  que  va  a  tener máximo 15 dígitos,  tamaño de  campo suficiente para

describir los meses del año. 

Nos  ubicamos nuevamente  en  la  pestaña que  contiene  el  nombre  de  la  tabla,  “meses”  en  este

caso y presionamos el botón derecho del  ratón; seguidamente seleccionamos  la opción guardar

del menú.

Nos  ubicamos nuevamente  en  la  pestaña que  contiene  el  nombre  de  la  tabla,  “meses”  en  este

caso y presionamos el botón derecho del ratón; seguidamente seleccionamos la opción cerrar del

menú (ver siguiente gráfica).

Page 9: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

Entonces  buscamos  la  tabla  recién  creada  en  el  panel  de  navegación del  lado izquierdo de  la

pantalla y le damos doble click.

Page 10: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

Y comenzamos a ingresar los registros. Hay que anotar que la columna o campo “Id” no se puede

modificar, ya que es un campo autonumérico cuyo control lo tiene el Access. Luego nos ubicamos

en la columna o campo “mes” y comenzamos a digitar los meses del año.

Fijémonos como al digitar “Enero” en  la primera  fila sobre  la columna “mes” Access  le asigna el

número 1 al campo “Id”  automáticamente, creando de esta manera el primer registro de la tabla.

Nos ubicamos entonces en el segundo registro exactamente donde indica la flecha en la próxima

gráfica.

Page 11: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

Y digitamos el segundo mes, y así sucesivamente hasta completar los meses del año.

Así debe quedar la tabla meses:

Luego ubicamos la pestaña con el nombre de la tabla, presionamos el botón derecho del mouse y

seleccionamos la opción guardar para guardar la tabla “meses”.

Page 12: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

Claves principales combinadas

En la tabla que creamos en el ejercicio anterior la clave principal era un solo campo “Id” de tipo

auto numérico.

Miremos la siguiente  tabla “presupuesto”  definida en el siguiente ejemplo:

Page 13: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

Esta tabla contiene 3 campos de los cuales la unión de los  dos primeros: cod_mes y nom_cap por

criterios de diseño forman la clave principal. Miremos:

Cod_mes : representa un mes específico en el año.

Nom_cap : representa un capítulo del presupuesto.

Valor: valor presupuestado para un capítulo en un mes determinado

Ejemplo:

Cod_mes  = “01”     Enero

Nom_cap = “Alimentación”

Valor=        250       

Lo que quiere decir que si determinamos una clave compuesta como clave principal a cod_mes +

nom_cap   y digitamos estos datos (“01”, “alimentación”, 250) 

El capítulo “alimentación” en el mes de “enero” ya no lo podemos incluir  en otro registro,  Ya

que crearía valores duplicados y Access no lo va a permitir

Para definir la clave compuesta hacemos lo siguiente:

Page 14: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

Nos ubicamos en el cuadro gris al lado izquierdo del primer campo (cod_mes) que va a formar la

clave principal, presionamos el  botón izquierdo del ratón y sin soltar el botón arrastramos el ratón

hasta que cubra el siguiente campo (nom_cap).

Presionamos el botón derecho del ratón en cualquier parte del área seleccionada y escogemos la

opción “clave principal”,  Microsoft  Access  entiende  que  se está  creando una  clave principal

Page 15: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

compuesta  y la manera  de  identificarlo es  con una  llavecita  a  la  izquierda  de cada  campo.  Ver

siguiente gráfica.

Page 16: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

TiposdeDatosenAccess2010

Un tipo de datos determina como va a ser el almacenamiento de datos en un campo de una tabla,

y esto va a depender de la función que quieres  que cumpla cada dato en particular. Tenemos que

analizar muy bien la escogencia del tipo de datos para cada campo, y de las relaciones que pueda

tener con otras tablas, ya que el cambiarlo cuando la base de datos entre en producción puede

representarte perdida de datos sobre todo en aquellos que sean claves principales.  

Miremos las opciones que ofrece Microsoft Access en cuanto a tipos de datos:

­ Texto: se utiliza para  introducir  datos  que incluyan texto, valores numéricos que no requieran

cálculos matemáticos o combinación de texto y números. (acepta hasta 255 caracteres) 

­ Memo: El tipo memo acepta hasta 63.999, ideal para descripciones muy completas con más de

255 caracteres. 

­ Número: Datos numéricos que vayan a ser utilizados para realizar cálculos matemáticos. 

Page 17: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

­ Fecha/Hora: Es  importante utilizar este tipo para  introducir datos de fecha (del año 100 al año

9999). 

­ Moneda: Ideal para datos numéricos que representen valores en moneda, que vayan a utilizarse

para cálculos matemáticos y que necesitemos que lo preceda el signo de moneda.  Acepta hasta

15 dígitos para  la parte entera del número y hasta 4 dígitos en su parte decimal, se recomienda

utilizar en datos en donde se requieran hasta 4 dígitos decimales.

­ Auto numérico: El  valor que  contenga  este  campo se  va  air incrementando cada vez  que  se

agregue un registro a la tabla que lo contenga. ,  luego este tipo de datos es utilizado para llevar

una secuencia de los registros ingresados a una tabla.  (No permite modificaciones) 

­ Si/No:  Ideal para seleccionar registros de acuerdo a este criterio.

­ Objeto OLE: Este tipo de  datos  es  usado para  enlazar  o adjuntar  archivos  creados  en  otros

programas, como pueden ser archivos Word, Excel, etc.  (el archivo ocupa espacio en  la base de 

datos.

­ Hipervínculo: Es usado para campos que contienen enlaces a páginas web, direcciones de correo,

o archivos que abren con un navegador web.

­ Datos adjuntos: a diferencia del tipo objeto OLE, cada documento, grafico, hoja de cálculo, etc

que se adjunte a un campo de este tipo se ejecutará en el programa que fue creado, sin requerir

más espacio adicional en la base datos del que necesita el solo enlace.

­ Calculado: Este tipo de datos en nuevo con Microsoft Access 2010, el cual usa datos en la misma

tabla para hacer cálculos.

­ Asistente para  búsquedas: Te permite buscar  datos  en  otra  tabla  o en  una  lista  de  valores

predeterminada para el campo.

Page 18: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

Para el tipo de Datos número existen las diferentes opciones para el tamaño del campo

Tamaño delcampo

Valores permitidos Precisión decimal Tamañoalmacenamiento

Byte Números enteros entre 0 y 255 ninguna 1 byte

Entero Entre el número ­32,768 hasta el número 32,767  

ninguna 2 bytes

Entero largo Entre el número ­2,147,483,648y 2,147,483,647

ninguna 4 bytes

Simple Entre el número ­3.4 x 10^38  al número  3.4 x 10^38

7 4 bytes

Doble Entre el número ­1.797 x 10^308y el 1.797 x 10^308  

15 8 bytes

Id. de réplica No soportado por archivos .accdb

N/A 16 bytes

Decimal Entre el número ­9.999 x 10^27y el número 9.999 x 10^27

28 12 bytes

Page 19: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

RelacionesentreTablasenunaBasedeDatosAccess

Una  Base  de Datos relacional  es  un contenedor que  alberga múltiples  tablas  que  guardan

información relacionada, permitiendo una estructura centralizada y eliminando los problemas de

redundancia y control de los datos, veamos unas recomendaciones:

Crear tablas independientes para cada entidad para evitar la redundancia de datos.

Asignar una  llave primaria a  cada  tabla para evitar que  la  tabla contenga  registros duplicados y

valores nulos,  y que además nos permita relacionar tablas.

Incluir llaves foráneas, necesarias para crear relaciones entre tablas en la base de datos. Una llave

foránea  debe ser del mismo tipo, tamaño y debe contener los mismos datos que la llave primaria

con la cual se ha relacionado.  

La relación más común entre las tablas es la relación 1 a n.

Una  relación 1 a  n quiere decir  que  para  cada registro en  la  primera  tabla  pueden  existir  uno,

varios o ninguno  relacionado en la segunda tabla.

En  la  siguiente gráfica que  representa  un programa  para  controlar un presupuesto podemos

observar:

­ La tabla meses(1) se relaciona con la tabla presupuesto(n), lo cual quiere decir que cada mes

en  la  tabla meses (enero,  febrero, marzo, etc.),  puede  aparecer muchas  veces  en  la tabla

presupuesto.

­ La tabla meses(1) se relaciona con la tabla egresos(n), lo cual quiere decir que cada mes en la

tabla meses (enero, febrero, marzo, etc.), puede aparecer muchas veces en la tabla egresos.

­ La  tabla  capítulos(1)  se  relaciona con la  tabla presupuesto(n),  lo cual quiere decir que cada

capítulo en  la  tabla  capítulos  (alimentación,  educación,  servicios públicos, etc.), puede

aparecer muchas veces en la tabla capítulos).

­ La tabla capítulos(1) se relaciona con la tabla egresos(n), lo cual quiere decir que cada capítulo

en  la  tabla capítulos  (alimentación, educación,  servicios  públicos,  etc.),  puede  aparecer

muchas veces en la tabla egresos).

Page 20: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

Miremos como se crea una de estas relaciones:

Ubiquemos la opción Herramientas de base de datos y le damos click.

Page 21: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

Y presionamos el icono relaciones.

Si es  la primera vez que entramos a crear  relaciones seguramente nos aparecerá  la pantalla sin

ninguna tabla, entonces procedemos a presionar el botón derecho sobre cualquier parte de esta

área y le podemos dar la opción mostrar todo, o mostrar tabla por tabla.

Page 22: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

Después que  tenemos todas las tablas en pantalla, procedemos a crear las relaciones,.

Supongamos que ya hemos creado tres de ellas como aparece en la próxima gráfica.

Vamos a crear entonces la relación 1 a n   meses(1) – presupuesto(n).

Hay que aclarar que el  campo cod_mes de  la  tabla mes debe  ser del mismo tipo y tamaño del

campo cod_mes en la tabla presupuesto.

Seleccionamos con el botón izquierdo del ratón el campo cod_mes de la tabla meses y sin soltarlo

lo trasladamos  hacia  la  tabla  presupuesto,  soltándolo sobre  el  campo cod_mes  de  la  tabla

presupuesto, ver siguientes dos gráficas.

Al soltar el botón izquierdo, Microsoft Access muestra una pantalla entendiendo que pretendemos

crear una relación uno a n entre estas dos tablas (flecha #2)  mediante los campos cod_mes (flecha

Page 23: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

# 1)de cada una de ellas. El campo cod_mes de la tabla presupuesto se convierte entonces en una

llave foránea de la llave primaria de la tabla meses (cod_mes).(ver siguiente gráfica).

El cuadro nos permite seleccionar tres opciones:

Integridad referencial quiere decir que al definir cod_mes de la tabla presupuesto como una llave

foránea  de  la  llave  primaria  cod_mes  de  la tabla meses  , sus  datos  deben primero existir  en  la

tabla meses , o lo que es lo mismo, hay que crear los meses del año en la tabla meses antes de

intentar digitar datos en el campo cod_mes de la tabla presupuesto.

Las otras dos opciones  (actualizar en cascada los campos relacionados y eliminar en cascada los

registros  relacionados)  se  refiere  a  que  cualquier cambio en  la  tabla  que  contiene  la  llave

primaria,  lo va a  reproducir  en  las  tablas que  tienen llaves foráneas dependiente de dicha  llave

primaria.

Page 24: Access 2010 - Capitulo 2

http://dominandoaccess.com/blog

Seleccionamos entonces las tres opciones  (exigir integridad referencial, actualizar en cascada los

campos  relacionados  y eliminar  en  cascada  los  registros  relacionados)  y presionamos  el botón

crear. De esta manera hemos creado la relación 1 a n entre estas dos tablas.