• Aucun résultat trouvé

CREACIÓ DE LES BASES DE DADES

Capítol 5 - IMPLEMENTACIÓ

5.3 CREACIÓ DE LES BASES DE DADES

Després de tenir clara tota l’estructura dels servlets, es va realitzar un repàs general a tota la sintaxi de MySQL i la específica en Java per començar a crear les bases de dades necessàries des del servlet base que havíem creat.

La base de dades es va crear inicialment de forma senzilla, amb el mínim nombre de registres per taula per tal de facilitar la resolució dels errors que ens anaven sorgint, i quan requeríem l'ús de més camps s'anaven inserint un a un per la mateixa raó esmentada anteriorment, simplificar la feina de localització d'errors.

El diagrama final després de la implementació de l'aplicació és el que es presenta en la figura 16 amb totes les relacions requerides per l'aplicació.

Figura 17 - Diagrama de la base de dades

Taules:

config

Aquesta taula, ens serveix per guardar totes les variables per defecte de l'aplicació, aquestes només són modificables per l'administrador.

La clau primària d'aquesta taula és id, però no es utilitzada per l'aplicació i només s'ha creat per l'obligació de existir-ne una.

backup

La taula backup és on desem el nom de les còpies de seguretat generades per l'administrador i/o professors i també ens serveix per saber el nom de l'arxiu en que es troba la còpia sol·licitada quan volem carregar-la.

En aquest cas, la clau primària utilitzada és id i l'utilitzem per referir-nos a ella dins de l'aplicació.

cursos

Els diferents usuraris són creats dins d'un curs existent, i aquesta taula és utilitzada per emmagatzemar la informació de cadascun dels cursos que creen l'administrador i/o professors.

La taula cursos té com a clau primària id_curs i la seva utilitat és d'identificar el curs en qüestió a la vegada que també és clau forania d'altes taules.

usercursos

És la taula necessària per relacionar els usuaris amb el curs on pertanyen.

La necessitat d'utilitzar una taula suplementària per implementar aquesta relació a estat que un usuari pot pertànyer a més d'un curs i per tant no era suficient el camp id_curs en la taula users, i aquest ha estat utilitzat únicament per gravar el curs que s'utilitza en el moment de l'execució.

La taula usercursos, com en algunes vistes anteriorment la seva clau primària, id no és utilitzada per l'aplicació i només ha estat creada per qüestions de coherència de les bases de dades. Cal remarcar que els dos camps restants, id_users i id_curs són claus foranies de les taules users i cursos respectivament.

users

Els usuaris de l'aplicació estan guardats dins la taula users, és on s'insereix tota la informació personal d'un usuari i també la relativa al funcionament de l'aplicació, com els índex d'array d'usuari i granja per saber en tot moment on es troba aquest usuari i la seva granja dins l'aplicació, que al ser dinàmica en cada connexió la càrrega en la posició final de les respectives arrays.

En aquest cas la clau primària de la taula, id_user és directament el NIU (numero d'identificació universitari) de l'usuari, que al ser un identificador únic és totalment vàlid per aquest camp. Com que cada usuari té assignada una granja ( en el cas dels professors o administrador si la volen visualitzar ), el camp id_granja serà una clau forania que relacioni l'usuari amb la granja assignada o visualitzada.

granges

Taula on es desa la informació relativa a la granja d'un usuari.

Hi ha tota la informació general de la granja, una array amb les vaques que hi pertanyen i tots els paràmetres per la seva evolució. També hi ha camps que són utilitzats per proporcionar la informació necessària per l'avaluació que ha de realitzar el professor a l'alumne.

La seva clau primària és id, tot i que en un inici era id_granja però per qüestions d'una possible ampliació que implicava la repetició d'entrades amb una mateixa id_granja va ser modificada.

vaques

Totes les vaques que pertanyen a una granja són arxivades dins la taula vaques. En ella hi figuren totes les dades utilitzades pel simulador per evolucionar els estats i la producció de cada vaca, així com els identificadors de la granja on pertany i les accions que realitzem sobre ella.

En quan a la clau primària de la taula, id no és utilitzada com directament per l'aplicació per identificar-la, perquè com que la vaca pertany a una granja la numeració de cada vaca comença des de zero en cada cas i és el camp id_vaca el que utilitzem realment. Aquesta taula també té una clau forania, id_granja, que és la que associa la vaca amb la granja de la que prové.

produccio

Aquesta taula és utilitzada principalment per generar els gràfics de producció de llet de cada vaca i inclou la producció diària de cada vaca. En un inici no va ser implementada fins que va ser imprescindible la seva utilització, ja que s'havia comés un error a l'augmentar la taula vaques horitzontalment afegint la informació diària dels paràmetres de cada vaca.

Consta d'una clau primària id_produccio que és usada únicament per raons de no repetició d'aquest camp, i com a claus foranies tenim id_vaca i id_granja per relacionar amb la vaca i la granja d’on és aquesta producció.

Documents relatifs