60
TFC Base de Dades Relacionals Disseny i implementació de la base de dades d’un sistema de votació ciutadà a nivell Europeu a través d’Internet Maria del Carmen León Lucena ETIG Jordi Ferrer Duran 15 de gener de 2012

Disseny i implementació de la base de dades d’un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/11368/1/memoria.pdf · TFC Base de Dades Relacionals Disseny i implementació

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

TFC Base de Dades Relacionals

Disseny i implementació de la base de dades d’un sistema de votació ciutadà a nivell Europeu a través d’Internet Maria del Carmen León Lucena ETIG Jordi Ferrer Duran 15 de gener de 2012

Maria del Carmen León Lucena 2

Índex

1 Introducció ................................................................................................................... 4 

1.1 Justificació i context en el qual es desenvolupa ................................................... 4 

1.2 Objectius ............................................................................................................... 4 

1.3 Enfocament i metodologia seguida ....................................................................... 5 

1.4 Planificació del projecte ........................................................................................ 6 

1.4.1 Calendari i disponibilitat .................................................................................. 6 

1.4.2 Dates claus del projecte ................................................................................. 6 

1.4.3 Planificació temporal ...................................................................................... 7 

1.4.4 Diagrama de Gantt ......................................................................................... 7 

1.5 Recursos ............................................................................................................... 9 

1.5.1 Recursos materials ......................................................................................... 9 

1.5.1.1 Recursos de maquinari (Hardware) ....................................................... 10 

1.5.1.2 Recursos de programari (Software) ....................................................... 10 

1.5.2 Recursos tècnics .......................................................................................... 10 

1.5.3 Recursos humans ......................................................................................... 11 

1.6 Anàlisis dels riscos i mesures preventives .......................................................... 12 

1.7 Productes obtinguts ............................................................................................ 13 

1.8 Breu descripció d’altres capítols de la memòria .................................................. 13 

2 Anàlisis del sistema ................................................................................................... 14 

2.1 Requisits funcionals del sistema ......................................................................... 14 

2.1.1 Regles de negoci .......................................................................................... 14 

2.2 Requisits de metodologia .................................................................................... 16 

3 Disseny del sistema ................................................................................................... 17 

3.1 Disseny Conceptual ............................................................................................ 17 

3.1.1 Diagrama entitat-relació UML ....................................................................... 17 

3.1.2 Identificació de les entitats ........................................................................... 18 

3.1.3 Identificació de les relacions ......................................................................... 18 

3.2 Disseny lògic ....................................................................................................... 19 

3.2.1 Diagrama Lògic Relacional ........................................................................... 19 

3.2.2 Identificació dels atributs .............................................................................. 20 

3.3 Disseny físic ........................................................................................................ 24 

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 3

3.3.1 Creació de la Base de Dades ....................................................................... 24 

3.3.2 Creació de Tablespace ................................................................................. 24 

3.3.3 Creació d’usuaris .......................................................................................... 25 

3.3.4 Creació de taules .......................................................................................... 25 

3.3.5 Creació d’índexs ........................................................................................... 30 

3.3.6 Mòdul estadístic ............................................................................................ 30 

3.3.7 Taula Log ...................................................................................................... 30 

4 Implementació ........................................................................................................... 30 

4.1 Procediments ...................................................................................................... 31 

4.1.1 Procediments d’alta, baixa i modificació ....................................................... 31 

4.1.1.1 Votacions ............................................................................................... 31 

4.1.1.2 Censos ................................................................................................... 34 

4.1.1.3 Ciutadà ................................................................................................... 43 

4.1.2 Procediment de Consultes ............................................................................... 46 

4.1.3 Procediment del mòdul d’estadístiques ........................................................... 48 

5 Proves ........................................................................................................................ 51 

5.1 Càrrega inicial de les dades ................................................................................ 51 

5.2 Proves ................................................................................................................. 51 

5.2.1 Proves d’alta, baixa i modificacions .............................................................. 51 

5.2.2 Proves de les consultes ................................................................................ 54 

5.2.2.1 Procediments de les consultes .............................................................. 54 

5.2.2.2 Mòdul estadístiques ............................................................................... 55 

5.2.2.3 Comprovacions dels logs ....................................................................... 56 

6 Valoració econòmica ................................................................................................. 57 

7 Conclusions ............................................................................................................... 58 

8 Glossari ...................................................................................................................... 59 

9 Bibliografia ................................................................................................................. 60 

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 4

1 Introducció

1.1 Justificació i context en el qual es desenvolupa

La Comunitat Europea desitja implementar una aplicació per a gestionar les votacions

ciutadanes a través d'Internet. Aquesta, dins de la partida pressupostària destinada a

fomentar la participació ciutadana dins de l'àmbit polític Europeu, ha decidit obrir un

concurs públic per rebre propostes sobre el disseny d'una base de dades (BD) que els

hi serveixi de magatzem d'informació per a la futura aplicació.

La tasca principal del projecte consisteix només en el disseny i implementació de la

base de dades, donat que l'aplicació de gestió es desenvoluparà en una segona fase

del pla de sistemes d'informació de la Comunitat Europea. Aquesta ha de gestionar

votacions i la seva informació associada, censos dins de l'àmbit Europeu i ciutadans i

la seva assignació als censos. Amb aquesta informació, el sistema ha de permetre

guardar el nombre de persones amb capacitat de vot en el moment del tancament de

la mateixa, els vots totals que s'han emès realment dins de cada votació, el

percentatge de participació, així com emmagatzemar el nombre de vots obtinguts per a

cadascuna de les opcions i el percentatge respecte al total. A partir de totes les dades

recollides, el sistema ha de permetre generar llistats més habituals i s'encarregarà de

precalcular i emmagatzemar diversa informació estadística.

1.2 Objectius

L'objectiu principal d'aquest Treball Final de Carrera (TFC) és consolidar els

coneixements adquirits al llarg dels estudis d’Enginyeria Tècnica en Informàtica

sobretot pel que fa a assignatures relacionades amb les bases de dades com són

Base de Dades I (BDI), Base de Dades II (BDII) i Sistemes Gestors de Base de Dades

(SGBD) o d'altres com Enginyeria del programari, Estructura de la informació o

Tècniques de desenvolupament del programari, a partir d’un cas concret.

Per assolir aquest objectiu, es farà un proposta, tot seguint unes restriccions i tasques,

tal que es realitzarà:

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 5

Disseny de la base de dades (Utilitzant diagrama E/R).

Creació dels scripts de creació de taules, índexs, disparadors, etc.

Implementació de procediments necessaris.

Implementació d’un mecanisme d’inicialització de la base de dades i d’un joc

exhaustiu de proves per garantir el bon funcionament de les funcionalitats

implementades, així com el control d’errors i de situacions d’excepcions.

1.3 Enfocament i metodologia seguida

Com tot sistema, el projecte estarà dividit en una sèrie d’etapes successives on es

garantirà els terminis. Aquesta metodologia és coneguda com el nom de cicle de vida

del programari.

Dins del cicle de vida del programari, existeixen diferents models, essent el model en

cascada el que seguirà el projecte, donat que aquest model ordena rigorosament les

etapes del cicle de vida del programari de tal manera que, l’inici de cadascuna de les

etapes ha d’esperar la finalització de la immediatament anterior.

Les fases que es preveuen en el nostre projecte són:

Recollida i anàlisis de requeriments

Es realitza un estudi dels requeriments i l’abast del projecte. S’estableix

l’arquitectura general del projecte i la planificació del projecte.

Disseny

Es realitza el disseny de l’estructura de la base de dades a partir dels

requeriments del client, amb les seves funcionalitats i restriccions.

PAC 1

PAC 2

PAC 3

Lliurament

Figura 1: Model en cascada

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 6

Implementació

Es desenvolupa la base de dades tenint en compte tots els requeriments

funcionals.

Proves i lliurament

Es realitza les ultimes proves per a verificar el correcte funcionament de la

base de dades, per tal de lliurar el producte al client per a la seva utilització.

1.4 Planificació del projecte

Per a una correcta realització de la feina, s’ha de tenir en compte la temporització

correcte de les tasques.

1.4.1 Calendari i disponibilitat

A continuació s’indica les dates clau del projecte:

Data d’inici del projecte Data fi del projecte Total setmanes Total dies Total hores setmanals

21/09/2011 15/01/2011 17 117 dies 15 - 18 h

El nombre totals de dies totals del projecte són 117 dies (caps de setmanes inclosos),

és a dir, unes 17 setmanes. L’estimació global del nombre d’hores necessàries per a la

realització d’aquest projecte, segons disponibilitat, és d’entre 255 i 306 hores.

1.4.2 Dates claus del projecte

Segons la planificació proposada, les dates d’entrega del projecte es distribueixen de

la següent manera:

Data fi Durada

(dies)

Durada

(hores) Activitat Descripció detallada

21/09/2011 1 - Inici Inici del semestre i lliurament de l’enunciat

09/10/2011 18 dies 45 hores PAC 1 Lliurament previst per a la PAC 1 (Pla de treball)

13/11/2011 35 dies 75 hores PAC 2 Lliurament previst per a la PAC 2

14/12/2011 31 dies 90 hores PAC 3 Lliurament previst per a la PAC 3

15/01/2012 32 dies 70 hores Lliurament final Lliurament previst per a la memòria, la presentació i el producte

27/01/2012 5 dies - Debat final Debat final previst per al projecte

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 7

1.4.3 Planificació temporal

La planificació temporal de les tasques a realitzar és la següent:

Nom de la tasca Data inici Data fi Durada (dies) Durada

(hores)

TFC Base de Dades Relacionals dc 21/09/11 dg 15/01/12 84 dies 280 h.

Inici del semestre dc 21/09/11 dc 21/09/11 1 dia -

PAC 1 - Planificació dj 22/09/11 dg 09/10/11 13 dies 45 h.

Recopilació del material dj 22/09/11 dj 22/09/11 1 dia 6 h.

Lectura de l'enunciat dj 22/09/11 dj 22/09/11 1 dia 1 h.

Identificació de les tasques dv 23/09/11 dv 23/09/11 1 dia 3 h.

Elaboració d'un esborrany inicial ds 24/09/11 dg 25/09/11 2 dies 4 h.

Definició dels objectius dl 26/09/11 dl 26/09/11 1 dia 6 h.

Enfocament i metodologia a seguir dt 27/09/11 dt 27/09/11 1 dia 6 h.

Elaboració de la planificació dc 28/09/11 dv 30/09/11 3 dies 12 h.

Anàlisis dels riscos dl 03/10/11 dt 04/10/11 2 dies 3 h.

Anàlisis del cost dc 05/10/11 dj 06/10/11 2 dies 3 h.

Revisió documentació PAC 1 dv 07/10/11 dv 07/10/11 1 dia 1 h.

Lliurament del la PAC 1 dg 09/10/11 dg 09/10/11 1 dia -

PAC 2 - Anàlisis i disseny dl 10/10/11 dg 13/11/11 26 dies 75 h.

Elaboració d'un esborrany inicial dl 10/10/11 dm 12/10/11 3 dies 10 h.

Anàlisis del sistema dm 12/10/11 dv 14/10/11 3 dies 20 h.

Anàlisis dels requeriments dm 12/10/11 dv 14/10/11 3 dies 20 h.

Disseny del sistema dl 17/10/11 dv 04/11/11 15 dies 45 h.

Disseny conceptual dl 17/10/11 dv 21/10/11 5 dies 5 h.

Disseny lògic dl 24/10/11 dv 28/10/11 5 dies 20 h.

Disseny físic dl 31/10/11 dv 04/11/11 5 dies 20 h.

Lliurament del la PAC 2 dc 13/11/11 dc 13/11/11 1 dia -

PAC 3 - Implementació dl 14/11/11 dc 14/12/11 23 dies 90 h.

Elaboració d'un esborrany inicial dl 14/11/11 dt 15/11/11 2 dies 10 h.

Implementació de la base de dades dt 15/11/11 dv 09/12/11 19 dies 63 h.

Creació script càrrega dades dt 15/11/11 dv 18/11/11 4 dies 5 h.

Creació script restriccions dl 21/11/11 dv 25/11/11 5 dies 18 h.

Creació de procediments i disparadors dl 28/11/11 dv 02/12/11 5 dies 40 h.

Proves dl 05/12/11 dv 09/12/11 5 dies 14 h.

Revisió documentació PAC 3 dl 12/12/11 dl 12/12/11 1 dia 3 h.

Lliurament del la PAC 3 dc 14/12/11 dc 14/12/11 1 dia -

Lliurament final dj 15/12/11 dg 15/01/12 23 dies 70 h.

Proves finals dj 15/12/11 dl 26/12/11 8 dies 15 h.

Document de presentació dt 27/12/12 dv 30/12/12 4 dies 20 h.

Memòria final dl 02/01/12 dj 12/01/12 9 dies 25 h.

Revisió documentació lliurament final dv 13/01/12 dv 13/01/12 1 dia 10 h.

Lliurament final dg 15/01/12 dg 15/01/12 1 dia -

Debat final dl 23/01/12 dv 27/01/12 5 dies -

Intervenció en el debat final dl 23/01/12 dv 27/01/12 5 dies -

1.4.4 Diagrama de Gantt

La planificació obtinguda amb el diagrama de Gantt és la següent:

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 8

PAC 1

Figura 2: Diagrama de Gantt del projecte

Figura 3: Diagrama de Gantt PAC 1

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 9

PAC 2

PAC 3

Lliurament final

1.5 Recursos

Els recursos es poden classificar com: recursos materials, tècnics i humans.

1.5.1 Recursos materials

Els recursos materials són els mitjans físics i concrets que ajuden a aconseguir un

objectiu. En el nostre cas és el disseny i la implementació d’una base de dades.

Els recursos materials que es faran servir són els recursos de maquinari (hardware) i

els recursos de programari (software):

Figura 4: Diagrama de Gantt PAC 2

Figura 5: Diagrama de Gantt PAC 3

Figura 6: Diagrama de Gantt Lliurament final

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 10

1.5.1.1 Recursos de maquinari (Hardware)

Aquest son els recursos de maquinari que s’utilitzaran:

Ordinador de sobretaula

o Processador: Intel Core i7, CPU 920 @ 2,67Ghz.

o Disc dur sata: 1 TB.

o Memòria RAM: 8 GB.

Monitor TFT

o Samsung 19’’ multimèdia.

Teclat i ratolí

o HP teclat i ratolí amb cable.

o Teclat amb lector de targetes.

o Ratolí optic.

1.5.1.2 Recursos de programari (Software)

Aquest son els recursos de programari que s’utilitzaran:

Sistema operatiu: Windows 7 (64 bits).

Sistema Gestor de Base de dades (SGBD): Oracle Express v10.2.0.1.

Entorn integrat de desenvolupament SQL: Oracle SQL Developer v10.0.15.

Entorn ofimàtic: Microsoft Office 2010 Professional.

Planificació i gestor de recursos (Diagrama de Gantt): Microsoft Project

2010.

Eina CASE (UML): ArgoUML v0.32.2.

Eina de conversió de documents a PDF: Pdf Creator.

1.5.2 Recursos tècnics

Els recursos tècnics són tot aquells recursos que permetrà al recurs humà

desenvolupar en forma adequada les seves funcions.

Comentat anteriorment, dins de la metodologia que utilitzem, el model utilitzat en

aquest projecte, el model en cascada, ens dona les fases clau per a la construcció del

software per aquest projecte:

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 11

Anàlisi i disseny: Definició de les necessitats del projecte i disseny de

l’estructura per donar resposta a les necessitats. Utilització de diagrames de

flux i diagrames de classes, entre d’altres.

Programació: Es procedeix a convertir a codi el disseny donat. El llenguatge

de programació utilitzat és SQL

Proves (Testing): Es prova el programa per tal detectar diferents

anomalies/error que s’hauran de corregir. D’aquesta manera dotaran al

programa d’estabilitat i fiabilitat.

Correcció d’errors / reprogramació: En cas de detecció d’errors o anòmales

en la fase anterior, es tornar a reprogramar aquest problemes.

Documentació: Es documenta tota la informació relacionada amb el projecte,

tant el codi com les anotacions pertinents.

1.5.3 Recursos humans

Els recursos humans són els conjunt de treballadors que formen en la realització del

projecte. S’estima que es necessitaran 5 tipus de treballadores, cadascun dels quals

tindrà assignada una funció, tasques imprescindibles per el correcte desenvolupament

del projecte.

Cap de projecte: Té les funcions de fer la planificació detallada del projecte, de

l’organització de l’equip, administrar el projecte (costos, temps d’entrega),

assignar responsabilitats, coordinar l’equip representar el projecte, prendre les

decisions oportunes, anticipar-se als possibles problemes, comunicació amb el

client.

Analista: Traduir les necessitats del client ens instruccions i crear un model

informàtic.

Programador: Desenvolupar el disseny de la base de dades a partir del

disseny elaborat per l’analista.

Provador: Procedeix a realitzar les respectives proves que possibiliten

l'avaluació de la funcionalitat i usabilitat del projecte implementat.

Documentalista: Elaborar la documentació necessària que recollirà la

informació de tot el projecte.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 12

1.6 Anàlisis dels riscos i mesures preventives

A continuació s’avaluaran les causes de les possibles amenaces i probables

esdeveniments no desitjats i els danys i conseqüències que aquestes puguin produir

durant la realització del projecte i es donarà unes mesures preventives.

Els riscos possibles que es poden ocasionar són els següents:

Riscos de costos

Causes: Augment en els costos de desenvolupament previstos o una mala

estimació dels costos durant la fase d’inicialització.

Mesura preventiva: S’ha de fer una previsió de costos molt més elevada per poder

garantir un cost de desenvolupament correcte.

Riscos de calendari

Causes: Sobrepassar el calendari revist o per una mala estimació del temps

necessari, un increment en els esforços en la resolució de problemes operacions,

una mala assignació dels recursos o una assignació de recursos no plantejada o

una pèrdua de recursos humans no prevista.

Mesura preventiva: La planificació del projecte s’ha de realitzar tenint en compte

tots aquest factors. S’ha de fer una previsió pensant en el pitjor dels casos. Així

doncs, si una tasca a de durar un dia, s’ha de fer com a mínim una previsió de dos

per tenir en compte els possibles riscos de temps.

Riscos tecnològics

Causes: Problemes en el maquinari o programari o la pèrdua de les dades degut a

algun tipus d’anomalia.

Mesura preventiva: Per tal de no perdre dades, es farà una còpia de seguretat de

tota la informació del projecte i s’emmagatzemarà en una memòria USB o en un

disc dur extern.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 13

1.7 Productes obtinguts

Un cop finalitzat el projecte, el producte obtingut estarà format per els següents

materials:

Producte: Consta de tots els desenvolupaments realitzats, referents a la base

de dades.

Memòria: Document amb tota la informació complerta del projecte (planificació,

objectius, resultats...)

Presentació: Resum clar i concís en forma de diapositives del treball realitzat.

1.8 Breu descripció d’altres capítols de la memòria

Tenint en compte el que s’ha descrit en el primer capítol del projecte, aquest són el

contingut de la resta de capítols:

Capítol 2. Anàlisi de la Base de Dades. A partir dels requeriments del client,

en aquest capítol es farà l’anàlisi de la Base de Dades obtenint el model ER i

essent la base per a la implementació del projecte.

Capítol 3. Disseny de la Base de Dades. A partir dels requeriments del client,

en aquest capítol es farà l’anàlisi i el disseny de la Base de Dades obtenint el

model ER i essent la base per a la implementació del projecte.

Capítol 4. Implementació de la Base de Dades. Un cop tenim el disseny previ

realitzat al capítol anterior, en aquest capítol s’implementarà i programarà

cadascuna de les funcionalitats que requereix el sistema. Es tracta de

procediments emmagatzemats, control d’error, etc.

Capítol 5. Proves. Es realitzaran les proves per a comprovar el correcte

funcionament del sistema per tal de complir amb els requisits demanats.

Capítol 6. Valoració econòmica. Valoració del cost del producte a

desenvolupar i els recursos necessaris per a això.

Capítol 7. Conclusions. Valoracions finals del treball realitzat.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 14

2 Anàlisis del sistema

En aquesta etapa es recull i analitza els requeriments del sistema. Aquest requisits es

detallaran a continuació.

2.1 Requisits funcionals del sistema

Els requisits funcionals del sistema per a realitzar el disseny del sistema són els següents:

2.1.1 Regles de negoci

Ref. Descripció

R1

Ha de permetre guardar les dades associades a una votació, com a mínim:

Títol de la votació, per la seva identificació ràpida per part dels ciutadans.

Descripció de la votació i de les diferents opcions ha triar per el ciutadà (cada votació tindrà un mínim de

dues opcions i no hi haurà un màxim establert).

Interval de dates entre les quals està oberta la votació als ciutadans.

Data de publicació de la votació (serà sempre un mínim d’una setmana abans que s’obri la votació per

part dels ciutadans per tal de deixar un període de reflexió).

Cens o censos electorals habilitats a votar en funció de l’àmbit de la votació. Una votació podrà tenir més

d’un cens electoral assignat.

El nom del president de la mesa electoral virtual, serà obligatori en tots els casos.

L’adreça web opcional on hi haurà explicacions més detallades de la votació.

R2

Haurà de permetre guardar:

El nombre de persones amb capacitat de vot en el moment del tancament de la mateixa.

Els vots totals que s’han emès realment dins de cada votació, així com el percentatge de participació.

El nombre de vots que ha tingut cadascuna de les opcions i el percentatge que aquests suposen respecte

al total.

R3

Ha de permetre la gestió dels diferents censos electorals, concretament de quatre tipus de cens electorals:

CENS GLOBAL: inclou a tots els ciutadans amb més de 18 anys corresponents a tots els països de la

comunitat europea. Només hi haurà una instància d’aquest cens.

CENS ESTATAL: correspon a tots els ciutadans d’un determinat país de la Comunitat Europea, en

aquest cas s’ha de guardar com a metadada el codi del país en qüestió segons la codificació ISO 3166-1

alfa 2 .Hi haurà una instància d’aquest cens per a cada país de la comunitat.

CENS REGIONAL: inclou a tots els ciutadans d’una regió concreta d’Europa. En aquest tipus de cens es

guardarà també la dada de a quin país pertany i el nom de la regió en qüestió.

CENS LOCAL: Aquest tipus de cens inclourà a tots els ciutadans d’un determinat poble o ciutat d’Europa.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 15

És molt similar a l’anterior tot i que a més del codi de país i de regió inclourà la metadada del nom del

poble o ciutat al que fa referència.

R4

Un ciutadà pot pertànyer a més d’un cens. S’ha de controlar que una persona física, encara que pugui estar

en diferents censos, només pugui emetre un únic vot dins d’una votació concreta. Un cop emès aquell vot no

es podrà anul·lar ni rectificar.

R5

Per a mantenir el secret de les votacions la BD només guardarà un codi aleatori associat a cada ciutadà, així

com l’edat del mateix. Aquest codi actuarà com a àlies del ciutadà, permetent que aquest emeti vots de forma

anònima

La Base de dades no guardarà ni el nom del ciutadà, ni cap altra dada que pugui violar el dret a la votació

secreta, aquestes dades es guardaran xifrades en un altra base de dades separada físicament i controlada

per un departament de seguretat especial i per tant no entrarien dins del disseny que ens demanen.

La Base de Dades guardarà per a cada ciutadà, amb finalitats estadístiques i també per a determinar la

pertinença del ciutadà a un determinat cens, les següents dades: el codi de país, la regió i la localitat.

R6

L’aplicació haurà de disposar, com a mínim, de les funcionalitats següents:

Procediments d’ABM (Alta + Baixa + Modificació) de les votacions i de la seva informació associada:

opcions, vots emesos, censos associats, etc...

Procediments d’ABM dels diferents censos dins de l’àmbit Europeu.

Procediments d’ABM dels ciutadans i de la seva assignació als censos.

Procediments de consulta que permetin obtenir:

a. Donat un país per paràmetre: el llistat de totes les votacions que s’hi han produït (és a dir, que han

tingut assignat algun cens pertanyent a aquell país o al cens global). En aquest llistat caldrà

retornar la següent informació bàsica:

Títol de la votació, data d’inici i de fi de la votació, nombre total de ciutadans dins dels censos

associats a la votació, estat en que es troba la votació, p.e : en edició, pendent d’obertura, oberta,

finalitzada i si la votació ha estat finalitzada: percentatge de participació total, opció guanyadora i

percentatge de vots de l’opció guanyadora. En cas que no estigui finalitzada hauria de sortir un “-”

en aquests camps.

Tot això ordenat cronològicament de forma ascendent per la data d’inici de la votació.

b. Llistat de les 10 votacions on hi ha hagut més diferencia percentual de vots entre l’opció més votada

i la menys votada, indicant:

Títol de la votació, data d’inici i de fi de la votació, opció més votada i el seu percentatge respecte el

total, opció menys votada i el seu percentatge respecte el total, diferència percentual entre les dues

opcions anteriors

Ordenat descendentment per la diferència percentual de les dues opcions.

c. El mateix llistat que l’anterior però en aquest cas les 10 votacions que han tingut menys diferència

percentual de vots entre l’opció més votada i la menys.

d. Donat el codi aleatori que identifica un ciutadà, el llistat de tots els censos als que pertany. Aquesta

funcionalitat servirà per a que un ciutadà pugui consultar a quins censos pertany.

e. Donat el codi aleatori que identifica un ciutadà, el llistat de les votacions en les que ha participat i en

les que no. Aquesta funcionalitat servirà per a que un ciutadà pugui consultar el seu històric de

participació en votacions per pantalla.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 16

Es valorarà la implementació d’altres procediments o funcionalitats que puguin ser d’utilitat, sempre i quan

estiguin documentades i consensuades amb el consultor.

R15

Haurà de disposar d’un mòdul estadístic que s’haurà d’alimentar a partir dels procediments que implementin

les funcionalitats esmentades, per tal d’oferir les dades següents en temps constant 1, és a dir, fer una

SELECT sobre un registre d’una taula (que no sigui una vista calculada o materialitzada, ni fent servir

funcions d’agregats : sum, avg, etc .. amb group by).

El mòdul estadístic haurà de donar resposta a les consultes següents:

1. Donat un país i un any concret: el nombre de votacions finalitzades que s’hi han produït.

2. Donat un cens i un any concret: el valor mitjà del percentatge de participació, tenint en compte totes les

votacions associades a aquell cens electoral que han finalitzat durant aquell any.

3. Donat un cens i un any concret: el nombre de votacions que ha tingut associades aquell cens durant

aquell any.

4. Donat un any concret: la votació que més participació ha tingut.

5. Donat un any concret: la localitat europea que més vots han emès els seus ciutadans.

6. Donat un any concret: percentatge de ciutadans que mai han votat.

7. Votació que històricament ha tingut més participació.

8. Votació que històricament ha tingut més diferència percentual entre l’opció més votada i la menys.

9. Votació que històricament ha tingut menys diferència percentual entre l’opció més votada i la menys.

10. Número màxim de votacions en les que ha participat una mateixa persona i el país d’aquesta persona,

tenint en compte tota la història de votacions d’Europa.

Les respostes del mòdul estadístic han de ser immediates i aquest ha d’estar sempre actualitzat amb la

darrera informació de la BD, és a dir, NO es poden utilitzar jobs que s’executin per la nit i que emplenin les

dades estadístiques (tot i que aquest sigui un procediment habitual en l’àmbit de les bases de dades per a un

datawarehouse).

2.2 Requisits de metodologia

Per a estandarditzar el sistema que s’ha de fer, es demana explícitament que els

procediments emmagatzemats compleixin les condicions següents, que no podran ser

obviades pel futur enginyer informàtic que desenvolupi el sistema:

Com a mínim disposaran d’un paràmetre de sortida anomenat RSP, de tipus

string, que indicarà si l’execució ha finalitzat amb èxit (valor ‘OK’) o si ha

fracassat (valor ‘ERROR+TIPUS D’ERROR’)

Disposaran de tractament d’excepcions.

Emmagatzemaran totes les crides a procediments que es facin en una taula de

log, emmagatzemant el procediment executat, els paràmetres d’entrada i els de

sortida.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 17

3 Disseny del sistema

En aquest fase es descriuen amb més detall els objectius de cadascuna de les etapes

del disseny de Bases de Dades.

El disseny consta de tres fases: disseny conceptual, disseny lògic i disseny físic.

3.1 Disseny Conceptual

El disseny conceptual és la primera fase del disseny de la Base de dades. Aquest

disseny és independent de qualsevol consideració física: del model de Base de Dades

emprat, de l’ordinador, del sistema gestor de base de dades, etc.

La representació gràfica del disseny a través del diagrama entitat-relació (UML) i

s’analitzarà els diferents elements del sistema: les entitats, els atributs i les relacions.

3.1.1 Diagrama entitat-relació UML

Figura 7: Diagrama entitat-relació UML

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 18

3.1.2 Identificació de les entitats

Analitzats els requisits del sistema, s’identificaran les diferents entitats del sistema.

Entitats principals: Les entitats principals són les entitats que formen la

estructura bàsica del disseny.

Les entitats principals de disseny són les següents:

Opció, votació, ciutadà, censPais, censRegio, censLocal, país, regió, localitat

Entitats intermèdies: Les entitats intermèdies són les que salven una relació

del tipus n-m. Les entitats principals de disseny són les següents:

censPaisRegio, paisRegio, ciutadaOpcio

Entitats auxiliars: Les entitats auxiliars són les entitats que necessitem per les

dades que contenen. Es poden vincular o no a les demès entitats. Les entitats

principals de disseny són les següents:

log, votacionsFinalitzades, mitjaPercentatgeParticipacio, votaciocens,

votacioMesParticipacio, localitatMesVots, percentatgeCiutadaMaiVot,

votacioHistoriaMesParticipacio, votacioHistoriaMesDiferencia,

votacioHistoricaMenysDiferencia, maxVotacionsPersona.

3.1.3 Identificació de les relacions

A continuació, s’identificaran les diferents relacions entre les entitats descrites

anteriorment.

Relació Descripció

Votacio – Opcio (1:N) En una votació es poden triar diferents opcions

Opcio – Ciutada (N:M) Cada ciutadà elegirà una opció

Votacio – CensPais (1:N) Una votació pot tenir molts països

CensPais – CensRegio (N:M) Un cens país pertany a més d’un cens regió i un cens regió pot estar en

més d’un cens país

CensRegio – CensLocal (1:N) Un cens regió pertany a més d’un cens local

CensLocal – CiutadaOpcio (1:N) Cada ciutadà pertany a un cens local

Pais – CensPais (1:N) Cada cens país és d’un país

Regio – CensRegio (1:N) Cada cens regió és d’una regió

Localitat – CensLocal (1:N) Cada cens local és d’una localitat

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 19

3.2 Disseny lògic

El disseny lògic és independent dels detalls d'implementació i dependent del tipus de

SGBD que es vagi a utilitzar. La sortida d'aquesta etapa és l'esquema lògic global i la

documentació que ho descriu. A continuació es descriu aquesta etapa en detall.

3.2.1 Diagrama Lògic Relacional

Figura 8: Diagrama lògic relacional

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 20

3.2.2 Identificació dels atributs

A continuació, s’identificaran cadascun dels atributs de les diferents entitats.

VOTACIÓ - Votacions ciutadanes

Atribut Descripció de l’atribut idVotacio Identificador de les votacions titol Títol d’identificació ràpida per part dels ciutadans descripció Descripció de la votació dataInici Data d’inici de la votació dataFi Data final de la votació dataPublicacio Data de publicació de les votacions president Nom del president de la mesa electoral virtual

censGlobal Cens global que inclou a tots els ciutadans amb més de 18 anys corresponent a tots els països de la comunitat europea

web Adreça web opcional on hi haurà explicacions detallades de la votació

totalCiutadans Nombre total de ciutadans amb capacitat de vot en el moment del tancament de la votació

votsTotals Nombre de vots totals que s’ha emès realment dins de cada votació percentatgeVotacio Percentatge de participació Claus primàries: idVotacio OPCIO - Diferents opció que podran triar els ciutadans Atribut Descripció de l’atribut idOpcio Identificador de les opcions idVotacio Identificador de la votació opcio Nom de l’opció votsTotals Nombre de vots que han tingut cadascuna de les opcions percentatge Percentatge de vots totals que suposen respecte el total Claus primàries: idOpcio Claus Foranees: idVotacio referència VOATACIO

PAIS - Països de la Comunitat Europea

Atribut Descripció de l’atribut

codiPais Codi del país segons codificació ISO 3166-1 alfa 2 pais Nom del país Claus primàries: codiPais

PAISREGIO - Països i Regions de la Comunitat Europea

Atribut Descripció de l’atribut idPaisRegio Identificador del país d’una regió idPais Identificador de la regió idRegio Identificador de la regió Claus primàries: idPaisRegio Claus Foranees: idPais referència PAIS; idRegio referència REGIO

REGIO - Regions dels països de la Comunitat Europea

Atribut Descripció de l’atribut idRegio Identificador de la regió regio Nom de la regió

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 21

Claus primàries idRegio

LOCALITAT - Localitats de les regions dels països de la Comunitat Europea

Atribut Descripció de l’atribut idLocalitat Identificador de la localitat idRegio Identificador de la regió de la localitat localitat Nom de la localitat Claus primàries: idLocalitat Claus Foranees: idRegio referència REGIO CENSPAIS - Cens dels països de la Comunitat Europea

Atribut Descripció de l’atribut idCensPais Identificador del cens del país idVotacio Identificador de la votació idPais Identificador del país Claus primàries: idCensPais Claus Foranees: idVotacio referència VOTACIO; idPais referència PAIS CENSPAISREGIO - Cens dels països i de les regions de la Comunitat Europea

Atribut Descripció de l’atribut idCensPaisRegio Identificador del cens del país d’una regió idCensPais Identificador del cens del país idCensRegio Identificador del cens de la regió idPais Identificador del país idRegio Identificador de la regió Claus primàries: idCensPaisRegio Claus Foranees: idCensPais referència CENSPAIS; idCensRegio referència CENSREGIO; idPais referència PAIS; idRegio referència REGIO CENSREGIO - Cens de les regions dels països de la Comunitat Europea

Atribut Descripció de l’atribut idCensRegio Identificador del cens de la regió idRegio Identificador de la regió Claus primàries: idCensRegio CENSLOCAL - Cens de les localitats de les regions dels països de la Comunitat Europea

Atribut Descripció de l’atribut idCensLocal Identificador dels censos de les localitats idCensRegio Identificador dels censos de les regions idLocalitat Identificador de les localitats Claus primàries: idCensLocal Claus Foranees: idCensRegio referència CENSREGIO; idLocalitat referència LOCALITAT

CIUTADA - Dades del ciutadà

Atribut Descripció de l’atribut codi Codi aleatòria identificador de cada ciutadà edat Edat del ciutadà Claus primàries: codi

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 22

CIUTADAOPCIO - Dades del ciutadà i l’opció escollida

Atribut Descripció de l’atribut idCiutadaOpcio Identificador del ciutadà i l’opció escollida idCiutada Identificador del ciutadà idCensLocal Identificador del cens local idOpcio Identificador de l’opció escollida Claus primàries: idCiutadaOpcio Claus Foranees: idCiutada referència CIUTADA; idCensLocal referència CENSLOCAL; idOpcio referència OPCIO

LOG - Crides a procediments que es fan en una taula

Atribut Descripció de l’atribut idLog Identificador del log nomProcediment Nom del procediment emmagatzemat data Data d’inserció del log parametreEntrada Paràmetres d’entrada separats per comes parametreSortida Paràmetres de sortida separats per comes

RSP Identificador si l’execució a finalitzat amb èxit (valor ‘OK’) o si ha fracassat (valor ‘ERROR+TIPUS D’ERROR’)

Claus primàries: idLog

Mòdul estadístic VOTACIONSFINALITZADES - Nombre de votacions finalitzades que s’hi ha produït donat un país i un any concret.

Atribut Descripció de l’atribut idVotacionsFinalitzades Identificació de les votacions finalitzades idPais Identificació del país anys Any de les votacions finalitzades nombreVotacionsFinalitzades Nombre total de les votacions finalitzades Claus primàries: idVotacionsFinalitzades MITJAPERCENTATGEPARTICIPACIO – Valor mitjà del percentatge de participació de lles votacions associades a un cens electoral durant un any concret.

Atribut Descripció de l’atribut idMitjaPerPart Identificació de la mitja del percentatge de participació idCens Identificació del cens anys Any participació totalVotacions Total de votacions valorMitjaPerPart Valor mitjà del percentatge de participació Claus primàries: idMitjaPerPart VOTACIONSCENS - Votació que més participació ha tingut donat un any concret.

Atribut Descripció de l’atribut idVotacionsCens Identificació de la votació amb més participació donat un any concret idCens Identificació del cens anys Any de les votacions amb més participacions nombreVotacionsCens Valor de la votació amb més participació d’un any concret Claus primàries: idVotacionsCens VOTACIOMESPARTICIPACIO - Votació que més participació ha tingut donat un any concret.

Atribut Descripció de l’atribut idVotacioMesPart Identificació de la votació amb més participació donat un any concret

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 23

anys Any de les votacions amb més participació participacio Total participació votacioMesPart Valor de la votació amb més participació d’un any concret Claus primàries: idVotacionsMesPart LOCALITATMESVOTS - Localitat europea que més vots han emès els seus ciutadans donat un any concret.

Atribut Descripció de l’atribut

idLocalitatMesVots Identificació de la localitat que més vots a emès els seus ciutadans donat un any concret

anys Any votsTotals Total de vots

votacioMesParticipació Valor de la localitat que més vots a emès els seus ciutadans donat un any concret

Claus primàries: idLocalitatMesVots PERCENTATGECIUTADAMAIVOT - Percentatge de ciutadans que mai han votat donat un any concret.

Atribut Descripció de l’atribut idPerCiutadaMaiVot Identificació del percentatge de ciutadans que mai han votat donat un any concret anys Any del percentatge de ciutadans que mai han votat donat un any concret perCiutadaMaiVot Valor del percentatge de ciutadans que mai han votat donat un any concret Claus primàries: idPerCiutadaMaiVot

VOTHISTORICAMESPARTICIPACIO - Votació que històricament ha tingut més participació.

Atribut Descripció de l’atribut

idVotHisMesPart Identificació votació que històricament ha tingut més participació totalVots Número total de vots votHisMesPart Votació que històricament ha tingut més participació Claus primàries: idVotHisMesPart VOTHISTORICADIFERENCIA - Votació històricament ha tingut més/menys diferència percentual entre l’opció més votada i la menys.

Atribut Descripció de l’atribut

idVotHisDif Identificació votació que històricament ha tingut mes diferència percentual entre l’opció més votada i la menys

votHisDif Votació que històricament ha tingut mes diferència percentual entre l’opció més votada i la menys

maxPercentual Màxim percentual de la votació minPercentual Mínim percentual de la votació difPercentual Diferència percentual de la votació Claus primàries: idVotHisDif

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 24

3.3 Disseny físic

El Disseny Físic de la Base de dades és l'última etapa del procés de disseny, en el

qual, tenint presents els requisits dels processos, característiques del Sistema Gestor

de la Base de Dades, del sistema operatiu i el maquinari.

Es pretenen els següents objectius: disminuir els temps de resposta, minimitzar espai

d'emmagatzematge, evitar les reorganitzacions, proporcionar la màxima seguretat i

optimitzar el consum de recursos.

D’aquesta manera, a partir del disseny lògic farem el disseny físic de la Base de

Dades.

3.3.1 Creació de la Base de Dades

Per crear físicament la base de dades, necessitaríem realitzar una sèrie de passos:

Configurar les variables d'entorn (*ORACLE_*SID, *ORACLE_*HOME).

Crear un arxiu “init<sid>.ora”. S'especificaran paràmetres tals com el nom de la

base de dades i la seva grandària de bloc. A més, poden especificar-se els

fitxers de control d’Oracle així com els fitxers de log i la grandària dels

mateixos.

Crear un arxiu de contrasenya.

Iniciar la instància d’Oracle.

Es considerarà que aquests passos estan ja realitzats, i ens limitarem a crear una

base de dades anomenada TFC, que utilitzarà aquesta amb la següent sentència SQL:

CREATE DATABASE tfc11;

3.3.2 Creació de Tablespace

Un Tablespace actua d’unitat lògica d’emmagatzematge dins d’una base de dades, és

a dir, cada taula, índex, etc. De la nostra Base de Dades s’emmagatzemarà aquí.

D’aquesta manera, és crearà un Tablespace que es gestionarà localment, degut al seu

alt rendiment i senzillesa de l’assignació de l’assignació d’espai que ens permet

(“AUTOALLOCATE”). Se l’hi assignarà una grandària de 30 Mb, suficient per a les

dades que es preveu que poden contenir el sistema.

Es crearà amb la següent sentència SQL (Tablespaces.sql):

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 25

CREATE TABLESPACE ts_tfc11 DATAFILE

'c:\oracle\oradata\tfc11.dbf'

SIZE 30M

AUTOEXTEND OFF

LOGGING

EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

3.3.3 Creació d’usuaris

El nostre sistema tindrà que tenir com a mínim un usuari que pugui accedir a les

diferents taules i funcionalitats. Per aquest motiu, es crearà un usuari anomenat

“usuaritff11”, amb la contrasenya “usrTfc11”, amb els rols de CNNECT i RESOURCE

assignats.

Es crearà amb la següent sentència SQL (CreacioUsuaris.sql):

DROP USER usuaritff11 CASCADE;

CREATE USER usuaritff11

IDENTIFIED BY usrTfc11

DEFAULT TABLESPACE ts_tfc11

TEMPORARY TABLESPACE TEMP

ACCOUNT UNLOCK;

GRANT RESOURCE TO usuaritff11;

GRANT CONNECT TO usuaritff11;

GRANT CREATE VIEW TO usuaritff11;

ALTER USER usuaritff11 DEFAULT ROLE ALL;

REVOKE UNLIMITED TABLESPACE FROM usuaritff11;

ALTER USER TFC QUOTA UNLIMITED ON ts_tfc11;

3.3.4 Creació de taules

Mitjançant el disseny lògic, s’obté les sentències d’Oracle que ens permet crear les

taules, amb les claus primàries i foranies.

S’han tingut les següents consideracions:

La grandària dels camps de les taules s’ha escollit tenint en compte cada cas

en particular.

S’han marcat com a NOT NULL els camps imprescindibles d’omplir per al

correcte funcionament del sistema.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 26

L’script de creació de les taules es trobarà en l’arxiu “CreacioTaules.sql” que s’adjunta

al document. A continuació, es detallaran aquestes taules.

VOTACIO

Camps Tipus Nul IDVOTACIO NUMBER NOT NULL TITOL VARCHAR2(30) NOT NULL DESCRIPCIO VARCHAR2(50) NOT NULL DATAINICI DATE NOT NULL DATAFI DATE NOT NULL DATAPUBLICACIO DATE NOT NULL PRESIDENT VARCHAR2(30) NOT NULL CENSGLOBAL NUMBER NOT NULL WEB VARCHAR2(30) NULL TOTALCIUTADANS NUMBER NULL VOTSTOTALS NUMBER NULL PERCENTATGEVOTACIO NUMBER NULL

Constraint Tipus Camps Taula ref. PK_ IDVOTACIO Primary Key IDVOTACIO

OPCIO

Camps Tipus Nul IDOPCIO NUMBER NOT NULL IDVOTACIO NUMBER NOT NULL OPCIO VARCHAR2(30) NOT NULL VOTSTOTALS NUMBER NULL PERCENTATGE NUMBER NULL

Constraint Tipus Camps Taula ref. PK_ IDOPCIO Primary Key IDOPCIO FK_ IDVOTACIO Foreing Key IDVOTACIO VOTACIO

PAIS

Camps Tipus Nul CODPAIS VARCHAR2(2) NOT NULL PAIS VARCHAR2(20) NOT NULL

Constraint Tipus Camps Taula ref. PK_ CODPAIS Primary Key CODPAIS

REGIO

Camps Tipus Nul IDREGIO NUMBER NOT NULL REGIO VARCHAR2(20) NOT NULL

Constraint Tipus Camps Taula ref. PK_ IDREGIO Primary Key IDREGIO

PAISREGIO

Camps Tipus Nul IDPAISREGIO NUMBER NOT NULL IDPAIS VARCHAR2(2) NOT NULL IDREGIO NUMBER NOT NULL

Constraint Tipus Camps Taula ref. PK_ IDPAISREGIO Primary Key IDPAIS FK_ IDPAIS Foreing Key IDPAIS PAIS

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 27

FK_ IDREGIO Foreing Key IDREGIO REGIO

LOCALITAT

Camps Tipus Nul IDLOCALITAT NUMBER NOT NULL IDREGIO NUMBER NOT NULL LOCALITAT VARCHAR2(30) NOT NULL

Constraint Tipus Camps Taula ref. PK_ IDLOCALITAT Primary Key IDLOCALITAT FK_ IDREGIOL Foreing Key IDREGIO REGIO

CENSPAIS

Camps Tipus Nul IDCENSPAIS VARCHAR2(2) NOT NULL IDVOTACIO NUMBER NOT NULL IDPAIS VARCHAR2(2) NOT NULL

Constraint Tipus Camps Taula ref. PK_ IDCENSPAIS Primary Key IDCENSPAIS FK_ IDPAISCP Foreing Key IDPAIS PAIS FK_ IDVOTACIOCP Foreing Key IDVOTACIO VOTACIO

CENSREGIO

Camps Tipus Nul IDCENSREGIO NUMBER NOT NULL IDREGIO NUMBER NOT NULL

Constraint Tipus Camps Taula ref. PK_ IDCENSREGIO Primary Key IDCENSREGIO FK_ IDREGIOCR Foreing Key IDREGIO REGIO

CENSPAISREGIO

Camps Tipus Nul IDCENSPAISREGIO NUMBER NOT NULL IDCENSPAIS VARCHAR2(2) NOT NULL IDCENSREGIO NUMBER NOT NULL IDPAIS VARCHAR2(2) NOT NULL IDREGIO NUMBER NOT NULL

Constraint Tipus Camps Taula ref. PK_ IDCENSPAISREGIO Primary Key IDCENSPAISREGIO FK_ IDCENSPAIS Foreing Key IDCENSPAIS CENSPAIS FK_ IDCENSREGIO Foreing Key IDREGIO CENSREGIO FK_ IDPAISCPR Foreing Key IDPAIS PAIS FK_ IDREGIOCPR Foreing Key IDREGIO REGIO

CENSLOCAL

Camps Tipus Nul IDCENSLOCAL NUMBER NOT NULL IDCENSREGIO NUMBER NOT NULL IDLOCALITAT NUMBER NOT NULL

Constraint Tipus Camps Taula ref. PK_ IDCENSLOCAL Primary Key IDCENSLOCAL FK_ IDCENSREGIOCL Foreing Key IDCENSREGIO CENSREGIO FK_ IDLOCALITAT Foreing Key IDLOCALITAT LOCALITAT

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 28

CIUTADA

Camps Tipus Nul CODI VARCHAR2(10) NOT NULL IDCENSLOCAL NUMBER NOT NULL IDOPCIO NUMBER NULL EDAT DATE NOT NULL

Constraint Tipus Camps Taula ref. PK_ CODI Primary Key IDCENSLOCAL FK_ IDCENSLOCAL Foreing Key IDCENSREGIO IDCENSLOCAL FK_ IDOPCIO Foreing Key IDOPCIO OPCIO

CIUTADAOPCIO

Camps Tipus Nul IDCIUTADAOPCIO NUMBER NOT NULL IDCIUTADA VARCHAR2(10) NOT NULL IDCENSLOCAL VARCHAR2(10) NOT NULL IDOPCIO NUMBER NULL

Constraint Tipus Camps Taula ref. PK_ IDCIUTADAOPCIO Primary Key IDCIUTADAOPCIO FK_IDCIUTADA Foreing Key IDCIUTADA CIUTADA FK_ IDCENSLOCAL Foreing Key IDCENSREGIO IDCENSLOCAL FK_ IDOPCIO Foreing Key IDOPCIO OPCIO

LOG

Camps Tipus Nul IDLOG NUMBER NOT NULL NOMPROCEDIMENT VARCHAR2(200) NOT NULL DATA DATE NOT NULL PARAMETREENTRADA VARCHAR2(2000) NOT NULL PARAMETRESORTIDA VARCHAR2(2000) NOT NULL

Constraint Tipus Camps Taula ref. PK_ IDLOG Primary Key IDLOG

Mòdul estadístic

VOTACIONSFINALITZADES

CAMPS TIPUS NUL IDVOTACIONSFINALITZADES NUMBER NOT NULL IDPAIS VARCHAR2(2) NOT NULL ANYS NUMBER NOT NULL NOMBREVOTACIONSFINALITZADES NUMBER NOT NULL

Constraint Tipus Camps PK_ IDVOTACIONSFINALITZADES Primary Key IDVOTACIONSFINALITZADES

MITJAPERCENTATGEPARTICIPACIO

CAMPS TIPUS NUL IDMITJAPERPART NUMBER NOT NULL IDCENS VARCHAR2(2) NOT NULL ANYS NUMBER NOT NULL TOTALVOTACIONS NUMBER NOT NULL VALORMITJAPERPART NUMBER NOT NULL

Constraint Tipus Camps PK_ IDMITJAPERPART Primary Key IDMITJAPERPART

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 29

VOTACIONSCENS

CAMPS TIPUS NUL

IDVOTACIONSCENS NUMBER NOT NULL IDCENS VARCHAR2(2) NOT NULL ANYS NUMBER NOT NULL NOMBREVOTACIONSCENS NUMBER NOT NULL

Constraint Tipus Camps PK_ IDVOTACIONSCENS Primary Key IDVOTACIONSCENS

VOTACIOMESPARTICIPACIO

CAMPS TIPUS NUL IDVOTACIOMESPART NUMBER NOT NULL ANYS NUMBER NOT NULL VOTACIOMESPART VARCHAR2(30) NOT NULL PARTICIPACIO NUMBER NOT NULL

Constraint Tipus Camps PK_ IDVOTACIOMESPART Primary Key IDVOTACIOMESPART

LOCALITATMESVOTS

CAMPS TIPUS NUL IDLOCALITATMESVOTS NUMBER NOT NULL ANYS NUMBER NOT NULL VOTSTOTALS NUMBER NOT NULL LOCALITATMESVOTS VARCHAR2(30) NOT NULL

Constraint Tipus Camps PK_ IDLOCALITATMESVOTS Primary Key IDLOCALITATMESVOTS

PERCENTATGECIUTADAMAIVOT

CAMPS TIPUS NUL IDPERCIUTADAMAIVOT NUMBER NOT NULL ANYS NUMBER NOT NULL PERCIUTADAMAIVOT VARCHAR2(30) NOT NULL

Constraint Tipus Camps PK_ IDPERCIUTADAMAIVOT Primary Key IDPERCIUTADAMAIVOT

VOTHISTORICAMESPARTICIPACIO

CAMPS TIPUS NUL IDVOTHISMESPART NUMBER NOT NULL TOTALVOTS NUMBER NOT NULL VOTHISMESPART VARCHAR2(30) NOT NULL

Constraint Tipus Camps PK_ IDVOTHISMESPART Primary Key IDVOTHISMESPART

VOTHISTORICADIFERENCIA

CAMPS TIPUS NUL IDVOTHISDIF NUMBER NOT NULL VOTHISDIF VARCHAR2(30) NOT NULL MAXPERCENTUAL NUMBER NOT NULL MIN PERCENTUAL NUMBER NOT NULL DIFPERCENTUAL NUMBER NOT NULL

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 30

Constraint Tipus Camps

PK_ IDVOTHISDIF Primary Key IDVOTHISDIF

MAXVOTACIONSPERSONA

CAMPS TIPUS NUL IDMAXVOTPERSONA NUMBER NOT NULL CODPERSONA VARCHAR2(10) NOT NULL NUMEROMAXVOTPERSONA NUMBER NOT NULL PAIS VARCHAR2(2) NOT NULL

Constraint Tipus Camps PK_ IDMAXVOTPERSONA Primary Key IDMAXVOTPERSONA

3.3.5 Creació d’índexs

Quan es defineixen les claus primàries a les taules, Oracle crea un índex únic i no nul

(UNIQUE, NOT NULL) associat a aquesta clau primària.

No es crearan índex addicionals del que ja crea el propi Oracle, ja que si s’agregen

més índex s’augmentaria la sobrecàrrega (ja que cada cop que es fa una operació

d’alta, baixa o modificació es creen de nou) sense millorar gaire el rendiment.

3.3.6 Mòdul estadístic

El mòdul estadístic conté taules que, segons les funcionalitats, ha d’oferir les dades en

un temps constant 1 a les consultes que es realitzin. Aquestes taules s’ompliran

mitjançant procediments de les taules del mòdul principal.

L’script de creació de les taules es trobarà en l’arxiu “CreacioTaules.sql” que s’adjunta

al document.

3.3.7 Taula Log

Les crides a procediments s’emmagatzemaran a una taula de logs, on s’obtindran els

paràmetres d’entrada i sortida dels mateixos.

L’script de creació de les taules es trobarà en l’arxiu “CreacioTaules.sql” que s’adjunta

al document.

4 Implementació

Un cop dissenyades totes les taules del sistema, s’ha d’implementar el codi necessari

per a que el tot funcioni correctament.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 31

Aquest codi es troba en forma de procediments emmagatzemats, packages i triggers.

Els procediments emmagatzemats tindran paràmetres d’entrada i de paràmetres de

sortida, que seran indicatius de si l’execució ha finalitzat amb èxit (valor ‘OK’) o si ha

fracassat (valor ‘ERROR+TIPUS d’ERROR’).

A continuació es detallaran els procediments que s’implementaran.

4.1 Procediments

4.1.1 Procediments d’alta, baixa i modificació

4.1.1.1 Votacions

Procediments d’alta, baixa i modificació de les votacions i de les seva informació

associada: opcions, vots emesos, censos associats, etc... Aquest procediments

s’emmagatzemen a Package_Votacions.sql.

S’especificaran a continuació cadascun d’aquest procediments.

Alta, baixa i modificacions de votacions

P_ALTA_VOTACIO FUNCIONALITAT Aquest procediment permet donar d’alta una nova votació a la Base de dades, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. El registre no s’hagi inserit amb un altre identificador. Amb els camps de tipus data, s’han de tenir en compte els següents controls:

o S’ha de verificar que la data final ha de ser posterior a la data d’inici. o S’ha de verificar que la data de publicació ha de ser com a mínim 7 dies abans que la data d’inici

de la votació. PARAMETRES

ENTRADA p_titol Títol de la votació p_descripcio Descripció de la votació p_datainici Data d’inici de la votació Obligatoris: p_datafi Data fi de la votació p_datapublicació Data de publicació de la votació p_president Nom del president de la mesa electoral p_censglobal Cens global de la votació Opcionals: p_web Adreça web opcional

SORTIDA Obligatoris: RSP

PRECONDICIÓ - No existeix la votació a crear. POSTCONDICIÓ - Es dona d’alta la votació. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: La votació ja existeix a la Base de Dades.’ ‘ERROR: Els camps obligatoris no poden ser nul.’ ‘ERROR: La data final no pot ser anterior a la data d’inici.’ ‘ERROR: La data de publicació ha de ser, com a mínim, 7 dies abans que la data d’inici.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 32

P_BAIXA_VOTACIO FUNCIONALITAT Aquest procediment permet donar de baixa una votació a la Base de dades, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. Existeix la votació a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_idvotacio Identificador de la votació SORTIDA

Obligatoris: RSP PRECONDICIÓ - Existeix la votació a donar de baixa. POSTCONDICIÓ - Es dona de baixa la votació. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: La votació a donar de baixa no existeix a la Base de Dades.’ ‘ERROR: L’identificador de la votació no poden ser nul.” ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_MODIFICACIO_VOTACIONS FUNCIONALITAT Aquest procediment permet modificar una votació a la Base de dades, si prèviament supera els controls de:

La votació existeix a la Base de Dades. Tots els camps obligatoris continguin valor. Si es vol modificar les dates, s’han de tenir en compte els següents controls:

o S’ha de verificar que la data d’inici ha de ser anterior a la data final. o S’ha de verificar que la data final ha de ser posterior a la data d’inici. o Si es modificant les dues dates (data inici, data final), s’ha de verificar que la data final ha de ser posterior

a la data d’inici. o S’ha de verificar que la data de publicació ha de ser com a mínim 7 dies abans que la data d’inici de la

votació. PARAMETRES

ENTRADA Obligatoris: p_idvotacio Identificació de la votació p_titol Títol de la votació p_descripcio Descripció de la votació p_datainici Data d’inici de la votació p_datafi Data fi de la votació p_datapublicació Data de publicació de la votació Opcionals: p_president Nom del president de la mesa electoral p_censglobal Cens global de la votació p_web Adreça web opcional p_totalciutadans Total persones amb capacitat de vot p_votstotals Vots totals per votació p_percentatgevotacio Percentatge de participació

SORTIDA Obligatoris: RSP

PRECONDICIÓ - Existeix la votació a modificar. POSTCONDICIÓ - Es modifica la votació. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: Els camps obligatoris no poden ser nul.’ ‘ERROR: La votació no existeix a la Base de Dades.’ ‘ERROR: La data d’inici no ha de ser posterior a la data final.’ ‘ERROR: La data final no pot ser anterior a la data d’inici.’ ‘ERROR: La data de publicació ha de ser, com a mínim, 7 dies abans que la data d’inici.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

Alta, baixa i modificacions d’opcions

P_ALTA_OPCIO

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 33

FUNCIONALITAT Aquest procediment permet donar d’alta una nova opció a la Base de dades, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. El registre no s’hagi inserit amb un altre identificador. Existeix la votació que es passa per paràmetre.

PARAMETRES ENTRADA

Obligatoris: p_idvotacio Identificador de la votació p_opcio Nom de l’opció

SORTIDA Obligatoris: RSP

PRECONDICIÓ - No existeix l’opció a crear. POSTCONDICIÓ - Es dona d’alta l’opció. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: L’opció ja existeix a la Base de Dades.’ ‘ERROR: La votació no existeix a la Base de Dades.’ ‘ERROR: Els camps obligatoris no poden ser nul.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_BAIXA_OPCIO FUNCIONALITAT Aquest procediment permet donar de baixa una opció a la Base de dades, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. Existeix l’opció a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_idopcio Identificació de l’opció SORTIDA

Obligatoris: RSP PRECONDICIÓ - Existeix l’opció a donar de baixa. POSTCONDICIÓ - Es dona de baixa l’opció. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: L’opció no existeix a la Base de Dades.’ ‘ERROR: Els camps obligatoris no poden ser nul.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_MODIFICACIO_OPCIO FUNCIONALITAT Aquest procediment permet modificar una opció a la Base de dades, si prèviament supera els controls de:

L’opció existeix a la Base de Dades. Tots els camps obligatoris continguin valor. Si es vol modificar la votació, s’ha de verificar que existeix la votació a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_idopcio Identificació de l’opció p_idvotacio Identificador de la votació Opcionals: p_opcio Nom de l’opció p_votstotals Nombre de vots de cada opció p_percentatge Percentatge de vots respecte el total

SORTIDA Obligatoris: RSP

PRECONDICIÓ - Existeix l’opció a modificar. POSTCONDICIÓ - Es modifica l’opció. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: El camps obligatoris no poden ser nul.’

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 34

‘ERROR: L’opció no existeix a la Base de Dades.’ ‘ERROR: La votació no existeix a la Base de Dades.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

4.1.1.2 Censos

Procediments d’alta, baixa i modificació dels diferents censos dins de l’àmbit Europeu.

S’especificaran a continuació cadascun d’aquest procediments.

Alta, baixa i modificacions de països

P_ALTA_PAIS FUNCIONALITAT Aquest procediment permet donar d’alta país a la Base de dades, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. No hi hagi un altre registre inserit amb el mateix identificador (CODPAIS).

PARAMETRES ENTRADA

Obligatoris: p_codpais Identificador del país p_pais Nom del país

SORTIDA Obligatoris: RSP

PRECONDICIÓ - No existeix el país a crear. POSTCONDICIÓ - Es dona d’alta el país. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: Els camps obligatoris no poden ser nul.’ ‘ERROR: El país ja existeix a la Base de dades.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_BAIXA_PAIS FUNCIONALITAT Aquest procediment permet donar de baixa un país a la Base de dades, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. Existeix el país a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_codpais Identificador del país SORTIDA

Obligatoris: RSP PRECONDICIÓ - Existeix el país a donar de baixa. POSTCONDICIÓ - Es dona de baixa el país. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: El país no existeix a la Base de Dades.’ ‘ERROR: El camp CODPAIS no pot ser nul.” ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_MODIFICACIO_PAIS FUNCIONALITAT Aquest procediment permet modificar un país a la Base de dades, si prèviament supera els controls de:

El país existeix a la Base de Dades. Tots els camps obligatoris continguin valor.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 35

PARAMETRES ENTRADA

Obligatoris: p_codpais Identificador del país Opcionals: p_pais Nom del país

SORTIDA Obligatoris: RSP

PRECONDICIÓ - Existeix el país a modificar. POSTCONDICIÓ - Es modifica el país. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: Els camps obligatoris no poden ser nul.’ ‘ERROR: El país no existeix a la Base de Dades.‘ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

Alta, baixa i modificacions de regions

P_ALTA_REGIO FUNCIONALITAT Aquest procediment permet donar d’alta d’una regió a la Base de dades, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. El registre no s’hagi inserit amb un altre identificador.

PARAMETRES ENTRADA

Obligatoris: p_regio Nom de la regió SORTIDA

Obligatoris: RSP PRECONDICIÓ - No existeix la regió a crear. POSTCONDICIÓ - Es dona d’alta la regió. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: La regió ja existeix a la Base de Dades.’ 'ERROR: : Els camps obligatoris no poden ser nul.' ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_BAIXA_REGIO FUNCIONALITAT Aquest procediment permet donar de baixa una regió a la Base de dades, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. Existeix la regió a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_idregio Identificador de la regió SORTIDA

Obligatoris: RSP PRECONDICIÓ - Existeix la regió a donar de baixa. POSTCONDICIÓ - Es dona de baixa la regió. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: La regió a donar de baixa no existeix a la Base de Dades.’ ‘ERROR: El camp IDREGIO no pot ser nul.” ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_MODIFICACIO_REGIO FUNCIONALITAT Aquest procediment permet modificar una regió a la Base de dades, si prèviament supera els controls de:

La regió existeix a la Base de Dades.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 36

Tots els camps obligatoris continguin valor. PARAMETRES

ENTRADA Obligatoris: p_idregio Identificador de la regió Opcionals: p_regio Nom de la regió

SORTIDA Obligatoris: RSP

PRECONDICIÓ - Existeix la regió a modificar. POSTCONDICIÓ - Es modifica la regió. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: L’identificador de la regió no pot ser nul.’ 'ERROR: : La regió no existeix a la Base de Dades.' ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

Alta, baixa i modificacions de país-regió

P_ALTA_PAISREGIO FUNCIONALITAT Aquest procediment assigna una regió a un país, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. El país no tingui assignat aquesta regió. Existeix el país a la base de dades. Existeix la regió a la base de dades.

PARAMETRES ENTRADA

Obligatoris: p_idpais Identificador del país p_idregio Identificador de la regió

SORTIDA Obligatoris: RSP

PRECONDICIÓ - Existeix el país i la regió a donar d’alta. POSTCONDICIÓ - Es dona d’alta l’assignació de la regió al país. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: Els camps obligatoris no poden ser nul.’ ‘ERROR: La regió no existeix a la Base de Dades.’ ‘ERROR: El país no existeix a la Base de Dades.’ ‘ERROR: El país ja te assignada una regió.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_BAIXA_PAISREGIO FUNCIONALITAT Aquest procediment permet donar de baixa l’assignació de la regió a un país, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. Existeix l’assignació a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_idpaisregio Identificació de l’assignació d’una regió a un país. SORTIDA

Obligatoris: RSP PRECONDICIÓ - Existeix l’assignació de la regió al país a donar de baixa. POSTCONDICIÓ - Es dona de baixa l’assignació de la regió al país. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: No existeix l’assignació a la Base de Dades.’ ‘ERROR: El camp IDPAISREGIO no pot ser nul.” ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 37

P_MODIFICACIO_PAISREGIO FUNCIONALITAT Aquest procediment permet modificar l’assignació d’una regió a un país, si prèviament supera els controls de:

El registre a modificar existeix a la Base de Dades. Tots els camps obligatoris continguin valor. Existeix la regió nova a la Base de Dades. Existeix el nou país a la Base de Dades. No existeix el nou registre a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_idpaisregio Identificació de l’assignació d’una regió a un país. p_idpais Identificador del país p_idregio Identificador de la regió

SORTIDA Obligatoris: RSP

PRECONDICIÓ - Existeix l’assignació de la regió a un país a modificar. POSTCONDICIÓ - Es modifica l’assignació d’una regió a un país. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: Els camps obligatoris no poden ser nul.‘ ‘ERROR: El país no té assignada la regió a modificar.’ ‘ERROR: La regió no existeix a la Base de Dades .‘ ‘ERROR: El país no existeix a la Base de Dades.‘ ‘ERROR: Els canvis a realitzar ja existeixen a la Base de Dades.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

Alta, baixa i modificacions de localitats

P_ALTA_LOCALITAT FUNCIONALITAT Aquest procediment permet donar d’alta una localitat a la Base de dades, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. El registre no s’hagi inserit amb un altre identificador. Existeix la regió a introduir.

PARAMETRES ENTRADA

Obligatoris: p_idregio Identificador de la regió p_localitat Nom de la localitat

SORTIDA Obligatoris: RSP

PRECONDICIÓ - No existeix la localitat a crear. POSTCONDICIÓ - Es dona d’alta la localitat. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: La localitat ja existeix a la Base de Dades.’ ‘ERROR: La regió no existeix a la Base de Dades.’ ‘ERROR: Els camps obligatoris no poden ser nuls.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_BAIXA_LOCALITAT FUNCIONALITAT Aquest procediment permet donar de baixa una localitat a la Base de dades, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. Existeix la localitat a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_idlocalitat Identificador de la localitat SORTIDA

Obligatoris: RSP PRECONDICIÓ - Existeix la localitat a donar de baixa.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 38

POSTCONDICIÓ - Es dona de baixa la localitat. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: La localitat no existeix a la Base de Dades.’ ‘ERROR: El camp IDLOCALITAT no pot ser nul.” ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_MODIFICACIO_LOCALITAT FUNCIONALITAT Aquest procediment permet modificar una localitat a la Base de dades, si prèviament supera els controls de:

La localitat existeix a la Base de Dades. Tots els camps obligatoris continguin valor. Si es vol modificar la regió, s’ha de verificar que existeix la regió a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_idlocalitat Identificador de la localitat Opcionals:

p_idregio Identificador de la regió p_localitat Nom de la localitat

SORTIDA Obligatoris: RSP

PRECONDICIÓ - Existeix la localitat a modificar. POSTCONDICIÓ - Es modifica la localitat. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: La localitat no existeix a la Base de Dades.’ ‘ERROR: Els camps obligatoris no poden ser nul.‘ ‘ERROR: La regió no existeix a la Base de Dades.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

Alta, baixa i modificacions de cens-país

P_ALTA_CENSPAIS FUNCIONALITAT Aquest procediment permet donar d’alta el cens país, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. El registre no s’hagi inserit amb un altre identificador. La votació està donada d’alta a la Base de Dades. El país està donat d’alta a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_idvotacio Identificador de la votació p_idpais Identificador del país

SORTIDA Obligatoris: RSP

PRECONDICIÓ - No existeix el cens país crear. POSTCONDICIÓ - Es dona d’alta el cens país. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: El cens-país ja existeix a la Base de Dades.’ ‘ERROR: El país no existeix a la Base de Dades.’ ‘ERROR: La votació no existeix a la Base de Dades.’ ‘ERROR: Els camps obligatoris no poden ser nuls.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 39

P_BAIXA_CENSPAIS FUNCIONALITAT Aquest procediment permet donar de baixa un cens país a la Base de dades, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. Existeix el cens país a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_idcenspais Identificador del cens país SORTIDA

Obligatoris: RSP PRECONDICIÓ - Existeix el cens país a donar de baixa. POSTCONDICIÓ - Es dona de baixa el cens país. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: El cens-país no existeix a la Base de Dades.’ ‘ERROR: El camp IDCENSPAIS no pot ser nul.” ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_MODIFICACIO_CENSPAIS FUNCIONALITAT Aquest procediment permet modificar un cens país a la Base de dades, si prèviament supera els controls de:

El cens país existeix a la Base de Dades. Tots els camps obligatoris continguin valor. Si es vol modificar el país, s’ha de verificar que existeix el país a la Base de Dades. Si es vol modificar la votació, s’ha de verificar que existeix la votació a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_idcenspais Identificador del cens país

Opcionals: p_idvotacio Identificador de la votació p_idpais Identificador del país

SORTIDA Obligatoris: RSP

PRECONDICIÓ - Existeix la el cens país a modificar. POSTCONDICIÓ - Es modifica el cens país. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: El país no existeix a la Base de Dades.’ ‘ERROR: La votació no existeix a la Base de Dades.’ ‘ERROR: Els camps obligatoris no poden ser nul.‘ ‘ERROR: El cens-país no existeix a la Base de Dades.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

Alta, baixa i modificacions de cens-regió

P_ALTA_CENSREGIO FUNCIONALITAT Aquest procediment permet donar d’alta el cens regió, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. El registre no s’hagi inserit amb un altre identificador. La regió està donada d’alta a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_idregio Identificador de la regió SORTIDA

Obligatoris: RSP PRECONDICIÓ - No existeix el cens regió crear. POSTCONDICIÓ - Es dona d’alta el cens regió. RETORNA

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 40

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: El cens-regió ja existeix a la Base de Dades.’ ‘ERROR: Els camps obligatoris no poden ser nuls.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_BAIXA_CENSREGIO FUNCIONALITAT Aquest procediment permet donar de baixa un cens regió a la Base de dades, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. Existeix el cens regió a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_idcensregio Identificador del cens regió SORTIDA

Obligatoris: RSP PRECONDICIÓ - Existeix el cens regió a donar de baixa. POSTCONDICIÓ - Es dona de baixa el cens regió. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: El cens regió no existeix a la Base de Dades.’ ‘ERROR: El camp IDCENSREGIO no pot ser nul.” ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_MODIFICACIO_CENSREGIO FUNCIONALITAT Aquest procediment permet modificar un cens regió a la Base de dades, si prèviament supera els controls de:

El cens regió existeix a la Base de Dades. Tots els camps obligatoris continguin valor. Si es vol modificar el regió, s’ha de verificar que existeix el regió a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_idcensregio Identificador del cens regió

Opcionals: p_idregio Identificador de la regió SORTIDA

Obligatoris: RSP PRECONDICIÓ - Existeix la el cens regió a modificar. POSTCONDICIÓ - Es modifica el cens regió. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: La regió no existeix a la Base de Dades.’ ‘ERROR: El cens-regió no existeix a la Base de Dades.‘ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

Alta, baixa i modificacions de cens-país-regió

P_ALTA_CENSPAISREGIO FUNCIONALITAT Aquest procediment assigna un cens regió a un cens país, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. No existeix el registre a la Base de Dades. Existeix el país a la Base de Dades. Existeix la regió a la Base de Dades. Existeix el cens país a la Base de Dades. Existeix el cens regió a la Base de Dades.

PARAMETRES

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 41

ENTRADA Obligatoris: p_idcenspais Identificador del cens país p_idcensidregio Identificador del cens regió p_idpais Identificador del país p_idregio Identificador de la regió

SORTIDA Obligatoris: RSP

PRECONDICIÓ - No s’ha donat d’alta el cens país-regió. POSTCONDICIÓ - Es dona d’alta l’assignació del cens regió al cens país amb el país i la regió. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: El censpaisregió ja existeix a la Base de Dades.’ ‘ERROR: El cens-país no existeix a la Base de Dades.’ ‘ERROR: El cens-regió no existeix a la Base de Dades.’ ‘ERROR: El país no existeix a la Base de Dades.’ ‘ERROR: La regió no existeix a la Base de Dades.’ ‘ERROR: Els camps obligatoris no poden ser nul. ‘ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_BAIXA_CENSPAISREGIO FUNCIONALITAT Aquest procediment permet donar de baixa l’assignació del cens regió a un cens país, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. El cens país te assignat un cens regió.

PARAMETRES ENTRADA

Obligatoris: p_idcenspaisregio Identificació de l’assignació d’un cens regió a un cens país. SORTIDA

Obligatoris: RSP PRECONDICIÓ - Existeix l’assignació del cens regió al cens país a donar de baixa. POSTCONDICIÓ - Es dona de baixa l’assignació del cens regió al cens país. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: El cens-país-regió no existeix a la Base de Dades.’ ‘ERROR: El camp IDCENSPAISREGIO no pot ser nul.” ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_MODIFICACIO_PAISREGIO FUNCIONALITAT Aquest procediment permet modificar l’assignació d’una regió a un país, si prèviament supera els controls de:

El registre a modificar existeix a la Base de Dades. Tots els camps obligatoris continguin valor. Existeix cel cens país a la Base de Dades. Existeix cel cens regió a la Base de Dades. Existeix el país a la Base de Dades. Existeix la regió a la Base de Dades.

PARAMETRES ENTRADA

p_idcenspaisregio Identificació de l’assignació d’una regió a un país. p_idcenspais Identificador del cens país Obligatoris: p_idcensregio Identificador del cens regió p_idpais Identificador del país p_idregio Identificador de la regió

SORTIDA Obligatoris: RSP

PRECONDICIÓ - Existeix l’assignació a modificar. POSTCONDICIÓ - Es modifica l’assignació. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 42

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: Els camps obligatoris no poden ser nul.‘ 'ERROR: : El cens-país-regió no té assignada la regió a modificar.' 'ERROR: : El cens-país no existeix a la Base de Dades.' 'ERROR: : El cens-regió no existeix a la Base de Dades.' 'ERROR: : El país no existeix a la Base de Dades.' 'ERROR: : La regió no existeix a la Base de Dades.' 'ERROR: : Els canvis a realitzar ja existeixen a la Base de Dades' ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

Alta, baixa i modificacions de cens-local

P_ALTA_CENSLOCAL FUNCIONALITAT Aquest procediment permet donar d’alta el cens local, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. El registre no s’hagi inserit amb un altre identificador. La localitat està donada d’alta a la Base de Dades. El cens país està donat d’alta a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_idcensregio Identificador del cens regió p_idlocalitat Identificador de la localitat

SORTIDA Obligatoris: RSP

PRECONDICIÓ - No existeix el cens localitat crear. POSTCONDICIÓ - Es dona d’alta el cens localitat. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: Els camps obligatoris no poden ser nuls.’ ‘ERROR: El cens-local ja existeix a la Base de Dades.’ ‘ERROR: El cens-regió no existeix a la Base de Dades.’ ‘ERROR: La localitat no existeix a la Base de Dades.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_BAIXA_CENSLOCAL FUNCIONALITAT Aquest procediment permet donar de baixa un cens localitat a la Base de dades, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. Existeix el cens local a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_idcenslocal Identificador del cens localitat SORTIDA

Obligatoris: RSP PRECONDICIÓ - Existeix el cens localitat a donar de baixa. POSTCONDICIÓ - Es dona de baixa el cens localitat. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: El cens localitat no existeix a la Base de Dades.’ ‘ERROR: El camp IDCENSLOCAL no pot ser nul.” ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_MODIFICACIO_CENSLOCAL FUNCIONALITAT Aquest procediment permet modificar un cens localitat a la Base de dades, si prèviament supera els controls de:

El cens localitat existeix a la Base de Dades. Tots els camps obligatoris continguin valor.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 43

Si es vol modificar el cens regió, s’ha de verificar que existeix el cens regió a la Base de Dades. Si es vol modificar la localitat, s’ha de verificar que existeix la localitat a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_idcenslocal Identificador del cens local Opcionals: p_idcensregio Identificador del cens regió p_idlocalitat Identificador de la localitat

SORTIDA Obligatoris: RSP

PRECONDICIÓ - Existeix la el cens localitat a modificar. POSTCONDICIÓ - Es modifica el cens localitat. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: El cens-localitat no existeix a la Base de Dades.’ ‘ERROR: El cens-regió no existeix a la Base de Dades.’ 'ERROR: La localitat no existeix a la Base de Dades.' ‘ERROR: Els camps obligatoris no poden ser nul.‘ ‘ERROR: Els canvis ha realitzar ja existeixen a la Base de Dades.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

4.1.1.3 Ciutadà

Procediments d’alta, baixa i modificació dels ciutadans i de la seva assignació als

censos. S’especificaran a continuació cadascun d’aquest procediments.

Alta, baixa i modificacions de ciutadans

P_ALTA_CIUTADA FUNCIONALITAT Aquest procediment permet donar d’alta un ciutadà a la Base de dades, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. El registre no s’hagi inserit a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_codi Identificador del ciutadà p_edat Edat del ciutadà

SORTIDA Obligatoris: RSP

PRECONDICIÓ - No existeix el ciutadà a crear. POSTCONDICIÓ - Es dona d’alta el ciutadà. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ 'ERROR: : Els camps obligatoris no poden ser nul.' ‘ERROR: El ciutadà ja existeix a la Base de Dades.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_BAIXA_CIUTADA FUNCIONALITAT Aquest procediment permet donar de baixa d’un ciutadà a la Base de dades, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. Existeix el ciutadà a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_codi Identificació del ciutadà SORTIDA

Obligatoris: RSP PRECONDICIÓ - Existeix el ciutadà a donar de baixa.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 44

POSTCONDICIÓ - Es dona de baixa el ciutadà. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: El ciutadà no existeix a la Base de Dades.’ ‘ERROR: El camp CODI no pot ser nul.” ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_MODIFICACIO_CIUTADA FUNCIONALITAT Aquest procediment permet modificar un ciutadà a la Base de dades, si prèviament supera els controls de:

El ciutadà existeix a la Base de Dades. Tots els camps obligatoris continguin valor.

PARAMETRES ENTRADA

Obligatoris: p_codi Identificació del ciutadà Opcionals: edat Edat del ciutadà

SORTIDA Obligatoris: RSP

PRECONDICIÓ - Existeix el ciutadà a modificar. POSTCONDICIÓ - Es modifica el ciutadà. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: El codi del ciutadà no pot ser nul.’ ‘ERROR: El ciutadà no existeix a la Base de Dades.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

Alta, baixa i modificacions de ciutadà-opció

P_ALTA_CIUTADAOPCIO FUNCIONALITAT Aquest procediment permet donar d’alta l’opció del ciutadà a la Base de dades, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. El registre no s’hagi inserit a la Base de Dades. Existeix el ciutadà que es passa per paràmetre. Existeix el cens local que es passa per paràmetre. Existeix el l’opció que es passa per paràmetre.

PARAMETRES ENTRADA

Obligatoris: P_idCiutada Identificador del ciutadà p_idcenslocal Identificador del cens localitat p_idopcio Identificador de l’opció

SORTIDA Obligatoris: RSP

PRECONDICIÓ - No existeix el ciutadà-opció a crear. POSTCONDICIÓ - Es dona d’alta el ciutadà-opció. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ 'ERROR: : Els camps obligatoris no poden ser nul.' ‘ERROR: El ciutadà-opció existeix a la Base de Dades.’ ‘ERROR: El ciutadà no existeix a la Base de Dades.’ ‘ERROR: El cens-local no existeix a la Base de Dades.’ ‘ERROR: L'opció no existeix a la Base de Dades.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_BAIXA_CIUTADAOPCIO FUNCIONALITAT

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 45

Aquest procediment permet donar de baixa d’una opció d’un ciutadà a la Base de dades, si prèviament supera els controls de:

Tots els camps obligatoris continguin valor. Existeix el ciutadà-opció a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_idCiutadaOpcio Identificació del ciutadà-opció SORTIDA

Obligatoris: RSP PRECONDICIÓ - Existeix el ciutadà-opció a donar de baixa. POSTCONDICIÓ - Es dona de baixa el ciutadà-opció. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: El ciutadà-opció no existeix a la Base de Dades.’ ‘ERROR: El camp idCiutadaOpcio no pot ser nul.” ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

P_MODIFICACIO_CIUTADAOPCIÓ FUNCIONALITAT Aquest procediment permet modificar una opció d’un ciutadà a la Base de dades, si prèviament supera els controls de:

El ciutadà existeix a la Base de Dades. Tots els camps obligatoris continguin valor. Si es vol modificar el ciutadà, s’ha de verificar que existeix el ciutadà a la Base de Dades. Si es vol modificar el cens localitat, s’ha de verificar que existeix el cens localitat a la Base de Dades. Si es vol modificar l’opció, s’ha de verificar que existeix l’opció a la Base de Dades.

PARAMETRES ENTRADA

Obligatoris: p_idCiutadaOpcio Identificació del ciutadà-opció P_idCiutada Identificador del ciutadà Opcionals: p_idcenslocal Identificador del cens localitat p_idopcio Identificador de l’opció

SORTIDA Obligatoris: RSP

PRECONDICIÓ - Existeix el ciutadà-opció a modificar. POSTCONDICIÓ - Es modifica el ciutadà-opció. RETORNA

SI TOT CORRECTE ‘OK’ si l’operació s’ha realitzat amb èxit

SI ES PRODUEIX UNA EXCEPCIÓ ‘ERROR: El codi del ciutadà-opció no pot ser nul.’ ‘ERROR: El ciutadà no existeix a la Base de Dades.’ ‘ERROR: El cens-local no existeix a la Base de Dades.’ ‘ERROR: Aquesta opció no existeix a la Base de Dades.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

Quan es realitza l’alta a les taules, es prova una sèrie de disparadors que fan que

s’omplin els camps identificadors amb el corresponent valor de la seqüència

associada. Aquests script es troba a Triggers_Sequencies_Abans_Insercio.sql.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 46

4.1.2 Procediment de Consultes

Les consultes es realitzen a través d’una sèrie de funcions obtenint una sèrie de

registres que contenen la informació demanada. Cada funció té associat un tipus

d’objecte ‘Type’, de tipus objecte que representa cada registre que es retorna, i un

tipus ‘Taula’ que gestionarà tots els registres de la funció. Aquests script es troba a

Funcions_Consultes.sql.

S’ha creat una funció per a cadascuna de les següents consultes:

Llistat de totes les votacions que s’hi han produït en un país concret.

(FUN_LLIST_VOTACIONS_PAIS)

Llistat de les 10 votacions on hi ha hagut més diferencia percentual de vots

entre l’opció més votada i la menys votada.

(FUN_LLIST_MES_DIFERENCIA_P)

Llistat de les 10 votacions que han tingut menys diferencia percentual de vots

entre l’opció més votada i la menys votada.

(FUN_LLIST_MENYS_DIFERENCIA_P)

Donat el codi aleatori que identifica un ciutadà, el llistat de tots els censos als

que pertany. (FUN_LLIST_CENSOS_CIUTADA)

Donat el codi aleatori que identifica un ciutadà, el llistat de les votacions en les

que ha participat i en les que no. (FUN_LLIST_PARTICIPACIO_CIUTADA)

FUN_LLIST_VOTACIONS_PAIS FUNCIONALITAT Funció que retorna llistat amb totes les votacions que s’hi han produït en un país concret, retornant aquesta informació:

- Títol de la votació - Data d’inici i de fi de la votació - Nombre total de ciutadans dins dels censos associats a la votació - Estat en que es troba la votació, p.e : en edició, pendent d’obertura, oberta, finalitzada. - Si la votació ha estat finalitzada: percentatge de participació total, opció guanyadora i percentatge de vots de

l’opció guanyadora. En cas que no estigui finalitzada hauria de sortir un “-” en aquests camps. PARAMETRES

ENTRADA p_codpais Identificació del país

SORTIDA: Obligatoris: RSP RETORNA

SI TOT CORRECTE Retorna un llistat amb totes les votacions que s’hi han produït en un país concret ordenat cronològicament de forma ascendent per la data d’inici de la votació.

SI ES PRODUEIX UN ERROR ‘ERROR: El codi de país no pot ser nul.’ ‘ERROR: El codi de país no existeix a la Base de Dades.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas. EXECUCIÓ SELECT * FROM TABLE(FUN_LLIST_VOTACIONS_PAIS(‘ES’));

FUN_LLIST_MES_DIFERENCIA_P

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 47

FUNCIONALITAT Funció que retorna llistat amb les 10 votacions on hi ha hagut més diferencia percentual de vots entre l’opció més votada i la menys votada:

- Títol de la votació - Data d’inici i de fi de la votació - Opció més votada i el seu percentatge respecte el total. - Opció menys votada i el seu percentatge respecte el total - Diferencia percentual entre les dues opcions anteriors.

PARAMETRES SORTIDA : Obligatoris: RSP

RETORNA SI TOT CORRECTE

Retorna un llistat amb les 10 votacions on hi ha hagut més diferencia percentual de vots entre l’opció més votada i la menys votada ordenat descendentment per la diferència percentual de les dues votacions.

SI ES PRODUEIX UN ERROR ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

EXECUCIÓ SELECT * FROM TABLE(FUN_LLIST_MES_DIFERENCIA_P);

FUN_LLIST_MENYS_DIFERENCIA_P FUNCIONALITAT Funció que retorna llistat amb les 10 votacions on hi ha hagut menys diferencia percentual de vots entre l’opció més votada i la menys votada:

- Títol de la votació - Data d’inici i de fi de la votació - Opció més votada i el seu percentatge respecte el total. - Opció menys votada i el seu percentatge respecte el total - Diferencia percentual entre les dues opcions anteriors.

PARAMETRES SORTIDA : Obligatoris: RSP

RETORNA SI TOT CORRECTE

Retorna un llistat amb les 10 votacions on hi ha hagut menys diferencia percentual de vots entre l’opció més votada i la menys votada ordenat descendentment per la diferència percentual de les dues votacions.

SI ES PRODUEIX UN ERROR ‘ERROR: Tipus d’error.‘ En qualsevol altre cas. EXECUCIÓ SELECT * FROM TABLE(FUN_LLIST_MENYS_DIFERENCIA_P);

FUN_LLIST_CENSOS_CIUTADA FUNCIONALITAT Funció que retorna un llistat amb tots els censos al que pertany un ciutadà:

- Cens Localitat - Cens Regió - Cens País

PARAMETRES ENTRADA

p_codi Identificació del ciutadà SORTIDA: Obligatoris: RSP

RETORNA SI TOT CORRECTE

Retorna un llistat amb tots els censos d’un ciutadà en concret. SI ES PRODUEIX UN ERROR

‘ERROR: El codi del ciutadà no pot ser nul.’ ‘ERROR: El ciutadà no existeix a la Base de Dades.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas. EXECUCIÓ SELECT * FROM TABLE(FUN_LLIST_CENSOS_CIUTADA('A1'));

FUN_LLIST_PARTICIPACIO_CIUTADA FUNCIONALITAT Funció que retorna un llistat amb totes les votacions en les que ha participat o no un ciutadà:

- Títol votació - Participació o no

PARAMETRES ENTRADA

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 48

p_codi Identificació del ciutadà SORTIDA : Obligatoris: RSP

RETORNA SI TOT CORRECTE

Retorna un llistat amb totes les votacions en les que ha participat o no un ciutadà en concret. SI ES PRODUEIX UN ERROR

‘ERROR: El codi del ciutadà no pot ser nul.’ ‘ERROR: El ciutadà no existeix a la Base de Dades.’ ‘ERROR: Tipus d’error.‘ En qualsevol altre cas.

EXECUCIÓ SELECT * FROM TABLE(FUN_LLIST_PARTICIPACIO_CIUTADA('ES'));

4.1.3 Procediment del mòdul d’estadístiques

Els procediments del mòdul d’estadístiques està format per disparadors o triggers que

s’activen en funció de l’esdeveniment que intervingui. Els triggers es troben al fitxer

Triggers_Modul_Estadistiques.sql. A continuació s’especificaran:

TR_AFT_INS_CENSPAIS –Després de donar d’alta un registre a la taula CENSPAIS,

aquest:

Incrementa el número de votacions finalitzades d’un país i un any concret.

Taula VOTACIONSFINALITZADES.

Incrementa el nombre de votacions que han tingut associades un cens durant

un any. Taula VOTACIONSCENS.

TR_AFT_DEL_CENSPAIS – Després de donar de baixa un registre a la taula

CENSPAIS, aquest:

Decrement del número de votacions finalitzades d’un país i un any concret.

Taula VOTACIONSFINALITZADES.

Decrement del nombre de votacions que han tingut associades un cens durant

un any. Taula VOTACIONSCENS.

TR_AFT_UP_CENSPAIS – Després d’actualitzar un registre a la taula CENSPAIS,

aquest:

Incrementa el nou registre i decreix l’antic registre de votacions finalitzades d’un

país i un any concret. Taula VOTACIONSFINALITZADES.

Incrementa el nou registre i decreix el nombre de votacions que han tingut

associades un cens durant un any. Taula VOTACIONSCENS.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 49

TR_AFT_INS_VOTACIO – Després de donar un registre a la taula VOTACIO, aquest:

Mira si no existeix la votació amb més participació donat un any, si no es així, la

crea. Taula VOTACIOMESPARTICIPACIO.

Mira si la nova votació hi ha hagut més participació, si és així l’actualitza. Taula

VOTHISTORICAMESPARTICIPACIO.

TR_AFT_DEL_VOTACIO - Després de donar de baixa un registre a la taula

VOTACIO, aquest:

Decreix la mitja de percentatge de participació si la votació es finalitzada donat

un cens i un any. Taula MITJAPERCENTATGEPARTICIPACIO.

Decreix la participació d’una votació donat un any concret. Taula

VOTACIOMESPARTICIPACIO.

Mira si la votació històrica a eliminar és la que més participació ha tingut. Si es

així, l’actualitza. Taula VOTHISTORICAMESPARTICIPACIO.

TR_AFT_UP_VOTACIO - Després d’actualitzar un registre a la taula VOTACIO,

aquest:

Decreix la mitja de percentatge antiga i incrementa la nova participació si la

votació es finalitzada donat un cens i un any. Taula

MITJAPERCENTATGEPARTICIPACIO.

Decreix l’antiga participació i incrementa la nova participació d’una votació

donat un any concret. Taula VOTACIOMESPARTICIPACIO.

Mira si la nova votació hi ha hagut més participació, si és així l’actualitza. Taula

VOTHISTORICAMESPARTICIPACIO.

TR_AFT_INS_CIUTADAOPCIO - Després de donar d’alta un registre a la taula

CIUTADAOPCIO, aquest:

Incrementa la localitat europea que més vots a emès en un any concret. Taula

LOCALITATMESVOTS.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 50

Decreix el percentatge de ciutadans que mai a votat en un any concret. Taula

PERCENTATGECIUTADAMAIVOT.

Incrementa el número màxim de votacions que ha participat una persona i el

país. Taula MAXVOTACIONSPERSONA.

TR_AFT_DEL_CIUTADAOPCIO - Després de donar de baixa un registre a la taula

CIUTADAOPCIO, aquest:

Decreix la localitat europea que més vots a emès en un any concret. Taula

LOCALITATMESVOTS.

Incrementa el percentatge de ciutadans que mai a votat en un any concret.

Taula PERCENTATGECIUTADAMAIVOT.

Decreix el número màxim de votacions que ha participat una persona i el país.

Taula MAXVOTACIONSPERSONA.

TR_AFT_UP_CIUTADAOPCIO - Després de donar de baixa un registre a la taula

CIUTADAOPCIO, aquest:

Decreix l’antiga localitat i incrementa la nova localitat europea que més vots a

emès en un any concret. Taula LOCALITATMESVOTS.

Incrementa l’antic percentatge i decreix el nou percentatge de ciutadans que

mai a votat en un any concret. Taula PERCENTATGECIUTADAMAIVOT.

Decreix l’antic i incrementa el nou número màxim de votacions que ha participat

una persona i el país. Taula MAXVOTACIONSPERSONA.

TR_AFT_DEL_OPCIO - Després de donar de baixa un registre a la taula OPCIO,

aquest:

Recalcula la diferència percentual entre l'opció més votada i la de menys, actualitza l'antiga opció. Taula VOTHISTORICADIFERENCIA.

TR_AFT_UP_OPCIO - Després de donar de baixa un registre a la taula OPCIO,

aquest:

Recalcula la diferència percentual entre l’opció més votada i la de menys,

actualitza l’antiga i la nova opció. Taula VOTHISTORICADIFERENCIA.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 51

5 Proves

Per a provar el correcte funcionament del sistema, s’ha creat un script amb les

sentències necessàries per a comprovar el correcte funcionament.

5.1 Càrrega inicial de les dades

Abans de executar qualsevol prova, s’ha de realitzar la càrrega inicial de dades al

sistema. Aquesta càrrega es realitza a través de l’script Carrega_dades.sql.

Aquesta càrrega omple les següents taules: Votacio, Opcio, Pais, Regio, PaisRegio,

Localitat, CensPais, CensRegio, CensPaisRegio, CensLocal, Ciutada, CiutadaOpcio.

Per a comprovar que totes les dades s’han introduït correctament s’ha de consultar la

taula Log i verificar que el camp de sortida és ‘OK’.

SELECT NOMPROCEDIMENT, DATA, PARAMETREENTRADA, PARAMETRESORTIDA

FROM USUARITFC11.LOG;

5.2 Proves

Carregades les dades, s’han de realitzar una sèrie de proves de validació. Es faran

proves de les altres baixes i modificacions de cadascuna de les taules principals i es

verificaran els llistats de consultes i les estadístiques, així com la taula log per a

verificar que s’han fet bé totes les proves. Aquestes proves es realitzen a través dels

script Proves.sql.

A continuació es detallen les proves realitzades:

5.2.1 Proves d’alta, baixa i modificacions

Votacions

Alta d’una votació que ja ha estat creada.

Alta d’una votació amb dada de publicació abans d’una setmana de que s’obri la votació.

Alta d’una votació amb les dates d’inici o fi errònies.

Alta d’una votació amb dades correctes.

Modificació d’una votació que existeix.

Modificació d’una votació amb dates errònies.

Modificació d’una votació que no existeix.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 52

Baixa d’una votació que no existeix

Baixa d’una votació que existeix.

Opcions

Alta d’una opció que ja ha estat creada.

Alta d’una opció amb una votació que no existeix.

Alta d’una opció amb dades correctes.

Modificació d’una opció que existeix.

Modificació d’una opció amb dates errònies.

Modificació d’una opció que no existeix.

Baixa d’una opció que no existeix

Baixa d’una opció que existeix.

País

Alta d’un país que ja ha estat creat.

Alta d’un país amb dades correctes.

Modificació d’un país que existeix.

Modificació d’un país amb dates errònies.

Modificació d’un país que no existeix.

Baixa d’un país que no existeix

Baixa d’un país que existeix.

Regió

Alta d’una regió que ja ha estat creada.

Alta d’una regió amb dades correctes.

Modificació d’una regió que existeix.

Modificació d’una regió amb dates errònies.

Modificació d’una regió que no existeix.

Baixa d’una regió que no existeix

Baixa d’una regió que existeix.

Assignació d’una

regió a un país

Alta d’un país-regió amb dades correctes.

Alta d’un país-regió amb un país que no existeix.

Alta d’un país-regió amb una regió que no existeix.

Modificació d’un país-regió que existeix.

Modificació d’un país-regió amb un país que no existeix.

Modificació d’un país-regió amb una regió que no existeix.

Modificació d’un país-regió que no existeix.

Baixa d’un país-regió que no existeix

Baixa d’un país-regió que existeix.

Alta d’un país-regió que ja ha estat creat.

Localitat

Alta d’una localitat que ja ha estat creada.

Alta d’una localitat amb una regió que no existeix.

Alta d’una localitat amb dades correctes.

Modificació d’una localitat que existeix.

Modificació d’una localitat amb una regió que no existeix.

Modificació d’una localitat que no existeix.

Baixa d’una localitat que no existeix

Baixa d’una localitat que existeix.

Cens País

Alta d’un cens país que ja ha estat creat.

Alta d’un cens país amb dades correctes.

Alta d’un cens país amb un país que no existeix.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 53

Alta d’un cens país amb una votació que no existeix.

Modificació d’un cens país que existeix.

Modificació d’un cens país amb un país que no existeix.

Modificació d’un cens país amb una votació que no existeix.

Baixa d’un cens país que no existeix

Baixa d’un cens país que existeix.

Cens Regió

Alta d’un cens regió que ja ha estat creat.

Alta d’un cens regió amb dades correctes.

Alta d’un cens regió amb una regió que no existeix.

Modificació d’un cens regió que existeix.

Modificació d’un cens regió amb una regió que no existeix.

Modificació d’un cens regió que no existeix.

Baixa d’un cens regió que no existeix

Baixa d’un cens regió que existeix.

Assignació Cens

País - Cens Regió

Alta d’un cens país regió que ja ha estat creat.

Alta d’un cens país regió amb dades correctes.

Alta d’un cens país regió amb un cens país que no existeix.

Alta d’un cens país regió amb un país que no existeix.

Alta d’un cens país regió amb un cens regió que no existeix.

Alta d’un cens país regió amb una regió que no existeix.

Modificació d’un cens país regió que existeix.

Modificació d’un cens país regió amb un cens país que no existeix.

Modificació d’un cens país regió amb un país que no existeix.

Modificació d’un cens país regió amb un cens regió que no existeix.

Modificació d’un cens país regió amb una regió que no existeix.

Modificació d’un cens país regió que no existeix.

Baixa d’un cens país regió que no existeix

Baixa d’un cens país regió que existeix.

Cens Local

Alta d’un cens local que ja ha estat creat.

Alta d’un cens local amb dades correctes.

Alta d’un cens local amb un cens regió que no existeix.

Alta d’un cens local amb una localitat que no existeix.

Modificació d’un cens local que existeix.

Modificació d’un cens local amb un cens regió que no existeix.

Modificació d’un cens local amb una localitat que no existeix.

Baixa d’un cens local que no existeix

Baixa d’un cens local que existeix.

Ciutadà

Alta d’un ciutadà que ja ha estat creat.

Alta d’un ciutadà amb dades correctes.

Modificació d’un ciutadà que existeix.

Modificació d’un ciutadà amb dates errònies.

Modificació d’un ciutadà que no existeix.

Baixa d’un ciutadà que no existeix

Baixa d’un ciutadà que existeix.

Assignació d’un Ciutadà a una

Alta d’un ciutadà-opció que ja ha estat creat.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 54

Opció

Alta d’un ciutadà-opció amb dades correctes.

Alta d’un ciutadà-opció amb un ciutadà que no existeix.

Alta d’un ciutadà-opció amb un cens local que no existeix.

Alta d’un ciutadà-opció amb una opció que no existeix.

Modificació d’un ciutadà-opció que existeix.

Modificació d’un ciutadà-opció amb un ciutadà que no existeix.

Modificació d’un ciutadà-opció amb un cens local que no existeix.

Modificació d’un ciutadà-opció amb una opció que no existeix.

Baixa d’un ciutadà-opció que no existeix

Baixa d’un ciutadà-opció que existeix.

5.2.2 Proves de les consultes

A continuació és detallen les proves per a les consultes:

5.2.2.1 Procediments de les consultes

Es verifiquen que les funcions creades per a fer els llistats de consultes mostren els

resultats correctament:

Llistat de totes les votacions que s’hi han produït en un país concret.

SELECT * FROM TABLE(FUN_LLIST_VOTACIONS_PAIS(‘ES’));

Llistat de les 10 votacions on hi ha hagut més diferencia percentual de vots

entre l’opció més votada i la menys votada.

SELECT * FROM TABLE(FUN_LLIST_MES_DIFERENCIA_P);

Llistat de les 10 votacions que han tingut menys diferencia percentual de vots

entre l’opció més votada i la menys votada.

SELECT * FROM TABLE(FUN_LLIST_MENYS_DIFERENCIA_P);

Donat el codi aleatori que identifica un ciutadà, el llistat de tots els censos als

que pertany.

SELECT * FROM TABLE(FUN_LLIST_CENSOS_CIUTADA('A1'));

Donat el codi aleatori que identifica un ciutadà, el llistat de les votacions en les que ha participat i en les que no.

SELECT * FROM TABLE(FUN_LLIST_PARTICIPACIO_CIUTADA('ES'));

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 55

5.2.2.2 Mòdul estadístiques

Es realitzaran les següents consultes per a verificar les estadístiques generades:

Donat un país i un any concret: el nombre de votacions finalitzades que s’hi han

produït.

SELECT NOMBREVOTACIONSFINALITZADES FROM

VOTACIONSFINALITZADES WHERE IDPAIS = ‘ES’ AND ANYS =

‘2011’;

Donat un cens i un any concret: el valor mitjà del percentatge de participació,

tenint en compte totes les votacions associades a aquell cens electoral que han

finalitzat durant aquell any.

SELECT VALORMITJAPERPART FROM MITJAPERCENTATGEPARTICIPACIO

WHERE IDCENS = ‘ES’ AND ANYS = ‘2010’;

Donat un cens i un any concret: el nombre de votacions que ha tingut

associades aquell cens durant aquell any.

SELECT NOMBREVOTACIONSCENS FROM VOTACIONSCENS WHERE IDCENS

= ‘ES’ AND ANYS = ‘2011’;

Donat un any concret: la votació que més participació ha tingut.

SELECT VOTACIOMESPART FROM VOTACIOMESPARTICIPACIO WHERE

ANYS = ‘2011’;

Donat un any concret: la localitat europea que més vots han emès els seus

ciutadans.

SELECT LOCALITATMESVOTS FROM LOCALITATMESVOTS WHERE ANYS =

‘2011’;

Donat un any concret: percentatge de ciutadans que mai han votat.

SELECT PERCIUTADAMAIVOT FROM PERCENTATGECIUTADAMAIVOT

WHERE ANYS = ‘2011’;

Votació que històricament ha tingut més participació.

SELECT VOTHISMESPART FROM VOTHISTORICAMESPARTICIPACIO;

Votació que històricament ha tingut més diferència percentual entre l’opció més

votada i la menys.

SELECT VOTHISDIF FROM VOTHISTORICAMESDIFERENCIA ORDER BY

DIFPERCENTUAL ASC;

Votació que històricament ha tingut menys diferència percentual entre l’opció

més votada i la menys.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 56

SELECT VOTHISDIF FROM VOTHISTORICAMESDIFERENCIA ORDER BY

DIFPERCENTUAL DESC;

Número màxim de votacions en les que ha participat una mateixa persona i el

país d’aquesta persona, tenint en compte tota la història de votacions d’Europa.

SELECT NUMEROMAXVOTPERSONA FROM MAXVOTACIONSPERSONA WHERE

CODCIUTADA = ‘A1’ AND PAIS = ‘ES’;

5.2.2.3 Comprovacions dels logs

Es comprova que a la taula LOG s’hagi inserit correctament els procediments

emmagatzemant.

SELECT * FROM LOG;

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 57

6 Valoració econòmica

El nombre totals de dies totals del projecte són 117 dies en 17 setmanes. La dedicació

aproximada d’hores per setmana és de 15-18 hores, per tant, el nombre d’hores

dedicades al projecte és de 280 hores. D’acord amb les necessitats de cada fase del

projecte, quedaran repartides de la següent manera:

Membres Hores Preu Hora Total

Cap de projecte 75 h. 60,00€ 4.500,00

Analista de Bases de Dades 70 h. 50,00€ 3.500,00

Programador de Bases de Dades 65 h. 42,00€ 2.730,00

Provador 50 h. 30,00€ 1.500,00

Documentalista 20 h. 20,00€ 400,00

Total Projecte 12.630,00€

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 58

7 Conclusions

Segons tot el temps que ha durat el projecte podem extreure diferents conclusions.

Primer de tot, podem dir que una bona planificació resulta essencial per a la realització

del projecte, ja que una planificació realista amb la contemplació de els possibles

imprevistos fan que es pugui desenvolupar el treball correctament. A més, el

compromís per totes les parts ajudarà a la comunicació i a complir els temps proposats

per a les tasques.

D’altra banda, la documentació aportada ha de ser d’una alta qualitat. Una

documentació clara i fàcil d’entendre ajudarà al client la bona revisió i correcció de

possibles errors a més de transmetre tranquil·litat i confiança.

Altre punt important, és que el disseny ha de ser plantejat correctament des de l’inici

del projecte, ja que el seu resultat dependrà les següents fases de desenvolupament.

A més, ajuda a la detecció d’errors de manera ràpida i àgil. És important saber, que el

disseny no és tancat ja que en funció dels nous requeriments que es detectin en fases

posteriors, poden repercutir en el disseny inicial.

Pel que fa a la solució tecnològica per a la implementació de les funcionalitats, l’ús de

procediments emmagatzemats essent l’alternativa al desenvolupament de complexes

funcionalitats en aplicacions. A més assegura la integritat de les dades, la eficiència i

les restriccions en valors i compliment de condicions. A més, el manteniment del codi

d’aquest procediments és molt senzill, ja que la funcionalitat es troba compartida entre

molts procediments no complexes.

Finalment, pel que fa a la valoració econòmica, s’ha fet una estimació tenint en compte

tots els aspectes depenent del personal contactat per a la correcta realització del

projecte. És important que el client faci una valoració per a justificar si es necessària o

no la inversió dins del temps estimat.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 59

8 Glossari

Base de Dades Relacional: és una base de dades que compleix amb el model

relacional d'organització de les dades.

Clau forana: en les BD es parla d'una clau forana quan un atribut d'una taula

referència a un atribut d’una altra taula.

Clau primària: es defineix en les bases de dades com l’atribut que identifica una

entitat i que pren exactament un valor únic per a cada ocurrència.

Diagrama E/R: el diagrama entitat-relació és una eina utilitzada per al modelat de les

dades d’un sistema d’informació relacional. Aquest model expressa entitats rellevants

d’un sistema, i les seves propietats i interrelacions.

Disparadors / triggers: recurs utilitzat en SQL que fa que una determinada acció

s’executi davant d’un succés que intenta modificar l’estat de les dades amb una

inserció, una modificació o un esborrat.

Entitat: una entitat és una representació abstracte d’un objecte del món real que té

una sèrie de propietats que es poden representar com a atributs.

Entitat-relació: una entitat-relació o interrelació, és una associació entre entitats.

Procediment emmagatzemat: els procediments emmagatzemats són programes

emmagatzemats físicament en la BD, i que quan es criden s’executen directament en

el motor del SGBD. Això permet manipular grans quantitats de dades en

comunicacions entre servidor i client sense saturar el tràfic de la xarxa de dades

sortints i entrants.

Script: és un fitxer de text que conté el codi font amb les instruccions necessàries que

escriu un programador per realitzar certes tasques, com per exemple crear una base

de dades.

SGBD: Sistema de Gestió de Bases de Dades. Són sistemes de maquinari específics,

destinats a fer d’interfície entre la Base de Dades, l'usuari i les aplicacions que la

utilitzen.

TFG: Treball final de Grau.

TFC Base de Dades Relacionals - PAC 1 (Pla de treball)

Sistema de votació ciutadà a nivell Europeu a través d’Internet

Maria del Carmen León Lucena 60

9 Bibliografia

Llibres consultats:

K.Loney. Oracle Database 10g: The Complete Reference. McGraw-Hill

Osborne Oracle Press.

Fonts d’Internet consultades:

Fòrum MySQL. http://forums.mysql.com/read.php?71,101916,101916

MySQL 5.5 Reference Manual.

http://dev.mysql.com/doc/refman/5.5/en/index.html

Documentació Oracle10. http://www.oracle.com/pls/db102/homepage

Oracle PL/SQL Code Library and Resources. http://psoug.org/reference/