Enrera
Mòdul 1
Aplicacions de gestió amb Access
  Pràctica
1
2
3
4
5
   
Exercicis
Exercicis
 
 
Objectius

És fonamental el comprendre que les relacions són el punt de partida per crear una estructura correcta en una base de dades.

Per tant, l'objectiu principal d'aquesta pràctica serà explicar el concepte de relació i definir-ne alguna entre diferents taules.

Activitats

   
  Desenvolupament de la pràctica
   

Idees prèvies

Quan pensem en els programes de gestió de bases de dades podem trobar diferents modalitats. Així hi ha les anomenades planes, amb una sola taula i poca potència; i les relacionals, que compten amb diverses taules relacionades entre sí i que permeten treballar amb totes elles de forma conjunta.

Es diu de l'Access que és un programa de base de dades relacional. Per tant aquest serà un punt de suma importància dins del present curs.

Un cop fetes les relacions entre les taules quedarà l'estructura de tota la base de dades definida. És molt important que aquest punt quedi ben fet des del començament, ja que els canvis a posteriori ens crearan molts problemes. Hem de pensar quan volem fer una base de dades en una sèrie de passos fixes els quals ens ajudaran a obtenir millors resultats:

  • Fase de disseny: creació de les taules i de les seves relacions. Aquesta fase cal tenir-la pensada i treballar-la prèviament amb llapis i paper. Un cop feta aquesta part, i quan ja tinguem clar que l'hem feta bé, anirem a la segona.
  • Fase de perfeccionament: un cop creada aquesta estructura ja podrem anar completant la resta, amb els formularis, consultes i informes oportuns.

Concepte de relació

El programa Access és, per tant, una base de dades relacional, és a dir, compta amb un nombre indeterminat de taules que es troben relacionades entre sí mitjançant l'existència de camps comuns.

El motiu fonamental de fer diverses taules enlloc de fer-ne una de grossa és que la base de dades resulta d'aquesta forma molt més àgil i manipulable. Pensem en un exemple d'una base de dades on les dades dels professors, dels alumnes, dels grups acadèmics, etc. es trobessin en una mateixa taula: el donar un nou registre d'alta en ella seria interminable, duplicaríem molta informació, ocuparíem molt espai innecessari i inútil.

Així, sempre que ens trobem amb aquestes qüestions en una taula, haurem de pensar en partir-la en dues i relacionar-les després:

  • Si hi ha unes dades en un mateix camp repetides, i a més a més aquestes són molt llargues: per exemple, en una taula d'alumnes si parlem de dades del grup al qual pertany.
  • Quan ens trobem que volem separar una sèrie de dades de les altres per tenir-les més estructurades.
  • Sempre que veiem que són unes dades que poden anar independents de les altres per tenir entre sí unes característiques comunes i diferenciades de la resta d'aspectes.

D'aquesta manera ens estalviem l'haver de donar d'alta un mateix concepte llarg (un nom, una descripció, etc.) moltes vegades i substituir-lo per un concepte curt (un codi) que ens farà estalviar espai i també si es fa correctament, evitar errades en la base de dades.

La relació s'estableix entre dues taules mitjançant l'existència de camps comuns que tinguin el mateix tipus de dades i fins i tot les mateixes dades.

Tipus de relacions

Un cop que ja tenim almenys dues taules, hem de pensar que entre elles es podrien arribar a establir fins a tres tipus diferents de relacions, de les quals n'haurem de triar una sola:

  • Relació 1 a n (ó n a 1). La primera modalitat és la que s'anomena d'un a diversos o "amb integritat referencial". Es pot afirmar que és la forma ideal de fer les relacions i a la que hem de tendir sempre que es pugui. Un exemple de relació 1 a n seria entre la taula ALUMNES i la GRUP ACADÈMIC, ja que un alumne pot pertànyer a un grup acadèmic i un grup acadèmic pot tenir diversos alumnes, això vol dir que és una relació 1 a n (o n a 1 que als efectes seria el mateix).
  • Relació 1 a 1. La segona modalitat apuntada s'anomena d'u a u. Aquesta es dóna quan volem partir una taula per separar algunes dades que tenen entre sí alguna característica comuna i que d'aquesta manera deixem les taules més petites i manejables. Un exemple podria ser una taula amb dades acadèmiques dels alumnes i una segona amb dades bancàries: un alumne té unes dades bancàries i alhora unes dades acadèmiques.
  • Relació n a n. La tercera modalitat és l'anomenada varis a varis. Sempre que tinguem una relació d'aquest tipus caldrà eliminar-la i convertir-la en dues relacions 1 a n. Això es farà mitjançant la creació d'una taula intermèdia entre les dues i es faran dues relacions 1 a n entre les dues primeres i la tercera. Un exemple d'això podria ser una relació entre una taula de PEL·LÍCULES i una taula d'ACTORS: un mateix actor ha pogut participar en diverses pel·lícules i una pel·lícula pot tenir diversos actors. Aquest raonament ens dóna una relació n a n. La solució apuntada és crear una tercera taula ACTORS/PEL·LÍCULES en la qual expressarem els actors de cada pel·lícula i les pel·lícules de cada actor. Així queda desfeta la relació n a n i se'n fan dues 1 a n.

Establiment de relacions entre dues taules

Tal com s'ha dit, quan arribem en aquest punt hem hagut de passar per un procés llarg de reflexió i de planificació dels objectius que volem demanar-li a la base de dades. En aquest exemple treballarem en l'establiment de la relació entre dues taules: ALUMNES i GRUP ACADÈMIC, que hem creat en la pràctica 3 d'aquest mòdul I

Per establir la relació, polsant sobre aquest botó relacions.gif (891 bytes) de la barra d'eines, arribarem a la finestra de la figura 1 que ens mostra la llista de totes les taules que hi ha creades en la base de dades.


Figura 1

Un cop seleccionada la taula fent clic al botó Agregar la incorporem en la pantalla de relacions. Cal repetir el procés amb l'altra taula. Després tanquem aquesta finestra, i ens quedarà la pantalla tal com mostra la figura 2.


Figura 2

Tal com es pot apreciar, cada petita finestra representa una taula. Hi ha un petit problema, no es veuen tots els camps alhora. Hem d'arreglar-ho i això es pot fer estirant els extrems de la finestra fins convertir-ho en la figura 3. Així tenim tots els camps a la vista i de cara a establir les relacions ens serà més fàcil. A més a més, aquesta finestra representa l'estructura de la base de dades i convé tenir-la el més clar possible.


Figura 3

Ara per crear la relació hem de pensar que la taula GRUP ACADÈMIC serà el costat 1 de la relació i la taula ALUMNES serà el costat n. Per establir la relació simplement arrosseguem el camp Codi de grup de la taula GRUP ACADÈMIC i el deixem anar a sobre del camp Grup acadèmic de la taula ALUMNES. Automàticament sortirà en pantalla aquesta nova finestra de la figura 4


Figura 4

Com es pot apreciar en la imatge, en el moment de marcar la casella Exigir integridad referencial, automàticament són accessibles les dues opcions següents a sota de la primera.

Hem de pensar que perquè una relació sigui del tipus 1 a n hem de marcar la casella de la integritat referencial, doncs si no es fa, aquesta relació quedarà del tipus 1 a 1. Visualment s'aprecia un tipus i un altre de relació mitjançant una ratlla més fina la 1 a 1 i mitjançant una ratlla més gruixuda la 1 a n. Veure figura 5


Figura 5

Si volem modificar la relació ja feta mitjançant un doble clic a sobre mateix de la ratlla de la relació tornem a entrar en la pantalla de la figura 4.

Ara es tracta que tu ho facis en la base de dades d'ALUMNES.

   
Ampliació del tema relacions
 

Aquest és un tema molt important, i seria interessant poder repassar-lo amb exercicis addicionals. Per aquest motiu, si voleu ampliar coneixements sobre el tema, podeu anar al següent enllaç que pertany al curs telemàtic D50 d'Access.

   
 
Amunt