Base de dades¶
Una base de dades ben dissenyada és fonamental per a garantir la integritat, la coherència i el bon rendiment de l'aplicació, sobretot tenint en compte que hi accediran diversos usuaris de manera concurrent.
Disseny de la base de dades¶
Abans de començar a implementar l'aplicació, cal dissenyar la base de dades seguint aquestes passes:
- Model relacional: identificar les entitats del sistema, els seus atributs i les relacions que hi ha entre elles. Definir les claus primàries i claus foranes que garanteixen la integritat referencial entre elles.
- Normalització: revisar l'estructura de les taules per a evitar redundàncies i anomalies.
Sistemes gestors de bases de dades¶
L'aplicació accedirà a dos sistemes gestors de bases de dades diferents, cadascun pensat per a un tipus de dades concret:
- MariaDB: base de dades relacional, per a les dades estructurades de l'aplicació que requereixen integritat referencial i consultes complexes (usuaris, comandes, etc.).
- MongoDB: base de dades NoSQL orientada a documents, per a les dades amb una estructura més flexible o canviant (per exemple, registres, historials o continguts sense un esquema fix).
Accés a les dades des del servidor¶
Seguint l' arquitectura per capes del servidor, l'accés a la base de dades es realitzarà des de la capa de Persistència, mitjançant:
- Repositoris: defineixen les operacions disponibles sobre cada entitat (crear, consultar, actualitzar, eliminar), independentment de si les dades es guarden en MariaDB o en MongoDB.
- DAOs: implementen els repositoris. Segons el sistema gestor de bases de dades, s'implementaran amb Spring JDBC (per a executar sentències SQL sobre MariaDB) o amb el driver de MongoDB (per a executar consultes sobre documents).
- RowMappers: converteixen cada fila (MariaDB) o document (MongoDB) del resultat d'una consulta en una entitat de domini.