Per tant, tingueu present que estaven fetes moltes de les relacions.
 
Per tant, tingueu present que estaven fetes moltes de les relacions.
   −
Observant la imatge, i a mode de recordatori, cal dir que el fitxer '''biblioteca.odb''' conté una taula central amb molts registres (Llibres) i unes quantes de més petites que caldrà relacionar amb l'anterior. Són 9 taules en total, les quals es relacionen de forma directa amb la taula Llibres, i només una (Alumnes) ho fa de forma indirecta mitjançant la taula intermèdia Prestecs. Una imatge de la llista de taules és aquesta que ja coneixeu per la feina feta en l'anterior mòdul:
+
Observant la imatge, i a mode de recordatori, cal dir que el fitxer '''biblioteca.odb''' conté una taula central amb molts registres (Llibres) i unes quantes de més petites que caldrà relacionar amb l'anterior. Són 9 taules en total, les quals es relacionen de forma directa amb la taula Llibres, i només una (Alumnes) ho fa de forma indirecta mitjançant la taula intermèdia ''Prestecs''. Una imatge de la llista de taules és aquesta que ja coneixeu per la feina feta en l'anterior mòdul:
 
[[Fitxer:modul3_01b.jpg|center]]
 
[[Fitxer:modul3_01b.jpg|center]]
    
Bé, per tant, veiem que es tracta d'un fitxer força gran, amb molts registres que ens aniran molt bé per fer consultes variades, que és l'objectiu principal d'aquest mòdul.
 
Bé, per tant, veiem que es tracta d'un fitxer força gran, amb molts registres que ens aniran molt bé per fer consultes variades, que és l'objectiu principal d'aquest mòdul.
   −
:* Observem que conté molts camps. Per veure-ho, ens desplacem dins de la taula cap a la dreta i anem mirant quins són aquests camps: Titol, codi llengua, lloc edició, etc. Alguns casos podreu apreciar que el seu contingut són descripcions (com el dels Autors, o el de Resum) mentre que la majoria dels altres casos el contingut són codis curts. Pensem en els problemes que ens pot causar l'existència de camps com els Autors del nostre exemple: contenen unes dades molt llargues, en molts casos repetides en els diferents registres (posar-se a sobre del camp Autors i amb el botó [[Fitxer:modul3_07.jpg]] ordeneu els registres, i podreu observar que hi unes dades repetides en alguns dels registres)
+
:* Observem que conté molts camps. Per veure-ho, ens desplacem dins de la taula cap a la dreta i anem mirant quins són aquests camps: ''Titol'', ''codi llengua'', ''lloc edició'', etc. Alguns casos podreu apreciar que el seu contingut són descripcions (com el dels ''Autors'', o el de ''Resum'') mentre que la majoria dels altres casos el contingut són codis curts. Pensem en els problemes que ens pot causar l'existència de camps com els Autors del nostre exemple: contenen unes dades molt llargues, en molts casos repetides en els diferents registres (posar-se a sobre del camp Autors i amb el botó [[Fitxer:modul3_07.jpg]] ordeneu els registres, i podreu observar que hi unes dades repetides en alguns dels registres)
 
[[Fitxer:modul3_06.jpg|center]]
 
[[Fitxer:modul3_06.jpg|center]]
    
[[Fitxer:modul3_09bis.jpg|center]]
 
[[Fitxer:modul3_09bis.jpg|center]]
   −
Aquí podem veure tots els noms de camps i els tipus de cadascun d'ells. També veiem que no hi ha cap camp clau i que caldria crear-lo ara mateix. Fem clic a l'esquerra del nom del camp Registre i amb el botó secundari del ratolí, triem l'opció Clau primària, com es veu en la següent imatge:
+
Aquí podem veure tots els noms de camps i els tipus de cadascun d'ells. També veiem que no hi ha cap camp clau i que caldria crear-lo ara mateix. Fem clic a l'esquerra del nom del camp ''Registre'' i amb el botó secundari del ratolí, triem l'opció Clau primària, com es veu en la següent imatge:
 
[[Fitxer:modul3_10.jpg|center]]
 
[[Fitxer:modul3_10.jpg|center]]
   −
Un cop fet això veurem el camp Registre que s'ha convertit en el Clau de la seva taula:  
+
Un cop fet això veurem el camp ''Registre'' que s'ha convertit en el Clau de la seva taula:  
 
[[Fitxer:modul3_11.jpg]]
 
[[Fitxer:modul3_11.jpg]]
    
Molt important: pensem que hem de tenir en compte uns aspectes previs inicials com són aquests:
 
Molt important: pensem que hem de tenir en compte uns aspectes previs inicials com són aquests:
   −
:* Dins de l'estructura de relacions entre les taules d'una base de dades, caldrà diferenciar entre unes taules del costat 1 i unes altres del costat n. Així, en el nostre exemple, tenim unes quantes taules que ocupen el costat 1, i una altra de central que ocupa el costat n, que en aquest cas concret és la de Llibres. Sempre caldrà començar a omplir les dades a les taules del costat 1 i després podrem completar les dades de les del costat n.
+
:* Dins de l'estructura de relacions entre les taules d'una base de dades, caldrà diferenciar entre unes taules del costat 1 i unes altres del costat N. Així, en el nostre exemple, tenim unes quantes taules que ocupen el costat 1, i una altra de central que ocupa el costat N, que en aquest cas concret és la de Llibres. Sempre caldrà començar a omplir les dades a les taules del costat 1 i després podrem completar les dades de les del costat N.
    
:* Les taules que seran del costat 1 de les relacions, han de tenir un camp clau, que es correspon amb el camp codi de cadascuna d’elles. És un camp irrepetible i únic, el que identifica un registre i el diferencia de la resta de registres (igual que un DNI diferencia unes persones d'altres).
 
:* Les taules que seran del costat 1 de les relacions, han de tenir un camp clau, que es correspon amb el camp codi de cadascuna d’elles. És un camp irrepetible i únic, el que identifica un registre i el diferencia de la resta de registres (igual que un DNI diferencia unes persones d'altres).
 
:* A la taula Llibres ha d'haver-hi de forma obligatòria, a part d'altres camps propis, uns camps el contingut dels quals sigui exacte al dels camps claus de les altres taules amb les quals es vol establir les relacions. Així, si a la taula Llengua hi ha un camp codi llengua, a la taula Llibres hi ha d'haver també un camp codi llengua amb un contingut que prèviament s'ha hagut de donar d'alta a la taula Llibres: primer donem d'alta una llengua (anglès) i després podrem donar d'alta un llibre en aquesta llengua (llibre en anglès)
 
:* A la taula Llibres ha d'haver-hi de forma obligatòria, a part d'altres camps propis, uns camps el contingut dels quals sigui exacte al dels camps claus de les altres taules amb les quals es vol establir les relacions. Així, si a la taula Llengua hi ha un camp codi llengua, a la taula Llibres hi ha d'haver també un camp codi llengua amb un contingut que prèviament s'ha hagut de donar d'alta a la taula Llibres: primer donem d'alta una llengua (anglès) i després podrem donar d'alta un llibre en aquesta llengua (llibre en anglès)
   −
:* Cal pensar que en la majoria dels casos la taula central és Llibres i que les altres són secundàries, és a dir, són majoritàriament del costat 1 de les relacions menys Llibres que serà del costat n (a part de les taules Alumnes i Prestecs, es clar).
+
:* Cal pensar que en la majoria dels casos la taula central és Llibres i que les altres són secundàries, és a dir, són majoritàriament del costat 1 de les relacions menys Llibres que serà del costat N (a part de les taules ''Alumnes'' i ''Prestecs'', es clar).
   −
L'única excepció a això és la relació que cal establir entre Llibres i Prestecs.
+
L'única excepció a això és la relació que cal establir entre ''Llibres'' i ''Prestecs''.
   −
Les anem creant una a una arrossegant els camps des del costat u fins al costat n (que és en tots els casos, tal com s'ha dit, els camps de la taula Llibres.)
+
Les anem creant una a una arrossegant els camps des del costat u fins al costat n (que és en tots els casos, tal com s'ha dit, els camps de la taula ''Llibres''.)
   −
Anem fent, i tot sembla anar bé. Però en el moment de voler relacionar la taula Pais, ens surt aquest missatge d'avís com que la cosa no funciona:  
+
Anem fent, i tot sembla anar bé. Però en el moment de voler relacionar la taula ''Pais'', ens surt aquest missatge d'avís com que la cosa no funciona:  
 
[[Fitxer:modul3_23.jpg|center]]
 
[[Fitxer:modul3_23.jpg|center]]
   Exception encountered, of type "Error"