Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia CLASE 2: CREACIÓN DE TABLAS EN ACCESS TEMA A DESARROLLAR...........................................................................................................................2 CASO .........................................................................................................................................................3 CONOCIMIENTOS EN PRÁCTICA ............................................................................................................4 1. QUÉ ES UN SISTEMA DE ADMINISTRACIÓN DE BASES DE DATOS RELACIONALES....................4 2. CREACIÓN DE UNA BASE DE DATOS.................................................................................................5 3. LA VENTANA INICIAL DEL PROGRAMA ..............................................................................................6 4. CÓMO CREAR UNA TABLA ..................................................................................................................9 4.1 Cómo crear un campo ........................................................................................................................10 4.2. Cómo definir una clave principal ........................................................................................................12 4.3 Cómo decidir el tipo de datos de un campo ........................................................................................14 4.4 Crear las tablas...................................................................................................................................18 4.5 Cómo personalizar campos ................................................................................................................20 4.6 Cómo insertar nuevos campos ...........................................................................................................27 5. CÓMO TRABAJAR CON TABLAS .......................................................................................................28 5.1 Cómo indexar por un campo que no es la clave principal ...................................................................28 5.2 Cómo importar una base de datos a Access ......................................................................................29 5.3 Cómo exportar una base de datos de Access ....................................................................................31 5.4 Cómo Compactar una base de datos de Access ................................................................................31 5.5 Cómo hacer una copia de seguridad de una base de datos ...............................................................31 6. COMO ESTABLECER RELACIONES ENTRE TABLAS.......................................................................32 ARCVIEW Y LAS BASES DE DATOS......................................................................................................37 EVALUACIÓN...........................................................................................................................................38 1 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia TEMA A DESARROLLAR En esta clase examinará nuevamente algunos conceptos ya estudiados en la Clase 1. Pero no desde un punto de vista teórico, sino aplicando los conocimientos adquiridos para crear tablas en Microsoft Access. Repasaremos los siguientes conceptos: • • • • • • Qué es un Sistema Administrador de Bases de Datos Qué es una tabla Qué es un campo Qué es una consulta Qué es un formulario Qué es un filtro Por otra parte, se ejercitará en: • • • Crear una tabla Definir campos y personalizar las características de los mismos. Definir relaciones entre tablas Si se encuentra ante una extrema dificultad en la resolución de determinado ejercicio, podrá consultar una base de datos con los ejercicios resueltos. Visite http://www.cursogis.com.ar/BasesP/Bases2.htm Baje el archivo Escuela Consulte este archivo sólo en caso de extrema necesidad. Trate de resolver los ejercicios por su cuenta, ya que mi experiencia indica que, en general la resolución de un problema ayuda y fortalece el aprendizaje. En esta clase encontrará respuesta a las siguientes preguntas, a partir de ejercicios: ¿Qué es un sistema de administración de bases de datos relacionales? ¿Qué es una tabla? ¿Qué tipos de datos existen y para qué sirve cada uno? ¿Cómo se personaliza un campo? ¿Cómo puedo importar la información que tengo en un formato distinto a Access? ¿Cómo puedo exportar mi información a un formato que no sea Access? ¿Cómo se relacionan las tablas? ¿Cómo se garantiza la coherencia de los datos relacionados? ¿Qué diferencia hay entre un objeto vinculado y uno incrustado? ¿Cómo se crea un identificador? ¿Para qué sirve indexar un campo que no es identificador? ¿Cómo se hace? ¿Para qué sirve compactar una base de datos y cómo se hace? ¿Cómo se hace una copia de seguridad de los datos? 2 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia CASO Utilizaremos durante el desarrollo de esta clase y las subsiguientes, el caso analizado en la Clase 1, relacionado con la información de una Escuela Primaria. Hemos construido un diagrama EAR, siguiendo los conocimientos adquiridos. La resolución de este esquema tiene varias soluciones correctas posibles. Nosotros hemos optado por la que le mostramos a continuación. Las tablas (entidades) que conforman el diagrama son: • ALUMNOS (DNI_Alumno, Nombre Alumno, Apellido Alumno, Fecha_Nacimiento, DNI_Responsable, Legajo Maestro, Estatura, Foto, Nacionalidad) • RESPONSABLE (DNI_Responsable, Nombre Responsable, Apellido Responsable, Dirección Responsable) • MAESTRO (Legajo, Nombre Maestro, Apellido Maestro, Grado, Currículum) • INFO_SALUD (DNI_Alumno, Grupo, Factor, Apendicitis, Alérgico_Penicilina) • TELÉFONO _ RESPONSABLE (DNI_Responsable, Teléfono, Tipo Teléfono) • ACTIVIDADES (Código Actividad, Descripción, Arancel) • REALIZA (DNI_Alumno, Código Actividad) ACLARACIONES: • En este esquema se creó la tabla TELÉFONO _ RESPONSABLE ya que se considero que teléfono es un Grupo Repetitivo. • Como la tabla ACTIVIDAD mantenía relaciones Muchos-a-Muchos con la tabla ALUMNOS se creó la tabla intermedia REALIZA • La tabla INFO_SALUD, mantiene relaciones Uno-a-Uno con ALUMNO. 3 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia CONOCIMIENTOS EN PRÁCTICA 1. QUÉ ES UN SISTEMA DE ADMINISTRACIÓN DE BASES DE DATOS RELACIONALES De acuerdo a Ullman (1999), un sistema de administración de bases de datos relacionados es ``.... un sistema formal y abstracto que permite describir los datos de acuerdo con reglas y convenios predefinidos. Es formal, pues los objetos del sistema se manipulan siguiendo reglas perfectamente definidas y utilizando exclusivamente los operadores definidos en el sistema, independientemente de lo que estos objetos y operadores puedan significar. ‘‘ En definitiva, es un programa que corre en una computadora que intermedia entre los datos y las aplicaciones que los utilizan y permite: • Crear, modificar y borrar estructuras de datos • Ingresar, actualizar y borrar registros • Recuperar información • Mantener la seguridad e integridad de los datos Microsoft Access es un Sistema de Administración de Bases de Datos Relacionales que permite administrar toda la información de una organización desde un único archivo de base de datos. Con tal fin, provee una serie de herramientas y opciones que se visualizan al abrir el programa. Por favor, abra el programa. 4 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia 2. CREACIÓN DE UNA BASE DE DATOS • Para iniciar Access haga doble click en el ícono de Access que se encuentra en el escritorio, o bien en Inicio > Programas > Microsoft Access. • Vamos a reconocer los elementos presentes en la pantalla principal de Access. • El número 1 en la imagen, señala la Barra de Menú (Menú Bar). • Mientras que lo resaltado con el número 2, es la Barra de Herramientas (Tools Bar). Apenas abrimos Access, se abre una ventana inicial con tres opciones: 3. Crear una nueva base de datos usando Base de Datos de Access en blanco (Blank Acces Data Base). Esta opción sirve para crear una nueva base, donde podrá agregar tablas, formularios, informes y otros objetos 4. Crear una nueva base de datos usando Asistentes (Access database wizards, pages, and projects). Esta opción permite crear proyectos con ayuda de asistentes. Para lograr este objetivo, Access incluye una serie de plantillas. En este curso, no se utilizará esta alternativa, porque aunque en un primer momento puede resultar atractiva, es mejor crear una base desde cero. 5. Abrir un archivo existente (Open an Existing File). Esta opción permite abrir una Base de Datos o un proyecto Access existente en la PC o en la red. Esta opción la utilizaremos una vez creada la base de datos. • En el menú anterior elija la opción Base de datos de Access en blanco (Blank Acces Data Base). • A continuación, elija el nombre de la base de datos y el directorio donde quiere guardarla (Save in), nosotros hemos elegido el nombre “ESCUELA.mdb” 5 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia 3. LA VENTANA INICIAL DEL PROGRAMA • Al abrir el programa, hay una serie de herramientas y opciones que analizaremos a continuación. TABLAS (Tables) • Las tablas, se usan para guardar información. • Como una tabla es una colección de datos sobre un tema específico, se utilizan tablas diferentes para guardar información sobre cada entidad. • Las tablas están compuestas por filas y columnas. Las columnas se denominan campos (Fields) Las filas se denominan registros (Récords). Por favor, observe la figura de la tabla en la imagen inferior. • Cada campo de la tabla contiene el mismo tipo de información. • Por otra parte, cada registro se identifica por un nombre único e inequívoco, que funciona como identificador. El identificador se utiliza también para relacionar tablas. • En este ejemplo se han creado dos tablas, una que contiene información sobre los productos y otra con información de los proveedores. • Con el objetivo de relacionar las tablas, se ha creado un campo común que las relaciona, ID de . Proveedor • Nos ocuparemos de la creación de tablas en esta clase. • Los formularios están compuestos de controles que permiten mostrar y escribir texto. • El tipo de control más comúnmente utilizado, es el cuadro de texto • En general, están acompañados por una etiqueta de texto explicativa FORMULARIOS (Forms) • Para ver, escribir y cambiar datos fácilmente, se crean formularios. (Forms). 6 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia • Por otra parte, los formularios se pueden personalizar creando aplicaciones a la medida de su organización. • Nos ocuparemos de los formularios en la Clase 4. CONSULTAS (Queries) • Para buscar y recuperar datos especificando condiciones, tal como la consulta de los “alumnos de tercer grado de nacionalidad argentina mayores de 10 años”, se usan las Consultas (Queries). • El tipo de consulta más habitual es una consulta de selección. Esta consulta recupera datos de una o más tablas utilizando los criterios que se especifican y los muestra en el orden que se establece. • Nos ocuparemos de las consultas en la Clase 5. 7 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia INFORMES (Reports) • Un informe es una forma efectiva de presentar los datos en formato impreso. • Por supuesto, los informes se pueden personalizar y admiten operaciones tales como el agrupamiento de los datos. • Nos ocuparemos de los informes en la Clase 6 8 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia 4. CÓMO CREAR UNA TABLA Nosotros vamos a crear juntos la tabla ALUMNO. Luego Ud. tendrá que hacer las demás tablas por su cuenta. • Antes de continuar, por favor cierre el programa y vuelva a abrirlo. • En este caso, elija la opción abrir un archivo existente (Open an Existing File) y busque la base de datos que acaba de crear: escuela.mdb. • Vamos a continuar creando la tabla ALUMNO. • Presione el botón Crear (Create). • La ventana que aparece a continuación se denomina ventana Base de Datos. 9 • Bajo el Menú Objetos (Objects), haga click en Tablas (Table) • A continuación, haga click en Nuevo (New), botón que podrá visualizar en la barra de herramientas de la ventana Base de datos. • Se abre una nueva ventana. • Haga doble click en Vista Diseño (Desing View) . • Presione Ok. • Siempre usará esta opción en este curso. • Aparece la siguiente ventana que permite crear la tabla. Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia 4.1 Cómo crear un campo Vamos a comenzar creando el campo donde se almacenará el identificador de ALUMNO. • En la columna Nombre del campo (Field Name) escriba el nombre del campo. • En este caso DNI_Alumno, el Número de Documento de Identidad. • Recuerde lo que dijo Codd: los nombres de los campos no se pueden repetir, por lo cual no conviene usar la palabra DNI ya que habría varios campos DNI iguales: uno para el alumno y otro para el responsable • En la columna Tipo de datos (Data Type), haga click en la flecha y seleccione el tipo de dato del menú desplegable. • DNI_Alumno es texto (Text). • ¿Por qué, se preguntará, si en general el número de documento es un número? • En el próximo apartado encontrará una explicación que le permitirá decidir qué tipo de dato es el más conveniente para su aplicación. • En la columna Descripción (Description), escriba una descripción de la información que contendrá este campo. La descripción es opcional. • Por ejemplo, “Sólo Guarde el N° del DNI del Alumno”. Esta información se despliega en la parte de debajo de la ventana hoja de datos en el momento de ingresar datos. Piense que probablemente, usted no será la única persona que utiliza esta tabla y que este tipo de aclaraciones es muy útil para un usuario nuevo. • Esta información se desplegará en la parte de debajo de la ventana hoja de datos, en el momento de ingresar datos. • Es útil para dejar instrucciones y/o aclaraciones a otros usuarios. • Establezca las propiedades del campo en la parte inferior de la ventana. Más adelante en este texto encontrará una explicación detallada de las propiedades de cada tipo de dato. • Es importante leer cuidadosamente el apartado “Cómo personalizar campos” 10 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia • Por cada uno de los campos de la tabla, debe seguir los mismos pasos. • Los campos a crear son: • DNI_Alumno, Apellido Alumno, Nombre Alumno, DNI_Responsable, Legajo Maestro y Nacionalidad. Estos campos son de tipo texto (Text). • Fecha_Nacimiento, es de tipo fecha (Date/Time). • Foto, es de tipo OLE (OleObject). Posibilitará almacenar imágenes escaneadas, en formato BMP. • Estatura, es de tipo numérico (Number). • Este es el resultado esperado. 11 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia 4.2. Cómo definir una clave principal • Es conveniente definir la clave principal antes de guardar la tabla. La clave principal es el famoso identificador. • En el caso de la tabla ALUMNO, la clave principal es DNI_Alumno. • Para crear la clave principal, haga click en el selector de filas del campo que considera el Identificador. El campo seleccionado adquiere color negro. • La fila DNI_Alumno debe adquirir color negro. • Ahora haga click en Clave principal (Primary Key) en la barra de herramientas: el botón con la llave. • Este es el resultado esperado. • ¿Ve la llave al lado del campo DNI_Alumno? • Ya esta la tabla lista. Haga click en Guardar (Save), en la barra de herramientas • A continuación, escriba un nombre para la tabla. Llame esta tabla ALUMNO. • ¿Ve la nueva tabla en la ventana? ¿QUÉ TIPO DE CLAVE PRINCIPAL DEBO UTILIZAR? Claves principales de Campo simple • Si tiene un campo que contiene valores exclusivos, como números de identificación o el código de la actividad complementaria, puede designar ese campo como la clave principal. • Utilizamos este tipo para crear la clave principal de la tabla ALUMNO a la cual hemos llamado DNI_Alumno. Claves principales de Auto numérico • Se usa este tipo de clave para introducir automáticamente un número secuencial cuando se agrega un registro a la tabla. • Designar un campo de este tipo, es la forma más sencilla de crear una clave principal. • Utilizamos este tipo para crear la clave principal de la tabla MAESTRO a la cual hemos llamado Legajo. 12 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia Claves principales de Campos múltiples • En situaciones en las que no se puede garantizar la exclusividad de un sólo campo, puede designar dos o más campos como clave principal. • La situación más común en la que surge este problema, es en las tablas derivadas que se crean entre 2 tablas que mantenían una relación Muchos-a-Muchos. • En la tabla intermedia REALIZA, la clave principal está formada por dos campos: DNI_Alumno y Código_Actividad. • Para seleccionar varios campos, mantenga presionada la tecla CTRL y a continuación, haga click en el selector de filas de cada campo. • Luego haga click en el botón Clave principal en la barra de herramientas. • Así se ve la clave principal combinada de la tabla REALIZA. • Por otra parte, así se ve la clave combinada de la tabla TELÉFONO_RESPONSABLE. • Si no establece una clave principal antes de guardar una tabla recién creada, el programa le preguntará si desea que cree una clave principal. • Si contesta afirmativamente, se creará una clave principal de tipo Auto numérico. • Se puede especificar una clave principal para un campo que ya contiene datos, pero Microsoft Access genera un mensaje de error si al guardar la tabla encuentra valores Duplicados o Nulos en el campo. • Los valores duplicados deben eliminarse. • Puede ejecutar una Consulta con el fin de determinar qué registros contienen datos duplicados. NOTAS Antes de continuar creando tablas es necesario que lea los dos siguientes apartados: “Cómo decidir el tipo de datos de un campo” y “Cómo personalizar campos”. 13 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia 4.3 Cómo decidir el tipo de datos de un campo Cada campo sólo puede contener datos de un tipo. Los tipos disponibles son: TEXTO • Texto o combinaciones de texto y números, así como números que no requieran cálculos, como los números de teléfono. • La cantidad de caracteres de longitud que tendrá cada campo se determina en Tamaño del Campo, con un máximo de 255 caracteres. • Ejemplos Generales de campos tipo texto: Nombre de un artículo, dirección de una empresa, teléfono de un cliente, cargo de un empleado, nombre de una ciudad. • Ejemplos en la tabla ALUMNO: el identificador, DNI_Alumno, es de tipo texto ya que a pesar de ser un número, no se requiere hacer ningún cálculo con esta información. MEMO • Texto extenso o combinación de texto y números (hasta 65.535 caracteres), como por ejemplo, notas o descripciones • Ejemplos Generales: En una base de datos de producción, una descripción extensa de un producto. En una base de datos de venta OnLine de libros, los comentarios acerca de un libro de los usuarios que lo leyeron. En una base de datos laboral, el perfil del puesto a cubrir. • Ejemplos en la tabla MAESTRO: se debe usar un campo tipo memo para guardar el currículo del maestro. 14 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia NUMÉRICO • Datos numéricos utilizados en cálculos matemáticos. • En Tamaño del Campo, Field Size, se puede variar el rango y la precisión decimal. Las posibilidades son: • Byte: números entre 0 y 255. Sin decimales. Ocupa 1 Byte. Por ejemplo, la edad del alumno. • Entero: números entre -32.768 y 32.767. Sin decimales. Ocupa 2 Bytes. Por ejemplo, las unidades en stock de un producto. • Entero largo: números entre -2.147.483.648 y 2.147.483.647. Sin decimales. Ocupa 4 Bytes. Es el predeterminado. Por ejemplo, en una empresa, la cantidad de unidades vendidas por artículo, en un año. • Simple, Doble, Decimal: para datos que requieren valores extremadamente grandes (más de 30 cifras) y/o precisos (hasta 7 decimales). Por ejemplo, en una empresa de servicios, el campo que guarda los consumos de cada cliente. • Nota: los tipos numéricos más comunes son entero largo y doble. Use entero largo cuando no necesite decimales y doble en el caso de que requiera esta precisión. • Por defecto, cuando se crea un campo numérico, se crea un campo de tipo entero largo. Esto es lo que sucedió cuando se creó el campo Estatura en la tabla ALUMNO. Dejar esto así seria un error ya que necesita un campo numérico doble, que guarde cifras decimales. Vamos a modificarlo más adelante en esta misma clase. MONEDA • Se utiliza este tipo de datos para evitar el redondeo durante los cálculos. • Tiene una precisión de 15 dígitos a la izquierda del separador de decimales y de 4 dígitos a la derecha del mismo. • Ejemplos Generales: Precio de un artículo, sueldo bruto de un empleado, tasación de un inmueble. • Ejemplos en la tabla ACTIVIDAD: se debe usar este tipo para almacenar el arancel. 15 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia FECHA/HORA • El almacenamiento de fechas y horas en este tipo de campo, garantiza que las fechas y las horas se ordenarán correctamente. • Además, los cambios realizados en los formatos de fecha u hora especificados en la Configuración Regional en el Panel de Control de Windows, se reflejarán automáticamente en la información de estos campos. • Ejemplos Generales: Fecha de ingreso a la compañía, Fecha de emisión de una factura, hora de ingreso y egreso de la compañía (en una base de datos que controle el presentismo). • Ejemplos en la tabla ALUMNO: se puede usar este tipo para el campo fecha de nacimiento de los alumnos. AUTO NUMÉRICO • Permite crear campos que introducen, automáticamente, un número cuando se agregue un registro. • Estos pueden ser números secuenciales (con incremento de una unidad) o números aleatorios (al azar). • Una vez generado un número para un registro, este número no puede eliminarse ni cambiarse. • Ejemplos Generales: Suelen usarse como clave principal numérica de cualquier tipo de tablas, como código de paciente en un hospital, número de cliente, número de remito, número de proveedor, etc. • Ejemplos en la tabla ACTIVIDAD: se puede usar este tipo para el campo Código_Actividad. SÍ/NO • Campos que van a contener sólo uno de dos valores posibles, como Sí/No, Verdadero/Falso, Activado/Desactivado. • Ejemplos en la tabla INFO_SALUD: se puede usar este tipo para el campo Apendicitis y Alérgico_Penicilina. La respuesta será Si-No. 16 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia OBJETO OLE • Los campos Objeto OLE se utilizan para vincular o incrustar archivos creados con otros programas, como Microsoft Word, Microsoft Excel, imágenes, sonidos, películas o cualquier otro tipo de dato binario. • Ejemplos Generales: la foto de un empleado de la compañía, una planilla Excel de costos de un producto, el currículum vitae de un aplicante en una base de datos laboral. • Ejemplos en la tabla ALUMNO: se debe usar este tipo guardar la foto de cada alumno. HIPERVÍNCULO • Un hipervínculo es un texto coloreado y subrayado o un gráfico en el que se hace click para saltar a un archivo ó a una página HTML en la World Wide Web de Internet. • Ejemplos Generales: la dirección Web de un equipo en una base de datos de deportes, el correo electrónico de un cliente, la ubicación dentro de la red de un archivo de AUTOCAD que posee los planos de una casa en una base de datos de inmuebles. • Ejemplos en la tabla MAESTRO: se puede usar un campo hipervínculo a un sitio Web del grado, donde los alumnos cuelgan sus dibujos y trabajos. LAS PREGUNTAS MAS FRECUENTES A LA HORA DE CREAR CAMPOS Antes de crear campos, en muchos casos deberá hacerse estas preguntas: ¿Debo crear un campo Texto o Memo? • Utilice el tipo de dato Texto para almacenar datos como nombres, direcciones y cualquier número que no requieran más de 255 caracteres. • Utilice el tipo de datos Memo si necesita almacenar más de 255 caracteres. Un campo Memo puede contener hasta 64.000 caracteres. • El problema con los campos Memo es que no pueden ordenarse ni indexarse. • Algo más, si desea almacenar texto con formato o documentos largos, es más conveniente que cree un campo OLE en lugar de un campo Memo. En este tipo de campo podrá guardar un documento de Microsoft Word. ¿Cuál es la ventaja? Se guarda el formato. ¿Me conviene usar un campo de texto o de número para ingresar un valor tal como el DNI de los alumnos? • En general, se debe usar el tipo número solamente para datos con los cuales necesita hacer cálculos. ¿Por qué motivo? El formato texto ocupa menos espacio. • El problema con los campos textos que guardan números, es que los números se ordenan como cadenas de caracteres (primero 1, luego 10, 100 y recién el 2, 20, 200, etc.) • Si quiere que la cadena anterior se ordene correctamente debe ingresar los números precedidos por 0 (001, 010, 100, 002, 020, 200) • Si no le convence esta última opción, elija el tipo Número. 17 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia 4.4 Crear las tablas • Ya tiene los conocimientos necesarios para crear las tablas que faltan. • Por favor realice esta tarea antes de continuar. Si se equivoca, siempre esta a tiempo de realizar modificaciones. • Recuerde las claves principales están subrayadas y con fondo gris en los esquemas. • A continuación se detallan las tablas a crear. • Se ofrece además algunas ayudas y recordatorios. Puede descargar la base de datos llamada ESCUELA con todos los ejercicios resueltos para que pueda ir comparando y analizando sus resultados. http://www.cursogis.com.ar/BasesP/Bases2.htm • TABLA MAESTRO • El campo Curriculum de esta tabla, debe ser de tipo OLE (Ole Object). Posibilitará almacenar Documentos de Word. • Los otros campos deben ser de tipo texto (Text). • Se estipularon diferentes anchos para estos campos. Por ejemplo, en los campos Nombre y Apellido, se especificó un ancho (Widht) de 255 caracteres ya que se partió de la base que los 50 caracteres que asigna el programa por defecto, no eran suficientes. • Por otra parte, Legajo se redujo a 8 caracteres. • Para modificar esta propiedad, en Tamaño del Campo, Field Size, se escribió 255 en un caso y 8 en el otro. • Legajo es el identificador principal. • Este es el resultado obtenido. TABLA RESPONSABLE • Los conceptos que ya fueron desarrollados en la tabla MAESTRO, no se van a repetir en esta tabla. • Este es el resultado obtenido. 18 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia TABLA INFO SALUD • Se crearon los campos Apendicitis y Alérgico Penicilina del tipo Si/No (Yes/No). TABLA ACTIVIDAD • Se creó un campo con tipo moneda (Currency) para Arancel, con el objetivo de obtener la mayor precisión.. • El identificador de esta tabla es de tipo Auto numérico Secuencial (Auto Number). • El campo Descripción es de texto (Text), con un Tamaño del Campo, de 255 caracteres. TABLA TELÉFONO_RSPONZABLE • La clave principal de esta tabla es una Clave Principal de Campos Múltiples. • Para seleccionar varios campos, mantenga presionada la tecla CTRL y a continuación, haga click en el selector de filas de cada campo. TABLA REALIZA • En la tabla intermedia REALIZA, la clave principal está formada por dos campos: DNI Alumnos y Código Actividad 19 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia • Esta es la vista final de la ventana base de datos ESCUELA. 4.5 Cómo personalizar campos • A medida que recorra esta sección, sería interesante que personalice los campos de las tablas que acaba de crear. • Pruebe cada una de estas opciones. Invente sus propias alternativas. • Esta tarea, facilitará el ingreso de información y le ahorrará mucho tiempo en la labor que consume los mayores recursos: el llenado de la tabla. • Para realizar esta tarea, necesitará volver a la vista diseño (Desing). • Para realizar esta tarea, seleccione la tabla que quiere modificar. En este caso, ALUMNO. ¿La ve de color azul oscuro? • Presione el botón Diseño (Desing). • Se abrirá la ventana Diseño (Desing View), con la cual ha venido trabajando hasta ahora. • En la parte superior de la ventana, haga click en el campo cuya propiedad desee modificar. • En la parte inferior de la ventana, en la ficha General, haga click en la propiedad que quiere cambiar y escriba el nuevo valor o elíjalo de la lista desplegable. • A continuación, vamos a enumerar las posibilidades que tienen los diferentes tipos de datos. 20 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia TEXTO Tamaño del Campo (Field Size) • Regula la longitud del campo, con un máximo de 255 caracteres. • Por defecto la longitud es 50 lugares. Piense si con 50 lugares le alcanza o le sobra. • Por ejemplo, el número de documento, debería tener 10 lugares: no hace falta más, por lo menos en la Argentina. Si hubiera un campo para guardar la dirección del alumno, debería ser más largo. • Abra la base ALUMNO y modifique el tamaño del campo. Formato (Format) • Permite personalizar la forma en que el texto se muestra e imprime. • Puede utilizar los símbolos especiales que se detallan a continuación con el fin de crear formatos personalizados para los campos Texto y Memo. Símbolo Descripción < Convertir todos los caracteres a minúsculas > Convertir todos los caracteres a mayúsculas. • Por ejemplo, se podría especificar que el apellido del ALUMNO se ingrese en la base en Mayúsculas independientemente de cómo se incorpore y el nombre en Minúsculas. • A partir de este momento, el apellido estará siempre en mayúsculas. Máscara de Entrada • Se utiliza para facilitar la entrada de datos y para controlar los valores que los usuarios pueden introducir. • Por ejemplo, puede crear una máscara de entrada para un campo Número de Teléfono que muestre exactamente cómo debe introducirse un número nuevo. • A continuación, le mostraremos los símbolos más usados. Incluiremos una mascara de ejemplo para cada uno de los símbolos y especificaremos un posible valor a ingresar con dicha mascara. • Para este ejemplo, hemos utilizado el ISBN, Número Normalizado Internacional (International Standard Book Number) que posibilita la identificación de libros, ya que cada libro actualmente publicado tiene un ISBN diferente de los demás. Símbolo L ? & C 0 9 Descripción Máscara Letra (A a Z, entrada obligatoria) Letra (A a Z, entrada opcional) Cualquier carácter o un espacio (entrada obligatoria) Cualquier carácter o un espacio (entrada opcional) Dígito (0 a 9, entrada obligatoria, signos más [+] y menos [-] no permitidos) Dígito o espacio (entrada no obligatoria, signos más y menos no permitidos) 21 Valores que se pueden ingresar LLLL ISBN ISBN 0-???-0 ISBN 0-A-0 ISBN &&&&& ISBN 1-507 ISBN 0-CCC-0 ISBN 0-e-0 (00) 0000-0000 (11) 4783-0793 (99) 0000-0000 ( ) 4783-0793 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia • Para ingresar el número de documento en Argentina, la mascara adecuada es 00.000.000. • Para ingresar el Número de Teléfono, la máscara adecuada es (99) 0000-0000 Valor predeterminado • Valor que se inserta automáticamente en el campo en cuestión al agregar un nuevo registro. • Por ejemplo, en la base ALUMNO, en el campo Nacionalidad se podría ingresar el valor predeterminado” Argentino”. • Al ingresar un nuevo alumno, por defecto, tendrá nacionalidad argentina. Si el alumno fuera extranjero, deberá ingresar el dato correcto desde la tabla. Pero piense el tiempo que se ahorra, ya que se evitará ingresar la nacionalidad para la mayoría de los alumnos. • Es muy útil: ahorra tiempo, pruébelo. Regla de validación • Expresión que limita los valores que pueden introducirse en el campo, alertando al usuario que ha ingresado un dato inválido. • Por ejemplo, para fecha de nacimiento de ALUMNO, se puede establecer la regla >#31/12/1980#, para que no ingrese ningún alumno de más de 23 años. • ¿Es muy útil, no le parece? Evita el ingreso de datos que sabemos que necesariamente son incorrectos. • Establecer este tipo de datos, da consistencia a la tabla, ya que se limitan los posibles errores, como por ejemplo, los errores de tipeo. Texto de validación • El mensaje de error aparece cuando se introduce un valor prohibido por la regla de validación. • Ejemplo, para el caso anterior se podría introducir el siguiente texto: “El alumno debe haber nacido después del 31/12/11980” • Por favor, mire la imagen anterior para ver cómo introducimos este texto. • La imagen de la derecha es el mensaje de error que aparece si no se cumple con la regla de validación. Requerido • Si el valor es “sí” (Yes), la entrada de datos en el campo es obligatoria. • Las claves principales son requeridas siempre. • El campo grado de la tabla MAESTRO podría ser requerido, si se quisiera exigir que no exista ningún maestro sin grado asignado. • Si establece la propiedad requerido para este campo, e intenta ingresar un maestro sin grado, un mensaje le alertará que debe ingresar este dato. • Establecer este tipo de propiedad, da consistencia a los datos ya que garantiza la existencia de la información considerada fundamental. 22 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia Indexado • Un índice acelera las búsquedas y ordenamientos, pero puede hacer más lentas las actualizaciones. • Puede optar por indexar el campo con o sin duplicados. • Use esta última opción, si desea asegurarse de que no existan dos registros con los mismos datos en este campo. • Por ejemplo, podría indexar con duplicados el campo apellido, para acelerar las búsquedas. • Sólo se aplica a los campos de tipo texto, memo e hipervínculo. • Permite ingresar un dato como nulo o como de longitud 0. • ¿Qué diferencia hay? ¿Recuerda el concepto de valor nulo? Un campo puede dejarse en blanco por dos motivos: porque la información se desconoce en ese momento ó porque el campo no se aplica al registro. • Por ejemplo, si una tabla tiene un campo Número de Fax puede dejarlo en blanco sí: - No sabe el número de fax del cliente. - Si el cliente no tiene número de fax. • Para una situación de este tipo debe: - Dejar el campo en blanco si desconoce si tiene fax. - Introducir dobles comillas ("") si esta seguro que NO tiene fax. • Por ejemplo, se podría permitir longitud 0 en el campo Nacionalidad. • En el caso de ingresar un valor nulo, se estará indicando que no se conoce esta información. Deje el casillero en blanco ya que el uso de comillas indicaría “Sé que no tiene nacionalidad”. Un disparate. Permitir longitud cero Para los otros tipos de datos, se explicita sólo las características particulares. A falta de aclaración, vale lo explicado para campos de tipo “texto” NUMÉRICO Tamaño del campo • El tamaño y tipo de números a introducir en el campo. • Los más comunes son entero largo y doble. Formato (Format) • Permite personalizar la forma en que los números se muestran e imprimen. • Puede utilizar uno de los formatos predefinidos o bien puede crear un formato personalizado mediante los símbolos de formato. • Por ejemplo, puede hacer que si escribe 4321, el número se muestre automáticamente como $4.321,00. Es más fácil elegir esta opción que escribir una mascara. • Por favor, mire el desplegable. • Puede usar esta opción para el campo arancel de la tabla ACTIVIDAD. 23 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia Lugares decimales • Especifica el número de lugares decimales que utiliza Access para presentar números. • Esta propiedad afecta sólo al número de lugares decimales que se muestran y no al número de decimales que se almacenan (esto último se modifica desde la propiedad Tamaño del campo). • Por ejemplo, debería usar dos decimales para registrar el arancel de una actividad. • Vale lo explicado para campos de tipo “texto” (Text). Puede definir una máscara de entrada mediante los siguientes caracteres: Máscara de entrada Símbolo 0 9 # • Descripción Dígito (0 a 9, entrada obligatoria, signos más [+] y menos [-] no permitidos) Dígito o espacio (entrada no obligatoria, signos más y menos no permitidos) Marcador de posición de dígitos. Muestra un dígito o nada. Valores Máscara (00) 0000-0000 (11) 4783-0793 (99) 9999-9999 ( ) 4783-0793 #.##0,00 2,00 34,00 Puede usar la mascara #.###,00 para que el número 4321 se muestre automáticamente como 4.321,00. Regla de Validación • Vale lo explicado para campos de tipo “texto” (Text). • Puede definir en la tabla ACTIVIDAD, la regla de validación arancel > 0, para permitir únicamente la inclusión de valores mayores a este valor. MONEDA • Las propiedades son las mismas que el tipo de datos “numérico” (Number), salvo que “moneda” (Currency) no tiene la propiedad Tamaño del campo (Field Size). 24 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia FECHA/HORA Formato (Format) • Permite personalizar la forma en que las fechas y las horas se muestran e imprimen. • Puede utilizar uno de los formatos predefinidos o bien puede crear un formato personalizado mediante los símbolos de formato. • Los formatos predeterminados son: Fecha larga: Sábado, 3 de Abril de 1993 Fecha mediana: 3-Abr-93 Fecha corta: 3/4/93 • Puede usar el formato Fecha Corta para ingresar la fecha de Nacimiento de los Alumnos. AUTO NUMÉRICO Tamaño del campo • Un campo Auto numérico (Auto Number) puede generar dos tipos de números: enteros largos e ID. de réplica. • Los enteros largos son los más comunes y los más adecuados para utilizar como clave principal de una tabla. • Los de ID. de réplica se utilizan en las réplicas de base de datos con el fin de generar identificadores únicos para sincronizar réplicas. Nuevos Valores • Esta propiedad esta disponible sólo, si eligió Enteros largos en Tamaño del campo. • Seleccione Incrementalmente para que los valores se incrementen de uno en uno. • Seleccione Aleatoriamente para que se asigne a los registros nuevos un valor aleatorio. • Cuando crea un campo Auto numérico (Auto Number), por defecto es secuencial. • Para crear un campo Auto numérico aleatorio, en la parte inferior de la ventana, en la ficha General, establezca la propiedad Nuevos valores (New Values) a Aleatoriamente (Random). • En la base ALUMNO, utilice siempre el tipo secuencial. 25 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia SÍ/NO Formato • Permite personalizar la forma en que este campo se muestra e imprime. • Puede elegir entre Sí/No (Yes/No), Verdadero/Falso (True/Fals), Activado/Desactivado o un formato personalizado. • Bueno, ya tiene todos los conocimientos necesarios para modificar y personalizar cada una de las tablas. • Por favor, realice esta tarea antes de continuar. Si se equivoca, siempre esta a tiempo de modificar. • No pierda la oportunidad de hacer todas las personalizaciones de una tabla que crea conveniente. Juegue un poco con ellas. • Ahorra mucho trabajo en el momento de llenar la base y dan consistencia a nuestro trabajo. • Si tiene dudas, en esta sección de la vista diseño tiene una importante ayuda (Recuadro rojo). 26 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia 4.6 Cómo insertar nuevos campos • Cierre la base de datos y vuelva a abrir la tabla en la vista Diseño (Desing View). • Para insertar un campo dentro de la tabla, haga click en la fila situada por debajo del lugar en que desea agregar el campo. • A continuación, haga click en Insertar filas (Insert Rows) en la barra de herramientas. • Luego siga los mismos pasos vistos más arriba en “Cómo definir las características de un campo” (escribir el nombre del campo, definir el tipo de datos, etc.) • Para agregar el campo al final de la tabla, haga click en la primera fila en blanco. • Haga la prueba: inserte el campo Peso en la tabla Alumno. 27 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia 5. CÓMO TRABAJAR CON TABLAS 5.1 Cómo indexar por un campo que no es la clave principal • Un índice ayuda a Access a buscar y ordenar registros de forma más rápida. Se utilizan los índices de una tabla, como se utiliza un índice de un libro: para encontrar datos, busca la posición de los datos en el índice. • Hay que resaltar que la clave principal (identificador primario) de una tabla se indexa automáticamente. Así que no debe preocuparse por este asunto. • Sin embargo, es probable que desee indexar campos para los cuales realiza búsquedas frecuentes, campos que ordena o campos que combina con campos de otras tablas de consultas. • Recuerde: no se puede indexar un campo cuyo tipo de datos sea Memo, Hyperlink u Objeto OLE. • Si desea que un campo esté indexado, abra la tabla en la vista Diseño (Desing) y en la parte superior de la ventana, seleccione el campo en el que desea crear un índice. • En la parte inferior de la ventana, en la ficha General haga click en el cuadro de la propiedad Indexado y haga click en Sí, Con duplicados (Yes Duplicates Ok) o Sí, Sin duplicados (Yes, No Duplecates). • Haga click en Sí, Con duplicados (Yes Duplicates Ok) si desea asegurarse de que no existan dos registros con los mismos datos en este campo. • Por ejemplo, podría indexar con duplicados el campo Apellido de la tabla ALUMNO. • ¿Por qué con duplicados? • Porque probablemente existan 2 alumnos con el mismo apellido. 28 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia 5.2 Cómo importar una base de datos a Access • Seguramente usted tiene información en formato digital que necesita importar a la base Access. Por ejemplo, es probable que tenga datos en una planilla de cálculo. • Si los datos que desea importar están en formato dBase, Paradox, Exchange o cualquier origen de datos ODBC (incluidos Microsoft SQL Server y Microsoft Visual FoxPro), abra la base de datos externa directamente con Archivo > Abrir (File, Open). • Microsoft Access creará automáticamente una nueva base de datos en la misma carpeta que contiene la base de datos externa y agregará vínculos a cada tabla de la base de datos externa. • Si están en un formato distinto, como Excel, abra o cree una base de datos de Access para que contenga las tablas importadas. • Antes de continuar, asegúrese de que los datos de la hoja de cálculo estén organizados en el formato tabular apropiado y de que la hoja de cálculo tiene el mismo tipo de datos en cada campo (columna) y los mismos campos en cada fila. • ¿A qué me refiero en el párrafo anterior? Imagine que usted tiene una tabla en Microsoft Excel cuyo formato es similar al que le mostramos a continuación (esta tabla fue bajada de la pagina Web del Instituto de Estadística y Censo de la Republica Argentina – INDEC). • Antes de poder trabajarla e importarla deberá realizar los cambios especificados en la última columna en letra en color rojo. Distrito Escolar Total Distrito Escolar N° 1 Distrito Escolar N° 2 Distrito Escolar N° 3 Distrito Escolar N° 4 Distrito Escolar N° 5 Distrito Escolar N° 6 Distrito Escolar N° 7 Distrito Escolar N° 8 Distrito Escolar N° 9 Distrito Escolar N° 10 Distrito Escolar N° 11 Distrito Escolar N° 12 Distrito Escolar N° 13 Distrito Escolar N° 14 Distrito Escolar N° 15 Distrito Escolar N° 16 Distrito Escolar N° 17 Distrito Escolar N° 18 Distrito Escolar N° 19 Distrito Escolar N° 20 Distrito Escolar N° 21 Población Total Densidad de Población (hab/km2) Superficie en km2 2.965.403 200,0 280.155 262.701 141.301 92.749 99.358 160.076 170.302 147.786 263.410 232.732 109.189 115.954 115.348 101.542 107.857 88.061 131.191 104.479 57.960 91.157 92.095 14,5 7,6 6,0 10,5 11,6 4,9 7,2 6,2 17,0 14,9 7,1 6,2 10,7 9,1 8,2 7,7 9,3 8,8 8,2 9,0 15,3 Convierta estas 3 filas en una sola fila Elimine esta fila 14.827,02 Elimine esta fila Elimine esta fila 19.321,00 34.565,90 23.550,20 8.833,20 8.565,30 32.668,60 23.653,10 23.836,50 15.494,70 15.619,60 15.378,70 18.702,30 10.780,20 11.158,50 13.153,30 11.436,50 14.106,60 11.872,60 7.068,30 10.128,60 6.019,30 29 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia El resultado esperado es el siguiente: Distrito Escolar Distrito Escolar N° 1 Distrito Escolar N° 2 Distrito Escolar N° 3 Distrito Escolar N° 4 Distrito Escolar N° 5 Distrito Escolar N° 6 Distrito Escolar N° 7 Distrito Escolar N° 8 Distrito Escolar N° 9 Distrito Escolar N° 10 Distrito Escolar N° 11 Distrito Escolar N° 12 Distrito Escolar N° 13 Distrito Escolar N° 14 Distrito Escolar N° 15 Distrito Escolar N° 16 Distrito Escolar N° 17 Distrito Escolar N° 18 Distrito Escolar N° 19 Distrito Escolar N° 20 Distrito Escolar N° 21 • Población Total 280.155 262.701 141.301 92.749 99.358 160.076 170.302 147.786 263.410 232.732 109.189 115.954 115.348 101.542 107.857 88.061 131.191 104.479 57.960 91.157 92.095 Superficie 14,5 7,6 6,0 10,5 11,6 4,9 7,2 6,2 17,0 14,9 7,1 6,2 10,7 9,1 8,2 7,7 9,3 8,8 8,2 9,0 15,3 Densidad 19.321,00 34.565,90 23.550,20 8.833,20 8.565,30 32.668,60 23.653,10 23.836,50 15.494,70 15.619,60 15.378,70 18.702,30 10.780,20 11.158,50 13.153,30 11.436,50 14.106,60 11.872,60 7.068,30 10.128,60 6.019,30 Haga la prueba importe el siguiente cuadro. http://www.indec.mecon.gov.ar/censo2001s2/Datos/02000c21.xls • También podrá bajarla de www.cursogis.com.ar/BasesP/Bases2.htm > Link Tabla Distritos • Esta tabla es muy parecida a la tabla con la cual estuvimos trabajando. • Realice los cambios necesarios. • Cuando este listo, podrá importarla. • A continuación, utilice el comando Archivo > Obtener datos externos > Importar (File, Get External Data, Import). • En el cuadro de diálogo Importar, en el cuadro Tipo de archivo seleccione Microsoft Excel (*.xls). Busque el archivo de la hoja de cálculo (en la unidad y la carpeta donde está ubicado) y haga doble click en su icono. • Después siga las indicaciones de los cuadros de diálogo del Asistente para importar hojas de cálculo, que incluso le preguntará si desea copiar los datos a una tabla nueva o existente. 30 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia 5.3 Cómo exportar una base de datos de Access • La exportación es una forma de enviar datos y objetos de base de datos a otra base de datos, hoja de cálculo o formato de archivo para que otra base de datos, aplicación o programa puedan utilizar dichos datos y objetos. • Exportaremos como ejemplo la tabla ALUMNO a una hoja de cálculo Excel nueva. • En la vista de la ventana Base de Datos, seleccione la tabla que desea exportar (en este caso ALUMNO) y haga click sobre ella con el botón de la derecha. En el menú que allí se despliega, seleccione Exportar (Export). • Asigne un tipo de archivo (por ejemplo xls), un nombre y una ubicación en su disco rígido al nuevo archivo de Excel... y listo!. Ya esta listo para usar la información en otra aplicación. 5.4 Cómo Compactar una base de datos de Access • Mientras trabaja con una base, cada vez que elimina datos u objetos, estos siguen ocupando espacio en disco innecesariamente. Para reducir la misma, está la compactación. • Al mismo tiempo que compacta, Access repara la base de datos, si es necesario. • Para compactar y reparar la base de datos que tiene abierta en este momento, seleccione Utilidades (Utilities) del menú Herramientas (Tools) y, a continuación, haga click en Compactar y reparar base de datos. • Consejo: compacte su base una vez por semana así elimina toda la basura que se fue generando. 5.5 Cómo hacer una copia de seguridad de una base de datos Para prevenir la pérdida de información en caso de que se dañe o borre su base de datos, se recomienda que periódicamente haga una copia de seguridad de la misma. Para esto: • Cierre la base de datos. Si se encuentra en un entorno multiusuario, asegúrese de que todos los usuarios han cerrado la base de datos. • Por medio del Explorador de Windows, Mi PC, Microsoft Backup, el comando Copy de MS-DOS, o de algún otro programa de copia de seguridad, copie el archivo de la base de datos (un archivo .mdb) al medio de almacenamiento de su elección (otra carpeta del mismo disco rígido, una carpeta en un disco distinto o de distinta PC, un disquete, etc.) • Si desea hacer una copia de seguridad en un disquete y el tamaño del archivo de su base de datos es mayor que la capacidad del mismo, no podrá utilizar el Explorador de Windows para hacer la copia de seguridad. Deberá utilizar un programa de copia de seguridad o un compactador (como WinZip) que le permita almacenar el archivo en más de un disquete. • Repetimos dos consejos: Haga copias de seguridad en forma periódica. Compacte la base de datos para que utilice menos espacio. 31 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia 6. COMO ESTABLECER RELACIONES ENTRE TABLAS • Una vez creadas las diferentes tablas para cada tema de la base de datos, necesita una forma de indicarle a Access cómo combinar esa información. El primer paso de este proceso es definir relaciones entre las tablas. • Una vez realizada esta operación, puede crear consultas, formularios e informes para mostrar información de varias tablas a la vez. • En la mayoría de los casos, estos campos coincidentes son el identificador primario de una tabla y una clave externa (identificador secundario) de la otra tabla. • Por ejemplo, la tabla MAESTRO puede asociarse a la tabla ALUMNO mediante la creación de una relación, a través de los campos LEGAJO, que se repite en ambas tablas. • En la tabla MAESTRO, este campo es la clave principal. • En la tabla ALUMNO, funciona como clave externa. • Por favor verifique antes de realizar las relaciones que los campos deben ser del mismo tipo • Ej.: deben ser los dos de texto, o los dos numéricos • Además deben coincidir todas las demás relaciones, como ser máscaras de entrada, validaciones, requerimientos. • No es imprescindible que los nombres de los campos a relacionar coincidan, aunque es aconsejable. • Para definir una relación, es necesario abrir la ventana Relaciones (Relationships), con el botón que se encuentra en la barra del menú. • En el menú “Mostrar Tabla” que aparece a continuación, haga doble click en todas las tablas (o bien un solo click, y luego presionar el botón Agregar). • Agregue todas las tablas que mantienen relaciones. • Cuando termine, haga click en Cerrar (Close). • Puede modificar el tamaño o posición de las tablas como en cualquier ventana de Windows. • Nosotros las hemos ubicado de esta manera: 32 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia • Para definir una relación entre los campos de dos tablas, debe hacer click en uno de los campos, y sin soltar el botón del Mouse, arrastrarlo hasta el campo clave de la otra. • Pruebe con DNI_Alumno de la tabla ALUMNO y la tabla INFO_SALUD. • Como usted puede comprobar, estos dos campos se llaman de la misma forma. Pero debe recordar que NO es una condición necesaria. • Lo importante es que los dos campos a relacionar sean del mismo tipo: los dos numéricos (Number) o los dos de texto (Text), por ejemplo. • Aparece la pantalla “Modificar relación” (Edit Relationships). • Esta ventana tiene un cuadro de texto que indica el tipo de relación (Relationship type). En este caso es Uno-a-Uno. • También posibilita “Exigir integridad referencial” (Enforce Referential Integrity). • ¿Qué es esto? • Se lo explicamos en los párrafos siguientes. 33 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia CÓMO GARANTIZAR LA COHERENCIA DE LOS DATOS RELACIONADOS • Microsoft Access plantea un sistema de reglas para garantizar que las relaciones entre los registros de tablas relacionadas sean válidas y que no se eliminan ni modifican accidentalmente datos relacionados. • Para explicitar estas reglas, plantemos un ejemplo: la relación entre la Tabla ALUMNO y MAESTRO, a la cual le hemos planteado que cumpla todas las reglas que plantea la pantalla (Recuadro Rojo). Si hacemos click en “Exigir Integridad Referencial” (Enforce Referential Integrity), no se puede introducir un valor en el campo de clave externa (identificador secundario) de la tabla relacionada que no exista como clave principal de la tabla principal. No obstante, puede introducir un valor Nulo en la clave externa En otras palabras, no puede introducir un valor en el campo Legajo_Maestro de la Tabla ALUMNOS que no exista en la tabla MAESTRO. Es correcto que esta regla se cumpla. ¿No le parece? En una escuela, no debería haber alumnos con maestros desconocidos por el establecimiento. Pero como puede suceder que desconozca quien es el maestro del alumno, le puede asignar un valor Nulo. Un ejemplo: un alumno que recién ha ingresado al colegio y todavía no se ha decidido por el turno tarde ó el turno mañana, donde los maestros no son los mismos. Por otra parte, no se puede eliminar un Por ejemplo, no puede eliminar un MAESTRO si existen registro de una tabla principal si existen alumnos que dependen del mismo. registros coincidentes en una tabla relacionada. Con el mismo criterio, no se puede Por ejemplo, no se puede cambiar el Nº de legajo de un cambiar un valor de clave principal Maestro si hay alumnos que figuran en nuestros registros como en la tabla principal si ese registro tiene cursando con ese docente. registros relacionados. Si desea que Microsoft Access exija esas reglas para una relación, seleccione la casilla de verificación Exigir Integridad Referencial al crear la relación. Si se exige la Integridad Referencial, e infringe una de las reglas con las tablas relacionadas, Microsoft Access muestra un mensaje y no permite el cambio. 34 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia Debajo de Exigir integridad referencial hay dos Check Box más: Actualizar en cascada los campos relacionados (Cascade Update Related Fields): el cambio de un valor de clave principal en la tabla principal actualiza automáticamente el valor coincidente en todos los registros relacionados. Si modifica Nº de legajo de un Maestro, todos los registros de la tabla ALUMNO a cargo del maestro, también se actualizarán. Esta regla es muy conveniente y práctica. Ahorra mucho trabajo. Eliminar en cascada los registros relacionados (Cascade Delete Related Records): la eliminación de un registro en la tabla principal elimina todos los registros relacionados en la tabla relacionada Si borra un maestro, todos los alumnos a su cargo se borrarán. Es una regla peligrosa. Cuidado, que se retire un maestro de una institución educativa por cualquier motivo, no implica que los alumnos también abandonen la institución. Yo le recomiendo no usar esta regla, salvo en casos en que este absolutamente seguro de la necesidad de la acción de eliminar. • Ahora pulse en Crear (Create). ¡La primera relación ha quedado establecida! • Access, para indicar que entre dos tablas existe una relación, las une con una línea y coloca de cada lado el símbolo que corresponda según el tipo de relación de que se trate. • Para indicar una relación Uno-aUno, coloca un “1” de cada lado, como se ve en . • Y si la relación es Uno-a-Muchos coloca un “1” y un “∞” respectivamente . 35 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia • Arme Ud. las demás relaciones. • Piense en cada caso, si es conveniente o no exigir Integridad Referencial. • A continuación y entre paréntesis, le indicamos los campos a través de los cuales debe llevar a cabo cada relación (arrastrando y soltando) ALUMNOS (DNI_Alumno) – REALIZA (DNI_Alumno) REALIZA (Código Actividad) – ACTIVIDADES (Código Actividad) ALUMNOS (DNI_Responsable) – RESPONSABLES (DNI_Responsable) ALUMNOS (Legajo Maestro) – MAESTROS (Legajo) • Faltan otras relaciones que deberá incorporar de acuerdo al caso que planteamos en la página 3. • Este es el resultado esperado 36 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia ARCVIEW Y LAS BASES DE DATOS • A diferencia del modelo relacional, el programa ArcView 3.2, sólo admite relaciones Uno-aUno. • El programa ArcView 8 admite relaciones Uno-a-Uno y Uno-a-Muchos, siendo esta una de sus grandes ventajas. En este programa cuando se establecen uniones entre un Shapefile y una tabla cuya relación es Uno-a-Uno ó Muchos-a-Uno, se utiliza el comando JOINT. Cuando se requieren unir Shapefiles con tablas cuyas relaciones son Uno-a-Muchos o Muchos-a-Muchos, se utiliza el comando RELATE. Un ejemplo de una relación Uno-a-Muchos, es la que se observa en un edificio de Propiedad Horizontal, representado por un polígono, donde en general son varias las unidades funcionales. • • • 37 Bases de datos para no especialistas. Prácticas con Access 2000- Arq. Mercedes Frassia EVALUACIÓN Esta evaluación es sólo para alumnos matriculados. Como se ha dicho en páginas anteriores, para pasar a la Clase Nº 3, Ud. deberá completar los ejercicios en Microsoft Access. • Completar todas las tablas del caso de aplicación. • Personalizar los campos. • Realizar todas las relaciones del caso de aplicación. Si se encuentra ante una extrema dificultad en la resolución de determinado ejercicio, podrá consultar una base con los ejercicios resueltos. Visite http://www.cursogis.com.ar/BasesP/Bases2.htm Baje el archivo ESCUELA Consulte este archivo sólo en caso de extrema necesidad. Trate de resolver los ejercicios por su cuenta ya que mi experiencia indica que en general, la resolución de un problema ayuda y fortalece el aprendizaje. Posteriormente, envíe un mail a [email protected], notificando que su tarea esta finalizada y solicite la próxima clase. • 38