Disseny i creació de bases de dades

Una base de dades és un conjunt de dades ordenades segons certes regles i criteris. Si a aquesta definició li afegim el concepte de gestor de bases de dades ens trobem davant d’una aplicació que permet emmagatzemar de forma ordenada qualsevol tipus d’informació, així com accedir i recuperar aquestes dades aplicant diferents filtres i criteris de selecció. I és en aquesta última part en la qual resideix la veritable raó de ser de les bases de dades: en les possibilitats de recuperar només la informació que necessitem en cada moment, ordenar i fins i tot aplicar-hi operacions aritmètiques.

Insistint en el concepte de conjunt ordenat de dades, podem trobar un exemple bastant clar en la diferència existent entre un munt de números de telèfon i adreces en trossos de paper o tenir-ho organitzat en una agenda. En ambdós casos tenim la mateixa informació, però mentre que en el primer cas, trobar un número de telèfon pot portar bastant temps, en el segon cas, el treball es pot reduir a uns pocs segons. La diferència es troba en la manera com la informació està emmagatzemada i organitzada.

En l’actualitat, les bases de dades són el pilar fonamental sobre el qual es sustenten la majoria dels sistemes informàtics.

Tot, pràcticament tot, es troba emmagatzemat en bases de dades. Algunes tan complexes com els sistemes administratius públics: sanitat, hisenda, etc,o tan senzilles com la gestió de reparacions del taller mecànic on arreglem el nostre cotxe, o la gestió d’un começ amb els seus clients, proveïdors, articles, treballadors, etc.

Introducció al LibreOffice Base

El LibreOffice Base és un sistema gestor de base de dades (SGBD) que permet, d’una banda crear les pròpies bases de dades o bé obrir sistemes d’altres fabricants. Entre les principals característiques d’aquesta aplicació podríem destacar-ne:

  • Com la resta de la suite d’ofimàtica es tracta d’una aplicació dissenyada sota les normes del programari lliure.
  • El sistema gestor de base de dades (SGBD) que s’utilitza es denomina HSQL i està basat en Java.
  • Inclou una gran quantitat d’assistents i vistes que fan més fàcil el treball a totes aquelles persones que disposen de coneixements limitats sobre bases de dades.

Components essencials d'una base de dades

En pràcticament qualsevol base de dades actual hi ha quatre elements essencials: taules, consultes, informes i formularis. Tots són indispensables i necessaris.

  • Taules: són estructures formades per camps i registres que permeten emmagatzemar la informació. Sense taules es pot dir que la base de dades no existeix, ja que la resta de components en depenen.
  • Consultes: tenen com a propòsit principal recuperar la informació que contenen les taules. Aquestes permeten filtrar informació i mostrar només aquelles dades que ens interessen en cada cas.
  • Formularis: faciliten principalment la tasca d’introduir informació a les taules. Quan hem d’introduir poques dades ho fem directament a les taules però si són moltes dades les que s’han d’introduir és millor fer-ho a través del formulari.
  • Informes: per obtenir còpies impreses de les nostres dades, utilitzarem els informes, tot permetent fer operacions d’agrupament, suma i càlcul amb les dades.

Aquesta és una definició molt bàsica de cada un dels elements que formen part d’una base de dades però suficient per començar a familiaritzar-vos amb aquests conceptes.

Taules

Dins d’una base de dades, la informació s’emmagatzema i s’organitza en taules. La figura en mostra un exemple.

Figura Taula

A cada taula trobareu una sèrie de files i columnes. Les files d’una taula d’una base de dades s’anomenen registres i les columnes, camps.

Totes les dades que apareixen en un registre es refereixen a un mateix individu i totes les dades que apareixen en un camp es refereixen a un tipus d’informació igual sobre l’individu. La intersecció d’un registre amb un camp s’anomena dada.

Consultes

Les consultes tenen com a propòsit recuperar la informació emmagatzemada en les taules. Amb aquesta breu descripció podríem pensar 'per què no la mirem directament a les taules?’ Doncs bé, l’avantatge es troba en la possibilitat que ofereixen les consultes de filtrar la informació i mostrar només aquelles dades que interessin en cada cas.

Per exemple, imagineu que teniu una enorme base de dades amb centenars de clients i resulta que necessiteu saber els que resideixen a Tarragona per facilitar al vostre comercial la planificació de la ruta de visites.

En aquest cas, la solució és crear una consulta per obtenir només aquells clients de Tarragona, tal com es pot observar a la figura

Una altra de les característiques importants de les consultes és que podeu utilitzar més d’una taula per mostrar dades relacionades. Això és així gràcies al fet que Base és un sistema de bases de dades relacional.

Figura Consulta

Les consultes es formen a partir de diferents expressions que permeten relacionar-vos amb la base de dades per extreure informació d’una o diverses taules. Aquestes expressions es creen utilitzant la interfície de disseny de consultes i els assistents de LibreOffice Base, que serveixen com a pont entre el llenguatge intern de Base, o SQL, i els vostres propòsits.

Formularis

Els formularis ajuden principalment en tasques d’introducció d’informació. Quan es tracta d’incloure poques dades podeu fer-ho directament sobre les taules, però quan el volum és important, aquest mètode es torna poc eficaç. Per resoldre aquest problema, els formularis permeten incloure dades de forma molt més intuïtiva i senzilla.

A la figura podeu veure un exemple de formulari.

A més, i tal com passa amb les consultes, els formularis també permeten treballar simultàniament sobre diverses taules d’una base de dades.

Figura Formulari

Un aspecte menys conegut dels formularis, però molt útil en alguns casos, és la recerca d’informació. LibreOffice Base permet utilitzar les eines de cerca també sobre els vostres formularis.

Informes

Els informes tenen com a objectiu proporcionar les eines necessàries per obtenir una còpia impresa de les dades existents en una base de dades. Tot i això, existeixen altres possibilitats tan interessants com la generació d’arxius en format PDF. Habitualment, els informes se solen fer a partir dels resultats obtinguts de l’execució de consultes. D’aquesta manera es combina la possibilitat de seleccionar només les dades que desitgeu que ens ofereixin les consultes amb l’avantatge d’imprimir que tenen els informes.

La figura mostra l’aparença típica d’un informe creat amb LibreOffice Base. Tal com podeu comprovar el seu aspecte és molt similar als arxius de text creats amb Writer. Aquesta opció permet aprofitar els vostres coneixements amb Writer i aplicar-los en el disseny de formularis amb Base.

Figura Informe

Base denomina a cadascun dels elements que hem descrit objectes de la base de dades.

A la figura es pot veure a la part esquerra de la interfície de l’aplicació els accessos disponibles per a la creació de taules, consultes, formularis i informes.

Figura Objectes

La importància de planificar

Abans de començar a treballar en una nova base de dades, és imprescindible realitzar un procés previ de planificació i organització del treball.

Quan treballeu amb bases de dades relacionals és habitual distribuir la informació en diferents taules vinculades entre si. Aquesta característica obliga a un procés de planificació i disseny previ per obtenir el resultat esperat. Penseu què voleu emmagatzemar a la base de dades, quines dades necessiteu recuperar i, en definitiva, determineu el propòsit final del projecte per establir uns fonaments prou sòlids.

Per això és convenient agafar llapis i paper per fer-nos un petit esbós del que serà l’estructura de la base de dades.

  • En primer lloc heu de tenir clara la finalitat del projecte, ja que serà determinant per crear les taules necessàries i, en definitiva, l’estructura de la base de dades més adequada.
  • Enumereu les taules que necessiteu. Per exemple, si esteu dissenyant una base de dades per un petit negoci, probablement necessitarà una taula de clients, una altra de proveïdors, una altra de comandes, etc.
  • Un cop presa la decisió sobre les taules, passeu a determinar quina serà la informació que contindrà cada taula. Seguint amb l’exemple anterior, per la taula de clients necessitarà el nom, l’adreça, el telèfon, la persona de contacte, etc.
  • Posteriorment, heu de pensar quina relació s’establirà entre les diferents taules. Per exemple, està clar que entre la taula de comandes i la taula de proveïdors hi haurà una relació.
  • Per últim, també caldrà pensar en els elements que necessitareu com ara consultes, formularis o informes.

Per començar, establiu prioritats i enumereu les funcionalitats principals que desitgeu obtenir de la base de dades.

Veiem ara uns exemples per il·lustrar la importància de realitzar una bona planificació. Veureu destacades certes paraules que considerem que són les més bàsiques per cadascun dels diferents projectes.

Exemple d'una base de dades per portar un inventari

Podríem utilitzar una base de dades com a suport per realitzar un inventari de tots els ordinadors de l’empresa, impressores, taules, dispositius de projecció i qualsevol altre element que formi part del mobiliari de l’empresa. En aquest cas necessitaríem taules en les quals guardar la descripció i la quantitat de cada un d’aquests objectes, així com la seva ubicació. Per això últim, necessitareu crear una taula que contingui tots els departaments, i altres estances de l’empresa, que continguin materials susceptibles de ser inclosos en l’inventari. Els inventaris i catàlegs de material en general són susceptibles de gestionar-se mitjançant bases de dades. Una base de dades és una bona solució per realitzar aquesta gestió.

Exemple d'una base de dades per controlar les activitats d'un petit videoclub

Podríem utilitzar una base de dades per gestionar aquest negoci. En aquest cas necessitaríem taules en les quals guardar les dades dels socis: nom, adreça, DNI, data d’alta, etc. Necessitareu també crear una taula que contingui totes les pel·lícules: títol, categoria, número de la pel·lícula, sinopsi, director, etc. Una taula categoria, en la qual podríeu establir el preu de lloguer, si és d’aventures, infantil, d’acció o ciencia ficció, etc. També faria falta una taula lloguer, en la qual, entre d’altres, podríeu enregistrar les diferents informacions sobre les pel·lícules llogades: número de lloguer, número de soci, número de pel·lícula, data de lloguer, si ha estat tornada o no, estat de devolució, etc.

Exemple d'una base de dades per gestionar un despatx d'administració de finques

En primer lloc necessitareu una taula en la qual pugueu especificar les diferents comunitats que gestioneu. Això suposarà tenir informació del CIF, nom, domicili, propietari, president, etc. També és convenient tenir en la vostra BD una taula que pugui recollir les despeses que generen les diferents comunitats. És necessari també una taula d’ingressos per tenir constància de les aportacions dels propietaris. I una taula on pugueu tenir tota la informació rellevant de cada propietari. Quina és la taula que pot agrupar tota aquesta informació?. Possiblement necessitareu una taula comodí relació-propietari-comunitat que us permeti establir les relacions entre totes les taules.

Exemple d'una base de dades d'una empresa amb sucursals

Una possibilitat prou correcta seria tenir les taules dels articles, en les quals podríeu indicar les característiques del producte que comercialitzeu, l’estoc que teniu, quin proveïdor el subministra, etc. Necessitareu una taula de zones per indicar on s’ubiquen els vostres clients. Quines taules penseu que falten? Treballadors, amb les seves dades personals, zona comercial, vendes en la qual pugueu relacionar les vendes realitzades i quin comercial n’és el responsable, quins articles ha venut, etc. Per acabar, una taula amb els proveïdors, en la qual pugueu indicar, a part de les dades necessàries, l’article que us subministra.

Com podeu observar pràcticament no hi ha cap aspecte al qual no es puguin aplicar les bases de dades. Tot i això, cal dir que moltes vegades no hi ha una solució única en el moment de planificar una base de dades ja que dependrà molt de les necessitats d’informació que hi hagin.

Cal concretar una mica més. Les dades dels clients, quines són? Evidentment hem d’incloure nom i cognoms. I la seva adreça? No, si no pensem enviar-los correspondència. El seu número de telèfon? Sí, si preveiem que els haurem d’avisar d’un enviament de mercaderia o de qualsevol altra circumstància. Persona de contacte, CIF, forma de pagament, crèdit concedit, condicions de ports, etc? Totes aquestes preguntes, i més, són les que us heu de fer abans de començar a treballar amb una base de dades.

Després de llegir els paràgrafs anteriors, veiem que la nostra base de dades ha de contenir unes taules de dades que seran les que disposaran de la informació que necessitem gestionar.

Una bona idea pot ser fer un esquema en paper anotant les dades que voleu utilitzar i les tasques que voleu que realitzi la base de dades: llistat de clients, articles que pertanyen a una determinada categoria, proveïdors, etc. D’aquesta manera resultarà més senzill concretar la informació que necessitem emmagatzemar-hi.

És convenient, també, estudiar l’estructura resultant per tal de poder detectar possibles errors. Insistim en què una bona planificació farà molt més fàcil el treball amb la base de dades. I el més important, evitarà que haguem de fer canvis sobre l’estructura de taules, quan aquestes ja continguin informació.

Sobre LibreOffice Base

LibreOffice Base és un sistema gestor de base de dades (SGBD) i, com a tal, permet administrar grans quantitats d’informació de forma ràpida i senzilla. També es tracta d’una aplicació gratuïta i en català que es pot descarregar des del seu web.

Entre les principals característiques de LibreOffice Base podríem destacar-ne:

  • Permet tant crear les nostres pròpies bases de dades com obrir aquelles creades per altres persones.
  • És programari lliure, com la resta de la suite LibreOffice.
  • El sistema gestor de base de dades (SGBD) que utilitza Base s’anomena HSQL i està escrit utilitzant llenguatge Java, oferint, entre d’altres, l’avantatge de ser multiplataforma. És a dir, es pot executar en diferents entorns com Linux o Windows sense que sigui necessari alterar res en els nostres projectes.
  • Inclou un gran nombre d’assistents i vistes per fer més fàcil la feina a totes aquelles persones que disposin de coneixements limitats sobre bases de dades.
  • Per projectes senzills és possible accedir directament a fitxers DBase. També permet obrir bases de dades Access, text pla, mysql, DAO o, fins i tot, Oracle. O bé qualsevol altra base de dades a partir de les interfícies ODBC o JDBC.
  • Des de Base, podem accedir a la informació existent en agendes compatibles amb LDAP, Outlook i, per descomptat, Mozilla.

Hi ha una relació estreta entre LibreOffice i Java. Aquest element resulta imprescindible per dur a terme certes operacions dins del programa però, a Base, la situació és molt més crítica ja que si no tenim instal·lada la màquina virtual de Java pràcticament no funciona.

La primera base de dades amb LibreOffice

Per crear una nova base de dades, LibreOffice ho posa bastant fàcil amb l’Auxiliar per a bases de dades que apareix després d’obrir l’aplicació o intentar crear una base de dades des de qualsevol altra aplicació de LibreOffice. L’aspecte d’aquest quadre de diàleg es pot comprovar a la figura.

Figura Assistent de creació de base de dades

Pràctica d'accés a base de dades

Executeu els següents passos per accedir a una base de dades:

  1. Feu clic a Inici / Programes / LibreOffice.org / LibreOffice.org Base si encara no heu iniciat el programa o utilitzeu l’opció Arxiu / Nou / Base de dades si us trobeu dins l’entorn de qualsevol altra aplicació de LibreOffice.
  2. Dins del quadre de diàleg Assistent per a bases de dades apareixen diverses possibilitats: Crear una nova base de dades, Obrir una base de dades ja existent o connectar amb una base de dades existent. En aquests moments interessa crear una nova base de dades. Feu clic en ella i premeu el botó Següent.
  3. Un cop completat el pas anterior, en la següent finestra, que es veu a la figura, trieu entre registrar o no la base de dades. Si decidiu registrar-la, estarà disponible com a origen de dades per a altres projectes de LibreOffice (Write, Calc, Impress) amb tan sols recórrer a la comanda Veure / Fonts de dades de Writer, Calc … La figura mostra l’aspecte de Writer després d’utilitzar aquesta característica. En canvi, si no voleu aprofitar aquesta opció i preferiu no registrar la base de dades, només estarà disponible des del propi arxiu de LibreOffice Base.
  4. Una altra de les opcions que podeu marcar és la casella que permet obrir la base de dades en mode edició. Aquesta opció serà la més habitual per començar a treballar amb la base de dades immediatament.
  5. En prémer Finalitzar apareix la finestra Desa, en la qual triareu un nom i una ubicació per a la base de dades que esteu creant. En aquest cas, a la nova base de dades li donareu el nom de base1.odb.
Figura Registrar la base de dades

Figura Enllaçar Writer i base de dades

L'entorn de LibreOffice Base

Encara que Base és un component de LibreOffice.org, el seu aspecte difereix lleugerament de la resta d’aplicacions de la suite. La figura mostra l’entorn del programa després de crear o obrir una base de dades amb l’assistent.

Figura Entorn de base de dades

Dins de l’entorn de Base podeu distingir tres parts, a més de les típiques barres d’eines i de menús que ja coneixeu. Al marge esquerre trobeu accessos per als objectes de la base de dades: taules, consultes, formularis i informes. Ara, fixeu-vos en l’àrea situada a la dreta i comproveu com apareix dividida en dues seccions: la superior permetrà accedir ràpidament a les tasques disponibles per a cada objecte com ara crear taules, afegir consultes, dissenyar formularis, etc. S’anomena igualment Tasques. Mentre que la part inferior mostrarà els elements disponibles per a l’objecte seleccionat en cada cas: taules, formularis …

Obrir bases de dades existents

LibreOffice Base també permet obrir arxius de bases de dades ja creats tant del propi programa com de tercers. En aquest últim cas podeu treballar amb bases de dades Access, Paradox, dBase…

Situeu el ratolí sobre qualsevol de les tasques disponibles i a la dreta n’apareixerà una breu descripció.

Per obrir un arxiu de bases de dades creat prèviament heu de marcar l’opció Obrir un arxiu de base de dades existent en el primer pas de l’Assistent, per després fer clic sobre el botó Obrir.

La llista Usat recentment mostra els últims projectes amb els quals heu treballat, tal com mostra la figura.

Figura Obrir una base de dades existent
Anar a la pàgina anterior:
Resum
Anar a la pàgina següent:
Activitats