Projecte

De Lordwektabyte Wiki
Salta a la navegació Salta a la cerca

Disseny i implentació d'un sistema de gestió de BBDD

Guillem Solà i Boeck (host: PC05)

Introducció

La meva idea és crear una base de dades per a gestionar i mantenir un control dels tractaments mèdics que s'apliquen als animals d'una explotació ramadera. Ens interessa poder tenir un control de l'stock de medicaments, saber quins medicaments es necessiten per a cada tractament i tenir constància de qui ha administrat un medicament a un animal. Per a modificar i accedir a les dades ho farem a través de procediments i funcions que implementaré de manera que l'usuari final només hagi d'utilitzar aquests procediments/funcions amb diversos paràmetres per tal de tenir la informació que desitgi. També s'afegiran procediments de manera que es puguin exportar llistats a PDF o CSV per a imprimir.

Anàlisi del sistema

Definició del sistema

Necessitarem un ordinador que albergui el software gestor de la base de dades.

Sistema operatiu 
- CentOS 7
Sistema gestor de la base de dades 
- MariaDB
Software de desenvolupament i manteniment de la base de dades 
- MySQL Workbench

Requisits del projecte

Legals

A la base de dades desarem informació referent a persones només per a tenir un control de qui hagi administrat un medicament a un animal. Tal com s'ha definit anteriorment, a la taula de persones, no hi desem informació sotmesa a la Llei de Protecció de Dades; per tant, no es tindrà en compte el compliment de la LOPD en aquest projecte.

Propietat intel·lectual i llicències

El software que s'usarà és tot open source i per tant es pot fer l'ús que se'n vulgui.

  • Pel que fa al sistema operatiu, està desenvolupat i distribuït sota la llicència GPL principalment, és gratuït i, per tant, no es necessita cap permís addicional per a utilitzar-lo.
  • Respecte al SGBD MariaDB també està distribuït sota llicència GNU/GPL. Per tant podem usar aquest software sense cap cost i, fins i tot, podríem modificar-ne el codi font si necessitéssim adaptar-lo a alguna necessitat molt específica.
  • Finalment, el software des del que farem el manteniment també està sotmès a la llicència GNU/GPL2 com la resta de programari necessari per a realitzar aquest projecte.
Es pot trobar més informació sobre aquesta llicència a la següent pàgina web
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html

Accés

El SGBD s'assegurarà mitjançant usuaris per a cada persona que pugui tenir accés al sistema. Tots els usuaris tindran una contrasenya diferent per a autenticar-se.

Gestió de còpies de seguretat

Mètode
El sistema de backups es durà a terme mitjançant la comanda que incorpora MariaDB mysqldump. Es mantindrà una còpia en local i s'enviarà una còpia de l'arxiu resultant a un servidor extern a l'empresa per a tenir encara més seguretat de la còpia en cas de robatori d'equip informàtic, incendis, inundacions, etc. També s'implementarà un sistema de rotació de les còpies de manera que les còpies més antigues s'eliminin del sistema i es vagin mantenint les més recents.
Freqüència
S'estudiarà la freqüència amb la que cal fer les còpies per tal de trobar un equilibri entre espai consumit pels backups i aconseguir la menor pèrdua de dades possible (idealment 0) en cas de necessitat de restaurar d'emergència. S'haurà de tenir en compte que l'espai consumit al principi, mentre la BBDD sigui petita, serà tant baix que permetrà disposar de molts backups sense haver-nos de preocupar de l'espai; però a mida que vagi creixent, s'haurà d'anar arranjant el pla de còpies per a gestionar l'espai consumit ajustant la freqüència amb la que farem còpies i la rotació d'aquestes còpies.
Programació
S'utilitzarà el cron ja inclòs en el sistema operatiu per tal d'agendar els processos de còpia de seguretat, l'enviament de l'arxiu a través de scp cap a un altre servidor remot i la rotació de les còpies.

De manteniment i administració

Hi ha dues opcions possibles:

  • El client s'encarregarà de formar a una persona responsable del manteniment i administració del sistema. El pressupost d'aquest projecte inclou unes hores de formació i explicació del funcionament del sistema per a aquesta persona.
  • Contractar un pla de manteniment amb un pack d'hores mensual a la nostra empresa.

En el cas que el client esculli la segona opció, es farà un pressupost (extern a aquest projecte) adequat al tamany del sistema garantint unes hores de manteniment mensuals màximes que podrà dedicar la nostra empresa per a fer manteniment i administració del sistema.

Definició d'interfícies d'usuari

Especificació del pla de proves

Disseny del sistema

Model conceptual

S'ha produït un error en crear la miniatura: No es pot desar la miniatura a la destinació

Descripció lògica de les taules

Taula animal
animal(idAnimal,dib,dataNaixement)
PK:idAnimal
Taula administració
administracio(idAdministracio,idAnimal,idPersona,idTractament,data)
PK:idAdministracio
FK:idAnimal-->animal(idAnimal)
Taula persona


Taula tipusPersona


Taula tractament


Taula medicaments


Taula medicaments_dels_tractaments


Taula logs

Scripts de prova

Revisió de casos d'ús per subsistema

Requisits d'implantació

Desenvolupament

Entorn de desenvolupament

Base de dades

Procediments

Exportació

Documentació

Implementació

Màquina virtual amb CentOS 7

Importació

Usuari

Configuració del MySQLWorkbench

Annexos

Instal·lació de VirtualBox

Crear una màquina virtual

Instal·lació de CentOS

Crear la connexió amb MySQL Workbench

Gestió de la BBDD des de MySQL Workbench