Aplicacions amb la base de dades Access
Enrera
Mòdul 3: organitzem la informació  
  Pràctica
1
2
3
   
Exercicis
Exercicis
 
 

S'explicaran els concepte de relació, dels tipus de relació existents i es mostraran diferents models.

   
Desenvolupament de la pràctica
   
Pràctica

Els punts que es pretenen desenvolupar durant la segona pràctica d'aquest tercer mòdul són:

   
  Introducció a les relacions: conceptes previs
   
 

Entendre el concepte de relació entre taules és fonamental per comprendre la filosofia del programa Access. Aquí es continua l'explicació començada en la pràctica anterior.

La tendència inicial de qualsevol usuari quan fa el disseny d'una base de dades és crear poques taules i cadascuna d'elles amb un nombre excessiu de camps. L'usuari que desconeix el funcionament de les bases de dades relacionals així ja queda satisfet.

Però si ho penseu bé, aquesta forma de fer les coses us aporta una comoditat inicial i efímera, i per contra, una incomoditat permanent a partir del moment que comenceu a treballar amb la base de dades. Per tant, cal que penseu una mica abans de posar-vos a treballar.

El motiu 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. Penseu 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: la feina de donar d'alta un nou registre seria interminable, duplicaríeu molta informació, ocuparíeu molt d'espai innecessari i inútil, i també podríeu cometre moltes errades d'escriptura.

Vegeu-ho amb un altre exemple:

Esteu donant d'alta dades personals, per exemple, de clients d'un banc. Si us interessa tenir apuntat també el nombre d'habitants que té la població dels vostres clients (de cara a campanyes de marketing, per exemple), us podeu adonar del següent problema: la dada del nombre d'habitants la repetiu cada vegada que escriviu el nom de la població del client. Això us crea una sèrie de problemes afegits:

  1. Us podeu equivocar a l'hora d'entrar les dades.
  2. Esteu ocupant un espai innecessari i la informació és redundant.
  3. Si teniu una taula amb molts registres, introduir aquesta dada seria molt tediós.
  4. Si al cap d'uns quants anys hi ha un canvi del cens, seria molt complicat fer els canvis a tots els registres.

Solució: crear dues taules, una de dades de la persona i un altra de dades de les poblacions, i després relacionar-les totes dues mitjançant un camp comú Codi de ciutat. D'aquesta forma, senzilla, eviteu tots els desavantatges abans esmentats.

D'aquesta manera, us estalvieu 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 us farà estalviar espai i també evitar errades en la base de dades.

 

  Què necessiteu per fer les relacions
   
 

Per establir les relacions necessiteu tenir dues taules amb un camp compartit. Aquest camp no és una condició indispensable que tingui el mateix nom, això no importa, el que sí realment és necessari és que tingui dades del mateix tipus. De totes maneres, el fet que els camps que s'han de relacionar tinguin el mateix nom a les dues taules, us pot facilitar la feina, i en el present curs s'ha tingut en compte aquest fet en la majoria dels casos.

Així, a l'hora d'establir les relacions podreu jugar amb aquest tipus de camps:

  • Text amb text
  • Numèric amb numèric
  • Autonumèric amb numèric

Normalment els camps dels altres tipus no són correctes per establir les relacions, ja que no són camps claus de les seves taules respectives, sinó que són els que afegeixen informació addicional.

Un altre aspecte que cal destacar és que la mida dels camps també ha de ser igual. En els camps de tipus numèric relacionats amb camps de tipus comptador, cal que, com a mínim, la seva mida sigui Entero largo. En cas contrari, no podreu establir la relació.

També necessiteu tenir un camp sense possibilitat de duplicació en la taula d'on parteix la relació, és a dir, tenir un camp clau . Si no és així, la relació serà inconsistent i provocarà errades.

   
  Els tipus de relacions
   
 

Un cop vista la necessitat de crear relacions entre taules, repasseu totes les possiblitats que us ofereix el programa Access.

Un cop ja teniu almenys dues taules, heu de pensar que entre elles es podrien arribar a establir fins a tres tipus diferents de relacions, de les quals n'haureu de triar una sola, que haurà de ser la més apropiada:

1.- Relació 1 a n (ó n a 1)

Representada per aquest símbol:

2.- Relació 1 a 1

Representada per aquest símbol:

3.- Relació n a n

Representada per aquest símbol:

Abans de saber quin tipus de relació hi pot haver entre dues taules, cal mirar de fer el raonament des de la primera a la segona, i després invertir l'ordre i fer-ho des de la segona a la primera. Així, segons les respostes que obtingueu, hi haurà aquestes modalitats de relacions:

  1. La primera modalitat, la 1 a n, és la que s'anomena "d'un a varis" o "amb integritat referencial". Es pot afirmar que és la forma ideal de fer les relacions i a la que heu de tendir sempre que es pugui. Un exemple de relació 1 a n seria entre la taula Llibres i la Temes, perquè un llibre pot tenir un tema, i un tema pot tenir diversos llibres a la biblioteca de cadascú. Això vol dir que és una relació 1 a n (ó n a 1, que seria el mateix). Si es donés el cas que un llibre pot tenir diversos temes alhora, estaríeu en aquest cas amb una relació n a n.
  2. La segona modalitat, la 1 a 1, apuntada s'anomena d'"u a u". Es dóna quan voleu partir una taula per separar algunes dades que tenen entre elles certes característiques comunes i, d'aquesta manera, deixaríeu 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.
  3. La tercera modalitat, la n a n, es l'anomenada "varis a varis". Sempre que tingueu 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 inicials i s'establiran dues relacions 1 a n entre les dues taules inicials dels extrems i la central de nova creació. 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 us dóna una relació n a n. La solució apuntada és crear una tercera taula Actors/Pel·lícules en la qual anotareu 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.
   
  Com es fa una relació
   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ara que ja sabeu la teoria de les relacions ha arribat l'hora de passar a la pràctica. En aquest apartat estudiareu com es fa el procés d'establir una relació entre dues taules. Per fer l'explicació utilitzareu el vostre exemple de la Bibllioteca, i concretament ho fareu entre les taules Llibres i Editorials.

El punt de partida serà localitzar el botó de relacions: situat a la barra d'eines estàndard. Un cop activat, se us mostrarà aquesta finestra:

A partir d'aquí, escolliu les taules amb què vulgueu establir les relacions, en el nostre cas Llibres i Editorial: seleccioneu i premeu Agregar (un doble clic sobre el nom de la taula fa el mateix efecte).

Un cop incorporades totes dues taules a la finestra de relacions, tindreu un quadre per a cadascuna. En les dues imatges següents, a la part superior es veu tal com queden les taules acabades d'agregar a la finestra de relacions. Seria interessant arrossegar per les vores per poder conèixer tots els camps. La segona imatge mostra les taules amb tots els camps a la vista: d'aquesta forma treballareu més còmodament.

 

Les imatges mostren, a la part superior del requadre, el nom de la taula, i dins del requadre tots els camps. El camp clau de cada taula apareix en un color més fosc que la resta de camps, la qual cosa us permet diferenciar-los fàcilment: CODI_LLIBRE i CODI_EDITORIAL.

Raonament de la relació: per establir la relació correctament, heu de pensar que un llibre no té més que una editorial, i una editorial té, o pot tenir diversos llibres possibles a la biblioteca, obteniu com a conclusió que hi ha una relació 1 a n. És a dir, una editorial (costat 1) pot tenir diversos llibres (costat n) i no al contrari (si es donés el cas que un llibre pogués tenir més d'una editorial, us trobaríeu amb un cas de relació n a n).

Per tant, per poder establir la relació, caldrà que feu clic al camp Codi editorial de la taula Editorials i l'arrossegueu fins a situar-lo a sobre del camp Editorial de la taula Llibres. Un cop fet això, obtindreu aquesta finestra:

Ara haureu de seleccionar la casella Exigir integridad referencial perquè el tipus de relació sigui de la modalitat 1 a n. Quan la marqueu, la finestra quedarà així:

Ara només us faltarà clicar al botó Crear i la relació ja serà del tipus 1 a n. El procés s'ha acabat aquí.

Per últim, un cop feta la relació, el resultat visual que obtindreu serà aquest:

Ja heu creat una relació 1 a n entre les dues taules. Només us queda desar la feina feta i tancar la finestra de relacions.

Si ho voleu veure en forma d'animació, feu clic aquí. Aquesta animació simplifica tot el procés que s'explica més amunt.

Com explicació addicional, a sota s'amplien les altres opcions que ofereix la finestra de relacions.

Ampliació de les opcions de la finestra de relacions:

Un cop activat el botó d'Exigir integridad referencial, també podreu seleccionar les dues caselles de sota, i d'aquesta forma, fer que els camps relacionats s'actualitzin i s'esborrin automàticament els uns amb els altres.

Si polseu sobre el botó d'ajut situat a la part superior dreta de la finestra i l'arrossegueu sobre les opcions anterios, us informa del següent:

Una altra opció que teniu en el moment d'establir la relació és la d'escollir el botó de:

amb el qual podreu acotar el comportament de la relació d'una forma més detallada. La imatge següent mostra les opcions que podeu triar, les quals es troben bastant detallades.

Però si no acabeu d'entendre què volen dir, i voleu obtenir més informació sobre aquesta pantalla, activeu l'ajut de context amb el botó i en la pantalla següent cliqueu a D'aquesta forma, obtindreu ajut addicional i complet sobre quins efectes aporta cadascuna de les opcions possibles: entreu en contacte amb l'ajut de l'Access, que us dóna moltíssima informació útil per ampliar coneixements amb el programa.

   
  Pràctica: establiment de les relacions en la base de dades Biblioteca
   
 

En aquesta part més pràctica, caldria establir les relacions entre totes les taules de la vostra base de dades Biblioteca, tal com s'ha explicat més amunt. De cara a fer una feina més uniforme, s'han posat tots els noms de les taules i també dels camps en majúscules i s'han evitat els espais en blanc i els accents per estalviar-vos possibles problemes posteriors. Així, la feina que es faci ha de tenir aquest aspecte:

Nom de la taula 1 Camp relacionat Nom de la taula n Camp relacionat
EDITORIALS CODI_EDITORIAL LLIBRES CODI_EDITORIAL
TEMES CODI_TEMA LLIBRES CODI_TEMA
AUTORS CODI_AUTOR LLIBRES CODI_AUTOR
LLIBRES CODI_LLIBRE PRESTECS CODI_LLIBRE
ALUMNES CODI_ALUMNE PRESTECS CODI_ALUMNE
IDIOMA CODI_IDIOMA LLIBRES CODI_IDIOMA
CICLE CODI_CICLE LLIBRES CODI_CICLE

Abans de mirar la imatge de sota, caldria que féssiu una reflexió per veure quin tipus de relació tenen les taules abans esmentades, i que expliquéssiu al tutor quins són els possibles dubtes i problemes que se us han plantejat. Un cop fet el raonament, en la imatge inferior podreu comprovar la solució a les relacions i com quedaria la finestra un cop fetes totes elles.

El resultat final de totes les relacions hauria de ser semblant a aquest:

Aquesta part cal enviar-la al tutor com a exercici, tal com es comentarà més endavant: exercici del mòdul 3

   
 
  • Aquest apartat estableix un enllaç amb la pràctica següent d'aquest mòdul 3. Vegeu-ho: pràctica 3
   
Atenció !

Si heu acabat amb èxit la part pràctica proposada ja teniu la primera gran fase del curs acabada: l'estructura de la base de dades. Ara començarà la introducció de dades i la segona gran fase: la de millora.

   
   
 
Amunt