Lo primero que hemos de hacer al diseñar una base de datos es pensar qué elementos de esa base deberán convertirse en tablas. Una tabla es un conjunto de registros, que son elementos con características en común. No podemos hacer una tabla donde un registro es una persona y otro un coche. Una vez identificadas esas tablas decidiremos qué relaciones hay entre ellas.
Por ejemplo, si hemos de hacer
una base de datos para un hospital, diferenciaremos entre médicos, pacientes, patologías
y tratamientos. Para diseñar la gestión informática del hospital
tendré que ver cuál es el procedimiento desde que entra un paciente en el
hospital: un médico ve a varios pacientes, aplica varios tratamientos, etc.
Para ello, hay que establecer relaciones entre esas tablas.
Tipos de relaciones de tablas
Relación 1:1.- Hay muy
pocas. Podría ser tipo coche/Matrícula. En la tabla coche guardaríamos como
atributos: marca, modelo, color, cilindrada, número de bastidor… y en la
matrícula podríamos incluir el número de matrícula, el año de matriculación, la
población… En esta relación simple a cada coche le corresponde una matrícula.
Para pode relacionar dos tablas ha de existir un campo igual en cada una de
ellas. Se denomina campo clave. Dicho campo es el identificador.
Relación 1:N.- Access solo
entiende de este tipo de relaciones. Por ejemplo: clientes y pedidos (un
cliente hace muchos pedidos). Otra sería autores y libros, o categorías y
productos. Este tipo de relaciones se programas de la siguiente manera. La tabla
que inicia la relación tiene un identificador que ha de ser el mismo campo,
pero no identificador, en la otra tabla (por ejemplo, en la tabla autor habrá
un “id autor” como clave y en la de libros existirá el “id autor” y el “id
libro”, que será su clave).
Relación infinito:infinito.- Por ejemplo cliente y
empleado en un supermercado. Un empleado atiende a varios clientes y un cliente
es atendido por varios empleados. Cuando hay este tipo de relaciones, aparece
una tabla en medio que transforma en relaciones de 1 a infinito porque Access
no puede funcionar de infinito a infinito. La relación de infinito a infinito no
es comprensible para el programa Access. En este caso esa tabla sería la de
compra. Entonces, hará falta un identificador de empleado, otro de cliente y la
tabla de en medio deberá tener esas dos id, pero sin ser clave (se les denomina
campos llaves extranjeras). A su vez tendrá su propia clave que identificará a
dicha tabla (ticket de compra, por ejemplo).
En el ejemplo del hospital, entre
médicos y pacientes ha de haber otra tabla que evite la relación infinito a
infinito. Podría ser la tabla “visita médica”. Entre pacientes y patologías
también se da este tipo de relaciones. La tabla “tratamiento” sería la que nos
permitiría establecer relaciones 1 a infinito entre las tablas anteriores. Para
completar la base de datos habrá que establecer la relación 1 a infinito entre
médicos y especialidades y entre médicos y tratamientos.
Resumiendo, para diseñar una base de
datos primero pensamos qué tablas necesitamos, luego qué relaciones debemos
establecer entre ellas, y luego qué campos la componen.
Clave combinada. En ocasiones
habrá tablas que necesiten combinar dos campos para obtener una misma clave
porque por separado sus valores se repiten. Por ejemplo en una hipotética tabla
que recoja beneficios por trimestres se repetirían años y trimestres. La
solución sería que el campo clave fuera la combinación de año y trimestre, que
nunca se repetirá (2013 -T1).
Vamos a elaborar nuestra
propia base de datos, que será una discoteca:
El primer paso es definir el contenido de las tablas y sus respectivos campos de información:
TABLAS:
Artista/Grupo
- IdArt: autonumérico
- NombreArt: texto
- Integrantes: numérico
- Nacionalidad: texto
- Año debut: fecha
- IdGénero: numérico
- Foto: objeto Ole
- Website: hipervínculo
Álbumes
- IdAlbum: autonumérico
- Título: texto
- Año publicación: numérico
- Canciones: numérico
- Premios: deslegable
- Portada: objeto ole
- Precio: moneda
- Vídeo: hipervínculo
Géneros
- Id Género
- Nombre
- R'n'B
- Funk
- Soul
- Blues
- Jazz
- Pop
- Rock
- Disco
- Dance
- Country
- Latino
- Clásico, etc.
Establecemos relaciones entre las tres tablas
Para que la base de datos
funcione correctamente debemos relacionar esas tres tablas uniendo campos
similares que permitan que los datos fluyan. Para ello tendremos que unir el
campo IDArtista de la Tabla Artistas con el campo IDArtista de la Tabla
Albumes, el campo IDGénero de la Tabla Artistas con el campo IDGénero de la
Tabla Géneros y el campo IDGénero de esa misma tabla con el campo IDGénero de
la Tabla Álbumes.
Abrimos la Tabla Álbum y vamos a Diseño (icono regla/cartabón del margen superior izquierdo de la pantalla). Clicamos en el desplegable que hay junto a IDGénero y señalamos Asistente para búsqueda.
A continuación clicamos
“siguiente”, seleccionamos “géneros”, “siguiente”, traspasamos nombreG a la
derecha con el icono “>”,“siguiente”, seleccionamos NombreG en “ordenar”, “siguiente”,
“siguiente”, habilitar integridad de datos y finalizar.
Creamos formularios
Para introducir datos en nuestra base
seleccionaremos la tabla para la que queremos el formulario, iremos al menú
crear, asistente para formularios y seleccionamos en columnas (ficha). Lo
renombramos y ya tenemos nuestro formulario. A continuación, vamos a inicio,
ver, vista diseño. La cuadrícula nos da las dimensiones del formulario. Tiene
varios apartados: título y varios apartados. Las etiquetas pueden borrarse o
renombrarse, pero no los campos (con fondo blanco). Para ello iremos a diseño
de formulario y a formato.
Todas las cajas pueden moverse a
discreción. Podemos incluir imágenes importadas para el fondo del formulario.
Para seleccionarlo clicamos en el cuadradito que hay en el margen superior
izquierdo. Para eliminar el fondo de la foto del formulario: Doble clic en modo
diseño del formulario, recuadro, hoja de propiedades, estilo de fondo
(Transparente) y estilo de bordes (transparente).
Ahora creamos una portada como un formulario más. Vamos
al menú crear y elegimos formulario en blanco. Insertamos una fotografía de
gran tamaño para que aparezca como fondo. A continuación cerramos esa portada y
creamos botones de acceso. Para ello, abrimos la portada y vamos a diseño de la
portada. Elegimos el botón XXX y clicamos en la página donde queramos que
aparezca el botón. Seleccionamos operaciones con formularios y abrir
formularios. Damos a siguiente y seleccionamos la tabla correspondiente y
siguiente, elegimos la opción predeterminada. En texto escribimos “Ver y añadir”
álbum, autor… lo que convenga y siguiente y finalizar. Ya tenemos el primer botón.
En el caso de que queramos
insertar un botón de salida de la base de datos elegiremos aplicación, salir de
la aplicación, texto salida o bien una imagen y finalizar.
Por último, si queremos que al
abrir la base ésta lo haga por uno de sus formulario iremos a archivo, opciones,
base de datos actual, mostrar formulario y elegimos el que deseamos (portada,
artistas, álbumes).