Page 1

Departamento de Informática

IES Andreu Sempere

BASE DE DATOS: ACCESS Una tabla es una estructura en la que almacenamos la información de la Base de datos. Crearemos una tabla para cada grupo de datos. La Base de Datos estará formada por las distintas tablas y las relaciones entre ellas. A partir de las tablas, realizaremos las distintas consultas e informes de la Base de Datos. Las tablas en Access están estructuradas en filas y columnas. Cada fila, a la que en la terminología de base de datos denominamos registro, contiene la información relativa a un individuo u objeto. A su vez, cada columna, campo o atributo en términos de bases de datos, contiene el valor concreto de cada una de las características que identifican y describen a los distintos individuos u objetos. Puede que en un principio pensemos que es lo mismo tabla que base de datos; en realidad una tabla es sólo una parte de la base de datos, el lugar en el que almacenamos los datos. Lo normal es que una base de datos contenga más de una tabla. Además de las tablas las bases de datos contienen otros objetos: relaciones, consultas, formularios, informes, etc. Los que conocen Excel pueden encontrar un gran parecido entre las tablas de Access y las de Excel, de hecho resulta muy sencillo importar y exportar tablas entre una aplicación y otra. ¾ Tipo de datos La siguiente tabla explica los distintos tipos de datos: Tipo de datos Texto Memo Número Fecha/Hora Moneda Autonumérico

Vicente García

Descripción Caracteres alfanuméricos, esto es, texto y/o números con los que no se vayan a hacer cálculos hasta un máximo de 256 caracteres. Es el tipo de datos más utilizado. Texto extenso. Igual que el de texto sin limitación de caracteres. Datos numéricos con los que se vayan a hacer cálculos. Datos de fecha y hora que podemos presentar con varios formatos, así como utilizarlos para hacer cálculos con ellos. Igual que los datos número pero con formato moneda. Es un campo de tipo número que se va incrementando de uno en uno cada vez que se añade un registro. No se puede actualizar. Cuando le indiquemos al asistente de Access que cree una clave principal se creará un campo de este tipo. 1


Departamento de Informática

IES Andreu Sempere

Si/No

Es un campo lógico. Sólo admite dos valores: Verdadero (Sí o 1) o Falso (No, 0, o Nulo). Objeto OLE Campo en el que podemos almacenar cualquier tipo de archivo generado por otra aplicación Windows: documento, gráfico, sonido, video, etc. Estos objetos pueden estar vinculados, es decir, sin que se incluyan físicamente o incrustados, en este caso los objetos se copian físicamente en la base de datos. Hipervínculo Almacena una dirección de Internet, del disco duro o de red. Asistente para Como su nombre indica es un asistente que nos facilita la búsquedas… entrada de datos tomándolos de otra tabla o de una lista. ¾ Propiedades de los campos La siguiente tabla explica las propiedades de campo más habituales. No debemos olvidar que estas propiedades dependerán del tipo de datos elegido. Propiedad Tamaño

Descripción En los campos tipo texto indica el máximo de caracteres permitido, por defecto 50. En los campos tipo número indica el espacio que Access reserva para almacenar los valores numéricos, por defecto entero largo. Formato Indica el formato que se dará al valor almacenado en dicho campo. El formato sólo afecta al modo en que se presentan los datos y no al modo en que se almacenan. Máscara de Establece cómo debe ser el dato: número y clase de entrada caracteres que debe tener. Podemos entrar manualmente la máscara o utilizar el asistente para máscaras que se activa haciendo clic en el botón situado a la derecha del cuadro de máscaras. Lugares Indica el número de cifras decimales que se mostrarán en decimales los campos tipo número y moneda. Valor Valor que se almacenará automáticamente en el campo en predeterminado los nuevos registros. Suele utilizarse cuando prevemos que el contenido de ese campo va a ser en la mayoría de los registros igual al valor predeterminado. Regla de Establece una condición que deberán cumplir los datos. validación Texto de Mensaje que se mostrará cuando el valor introducido no validación cumpla la regla de validación. Vicente García

2


Departamento de Informática

Requerido Indexado

IES Andreu Sempere

Cuando establecemos el valor Sí para esta propiedad el campo deberá contener un valor, es decir, no podrá estar vacío. Access permite crear índices, con o sin duplicados, para acelerar las búsquedas y las ordenaciones.

¾ Clave principal – Campos clave Clave principal es un campo o conjunto de campos que identifican los registros de la tabla de modo único, el contenido de la clave principal es diferente para cada registro de la tabla y no puede ser nulo. A los campos que forman la clave principal se les denomina campos clave. En la vista diseño se identifican los campos clave porque su nombre aparece precedido del símbolo . Access utiliza la clave principal para ordenar, identificar, buscar y combinar los registros de la tabla. Aunque es posible tener tablas que no posean clave principal es muy recomendable que todas las tablas de la base de datos dispongan de clave principal. Conviene saber que Access crea automáticamente un índice en los campos clave, lo que hace que las consultas sean más rápidas. Generalmente se escoge para formar la clave principal un campo, o conjunto de campos, cuyo contenido estamos seguros de que no se va a repetir, por ejemplo, el DNI para las personas, el ISBN para los libros, etc. Si esto no es posible, crearemos un campo, al que normalmente damos el nombre de código y le asignamos un tipo de campo Autonumérico. ¾ Diseño de tablas A la hora de diseñar una tabla conviene tener en cuenta las siguientes reglas de buenas maneras: 1. Cada campo debe almacenar un único dato. Si una información consta de varios datos que puede que necesitemos por separado, utilizaremos un campo para cada uno de ellos. Por ejemplo, es mejor utilizar tres campos uno para el nombre, otro para el primer apellido y un tercero para el segundo apellido que usar un único campo para guardar el nombre y los apellidos. Si tenemos la información de interés en varios campos siempre podremos combinarla, pero si la tenemos toda junta será difícil, y puede que imposible, extraer la parte que nos interesa. 2. Cada tabla debe tener una clave principal formada por uno o varios campos clave. Vicente García

3


Departamento de Informática

IES Andreu Sempere

3. Debe ser posible modificar el valor de cualquier campo no clave sin que tengamos que modificar ningún otro. ¾ Inconsistencia de los datos ¿Qué significa información inconsistente en una base de datos?. La mejor forma de explicar esto será planteando algunas situaciones que darían lugar a que la base de datos Universidad se encontrara en estado inconsistente. 1. Asignar a una asignatura un profesor que no existe Si en el diseño de la tabla Asignaturas no hubiéramos elegido Asistente para búsqueda como Tipo de datos para el campo DNI_P, el formulario que hemos creado para entrar los datos en la tabla Asignaturas no presentaría un cuadro desplegable en el campo DNI_P. Entonces en lugar de elegir el valor para DNI_P de entre los que aparecen en cuadro desplegable tendríamos que teclearlo. ¿Y si cometemos un error? …. esto nos crearía un problema de inconsistencia en la base de datos, ya que, estaríamos asignando como profesor de una asignatura un profesor que no existe. Utilizar Asistente para búsqueda como Tipo de datos en los campos clave ajena de la tabla subordinada evita que cometamos errores mecanográficos al entrar datos en dichos campos si elegimos el valor del cuadro desplegable y, por tanto, que incurramos en problemas de inconsistencia como el descrito. Sin embargo, siempre se puede teclear cualquier otro dato que podría dar lugar a inconsistencia en los datos. La consistencia de los datos puede garantizarse por completo activando en las relaciones entre las tablas la propiedad Integridad referencial. Cuando utilizamos este diseño de tablas, Access crea una relación entre las tablas principal y subordinada. Circunstancia que debemos tener presente a la hora de entrar los datos, ya que, deberemos entrar primero los datos de la tabla principal y, luego los de la tabla subordinada. 2. Eliminar un registro de la tabla Profesores Supongamos que eliminamos a un profesor. ¿Qué pasa con las asignaturas que están asignadas a ese profesor? Si la relación entre las tablas Profesores y Asignaturas tuviera activada la propiedad Integridad referencial, Access nos avisaría de este hecho cuando intentamos eliminar a un profesor con Vicente García

4


Departamento de Informática

IES Andreu Sempere

docencia en alguna asignatura. Antes de eliminar al correspondiente profesor deberíamos asignar sus asignaturas a otro profesor. ¾ Establecimiento de relaciones Como hemos visto, para establecer una relación entre dos tablas diseñaremos estas de modo que tengan uno o más campos con los mismos valores. Además de los mismos valores, estos campos deben tener el mismo Tipo de dato salvo en el caso de Tipo de dato Autonumérico. El tipo de dato Autonumérico sólo puede relacionarse con el tipo de dato Numérico. Normalmente utilizamos el mismo nombre de campo en ambas tablas. En la mayoría de los casos, estos campos coincidentes son la clave principal de una tabla, tabla principal, que proporciona un identificador único para cada registro, y clave ajena en la otra tabla, tabla subordinada. Denominamos clave ajena, a uno o más campos de una tabla, que hacen referencia a un campo que es clave principal en otra con la que se relaciona.

Clave principal

Vicente García

Clave ajena

5


Departamento de Informática

IES Andreu Sempere

¾ Tipos de relaciones Teniendo en cuenta el número de ocurrencias entre los elementos que relacionamos podemos definir tres tipos de relaciones: relaciones 1:1, relaciones 1:∞ y relaciones ∞:∞. 1. Relaciones uno a uno (1:1) Un registro de la tabla principal sólo está relacionado con un registro de la tabla subordinada y viceversa. Este tipo de relación es muy poco frecuente. Por ejemplo: supongamos que la base de datos Universidad tuviera una tabla, Currículo_Profesores, con los currículos de los profesores. Cada profesor tiene un currículo y cada currículo pertenece a un único profesor. 2. Relaciones uno a varios (1:∞) Un registro de la tabla principal se puede relacionar con varios de la tabla subordinada, sin embargo, uno de la tabla subordinada sólo se relaciona con uno de la tabla principal. Este tipo de relación es el más frecuente. Por ejemplo: en la base de datos Universidad un profesor puede impartir ninguna, una o varias asignaturas. Sin embargo, de acuerdo con nuestro diseño, una asignatura sólo puede ser impartida por un único profesor. 3. Relaciones varios a varios (∞:∞) Un registro de la tabla principal puede estar relacionado con varios de la tabla subordinada y, a su vez, un registro de la tabla subordinada puede estar relacionado con varios de la tabla principal. Este tipo de relación no puede darse en Access. Por ejemplo: si admitiéramos que una asignatura fuese impartida por varios profesores, podría ocurrir que un profesor impartiera varias asignaturas y que una asignatura tuviera varios profesores. En este caso, la relación entre las tablas Profesores y Asignaturas sería del tipo varios a varios. Como Access NO permite este tipo de relación, esta situación se resuelve eliminando el campo DNI_P de la tabla Asignaturas y creando una nueva tabla Asignaturas_Profesores con dos campos COD_Asig y DNI_P que formarían la clave principal. Entonces, crearíamos dos relaciones uno a varios, una entre las tablas Asignaturas y Asignaturas_Profesores y la otra entre las tablas Profesores y Asignaturas_Profesores. Cuando se da una relación del tipo varios a varios entre dos tablas habrá Vicente García

6


Departamento de Informática

IES Andreu Sempere

que crear una nueva tabla que contendrá como mínimo los campos clave principal de ambas tablas.

¾ Integridad referencial Integridad referencial es un conjunto de reglas, que emplean todos los gestores de bases de datos relacionales para garantizar que la base de datos mantiene, en todo momento, la información de forma consistente. Cuando exigimos integridad referencial, el sistema se encargará de que el usuario no pueda realizar ninguna acción que conlleve la pérdida de consistencia de la base de datos, esto es, que se pueda eliminar o modificar un dato que tenga otros relacionados con él o que se pueda insertar un dato que requiera de la existencia de otros relacionados con él. Como veremos, al crear una relación podremos seleccionar la opción Exigir integridad referencial. Cuando seleccionemos esta opción se activarán dos nuevas opciones: Actualizar en cascada los campos relacionados y Eliminar en cascada los registros relacionados. a.

Vicente García

Actualizar en cascada los campos relacionados Cuando esta opción está seleccionada, al cambiar el valor de un campo clave principal en la tabla principal de una relación, automáticamente se actualiza, con el nuevo valor, el valor del campo clave ajena de los registros relacionados con él en la tabla subordinada. 7


Departamento de Informática

b.

Vicente García

IES Andreu Sempere

Eliminar en cascada los registros relacionados Si seleccionamos esta opción, cuando eliminemos un registro en la tabla principal de una relación, automáticamente se eliminarán los registros relacionados con él en la tabla subordinada.

8

Base de datos  

Manual de datos