Gestión de bases de datos 2


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).