309 52 41MB
Spanish Pages [496]
ÍNDICE INTRODUCCIÓN...............................................................................................................................15 CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO .......17 1.1 NOVEDADES EN ACCESS 2010 ............................................................................. 17 1.1.1 Novedades generales y de interfaz ...................................................................... 17 1.1.2 Novedades en herramientas de diseño ................................................................ 26 1.1.3 Novedades en tipos de datos y controles............................................................. 29 1.1.4 Novedades en presentación de los datos ............................................................. 30 1.1.5 Novedades en seguridad...................................................................................... 33 1.1.6 Novedades en herramientas de corrección .......................................................... 35 1.2 CARACTERÍSTICAS DE ACCESS 2010 ................................................................. 35 1.3 INICIO Y ENTORNO DE TRABAJO EN ACCESS 2010......................................... 37 1.3.1 Cinta de opciones de Access 2010 ...................................................................... 40 1.3.2 Ficha Inicio.......................................................................................................... 43 1.3.3 Ficha Crear .......................................................................................................... 48 1.3.4 Ficha Datos externos ........................................................................................... 50 1.3.5 Ficha Herramientas de base de datos .................................................................. 51 1.3.6 Botón Archivo ..................................................................................................... 53 1.3.7 Barra de acceso rápido ........................................................................................ 54 1.3.8 Barra de estado .................................................................................................... 56 1.3.9 Panel de exploración ........................................................................................... 58 1.3.10 Documentos con fichas ..................................................................................... 58 1.3.11 Minibarra de herramientas ................................................................................ 60
8 ACCESS 2010. CURSO PRÁCTICO
© RA-MA
CAPÍTULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO DE BASES DE DATOS RELACIONALES ........................................................................................................61 2.1 BASES DE DATOS: TABLAS, CAMPOS Y REGISTROS ........................................... 61 2.2 ESTRUCTURA DE LAS BASES DE DATOS .......................................................... 62 2.2.1 Modelos de datos primitivos. Sistemas de gestión de archivos .......................... 62 2.2.2 Bases de datos jerárquicas................................................................................... 63 2.2.3 Bases de datos en red .......................................................................................... 65 2.2.4 Bases de datos relacionales ................................................................................. 67 2.3 CARACTERÍSTICAS DE LAS BASES DE DATOS RELACIONALES ..................... 69 2.4 OPERACIONES RELACIONALES BÁSICAS........................................................... 70 2.5 OTRAS OPERACIONES RELACIONALES Y OPERADORES BOOLEANOS......... 73 2.6 DISEÑO DE UNA BASE DE DATOS RELACIONAL................................................ 74 2.6.1 Claves primarias y secundarias (externas o foráneas)......................................... 74 2.6.2 Integridad ............................................................................................................ 75 2.6.3 Disparadores........................................................................................................ 78 2.6.4 Índices ................................................................................................................. 79 2.6.5 Tablas en una base de datos relacional ............................................................... 83 2.6.6 Un ejemplo de diseño de base de datos relacional.............................................. 85 2.7 OBJETOS TÍPICOS EN BASES DE DATOS ACCESS ............................................... 93 2.7.1 Consultas: definición y funcionamiento.............................................................. 95 2.7.2 Formularios: definición y funcionamiento.......................................................... 97 2.7.3 Informes: definición y funcionamiento............................................................... 98 2.7.4 Macros................................................................................................................. 99 2.7.5 Módulos............................................................................................................... 99 2.8 RELACIONES EN ACCESS ..................................................................................... 100 2.8.1 Relación uno a varios ........................................................................................ 102 2.8.2 Relación varios a varios .................................................................................... 102 2.8.3 Relación uno a uno............................................................................................ 103 2.8.4 Definir relaciones .............................................................................................. 103 CAPÍTULO 3. CREACIÓN DE BASES DE DATOS, TABLAS, RELACIONES, CLAVES E ÍNDICES....................................................................................................................... 109 3.1 TAREAS PREVIAS A LA CREACIÓN DE UNA BASE DE DATOS ................... 109 3.2 CREACIÓN DE BASES DE DATOS EN ACCESS 2010 ........................................... 112 3.3 ABRIR Y CERRAR UNA BASE DE DATOS ......................................................... 118 3.4 VISTA HOJA DE DATOS. TRABAJO CON TABLAS.......................................... 121 3.4.1 Añadir nuevas tablas a una base de datos ......................................................... 121 3.4.2 Añadir nuevos campos a las tablas de una base de datos.................................. 123
RA-MA
ÍNDICE 9
3.4.3 Insertar, eliminar y cambiar nombre a los campos ........................................... 125 3.4.4 Tipos de datos, formatos y propiedades de campos.......................................... 127 3.4.5 Trabajar con registros........................................................................................ 129 3.4.6 Tareas especiales con tablas. Exportar, importar, cortar, copiar, pegar, eliminar y ocultar tablas .................................................................................... 133 3.5 VISTA DISEÑO. CLAVES, ÍNDICES, TIPOS DE DATOS Y PROPIEDADES ... 135 3.5.1 Establecer y quitar la clave primaria ................................................................. 138 3.5.2 Establecer y quitar índices................................................................................. 139 3.5.3 Tipos de datos y formatos ................................................................................. 142 3.5.4 Propiedades de campos ..................................................................................... 143 3.6 RELACIONES.......................................................................................................... 146 3.6.1 Definir relaciones entre tablas........................................................................... 147 3.6.2 Eliminar y modificar relaciones ........................................................................ 153 3.6.3 Ver las relaciones de una base de datos ............................................................ 154 3.6.4 Integridad referencial ........................................................................................ 156 CAPÍTULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS. PERSONALIZACIÓN .................................................................................................................... 175 4.1 PROPIEDADES DE LOS CAMPOS........................................................................ 175 4.1.1 Tamaño de los campos (propiedad FieldSize) .................................................. 176 4.1.2 Formato de los campos (propiedad Format) ..................................................... 177 4.1.3 Máscara de entrada de los campos (propiedad MáscaraDeEntrada o InputMask) ........................................................................................................ 182 4.1.4 Título de los campos (propiedad Caption) ........................................................ 186 4.1.5 Valor predeterminado de campo (propiedad DefaultValue).............................. 187 4.1.6 Reglas y textos de validación de campos. Propiedades ReglaDeValidación (ValidationRule) y TextoDeValidación (ValidationText) ................................ 190 4.1.7 Propiedad Requerido (Required) en los campos............................................... 194 4.1.8 Permitir longitud cero en los campos. Propiedad permitir longitud cero (AllowZeroLength) ........................................................................................... 196 4.1.9 Campos indexados (propiedad Indexed)........................................................... 198 4.1.10 Comprimir los datos en un campo texto, memo o hipervínculo (propiedad Unicode Compression).................................................................................... 200 4.1.11 Resumen sobre propiedades de campos .......................................................... 200 4.2 PERSONALIZAR CAMPOS ..................................................................................... 205 4.3 CAMPOS DE BÚSQUEDA Y DE LISTA DE VALORES ......................................... 216 4.3.1 Campos de búsqueda en la vista Diseño ........................................................... 217 4.3.2 Campos de búsqueda en la vista Hoja de datos................................................. 221 4.3.3 Campos de lista de valores en la vista Diseño .................................................. 222
10 ACCESS 2010. CURSO PRÁCTICO
© RA-MA
4.3.4 Campos de lista de valores en la vista Hoja de datos........................................ 224 4.4 CAMPOS AUTONUMÉRICOS Y RÉPLICAS DE UNA BASE DE DATOS............. 224 CAPÍTULO 5. CONSULTAS A TRAVÉS DE LA INTERFAZ DE ACCESS 2010.......... 239 5.1 CONCEPTOS Y TIPOS DE CONSULTAS ............................................................. 239 5.2 CONSULTAS DE SELECCIÓN ................................................................................ 241 5.2.1 Consultas de selección sencillas mediante asistente ......................................... 241 5.2.2 Consultas de selección sencillas en la vista Diseño .......................................... 246 5.2.3 Utilizar varias tablas en consultas ..................................................................... 248 5.2.4 Crear una consulta de Autobúsqueda que rellene los datos automáticamente.. 258 5.2.5 Criterios y expresiones para recuperar datos .................................................... 259 5.2.6 Formas comunes de usar criterios ..................................................................... 265 5.2.7 Especificar varios criterios en una consulta ...................................................... 272 5.2.8 Usar una subconsulta para definir un campo o definir criterios para un campo ................................................................................................................ 273 5.2.9 Mostrar sólo los valores más altos o más bajos en los resultados de la consulta.............................................................................................................. 275 5.2.10 Usar el asterisco en la cuadrícula de diseño de una consulta..................................... 275 5.2.11 Trabajar con campos vacíos en consultas ....................................................... 276 5.2.12 Funciones agregadas y otras opciones de la fila total ..................................... 277 5.3 ENCONTRAR REGISTROS O VALORES DE CAMPO DUPLICADOS EN UNA TABLA MEDIANTE UN ASISTENTE PARA CONSULTAS .................................. 278 5.4 ASISTENTE PARA BÚSQUEDA DE NO COINCIDENTES........................................ 281 5.5 PERSONALIZAR UNA CONSULTA ......................................................................... 284 5.6 DISEÑAR O MODIFICAR UNA CONSULTA ............................................................ 286 5.7 CREAR UNA CONSULTA DE SELECCIÓN SIN ASISTENTE DE PRINCIPIO A FIN............................................................................................................................. 292 CAPÍTULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARÁMETROS Y DE ACCIÓN. CÁLCULOS ........................................................................................................ 301 6.1 REALIZAR CÁLCULOS EN CONSULTAS. FUNCIONES AGREGADAS ........ 301 6.2 INCLUIR FUNCIONES AGREGADAS EN UNA CONSULTA MEDIANTE UN ASISTENTE....................................................................................................... 304 6.3 INCLUIR FUNCIONES AGREGADAS EN UNA CONSULTA MEDIANTE LA CUADRÍCULA DE DISEÑO ........................................................................................ 308 6.4 CREAR UN CAMPO CALCULADO EN UNA CONSULTA ....................................... 310 6.5 EXPRESIONES........................................................................................................ 313 6.5.1 Crear una expresión con el Generador de expresiones ..................................... 314 6.5.2 Crear una expresión sin utilizar el Generador de expresiones .......................... 316
RA-MA
ÍNDICE 11
6.5.3 Introducir expresiones en la cuadrícula de diseño de una consulta o en una hoja de propiedades........................................................................................... 317 6.5.4 Utilizar valores en expresiones ......................................................................... 319 6.5.5 Usar los operadores ! y . (punto) en las expresiones......................................... 320 6.5.6 Ejemplos de expresiones en campos calculados ............................................... 320 6.5.7 Operadores típicos a utilizar en expresiones ..................................................... 323 6.5.8 Orden de los operadores en las expresiones...................................................... 325 6.6 CONSULTAS DE REFERENCIAS CRUZADAS................................................... 325 6.6.1 Crear una consulta de tabla de referencias cruzadas mediante un asistente ..... 326 6.6.2 Ordenar o limitar los encabezados de columnas en una consulta de referencias cruzadas .......................................................................................... 330 6.6.3 Crear una consulta de referencias cruzadas sin asistente .................................. 332 6.7 CONSULTAS DE PARÁMETROS ......................................................................... 335 6.7.1 Crear una consulta de parámetros que solicite criterios cada vez que se ejecute................................................................................................................ 335 6.7.2 Especificar el tipo de datos de un parámetro en una consulta de parámetros... 337 6.8 CONSULTAS DE ACCIÓN..................................................................................... 339 6.8.1 Consultas de creación de tabla .......................................................................... 339 6.8.2 Consultas de actualización ................................................................................ 342 6.8.3 Consultas de datos anexados ............................................................................. 343 6.8.4 Consultas de eliminación .................................................................................. 346 CAPÍTULO 7. LENGUAJE SQL DE ACCESS 2010 ............................................................... 357 7.1 BASES DE DATOS RELACIONALES Y LENGUAJE SQL ................................. 357 7.2 EL LENGUAJE SQL DE MICROSOFT ACCESS 2010 ......................................... 358 7.3 ELEMENTOS DE SQL DE ACCESS 2010 ............................................................. 359 7.3.1 Tipos de datos de SQL Access, sinónimos y su relación con SQL ANSI y SQL Server........................................................................................................ 359 7.3.2 Operadores de SQL Access............................................................................... 361 7.3.3 Funciones de SQL Access................................................................................. 364 7.4 ENTORNO DE SQL EN ACCESS 2010. VISTA SQL ............................................ 368 7.5 LENGUAJE DE DEFINICIÓN DE DATOS DDL................................................... 371 7.5.1 Sentencia CREATE TABLE............................................................................. 371 7.5.2 Sentencia CREATE INDEX ............................................................................. 379 7.5.3 Sentencia ALTER TABLE ............................................................................... 380 7.5.4 Sentencia DROP............................................................................................... 384 7.6 LENGUAJE DE MODIFICACIÓN DE DATOS DML ........................................... 386 7.6.1 Sentencia INSERT ............................................................................................ 386 7.6.2 Sentencia UPDATE........................................................................................... 392
12 ACCESS 2010. CURSO PRÁCTICO
© RA-MA
7.6.3 Sentencia DELETE ........................................................................................... 393 7.7 LENGUAJE DE CONSULTA DE DATOS DQL. SENTENCIA SELECT............. 394 7.7.1 Columnas calculadas ......................................................................................... 401 7.7.2 Combinación de consultas con la cláusula UNION.......................................... 402 7.7.3 Consultas multitabla. JOIN de dos o más tablas ............................................... 404 7.7.4 Consultas resumen ............................................................................................ 406 7.7.5 Subconsultas...................................................................................................... 408 7.8 LENGUAJE DE CONTROL DE TRANSACCIONES TCL ....................................... 411 7.8.1 Procesamiento de transacciones ........................................................................ 412 7.8.2 Sentencia BEGIN TRANSACTION................................................................. 413 7.8.3 Sentencia COMMIT TRANSACTION............................................................. 414 7.8.4 Sentencia COMMIT WORK............................................................................. 414 7.8.5 Sentencia ROLLBACK TRANSACTION ....................................................... 415 7.9 LENGUAJE DE CONTROL DE DATOS DCL.......................................................... 416 7.9.1 Sentencia GRANT............................................................................................. 416 7.9.2 Sentencia REVOKE .......................................................................................... 417 7.9.3 Sentencia CREATE USER o GROUP.............................................................. 417 7.9.4 Sentencia ADD USER ...................................................................................... 418 7.9.5 Sentencia DROP USER o GROUP................................................................... 418 7.9.6 Sentencia ALTER USER o DATABASE......................................................... 419 7.10 PROCEDIMIENTOS ALMACENADOS................................................................. 419 7.10.1 Sentencia CREATE PROCEDURE................................................................ 419 7.10.2 Sentencia EXECUTE ...................................................................................... 420 7.10.3 Declaración PARAMETERS .......................................................................... 420 7.10.4 Cláusula PROCEDURE .................................................................................. 421 CAPÍTULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS............................ 437 8.1 INTRODUCCIÓN .................................................................................................... 437 8.2 CREACIÓN DE FORMULARIOS .......................................................................... 439 8.2.1 Herramienta Formulario.................................................................................... 439 8.2.2 Herramienta Varios elementos .......................................................................... 441 8.2.3 Herramienta Formulario dividido ..................................................................... 442 8.2.4 Herramienta Asistente para formularios ........................................................... 443 8.2.5 Herramienta Formulario en blanco ................................................................... 446 8.2.6 Subformularios .................................................................................................. 448 8.3 CREACIÓN DE INFORMES................................................................................... 455 8.3.1 Herramienta Informe ......................................................................................... 455 8.3.2 Herramienta Asistente para informes................................................................ 459
RA-MA
ÍNDICE 13
8.3.3 Herramienta Informe en blanco ........................................................................ 463 8.3.4 Subinformes ...................................................................................................... 465 8.3.5 Herramienta Etiquetas ....................................................................................... 473 8.4 DATOS EXTERNOS ............................................................................................... 476 8.5 IMPORTACIÓN DE DATOS .................................................................................. 476 8.5.1 Importación de datos desde otra base de datos Access ..................................... 477 8.5.2 Importación de datos desde Excel..................................................................... 479 8.5.3 Importación de datos desde ODBC................................................................... 484 8.5.4 Importación de datos desde ASCII y XML....................................................... 487 8.6 EXPORTACIÓN DE DATOS .................................................................................. 494 8.6.1 Exportación de datos a Excel ............................................................................ 494 8.6.2 Exportación de datos a Word ............................................................................ 496 8.6.3 Exportación de datos a orígenes ODBC, XML, etc. ......................................... 498 8.6.4 Exportación de datos a ASCII........................................................................... 499 ÍNDICE ALFABÉTICO.................................................................................................................. 501
INTRODUCCION Microsoft Access 2010 es la base de datos del paquete integrado Office 2010. Constituye una herramienta muy eficaz y ampliamente utilizada que ayuda a los usuarios a compartir información, realizar su seguimiento, presentar informes y realizar los trabajos relativos a una base de datos relacional en un entorno interactivo. Microsoft Access 2010 es una herramienta de diseño e implementación de aplicaciones de base de datos que se puede usar para realizar un seguimiento de la información ordenado y sistematizado. Puede conservar los datos en el equipo o publicarlos en la Web, de forma que otros usuarios puedan usar la base de datos con un explorador web. Access 2010 presenta una interfaz de usuario moderna que permite la interrelación con los orígenes de datos más habituales para conseguir un modo de trabajo dinámico y abierto en el campo de las bases de datos. Con la incorporación del lenguaje SQL, Access 2010 puede considerarse como una base de datos relacional que posibilita el trabajo para la consulta, creación, manejo y administración de bases de datos a través de los lenguajes de definición, modificación y consulta de datos, así como los lenguajes de control de transacciones y control de datos. La utilización de SQL de Access permite la estandarización del código relacional y la interrelación sencilla de Access con otras bases de datos relacionales como Microsoft SQL Server, MySQL, Oracle, etc. Así mismo, Access 2010 dispone de una interfaz de trabajo que permite realizar fácilmente tareas de diseño, creación y administración de bases de datos. Adicionalmente, es posible abordar el trabajo con formularios, informes, filtros y tablas y gráficos dinámicos de modo interactivo a través de asistentes. También se tratan las áreas de seguridad, mantenimiento y rendimiento de las bases de datos.
Capítulo 1
CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO 1.1 NOVEDADES EN ACCESS 2010 En los párrafos siguientes se exponen las principales novedades de Access 2010 agrupadas por categorías.
1.1.1 Novedades generales y de interfaz Novedad Colaboración inmediata
Descripción En Microsoft Access 2010 es posible crear bases de datos web y publicarlas en un sitio de SharePoint. Los usuarios que visitan SharePoint pueden usar la aplicación de base de datos en un explorador web, usando los permisos de SharePoint para determinar lo que puede ver cada usuario. Puede comenzar con una plantilla y empezar a colaborar inmediatamente. Muchas otras mejoras son compatibles con esta nueva capacidad de publicación web y además ofrecen ventajas para las bases de datos de escritorio tradicionales. Si tiene acceso a un sitio de SharePoint con Servicios de Access configurado, puede crear una base de datos web con Access 2010. Los usuarios pueden usar esta base de datos en la ventana de un explorador web, pero usted debe usar Access 2010 para realizar cambios de diseño. Aunque algunas características de las bases de datos de escritorio no se trasladan a la Web, puede realizar muchas acciones equivalentes mediante el uso de nuevas características, como los campos calculados o las macros de datos.
18
ACCESS 2010. CURSO PRACTICO
Compartir una base de datos
©RA-MA
La creación de bases de datos tiene una orientación hacia la compartición de información. Existen diferentes vías: Usar una plantilla: Hay cinco plantillas en Access Activos, Proyectos, Eventos y Contribuciones benéficas.
2010: Contactos, Además, puede
modificar cualquier plantilla antes o después de publicar. Comenzar desde cero: Al crear una nueva base de datos en blanco, elija
entre una base de datos normal y una base de datos Web. Esta elección afecta a las características de diseño y los comandos que se ven, de modo que es fácil asegurarse de que la aplicación sea compatible con la Web. una base de datos existente en una base de datos Web: Puede publicar una aplicación existente en la Web. Dado que no todas las características de las bases de datos de escritorio se admiten en la Web, es posible que deba ajustar algunas características de la aplicación. Para identificar y solucionar problemas de compatibilidad, puede ejecutar el nuevo Comprobador de compatibilidad Web. Convertir
Intranet o Internet: Puede publicar en su propio servidor de SharePoint o
puede usar una solución de SharePoint hospedada. Nuevo generador de macros
Access
2010
incorpora
un
nuevo
generador
de
macros
que
incluye
IntelliSense y una interfaz sencilla y fácil de usar. Las macros de datos
ayudan a admitir agregados en las bases de datos web y además proporcionan un método para implementar “desencadenadores” en cualquier base de datos de Access 2010.
En 1 se seleccione una acción de la lista, en 2 se puede hacer doble clic en una acción en el catálogo de acciones para agregarla a la macro y en 3 se muestra la ficha Diseño cuando se está trabajando con la macro. Las macros de datos ayudan a admitir agregados en las bases de datos web y además proporcionan un método para implementar “desencadenadores” en cualquier base de datos de Access 2010.
© RA-MA ____________ CAPÍTULO I. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO 19
Si agrega una acción, se muestran más opciones en el generador de macros. Por ejemplo, si agrega una acción “Si”, puede ver lo siguiente:
Por otra parte, las macros de datos ayudan a admitir agregados en las bases de datos web y además proporcionan un método para implementar "desencadenadores" en cualquier base de datos de Access 2010. Por ejemplo, puede haber un campo PorcentajeCompletado y un campo Estado. Puede usar una macro de datos para establecer el campo PorcentajeCompletado en 100 al establecer el estado en Completo y en 0 al establecer el estado en No iniciado. Generador de expresiones mejorado
El Generador de expresiones incluye ahora IntelliSense para poder ver las opciones a medida que escribe. Además, muestra información de ayuda para el valor de expresión seleccionado en la ventana Generador de expresiones. Trim(string) devuelve una variante de tipo cadena (string) que contiene una copia de una cadena especificada sin interlineado.
Campos calculados Reglas de validación de tablas
Uso de diseños de controles para mantener el orden
Puede crear un campo que muestre los resultados de un cálculo. El cálculo debe hacer referencia a otros campos de la misma tabla. Para crear el cálculo, se usa el Generador de expresiones. Puede crear una regla que impida la entrada de datos si el registro modificado puede validar una regla especificada. A diferencia de una regla de validación de campo, una regla de validación de tabla puede comprobar el valor de más de un campo. Para crear la regla de validación, se usa el Generador de expresiones. Los diseños, una novedad de Office Access 2010, son grupos de controles que se pueden mover y cuyo tamaño se puede cambiar como una unidad. En Access 2010, los diseños se han mejorado para permitir una colocación más flexible de los controles en los formularios e informes. Puede dividir 0 combinar celdas horizontal o verticalmente, lo que permite reorganizar los campos, las columnas o las filas fácilmente. Debe usar la vista Presentación al diseñar bases de datos web, aunque la vista Diseño sigue estando disponible para trabajar en el diseño de las bases de datos de escritorio.
20
ACCESS 2010. CURSO PRACTICO
Plantillas de bases de datos para crear aplicaciones completas
© RA-MA
Access 2010 incluye un conjunto de plantillas de bases de datos de diseño profesional para el seguimiento de contactos, tareas, eventos, estudiantes y activos, entre otros tipos de datos. Se pueden usar tal cual o se pueden mejorar y perfeccionar para realizar el seguimiento de la información exactamente del modo en el que desee.
Cada plantilla es una aplicación de seguimiento completa que incluye tablas, formularios, informes, consultas, macros y relaciones predefinidos. Las plantillas se han diseñado de modo que se puedan usar inmediatamente. Si el diseño de la plantilla se ajusta a sus necesidades, podrá usarla tal cual. De lo contrario, podrá usarla para crear más rápidamente una base de datos que se ajuste a sus necesidades específicas.
©RA-MA
Vista Hoja de datos con fila Totales Elementos de aplicación para agregar funcionalidad a una base de datos existente
Vista Hoja de datos mejorada
CAPÍTULO 1. CARACTERISTICAS, NOVEDADBS Y ENTORNO DE TRABAJO
21
Es típico necesitar calcular funciones de agregado sobre los campos de una base de datos (suma, cuenta, promedio, máximo, desviación típica, etc.). La vista Hoja de datos presenta ahora una fila Totales en la que se pueden presentar los resultados de las funciones de agregado. Puede agregar funcionalidad a una base de datos existente fácilmente mediante el uso de un elemento de la aplicación. Como novedad en Access 2010, un elemento de aplicación es una plantilla que incluye parte de una base de datos, por ejemplo, una tabla con formato previo, o bien una tabla con un formulario y un informe asociados. Por ejemplo, si agrega un elemento de la aplicación Tareas a la base de datos, tendrá una tabla Tareas, un formulario Tareas y la opción de relacionar la tabla Tareas con otra tabla de la base de datos.
Puede crear tablas y empezar a usarlas sin definir los campos previamente; simplemente haga clic en Tabla en la ficha Crear y empiece a escribir los datos en la nueva hoja de datos que aparece. Dado que Access 2010 determina automáticamente el mejor tipo de datos para cada campo, puede empezar a trabajar de inmediato. En la columna Haga clic para agregar se muestra exactamente dónde agregar un nuevo campo y, si necesita modificar el tipo de datos o el formato de presentación de un campo nuevo o existente, puede usar los comandos de la cinta, en la ficha Campos. Además, puede pegar datos de tablas de Microsoft Excel en una hoja de datos nueva; Access 2010 crea todos los campos y reconoce los tipos de datos automáticamente.
22
ACCESS 2010.
Panel Lista de campos
CURSO PRACTICO
© RA-MA
El panel Lista de campos, introducido en Access 2010, permite agregar campos de otras tablas. Puede arrastrar los campos desde la tabla del origen de registros, desde tablas relacionadas o desde tablas no relacionadas de la base de datos. Si es necesaria una relación entre las tablas, se crea automáticamente o se le guiará durante el proceso.
© RA-MA
CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORN O DE TRABAJO
23
La vista Presentación contribuye a acelerar el diseño de los formularios e informes
Use la vista Presentación para realizar modificaciones de diseño mientras ve los datos de un formulario o informe. La vista Presentación incluye muchas mejoras con respecto a Access 2010 y es necesaria si va a diseñar un formulario o un informe para la Web. Por ejemplo, para agregar un campo a la cuadrícula de diseño, puede arrastrarlo desde el panel Lista de campos o puede modificar las propiedades mediante la hoja de propiedades.
Nueva interfaz de usuario
La nueva interfaz de usuario, incluida con Office Access 2010 y mejorada en Access 2010, se diseñó para facilitar la búsqueda de comandos y características que antes estaban poco visibles entre una cantidad considerable de menús y barras de herramientas. Destaca la Cinta de opciones que es una colección de fichas que contienen grupos de comandos organizados por característica y funcionalidad. La cinta reemplaza los niveles de menús y barras de herramientas de las versiones anteriores de Access.
Entre las características principales de la cinta, se incluyen: Fichas de comandos', fichas que muestran comandos usar de forma conjunta para encontrar los comandos necesarios.
que
se
suelen
Fichas de comandos contextúales: fichas de comandos que aparecen según el contexto; es decir, según el objeto con el que se esté trabajando o la tarea que se esté llevando a cabo. Una ficha de comandos contextúales contiene los comandos que se aplicarían con mayor probabilidad a la tarea que se esté realizando. Galerías: nuevos controles que muestran una vista previa de un estilo 0 una opción para ver los resultados antes de realizar una selección.
24 ACCESS 2010. CURSO PRACTICO
Vista Backstage
© RA-MA
La vista Backstage es una novedad de Access 2010 que contiene comandos aplicables a toda una base de datos (por ejemplo, compactar y reparar o abrir una nueva base de datos). Los comandos están organizados en fichas en la parte izquierda de la pantalla y cada ficha contiene un grupo de comandos o vínculos relacionados. Por ejemplo, al hacer clic en Nueva, puede ver un conjunto de botones que le permiten crear una nueva base de datos desde el principio 0 seleccionar una base de datos de una biblioteca de plantillas de base de datos diseñadas por profesionales. Muchos de los comandos de la vista Backstage estaban disponibles en el menú Archivo en las versiones anteriores de Access. Además, puede ver las bases de datos abiertas recientemente y, si está conectado a Internet, los vínculos a artículos de office.com.
Objetos con fichas
De forma predeterminada, las tablas, las consultas, los formularios y las macros se muestran como objetos con fichas en la ventana de Access. Puede cambiar esta configuración para cada base de datos y usar las ventanas de los objetos en lugar de fichas. Al hacer clic en las fichas de los objetos, es posible pasar con facilidad de uno a otro.
Panel de navegación
El panel de navegación, una novedad de Access 2010, facilita el acceso a todos los objetos de la base de datos abierta actualmente. Use el panel de navegación para organizar los objetos por tipo, fecha de creación, fecha de modificación, tabla relacionada (según las dependencias de objetos) o en grupos personalizados que haya creado. ¿Necesita más espacio para trabajar en el diseño del formulario? Puede contraer el panel de navegación fácilmente para que ocupe poco espacio y siga estando disponible. El panel de navegación reemplaza a la ventana Base de datos usada en versiones de Access anteriores a Access 2010.
© RA-MA
Objetos con fichas
CAPITULO I. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO
25
De forma predeterminada, las tablas, las consultas, los formularios y las macros se muestran como objetos con fichas en la ventana de Access. Puede cambiar esta configuración para cada base de datos y usar las ventanas de los objetos en lugar de fichas. Al hacer clic en las fichas de los objetos, es posible pasar con facilidad de uno a otro.
Ventana de ayuda A diferencia de las versiones anteriores de Access, Access 2010 ofrece un fácil acceso al contenido de la Ayuda de Access y a la referencia del desarrollador desde la ventana Ayuda. Por ejemplo, puede cambiar fácilmente el ámbito de la búsqueda al contenido de referencia del desarrollador únicamente. Independientemente de la configuración de la ventana Ayuda, todo el contenido de la Ayuda de Access y de referencia del desarrollador está siempre disponible en Office Online en office.com o en MSDN.
26
ACCESS 2010. CURSO PRACTICO
© RA-MA
1.1.2 Novedades en herramientas de diseño Novedad Herramientas de creación de objetos más eficaces
Descripción Access 2010 ofrece un entorno intuitivo para crear objetos de base de datos. Use la ficha Crear para crear rápidamente nuevos formularios, informes, tablas, consultas y otros objetos de base de datos. Si selecciona una tabla o eficaces consulta en el panel de navegación, puede crear un nuevo formulario o informe basado en ese objeto con un solo clic mediante el comando Formulario o el comando Informe.
Los nuevos formularios e informes creados con el proceso de un solo clic usan un diseño actualizado para que resulten más atractivos a la vista y se puedan usar inmediatamente. Los formularios e informes generados automáticamente tienen un diseño profesional con encabezados que incluyen un logotipo y un título. Además, un informe generado automáticamente también incluye información de fecha y hora así como pies de página informativos y totales. Vista Informe Vista Informe Estas vistas, presentadas en Office Access 2010 y mejoradas en Access 2010, y y vista vista le permiten trabajar con formularios e informes de forma interactiva. Con la Presentación Presentación vista Informe, puede examinar una representación precisa del informe sin tener que imprimirlo o mostrarlo en la vista preliminar. Si desea centrarse en determinados registros, use la característica de filtro o una operación de búsqueda para buscar texto coincidente. Puede usar el comando Copiar para copiar texto en el Portapapeles o puede hacer clic en los hipervínculos activos que se muestran en el informe para abrir un vínculo en el explorador.
La vista Presentación permite realizar cambios de diseño mientras examina los datos. Puede usar la vista Presentación para realizar muchos cambios de diseño comunes mientras ve los datos en un formulario o informe. Por ejemplo, puede agregar un campo si arrastra su nombre desde el nuevo panel Lista de campos o cambiar las propiedades mediante la hoja de propiedades. La vista Presentación ofrece ahora diseños mejorados, es decir, grupos de controles que se ajustan como un solo control para poder reorganizar fácilmente los campos, las columnas, las filas o los diseños completos. Así mismo, puede quitar un campo 0 aplicar un formato fácilmente en la vista Presentación.
© RA-MA
Operaciones de agrupación y ordenación simplificadas en los informes
Diseños de controles mejorados para facilitar la creación de formularios e informes optimizados
CAPITULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DR TRABAJO
27
Suponga que desea ver el total de ventas por región en un informe. Use la vista Presentación y el nuevo panel Agrupación, orden y total para agregar un nivel de grupo, solicitar un total; verá los cambios realizados en directo en el informe. Con la fila Total es fácil agregar una suma, un promedio, un recuento, un máximo o un mínimo a los pies o encabezados de los informes. Los totales simples ya no requieren la creación manual de un campo calculado. A partir de ahora, basta con señalar y hacer clic.
Los formularios e informes contienen a menudo información tabular, como una columna que contiene nombres de clientes o una fila que contiene todos los campos de un cliente. Puede agrupar estos controles en un diseño que se pueda manipular fácilmente como si fuera una unidad, incluida la etiqueta.
Dado que se pueden seleccionar controles de secciones diferentes, como la etiqueta en el encabezado o pie de sección, la flexibilidad es considerable. Se puede Mover o cambiar el tamaño de un diseño (por ejemplo, mover una columna a la izquierda o a la derecha). Aplicar formato a un diseño (por ejemplo, aplicar negrita a una columna de nombres de cliente para que resalte). Agregar una columna o un campo de columna a un diseño. Eliminar una columna o un campo de columna de un diseño y Combinar o dividir celdas (sólo en Access 2010). Los formatos se guardan junto con el
diseño, para que permanezcan disponibles.
28
ACCESS 2010. CURSO PRACTICO
© RA-MA
Dividir formularios para agilizar el examen de los datos
Use un formulario dividido para crear un formulario que combine una vista Hoja de datos y una vista Formulario. Puede establecer una propiedad para indicar a Access que coloque la hoja de datos en la parte superior, en la parte inferior, a la izquierda o a la derecha.
Macros incrustadas en formularios e informes
Use macros incrustadas para evitar tener que escribir código. Una macro incrustada se almacena en una propiedad y forma parte del objeto al que pertenece. Puede cambiar el diseño de la macro sin tener que preocuparse por el resto de los controles que pueden usarla; cada macro incrustada es independiente. Las macros incrustadas son de confianza porque se impide automáticamente que lleven a cabo determinadas operaciones que pueden ser no seguras.
©RA-MA
CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO
29
1.1.3 Novedades en tipos de datos y controles Novedad
Campos calculados
Campos multivalor
Campos de datos adjuntos de archivos
Descripción Los campos calculados, una novedad de Access 2010, permiten almacenar el resultado de un cálculo. Puede crear un campo que muestre un valor que se calcula a partir de otros datos de la misma tabla. Para crear el cálculo se usa el Generador de expresiones, lo que permite aprovechar las ventajas de IntelliSense y el fácil acceso a la Ayuda para los valores de expresión. No se pueden usar datos de otras tablas como origen del dato calculado. Los campos calculados no admiten algunas expresiones. Los campos multivalor pueden almacenar más de un valor por registro. Por ejemplo, puede que tenga que asignar una tarea a uno de sus empleados o contratistas, pero no desee asignarla a más de una persona. En la mayoría de los sistemas de administración de bases de datos y en las versiones de Access anteriores a Office Access 2010, era necesario crear una relación de varios a varios para hacer esto correctamente. Access crea una tabla oculta para mantener la relación de varios a varios necesaria para cada campo multivalor. Los campos multivalor son especialmente apropiados cuando se trabaja con una lista de SharePoint que contiene uno de los tipos de campo multivalor usados en Windows SharePoint Services. Access 2010 admite estos tipos de datos.
El tipo de datos Datos adjuntos permite almacenar fácilmente todos los tipos de documentos y archivos binarios de la base de datos sin que su tamaño aumente de forma innecesaria. Access comprime de forma automática los datos adjuntos si es posible para minimizar el uso de espacio. ¿Desea adjuntar un documento de Word a un registro o guardar una serie de imágenes digitales en la base de datos? El uso de datos adjuntos facilita aún más estas tareas. Puede agregar incluso varios datos adjuntos a un único registro. Puede utilizar campos de datos adjuntos en las bases de datos de web, pero cada tabla web puede tener como máximo un campo de datos adjuntos.
30 ACCESS 2010. CURSO PRÁCTICO ________________________________________________________ © RA-MA
Los campos Memo ahora almacenan texto enriquecido y son compatibles con el historial de revisiones
Presentados en Office Access 2010, los campos Memo de texto enriquecido significan que ya no está limitado al texto sin formato en los registros. Puede aplicar formato al texto con opciones (negrita, cursiva o mediante las distintas fuentes y colores, y otras opciones de formato comunes) y almacenar el texto en la base de datos. El texto con formato enriquecido se almacena en un campo Memo con un formato basado en HTML y compatible con el tipo de datos de texto enriquecido de Windows SharePoint Services. Establezca la nueva propiedad FormatoDeTexto en TextoEnriquecido o TextoSinFormato para que la información tenga un formato correcto en los controles de cuadro de texto y la vista Hoja de datos.
Calendario para seleccionar fechas
Los campos y controles que usan el tipo de datos de fecha y hora son automáticamente compatibles con un calendario interactivo integrado, introducido en Access 2010. El botón de calendario se muestra automáticamente a la derecha de la fecha. ¿Desea saber la fecha del próximo viernes? Haga clic en el botón y el calendario se mostrará automáticamente para elegir la fecha. De forma opcional, puede desactivar el calendario para un campo o control mediante una propiedad.
1.1.4 Novedades en presentación de los datos Novedad Herramientas mejoradas de ordenación y filtrado
Descripción Suponga que tiene que buscar rápidamente un valor que coincida u ordenar una columna de datos. La característica Filtro automático incluida con Office Access 2010 mejora las ya eficaces funciones de filtrado y permite concentrarse con rapidez en los datos importantes. Es fácil seleccionar entre los valores únicos de una columna, algo muy útil en situaciones en las que no se recuerda algún nombre, o bien ordenar los valores mediante opciones del menú contextual en un lenguaje sencillo, como Ordenar de más antiguo a más reciente u Ordenar de menor a mayor.
© RA-MA ____________ CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO 31
Las opciones de filtro más comunes se encuentran en los comandos de menú o también se pueden usar filtros rápidos para limitar la información según los datos especificados. Las opciones de los filtros rápidos cambian automáticamente según el tipo de datos para mostrar opciones adecuadas para la información numérica, de texto y de fecha.
Totales y colores de fondo alternativos en hojas de datos
La vista Hoja de datos incluye ahora una fila Total en la que se puede ver una suma, un recuento, un promedio, un máximo, un mínimo, una desviación estándar o una varianza. Una vez agregada la fila Total, elija la flecha de la celda de la columna y seleccione el cálculo deseado.
32
ACCESS 2010. CURSO PRACTICO
©RA-MA
Los informes, las hojas de datos y los formularios continuos admiten un color de fondo alternativo para las filas, que se puede configurar de manera independiente del color de fondo predeterminado. Es fácil sombrear las filas alternas con cualquier color que se elija.
Formato condicional
Access 2010 agrega nuevas características de formato condicional (salvo para bases de datos web), lo que permite usar algunos de los estilos de formato disponibles en Excel. Por ejemplo, ahora puede agregar barras de datos para mejorar la legibilidad de una columna de números, como se muestra en el gráfico siguiente:
© RA-MA
CAPITULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO
33
1.1.5 Novedades en seguridad Novedad Seguridad mejorada
Descripción Las características de seguridad mejoradas y su eficaz integración con Windows SharePoint Services permiten realizar las tareas de administración de una forma más eficaz y aumentar la seguridad de las aplicaciones de seguimiento de información. Al almacenar los datos de las aplicaciones de seguimiento en listas de Windows SharePoint Services, es posible realizar auditorías del historial de revisiones, recuperar información eliminada y configurar permisos de acceso a los datos. Office Access 2010 incluía un nuevo modelo de seguridad que se trasladó y mejoró en Access 2010. Las decisiones de confianza unificadas están integradas con el Centro de confianza de Microsoft Office. Las ubicaciones de confianza permiten confiar en todas las bases de datos ubicadas en carpetas seguras. Se puede cargar una aplicación de Office Access 2010 que tenga código 0 macros deshabilitados para ofrecer una experiencia más segura en el modo de espacio aislado (es decir, los comandos no seguros no se pueden ejecutar). Las macros de confianza se ejecutan en el modo de espacio aislado.
Recopilar datos mediante formularios de InfoPath y Outlook
La característica de recopilación de datos presentada en Office Access 2010 facilita la recopilación de comentarios con Outlook y, opcionalmente, InfoPath. Puede crear automáticamente un formulario de InfoPath o un formulario HTML e insertarlo en el cuerpo de un mensaje de correo electrónico. A continuación, ese formulario se puede enviar a los destinatarios seleccionados de los contactos de Outlook o a los nombres de destinatario almacenados en un campo de la base de datos de Access.
34 ACCESS 2010. CURSO PRACTICO
©RA-MA
El usuario decide si desea recopilar nueva información o actualizar la existente. A continuación, los destinatarios rellenan el formulario y lo devuelven. Outlook reconoce los formularios entrantes y guarda automáticamente los datos en la base de datos de Access, sin necesidad de volver a escribirlos. Exportar a PDF y XPS
En Access 2010, puede exportar datos al formato de archivo PDF (Portable Document Format) o XPS (XML Paper Specification) para imprimirlos, enviarlos o distribuirlos por correo electrónico, siempre y cuando instale primero el complemento Publicar como PDF o XPS. Cuando se exporta un formulario, un informe o una hoja de datos a un archivo .pdf o .xps, se puede capturar la información en un formulario de fácil distribución que conserva todas las características de formato, pero que no requiere que los demás usuarios instalen Access en los equipos para imprimirlo o revisarlo. Formato de documento portátil PDF es un formato de archivo electrónico de diseño fijo que conserva el formato del documento y ayuda a compartir archivos. El formato PDF se asegura de que, cuando el archivo se vea en línea 0 impreso, se conservará exactamente el formato original y que los datos del archivo no se puedan copiar o cambiar con facilidad. El formato PDF es también adecuado para documentos que se vayan a reproducir usando métodos de impresión comerciales. XML Paper Specification XPS es un formato de archivo electrónico que conserva el formato del documento y ayuda a compartir archivos. El formato XPS se asegura de que, cuando el archivo se vea en línea o impreso, se conservará exactamente el formato original y que los datos del archivo no se puedan copiar o cambiar con facilidad.
Trabajo más sencillo con datos externos
Ahora puede conectarse a un servicio web como origen de datos externo. Necesita un archivo de definición de servicio web proporcionado por el administrador del servicio web. Después de instalar el archivo de definición, puede establecer un vínculo a los datos del servicio web en forma de tabla vinculada. Las nuevas características de Office Access 2010 permiten importar y exportar datos con mayor facilidad. Puede guardar una operación de importación o exportación y volver a usarla la próxima vez que desee realizar la misma tarea. El Asistente para importar hojas de cálculo permite invalidar el tipo de datos elegido por Access, por lo que puede importar, exportar y vincular a archivos que tengan uno de los cinco formatos de Office Excel 2007 como mínimo.
Mejores métodos de solución de problemas
Diagnósticos de Microsoft Office incluye una serie de pruebas de diagnóstico que permiten averiguar por qué se bloquea el equipo. Estas pruebas de diagnóstico pueden solucionar directamente algunos problemas e identificar los métodos para solucionar otros. Diagnósticos de Microsoft Office reemplaza las siguientes características de Microsoft Office 2003; Detectar y reparar, y Recuperación de aplicaciones de Microsoft Office.
© RA-MA ____________
CAPITULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO
35
1.1.6 Novedades en herramientas de corrección Novedad Herramientas de corrección mejoradas
Descripción Estas son algunas de las nuevas características del corrector ortográfico: El corrector ortográfico se comporta ahora de forma más uniforme en los programas de Office. Varias opciones del corrector ortográfico ahora son globales. Si cambia una de estas opciones en un programa de Office, esa opción también se cambia en el resto de los programas de Office. Para obtener más información, vea el artículo Elegir cómo funciona la comprobación ortográfica y gramatical. Además de compartir los mismos diccionarios personalizados, todos los programas pueden administrarlos mediante el mismo cuadro de diálogo. Para obtener más información, vea el artículo Utilizar diccionarios personalizados para agregar palabras al corrector ortográfico. El corrector ortográfico incluye el diccionario de francés posterior a la reforma. En Microsoft Office 2003, era un complemento que se debía instalar por separado. Para obtener más información, vea el artículo sobre cómo elegir el funcionamiento de la revisión ortográfica y gramatical. Se crea automáticamente un diccionario de exclusiones para un idioma cuando éste se utiliza por primera vez. Los diccionarios de exclusiones se pueden utilizar para forzar al corrector ortográfico a que marque palabras cuyo uso desea evitar. Sirven para evitar el uso de palabras obscenas o que no se adaptan a su guía de estilo. Para obtener más información, vea el artículo Usar diccionarios de exclusiones para especificar la ortografía preferida de una palabra.
1.2 CARACTERISTICAS DE ACCESS 2010 En cuanto a las características generales, Access 2010 admite tamaños de archivo de 2 gigabytes (menos el espacio necesario para los objetos del sistema). Los nuevos archivos tienen extensión .accdb y admiten hasta 32.678 objetos de base de datos. Es posible utilizar hasta 64 caracteres en un nombre de objeto y hasta 20 caracteres en una contraseña o en un nombre de usuario o grupo. Una característica importante se refleja en la posibilidad de admitir hasta 255 usuarios simultáneos, lo que posibilita el trabajo compartido de modo razonable. Por otro lado, también es posible trabajar con una capacidad de hasta 1.000 módulos incluyendo los formularios y los informes. En cuanto a las características de las tablas, Access 2010 admite un tamaño de tabla de hasta 2 gigabytes menos el espacio necesario para los objetos del sistema.
36
ACCESS 2010. CURSO PRÁCTICO _____________________________________________________ © RA-MA
El número máximo de tablas abiertas es de 2.048, el número máximo de campos en una tabla es de 255, el número máximo de caracteres en un nombre de tabla es de 64 y el número máximo de caracteres en un nombre de campo es también de 64. En cuanto a la capacidad de los campos, el número máximo de caracteres en un campo de texto es de 255. Por otro lado, es posible trabajar con campos Objeto OLE de hasta un gigabyte y con campos Memo de hasta 65.535 caracteres cuando se escriben los datos a través de la interfaz de usuario y de hasta 2 gigabytes de almacenamiento de caracteres cuando se escriben los datos mediante programación. Las tablas admiten hasta 32 índices con un máximo de 10 campos en cada índice. El número máximo de caracteres en una descripción de tabla o campo es de 255 y el número máximo de caracteres en un registro (sin incluir los campos Memo y Objeto OLE) es de 4.000. El número máximo de caracteres en un mensaje de validación es de 255, el número máximo de caracteres en una regla de validación es de 2.048 y el número máximo de caracteres en el valor de una propiedad de campo es de 255. En cuanto a las características de las consultas, es posible utilizar hasta 32 tablas y 16 combinaciones en una consulta y hasta 255 campos en un conjunto de registros. El número máximo de relaciones aplicadas por tabla es de 32 menos el número de índices que hay en la tabla para campos o combinaciones de campos que no forman parte de las relaciones. El tamaño máximo de un conjunto de registros es de 1 gigabyte y el límite para ordenar es de 255 caracteres en uno o varios campos. Se admiten hasta 50 niveles de consultas anidadas, hasta 1.024 caracteres en una celda de la cuadrícula de diseño de una consulta, hasta 255 caracteres de un parámetro en una consulta de parámetros, hasta 99 operadores AND en una cláusula WHERE o HAVING y hasta 64.000 caracteres en una instrucción SQL. En cuanto a las características de formularios e informes, es posible utilizar hasta 65.536 páginas impresas en un informe con un encabezado/pie de informe, un encabezado/pie de página y 10 encabezados/pies de grupo. Se pueden agregar a lo largo de la vida dcl formulario o del informe hasta 754 controles y secciones. El número máximo de caracteres en una etiqueta es de 2.048 y el número máximo de caracteres en un cuadro de texto es de 65.535. El ancho máximo de formulario o informe es de 22 pulgadas (55,87 cm), el alto de sección máximo es de 22 pulgadas (55,87 cm) y el alto de todas las secciones más los encabezados de sección (en la vista Diseño) es de 200 pulgadas (508 cm). El número máximo de niveles de formularios o informes anidados es de 7 y el número de campos o expresiones que se pueden ordenar o agrupar en un informe es de 10. En cuanto a las características de las macros, es posible trabajar con un límite de hasta 999 acciones en una macro, hasta 255 caracteres en una condición, hasta 255 caracteres en un comentario y hasta 255 caracteres en un argumento de acción.
© RA-MA ____________
CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO
37
1.3 INICIO Y ENTORNO DE TRABAJO EN ACCESS 2010 El programa se inicia haciendo clic en la opción Microsoft Access 2010 de la carpeta Microsoft Office del botón Iniciar de Windows (figura 1-1). Después de la pantalla temporal de la figura 1-2 se obtiene la pantalla de Introducción de Microsoft Office Access (figura 1-3) que posibilita iniciar una nueva base de datos en blanco (Base de datos en blanco), iniciar una nueva base de datos web en blanco (Base de datos web en blanco), iniciar una base de datos según una plantilla haciendo clic sobre la plantilla elegida en esta pantalla de inicio de Access o abrir una base de datos ya existente (Abrir). Si creamos una nueva base de datos o abrimos una base de datos existente aparece el marco de trabajo general de Microsoft Access 2010 (figura 1-4), que para las versiones 2007 y 2010 constituye una novedad importante para todo tipo de usuarios y cuyos elementos más importantes son los siguientes: •
Cinta de opciones.
•
Fichas de la cinta de opciones.
•
Grupos de opciones dentro de las fichas.
•
Botón Archivo.
•
Botones de acceso rápido (o barra de herramientas de acceso rápido).
•
Panel de exploración.
•
Documentos con fichas.
•
Barra de estado con botones de modo de visualización: o Vista diseño, o Vista hoja de datos, o Vista tabla dinámica, o Vista gráfico dinámico,
•
o Vista SQL. Minibarra de herramientas.
38
ACCESS 2010. CURSO PRACTICO ______________________________________________________ © RA-MA
Figura 1-1
Figura 1-2
©RA-MA ____________
CAPITULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DR TRABAJO
Figura 1-3
Figura 1-4
39
40
ACCESS 2010. CURSO PRACTICO ______________________________________________________ ©RA-MA
1.3.1 Cinta de opciones de Access 2010 La cinta de opciones de Access (figura 1-5) es un elemento más importante de la nueva interfaz de usuario de Microsoft Access. Reemplaza las barras de herramientas y los menús de versiones anteriores de Access.
Figura 1-5 Los tres componentes de la cinta de opciones son las fichas, los grupos y los comandos (opciones). Hay cuatro fichas en la parte superior de la cinta de opciones (figura 1-6) y cada una de ellas representa una de las tareas básicas que se hacen en Access y suele sustituir a un menú de alguna barra de herramientas de versiones antiguas de Access. Cada ficha tiene grupos de opciones (o comandos) que muestran elementos relacionados entre sí. Un comando es una opción del grupo correspondiente representado por un botón, cuadro en el que se escribe información o menú. Por ejemplo, los comandos (u opciones) Pegar, Cortar y Copiar aparecen en primer lugar en la ficha Inicio, dentro del grupo Portapapeles (figura 1-7).
Figura 1-6
Figura 1-7 Los grupos aglutinan todos los comandos que se necesitan para realizar una tarea concreta, y se mantienen a la vista y disponibles para su uso mientras se trabaja en la tarea, en lugar de permanecer escondidos en los menús. Estos comandos esenciales están a la vista en la parte superior del área de trabajo, lo que constituye una clara ventaja de uso.
© RA-MA ____________ CAPI TULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO
41
En lugar de mostrar todos los comandos simultáneamente, Access 2010 muestra algunos comandos en respuesta a las acciones que se realizan (interfaz orientada a tareas). Por ejemplo, si se está trabajando con una tabla, aparecen las Herramientas de tabla con las fichas Campos y Tabla o Diseño según la vista en la que se esté mostrando la tabla (figura 1-8). En dichas fichas están los comandos que se precisan para trabajar con la tabla. La cinta de opciones responde a la acción o tarea actual del usuario.
Figura 1-8 La flecha (denominada iniciador de cuadros de diálogo), situada en la esquina inferior derecha de un grupo, indica que hay más opciones adicionales dentro del grupo. Haga clic en la flecha y se mostrará un cuadro de diálogo o panel de tareas. Por ejemplo, en la ficha Inicio, en el grupo Formato de texto, el iniciador de cuadros de diálogo nos lleva a la pantalla Formato de hoja de datos de la figura 1-9 donde están las opciones para celdas, cuadrícula, colores, etc., en la hoja de datos.
Figura 1-9
42
ACCESS 2010. CURSO PRÁCTICO _____________________________________________________ @ RA-MA
No es posible eliminar o reemplazar la cinta de opciones por las barras de herramientas y los menús de versiones anteriores de Microsoft Access. No obstante, puede minimizar la cinta de opciones para que el área de trabajo sea mayor. Para mantener siempre la cinta de opciones minimizada, haga clic con el botón derecho del ratón sobe cualquier zona de la cinta de opciones y en el menú emergente resultante (figura 1-10), haga clic en Minimizar la cinta de opciones. Para usar la cinta de opciones mientras esté minimizada, haga clic en la ficha que desee utilizar y, a continuación, en la opción o comando deseados. Después, la cinta de opciones se vuelve a minimizar. Para minimizar rápidamente la cinta de opciones y mantenerla minimizada durante poco tiempo, haga doble clic en el nombre de la ficha activa. Vuelva a hacer doble clic en una ficha para restaurar la cinta de opciones. Para restaurar la cinta de opciones vuelva a utilizar el menú emergente que se usó para su minimización. El método abreviado de teclado para minimizar o restaurar la cinta de opciones es CTRL+F1.
Figura 1-10
© RA-MA ____________ CAPITULO I. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO
43
1.3.2 Ficha Inicio La primera ficha que aparece en la cinta de opciones de Access es la ficha Inicio (figura 1-11), que además es la ficha por defecto.
Figura I - I I Esta ficha contiene seis grupos de comandos u Portapapeles, Ordenar y filtrar. Registros, Buscar y Formato de texto.
opciones:
Vistas,
El grupo Vistas contiene la opción Ver que despliega un menú cuyas opciones permiten observar las distintas vistas de una tabla (figura 1 -12), consulta (figura 1-13) o del elemento con el que estemos trabajando actualmente.
Figura 1-12
Figura 1-13
44
ACCESS 2010. CURSO PRACTICO _____________________________________________________ © RA-MA
El grupo Portapapeles contiene las opciones habituales de cortar, copiar y pegar, así como la escobilla de pegar estilo típica en las aplicaciones de Microsoft. El iniciador de cuadros de diálogo de este grupo abre un panel en la parte izquierda de la pantalla en el que pueden administrarse todos los objetos que han sido enviados al portapapeles (figura 1-14). La opción Pegar presenta el menú desplegable de la figura 1-15, cuyas opciones permiten pegar normalmente, pegado especial y pegar datos anexados.
Figura 1-14
Figura 1-15 La subopción Pegado especial de Pegar en el menú de la figura 1-15 nos lleva a la figura 1-16 cuya sección Pegar posibilita distintas opciones de formato para el pegado.
@ RA-MA
CAPÍTULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO
45
Figura 1-16 El grupo Formato de texto de la ficha Inicio (figura 1-17) permite realizar las labores típicas de formato de fuente de los registros (tipo, tamaño, resaltado, sombreado, color, etc.). Tipos de fuente y tamaños de fuente se eligen en los desplegables de las figuras 1-18 y 1-19.
Figura 1-17
Figura 1-18
Figura 1-19
46 ACCESS 2010. CURSO PRÁCTICO _____________________________________________________ © RA-MA
Los iconos Negrita, Cursiva y Subrayado realizan la función que su nombre indica aplicando negrita, cursiva y subrayado a la selección. El icono Color de fuente permite aplicar los colores de la figura 1-20. El icono Color de relleno (o fondo) aplica el color seleccionado en su desplegable de la figura 1-21. El icono Alternar color de fila aplica el color seleccionado en su desplegable de la figura 1-22. El icono Líneas de cuadrícula permite un tipo de líneas de división para la tabla del desplegable de la figura 1-23.
Figura 1-20
Figura 1-21
seleccionar
Figura 1-22
Figura 1-23 Por otro lado, ya sabemos que en la ficha Inicio, en el grupo Formato de texto, el iniciador de cuadros de diálogo nos lleva a la pantalla Formato de hoja de datos de la figura 1-9 donde se encuentran las opciones para celdas, cuadrícula, colores, etc. Los iconos de Alinear el texto permiten alinear el texto de los registros adecuadamente para dar formato óptimo a las tablas. Haciendo clic, respectivamente, en los iconos de alineación, se consigue que el texto quede alineado a la izquierda, centrado o alineado a la derecha respectivamente.
© RA-MA
CAPITULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO
47
El grupo de iconos de la figura 1-24 permite trabajar con sangría, viñetas, dirección de texto y color de resaltado de texto de los registros.
Figura 1-24 Los iconos Disminuir sangría y Aumentar sangría permiten retroceder y avanzar un espacio de tabulación la sangría del contenido de las celdas. La sangría es el espacio que hay entre el margen izquierdo y las primeras letras escritas en el párrafo. El icono Dirección del texto texto que se muestra de izquierda a resaltado de texto
permite establecer la dirección del derecha. El icono Color de
cambia el aspecto del texto como si estuviese afectado por un
marcador. Los iconos Numeración y Viñetas con viñetas respectivamente.
permiten iniciar una lista numerada y
El grupo Registros (figura 1-25) permite trabajar con los registros de las tablas. Las opciones de este grupo permiten actualizar los registros de la tabla actual (Actualizar todo), introducir nuevos registros (Nuevo), guardar registros (Guardar), eliminar registros y campos (Eliminar), agregar totales a los campos (Totales), revisar la ortografía del contenido de los registros (Revisión ortográfica) y otras opciones (Más) como ocultar y mostrar columnas, administrar el alto de fila y el ancho de columna, inmovilizar y liberar registros, trabajar con hojas secundarias de datos e interrelacionar con Outlook.
Figura 1-25 El grupo Ordenar y filtrar (figura 1-26) contiene opciones que permiten ordenar
ascendente
y
descendente
los
registros,
eliminar
las
ordenaciones
(Quitar orden), filtrar los registros según determinados criterios (Filtro), seleccionar registros en las tablas mediante condiciones (Selección), administrar filtros (Avanzadas) y aplicar o quitar filtro según exista o no un filtro actualmente (Alternar filtro).
48
ACCESS 2010. CURSO PRÁCTICO ____________________________________________________ ©RA-MA
Figura 1-26 El grupo Buscar (figura 1-27) contiene opciones que permiten realizar búsquedas en los registros (Buscar), reemplazar contenido , ir a un registro concreto (primero, anterior, siguiente, último o nuevo) y seleccionar contenido .
Figura 1-27
1.3.3 Ficha Crear La ficha Crear de Access 2010 (figura 1-28) tiene como finalidad esencial crear tablas, formularios, informes y otros objetos de bases de datos.
Figura 1-28 El grupo Tablas (figura 1-29) contiene opciones que permiten crear una tabla nueva vacía (Tabla), crear una nueva tabla mediante una plantilla de tabla (Plantillas de tabla), crear una lista en un sitio de SharePoint más una tabla en la base de datos actual que vincula la lista (Listas de SharePoint) y crear una nueva tabla vacía en la vista Diseño (Diseño de tabla).
Figura 1-29
©RA-MA ____________CAPITULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO
49
El grupo Formularios (figura 1-30) contiene opciones que permiten crear formularios que admiten un único registro cada vez (Formulario), crear un formulario en blanco (Formulario en blanco), crear un nuevo formulario en blanco en la vista Diseño (Diseño del formulario), crear un formulario mediante el asistente (Asistente para formularios), crear un formulario para explorar distintos formularios e informes (Navegación) y crear otros tipos de formularios (Más formularios) entre los que se encuentran los formularios divididos que muestran el formulario y la tabla de datos relacionada en la parte superior (Formulario dividido), los formularios que muestran múltiples registros con un registro por fila (Varios elementos), los formulario de tipo gráfico dinámico, hoja de datos, cuadro de diálogo modal y tabla dinámica.
Figura 1-30 El grupo Informes (figura 1-31) contiene opciones que permiten crear informes sencillos {Informe), crear informes en blanco {Informe en blanco), crear etiquetas mediante el asistente para etiquetas {Etiquetas), crear informes mediante el asistente para informes {Asistente para informes) y crear un nuevo informe en blanco en la vista Diseño {Diseño de informe).
Figura 1-31 Los grupos Consultas y Macros y código (figura 1 -32) contienen opciones que permiten crear todo tipo de consultas {Asistente para consultas), crear una consulta en la vista Diseño {Diseño de consulta) y crear macros, módulos y módulos de clase {Macro), así como abrir el editor de Visual Basic.
Figura 1-32
50
ACCESS 2010. CURSO PRACTICO _____________________________________________________ © RA-MA
1.3.4 Ficha Datos externos La ficha Datos externos de Access 2010 (figura 1-33) contiene grupos que permiten importar y exportar datos, recopilar y actualizar datos a través de correo electrónico y trabajar con listas de SharePoint sin conexión.
Figura 1-33 El grupo Importar y vincular (figura 1-34) contiene opciones que permiten importar o vincular datos de Access, Excel, Bases de datos ODBC, archivos de texto , archivos XML y de otros formatos como listas de SharePoint, servicios de datos, documentos HTML, carpetas de Outlook y archivos de dBase.
Figura 1-34 El grupo Exportar (figura 1-35) contiene opciones que permiten mostrar y ejecutar operaciones de exportación guardadas previamente (Exportaciones guardadas), exportar o vincular datos a Excel, a archivos de texto, a archivos XML, a archivos PDF o XPS, a archivos de correo electrónico, a Access, a combinación de correspondencia con Word y a otros formatos de SharePoint, archivos RTF de Word
como bases de datos ODBC, listas
, documentos HTML y archivos de dBase.
Figura 1-35 El grupo Recopilar datos (figura 1-36) contiene opciones que permiten recopilar datos a través de un formulario enviado por correo electrónico (Crear correo electrónico) y actualizar datos en las tablas recogidos a través de correo electrónico (Administrar respuestas).
© RA-MA ____________ CAPÍTULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO
51
Figura 1-36 El grupo Listas vinculadas web (figura 1-37) contiene opciones que permiten trabajar con conexión a un servidor de SharePoint (Trabajar con conexión), sincronizar la información elaborada sin conexión una vez realizada la conexión nuevamente lista en caché
a
un
servidor
(Sincronizar),
y volver a vincular listas
descartar
cambios
,
almacenar
datos
de
.
Figura 1-37
1.3.5 Ficha Herramientas de base de datos La ficha Herramientas de base de datos de Access 2010 (figura 1-38) se utiliza para trabajar con Visual Basic para aplicaciones, mostrar y ocultar relaciones y dependencias entre los objetos de la base de datos, analizar la base de datos y su rendimiento y utilizar otras herramientas de cifrado, complementos y administración del panel de control.
Figura 1-38 El grupo Macro (figura 1-39) contiene opciones que editor de Visual Basic (Visual Basic) y ejecutar una macro (Ejecutar macro).
permiten
abrir
el
52
ACCESS 2010. CURSO PRACTICO _____________________________________________________ © RA-MA
Figura 1-39 El grupo Relaciones (figura 1-40) contiene opciones que permiten ver las relaciones entre las tablas de una base de datos (Relaciones) y mostrar u ocultar dependencias entre los objetos de la base de datos (Dependencias del objeto).
Figura 1-40 El grupo Analizar (figura 1-41) contiene opciones que permiten documentar la base de datos (Documentador de base de datos), analizar su rendimiento (Analizar rendimiento) y analizar sus tablas (Analizar tabla).
Figura 1-41 El grupo Mover datos (figura 1 -42) contiene opciones que permiten migrar una parte o toda la base de datos a SQL Server (SQL Server) o listas de SharePoint (SharePoint) y dividir una base de datos Access en dos archivos, uno con las tablas y otro con las consultas y formularios (Base de datos Access).
Figura 1-42 Los grupos Herramientas y Complementos opciones que permiten compactar y reparar bases complementos a través del Administrador de complementos.
(figura 1-43) contienen de datos y administrar
@ RA-MA ____________ CAPÍTULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO
53
Figura 1-43
1.3.6 Botón Archivo El Botón Archivo de Access 2010 sustituye al Botón Microsoft Office de Access 2010 y al clásico menú Archivo de versiones anteriores del programa. La figura 1-44 muestra sus opciones. Se observa que es posible crear una nueva base de datos (Nuevo), abrir bases de datos ya existentes (Abrir), guardar una base de datos o sus objetos (Guardar), guardar una base de datos o sus objetos en otros formatos (Guardar como), cerrar la base de datos actual (Cerrar), imprimir el objeto actual (Imprimir), ver las bases de datos usadas recientemente (Reciente), guardar y publicar la base de datos para su distribución (Publicar), personalizar opciones de Access (Opciones), guardar objetos de la base de datos en formato Adobe PDF (Complementos) y salir de Access (Salir).
Figura 1-44
54
ACCESS 2010. CURSO PRACTICO ____________________________________________________ © RA-MA
El botón Opciones de Access de la figura 1-44 permite administrar las opciones más frecuentes (figura 1-45), las opciones para la base de datos actual, las opciones de hojas de datos, las opciones de diseñadores de objetos, las opciones de revisión, las opciones avanzadas, las opciones de personalización, los complementos, las opciones de seguridad, y los recursos. El botón Salir de Access permite salir del programa.
Figura 1-45
1.3.7 Barra de acceso rápido Si utiliza con frecuencia comandos que no están tan a mano como le gustaría, es muy sencillo agregarlos a la barra de herramientas de acceso rápido, que se encuentra sobre la cinta de opciones cuando se inicia Access 2010 (figura 1-46). En dicha barra, los comandos están siempre visibles y cercanos. Por ejemplo, si utiliza corrientemente la opción Filtro y prefiere evitar hacer clic en la ficha Inicio para tener acceso al comando Filtro cada vez, puede agregar Filtro a la barra de herramientas de acceso rápido. Para ello, haga clic con el botón secundario del ratón en la opción Filtro de la ficha Inicio en el grupo Ordenar y filtrar y después haga clic en Agregar a la barra de herramientas de acceso rápido (figura 1-47). Para quitar un botón de esa barra, haga clic en ella con el botón secundario del ratón y después haga clic en Eliminar de la barra de herramientas de acceso rápido. Haciendo clic en el icono situado a la derecha de la barra de herramientas de acceso rápido, puede personalizarse la misma a través de las opciones de la figura 1-48.
@ RA-MA ____________ CAPITULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO Barra de herramientas de acceso rápido
Figura 1-46
Figura 1-47
Figura 1-48
55
56
ACCESS 2010. CURSO PRÁCTICO ______________________________________________________ © RA-MA
También es posible personalizar la barra de herramientas de acceso rápido haciendo clic en Opciones en el Botón Archivo y eligiendo Barra de herramientas de acceso rápido. En la figura 1-49 es posible agregar o quitar opciones en la barra de herramientas de acceso rápido.
Figura 1-49
1.3.8 Barra de estado La barra de estado está situada en la parte inferior de la pantalla de Microsoft Access y contendrá mensajes, sugerencias, indicadores de progreso y los botones de las distintas vistas de los objetos de la base de datos (figura 1-50).
© RA-MA ____________ CAPÍTULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO
Figura 1-50
57
Barra de estado
La barra de estado puede personalizarse haciendo clic con el botón secundario del ratón sobre cualquier zona de la misma y eligiendo las opciones que desea que aparezcan en la barra de estado en el menú emergente resultante (figura 1-51).
Figura 1-51
58
ACCESS 2010. CURSO PRÁCTICO ______________________________________________________ ©RA-MA
1.3.9 Panel de exploración De forma predeterminada, el panel de exploración aparece al abrir una base de datos en Microsoft Office Access 2010, aunque la base de datos se haya creado en una versión anterior de Access. Dicho panel se sitúa a la izquierda de la pantalla de Access y muestra los objetos de la base de datos, que pueden seleccionarse haciendo clic sobre ellos (figura 1-52). Los objetos se agrupan por categorías que pueden seleccionarse haciendo clic en la flecha situada a la derecha en la cabecera del panel de exploración (en nuestro caso a la derecha de Todos los objetos). Panel de exploración
Figura 1-52
1.3.10 Documentos con fichas Los objetos abiertos simultáneamente de una base de datos pueden observarse a través de fichas adecuadas que los identifican. En la figura 1-53 se observan abiertos a la vez la tabla CLASE, la consulta Consulta1 y el formulario CURSO. Para abrir estos objetos basta con hacer clic sobre ellos en el panel de exploración.
@ RA-MA ___________ CAPITULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO
59
Documentos con fichas
Figura 1-53 Para que aparezcan los documentos con fichas hacemos clic en Opciones en el Botón Archivo y elegimos Base de datos actual en el panel de la izquierda de la figura 1-54. A continuación, en la sección Opciones de aplicación marcamos Documentos con fichas.
Figura 1-54
60
ACCESS 2010. CURSO PRACTICO ___________________________________________________ ©RA-MA
1.3.11 Minibarra de herramientas Al seleccionar texto, puede mostrar u ocultar una barra de herramientas cómoda, pequeña y semitransparente, llamada la minibarra de herramientas (figura 1-55). Esta minibarra de herramientas facilita el trabajo con fuentes, estilos de fuente, tamaño de fuente, alineación, color de texto, niveles de sangría y viñetas. Minibarra de herramientas
Figura 1-55
Capítulo 2
CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO DE BASES DE DATOS RELACIONALES 2.1 BASES DE DATOS: TABLAS, CAMPOS Y REGISTROS Para un tratamiento “mecanizado” de la información es fundamental que los datos se organicen de forma que se facilite su gestión, es decir, que el acceso a los mismos sea rápido y eficaz. Convencionalmente, el trabajo en informática de gestión consistía en realizar una serie de programas en determinados lenguajes, para creación, actualización, consulta y listados de datos, que trabajan con información de entrada para obtener unos resultados o datos de salida. El término BASE DE DATOS aparece por primera vez al comienzo de los años sesenta del siglo XX, para expresar un conjunto de datos relacionados entre sí, que están estructurados de forma que puede accederse a ellos automática e independientemente de los programas que gestionan esos datos. Esta independencia se refiere a la posibilidad de modificar la estructura de los datos sin necesidad de cambiar los programas que los manipulan, evitando con ello los problemas de actualización de datos previamente existentes. Toda base de datos está formada por uno o varios bloques de información llamados TABLAS (inicialmente denominados FICHEROS o ARCHIVOS) que normalmente tendrán alguna característica en común.
62
ACCESS 2010. CURSO PRÁCTICO ______________________________________________________ ©RA-MA
Una TABLA o archivo de datos es un conjunto conexo de información del mismo tipo, por ejemplo en una base de datos de una biblioteca, una tabla estará constituida por la información relativa a todos los libros de la misma, otra tabla contendrá información sobre los lectores, etc. Cada tabla está formada por REGISTROS. Un registro es la unidad elemental de información de la tabla o fichero (en un archivo clásico no automatizado un registro se corresponde con lo que suele llamarse ficha). En la tabla o fichero de libros, un registro estaría constituido por la información correspondiente a cada libro concreto, con su título, autor, área, editorial, etc. Cada registro está formado por uno o más elementos llamados CAMPOS. Un campo es cada una de las informaciones que interesa almacenar en cada registro, y es por tanto la unidad elemental de información del registro. En el ejemplo anterior, un campo sería el título del libro, otro campo su autor, etc.
2.2 ESTRUCTURA DE LAS BASES DE DATOS Los sistemas de gestión de base de datos (abreviado mediante SGBD o DBMS) organizan y estructuran los datos de tal modo que puedan ser recuperados y manipulados por usuarios y programas de aplicación. Las estructuras de los datos y las técnicas de acceso proporcionadas por un DBMS particular se denominan modelo de datos. El modelo de datos determina la personalidad de un DBMS y las aplicaciones para las cuales está particularmente bien conformado. Existe un tipo de lenguaje estándar normalizado para trabajar con bases de datos denominado SQL (Structured Query Languaje). SQL es un lenguaje de base de datos para bases de datos relacionales y utiliza el modelo de datos relacional.
2.2.1 Modelos de datos primitivos. Sistemas de gestión de archivos Cuando la gestión de base de datos se popularizó durante los años setenta y ochenta, emergieron un puñado de modelos de datos populares. Cada uno de estos primeros modelos de datos tenía ventajas y desventajas que jugaron papeles importantes en el desarrollo del modelo de datos relacional. En muchos sentidos el modelo de datos relacional representó un intento de simplificar los modelos de datos anteriores. Antes de la introducción de los sistemas de gestión de la base de datos, todos los datos permanentemente almacenados en un sistema informático, tales como la nómina y los registros de contabilidad, se almacenaban en archivos individuales. Un sistema de gestión de archivos, generalmente proporcionado por el fabricante del ordenador como parte del sistema operativo, llevaba la cuenta de los nombres y ubicaciones de los archivos.
RA-MA ____________________ CAPÍTULO 2. CONCEPTOS. OBJETOS. OPERACIONES Y DISEÑO...
63
El sistema de gestión de archivos básicamente no tenía un modelo de datos; no sabía nada acerca de los contenidos internos de los archivos. Para el sistema de gestión de archivos, un archivo que contuviera un documento de procesamiento de textos y un archivo que contuviera datos de nóminas aparecían igual. El conocimiento acerca del contenido de un archivo (qué datos contuviera y cómo estuvieran organizados) estaba incorporado a los programas de aplicación que utilizaban el archivo. Era típico que, en aplicaciones de nóminas, cada uno de los programas (normalmente escritos en COBOL) que procesaban el archivo maestro de empleados contuviese una descripción de archivo (DA) que describía la composición de los datos en el archivo. Si la estructura de los datos cambiaba (por ejemplo, si un ítem adicional de datos fuera a ser almacenado por cada empleado), todos los programas que accedían al archivo tenían que ser modificados. Como el número de archivos y programas crecía con el tiempo, el esfuerzo de proceso de datos de un departamento se perdía en mantener aplicaciones existentes en lugar de desarrollar otras nuevas. Los problemas de mantener grandes sistemas basados en archivos condujeron, a finales de los sesenta, al desarrollo de los sistemas de gestión de base de datos. Se trataba de que los datos estuviesen estructurados de forma que fuese posible acceder a ellos automática c independientemente de los programas que los gestionan. La idea detrás de estos sistemas era sencilla: tomar la definición de los contenidos de un archivo y la estructura de los programas individuales y almacenarla, junto con los datos, en una base de datos. Utilizando la información de la base de datos, el DBMS que la controlaba podría tomar un papel mucho más activo en la gestión de los datos y en los cambios en la estructura de la base de datos.
2.2.2 Bases de datos jerárquicas Básicamente podemos distinguir tres tipos de estructuras de bases de datos: jerárquica, en red y relacional. La organización jerárquica, que es la que primero se utilizó, se basa en el establecimiento de jerarquías o niveles entre los distintos campos de los registros, basándose en el criterio de que los campos de mayor jerarquía sean los más genéricos, y tienen una estructura arborescente, donde los nodos del mismo nivel corresponden a los campos y cada rama a un registro. Para acceder a un campo que se encuentra en un determinado nivel, es preciso localizarlo partiendo del nivel superior y descendiendo por las ramas hasta llegar al mismo. Tomemos como ejemplo la base de datos de una biblioteca y situemos como nivel superior el código de materia y el título de la materia, y supongamos que tomamos como campo maestro el título de la materia. En un segundo nivel de la jerarquía se incluyen las tablas de autores asociados a cada materia; en un tercer nivel tendríamos, por ejemplo, las tablas correspondientes a los autores y sus respectivos títulos de libros, y así hasta el último nivel en el que incluimos título, referencia, año de edición, número de ejemplares o cualquier otro dato individual referente al libro buscado (figura 2-1).
64
ACCESS 2010. CURSO PRÁCTICO _____________________________________________________ ©RA-MA
ORGANIZACION JERARQUICA NIVEL 1
NIVEL 2 MATERIA Economía
MATERIA
AUTOR
Estadística
R. Tamames Fuentes Q.
AUTOR Arnáiz.... Sixto Ríos-
NIVEL 3 AUTOR R. Tamames
TÍTULO Estructura económica de España Estructura económica Internacional
NIVEL 4
TÍTULO
REFERENCIA
AÑO EDICIÓN
EJEMPLARES
Estruct. económica Esp.
E001 E002
1986
3
1986
1
Estruct. económica Int.
Figura 2-1 En la figura 2-1 se muestra una organización jerárquica. Para acceder a un dato del último nivel, por ejemplo, año de edición de un determinado libro, hay que recorrer todos los niveles desde el más alto (materia, etc.).
@ RA-MA
CAPÍTULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO...
65
2.2.3 Bases de datos en red Para resolver el problema de lentitud de la organización jerárquica se utiliza la organización en red que corresponde a una estructura de grafo, donde existe más de una conexión entre los nodos de diversos niveles, de forma que puedan recorrerse por distintos caminos sin necesidad de acudir cada vez a la raíz, con lo cual la búsqueda es más flexible, desapareciendo el concepto de “Jerarquía” entre campos, pues un campo puede ser descendente de su antecesor por un ca mino de la red y ascendente por otro. Si se crean conexiones entre nodos de igual nivel, el acceso a campos de determinado nivel se logrará más rápidamente, así, por ejemplo, en el caso de la base de datos de la biblioteca, se podrían listar los títulos de los distintos libros a partir de un título dado sin acceder cada vez a los autores. El modelo de datos en red extiende el modelo jerárquico permitiendo que un registro participe en múltiples relaciones padre/hijo. Estas relaciones se conocen como conjuntos en el modelo de red. El inconveniente esencial de esta estructura es la necesidad de utilizar mucha más cantidad de memoria, al tener que almacenar en cada nodo las posiciones de los campos siguientes, mediante apuntadores. Para un programador, acceder a una base de datos en red era muy similar a acceder a una base de datos jerárquicos. Un programa de aplicación podía: •
Hallar un registro padre específico mediante clave (como, por ejemplo, un número de cliente en un procesamiento de pedidos).
•
Descender al primer hijo en un conjunto particular (el primer pedido remitido por este cliente).
•
Moverse lateralmente de un hijo al siguiente dentro del conjunto (la orden siguiente remitida por el mismo cliente).
•
Ascender desde un hijo a su padre en otro conjunto (el vendedor que aceptó el pedido).
Una vez más el programador tenía que recorrer la base de datos registro a registro, especificando esta vez qué relación recorrer además de indicar la dirección.
66
ACCESS 2010. CURSO PRÁCTICO__________________________________________________ ©RA-MA
En la figura 2-2 se representa un grafo similar al del modelo jerárquico, pero adecuado al modelo en red. En este grafo desaparece el concepto de jerarquía entre campos, pues un campo puede ser descendiente de su antecesor por un camino de la red y ascendiente por otro.
Figura 2-2 Las bases de datos en red tenían varias ventajas entre las que se pueden destacar las siguientes; Flexibilidad: las múltiples relaciones padre/hijo permitían a una base de datos en red representar datos que no tuvieran una estructura jerárquica sencilla. Normalización: el estándar CODASYL reforzó la popularidad del modelo de red, y los vendedores de miniordenadores, tales como Digital Equipment Corporation y Data General, implementaron bases de datos en red. Rendimiento: a pesar de su superior complejidad, las bases de datos en red reforzaron el rendimiento aproximándolo al de las bases de datos jerárquicas. Los conjuntos se representaron mediante punteros a registros de datos físicos y, en algunos sistemas, el administrador de la base de datos podía especificar la agrupación de datos basada en una relación de conjunto. Las bases de datos en red también tenían sus desventajas. Igual que las bases de datos jerárquicas, resultaban muy rígidas. Las relaciones de conjunto y la estructura de los registros tenían que ser especificadas de antemano. Modificar la estructura de la base de datos requería generalmente la reconstrucción de la base de datos completa. Tanto las bases de datos jerárquicas como las bases de datos en red eran herramientas para programadores.
@ RA-MA _____________________ CAPITULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO...
67
2.2.4 Bases de datos relacionales Quizás, el problema fundamental que suele plantearse al realizar una base de datos real, formada por varias tablas, es la repetición de datos, es decir, campos repetidos en diferentes tablas (redundancia), lo cual va a dificultar su gestión, es decir, la actualización, inserción, modificación, eliminación, consulta, etc. Para resolver estos problemas es necesario que exista integración entre las distintas tablas y que esté controlada la repetición de datos. Así surgen los llamados Sistemas de Gestión de Bases de Datos relacionales que, en el caso de los microordenadores, están concebidos como un conjunto de programas de propósito general que permiten controlar el acceso y la utilización de las bases de datos de forma que satisfagan las necesidades del usuario (programas de usuario) y que actúen con independencia de los datos, y con ellos las llamadas Bases de Datos Relacionales que pueden resolver, mejor que otras organizaciones, las dificultades de redundancia y no la integración de los datos. En este tipo de bases de datos se suprimen las jerarquías entre campos, pudiéndose utilizar cualquiera de ellos como clave de acceso. La teoría relacional se basa en el concepto matemático de relación. Se debe a E. F. Codd, quien desarrolló una sólida fundamentación teórica. Aunque dicha teoría requiere para su completa implantación que el acceso a la memoria sea por contenido y no por dirección, como ocurre en los actuales ordenadores, puede adecuarse y de hecho se está implantando y desarrollando en la mayoría de los equipos.
Las principales ventajas de la utilización de bases de datos relacionales son: •
Actúan sobre las tablas en su conjunto, en lugar de hacerlo sobre los registros como ocurre en otros sistemas.
•
Se pueden realizar consultas complejas que utilizan varias tablas de forma simple.
•
Son fáciles de utilizar (la organización física de los datos es independiente de su tratamiento lógico).
68
ACCESS 2010. CURSO PRACTICO ___________________________________________________ © RA-MA
La organización relacional se caracteriza porque las tablas de la base de datos tienen estructura de matriz o tabla bidimensional, donde las filas son los registros y las columnas los campos (figura 2-3). CAMPOS
REGISTROS
Figura 2-3 Las tablas son tratadas como conjuntos matemáticos, obtenidas como subconjuntos del producto cartesiano de los rangos de posibles valores de los distintos campos que la forman. Cada tabla dispone de una cabecera que es un registro especial donde figuran los nombres de los campos y una serie de registros (filas) donde se describen los objetos. El esquema que se muestra en la figura 2-4 representa la tabla del ejemplo de la base de datos de la biblioteca adaptado al modelo relacional. La tabla tiene todos sus campos relacionados, de forma que es posible tomar, por ejemplo, como entrada, la materia y averiguar el número de ejemplares, o bien obtener todos los libros editados en 1986 sin más que consultar el campo correspondiente a “año de edición”.
@RA-MA __________________ CAPITULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO...
69
CAMPOS
REGISTROS
Figura 2-4
2.3 CARACTERÍSTICAS DE LAS BASES DE DATOS RELACIONALES Para que la estructura de las tablas cumpla las leyes de la teoría relacional deben satisfacerse las siguientes condiciones: 1. Todos los registros de la tabla deben tener el mismo número de campos, aunque alguno de ellos esté vacío, deben ser registros de longitud fija. 2.
Cada campo tiene un nombre o etiqueta que hay que definir previamente a su utilización. No obstante, una vez creado el fichero se podrá ampliar o disminuir el número de campos, mediante el SGBD.
3.
La base de datos estará formada por muchas tablas, una por cada tipo de registro. En el ejemplo de la biblioteca podríamos definir otras tablas, por ejemplo, con los nombres de campo AUTOR, NACIONALIDAD, PROFESIÓN.
4.
Dentro de una tabla cada nombre de campo debe ser distinto, por ejemplo, en la de materias podría haber Autor 1, Autor 2, pero no puede haber dos campos con el nombre Autor, pues al referimos con el gestor al nombre de campo AUTOR, no sabría cuál utilizar.
5.
Los registros de una misma tabla tienen que diferenciarse, al menos, en el contenido de alguno de sus campos, no puede haber dos registros “idénticos”.
6.
Los registros de una tabla pueden estar dispuestos en cualquier orden.
70
ACCESS 2010. CURSO PRÁCTICO ____________________________________________________ © RA-MA
7.
El contenido de cada campo está delimitado por un rango de valores posibles. En el ejemplo del campo AÑO DE EDICIÓN no puede ponerse MIL o M, ni cualquier otro carácter alfabético, e incluso ningún año mayor que 2000, por no estar dentro del rango definido de los años posibles.
8.
Permite la creación de nuevas tablas a partir de las ya existentes, relacionando campos de distintas tablas anteriores. Esta condición es la esencia de las bases de datos relacionales, formando lo que se llama un fichero “virtual” (temporalmente en memoria).
2.4 OPERACIONES RELACIONALES BASICAS Una base de datos relacional constará de varias tablas con las que se pueden efectuar tres operaciones fundamentales, llamadas operaciones relacionales, que permiten la creación de nuevas tablas a partir de las ya existentes. Estas operaciones esenciales son la selección, la proyección y la concatenación. La selección consiste en la obtención de una nueva tabla (fichero) formada por algunas de las filas (registros) seleccionadas de otra tabla previamente existente. La selección utiliza algún criterio que permita decidir qué registros de la tabla se incluyen en la nueva tabla. En el ejemplo de la biblioteca podemos seleccionar los libros cuyo autor sea R. Tamames, con lo que se obtendría una nueva tabla (figura 2- 5) con menor número de registros. A
B
SELECCIÓN
CÓD.
MATERIA
AUTOR
TÍTULO
RLE .
AÑO
N°EJ.
1
Economía
R.Tamames
Estr .Ec .España
E001
1986
3
1
Economía
R.Tamames
Estr .Ec .Intern .
E002
1986
1
3
Política
R.Tamames
¿Quo vadis Esp .?
P039
1975
1
9
Novela
R.Tamames
Historia de Elio
N070
1978
1
Figura 2-5
@ RA-MA _____________________ CAPITULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO...
71
La proyección consiste en la obtención de una nueva tabla (fichero) formada por algunas columnas (campos) seleccionadas de otra tabla previamente existente. En el caso de que al elegir determinados campos el resultado produzca registros idénticos, en la nueva tabla sólo figurará uno de los registros repetidos. Normalmente pueden efectuarse simultáneamente la selección y la proyección. En el ejemplo de la biblioteca podemos proyectar los campos TÍTULO y N° EJ. previamente seleccionados en la operación de selección de la figura 2-6, con lo que se obtendría una nueva tabla (figura 2-6) con menor número de campos. El
número de registros puede ser igual o menor. El esquema siguiente ilustra la operación proyección:
B
A
PROYECCION
CÓD
TITULO
REF.
AÑO
N”EJ.
R.Tamames
Estr.Ec.España
£001
1986
3
R.Tamames
Estr.EcJntern
£002
1986
Política
RTamames
¿ QuovadisEsp. ?
P039
Novela
R.Tamames
Historia de Elio
W070
MATERIA
1
Economía
1
Economía
3 9
AUTOR
PROYECCIÓN
TITULO
N"EI.
Estr.Ec.España
3
1
Estr.EcIntern
1
1975
1
¿Quo vadis Esp.?
1
1978
1
Historia de Elio
1
Figura 2-6 En este caso, la tabla proyectada tiene cuatro registros como la inicialmente seleccionada, pero si proyectamos los campos MATERIA y AUTOR, la tabla proyectada sólo tendrá tres registros (figura 2-7). CÓD.
MATERIA
AUTOR
TITULO
REF.
AÑO
N°EJ.
1
Economía
R.Tamames
Estr.Ec.España
£001
1986
3
1
Economía
R.Tamames
Estr.Ec.Intern
£002
1986
1
R.Tamames
¿ QuovadisEsp. ?
P039
1975
1
RTamames
Historia de Elio
W070
1978
1
3 9
Política Novela
Figura 2-7
PROYECCIÓN
MATERIA
AUTOR
Economía
R.Tamames
Política
R.Tamames
Novela
RTamames
72
ACCESS 2010. CURSO PRÁCTICO_____________________________________________________ © RA-MA
La concatenación consiste en la obtención de una uniendo dos tablas ya existentes. Por lo general, la unión de en ambas tablas coincide el contenido de un campo prefijado Cuando se produce la coincidencia, se crea un registro en la a los campos de la primera tabla los de la segunda.
nueva tabla (fichero) registros se efectúa si de cada una de ellas. nueva tabla, añadiendo
En el ejemplo de la biblioteca podemos realizar en la tabla inicial una selección de los libros cuyas materias son Economía y Estadística y concatenar el resultado con una nueva tabla con el mismo número de registros y cuyos campos sean AUTOR, NACIONALIDAD y PROFESIÓN, con lo que se obtendría una nueva tabla (figura 2-8) con mayor número de campos pero con el mismo número de registros que la inicialmente seleccionada. El esquema siguiente ilustra la operación de concatenación. B
A
C
COD.
MATERIA
AUTOR
TITULO
REF.
AÑO
N°EJ.
NACIONAUD.
1
Economía
R.Tamames
Estr.Ec.España
£001
1986
3
Español
PROFESIÓN Catedrático
1
Economía
R.Tamames
Estr.Ec.Intern.
£002
1986
1
Español
Catedrático
1
Economía
Fuentes Q.
Hacienda Púhl.
£003
1974
2
Español
Catedrático
1
Economía
Lipsey
Teoría Econom.
£004
1970
2
EEUU
Economista
2
Estadística
Arnáiz
Estad, descript.
5001
1962
1
Español
Estadístico
2
Estadística
Sixto Ríos
Métodos Estad.
S002
1970
1
Español
Catedrático
Figura 2-8 Se observa que el campo AUTOR no se ha repetido, aunque figura en las dos tablas que se concatenan. Para comprender mejor la operación de concatenación anterior vamos a ver los pasos en que ha consistido el proceso: 1.
Consultar el valor del campo del primer registro de la primera tabla cuyo contenido se desee casar con la segunda tabla (en nuestro ejemplo. Autor).
2.
Compararlo con los valores del campo de cada uno de los registros de la segunda tabla, cuyo contenido deba coincidir (en nuestro caso. Autor).
3.
Si hay correspondencia, se añadirá una fila (registro) a la tabla resultado, uniendo las filas de las tablas iniciales (en horizontal).
©RA-MA _____________________ CAPITUI.O 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO...
4.
Se siguen realizando comparaciones con todas las buscando la coincidencia de los respectivos campos a casar.
filas
de
ambas
73
tablas,
2.5 OTRAS OPERACIONES RELACIONALES Y OPERADORES BOOLEANOS Aparte de las operaciones básicas de selección, proyección y concatenación, en las bases de datos relacionales pueden realizarse operaciones similares a las utilizadas en la teoría de conjuntos, por ejemplo, la unión, la intersección, la complementación y la diferencia, siendo los tres primeros equivalentes a los operadores booleanos OR, AND y NOT, respectivamente. La unión tiene como resultado la tabla formada por la agregación de registros de dos tablas que ya existen. Se trata por tanto de una operación cuyos operandos son registros de una misma tabla o de tablas diferentes. En este último caso las tablas con las que se va a operar han de tener la misma estructura y los mismos nombres de campos. La figura 2-9 ilustra la operación unión del conjunto de registros R con el conjunto de registros S. Se observa en la figura que el concepto de unión de registros es exactamente el mismo que el concepto matemático de unión de conjuntos. La intersección tiene como resultado la tabla formada por los registros comunes a dos tablas que ya existen. Al igual que en el caso de la unión, se trata por tanto de una operación cuyos operandos son registros de una misma tabla o de tablas diferentes. En este último caso las tablas con las que se va a operar han de tener la misma estructura y los mismos nombres de campos. La figura 2-10 ilustra la operación intersección del conjunto de registros R con el conjunto de registros S. Se observa en la figura que el concepto de intersección de registros es exactamente el mismo que el concepto matemático de intersección de conjuntos. La diferencia tiene como resultado la tabla formada por los registros de una tabla ya creada que no figura en otra tabla también creada. Al igual que en el caso de la unión y la intersección, se trata por tanto de una operación cuyos operandos son registros de una misma tabla o de tablas diferentes. En este último caso las tablas con las que se va a operar han de tener la misma estructura y los mismos nombres de campos. Las figuras 2-11 y 2-12 ilustran las operaciones de diferencia de conjuntos de registros S menos R y R menos S, respectivamente.
Figura 2-9
Figura 2-10
Figura 2-11
Figura 2-12
74
ACCESS 2010. CURSO PRÁC TICO _________________________________________________ ©RA-MA
Podrían definirse otras operaciones similares a las de la teoría de conjuntos, como las de diferencia simétrica, complementación, etc. Existe una equivalencia entre las operaciones Unión, Intersección y Complementación y los operadores booleanos OR, AND y NOT, cuya definición es similar.
2.6 DISEÑO DE UNA BASE DE DATOS RELACIONAL Al diseñar una base de datos relacional hay que tener presente la naturaleza de este tipo de bases de datos y trabajar de acuerdo a las reglas relacionales básicas. Cada tabla ha de tener un nombre que la identifica unívocamente y una o más columnas nominadas, que están dispuestas en un orden específico de izquierda a derecha. Por otro lado, cada tabla tiene cero o más filas, conteniendo cada una un único valor en cada columna. Las filas están desordenadas. Además, todos los valores de una columna determinada tienen el mismo tipo de datos y éstos están extraídos de un conjunto de valores legales llamado el dominio de la columna. A su vez, las tablas están relacionadas unas con otras por los datos que contienen. El modelo de datos relacional utiliza claves primarias y claves secundarias_(externas o foráneas) para representar estas relaciones entre tablas. A la hora de definir las claves primarias y secundarias es necesario tener presente de entrada lo siguiente.
2.6.1 Claves primarias y secundarias (externas o foráneas) Las claves primarias y secundarias son esenciales para relacionar las tablas entre sí a través de sus campos. Una clave primaria es una columna o combinación de columnas dentro de una tabla cuyo(s) valor(es) identifica(n) unívocamente a cada fila de la tabla. Cada tabla tiene una única clave primaria. Una clave secundaria (externa o foránea) es una columna o combinación de columnas en una tabla cuyo(s) valor(es) es(son) un valor de clave primaria para alguna otra tabla. Una tabla puede contener más de una clave secundaria, enlazándola a una o más tablas. Una combinación clave primaria/clave secundaria crea una relación padre/hijo entre las tablas que las contienen. Se recomienda, aunque no es imprescindible, que todas las tablas tengan alguna columna o grupo de columnas especificadas como la clave primaria de la tabla. La clave primaria es un campo (o campos) que nunca puede contener valores NULL y que tiene un valor único para cada fila de la tabla. La clave primaria tiene un valor único diferente para cada fila de una tabla, de modo que no hay dos filas de una tabla con clave primaria que sean duplicados exactos la una de la otra. Una tabla en donde cada fila es diferente de todas las demás se llama una relación en términos matemáticos. El nombre “base de datos relacional” proviene de este término, ya que las relaciones (las tablas con filas distintas) son el corazón de una base de datos relacional.
© RA-MA
CAPÍTULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO...
75
Aunque las claves primarias son parte esencial del modelo de datos relacional, los primeros sistemas de gestión de base de datos relacionales (System/R, DB2, Oracle y otros) no proporcionaban soporte explícito para claves primarias. Los diseñadores de bases de datos aseguraban generalmente que todas las tablas de sus bases de datos tuvieran una clave primaria, pero el propio DBMS no proporcionaba un modo de identificar la clave primaria de la tabla. DB2 Versión 2, introducido en abril de 1988, añadió finalmente soporte de clave primaria a los productos SQL comerciales de IBM. El estándar ANSI/ISO fue posteriormente ampliado para incluir soporte para claves primarias. Sin embargo, el soporte DBMS explícito, de claves primarias, sigue siendo raro en los productos SQL comerciales. Las claves secundarias, al igual que las primarias, aumentan la integridad de la base de datos. Una clave secundaria es una columna, o grupo de columnas, cuyo valor sea igual al de alguna clave primaria en una tabla especificada. Una tabla puede contener más de una clave secundaria si está relacionada con más de una tabla adicional. Las claves secundarias son parte fundamental del modelo relacional ya que crean relaciones entre tablas en la base de datos. Desgraciadamente, como con las claves primarias, el soporte de claves secundarias falta en los sistemas de gestión de base de datos relacionales primitivos. Fueron añadidos a DB2 versión 2 y desde entonces se han añadido al estándar ANSI/ISO.
2.6.2 Integridad Para preservar la consistencia y corrección de los datos almacenados, un DBMS relacional impone generalmente una o más restricciones de integridad de datos. Estas restricciones restringen los valores que pueden ser insertados en la base de datos o creados mediante una actualización de la base de datos. Varios tipos diferentes de restricciones de integridad de datos suelen encontrarse en las bases de datos relacionales, incluyendo; Datos requeridos: algunas columnas en una base de datos deben contener un valor de dato válido en cada fila, es decir, no se permite que contengan valores NULL o que falten. Pueden especificarse columnas requeridas cuando se crea un tabla, en cuyo caso, el DBMS impedirá los valores NULL en esas columnas. Chequeo de validez: cada columna de una base de datos tiene un dominio, o sea, un conjunto de valores que son legales para esa columna. El DBMS puede ser preparado para impedir otros valores de datos en estas columnas.
76
ACCESS 2010. CURSO PRACTICO
© RA-MA
Integridad de entidad: la clave primaria de una tabla debe contener un valor único en cada fila, diferente de los valores de todas las filas restantes. Los valores duplicados son ilegales y el DBMS puede ser preparado para forzar esta restricción de valores únicos. Las restricciones de integridad de entidad aseguran que la clave primaria identifique unívocamente a cada entidad representada en la base de datos. Integridad referencia!: una clave secundaria (externa o foránea) en una base de datos relacional enlaza cada fila de la tabla hijo que contiene la clave foránea con la fila de la tabla padre que contiene el valor de clave primaria correspondiente. El DBMS puede ser preparado para forzar esta restricción de clave foránea/clave primaria. Las restricciones de integridad referencial aseguran que las relaciones entre entidades en la base de datos se preserven durante las actualizaciones. En particular, la integridad referencial debe incluir reglas que indiquen cómo manejar la supresión de filas que son referenciadas mediante otras filas. Consistencia: muchas transacciones del mundo real producen múltiples actualizaciones a una base de datos. Las sentencias INSERT y UPDATE deben ejecutarse de modo que la base de datos continúe en un estado correcto y consistente. El DBMS puede ser preparado para forzar este tipo de regla de consistencia o para soportar aplicaciones que implementen tales reglas. El estándar SQL ANSI/ISO especifica algunas de las restricciones de integridad de datos más simples. Por ejemplo, la restricción de datos requeridos está soportada por el estándar ANSI/ISO e implementada de manera uniforme en casi todos los productos SQL comerciales. Las restricciones más complejas, tales como las restricciones de reglas comerciales, no están especificadas por el estándar ANSI/ISO, y existe una amplia variación en las técnicas y las sintaxis SQL utilizadas para soportarlas. Existen cuatro tipos de actualizaciones de bases de datos que pueden corromper la integridad referencial de las relaciones padre/hijo de una base de datos. La inserción de una nueva fila hijo: cuando se inserta una nueva fila en la tabla hijo, su valor de clave foránea debe coincidir con uno de los valores de clave primaria en la tabla padre. Si el valor de clave foránea no coincide con ninguna clave primaria, la inserción de la fila corromperá la base de datos, ya que habrá un hijo sin un padre (un huérfano). Observe que insertar una fila en la tabla padre nunca representa un problema; simplemente se convierte en un padre sin hijos. La actualización de la clave foránea en una fila hijo: ésta es una forma diferente del problema anterior. Si la clave foránea se modifica mediante una sentencia UPDATE, el nuevo valor deberá coincidir con un valor de clave primaria en la tabla padre. En caso contrario la fila actualizada será huérfana.
@ RA-MA
CAPITULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO...
77
La supresión de una fila padre: si una fila de la tabla padre, que tiene uno o más hijos se suprime, las filas hijo quedarán huérfanas. Los valores de clave foránea en estas filas ya no se corresponderán con ningún valor de clave primaria en la tabla padre. Observe que suprimir una fila de la tabla hijo nunca representa un problema; el padre de esta fila simplemente tendrá un hijo menos después de la supresión. La actualización de la clave primaria en una fila padre: ésta es una forma diferente del problema anterior. Si la clave primaria de una fila en la tabla padre se modifica, todos los hijos actuales de esa fila quedarán huérfanos, puesto que sus claves foráneas ya no corresponden con ningún valor de clave primaria. Las características de integridad referencial del estándar SQL ANSI/ISO se ocupan de cada una de estas cuatro situaciones. El primer problema (INSERT en la tabla hijo) se maneja comprobando los valores de las columnas de clave foránea antes de permitir ejecutar la sentencia INSERT. Si no coincide con un valor de clave primaria, la sentencia INSERT se rechazará con un mensaje de error. El segundo problema (UPDATE de la tabla hijo) es análogamente tratado mediante comprobación del valor de clave foránea actualizado. Si no hay un valor de clave primaria correspondiente, la sentencia UPDATE se rechazará acompañada de un mensaje de error. El tercer problema (DELETE de una fila padre) es más complejo, pudiendo tomarse distintas medidas según cada caso particular. El cuarto problema (UPDATE de la clave primaria en la tabla padre) también se maneja por prohibición. Antes de que la clave primaria pueda ser modificada, el DBMS efectúa comprobaciones para asegurar que no hay filas hijo que tengan valores de clave foránea correspondientes. Si existen tales filas hijo, la sentencia UPDATE se rechaza junto con un mensaje de error. Otro concepto a tener en cuenta en el análisis de la integridad son los ciclos referenciales. Supongamos que en una base de datos la tabla TI contenga la columna C1 que es clave foránea para la tabla T2. Supongamos además que la tabla T2 contiene la columna C2 que es clave foránea para la tabla TI. Estas dos relaciones forman un ciclo referencial. En esta situación, cualquier fila determinada de la tabla TI se refiere a una fila de la tabla T2, la cual a su vez se refiere a una fila de la tabla TI, y así sucesivamente. Este ciclo afecta únicamente a dos tablas, pero también es posible construir ciclos de tres o más tablas. Con independencia de su número de tablas implicadas, los ciclos referenciales presentan problemas especiales respecto a las restricciones de integridad referencial. Para impedir el interbloqueo de inserción, al menos una de las claves foráneas en un ciclo referencial debe permitir valores NULL.
78
ACCESS 2010. CURSO PRÁCTICO
© RA-MA
Debido a esta circunstancia sería conveniente que las restricciones de integridad referencial no fueran comprobadas hasta después de que se efectuaran una serie de actualizaciones interrelacionadas. Los ciclos referenciales también restringen las reglas de supresión que pueden especificarse para las relaciones que forman el ciclo. Se tratará de evitar las supresiones en cascada incontroladas mediante la adopción de determinadas reglas de supresión (RESTRICT o SET NULL).
2.6.3 Disparadores El concepto de disparador (definido inicialmente por Sybase) es relativamente sencillo. Para cualquier evento que provoca un cambio en el contenido de una tabla, un usuario puede especificar una acción asociada que el DBMS debería efectuar automáticamente a la realización del evento. Los tres eventos que pueden disparar una acción automática asociada son ejecuciones de INSERT, DELETE o UPDATE sobre filas de la tabla. La acción disparada por uno de estos eventos se especifica mediante una secuencia de sentencias SQL. Los disparadores proporcionan un modo alternativo de implementar las restricciones de integridad referencial proporcionadas por claves foráneas y claves primarias. Incluso los disparadores pueden ser utilizados para proporcionar formas ampliadas de integridad referencial no ofrecidas por el estándar SQL ANSI/ISO. La principal ventaja de los disparadores es que las reglas comerciales pueden almacenarse en las bases de datos y ser forzadas consistentemente con cada actualización de la base de datos. Esto puede reducir sustancialmente la complejidad de los programas de aplicación que acceden a la base de datos. Los disparadores tienen también algunas desventajas, siendo las más importantes las siguientes: Complejidad de la base de datos: cuando las reglas se trasladan al interior de la base de datos, preparar la base de datos pasa a ser una tarea más compleja. Los usuarios que razonablemente podían esperar crear pequeñas aplicaciones propias con SQL encontrarán que la lógica de programación de los disparadores hace la tarea mucho más difícil. Reglas ocultas: con las reglas ocultas dentro de la base de datos, programas que parecen efectuar sencillas actualizaciones de la base de datos pueden, de hecho, generar una cantidad enorme de actividad en la base de datos. En este caso, el programador ya no controla totalmente lo que sucede en la base de datos.
© RA-MA
CAPITULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO...
79
2.6.4 índices Un índice es una estructura interna que el sistema puede usar para encontrar uno o más registros en una tabla de forma rápida. En efecto, un índice de base de datos es, conceptualmente, similar a un índice encontrado al final de cualquier libro de texto. De la misma forma que el lector de un libro acudiría a un índice para determinar en qué páginas se encuentra un determinado tema, un sistema de base de datos leerá un índice para determinar las posiciones de registros seleccionados por una consulta SQL. En otras palabras, la presencia de un índice puede ayudar al sistema a procesar algunas consultas de un modo más eficiente. Un índice de base de datos se crea para una columna o grupo de columnas. La figura 2-13 muestra un índice (XCNOMBRE) basado en la columna CNOMBRE de la tabla CURSO. Observemos que el índice, a diferencia de la tabla CURSO, representa valores CNOMBRE en orden. Además, el índice es pequeño en relación con el tamaño de la tabla. Por tanto, probablemente, es más fácil que el sistema busque el índice para localizar un registro con un valor CNOMBRE dado, a que explore toda la tabla en busca de ese valor. Tabla CURSO
Indice XCNOMBRE
Figura 2-13
80
ACCESS 2010. CURSO PRACTICO
© RA-MA
A un índice se le asigna un nombre, de acuerdo con las mismas reglas que se aplican para los nombres de tablas. El nombre debe comenzar con una letra que puede ir seguida de una o más letras, dígitos o caracteres de subrayado. Su longitud no puede exceder de un determinado número de caracteres. Suele seguirse una convención común de elegir “X” como la primera letra seguida del nombre de columna para formar el nombre del índice. Sin embargo, esta convención no es indispensable para el sistema. Para crear un índice suele utilizarse la sentencia SQL CREATE INDEX, tal y como veremos a la hora de analizar la sintaxis SQL. En el ejemplo de la figura 2-13, la tabla CURSO ya tiene registros almacenados en ella cuando se crea el índice. El sistema explorará esta tabla para obtener los valores CNOMBRE y las posiciones de los registros correspondientes para construir el índice. En la práctica, es mejor asignar la sentencia CREATE INDEX antes de que se inserte ningún registro en la tabla. Sin embargo, como ilustra el ejemplo, puede crearse un índice para una tabla que ya contenga registros. Una vez que se ha creado el índice, el sistema lo mantendrá automáticamente. Por ejemplo, si asignamos una sentencia INSERT para colocar un nuevo registro en la tabla CURSO, el sistema determinará, automáticamente, el valor CNOMBRE y la posición del nuevo registro y colocará una nueva entrada en el índice XCNOMBRE. En otras palabras, una vez que se crea el índice, el sistema hace el resto. Al igual que la sentencia CREATE TABLE (para creación de tablas), CREATE INDEX (para creación de índices) producirá actualización del catálogo del sistema. En este caso, el sistema registrará la presencia de un nuevo índice (XCNOMBRE) y su dependencia de la tabla CURSO. No se produce ningún cambio en la codificación de una sentencia de selección de registros (SELECT) de una tabla, debido a la presencia o ausencia de un índice. La sintaxis de todas las sentencias SELECT permanece igual. Por tanto, la mayoría de los usuarios del sistema puede que no perciban la existencia de índices de base de datos. Siempre que una sentencia SELECT sea introducida por el usuario, el sistema usa un módulo interno especial, llamado optimizador, que analiza la sentencia para determinar si el uso de un índice sería beneficioso. Si éste es el caso, el sistema consultará el catálogo para determinar si se encuentra disponible un índice. Si lo está, el sistema utilizará el índice. En caso contrario, el sistema realizará una operación de exploración en busca de los registros deseados. El uso de un optimizador para determinar el camino de acceso más eficaz significa que el sistema posee la importante característica de la independencia física de los datos. El administrador de la base de datos puede modificar las estructuras internas de datos sin producir cambios en los programas de aplicaciones escritos anteriormente. En concreto, los índices pueden ser creados y asignados sin que afecten a la validez de otras sentencias ya existentes o de futuras sentencias SELECT.
@ RA-MA
CAPITULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO...
81
Los índices presentan determinadas ventajas. El sistema puede usar un Índice para aumentar la eficacia en diversas circunstancias. Algunas de estas circunstancias se describen a continuación: Acceso directo a un registro especificado: suponiendo que un índice se defina sobre la columna apropiada, el sistema puede evitar la exploración para localizar los registros identificados por una cláusula WHERE. Ordenación: observar que la figura 2-13 muestra valores CNOMBRE en orden alfabético (realmente EBCDIC). El sistema puede usar este índice para recuperar registros de la tabla CURSO en secuencia CNOMBRE. En ausencia de índice, el sistema debe iniciar una rutina de ordenación interna que puede ser costosa, especialmente para un gran número de registros. Las versiones actuales de SQL considerarán el uso de un índice siempre que la sentencia SELECT contenga cualquiera de las siguientes palabras clave o cláusulas: ORDER BY, DISTINCT, GROUP BY o UNION. Operación join: la operación join se presentará en un capítulo posterior. En este momento, simplemente, afirmamos que la operación join puede ser difícil de ejecutar y que los índices pueden reducir el coste de este proceso. No hay límite en el número de índices que se pueden crear para una tabla dada. Sin embargo, existe un coste asociado con cada índice que puede contrarrestar sus ventajas. No obstante, los índices también presentan algunas desventajas. Existen dos factores de coste asociados con los índices de base de datos que prohíben su uso ilimitado. Éstos son: Espacio de disco usado por el índice: un índice, aunque sea más pequeño que la tabla, puede ocupar una cantidad de espacio de almacenamiento considerable en el disco. Una tabla con muchos registros significa que el índice tendrá muchas entradas. Si la tabla tiene muchos índices, el espacio total del disco usado por todos los índices podría exceder el tamaño de la tabla en sí misma. Costes de actualización: mientras los índices facilitan el proceso de obtención de registros, dificultan el proceso de actualización. Siempre que un nuevo registro se inserte o se borre de una tabla, el sistema debe hacer el correspondiente cambio de los índices. Si, por ejemplo, una tabla tiene cinco índices, entonces una operación de inserción o de borrado obliga a una actualización de los cinco índices. Esto podría afectar de una forma importante al tiempo de respuesta. El optimizador puede decidir no usar un índice, incluso si se ha definido en la columna apropiada. Esto puede ocurrir en varios casos. Algunos de éstos son:
82
ACCESS 2010. CURSO PRACTICO
© RA-MA
La tabla es muy pequeña: debido a que se emplea mucho tiempo en leer el índice, el optimizador puede decidir qué es más rápido, simplemente, explorando toda la tabla. El índice no es lo suficientemente selectivo: el optimizador podría estimar que van a ser seleccionados tantos registros que es más eficaz realizar una operación de exploración para encontrar los registros deseados. No hay forma de indicarle al sistema que use explícitamente un índice. La decisión de usar un índice para acceder a los datos la toma el optimizador. (Sin embargo, es posible modificar parte de la información del catálogo para influir en el optimizador para que especifique un camino de acceso que use un índice. Esto podría realizarlo el administrador de la base de datos o un programador de aplicaciones que esté usando el SQL embebido en un programa que se ejecutará muchas veces.) La sentencia CREATE INDEX ofrece otras ventajas, además de las especificadas anteriormente. Incluyendo palabras clave esenciales en la sentencia (que se describirán en el capítulo correspondiente) puede crearse cualquiera de los tipos especiales de índices siguientes: Indice compuesto: un índice puede crearse sobre varios nombres de columna. Un ejemplo simple de tal índice es un índice nombre-dirección (por ejemplo, FNOMBRE-FADDR) para una tabla que contenga una columna para el nombre del miembro del personal docente y otra para la dirección. Observemos que un índice compuesto es, únicamente, un índice simple en el que la clave se compone de datos que se encuentran en varias columnas. Destaquemos, también, que el orden de los componentes del índice es significativo. Por ejemplo, un índice nombre-dirección (FNOMBRE-FADDR) es diferente de un índice dirección-nombre (FADDRFNOMBRE). Las actuales versiones SQL permiten la especificación de hasta 16 columnas para un índice compuesto. Indice único: un índice único es un índice que no puede contener valores duplicados. La presencia de un índice único hace que el sistema rechace cualquier actualización de la tabla que produzca valores duplicados en la(s) columna(s) especificada(s) por el índice. Un índice único debe ser creado para la(s) columna(s) de clave primaria. Aunque sólo se pueda especificar una clave primaria para una tabla, sí es posible especificar un número indeterminado de índices únicos para una tabla. Por ejemplo, si deseáramos que el sistema reforzara la unicidad de los valores CNOMBRE, podríamos incluir la palabra clave “UNIQUE” en la sentencia CREATE INDEX relativa a la figura 2-13.
@ RA-MA ____________________
CAPÍTULO 2. CONCEPTOS, OBJETOS. OPERACIONES Y DISEÑO...
83
Índice agrupado: puede diseñarse un índice por tabla como índice agrupado. Cuando se ejecuta la utilidad de carga o de reorganización, el sistema almacenará los registros de la tabla en el orden físico, de acuerdo con la clave del índice agrupado. Para ciertas consultas, el optimizador puede capitalizar el conocimiento de los registros almacenados en una determinada secuencia. No existe aún una secuencia en la que el sistema confíe. (Incluso, aunque las inserciones en la tabla pueden hacer que los registros ignoren la secuencia, el optimizador puede encontrar el camino de acceso para satisfacer cualquier consulta). Estos tres tipos de índices no se excluyen mutuamente, siendo posible que un único Índice tenga todas las características anteriores.
2.6.5 Tablas en una base de datos relacional El primer punto a abordar en la generación de las tablas es establecer una tabla “vacía”. Esta tarea se realiza, bien mediante un asistente o bien mediante el comando CREATE TABLE de SQL. Posteriormente, se pueden almacenar registros en la tabla, bien mediante asistentes proporcionados por las aplicaciones de base de datos o bien ejecutando la sentencia INSERT de SQL. Estudiaremos las sentencias CREATE TABLE, INSERT y otras órdenes de actualización (UPDATE, DELETE, etc.) en próximos capítulos, limitándonos aquí a citar su existencia y utilidad. La sentencia CREATE TABLE crea un “objeto” (la tabla) dentro del sistema. Hay otros objetos importantes en el sistema, como los índices, que se establecen mediante asistentes o ejecutando la sentencia CREATE INDEX de SQL. La mayoría de los sistemas gestores de bases de datos permiten crear tablas e Índices. Sin embargo, cada sistema contiene también otros objetos. Un índice es una estructura interna que el sistema puede usar para encontrar uno o más registros en una tabla de forma rápida (se crea para una columna o grupo de columnas). En efecto, un índice de base de datos es, conceptualmente, similar a un índice encontrado al final de cualquier libro de texto. De la misma forma que el lector de un libro acudiría a un índice para determinar en qué páginas se encuentra un determinado tema, un sistema de base de datos leerá un índice para determinar las posiciones de registros seleccionados por una consulta SQL. En otras palabras, la presencia de un índice puede ayudar al sistema a procesar algunas consultas de un modo más eficiente. Los objetivos más importantes de la creación de tablas mediante asistentes o mediante la sentencia CREATE TABLE de SQL podrían enumerarse como sigue:
84
ACCESS 2010. CURSO PRÁCTICO
© RA-MA
•
Establecer nuevas tablas en la base de datos y asignarles un nombre.
•
Asignar nombre a todas las columnas de cada tabla y definir sus tipos de datos (caracteres, numéricos, enteros, decimales, coma flotante, cadenas de longitud variable, tipos extensos, valores monetarios, fechas, etc.). Los nombres de columna deben ser únicos dentro de una tabla dada, pero es posible que el mismo nombre de columna aparezca especificado dentro de varias tablas. En este caso, un nombre de columna debe ser calificado especificando el nombre de su tabla como prefijo. Por ejemplo, se especificaría “CURSO.CNO” para referenciar la columna CNO de la tabla CURSO y “MATRJCULA.CNO” para referenciar la columna CNO de la tabla MATRÍCULA. Los tipos de datos suelen especificarse después del nombre de la columna.
•
Especificar la secuencia u orden de columnas por defecto.
•
Especificar qué columnas no pueden aceptar valores nulos (valores que faltan, son desconocidos o no son aplicables). El valor nulo no debe confundirse con el valor O, pues O no es un valor nulo.
•
Especificar la clave primaria (columna o combinación valores identifican unívocamente cada fila en la tabla, primaria tiene un valor único, diferente para cada fila de que no hay dos filas de una tabla con clave primaria exactos la una de la otra).
•
Especificar las claves secundarias, externas o foráneas (una columna de una tabla cuyo valor coincide con la clave primaria de alguna otra tabla de la base de datos se denomina una clave secundaria, externa o foránea, de modo que una tabla puede contener más de una clave secundaria si está relacionada con más de una tabla adicional de la base de datos).
de es una que
columnas cuyos decir, la clave tabla, de modo sean duplicados
Para preservar la consistencia y corrección de los datos almacenados, un DBMS relacional impone generalmente una o más restricciones de integridad de datos. Estas restricciones restringen los valores que pueden ser insertados en la base de datos o creados mediante una actualización de la base de datos. Varios tipos diferentes de restricciones de integridad de datos suelen encontrarse en las bases de datos relacionales, incluyendo determinados tipos de datos requeridos por algunas columnas, chequeos de validez de los valores de las columnas, integridad de entidad (la clave primaria de una tabla debe contener un valor único en cada fila, diferente de los valores de todas las filas restantes) e integridad referencial (una clave secundaria en una base de datos relacional enlaza cada fila de la tabla hijo que contiene la clave foránea con la fila de la tabla padre que contiene el valor de clave primaria correspondiente de modo que las actualizaciones y supresiones no provoquen problemas).
@ RA-MA
CAPÍTULO 2. CONCEPTOS, OBJBTOS, OPERACIONES Y DISEÑO...
85
2.6.6 Un ejemplo de diseño de base de datos relacional A modo de ejemplo se va a presentar el diseño de una base de datos en un contexto educativo cuyas tablas se refieren a los cursos que van a ser impartidos en distintas clases de un centro educativo por varios profesores pertenecientes a diversos departamentos y en los que se matricularán distintos estudiantes. En el centro educativo también existe personal no docente. Las tablas de la base de datos son CURSO, DEPARTAMENTO, CLASE, ESTUDIANTE, MATRÍCULA, CLAUSTRO y PERSONAL. En los párrafos siguientes se definen las características de las tablas y el diseño de la base de datos. En primer lugar consideramos la tabla de nombre CURSO, que va a definir las características de los cursos que van a ser impartidos. Los nombres de los campos y los tipos de datos se especifican a continuación:
Las longitudes de los campos son 3, 22, respectivamente. Los datos de la tabla van a ser los siguientes:
50,
entero
largo
y
4
En esta tabla CURSO puede tomarse CNO como la clave primaria, dado que CNO toma valores distintos para todas las filas y no tiene valores faltantes. Directamente relacionada con la tabla CURSO, vamos a considerar la tabla DEPARTAMENTO, que tiene un registro por cada departamento académico al que pertenecen los profesores que imparten cursos.
86
ACCESS 2010. CURSO PRÁCTICO ______________________________________________________ © RA-MA
Sus campos van a ser el nombre identificativo de cada departamento, el edificio al que pertenecen, el número de despacho en que están ubicados y el número de identificación en el cuerpo docente del director del departamento. Los nombres de los campos y el contenido de la tabla se especifican a continuación;
Las longitudes de los campos son respectivamente 4,2, entero largo y 3. Vemos que el campo DEPT toma valores distintos para todas las filas y no tiene valores faltantes. Además, según la política del centro educativo, cada curso debe estar organizado por un departamento académico, lo que nos indica que debemos tomar el campo DEPT como clave primaria de la tabla DEPARTAMENTO. Para aumentar la integridad de la base de datos, especificamos el campo CDEPT de la tabla CURSO como clave secundaria que referencie la tabla padre DEPARTAMENTO (se restringen los valores CDEPT de la tabla CURSO a aquéllos que se encuentran en la columna DEPT de la tabla DEPARTAMENTO). La tabla CURSO es una tabla dependiente o tabla hijo de la tabla padre DEPARTAMENTO. Adicionalmente consideramos la tabla CLASE, que tiene un registro para cada clase que ofrezca un curso. Los campos que contiene son: número de curso, número de sección, número de identificación en el grupo de docentes del profesor, día y hora, edificio y sala en la que se encuentra la clase. Los nombres de los campos y el contenido de la tabla se especifican a continuación: Nombre del campo
Tipo de flatos
Descripción
CNO SEC
Texto Texto
Número de curso Número de sección
CINSTRFNO
Texto
Número de profesor
CDIA
Texto
Día de la semana
CHORA
Texto
Hora de la dase
CEDIF
Texto
Edificio de la clase
CDESPACHO
Número
Sala de la ciase
©RA-MA _____________________ CAPITULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO... 87
Las longitudes de los campos son respectivamente 3, 2, 2, 2, 14, 2 y entero largo. En esta tabla consideramos el par de campos (CNO, SEC) como clave primaria. Además, sabemos que debido a la política del centro educativo, a cada clase le corresponde algún curso, por lo que cada valor del campo CNO de la tabla CLASE debe coincidir con algún valor CNO existente en la tabla CURSO. De esta forma, CNO en la tabla CLASE es clave secundaria que referencia CURSO, con lo que CURSO es tabla padre de CLASE, además de depender (ser tabla hijo) de DEPARTAMENTO. Puesto que CLASE es dependiente de CURSO, que por su parte es dependiente de DEPARTAMENTO, decimos que CLASE es tabla descendente de DEPARTAMENTO. Las relaciones existentes entre las tres tablas que llevamos definidas en nuestra base de datos suelen representarse como se indica en la figura 2 -14.
Figura 2-14 Ahora se consideran las tablas MATRÍCULA recogidos cuando un estudiante se matricula en un curso) un registro para cada estudiante matriculado en el centro de la tabla MATRÍCULA son: número de curso, número estudiante, fecha y hora de matriculación del estudiante.
(relativa a los datos y ESTUDIANTE (tiene educativo). Los campos de sección, número de
88
ACCESS 2010. CURSO PRACTICO ___________________________________________________ ©RA-MA
Los campos que contiene la tabla ESTUDIANTE son: número de estudiante, nombre, dirección, teléfono, fecha de nacimiento, número de identificación de la escuela o facultad (centro educativo) y departamento. Los nombres de los campos, los tipos de datos y el contenido de la tabla MATRÍCULA se muestran a continuación:
Las longitudes de los tres primeros campos son 3, 2 y 3 respectivamente. Los nombres de los campos, los tipos de datos y el contenido de la tabla ESTUDIANTE se especifican a continuación:
@ RA-MA _____________________ CAPITULO 2. CONCEPTOS. OBJETOS, OPERACIONES Y DISEÑO...
89
Las longitudes de los campos son 3, 30, 15, 12, 6, entero, 3 y 4 respectivamente. La clave primaria de la tabla MATRÍCULA es una composición de tres columnas (CNO, SEC, SNO). Para asegurar la integridad referencial, especificaríamos dos claves secundarias en esta tabla. La clave secundaria compuesta (CNO, SEC) referenciaría la tabla ESTUDIANTE. De esta forma, MATRÍCULA es dependiente de dos tablas: CLASE y ESTUDIANTE. Supongamos, también, que todos los estudiantes deben especializarse en una asignatura correspondiente a algún departamento académico existente. Esto significa que la sentencia CREATE TABLE para ESTUDIANTE especificaría SESP (especialidad del estudiante) como clave secundaria que referencia la tabla DEPARTAMENTO. Por tanto, DEPARTAMENTO es padre de otras dos tablas: CURSO y ESTUDIANTE. La clave primaria para la tabla ESTUDIANTE es el campo SNO (número de estudiante). La figura 2-15 refleja la nueva visión del diseño de la base de datos.
Figura 2-15 Consideremos ahora la tabla CLAUSTRO, que tiene un registro para cada miembro del cuerpo docente del centro educativo (escuela universitaria o facultad) y cuyos campos son: número de identificación de todos los profesores, nombre, dirección, fecha de contratación, número de ayudantes o subordinados que dependen de él, sueldo e identificación del departamento al que se encuentre adscrito. Los nombres de los campos, los tipos de datos y el contenido de la tabla CLAUSTRO se especifican a continuación:
90
ACCESS 2010. CURSO PRÁCTICO ______________________________________________________ © RA-MA
Las longitudes de los campos son 3, 15, 20, entero, decimal (7,2) y 4 respectivamente. El campo FNO es la clave primaria de la tabla CLAUSTRO. Las claves secundarias pueden ser definidas de forma que se establezca una relación cíclica. Supongamos que es norma de la escuela que a cada miembro del personal docente se le asigne algún departamento académico. Entonces, la columna FDEPT, en la tabla CLAUSTRO, se especificaría como clave secundaria, referenciando DEPARTAMENTO (DEPARTAMENTO es la tabla padre y CLAUSTRO la tabla dependiente). Supongamos, también, que el director de cada departamento es miembro del personal docente. Entonces, el valor DCHFNO, en la tabla DEPARTAMENTO, se especifica como clave secundaria que referencia CLAUSTRO. (Aquí, CLAUSTRO es la tabla padre y DEPARTAMENTO es la tabla dependiente.) La figura 2-16 muestra esta relación cíclica o ciclo.
Figura 2-16 Es posible también que una tabla sea padre y dependiente de sí misma, dando lugar a un ciclo recursivo. En otras palabras, la tabla contiene una clave secundaria que se referencia a sí misma.
@ RA-MA _____________________ CAPÍTULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO...
91
Por ejemplo, supongamos que algunos cursos exigen, al menos, haber cursado otro curso, que es requisito indispensable (es decir, los alumnos están obligados a realizarlo) para matricularse en una clase del curso. Podríamos indicar el curso que se exige como requisito para la matriculación en la tabla CURSO, modificando esta tabla para incluir una nueva columna, PCNO, que contenga el número del curso que se pidió como prerrequisito a la matriculación. En ese caso, la orden CREATE TABLE para el curso contendría una cláusula adicional de clave secundaria, especificando PCNO como clave secundaria que referencia CURSO. Este ciclo de autoreferencia se llama, a veces, relación recursiva. El tipo de datos y la extensión de cada componente de una clave secundaria debe ser la misma que la clave primaria. Pero una clave secundaria, a diferencia de la primaria, puede contener valores nulos (es decir, no es necesario especificar NOT NULL para una columna que sea clave secundaria). Por ejemplo, existen muchos cursos introductorios que no necesitan un curso como requisito previo. Los registros de tales cursos podrían tener un valor nulo en la columna PCNO. Otro ejemplo es la columna SESP en la tabla ESTUDIANTE. Si suponemos que algunos estudiantes no tienen que declarar la especialidad, entonces los valores correspondientes de SESP podrían ser nulos. Observemos, además, que si cualquier parte de una clave secundaria compuesta es nula, entonces toda la clave secundaria se considera como nula. En la base de datos existe una última tabla de nombre PERSONAL que tiene un registro para cada empleado que no pertenezca al cuerpo docente de la escuela universitaria o facultad. Sus campos son: nombre, título, sueldo e identificación del departamento del que dependa. Estos campos no tienen relación con ninguna otra tabla. Los nombres de los campos, los tipos de datos y el contenido de la tabla PERSONAL se especifican a continuación (ENOMBRE es la clave primaria):
92
ACCESS 2010. CURSO PRÁCTICO
©RA-MA
Las longitudes de los campos son 15, 10, entero largo y 4 respectivamente. Una vez definidas todas las relaciones entre las tablas de la base de datos podemos realizar ya un diagrama completo que refleje su diseño final (figura 2-17).
Figura 2-17 Hasta ahora, sólo hemos considerado el aspecto estructural de la integridad referencial. Destacaremos, ahora, algunas de las reglas de procesamiento que especifican la respuesta del sistema a la sentencia de manipulación de datos del SQL, la cual referencia valores de clave primaria y/o secundaria. Estas sentencias (INSERT, UPDATE y DELETE) se describirán en capítulos posteriores. Adicionalmente tendremos en cuenta para la integridad referencial lo siguiente: Inserción de la clave primaria: el sistema verificará que el valor de la clave primaria es único. Si no lo es, la inserción será rechazada. Inserción de la clave secundaria: el sistema verificará que cualquier clave secundaria tenga el mismo valor que alguna clave primaria existente en la tabla referenciada. Si esto no se cumple, la inserción será rechazada.
Actualización de la clave primaria: el sistema rechazará la actualización si existe un registro dependiente que referencie la clave primaria.
@ RA-MA ____________________
CAPÍTULO 2. CONCEPTOS. OBJETOS, OPERACIONES Y DISEÑO...
93
Actualización de la clave secundaria: el sistema verificará que el nuevo valor de la clave secundaria coincida con alguna clave primaria existente en la tabla referenciada. Si esto no ocurre, la actualización se rechazará. Borrado de la clave primaria: se puede dirigir la respuesta del sistema a la eliminación de un registro que tenga una clave primaria igual a alguna clave secundaria correspondiente. Las opciones disponibles son: rechazar cualquier operación de borrado (RESTRICT), sustituir automáticamente los valores nulos por los valores correspondientes de la clave secundaria (SET NULL) y borrar automáticamente cualquier registro dependiente que tenga una clave secundaria igual a la primaria (CASCADE). Borrado de una clave secundaria: no existen restricciones (a menos que la clave secundaria sea parte de la primaria en la que se apliquen otras restricciones). El diseñador de la base de datos debe prestar una cuidadosa atención a estas reglas de procesamiento. Existen restricciones e implicaciones adicionales para las tablas descendientes, especialmente aquéllas afectadas por relaciones cíclicas. El diseño completo de las relaciones existentes entre las tablas (figura 2-17) y las restricciones de integridad son el corazón de una base de datos.
2.5 OBJETOS TÍPICOS EN BASES DE DATOS ACCESS Por medio de Microsoft Access, puede administrar toda la información desde un único archivo de base de datos. Dentro del archivo, puede dividir los datos en contenedores de almacenamiento independientes denominados tablas; puede ver, agregar y actualizar datos de las tablas por medio de formularios en pantalla; puede así mismo buscar y recuperar sólo los datos que desee por medio de consultas y puede analizar o imprimir datos con un diseño específico por medio de informes (figura 218). Puede permitir a otros usuarios ver, actualizar o analizar datos de la base de datos desde Internet o desde una intranet por medio de páginas de acceso a datos. Para almacenar los datos, cree una tabla para cada tipo de información de la que hace el seguimiento. Para reunir los datos de varias tablas en una consulta, formulario, informe o página de acceso a datos, defina relaciones entre las tablas (figura 2-19). Para buscar y recuperar tan sólo los datos que cumplen las condiciones especificadas, incluyendo datos de varias tablas, cree una consulta (figura 2-20). Una na consulta puede también actualizar o eliminar varios registros al mismo tiempo y realizar cálculos predefinidos o personalizados en los datos.
94
ACCESS 2010. CURSO PRÁCTICO ____________________________________________________ ©RA-MA
Figura 2-18
Figura 2-19
Figura 2-20 Para ver, escribir y cambiar datos de manera sencilla directamente en una tabla, cree un formulario. Al abrir un formulario, Microsoft Access recupera los datos de una o más tablas, y los muestra en la pantalla con el diseño elegido en el Asistente para formularios, o con un diseño que cree desde el principio (figura 2-21).
©RA-MA _____________________ CAPÍTULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO...
95
Figura 2-21 Para analizar los datos o presentarlos de cierta manera al imprimirlos, cree un informe (figura 2-22). Por ejemplo, puede imprimir un informe que agrupe datos y calcule totales, y otro informe de datos diferentes con formato para imprimir etiquetas postales.
Figura 2-22 Microsoft Access permite trabajar con todos los objetos de la base de datos (Tablas, Consultas, Formularios, Informes, Páginas, Macros y Módulos).
2.7.1 Consultas: definición y funcionamiento Se utilizan consultas para ver, modificar y analizar datos de formas diferentes (figura 2-23). También pueden utilizarse como el origen de registros para formularios, informes y páginas de acceso a datos.
96
ACCESS 2010. CURSO PRÁCTICO ____________________________________
© RA-MA
Figura 2-23 El tipo de consulta más habitual es una consulta de selección. Ésta recupera datos de una o más tablas utilizando los criterios que especifique y después los muestra en el orden que desee (figura 2-24).
Figura 2-24 Las consultas pueden crearse utilizando asistentes, en la vista diseño de consultas (figura 2-25) o utilizando SQL, tal y como se verá en capítulos posteriores.
Figura 2-25
@ RA-MA ____________________
CAPÍTULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO...
97
2.7.2 Formularios: definición y funcionamiento Pueden utilizarse formularios con varios propósitos, tal y como se indica en la figura 2-26. La mayor parte de la información de un formulario procede de un origen de registros base. Parte de la información del formulario se almacena en el diseño del mismo (figura 2-27). El vínculo entre un formulario y su origen de registros se crea por medio de objetos gráficos denominados controles. El tipo de control más comúnmente utilizado para mostrar y escribir datos es un cuadro de texto (figura 2-28).
Figura 2-26
Figura 2-27
Figura 2-28
98
ACCESS 2010. CURSO PRÁCTICO _________________________________________________________ © RA-MA
2.7.3 Informes: definición y funcionamiento Un informe es un método eficaz de presentar los datos en formato impreso. Dado que tiene el control sobre el tamaño y el aspecto de todo el informe, puede mostrar la información de la manera que desee verla (figura 2-29).
Figura 2-29 La mayor parte de la información de un informe procede de una tabla, consulta o instrucción SQL base, que es el origen de los datos del informe. Parte de la información del informe se almacena en el diseño del mismo (figura 2-30). El vínculo entre el informe y su origen de registros se crea mediante controles (figura 2-31).
Figura 2-30
Figura 2-31
© RA-MA _____________________
CAPÍTULO 2. CONCEPTOS, OBJETOS, OPERACIONBS Y DISEÑO...
99
2.7.4 Macros Una macro es un conjunto de una o más acciones donde cada una realiza una operación determinada, tal como abrir un formulario o imprimir un informe. Las macros pueden ayudar a automatizar las tareas comunes. Por ejemplo, puede ejecutar una macro que imprima un informe cuando el usuario haga clic en un botón de comando (figura 2-32).
Figura 2-32 Una macro puede ser una macro compuesta de una secuencia de acciones, o puede ser un grupo de macros. También se puede usar una expresión condicional para determinar si se llevará a cabo una acción en algunos casos cuando se ejecute la macro. La siguiente macro (figura 2-33) está compuesta de una serie de acciones. Microsoft Access lleva a cabo estas acciones cada vez que se ejecuta la macro. Para ejecutar esta macro se hace referencia al nombre de la macro Revisar Productos.
Figura 2-33
2.7.5 Módulos Un módulo es una colección de declaraciones y procedimientos de Visual Basic para aplicaciones que se almacenan juntos como una unidad (figura 2-34).
100
ACCESS 2010. CURSO PRÁCTICO
©RA-MA
Figura 2-34 Los módulos estándar (figura 2-35) contienen procedimientos generales que no están asociados con ningún otro objeto y procedimientos usados con frecuencia que pueden ser ejecutados desde cualquier parte de la base de datos.
Figura 2-35 La lista de módulos estándar de la base de datos se puede ver haciendo clic en la opción Módulos, situada bajo la sección Objetos de la ventana Base de datos. Los formularios, informes y módulos estándar se enumeran también en el Examinador de objetos.
2.6 RELACIONES EN ACCESS Una vez creadas tablas diferentes para cada tema de la base de datos de Microsoft Access, necesitará una forma de indicarle a Microsoft Access cómo debe volver a combinar esa información.
© RA-MA
CAPÍTULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO...
101
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. Por ejemplo, el formulario de la figura 2-36 incluye información de cinco tablas.
Figura 2-36 En el ejemplo anterior, los campos de las cinco tablas deben coordinarse de modo que muestren información acerca del mismo pedido. Esta coordinación se lleva a cabo mediante las relaciones entre las tablas. Una relación hace coincidir los datos de los campos clave (normalmente un campo con el mismo nombre en ambas tablas). En la mayoría de los casos, estos campos coincidentes son la clave principal de una tabla, que proporciona un identificador único para cada registro, y una clave externa de la otra tabla. Por ejemplo, los empleados pueden asociarse a los pedidos de los que son responsables mediante la creación de una relación entre la tabla Empleados y la tabla Pedidos a través de los campos Id. de empleado (figura 2-37).
Figura 2-3 7
102
ACCESS 2010. CURSO PRACTICO ___________________________________________________
©RA-MA
2.8.1 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 (Proveedores) puede tener muchos registros coincidentes en la Tabla B (Productos), pero un registro de la Tabla B sólo tiene un registro coincidente en la Tabla A (figura 2-38).
Figura 2-38
2.8.2 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 consta de, al menos, dos campos; las claves externas de las Tablas A y B. Por ejemplo, las tablas Pedidos y Productos tienen una relación varios a varios definida mediante la creación de dos relaciones uno a varios con la tabla Detalles de pedidos (figura 2-39).
Figura 2-39
© RA-MA
CAPITULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO... 103
2.8.3 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 (figura 2-40).
Figura 2-40
2.8.4 Definir relaciones Para definir una relación, es necesario agregar a la ventana Relaciones las tablas que se desea relacionar y, a continuación, arrastrar el campo clave de una tabla y colocarlo en el campo clave de la otra tabla. También puede definir relaciones mediante el teclado.
Figura 2-41
104
ACCESS 2010. CURSO PRÁCTICO _________________________________________________ ©RA-MA
El tipo de relación que crea Microsoft Access (figura 2-41) depende de cómo están definidos los campos relacionados. •
Se crea una relación uno a varios (1→∞) si uno de los campos relacionados es una clave principal o tiene un índice único.
•
Se crea una relación uno a uno si ambos campos relacionados son claves principales o tienen índices únicos.
•
Una relación varios a varios es, en realidad, dos relaciones uno a varios con una tercera tabla cuya clave principal consta de dos campos; las claves externas de las otras dos tablas.
Ejercicio 2-1. Consideramos una base de datos con cuatro tablas de nombres: EMPLEADO (empleados de la empresa), OFICIOEMPLEADO (empleados con su oficio), VIVIENDA (alojamiento de los empleados) y OFICIO (relación de oficios), cuyos campos y registros se presentan inmediatamente después del enunciado del ejercicio. En la tabla VIVIENDA tenemos como restricción de integridad que el campo Alojamiento es clave única. En la tabla EMPLEADO tenemos que el campo Nombre es clave única siendo el campo Alojamiento la clave externa de la tabla VIVIENDA. En la tabla OFICIOEMPLEADO la clave única está formada por los campos Nombre y Oficio simultáneamente. Por último, en la tabla OFICIO la clave única está formada por los campos Oficio y Descripción simultáneamente. Realizar un diseño adecuado para esta base de datos relacional. Comenzamos presentando los campos y registros de todas las tablas del enunciado del problema.
© RA-MA ___________________ CAPITULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO... 105 VIVIENDA ALOJAMIENTO
NOMBRECOMPLETO _____________________ RESPONSABLE __________________DIRECCION
PARACUELLOS VALLECAS PONCE TOLEDO BARAJAS BRASILIA PITIS
PARACUELLOS JARAMA PUENTE VALLECAS PONCE LEÓN PUERTA TOLEDO BARAJAS PUEBLO PARQUE BRASILIA ESTACIÓN PITIS
ALONSO TELLEZ EZQUERRO TOMÉ GONZÁLEZ LÓPEZ JUÁREZ NORIEGA PÉREZ LÓPEZ TEJERINA RUIZ VÁZQUEZ LÓPEZ
ELIPA, 12 MUSAS, 1 PONCE, 23 TOLEDO, 25 ELOY, 2 BRASILIA, 3 PONCE, 46
OFICIO OFICIO ______________________ DESCRIPCION HERRERO
HERRAR CABALLOS
CONDUCTOR LEÑADOR OBRERO LABRADOR PICADOR
CONDUCTOR DE AUTOBÚS TALAR ÁRBOLES TRABAJAR EN GENERAL CULTIVAR LA TIERRA PICAR EN LOS TÚNELES DEL METRO
En la figura 2-42 se presenta la estructura de la base de datos relacional.
Figura 2-42
Ejercicio 2-2. Consideramos una base de datos con tablas de nombres DEPT (departamentos de una empresa), EMP (empleados de la empresa) y SALGRADE (nivel salarial de los empleados), cuyos campos y registros se presentan inmediatamente después del enunciado del ejercicio. En la tabla DEPT tenemos como restricción de integridad que el campo Deptno es clave primaria. En la tabla EMP tenemos que el campo Empno es clave primaria. Además, la tabla EMP tiene como clave foránea el campo Deptno referenciado con el mismo nombre en la tabla DEPT. Realizar un diseño adecuado para esta base de datos relacional. Comenzamos presentando los campos y registros de todas las tablas del enunciado del problema.
106 DEPTNO
ACCESS 2010. CURSO PRACTICO ________________________________________________ © RA-MA DNAME
LOC
10
C ONT ABILIDAD
NEW YOR K
20
INVEST IGAC IÓN
DALLAS
30
VENT AS
C HIC AGO
40
OP ER AC IONES
BOSTON
EMPNO
ENAME
JOB
MGR
HIR EDAT E
S AL
COMM
7369
S M ITH
OF IC INIST A
7902
17/12/1980
800
20
7499
ALLEN
VENDEDOR
7698
20/02/1981
1600
300
30
7521
WAR D
VENDEDOR
7698
22/02/1981
1250
500
30
7566
JONES
MANAGER
7839
02/04/1981
2975
20
7654
MART IN
VENDEDOR
7698
28/09/1981
1250
7698
BLAKE
MANAGER
7839
01/05/1981
2850
30
7782
C LAR K
MANAGER
7839
09/06/1981
2450
10
7788
SC OTT
ANALIS T A
7566
19/04/1987
3000
20
7839
KING
PR ES IDENT E
17/11/1981
5000
10
7844
T UR NER
VENDEDOR
7698
08/09/1981
1500
7876
ADAMS
OF IC I NIST A
7788
23/05/1987
1100
7900
JAMES
OF IC INIST A
7698
03/11/1981
950
30
7902
F OR D
ANALIST A
7566
03/12/1981
3000
20
7934
MILLER
OF IC INIST A
7782
23/01/1982
1300
10
1400
DEPT NO
30
30 20
GR ADE LOS AL HIS AL 1
700
2
1201
1200 1400
3
1401
2000
4
2001
3000
5
3001
9999
En la tabla DEPT (departamentos) el campo Deptno se refiere al número de departamento y es numérico de longitud 2, el campo Dname se refiere al nombre del departamento y es texto de longitud 14 y el campo Loe se refiere a la localización física del departamento siendo de tipo texto con longitud 13. En la tabla EMP (empleados) el campo Empno se refiere al número del empleado y es numérico de longitud 4, el campo Ename se refiere al nombre del empleado y es texto de longitud 10, el campo Job se refiere al trabajo del empleado y es texto de longitud 9, el campo Mgr se refiere al código del oficio y es numérico de longitud 4, el campo Hiredate se refiere a la fecha del contrato y es de tipo fecha, el campo Sal se refiere al salario del empleado y es numérico de longitud 4, el campo Comm se refiere a las comisiones de los empleados y es numérico de longitud 4 y el campo Deptno se refiere al departamento del empleado siendo numérico de longitud 2. En la tabla SALGRADE (nivel salarial del empleado) el campo Grade se refiere al nivel de salario y es numérico de longitud unitaria, el campo Losal se refiere al salario mínimo y es numérico de longitud 4 y el campo Hisal se refiere al salario máximo siendo numérico de longitud 4.
©RA-MA _____________________ CAPITULO 2. CONCEPTOS. OBJETOS, OPERACIONES Y DISEÑO...
En la figura 2-43 se presenta la estructura de la base de datos relacional.
Figura 2-43
107
Capítulo 3
CREACIÓN DE BASES DE DATOS, TABLAS, RELACIONES, CLAVES E ÍNDICES 3.1 TAREAS PREVIAS A LA CREACION DE UNA BASE DE DATOS Antes de utilizar Microsoft Access para crear las tablas, los formularios y los demás objetos que formarán la base de datos, es importante invertir algún tiempo en diseñar la base de datos. Un buen diseño de la base de datos es la pieza clave para crear una base de datos que realice las operaciones que desee de una forma efectiva, precisa y eficaz. En el capítulo anterior ya se ha estudiado la trayectoria genérica a seguir para diseñar una base de datos. De esa trayectoria general, y particularizando ya a Microsoft Access, se deduce que son pasos básicos en el diseño de una base de datos los siguientes: 1.
Determinar la finalidad de la base de datos.
2.
Determinar las tablas que se necesitan en la base de datos.
3.
Determinar los campos que se necesitan en las tablas.
4.
Identificar los campos con valores exclusivos en cada registro.
5.
Determinar las relaciones entre las tablas.
6.
Perfeccionar el diseño.
110
ACCESS 2010. CURSO PRACTICO
7.
Introducir datos y crear otros objetos de la base de datos.
8.
Utilizar las herramientas de análisis de Microsoft Access.
© RA-MA
El primer paso para diseñar una base de datos es determinar su finalidad y cómo utilizarla. Debe saber qué información desea obtener de la base de datos. A partir de ahí, puede determinar sobre qué asuntos necesita almacenar hechos (las tablas) y qué hechos necesita almacenar sobre cada asunto (los campos de las tablas). Hable con los demás usuarios que utilizarán la base de datos. Piensen detenidamente en las preguntas que desean que responda la base de datos. Realice bocetos de los informes que desea que produzca. Reúna los formularios que utiliza actualmente para registrar los datos. Examine bases de datos bien diseñadas similares a la que va a diseñar. Determinar las tablas que se necesitan puede ser el paso más complicado del proceso de diseño de la base de datos. Esto se debe a que los resultados que desea obtener de la base de datos (los informes que desea imprimir, los formularios que desea utilizar, las preguntas para las que desea respuestas) no proporcionan pistas necesariamente acerca de la estructura de las tablas que los producen. No es necesario que diseñe las tablas mediante Microsoft Access. De hecho, posiblemente sea más conveniente realizar un boceto en papel de la base de datos y trabajar sobre el diseño primero. Al diseñar las tablas, divida la información teniendo en cuenta los principios de diseño fundamentales explicados en el capítulo anterior (normalización, etc.). Determinar los campos que se necesitan es la siguiente tarea a tener en cuenta. Cada tabla contiene información acerca del mismo asunto, y cada campo de una tabla contiene hechos individuales sobre el asunto de la tabla. Por ejemplo, la tabla Clientes puede incluir los campos del nombre de la compañía, la dirección, la ciudad, el país y el número de teléfono. Al realizar bocetos de los campos para cada tabla, tenga en cuenta estas sugerencias; •
Relacione cada campo directamente con el asunto de la tabla.
•
No incluya datos derivados ni calculados (datos que son el resultado de una expresión).
•
Incluya toda la información que necesite.
•
Almacene información en sus partes lógicas más pequeñas (por ejemplo, Nombre y Apellidos, en lugar del Nombre completo).
•
Defina de forma coherente los tipos de datos de los campos.
iQué tipo de datos utilizar para cada campo de cada tabla? Se trata de una pregunta esencial. Decida qué tipo de datos va a utilizar para un campo teniendo en cuenta las consideraciones siguientes:
© RA-MA
CAPÍTULO 3. CREACIÓN DE BASES DE DATOS...
111
•
¿Qué tipo de valores desea permitir en el campo? Por ejemplo, no se puede almacenar texto en un campo cuyo tipo de datos es Numérico.
•
¿Cuánto espacio de almacenamiento desea utilizar para los valores del campo?
•
¿Qué tipo de operaciones desea llevar a cabo con los valores del campo? Por ejemplo, Microsoft Access puede sumar los valores de los campos Numérico y Moneda, pero no los valores de los campos Texto u Objeto OLE.
•
¿Desea ordenar o indexar un campo? Los campos Objeto OLE no pueden ordenarse ni indexarse.
•
¿Desea utilizar un campo para agrupar registros en consultas o informes? Los campos Objeto OLE no pueden utilizarse para agrupar registros.
•
¿Cómo desea ordenar los valores de un campo? En un campo Texto, los números se ordenan como cadenas de caracteres (1, 10, 100, 2, 20, 200, etc.), no como valores numéricos. Utilice un campo Numérico o Moneda para ordenar números como valores numéricos. Además, muchos formatos de fecha tampoco se ordenan correctamente si se introducen en un campo Texto. Utilice un campo Fecha/Hora para garantizar un orden correcto.
iQué campo o campos tienen valores únicos en cada registro! Estamos ante otra pregunta fundamental. Para que Microsoft Access conecte información almacenada en tablas independientes (por ejemplo, para conectar a un cliente con todos los pedidos del cliente), cada tabla de la base de datos debe incluir un campo o un conjunto de campos que identifiquen de forma exclusiva cada registro individual de la tabla. Este campo o conjunto de campos ya sabemos que se denomina clave principal. La siguiente tarea crítica es determinar las relaciones entre las tablas. Ahora que ha dividido la información en tablas y que ha identificado los campos de clave principal, necesita una forma de indicar a Microsoft Access cómo volver a reunir toda la información relacionada de un modo significativo. Para ello, debe definir relaciones entre las tablas en una base de datos de Microsoft Access. Es fundamental diseñar bien el esquema de relaciones entre los campos de las distintas tablas. Una vez diseñadas las tablas, los campos y las relaciones que necesita, es el momento de estudiar el diseño y detectar los posibles fallos que puedan quedar. Es más sencillo cambiar el diseño de la base de datos ahora, que una vez que haya rellenado las tablas con datos.
112
ACCESS 2010. CURSO PRÁCTICO
© RA-MA
Utilice Microsoft Access para crear las tablas, especificar relaciones entre las tablas e introducir suficientes datos de ejemplo en las tablas para poder comprobar el diseño. Para probar las relaciones de la base de datos, compruebe si puede crear consultas para obtener las respuestas que desee. Cree bocetos de los formularios e informes y compruebe si muestran los datos que desea. Busque duplicaciones de datos innecesarias y elimínelas. Si encuentra problemas, perfeccione el diseño. Cuando considere que la estructura de las tablas cumple los principios de diseño descritos anteriormente, es el momento de introducir datos y crear otros objetos de la base de datos. Se comienza a agregar los datos existentes a las tablas y a continuación, puede crear las consultas, formularios, informes, macros y módulos que desee. Adicionalmente, Microsoft Access incluye herramientas que pueden ayudarle a perfeccionar el diseño de la base de datos. Es posible analizar el diseño de una tabla, proponer nuevas estructuras de tablas y relaciones si es conveniente y dividir una tabla en nuevas tablas relacionadas si es necesario. También es posible analizar el rendimiento de la base de datos completa y realizar recomendaciones y sugerencias para mejorarla.
3.2 CREACIÓN DE BASES DE DATOS EN ACCESS 2010 Hay varias vías para crear una base de datos en crear directamente una base de datos en blanco cuando se una base de datos a partir de una plantilla existente cuyo Microsoft Office Online y crear una base de datos en Archivo. También es posible crear una base de datos web.
Access 2010. Es posible inicia el programa, crear origen puede ser incluso blanco desde el botón
Para crear una nueva base de datos en blanco, inicie Access y en el botón Archivo elija Nuevo y haga clic en Base de datos en blanco (figura 3-1) o en Base de datos web en blanco si se crea la base en la web. Bajo el panel Base de datos en blanco, en el cuadro Nombre de archivo, escriba un nombre de archivo (figura 3-2). Por último, haga clic en Crear. Se crea la base de datos y se abre una tabla en la vista Hoja de datos (figura 3-3) lo que permite crear ya las tablas.
Figura 3-1
@ RA-MA
CAPITULO 3. CREACION DE BASES DE DATOS... 113
Figura 3-2
Figura 3-3 Hemos visto que cuando se crea una nueva base de datos, se abre la tabla de nombre Tabla1 (por defecto) en la vista Floja de datos. Es posible agregar inmediatamente campos a la tabla haciendo clic sobre Haga clic para agregar en la figura 3-3 y escribiendo su nombre. Se pulsa Intro y Haga clic para agregar se desplaza a la siguiente columna a la derecha (figura 3-4). Para introducir un nuevo campo en la tabla se vuelve a hacer clic en Haga clic para agregar y se escribe su nombre y así sucesivamente se pueden ir añadiendo más campos hasta completar todos los campos de la tabla (figura 3-5). La siguiente tarea será introducir los datos en los campos como si se tratase de una hoja de cálculo (figura 3-6).
114
ACCESS 2010. CURSO PRACTICO
© RA-MA
De momento los tipos de datos y sus propiedades los asigna Access por defecto de acuerdo a la información que vamos almacenando en la tabla. No obstante, los tipos de datos podrán seleccionarse a medida tal y como veremos más adelante.
Figura 3-4
Figura 3-5
Figura 3-6 Una vez completados los datos de una tabla, puede guardarse a través de la opción Guardar del menú emergente que se obtiene al hacer clic con el botón derecho del ratón sobre la ficha que contiene el nombre de la tabla (figura 3-7). La primera vez que se guarda se obtiene la pantalla Guardar como en la que podemos introducir un nombre para la tabla (figura 3-8). Al hacer clic en Aceptar se guarda la tabla con ese nombre.
@ RA-MA
CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 115
Figura 3-7
Figura 3-8 Para guardar la base de datos se hace che en el Botón Archivo y a continuación en Guardar base de datos como para elegir el formato adecuado al guardar y el nombre adecuado para la base de datos. La opción Guardar guarda la base de datos con el nombre y formato actuales.
Figura 3-9
116
ACCESS 2010. CURSO PRÁCTICO ____________________________________________________© RA-MA
También es posible crear una nueva base de datos en blanco en la web desde el botón Archivo. Para ello, inicie Access desde el menú Inicio o desde un acceso directo. Haga clic en el Botón Archivo y elija Nuevo en la figura 3-2. Bajo Plantillas disponibles haga clic en Base de datos web en blanco y en el cuadro Nombre de archivo, escriba un nombre de archivo. Haga clic en Crear. Se crea una nueva base de datos en formato web y se abre una nueva tabla en la vista Hoja de datos. A partir de ahora se introducen los datos tal y como ya hemos vito anteriormente. Adicionalmente, también es habitual crear una base de datos a partir de una plantilla. Para ello inicie Access, haga clic en el botón Archivo y a continuación en Nuevo. Bajo Plantillas disponibles, haga clic en una categoría adecuada a sus necesidades y, cuando aparezcan las plantillas de esa categoría, haga clic en la plantilla que más se acomode a su finalidad. Por ejemplo, podemos elegir la categoría Plantillas de ejemplos de la figura 3-10. En la figura 3-11 elegimos Base de datos web de contactos ya que queremos elaborar una base de datos de contactos de la empresa (clientes, socios, etc.). En el cuadro Nombre de archivo situado a la derecha, escriba un nombre de archivo o use el nombre proporcionado por defecto (figura 3-11). Al hacer clic en Crear, Access descarga automáticamente la plantilla, crea una nueva base de datos a partir de esa plantilla y abre la base de datos. A continuación, al hacer clic en la solapa Hoja de datos, ya se puede introducir la información en las tablas y usar los objetos (figura 3-12) que podrán ser modificados y adecuados a nuestras necesidades pudiendo cambiar incluso la propia plantilla.
Figura 3-10
©RA-MA
CAPITULO 3. CREACION DE BASES DE DATOS... 117
Figura 3-11
Figura 3-12 Además de las plantillas locales que se instalan por defecto en Access 2010, es posible utilizar plantillas adicionales que Microsoft pone a disposición de los usuarios a través de Microsoft Office Online directamente desde la interfaz de usuario de Access 2010. Para utilizar estas plantillas inicie Access, haga clic en el Botón Archivo y elija Nuevo. En la figura 3-10, bajo Plantillas de Office.com, haga clic en la plantilla que se desee (Activos). En el cuadro Nombre de archivo situado a la derecha, escriba un nombre de archivo o use el nombre por defecto (figura 3 -13). Al hacer clic en Descargar, después de introducir los datos de usuario, Access incorpora la plantilla (figura 3-14).
118
ACCESS 2010. CURSO PRÁCTICO __________________________________________________ ©RA-MA
Figura 3-13
Figura 3-14 Si en la figura 3-10 hacemos clic en Buscar plantillas en Office.com se pueden utilizar plantillas adicionales de la web de Microsoft.
3.3 ABRIR Y CERRAR UNA BASE DE DATOS Para abrir una base de datos se hace clic en el Botón Archivo y a continuación en Abrir (figura 3-15). Cuando aparezca el cuadro de diálogo Abrir (figura 3-16), escriba un nombre de archivo y, a continuación, haga clic en Abrir. Se abrirá la base de datos (figura 3-17).
© RA-MA
CAPITULO 3. CREACION DE BASES DE DATOS... 119
Figura 3-15
Figura 3-16
120
ACCESS 2010. CURSO PRÁCTICO
© RA-MA
Figura 3-17 Si la base de datos que desea abrir aparece en el panel derecho de la opción Reciente del Botón Archivo bajo el epígrafe de Bases de datos recientes (figura 3-18), haga clic sobre ella y se abrirá automáticamente. Así mismo, si la base de datos a abrir ha sido usada recientemente y aparece directamente en la lista de opciones del Botón Archivo, basta con hacer clic sobre ella para que se abra inmediatamente.
Figura 3-18 Para cerrar la base de datos actual, haga clic en el Botón Archivo y seleccione Cerrar base de datos (figura 3-19).
©RA-MA
CAPITULO 3. CREACION DE BASES DE DATOS...
121
Figura 3-19
3.4 VISTA HOJA DE DATOS. TRABAJO CON TABLAS En los párrafos anteriores ya hemos visto cómo Access 2010 permite crear directamente una tabla en la vista Hoja de datos al crear la base de datos. También hemos visto cómo introducir registros en la tabla y guardarla con el nombre deseado una vez finalizado el trabajo de introducción de datos. También hemos visto cómo guardar la propia base de datos con el nombre adecuado. En este apartado nos ocuparemos de la administración de las tablas de la base de datos ya creada y del trabajo habitual con sus campos y registros.
3.4.1 Añadir nuevas tablas a una base de datos Para agregar una nueva tabla a una base de datos se hace clic en Tabla en la ficha Crear (figura 3-20). Se obtiene la vista Hoja de datos (figura 3-21) con la nueva tabla de nombre Tabla1 por defecto en la que se puede introducir sus campos y registros y guardarla por el mismo procedimiento utilizado para la tabla CURSO creada anteriormente en el epígrafe de creación de bases de datos. De la misma forma se completarán las sucesivas tablas de la base de datos.
Figura 3-20
122
ACCESS 2010. CURSO PRÁCTICO
©RA-MA
Figura 3-21 Una vez completadas todas las tablas de la base de datos, cuyos datos ya fueron expuestos en el diseño del capítulo anterior (figura 3-22), puede guardarse la base de datos como una Base de datos de Access 2010 mediante la opción Guardar base de datos como del Botón Archivo con el nombre EDUCA. El fichero que se genera tiene de nombre EDUCA.ACCDB. Si se quiere, también puede guardarse la base de datos en formatos de versiones anteriores {Base de datos de Access 2002-2003 y Base de datos Access 2000) eligiendo la correspondiente opción del menú Guardar & Publicar del Botón Archivo (figura 3-23). El fichero que se genera en estos dos últimos casos tiene de nombre EDUCA.MDB. Obsérvese el cambio de extensión de los ficheros de base de datos que se experimenta en la versión 2010 de Access.
Figura 3-22
@ RA-MA ___________________________________ CAPITULO 3. CREACION DE BASES DE DATOS... 123
Figura 3-23
3.4.2 Añadir nuevos campos a las tablas de una base de datos Podemos añadir nuevos campos a las tablas utilizando la opción Agregar nuevo campo (figura 3-21) tal y como se ha hecho hasta ahora, pero cuando se crea una tabla nueva en la base de datos, aparece la barra Herramientas de tabla, cuyas fichas Campos y Tablas contienen grupos cuyas opciones permiten trabajar con campos, registros, formatos, tipos de datos y relaciones (figuras 3-24 y 3-25). Concretamente, las opciones del grupo Agregar y eliminar de la figura 3-24 permiten agregar y eliminar todo tipo de campos a las tablas.
Figura 3-24
Figura 3-25
124 ACCESS 2010. CURSO PRACTICO
©RA-MA
Para agregar campos a una tabla existente en la vista Hoja de datos puede utilizarse la barra Herramientas de tabla. Para ello, en la ficha Campos, en el grupo Agregar y eliminar de la figura 3-24, haga clic en el tipo de campo que desea agregar. También utilizar la opción Más campos y seleccionar de la lista el tipo de campo a crear (figura 3-26). El nuevo campo aparece en la hoja de datos (figura 3-27). Posteriormente podrá cambiarse su nombre como veremos luego.
Figura 3-26
Figura 3-27
©RA-MA
CAPÍTULO 3. CREACIÓN DE BASES DE DATOS...
125
3.4.3 Insertar, eliminar y cambiar nombre a los campos Las opciones Insertar campo. Eliminar campo y Cambiar nombre de campo del menú emergente que se obtiene al hacer clic con el botón derecho del ratón sobre un campo seleccionado en la tabla en la vista Hoja de datos (figura 3-28) permiten insertar, eliminar y cambiar el nombre a los campos seleccionados en las tablas de la base de datos. Para insertar un campo campo situado a la derecha del clic en Insertar campo en el inserción del campo con el posteriormente puede ser cambiado.
en un lugar específico de una tabla, se selecciona el punto de inserción deseado y a continuación se hace menú emergente de la figura 3-28. Se produce la nombre Campo1 por defecto (figura 3-29), que
Figura 3-28
Figura 3-29
126
ACCESS 2010. CURSO PRÁCTICO
©RA-MA
Para cambiar el nombre a un campo de una tabla, se selecciona el campo y a continuación se hace clic en Cambiar nombre de campo en el menú emergente de la figura 3-28. A continuación se escribe el nuevo nombre de campo encima del antiguo (figura 3-30). Los nombres de campo pueden contener un máximo de 64 caracteres (letras y números) incluyendo espacios.
Figura 3-30 Para eliminar uno o varios campos de una tabla, se seleccionan los campos a borrar y a continuación se hace clic en Eliminar campo en el menú emergente de la figura 3-31. Se obtiene la pantalla de la figura 3-32 que pide la confirmación del borrado. Al hacer clic en Sí, se produce la eliminación de los campos. En la figura 3-33 se observan ya los campos de la tabla sin incluir los borrados.
Figura 3-31
©RA-MA
CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 127
Figura 3-32
Figura 3-33
3.4.4 Tipos de datos, formatos y propiedades de campos En Access 2010, en la vista Hoja de datos, podemos elegir el tipo de datos a medida para un determinado campo. Para ello se selecciona el campo sobre la tabla y en la barra Herramientas de tabla, en la ficha Campos, en el grupo Formato, hacemos clic en Tipo de datos. En el desplegable de la figura 3-34 haga clic en el tipo de datos que desee.
Figura 3-34
128
ACCESS 2010. CURSO PRÁCTICO
©RA-MA
Existen determinados tipos de datos que admiten formato. Cuando el tipo de datos elegido para un campo admite formato (por ejemplo el tipo Numérico), es posible elegir dicho formato a medida. Para ello se selecciona el campo sobre la tabla y en la ficha Campos, en el grupo Formato, haga clic en Formato. En el desplegable de la figura 3-35 haga clic en el formato que desee.
Figura 3-35 Cada campo de una tabla tiene un grupo de propiedades (requerido, indizado, etc.) que dependen del tipo de datos del campo. Para definir propiedades de campos en la vista Hoja de datos haga clic en el campo para el que desea definir la propiedad y en la ficha Campos, en el grupo Validación de campos (figura 3-36), seleccione Unico para definir la propiedad de campo con valores únicos, Indizada para campos indizados y Requerido para activar o desactivar el valor de la citada propiedad para el campo. También pueden restringirse mediante expresiones los valores a escribir en un campo utilizando la opción Regla de validación de campo del grupo Validación de campo de la ficha Campos de la barra de Herramientas de tabla (figura 3-37). En la vista Diseño pueden precisarse mucho más los tipos de datos, formatos y propiedades de los campos, tal y como veremos posteriormente.
Figura 3-36
@ RA-MA
CAPITULO 3. CREACION DE BASES DE DATOS... 129
Figura 3-37
3.4.5 Trabajar con registros Las opciones del grupo Registros de la ficha Inicio (figura 3-38) permiten trabajar con los registros de las tablas. Las opciones de este grupo permiten acmalizar los registros de la tabla actual después de modificaciones {Actualizar rodo), introducir nuevos registros al final de la tabla {Nuevo), guardar registros I Guardar), eliminar los registros y columnas seleccionados {Eliminar), agregar la fila totales para situar totales en los campos numéricos {Totales) tal y como se observa en la figura 3-39, revisar la ortografía del contenido de los registros i Revisión ortográfica) y otras opciones {Más) especificadas en la figura 3-40, como ocultar las columnas seleccionadas, mostrar las columnas que se indiquen, administrar el alto de fila (figura 3-41) y el ancho de columna (figura 3-42), inmovilizar y liberar los registros seleccionados, trabajar con hojas secundarias de datos e interrelacionar con Outlook.
Figura 3-38
130
ACCESS 2010. CURSO PRÁCTICO ______________________________________________________ ©RA-MA
Figura 3-39
Figura 3-40
Figura 3-41
Figura 3-42
Las tareas típicas de formato de fuente de los registros (tipo, tamaño, resaltado, sombreado, color, etc.) se realizan a través de las opciones del grupo Formato de texto de la ficha Inicio (figura 3-43). Los iconos Negrita, Cursiva y Subrayado realizan la función que su nombre indica aplicando negrita, cursiva y subrayado a la selección. El icono Color de fuente permite aplicar color a la fuente de los registros. El icono Color de relleno (o fondo) aplica el color seleccionado al relleno o fondo. El icono Color de fondo (o relleno) relleno. El icono Líneas de división un tipo de líneas de división para la tabla (figura 3-44).
aplica el color seleccionado al fondo o \
permite
seleccionar
© RA-MA ______________________________________ CAPÍTULO 3. CREACIÓN DE BASES DE DATOS...
131
La alineación del texto de los registros para dar formato óptimo a las tablas se realiza a través de los iconos de Alinear el texto alineación, se consigue que el texto quede o alineado a la derecha respectivamente.
. Haciendo clic en los iconos de alineado a la izquierda, centrado
Figura 3-43
Figura 3-44 El trabajo con sangrías, viñetas, dirección de texto y color de resaltado de texto de los registros se realiza a través de las opciones restantes del grupo Formato de texto de la ficha Inicio. Los iconos Disminuir sangría y Aumentar sangría permiten retroceder y avanzar un espacio de tabulación la sangría del contenido de las celdas. La sangría es el espacio que hay entre el margen izquierdo y las primeras letras escritas en el párrafo. El icono Dirección del texto permite establecer la dirección del texto que se muestra de izquierda a derecha. El icono Color de resaltado de texto cambia el aspecto del texto cono si estuviese afectado por un marcador. Los iconos Numeración y Viñetas
permiten iniciar una lista numerada y con viñetas respectivamente.
El grupo Ordenar y filtrar de la ficha Inicio (figura 3-45) tiene opciones que permiten ordenar de forma ascendente
y descendente
los registros, eliminar las
ordenaciones , filtrar los registros según determinados criterios (Filtro), seleccionar registros en las tablas mediante condiciones (Selección), administrar filtros (Avanzadas) y aplicar o quitar filtro según exista o no un filtro actualmente (Alternar filtro).
Figura 3-45
132 ACCESS 2010. CURSO PRACTICO__________________________________________________________ ©RA-MA
Para realizar búsquedas en los registros se utilizan las opciones del grupo Buscar de la ficha Inicio (figura 3-46) que contiene opciones que permiten buscar en los registros el texto con las condiciones de búsqueda que se indican en la pantalla Buscar y reemplazar que se obtiene al hacer clic en Buscar (figura 3-47), reemplazar un contenido por otro especificados ambos y las condiciones de búsqueda y reemplazo en la pantalla Buscar y reemplazar que se obtiene al hacer clic en el icono (figura 3-48), ir a un registro concreto (primero, anterior, siguiente, último o nuevo) elegido en la figura 3-49 que se obtiene al hacer clic en el icono y seleccionar el registro donde se encuentra actualmente el cursor (Seleccionar) o todos los registros (Seleccionar todos) según las opciones de la figura 3-50 que se obtienen al hacer clic en el icono
Figura 3-46
Figura 3-47
Figura 3-48
.
© RA-MA
CAPÍTULO 3. CREACIÓN DE BASES DE DATOS...
Figura 3-49
133
Figura 3-50
Las tareas habituales de cortar, copiar y pegar registros, así como la escobilla de copiar estilo típica en las aplicaciones de Microsoft, se realizan a través de las opciones del grupo Portapapeles (figura 3-51). La opción Pegar presenta el menú desplegable de la figura 3-52, cuyas opciones permiten pegar normalmente, pegado especial según distintas opciones de formato (texto, registros de datos, CSV, etc.) y pegar datos anexados.
Figura 3-51
Figura 3-52
3.4.6 Tareas especiales con tablas. Exportar, importar, cortar, copiar, pegar, eliminar y ocultar tablas Es posible abrir, cambiar nombre, importar, exportar, ocultar, eliminar, cortar, pegar y copiar tablas a través de las opciones del menú emergente que se obtiene si hacemos clic con el botón derecho del ratón sobre la tabla afectada en el panel de objetos en la vista Hoja de datos (figura 3-53). Los formatos desde los que se puede importar se observan en la figura 3-54 y los formatos a los que se puede exportar aparecen en la figura 3-55.
134
ACCESS 2010. CURSO PRÁCTICO
©RA-MA
Figura 3-53
Figura 3-54
©RA-MA
CAPÍTULO 3. CREACIÓN DE BASES DE DATOS...
135
Figura 3-55
3.5 VISTA DISEÑO. CLAVES, ÍNDICES, TIPOS DE DATOS Y PROPIEDADES En la vista Diseño trabajamos únicamente con la estructura de las tablas (nombres de campos, tipos de datos, propiedades, etc.), pero no con sus contenidos. En la vista Hoja de datos normalmente trabajamos con los contenidos de la tabla, es decir, con sus datos. Para pasar de la vista Hoja de datos a otra mientras una tabla está abierta, haga clic sobre la flecha del botón Ver del grupo Vistas de la ficha Inicio y en el desplegable de la figura 3-56 elija la vista que desee. Si elegimos Vista Diseño se obtiene la tabla actual en la vista Diseño (figura 3-57). También podemos alternar entre la vista Diseño, la vista Hoja de datos y otras vistas, eligiendo los iconos correspondientes situados a la derecha de la barra de estado
Figura 3-56
.
136
ACCESS 2010. CURSO PRACTICO
©RA-MA
Figura 3-57 En la vista Diseño podemos ver y modificar la estructura fiindamental de la tabla. Los nombres de los campos aparecen listados bajo la columna de la izquierda, y el tipo de datos, la descripción y las propiedades de campo aparecen también a lo largo de la tabla, pero los datos de la tabla no son visibles. Al seleccionar una tabla en la vista Diseño aparece la barra Herramientas de tabla con la ficha Diseño, cuyos grupos y opciones permiten la gestión del diseño y se observan en la figura 3-58.
Figura 3-58 La opción Ver del grupo Vistas de la ficha Diseño permite cambiar entre tipos de vistas para la tabla (figura 3-59). La opción Clave principal del grupo Herramientas permite establecer o quitar como clave principal de la tabla el campo o grupo de campos previamente seleccionados en la vista Diseño. La opción Probar reglas de validación advierte si los datos existentes infringen una regla de validación. En un principio se obtiene la advertencia de que se va a realizar la validación (figura 3-60) y después de Aceptar se obtiene el resultado de la validación (figura 3-61).
©RA-MA
CAPITULO 3. CREACION DE BASES DE DATOS...
137
Las opciones Insertar filas y Eliminar filas añaden y quitan las filas seleccionadas en la pantalla de la vista Diseño. La opción Columna de búsqueda inserta una columna de búsqueda en el diseño. La opción Hoja de propiedades del grupo Mostrar u ocultar inserta la citada hoja en el diseño (figura 3-62) y la opción índices se utiliza para definir como índice en el diseño el campo o campos seleccionados.
Figura 3-59
Figura 3-60
Figura 3-61
138
ACCESS 2010. CURSO PRÁCTICO __________________________________________________________ ® RA-MA
Figura 3-62
3.5.1 Establecer y quitar la clave primaria Para establecer o cambiar la clave principal o primaria de una tabla abra la tabla en la vista Diseño, seleccione el campo o los campos que desea utilizar como clave principal y en la ficha Diseño, en el grupo Herramientas, haga clic en Clave principal Se agrega un indicador de clave ha especificado como clave principal.
a la izquierda del campo o campos que
En la figura 3-63 hemos definido los campos CNO y SEC como clave principal para la tabla CLASE. Para seleccionar un campo, haga clic en el selector de filas del campo que desee. Para seleccionar varios campos para una clave compuesta, presione la tecla CTRL y haga clic en el selector de filas de cada campo. Access crea automáticamente un índice para la clave principal, que permite agilizar las consultas y otras operaciones. Access comprueba también que cada registro tiene un valor en el campo de clave principal y que éste es siempre distinto. No olvidemos que la clave primaria de una tabla consta de uno o varios campos que identifican inequívocamente cada fila almacenada en la tabla (número de identificación exclusivo Id., número de serie o un código).
©RA-MA ______________________________________
CAPÍTULO 3. CREACION DE BASES DE DATOS...
139
Figura 3-63 Para quitar la clave principal de una tabla abra la tabla en la vista Diseño, haga clic en el selector de filas de todos los campos de la clave principal actual y en la ficha Diseño, en el grupo Herramientas, haga clic en Clave principal. El indicador de clave se quita del campo o campos de la clave principal. Al intentar guardar una tabla sin definir ninguna clave principal, Access le pedirá que cree una. Si elige Sí, se crea un campo Id. con el tipo de datos Autonumérico como clave principal, salvo que la tabla ya incluya un campo autonumérico, en cuyo caso se utilizará como clave principal.
3.5.2 Establecer y quitar índices Como ya sabemos, los índices se utilizan para buscar y ordenar registros con mayor rapidez. Un índice almacena la ubicación de los registros basándose en el campo o campos que se decidan indizar. Una vez que Access ha obtenido la ubicación en el índice, puede recuperar los datos al ir directamente a la ubicación correcta. De esta forma, utilizar un índice puede ser mucho más rápido que buscar en todos los registros para encontrar los datos. Un índice puede utilizar uno o varios campos. Habitualmente se utilizará un campo o grupo de campos como índice si se prevé que se buscarán valores almacenados en esos campos o que se realizarán ordenaciones por los valores de los campos. Es conveniente que los campos que componen el índice tengan la mayoría de sus valores distintos.
140
ACCESS 2010. CURSO PRÁCTICO _________________________________________________________________ ©RA-MA
Para crear un índice de un solo campo, muestre la tabla en la que desea crear el índice en vista Diseño, haga clic en el Nombre de campo del campo que desea indizar y en Propiedades del campo, haga clic en la ficha General. En la propiedad Indizado, haga clic en Sí (con duplicados) si desea permitir duplicados o en Sí (sin duplicados) para crear un índice único (figura 3-64). Para guardar los cambios, haga clic en Guardar en la barra de herramientas de acceso rápido o presione CTRL+G.
Figura 3-64 Para crear un índice de varios campos muestre la tabla en la que desea crear el índice en vista Diseño, y en la ficha Diseño, en el grupo Mostrar u ocultar, haga clic en Indices (figura 3-65). Se obtiene la ventana índices (figura 3-66). En la columna Nombre del índice, en la primera fila en blanco, escriba el nombre del índice. Puede utilizar el nombre de uno de los campos del índice o cualquier otro nombre. En la columna Nombre de campo, haga clic en la flecha y, a continuación, en el primer campo que desee utilizar para el índice. En la siguiente fila, deje en blanco la columna Nombre del índice y, a continuación, en la columna Nombre de campo, haga clic en el segundo campo del índice. Repita estos pasos hasta que haya seleccionado todos los campos que desee incluir en el índice. El orden predeterminado de los valores de los campos es ascendente (para cambiar el orden de los valores de un campo, en la columna Criterio de ordenación de la ventana índices, haga clic en Ascendente o en Descendente). A continuación, en la ventana índices, en Propiedades del índice (parte inferior de la figura 3-66), establezca las propiedades del índice para la fila en la columna Nombre del índice que contiene el nombre del índice. Para guardar los cambios, haga clic en Guardar en la barra de herramientas de acceso rápido. Finalmente se cierra la ventana índices. Un índice puede incluir hasta 10 campos.
©RA-MA _____________________________________ CAPITULO 3. CREACION DE BASES DE DATOS... 141
Figura 3-65
Figura 3-66 Para eliminar un índice muestre la tabla en la que desea eliminar el índice en vista Diseño y en la ficha Diseño, en el grupo Mostrar u ocultar, haga clic en índices. En la ventana índices seleccione la fila o las filas que contienen el índice que desea eliminar y, a continuación, presione SUPR. Para guardar los cambios, haga clic en Guardar en la barra de herramientas de acceso rápido. Por último, cierre la ventana Indices. Para modificar un índice muestre la tabla en la que desea modificar el índice en vista Diseño y en la ficha Diseño, en el grupo Mostrar u ocultar, haga clic en índices. En la ventana índices vea y modifique los índices y las propiedades de índice de modo que se acomoden a sus necesidades. Para guardar los cambios, haga clic en Guardar en la barra de herramientas de acceso rápido. Por último, cierre la ventana Indices.
142
ACCESS 2010. CURSO PRACTICO
©RA-MA
3.5.3 Tipos de datos y formatos En la vista Diseño podemos ver y modificar la estructura fundamental de la tabla. Los nombres de los campos aparecen listados bajo la columna de la izquierda, y el tipo de datos, la descripción y las propiedades de campo aparecen también a lo largo de la tabla. Concretamente en la columna Tipo de datos se puede hacer clic en la flecha situada a la derecha del tipo de datos de cualquier campo y elegir un nuevo tipo de datos en el menú desplegable (figura 3-67).
Figura 3-67 Adicionalmente, en la parte inferior de la figura 3-67, en la zona de Propiedades de campo, se puede elegir el formato preciso para el campo seleccionado en la parte superior de la figura. En la figura 3-67 se observa que el campo FSUELDO de la tabla CLAUSTRO es de tipo Numérico y concretamente Decimal con 7 dígitos en total {Precisión) y 2 decimales {Escala), Del mismo modo, la vista Diseño permite definir de forma muy concreta el tipo de datos y el formato de cada campo de todas las tablas de la base de datos. Los tipos de datos que se pueden asignar a un campo en Access se presentan en la tabla siguiente:
©RA-MA
Tipo de datos Texto
Memo Numérico
Fecha/Hora Moneda Autonumérico
Sí/No Objeto OLE
Hipervínculo
Asistente para búsquedas
CAPÍTULO 3. CREACION DE BASES DE DATOS...
143
Utilización
Tamaño
Texto 0 combinaciones de texto y números como, por ejemplo, direcciones. Así mismo, números que no requieren cálculos como, por ejemplo, números de teléfono, números de pieza o códigos postales. Texto y números de gran longitud (más de 255 caracteres) como, por ejemplo, notas 0 descripciones. Datos numéricos que se han de utilizar para cálculos matemáticos, exceptuando los cálculos relacionados con dinero (utilice en este caso el tipo Moneda). Fechas y horas. Valores de moneda. Precisión de 15 dígitos a la izquierda del separador de decimales y de 4 dígitos a la derecha del mismo. Números secuenciales exclusivos (con incremento de una unidad) o números aleatorios que se insertan automáticamente cuando se agrega un registro. Campos que van a contener sólo uno de dos valores posibles, como Sí/No, Verdadero/Falso, Activado/Desactivado. Objetos creados en otros programas mediante el protocolo OLE, que se pueden vincular a, o incrustar en, una tabla de Microsoft Access. Campo que va a almacenar hipervínculos. Un hipervínculo puede ser una ruta UNC o una dirección URL. Crea un campo que permite elegir un valor de otra tabla o de una lista de valores mediante el empleo de un cuadro combinado. La elección de esta opción en la lista de tipos de datos inicia un asistente que realiza la definición automáticamente.
Hasta 255 caracteres. Access sólo almacena los caracteres insertados en un campo y no almacena espacios de caracteres correspondientes a posiciones no usadas en un campo Texto. Hasta 1 gigabyte de caracteres o 2 gigabytes de almacenamiento (se usan hasta 65.535 caracteres en un control). 1, 2, 4 u 8 bytes. 16 bytes para Id. de réplica (GUID) exclusivamente. 8 bytes. 8 bytes.
4 bytes. 16 bytes para Id. de réplica (GUID) exclusivamente. 1 bit.
Hasta 1 gigabyte (limitado por el espacio en disco). Hasta 1 gigabyte de caracteres o 2 gigabytes de almacenamiento (se usan hasta 65.535 caracteres en un control). El mismo tamaño que el campo de clave principal que también es el campo de búsqueda; normalmente 4 bytes.
3.5.4 Propiedades de campos Las propiedades de los campos se utilizan para controlar la apariencia de la información, impedir que se especifiquen entradas incorrectas, especificar valores predeterminados, agilizar las operaciones de búsqueda y ordenación y controlar otras características de la apariencia y del funcionamiento definiendo propiedades de campo. Por ejemplo, puede aplicar formato a los números para facilitar su lectura o puede definir una regla de validación que deba satisfacerse para la información especificada en un campo.
144
ACCESS 2010. CURSO PRACTICO
©RA-MA
Las propiedades de campo se sitúan en la parte inferior de la pantalla de la vista Diseño en la sección Propiedades de campo (figura 3-68). En esta sección se presentan las propiedades de campo relativas al campo seleccionado en la parte superior de la pantalla.
Figura 3-68 Para definir una propiedad de campo para una tabla en la vista Diseño abra la tabla en la vista Diseño y en la parte superior de la cuadrícula de diseño de la tabla, haga clic en el campo para el que desea definir propiedades (o desplácese a ese campo mediante las teclas de dirección). Access muestra las propiedades de este campo en la parte inferior de la cuadrícula de diseño de la tabla (figura 3-68). El tipo de datos del campo determina las propiedades que se pueden definir. En la parte inferior de la ventana, bajo Propiedades del campo, haga clic en el cuadro de la propiedad del campo que desea definir y especifique un valor para la propiedad o, si aparece una fecha en el margen derecho del cuadro de propiedad, haga clic en la flecha para seleccionar un valor de una lista de valores de la propiedad (figura 3-69). Si va a especificar una máscara de entrada o una expresión de validación y desea obtener ayuda, haga clic en situado junto al cuadro de propiedad para mostrar el generador correspondiente (figura 3-70). Guarde los cambios haciendo clic en Guardar en la Barra de herramientas de acceso rápido o haciendo clic con el botón secundario del ratón en la ficha de documento de la tabla y, a continuación, haciendo clic en Guardar en el menú contextual. También se puede hacer clic en el Botón Microsoft: Office y, a continuación, en Guardar.
@ RA-MA ______________________________________ CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 145
Figura 3-69
Figura 3-70 La tabla siguiente resume las propiedades de campos más importantes. Utilice esta propiedad De campo TamañoDelCampo
Formato LugaresDecimales NuevosValores
Para Definir el tamaño máximo de los datos almacenados con el tipo de datos Texto, Número o Autonumérico. Personalizar el modo en que aparece el campo cuando se muestra o imprime. Especificar el número de posiciones decimales utilizadas al mostrar números. Indicar si el valor de un campo Autonumérico aumenta o recibe un valor aleatorio.
146
ACCESS 2010. CURSO PRACTICO
MáscaraDeEntrada Título ValorPredeterminado ReglaDeValidación TextoDeValidación Requerido PermitirLongitudCero Indizado CompresiónUnicode ModoIME ModoDeOracionesIME Etiquetasinteligentes Sólo Anexar FormatoDeTexto AlineaciónDelTexto Precisión Escala
©RA-MA
Mostrar caracteres de edición como guía para la entrada de datos. Definir el texto que se muestra de forma predeterminada en las etiquetas de los formularios, informes y consultas. Asignar automáticamente un valor predeterminado a un campo cuando se agregan nuevos registros. Proporcionar una expresión que debe ser verdadera cuando se agrega o cambia el valor del campo. Especificar el texto que aparece cuando un valor infringe la expresión ReglaDeValidación. Exigir que se especifiquen datos en un campo. J Permitir que se especifique (estableciendo la propiedad en Sí) una cadena de longitud cero ("") en un campo Texto o Memo. Agilizar el acceso a los datos de un campo mediante la creación y utilización de un índice. Comprimir el texto almacenado en este campo cuando se especifica una gran cantidad de texto (> 4.096 caracteres). Controlar la conversión de caracteres en la versión asiática de Windows. Controlar la conversión de caracteres en la versión asiática de Windows. Anexar una tarjeta inteligente al campo. Permitir el control de versiones (estableciendo la propiedad en Sí) de un campo Memo. Seleccionar Texto enriquecido para almacenar texto como HTML y permitir el formato de texto enriquecido. Seleccionar Texto sin formato para almacenar sólo texto. Especificar la alineación predeterminada del texto dentro de un control. Especificar el número total de dígitos permitidos, incluidos los que aparecen a la derecha y a la izquierda de la coma decimal. Especificar el número máximo de dígitos que pueden almacenarse a la derecha y a la izquierda de la coma decimal.
3.6 RELACIONES Las relaciones entre las tablas de una base de datos tienen como finalidad eliminar la duplicidad de datos (redundancia) y optimizar el diseño para conseguir que la respuesta a las consultas sea lo más rápida posible, así como optimizar las actualizaciones y el trabajo con formularios, informes que podrán utilizar información de varias tablas a la vez. Pero quizá la finalidad más importante de las relaciones es el mantenimiento de la integridad referencial en la base de datos. La integridad referencial es un sistema de reglas que utiliza Microsoft Access para garantizar que las relaciones entre los registros de tablas relacionadas sean válidas y que no se eliminen ni modifiquen accidentalmente datos relacionados. En el capítulo anterior ya habíamos visto que existen relaciones uno a uno, uno a varios y varios a varios. En una relación uno a uno, cada registro de la primera tabla sólo puede tener un registro coincidente en la segunda tabla y viceversa.
©RA-MA
CAPÍTULO 3. CREACIÓN DE BASES DE DATOS...
147
Este tipo de relación no es común porque, muy a menudo, la información relacionada de este modo se almacena en la misma tabla. 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 primera tabla puede tener muchos registros coincidentes en la segunda tabla, pero un registro de la segunda tabla sólo tiene un registro coincidente en la primera. En una relación varios a varios, un registro de la primera tabla puede tener muchos registros coincidentes en la segunda, 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 consta de, al menos, dos campos: las claves externas de las dos tablas. El tipo de relación que crea Microsoft Access depende de cómo están definidos los campos relacionados. Se crea una relación uno a varios (1→∞) si uno de los campos relacionados es una clave principal o tiene un índice único. Se crea una relación uno a uno si ambos campos relacionados son claves principales o tienen índices únicos. Una relación varios a varios es, en realidad, dos relaciones uno a varios con una tercera tabla cuya clave principal consta de dos campos: las claves externas de las otras dos tablas.
3.6.1 Definir relaciones entre tablas Una vez creadas tablas diferentes para cada tema de la base de datos de Microsoft Access, necesita una forma de indicarle al programa cómo debe volver a combinar esa información. El primer paso de este proceso es definir relaciones entre las tablas. Para ello se tendrá en cuenta lo siguiente: 1. Cierre todas las tablas que estén abiertas. No es posible crear ni modificar relaciones entre tablas abiertas. 2.
En la ficha Herramientas de base de datos, en el grupo Relaciones, haga clic en Relaciones (figura 3-71). Se obtiene la pantalla Relaciones y la barra Herramientas de relaciones aparece en la parte superior de la pantalla con la ficha Diseño abierta.
3.
Si la base de datos no tiene ninguna relación definida, se mostrará automáticamente el cuadro de diálogo Mostrar tabla (figura 3-72). Si necesita agregar las tablas que desea relacionar y no aparece el cuadro de diálogo Mostrar tabla, haga clic en Mostrar tabla en el grupo Relaciones de la ficha Diseño.
4.
Haga doble clic en los nombres de las tablas que desea relacionar y, a continuación, cierre el cuadro de diálogo Mostrar tabla (figura 3-73).
148
ACCESS 2010. CURSO PRÁCTICO
©RA-MA
5.
Arrastre las tablas hasta conseguir una estructura de diseño de la base de datos (figura 3-74). Para clic sobre su cabecera con el ratón y, sin soltarlo, posición en que se quiere situar la tabla. Una diseño de la base de datos se presenta en la figura 3-75.
similar a la del diagrama arrastrar una tabla se hace se mueve el ratón hasta la buena estructura acorde al
6.
Para crear las relaciones entre campos arrastre el campo que desea relacionar de una tabla al campo relacionado de la otra tabla. Para arrastrar varios campos, presione la tecla CTRL y haga clic en cada campo antes de arrastrarlo. En la mayoría de los casos, se arrastra el campo de clave principal (mostrado en texto en negrita) de una tabla a un campo similar (normalmente con el mismo nombre), denominado la clave externa de la otra tabla. Los campos relacionados no tienen que tener los mismos nombres, pero deben tener el mismo tipo de datos (con dos excepciones) y deben contener el mismo tipo de información. Además, cuando los campos coincidentes son campos Numéricos, deben tener el mismo valor de la propiedad Tamaño del campo. Las dos excepciones a los tipos de datos coincidentes son que se puede hacer coincidir un campo Autonumérico con un campo Numérico cuya propiedad Tamaño del campo esté establecida a Entero largor y que se puede hacer coincidir un campo Autonumérico con un campo Numérico si ambos campos tienen la propiedad Tamaño del campo establecida a Id. de réplica.
7.
Aparecerá el cuadro de diálogo Modificar relaciones (figura 3-76). Compruebe los nombres de los campos mostrados en las dos columnas para asegurarse de que son correctos. Puede cambiarlos si es necesario. Si es preciso, establezca las opciones de relación. Para obtener información acerca de un elemento específico del cuadro de diálogo Relaciones, haga clic en el botón de signo de interrogación ^ y, a continuación, haga clic en el elemento. El botón Tipo de combinación controla el tipo de combinación que desea utilizar de forma predeterminada cuando cree consultas basadas en las tablas relacionadas (figura 3-77). El botón Crear nueva... permite definir una nueva relación entre dos tablas. La casilla Exigir integridad referencial permite aplicar integridad referencial para esta relación, aunque sólo si el campo o campos coincidentes de la tabla principal es una clave principal o tiene un índice único, los campos relacionados tienen el mismo tipo de datos y ambas tablas están almacenadas en la misma base de datos de Access (la integridad referencial es un sistema de reglas que utiliza Microsoft Access para asegurar que las relaciones entre los registros de las tablas relacionadas son válidos y que no se eliminan o cambian los datos relacionados de forma accidental).
©RA-MA
CAPÍTULO 3. CREACIÓN DE BASES DE DATOS...
149
8.
Desactive esta casilla de verificación para permitir cambios en las tablas relacionadas que rompan las reglas de integridad referencial. Active la casilla Exigir integridad referencial y, a continuación, Actualizar en cascada los campos relacionados para actualizar automáticamente los valores correspondientes de la tabla relacionada cuando se cambie un valor de la clave principal en la tabla principal. Active la casilla Exigir integridad referencial y desactive Actualizar en cascada los campos relacionados para impedir que se realicen cambios en un valor de la clave principal en la tabla principal, siempre que haya registros relacionados en la tabla relacionada. Active la casilla Exigir integridad referencial, y a continuación, Eliminar en cascada los registros relacionados para eliminar automáticamente los registros relacionados en la tabla relacionada siempre que se elimine un registro de la tabla principal. Active la casilla Exigir integridad referencial y desactive Eliminar en cascada los registros relacionados para impedir que se eliminen registros de la tabla principal cuando existen registros relacionados en la tabla relacionada.
9.
Haga clic en el botón Crear para crear la relación (figura 3-78) y repita los pasos 5 a 9 para cada pareja de tablas que desee relacionar (figura 3-79). Al cerrar la ventana Relaciones, Microsoft Access pregunta si desea guardar el diseño. Tanto si lo guarda o no, las relaciones creadas se guardan en la base de datos. En el ejemplo hemos activado siempre Exigir integridad referencial.
Figura 3-71
Figura 3-72
150 ACCESS 2010. CURSO PRÁCTICO
©RA-MA
Figura 3-73
Figura 3-74
©RA-MA
CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 151
Figura 3-75
Figura 3-76
Figura 3-77
152
ACCESS 2010. CURSO PRÁCTICO
©RA-MA
Figura 3-78
Figura 3-79
©RA-MA
CAPÍTULO 3. CREACIÓN DE BASES DE DATOS...
153
Notas: *
Si necesita ver todas las relaciones definidas en la base de datos, haga clic en Mostrar todas las relaciones en el grupo Relaciones de la ficha Diseño de la barra Herramientas de relaciones. Para ver sólo las relaciones definidas para una tabla determinada, haga clic en la tabla y, a continuación, en Mostrar relaciones directas.
*
Si necesita realizar un cambio en el diseño de una tabla, podrá hacer clic con el botón secundario del ratón en la tabla que desea modificar y, a continuación, hacer clic en Diseño de la tabla.
*
Puede crear relaciones utilizando tanto consultas como tablas. Sin embargo, la integridad referencial no se exige en las consultas.
*
Para crear una relación entre una tabla y sí misma, agregue esta tabla dos veces. Esto resulta útil en situaciones en las que necesita realizar una búsqueda dentro de la misma tabla. Por ejemplo, en la tabla Empleados de la base de datos de ejemplo Neptuno, se ha definido una relación entre los campos Id. de empleado y Jefe, de modo que el campo Jefe pueda mostrar datos de los empleados procedentes de un Id. de empleado coincidente.
3.6.2 Eliminar y modificar relaciones Para eliminar una relación se tendrá en cuenta lo siguiente: 1.
Cierre todas las tablas abiertas. No es posible eliminar relaciones entre tablas abiertas.
2.
En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en Relaciones. Se obtiene la pantalla Relaciones y la barra Herramientas de relaciones aparece en la parte superior de la pantalla con la ficha Diseño abierta.
3.
Si las tablas cuya relación desea eliminar no están mostradas en pantalla, haga clic en Mostrar tabla en la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar y haga doble clic en cada tabla que desee agregar para modificar o eliminar relaciones. A continuación, elija Cerrar.
4.
Haga clic en la línea de relación correspondiente a la relación que desea eliminar (la línea se mostrará en negrita al seleccionarla) y, a continuación, presione la tecla SUPRIMIR. También se puede hacer clic con el botón derecho del ratón sobre la línea de la relación y elegir Eliminar en el menú emergente resultante (figura 3-80). La opción Borrar diseño del grupo Herramientas de la ficha Diseño oculta todas las relaciones y tablas del diseño.
154
ACCESS 2010. CURSO PRÁCTICO
©RA-MA
5.
Para modificar una relación elija Modificar en el menú emergente de la figura 3-80 o haga doble clic sobre la línea de la relación. También se puede hacer clic en la línea de relación y elegir Modificar relación en el grupo Herramientas de la ficha Diseño.
6.
Establezca las opciones de la relación en el cuadro de diálogo Relaciones resultante (figura 3-81). Para obtener información acerca de un elemento específico del cuadro de diálogo Relaciones, haga clic en el botón de signo de interrogación y, a continuación, haga clic en el elemento.
Figura 3-80
Figura 3-81
3.6.3 Ver las relaciones de una base de datos Para poder observar las relaciones de una base de datos desde la vista Diseño haga clic en Relaciones en el grupo Relaciones de la ficha Diseño en Herramientas de tabla (figura 3-82). Se abrirá la ventana Relaciones y se mostrarán las relaciones existentes (figura 3-83). Para poder observar las relaciones de una base de datos desde la vista Hoja de datos, en la ficha Herramientas de base de datos, en el grupo Relaciones, haga clic en Relaciones (figura 3-71)
Figura 3-82 Cuando estamos situados en la ventana Relaciones, haga clic en Mostar todas las relaciones en la ficha Diseño, en el grupo Relaciones (figura 3-84) para mostrar todas las relaciones definidas en la base de datos (salvo las ocultas). La opción Modificar relaciones del grupo Herramientas permite las modificaciones.
©RA-MA
CAPITULO 3. CREACION DE BASES DE DATOS...
Figura 3-83
Figura 3-84
155
156
ACCESS 2010. CURSO PRACTICO
©RA-MA
La opción Informe de relación del grupo Herramientas de la ficha Diseño (figura 3-84) crea un informe a modo de vista preliminar que muestra las relaciones y tablas de la base de datos (figura 3-85).
Figura 3-85 El informe sólo muestra todas las relaciones y tablas que no están ocultas en la ventana Relaciones. Desde la cinta de opciones de esta vista preliminar se puede imprimir (grupo Imprimir), diseñar adecuadamente la página variando tamaño, márgenes, vista horizontal o vertical, etc. (grupo Diseño de página) y hacer zoom para mejorar la visualización (grupo Zoom). La opción Cerrar vista preliminar cierra el informe de relaciones. El botón Ocultar tabla del grupo Relaciones de la vista Diseño oculta la tabla seleccionada y las relaciones que le afecten. El botón Mostrar tablas permite mostrar todas las tablas ocultas y las relaciones entre ellas.
3.6.4 Integridad referencial Ya sabemos que la integridad referencial es un sistema de reglas que utiliza Microsoft Access para garantizar que las relaciones entre los registros de tablas relacionadas sean válidas y que no se eliminen ni modifiquen accidentalmente datos relacionados. Puede establecer la integridad referencial cuando se cumplen todas las condiciones siguientes:
©RA-MA ______________________________________
CAPÍTULO 3. CREACIÓN DE BASES DE DATOS...
157
•
El campo coincidente de la tabla principal es clave principal o tiene índice único.
•
Los campos relacionados tienen el mismo tipo de datos. Existen dos excepciones: un campo Autonumérico puede estar relacionado con un campo Numérico con la propiedad Tamaño del campo establecida a Entero largo, y un campo Autonumérico con la propiedad Tamaño del campo establecida a Id. de réplica puede estar relacionado con un campo Numérico con la propiedad Tamaño del campo establecida a Id. de réplica.
•
Ambas tablas pertenecen a la misma base de datos de Microsoft Access. Si las tablas son vinculadas, deberán ser tablas en el formato de Microsoft Access y deberá abrir la base de datos en la que están almacenadas para poder establecer la integridad referencial. La integridad referencial no puede exigirse para tablas vinculadas procedentes de bases de datos en otros formatos.
Cuando siguientes:
se
exige
la
integridad
referencial,
deben
observarse
las
reglas
•
No puede introducir un valor en el campo de clave externa de la tabla relacionada que no exista en la clave principal de la tabla principal. No obstante, puede introducir un valor Nulo en la clave externa, especificando que los registros no están relacionados. Por ejemplo, no puede tener un pedido asignado a un cliente que no existe, pero puede tener un pedido asignado a nadie mediante la introducción de un valor Nulo en el campo Id. de cliente.
•
No puede eliminar un registro de una tabla principal si existen registros coincidentes en una tabla relacionada. Por ejemplo, no puede eliminar un registro de empleados de la tabla Empleados si existen pedidos asignados al empleado en la tabla Pedidos.
•
No puede cambiar un valor de clave principal en la tabla principal si ese registro tiene registros relacionados. Por ejemplo, no puede cambiar el Id. de un empleado en la tabla Empleados si existen pedidos asignados a ese empleado en la tabla Pedidos.
Si desea que Microsoft Access exija esas reglas para una relación, seleccione la casilla de verificación Exigir integridad referencial (figura 3-76) 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. Puede anular las restricciones sobre la eliminación o la modificación de registros relacionados y aun así conservar la integridad referencial mediante la activación de las casillas de verificación Actualizar en cascada los campos relacionados y Eliminar en cascada los registros relacionados (figura 3-76).
158
ACCESS 2010. CURSO PRÁCTICO
Cuando la casilla de verificación Actualizar en cascada los relacionados está activada, el cambio de un valor de clave principal en principal actualiza automáticamente el valor coincidente en todos los relacionados. Cuando la casilla de verificación Eliminar en cascada los relacionados está activada, la eliminación de un registro en la tabla elimina todos los registros relacionados en la tabla relacionada.
©RA-MA
campos la tabla registros registros principal
Para las relaciones en las que se exige la integridad referencial, puede especificar si desea que Microsoft Access actualice en cascada y elimine en cascada automáticamente los registros relacionados. Si establece estas opciones, las operaciones de eliminación y actualización que normalmente impedirían la integridad referencial se permitirán ahora. Al eliminar registros o al cambiar los valores de clave principal de una tabla principal, Microsoft Access realizará los cambios necesarios en las tablas relacionadas con el fin de conservar la integridad referencial. Si activa la casilla de verificación Actualizar en cascada los campos relacionados al definir una relación, siempre que cambie la clave principal de un registro de la tabla principal, Microsoft Access actualizará automáticamente la clave principal con el nuevo valor en todos los registros relacionados. Por ejemplo, si cambia un Id. de cliente en la tabla Clientes, el campo Id. de cliente de la tabla Pedidos se actualizará automáticamente en cada uno de los pedidos de ese cliente, de modo que la relación no se rompa. Microsoft Access actualiza en cascada sin mostrar ningún mensaje. Si la clave principal de la tabla principal es un campo Autonumérico, la activación de la casilla de verificación Actualizar en cascada los campos relacionados no tendrá ningún efecto, porque no puede cambiar el valor de un campo Autonumérico. Si selecciona la casilla de verificación Eliminar en cascada los registros relacionados al definir una relación, siempre que elimine registros de la tabla principal, Microsoft Access eliminará automáticamente los registros relacionados de la tabla relacionada. Por ejemplo, si elimina el registro de un cliente de la tabla Clientes, todos los pedidos del cliente se eliminarán automáticamente de la tabla Pedidos (esto incluye los registros de la tabla Detalles de pedidos relacionados con los registros de Pedidos). Al eliminar registros de un formulario u hoja de datos con la casilla de verificación Eliminar en cascada los registros relacionados activada, Microsoft Access le avisa que es posible que también se eliminen los registros relacionados. No obstante, al eliminar registros mediante una consulta de eliminación, Microsoft Access elimina automáticamente los registros de las tablas relacionadas sin mostrar un aviso.
©RA-MA
CAPÍTULO 3. CREACIÓN DE BASES DE DATOS...
159
También es muy interesante definir el tipo de combinación predeterminado para una relación entre dos tablas. El botón Tipo de combinación de la figura 3-76 nos lleva a la pantalla Propiedades de la combinación de la figura 3-77 cuyas opciones controlan el tipo de combinación que desea utilizar de forma predeterminada cuando cree consultas basadas en las tablas relacionadas. La opción 1 define una combinación interna (valor predeterminado), la opción 2 define una combinación externa por la izquierda y la opción 3 define una combinación externa por la derecha. Una combinación externa izquierda devuelve todas las filas de la tabla situada en el lado izquierdo de la relación y sólo las filas que coinciden con las de la tabla a la derecha. Una combinación externa derecha devuelve todas las filas de la derecha y sólo las filas que coinciden con las de la izquierda. En este caso, “izquierda” y “derecha” hacen referencia a la posición de las tablas en el cuadro de diálogo Modificar relaciones y no en la ventana Relaciones. Una combinación interna devuelve las filas donde los campos combinados de ambas tablas sean iguales.
Ejercicio 3-1. Consideramos una base de datos con cuatro tablas de nombres: EMPLEADO (empleados de la empresa), OFICIOEMPLEADO (empleados con su oficio), VIVIENDA (alojamiento de los empleados) y OFICIO (relación de oficios), cuyas campos y registros ya fueron especificados en el Ejercicio 2-1 del capítulo anterior. En la tabla VIHENDA tenemos como restricción de integridad que el campo Alojamiento es clave única. En la tabla EMPLEADO tenemos que el campo Nombre es clave única, siendo el campo Alojamiento la clave externa de la tabla VIVIENDA. En la tabla OFICIOEMPLEADO la clave única está formada por los campos Nombre y Oficio simultáneamente. Por último, en la tabla OFICIO la clave única está formada por los campos Oficio y Descripción simultáneamente. Crear la base de datos en Access con nombre PERSONAL que aloje estas tablas con el diseño adecuado para esta base de datos relacional estudiado en el capítulo anterior. Para crear una nueva base de datos en blanco, inicie Access y en Botón Archivo seleccione Nuevo. Bajo Plantillas disponibles, haga clic en Base de datos en blanco. A continuación, en la parte inferior del panel Base de datos en blanco, en el cuadro Nombre de archivo, escriba un nombre de archivo (figura 3-86). Por último, haga clic en Crear. Se crea la base de datos y se abre una tabla en la vista Hoja de datos (figura 3-87) lo que permite crear ya las tablas. Es posible agregar inmediatamente campos a la tabla haciendo clic sobre Haga clic para agregar en las figura 3-87 y escribiendo su nombre. Al pulsar ENTER, Haga clic para agregar se desplaza a la siguiente columna a la derecha. Para introducir un nuevo campo en la tabla se vuelve a hacer clic en Haga clic para agregar y se escribe su nombre y así sucesivamente se pueden ir añadiendo más campos hasta completar todos los campos de la tabla (figura 3-88).
160
ACCESS 2010. CURSO PRÁCTICO
©RA-MA
Figura 3-86
Figura 3-87 La siguiente tarea será introducir los datos en los campos como si se tratase de una hoja de cálculo. De momento los tipos de datos y sus propiedades los asigna Access por defecto de acuerdo a la información que vamos almacenando en la tabla. Finalizada la tabla, se guarda a través de la opción Guardar del menú emergente que se obtiene al hacer clic con el botón derecho del ratón sobre la ficha de la tabla y se le asigna el nombre VIVIENDA. La figura 3-89 muestra la tabla con datos.
©RA-MA
CAPÍTULO 3. CREACIÓN DE BASES DE DATOS...
161
Figura 3-88
Figura 3-89 En cuanto a tipos de datos, formatos y propiedades de los campos, Access ha elegido por defecto los más adecuados al introducir los datos. Pero podemos cambiarlos a medida utilizando la vista Diseño. Para ello se hace chc en Vista Diseño en la opción Ver del grupo Vistas y se obtiene la tabla en vista Diseño apta para cambiar las propiedades a medida a todos sus campos. La primera tarea es seleccionar el campo Alojamiento y hacer clic en Clave principal en el grupo de herramientas de la ficha Diseño para situar sobre este campo la clave primaria (figuras 3-90). El resto de propiedades permanecen como aparecen en la figura. En las figuras 3-91 a 3-93 se presentan el tipo, formato y propiedades del resto de los campos de la tabla VIVIENDA.
Figura 3-90
162
ACCESS 2010. CURSO PRÁCTICO
©RA-MA
Figura 3-91
Figura 3-92
©RA-MA
CAPITULO 3. CREACION DE BASES DE DATOS...
163
Figura 3-93 En la figura 3-94 se presenta la tabla EMPLEADO con sus campos y registros en la vista Hoja de datos. La figura 3-95 muestra la clave primaria en vista Diseño y las figuras 3-96 y 3-97 muestran el tipo, formato y propiedades del resto de los campos.
Figura 3-94
164
ACCESS 2010. CURSO PRÁCTICO
©RA-MA
Figura 3-95
Figura 3-96
©RA-MA
CAPITULO 3. CREACION DE BASES DE DATOS...
165
Figura 3-97 En la figura 3-98 se presenta la tabla OFICIO con sus campos y registros en la vista Hoja de datos. La figura 3-99 muestra la clave primaria en vista Diseño (campos Oficio y Descripción) y la figura 3-100 muestra las propiedades del campo restante.
Figura 3-98
166
ACCESS 2010. CURSO PRACTICO
©RA-MA
Figura 3-99
Figura 3-100 En la figura 3-101 se presenta la tabla OFICIOEMPLEADO con sus campos y registros en la vista Floja de datos. Las figuras 3-102 a 3-104 muestran las propiedades de los campos. Los campos Nombre y Oficio forman la clave principal conjuntamente.
©RA-MA ______________________________________
CAPÍTULO 3. CREACIÓN DE BASES DE DATOS...
Figura 3-101
Figura 3-102
167
168
ACCESS 2010. CURSO PRÁCTICO
@RA-MA
Figura 3-103
Figura 3-104
©RA-MA
CAPÍTULO 3. CREACIÓN DE BASES DE DATOS...
169
La siguiente tarea es construir las relaciones entre las tablas de la base de datos. Para ello cierre todas las tablas que estén abiertas. No es posible crear ni modificar relaciones entre tablas abiertas. Desde la vista Hoja de datos, en la ficha Herramientas de base de datos, en el grupo Relaciones, haga clic en Relaciones. Se obtiene la pantalla Relaciones y la barra Herramientas de relaciones aparece en la parte superior de la pantalla con la ficha Diseño abierta. Si la base de datos no tiene ninguna relación definida, se mostrará automáticamente el cuadro de diálogo Mostrar tabla. Si necesita agregar las tablas que desea relacionar y no aparece el cuadro de diálogo Mostrar tabla, haga clic en Mostrar tabla en el grupo Relaciones de la ficha Diseño. Haga doble clic en los nombres de las tablas que desea relacionar y, a continuación, cierre el cuadro de diálogo Mostrar tabla de la figura 3-105.
Figura 3-105 Arrastre las tablas hasta conseguir una estructura similar a la del diagrama diseño de la base de datos (figura 3-106). Para arrastrar una tabla se hace clic sobre cabecera con el ratón y, sin soltarlo, se mueve el ratón hasta la posición en que quiere situar la tabla. Una buena estructura acorde al diseño de la base de datos presenta en la figura 3-107.
de su se se
170
ACCESS 2010. CURSO PRÁCTICO
©RA-MA
Figura 3-106
Ejercicio 3-2. Consideramos una base de datos con tablas de nombres DEPT (departamentos de una empresa), EMP (empleados de la empresa) y SALGRADE (nivel salarial de los empleados) cuyos campos y registros ya fueron especificados en el Ejercicio 2-2 del capítulo anterior. En la tabla DEPT tenemos como restricción de integridad que el campo Deptno es clave primaria. En la tabla EMP tenemos que el campo Empno es clave primaria. Además, la tabla EMP tiene como clave foránea el campo Deptno referenciado con el mismo nombre en la tabla DEPT. Crear la base de datos en Access con nombre EMPLEADOS que aloje estas tablas con el diseño adecuado para esta base de datos relacional estudiado en el capítulo anterior.
©RA-MA _______________________________________ CAPÍTULO 3. CREACIÓN DE BASES DE DATOS...
171
Para crear una nueva base de datos en blanco, inicie Access y en Botón Archivo seleccione Nuevo. Bajo Plantillas disponibles, haga clic en Base de datos en blanco. A continuación, en la parte inferior del panel Base de datos en blanco, en el cuadro Nombre de archivo, escriba un nombre de archivo (figura 3-108). Por último, haga clic en Crear. Se crea la base de datos y se abre una tabla en la vista Hoja de datos (figura 3-109) lo que permite crear ya las tablas.
Figura 3-108
Figura 3-109 Es posible agregar inmediatamente campos a la tabla haciendo clic sobre Haga clic para agregar en las figura 3-109 y escribiendo su nombre. Inmediatamente Haga clic para agregar se desplaza a la siguiente columna a la derecha. Para introducir un nuevo campo en la tabla se vuelve a hacer clic en Agregar nuevo campo y se escribe su nombre y así sucesivamente se pueden ir añadiendo más campos hasta completar todos los campos de la tabla.
172
ACCESS 2010. CURSO PRÁCTICO
©RA-MA
La siguiente tarea será introducir los datos en los campos como si se tratase de una hoja de cálculo. De momento los tipos de datos y sus propiedades los asigna Access por defecto de acuerdo a la información que vamos almacenando en la tabla. Finalizada la tabla, se guarda a través de la opción Guardar del menú emergente que se obtiene al hacer clic con el botón derecho del ratón sobre la ficha de la tabla y se le asigna el nombre DEPT. La figura 3-110 muestra la tabla con datos.
Figura 3-110 A continuación, para crear nuevas tablas en la base de datos, se hace clic en la opción Tabla del grupo Tablas de la ficha Crear (figura 3-111) y se crea una nueva tabla vacía. Siguiendo los pasos anteriores se crea la tabla EMP y se introducen sus datos (figura 3-112). Del mismo modo se crea la tabla SALGRADE y se introducen sus datos (figuras 3-113).
Figura 3-111
Figura 3-112
©RA-MA
CAPÍTULO 3. CREACIÓN DE BASES DE DATOS...
173
Figura 3-113
En cuanto a tipos de datos, formatos y propiedades de los campos, Access ha elegido por defecto los más adecuados al introducir los datos. Pero podemos cambiarlos a medida utilizando la vista Diseño, cuestión en la que se profundizará en el capítulo siguiente. La siguiente tarea es construir las relaciones entre las tablas de la base de datos. Para ello cierre todas las tablas que estén abiertas. No es posible crear ni modificar relaciones entre tablas abiertas. Desde la vista Hoja de datos, en la ficha Herramientas de base de datos, en el grupo Relaciones, haga clic en Relaciones. Se obtiene la pantalla Relaciones y la barra Herramientas de relaciones aparece en la parte superior de la pantalla con la ficha Diseño abierta. Si la base de datos no tiene ninguna relación definida, se mostrará automáticamente el cuadro de diálogo Mostrar tabla. Si necesita agregar las tablas que desea relacionar y no aparece el cuadro de diálogo Mostrar tabla, haga clic en Mostrar tabla en el grupo Relaciones de la ficha Diseño.
Figura 3-114
174
ACCESS 2010. CURSO PRÁCTICO
©RA-MA
Haga doble clic en los nombres de las tablas que desea relacionar y, a continuación, cierre el cuadro de diálogo Mostrar tabla. Arrastre las tablas hasta conseguir una estructura similar a la del diagrama de diseño de la base de datos (figura 3-114). Para arrastrar una tabla se hace clic sobre su cabecera con el ratón y, sin soltarlo, se mueve el ratón hasta la posición en que se quiere situar la tabla. Una buena estructura acorde al diseño de la base de datos se presenta en la figura 3-115.
Figura 3-115
Capítulo 4
PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS. PERSONALIZACIÓN 4.1 PROPIEDADES DE LOS CAMPOS Ya sabemos que cuando se muestra una tabla en vista Diseño, obtenemos la pantalla de la figura 4-1 en la que podemos definir todos los campos de la tabla, sus tipos y sus propiedades.
Figura 4-1 En la ficha General de la parte inferior derecha de la pantalla de la vista Diseño se puede definir las siguientes propiedades de campo: Tamaño del campo, que
176
ACCESS 2010. CURSO PRACTICO
©RA-MA
se usa para definir el máximo número de caracteres en el campo; Formato, que se utiliza para definir la apariencia del campo; Máscara de entrada, que permite utilizar un modelo de presentación para todos los datos de ese campo; Título, que se utiliza para definir la etiqueta para el campo cuando se usa en un formulario; Valor predeterminado, que es un valor automáticamente introducido en el campo para nuevos registros; Regla de validación, que es una expresión que limita los valores que pueden introducirse en el campo; Texto de validación, que es un mensaje de error que aparece al introducir en el campo un valor prohibido por la regla de validación; Requerido, que se utiliza para hacer obligatoria o no la entrada de valores en ese campo; Permitir longitud cero, que se utiliza para permitir o no cadenas de longitud cero en ese campo; Indexado, que se utiliza para indexar el campo; Compresión Unicode, que permite la compresión en este campo; Modo IME, que especifica o determina el IME Mode, de los campos de una tabla o los controles de un formulario que cambia cuando se mueve el enfoque; Modo de oraciones IME, que especifica o determina el IME Sentence Mode de los campos de una tabla o los controles de un formulario que cambia cuando se mueve el enfoque; etc.; Etiquetas inteligentes, que agrega una etiqueta inteligente al campo de la tabla (esta propiedad de campo no existe en Access 2002 y todas las demás son las mismas en Access 2010, 2003 y 2002) y Alineación de texto, que define el tipo de alineación de texto en los campos. En los párrafos siguientes se profundiza en las propiedades de campo.
4.1.1 Tamaño de los campos (propiedad FieldSize) Puede usar la propiedad Tamaño del campo en la figura 7-1 para establecer el tamaño máximo de los datos almacenados en un campo de tipo Texto, Numérico o Autonumérico. En cuanto a los posibles valores del tamaño se tendrá en cuenta lo siguiente: Si la propiedad Tipo de datos tiene el valor Texto, escriba un número entre 0 y 255. El valor predeterminado es 50. Si la propiedad Tipo de datos tiene el valor Autonumérico, en Tamaño del campo se puede establecer Entero largo o Id. de réplica. Si la propiedad Tipo de datos tiene establecido Numérico, las opciones de Tamaño del campo y sus valores se relacionarán de la siguiente forma: Valor
Descripción
Precisión decimal
Tamaño de almacenam.
Byte
Almacena números entre 0 y 255 (no admite fracciones).
Ninguna
1 byte
Decimal
Almacena números entre -10"'38 -1 y 10^38 -1 (.ADP). Almacena números entre-10^28-1 y 10^28-1 (.MDB).
28
12 bytes
Entero
Almacena números entre -32.768 y 32.767 (no fracciones).
Ninguna
2 bytes
Entero largo
(Predeterminado) Almacena números entre -2.147.483.648 y 2.147.483.647 (no admite fracciones).
Ninguna
4 bytes
7
4 bytes
Simple
Almacena números entre -3,402823E38 y -1,401298E-45 para valores negativos, y entre 1,401298E-45 y 3,402823E38 para valores positivos.
©RA-MA
Doble
Id. de réplica
CAPÍTULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS...
Almacena números entre -1,79769313486231E308 y -4,94065645841247E-324 para valores negativos, y entre 1,79769313486231E308 y 4,94065645841247E324 para valores positivos. Identificador global único (GUID).
15
8 bytes
N/D
16 bytes
177
4.1.2 Formato de los campos (propiedad Format) Puede utilizar la propiedad Formato (Format) para personalizar la forma en que los números, las fechas, las horas y el texto se muestran e imprimen. Por ejemplo, si ha creado un cuadro de texto de nombre Precio, podrá establecer su propiedad Formato a Moneda y su propiedad LugaresDecimales (DecimalPlaces) a 2 o a Auto. Si escribe 4321,678 en el control, el número se mostrará como $4.321,68. Puede utilizar uno de los formatos predefinidos o bien puede crear un formato personalizado mediante los símbolos de formato. La propiedad Formato diferentes. Tenemos lo siguiente: •
utiliza
valores
diferentes
para
tipos
de
datos
Valores de Formato para Tipo de datos Fecha/Hora
La tabla siguiente muestra los Formato para el tipo de datos Fecha/Hora.
Valor
Fecha general
valores
predefinidos
de
la
propiedad
Descripción |
(Predeterminado) Si el valor es sólo una fecha, no se mostrará ninguna hora; si el valor es sólo una hora, no se mostrará ninguna fecha. Este valor es una combinación de los valores de Fecha corta y Hora larga. Ejemplos: 3/4/93, 05:34:00 PM y 3/4/93 05:34:00 PM. Fecha larga Igual que el valor de Fecha larga del cuadro de diálogo Propiedades de Configuración regional del Panel de control de Windows. Ejemplo: Sábado, 3 de Abril de 1993. Fecha mediana Ejemplo: 3-Abr-93. Fecha corta Igual que el valor de Fecha corta del cuadro de diálogo Propiedades de Configuración regional del Panel de control de Windows. Ejemplo: 3/4/93. Atención: el formato Fecha corta asume que las fechas comprendidas entre el 1/1/00 y el 31/12/29 son fechas del siglo XXI (es decir, que los años están entre el 2000 y el 2029). Las fechas comprendidas entre el 1/1/30 y el 31/12/99 se asume que son fechas del siglo XX (es decir, que los años están entre 1930 y 1999). Hora larga Igual que el valor de la ficha Hora del cuadro de diálogo Propiedades de Configuración regional del Panel de control de Windows. Ejemplo: 5:34:23 PM. Hora mediana Ejemplo: 5:34 PM. Hora corta Ejemplo: 17:34.
178
ACCESS 2010. CURSO PRACTICO
Puede crear símbolos siguientes: Símbolo
: (dos puntos) / c d dd ddd dddd ddddd dddddd s ss m mm mmm mmmm t a aa aaaa h hh n nn s ss ttttt AM/PM am/pm A/P a/p AMPM
formatos
© RA-MA
de
fecha
y
hora
personalizados
mediante
los
Descripción
Separador de hora. Los separadores se establecen en el cuadro de diálogo Propiedades de Configuración regional del Panel de control de Windows. Separador de fecha. Igual que el formato predefinido Fecha general. Día del mes en uno o dos dígitos numéricos, según sea necesario (1 a 31). Día del mes en dos dígitos numéricos (01 a 31). Tres primeras letras del día de la semana (Lun a Dom) Nombre completo del día de la semana (Lunes a Domingo). Igual que el formato predefinido Hora corta. Igual que el formato predefinido Fecha larga. Día de la semana (1 a 7). Semana del año (I a 53). Mes del año en uno o dos dígitos numéricos, según sea necesario (1 a 12). Mes del año en dos dígitos numéricos (01 a 12). Tres primeras letras del mes (Ene a Dic). Nombre completo del mes (Enero a Diciembre). Fecha mostrada como trimestre del año (1 a 4). Número de día del año (I a 366). Dos últimos dígitos del año (01 a 99). Año completo (0100 a 9999). Hora en uno o dos dígitos, según sea necesario (0 a 23). Hora en dos dígitos (00 a 23). Minuto en uno o dos dígitos, según sea necesario (0 a 59). Minuto en dos dígitos (00 a 59). Segundo en uno o dos dígitos, según sea necesario (0 a 59). Segundo en dos dígitos (00 a 59). Igual que el formato predefinido llora larga. Reloj de 12 horas con las letras mayúsculas “AM” o “PM”, según sea apropiado. Reloj de doce horas con las letras minúsculas “am” o “pm”, según sea apropiado. Reloj de doce horas con la letra mayúscula “A” o “P”, según sea apropiado. Reloj de doce horas con la letra minúscula “a” o “p”, según sea apropiado. Reloj de doce horas con el designador de mañana/tarde apropiado establecido en el cuadro de diálogo Propiedades de Configuración regional del Panel de control de Windows.
• Valores de Formato para Tipos de datos Numérico y Moneda Puede establecer la propiedad Formato a formatos numéricos predefinidos o a formatos numéricos personalizados para los tipos de datos Numérico y Moneda. Los posibles valores dependerán de si se trata de formatos predefinidos o personalizados.
© RA-MA
CAPITULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS...
179
En cuanto a los formatos predefinidos, la tabla siguiente muestra los valores predefinidos de la propiedad Formato para los números. Valor
Número general Moneda Euro Fijo
Estándar Porcentaje
Científico
Descripción
(Predeterminado) Muestra el número tal como se introduce. Use el separador de miles y aplique la configuración especificada en el Panel de control de Windows, Configuración regional, para todo lo relativo a importes negativos, símbolos decimales y de moneda y cifras decimales. Utilice el formato de moneda, con el símbolo del euro, sin tener en cuenta el símbolo de moneda especificado en Configuración regional, en el Panel de control de Windows. Muestre al menos un dígito; aplique la configuración especificada en el Panel de control de Windows, en Configuración regional, para todo lo relativo a importes negativos, símbolos decimales y de moneda y cifras decimales. Utilice el separador de miles; aplique la configuración especificada en el Panel de control de Windows, Configuración regional, para todo lo relativo a importes negativos, símbolos decimales y de moneda y cifras decimales. Multiplique el valor por 100 y agregue el signo de porcentaje (%); aplique la configuración especificada en el Panel de control de Windows, Configuración regional, para todo lo relativo a importes negativos, símbolos decimales y de moneda y cifras decimales. Utiliza la notación científica estándar.
Los formatos numéricos personalizados pueden tener entre una y cuatro secciones con signos de punto y coma (;) como separador de lista. Cada sección contiene la especificación de formato para un tipo de número diferente. Sección
Descripción
Primera
El formato para los números positivos.
Segunda
El formato para los números negativos.
Tercera
El formato para los valores cero.
Cuarta
El formato para los valores Null.
Por ejemplo, puede utilizar el siguiente formato Moneda personalizado: $#.## 0,00 [Ver de] ; ($ #.##0, 00) [Rojo] ;"Cero";" Null"
Este formato numérico contiene cuatro secciones separadas por signos de punto y coma, y utiliza un formato diferente para cada sección. Si utiliza varias secciones, pero no especifica un formato para cada sección, las entradas para las que no hay ningún formato no mostrarán nada o tomarán como valor predeterminado el formato de la primera sección.
180 ACCESS 2010. CURSO PRACTICO
Puede siguientes: Símbolo
, (coma) . (punto) 0 # $ % E- 0 eE+ 0 e+
crear
formatos
©RA-MA
numéricos
personalizados
mediante
los
símbolos
Descripción
Separador decimal. Los separadores se establecen haciendo doble clic en Configuración regional en el Panel de control de Windows. Separador de miles. Marcador de posición de dígitos. Muestra un dígito o 0. Marcador de posición de dígitos. Muestra un dígito o nada. Muestra el carácter literal “$”. Porcentaje. El valor se multiplica por 100 y se le anexa un signo de porcentaje. Notación científica con un signo menos (-) junto a los exponentes negativos y nada junto a los exponentes positivos. Este símbolo debe utilizarse con otros símbolos, como en el ejemplo 0,00E-00 o 0,00E00. Notación científica con un signo menos junto a los exponentes negativos y un signo más (+) junto a los exponentes positivos. Este símbolo debe utilizarse con otros símbolos, como en el ejemplo 0,00E+00.
Puede utilizar la propiedad LugaresDecimales (DecimalPlaces) para anular el número predeterminado de lugares decimales del formato predefinido especificado para la propiedad Formato. Los formatos predefinidos de moneda y de euro siguen la configuración del Panel de control, en Configuración regional. Puede omitirla especificando su propio formato de moneda. • Valores de Formato para Tipos de datos Texto y Memo Puede utilizar símbolos especiales para la propiedad Formato con el fin de crear formatos personalizados para los campos Texto y Memo. En cuanto a los posibles valores, puede crear formatos de Texto y Memo personalizados mediante los siguientes símbolos.
Símbolo
Descripción
Se necesita un carácter de texto (ya sea un carácter o un espacio). No se necesita un carácter de texto. Convertir todos los caracteres a minúsculas. Convertir todos los caracteres a mayúsculas.
& < >
Los formatos personalizados para los campos Texto y Memo pueden tener hasta dos secciones. Cada sección contiene la especificación de formato para diferentes datos de un campo. Sección
Primera Segunda
Descripción
Formato para los campos con texto. Formato para los campos con cadenas de longitud cero y valores nulos.
@ RA-MA
CAPITULO 4. PROPIRDADES DE CAMPOS. FORMATOS Y TIPOS DE DATOS... 181
Por ejemplo, si tiene un control de cuadro de texto en el que desea que aparezca la palabra “Ninguno” cuando no exista ninguna cadena en el campo, puede introducir el formato personalizado @; ""Ninguno” como el valor de la propiedad Formato del control. El símbolo @ hace que se muestre el texto del campo; la segunda sección hace que aparezca la palabra “Ninguno” cuando haya una cadena de longitud cero o un valor nulo en el campo. Puede usar la función Formato para retomar un valor para una cadena de longitud cero y otro distinto para un valor Null, y puede usar de forma similar la propiedad Formato para dar formato de forma automática a los campos en la vista Hoja de datos de la tabla o a los controles en un formulario o informe. • Valores de Formato para Tipo de datos Sí/No Puede establecer la propiedad Formato a los formatos predefinidos Sí/No, Verdadero/Falso o Activado/Desactivado o a un formato personalizado para el tipo de datos Sí/No. En cuanto a los valores, Microsoft Access utiliza un control de casilla de verificación como control predeterminado para el fipo de datos Sí/No. Los formatos predefinidos y personalizados se ignoran cuando se utiliza un control de casilla de verificación. Por tanto, estos formatos se aplican sólo a los datos mostrados en un control de cuadro de texto. La propiedad Formato dispone de los formatos predefinidos Sí/No, Verdadero/Falso y Activado/Desactivado. Sí, Verdadero y Activado son equivalentes entre sí, al igual que lo son No, Falso y Desactivado. Si especifica un formato predefinido y, a continuación, introduce un valor equivalente, se mostrará el formato predefinido del valor equivalente. Por ejemplo, si introduce Verdadero o Activado en un control de cuadro de texto con su propiedad Formato establecida a Sí/No, el valor se convierte automáticamente a Sí. El tipo de datos contengan hasta tres secciones.
Sección
Primera Segunda Tercera
Sí/No
puede
utilizar
formatos
personalizados
que
Descripción
Esta sección no tiene ningún efecto en el tipo de datos Si/No. No obstante, se requiere un signo de punto y coma (;) como marcador de posición. El texto para mostrar en lugar de los valores Sí, Verdadero o Activado. El texto para mostrar en lugar de los valores No, Falso o Desactivado.
Para un control, puede establecer la propiedad Formato en propiedades del control. Para un campo, puede establecer la propiedad la vista Diseño de la tabla (en la sección Propiedades del campo) o Diseño de la ventana Consulta (en la hoja de propiedades Propiedades También puede utilizar una macro o Visual Basic.
la hoja de Formato en en la vista del campo).
182
ACCESS 2010. CURSO PRÁCTICO
© RA-MA
La propiedad Formato afecta sólo a cómo se muestran los datos. No afecta a cómo se almacenan los datos. Puede utilizar cualquier tipo de datos. Símbolo
(espacio) "ABC” ¡ * \ [color]
los
siguientes
símbolos
en
formatos
personalizados
para
Significado
Muestra espacios como caracteres literales. Muestra todo el contenido de las comillas tipográficas como caracteres literales. Realiza la alineación a la izquierda en lugar de la alineación a la derecha. Rellena el espacio disponible con el siguiente carácter. Muestra el siguiente carácter como un carácter literal. También puede mostrar caracteres literales incluyéndolos entre comillas tipográficas. Muestra los datos con el color especificado entre los corchetes. Colores disponibles: Negro, Azul, Verde, Aguamarina, Rojo, Fucsia, Amarillo, Blanco.
No puede mezclar los símbolos de formato personalizados para los tipos de datos Numérico y Moneda con los símbolos de formato de los campos Fecha/Hora, Sí/No, o Texto y Memo. Cuando se ha definido una máscara de entrada y se ha establecido la propiedad Formato para los mismos datos, la propiedad Formato tiene preferencia al mostrar los datos, y la máscara de entrada se ignora. Por ejemplo, si crea una máscara de entrada Contraseña en la vista Diseño de la tabla y también establece la propiedad Formato para el mismo campo, ya sea en la tabla o en un control de un formulario, la máscara de entrada Contraseña se ignora y los datos se muestran según la propiedad Formato.
4.1.3 Máscara de entrada de los campos (propiedad MáscaraDeEntrada o InputMask) Puede utilizar la propiedad MáscaraDeEntrada (InputMask) para facilitar la entrada de datos y para controlar los valores que los usuarios pueden introducir en un control de cuadro de texto. 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 menudo, es más fácil utilizar el Asistente de máscaras de entrada para establecer la propiedad automáticamente. La propiedad MáscaraDeEntrada separadas por signos de punto y coma (;).
puede
contener
hasta
tres
secciones
©RA-MA
Sección
CAPÍTULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS...
183
Descripción
Segunda
Específica si Microsoft Access almacena los caracteres de visualización literales en la tabla al introducir datos. Si utiliza 0 para esta sección, todos los caracteres de visualización literales (por ejemplo, el paréntesis de una máscara de entrada de un número de teléfono) se almacenan con el valor; si introduce 1 o deja esta sección en blanco, sólo se almacenan los caracteres introducidos en el control.
Tercera
Especifica el carácter que Microsoft Access muestra para el espacio en el que el usuario debe escribir un carácter en la máscara de entrada. Para esta sección puede utilizar cualquier carácter; para mostrar una cadena en blanco, utilice un espacio entre comillas (“”).
Tercera
Al crear una máscara de entrada, puede utilizar caracteres especiales para hacer que la introducción de determinados datos (por ejemplo, el código de área de un número de teléfono) sea obligatoria y que los demás datos sean opcionales (como la extensión de teléfono). Estos caracteres especifican el tipo de datos, como el número o el carácter que debe introducir para cada carácter de la máscara de entrada. Puede definir una máscara de entrada mediante los siguientes caracteres.
0 9
Carácter
# L ? A a
& C
.,:;-/ < > !
\
Descripción
Dígito (0 a 9, entrada obligatoria, signos más [+] y menos [-] no permitidos). Dígito 0 espacio (entrada no obligatoria, signos más y menos no permitidos). Dígito 0 espacio (entrada no obligatoria; los espacios se muestran en blanco en el modo Edición, pero se eliminan cuando se guardan los datos; signos más y menos permitidos). Letra (A a Z, entrada obligatoria). Letra (A a Z, entrada opcional). Letra o dígito (entrada obligatoria). Letra o dígito (entrada opcional). Cualquier carácter o un espacio (entrada obligatoria). Cualquier carácter o un espacio (entrada opcional). Marcador de posición decimal y separadores de miles, hora y fecha (el carácter depende del valor del cuadro de diálogo Propiedades de Configuración regional en el Panel de control de Windows). Hace que todos los caracteres se conviertan a minúsculas. Hace que todos los caracteres se conviertan a mayúsculas. Hace que la máscara de entrada se muestre de derecha a izquierda, en lugar de mostrarse de izquierda a derecha. Los caracteres introducidos en la máscara siempre se rellenan de izquierda a derecha. Puede incluir el signo de exclamación en cualquier lugar de la máscara de entrada. Hace que el carácter siguiente se muestre como un carácter literal (por ejemplo, \A se muestra sólo como A).
La tabla siguiente muestra algunas definiciones de máscara de entrada útiles y ejemplos de valores que pueden introducirse en ellos.
184
ACCESS 2010. CURSO PRÁCTICO
©RA-MA
Definición de máscara de entrada
(000) 000-0000
(999) 999-9999! (000) AAA-AAAA #999 >L????L?000L0 >LOL OLO 00000-9999 >L