Camps calculats

Índex

 

Camps calculats

En virtut dels criteris de normalitat, no podem incloure en una base de dades una dada que pugui ésser calculada a partir d'una altra o d'unes altres. Per exemple, seria incorrecte incloure en una taula un camp destinat a l'any de naixement d'una persona i un altre de referit a la seva majoria d'edat; seria incorrecte incloure en una taula la superfície, la població i la densitat de població d'una entitat geogràfica...

En aquests casos i molts altres d'anàlegs, recorrem als anomenats camps calculats: desem en la taula l'any de naixement de la persona i calculem la majoria d'edat sumant-hi 18; desem en la taula la superfície i la població i calculem la densitat de població dividint la segoan per la primera...

En un camp calculat, en lloc d'un nom de camp hi ha una fórmula, que elabora la resposta a partir de dades presents en la taula. I en general s'hi afegeix un àlies.

Són possibles dos tipus de càlculs:

 

Càlculs matemàtics

Suposem una taula amb les "Comarques" de Catalunya; per a cada comarca establim els camps "IdC", "Comarca", "Capital", "Superfície" i "Població". Una visió (parcial) de la taula seria:

#

Volem crear una consulta que presenti la densitat de població. Hi afegirem doncs un camp calculat, definit mitjançant la fórmula

"Població” / "Superfície"

i dotat d'un àlies que faci entenedor el resultat del càlcul,

AS "Densitat"

Això ens permet fer aparèixer la superfície i la població (dades independents) i la densitat (dada dependent o calculada):

SELECT "Comarca", "Capital", "Superfície", "Població", "Població" / "Superfície" AS "Densitat"
FROM "Comarques"

I aquest serà el resultat:

#

En la formula de l'exemple es fa servir l'operador de la divisió, '/'. D'una manera general s'hi poden fer servir els operadors habituals: '+', '-', '*' (multiplicació) i '/' (divisió), i, si cal, s'hi indica la prelació de les operacions amb l'ús habitual dels paréntesis.

 

Concatenació de textos

L'operador que indica l'addició de textos, anomenada concatenació, és la doble ratlla vertical (||); en Access, el símbol '&'.

Volem, per exemple, unir en una sola columna la comarca i la capital, i escriure aquesta darrera entre paréntesis. La fórmula que ho farà posible és

SELECT "Comarca" || ' (' || "Capital" || ')' AS "Comarca i capital"
FROM "Comarques"

(Atenció a les cometes, dobles per als noms dels camps i senzilles per als textos afegits).

I aquest és el resultat de l'aplicació de la consulta:

#