Guia pas a pas per fer la pràctica de base de dades amb LibreOffice Base

Aquesta guia explica, exactament i pas a pas, com fer la pràctica de base de dades amb LibreOffice Base.

Enunciat original de la pràctica:

Obrir l’enunciat a Google Drive

1. Crear la base de dades

A la finestra que tens ara:

  1. Deixa marcada l’opció “Crear una base de dades nova”.
  2. A “Base de dades incrustada” deixa HSQLDB incrustat.
  3. Prem “Endavant >”.

A la següent pantalla:

  1. Deixa marcada l’opció de registrar la base de dades si surt.
  2. Deixa marcada també “Obrir la base de dades per editar”.
  3. Prem “Finalitza”.

Ara:

Això és el contenidor de la teva base de dades.

2. Crear les taules

Ara, a l’esquerra, entra a Taules.

Tens dues maneres:

Per aquesta pràctica et recomano clarament:

Crear taula en vista de disseny

Així controles bé tipus de dades, clau primària i relacions.

3. Taula DEPARTAMENTS

Crea una taula nova en vista de disseny i posa aquests camps:

Nom del camp Tipus
Codi Enter [INTEGER]
Nom Text [VARCHAR]

Ara fes això:

  1. Selecciona la fila Codi
  2. Clic dret
  3. Clau primària

Si vols que el codi es posi automàticament:

Desa la taula amb el nom:

DEPARTAMENTS

4. Taula USUARIS

Crea una altra taula:

Nom del camp Tipus
Codi Enter [INTEGER]
Nom Text [VARCHAR]
Cognoms Text [VARCHAR]
CodiDepartament Enter [INTEGER]

Marca Codi com a clau primària i, si vols, valor automàtic = Sí.

Desa amb el nom:

USUARIS

5. Taula EQUIPS

Crea aquesta taula:

Nom del camp Tipus
Codi Enter [INTEGER]
Nom Text [VARCHAR]
Model Text [VARCHAR]
Ubicacio Text [VARCHAR]
AnyAdquisicio Enter [INTEGER]
CodiDepartament Enter [INTEGER]

Marca Codi com a clau primària.

Desa amb el nom:

EQUIPS

6. Taula INCIDENCIES

Crea aquesta taula:

Nom del camp Tipus
Codi Enter [INTEGER]
CodiUsuari Enter [INTEGER]
CodiEquip Enter [INTEGER]
DataInici Data [DATE]
DataFi Data [DATE]
Descripcio Text [VARCHAR] o Text llarg
Resolucio Text [VARCHAR] o Text llarg
Estat Text [VARCHAR]

Marca Codi com a clau primària.

Desa amb el nom:

INCIDENCIES

7. Crear les relacions

Ara hem de fer les claus foranes visualment.

A dalt, busca una opció semblant a:

S’obrirà una finestra buida.

Afegeix les 4 taules:

Ara crea aquestes relacions arrossegant amb el ratolí:

Relació 1
DEPARTAMENTS.Codi → USUARIS.CodiDepartament

Relació 2
DEPARTAMENTS.Codi → EQUIPS.CodiDepartament

Relació 3
USUARIS.Codi → INCIDENCIES.CodiUsuari

Relació 4
EQUIPS.Codi → INCIDENCIES.CodiEquip

Si et surt una finestra:

Desa les relacions.

8. Introduir algunes dades de prova

Abans de fer formularis, consultes i informes, posa dades.

Ordre correcte:

  1. DEPARTAMENTS
  2. USUARIS
  3. EQUIPS
  4. INCIDENCIES

Exemple de dades

DEPARTAMENTS

USUARIS

EQUIPS

INCIDENCIES

9. Formularis

La pràctica et demana com a mínim:

Opció recomanada

Ves a Formularis i fes servir:

Utilitzar l’assistent per crear formulari

9.1 Formulari d’Usuaris

Crea un formulari basat en la taula USUARIS.

Inclou:

Més endavant, si vols que quedi millor, el camp CodiDepartament el pots convertir en una llista desplegable, però primer fes-lo simple.

Desa com:

FrmUsuaris

9.2 Formulari d’Equips

Basat en EQUIPS.

Camps:

Desa com:

FrmEquips

9.3 Formulari d’Incidències

Basat en INCIDENCIES.

Camps:

Desa com:

FrmIncidencies

Aquí et recomano:

9.4 Formulari d’inici — versió pas a pas

Part 1. Crear el formulari buit

  1. Obre la teva base de dades .odb.
  2. A l’esquerra, fes clic a Formularis.
  3. Tria Crear formulari en vista de disseny.
  4. Se t’obrirà una finestra nova del formulari.

Ara encara està buit.

Part 2. Mostrar les barres necessàries

Per poder col·locar botons i editar-los:

  1. Ves a Veure > Barres d’eines.
  2. Activa Controls de formulari.
  3. Si et surt, activa també Disseny de formulari.

LibreOffice documenta que els controls de formulari s’insereixen des de la barra Form Controls, i que el Design Mode serveix per passar de mode edició a mode ús.

Part 3. Activar el mode disseny

A la barra de controls, assegura’t que està activat:

Això és important: en mode disseny pots moure, editar i configurar els controls; fora d’aquest mode, els botons ja “funcionen” com a usuari.

Part 4. Posar un títol

Tens dues maneres. La més simple és usar una etiqueta fixa.

  1. A la barra Controls de formulari, busca el control tipus Etiqueta o Fixed Text / Label Field.
  2. Fes clic a aquesta eina.
  3. Dibuixa amb el ratolí una caixa a la part superior del formulari.
  4. Clic dret sobre l’etiqueta.
  5. Tria Propietats del control.
  6. A la pestanya General, escriu com a etiqueta per exemple:

Menú principal — Gestió d’incidències

Si vols, fes la caixa ampla perquè es vegi bé.

LibreOffice indica que després d’afegir un control pots obrir Control Properties amb clic dret per definir-ne les propietats, com ara l’etiqueta.

Part 5. Inserir els 4 botons

Ara posarem:

Fes això per a cada botó:

  1. A la barra Controls de formulari, fes clic a Botó o Push Button.
  2. El cursor canvia perquè puguis dibuixar el botó.
  3. Dibuixa el botó dins del formulari.
  4. Clic dret sobre el botó.
  5. Tria Propietats del control.
  6. A la pestanya General, canvia el text de Etiqueta / Label.

Per exemple:

Aquest és exactament el procediment general documentat per LibreOffice: activar la barra de controls, inserir un Push Button, i després editar-ne la propietat Label.

10. Consultes

Et demanen almenys 2 consultes. Te’n proposo 3 de bones i fàcils.

Ves a Consultes:

Jo et dono el SQL.

Consulta 1: Incidències pendents

Nom:
Q_IncidenciesPendents

SELECT *
FROM INCIDENCIES
WHERE Estat <> 'Tancada';

Si vols només les pendents estrictes:

SELECT *
FROM INCIDENCIES
WHERE Estat = 'Pendent';

Consulta 2: Equips amb el departament

Nom:
Q_EquipsDepartament

SELECT EQUIPS.Nom, EQUIPS.Model, EQUIPS.Ubicacio, EQUIPS.AnyAdquisicio, DEPARTAMENTS.Nom AS Departament
FROM EQUIPS
INNER JOIN DEPARTAMENTS ON EQUIPS.CodiDepartament = DEPARTAMENTS.Codi;

Consulta 3: Incidències amb nom d’usuari i equip

Aquesta queda molt bé.

Nom:
Q_IncidenciesCompletes

SELECT INCIDENCIES.Codi,
       USUARIS.Nom,
       USUARIS.Cognoms,
       EQUIPS.Nom AS Equip,
       INCIDENCIES.DataInici,
       INCIDENCIES.Descripcio,
       INCIDENCIES.Estat
FROM INCIDENCIES
INNER JOIN USUARIS ON INCIDENCIES.CodiUsuari = USUARIS.Codi
INNER JOIN EQUIPS ON INCIDENCIES.CodiEquip = EQUIPS.Codi
WHERE INCIDENCIES.Estat <> 'Tancada';

Aquesta és molt útil perquè després et serveix per a informes.

11. Informes

Et demanen almenys 2 informes.

Ves a Informes i fes servir:

Utilitzar l’assistent per crear informe

Informe 1: Incidències pendents

Fes-lo a partir de la consulta:

Q_IncidenciesPendents

Posa els camps que vulguis mostrar:

Desa com:

Informe_IncidenciesPendents

Informe 2: Incidències completes

Fes-lo a partir de:

Q_IncidenciesCompletes

Així mostraràs:

Desa com:

Informe_IncidenciesCompletes

12. Què et recomano per aprovar bé

Perquè la pràctica quedi ben presentada:

A les taules

Als formularis

A les consultes

Als informes

13. Ordre exacte que et recomano seguir ara

Fes-ho en aquest ordre:

  1. Acabar de crear la base de dades
  2. Crear les 4 taules
  3. Posar les claus primàries
  4. Crear les relacions
  5. Introduir dades de prova
  6. Crear 3 formularis bàsics
  7. Crear 2 o 3 consultes
  8. Crear 2 informes
  9. Al final, si vols, fem el formulari d’inici amb botons

14. Important sobre LibreOffice Base vs Access

Com que la pràctica diu “Access”, però tu ho estàs fent amb LibreOffice Base, el més important és que reprodueixis:

És a dir, la lògica de la pràctica, encara que el programa sigui diferent.


Exercici nou de continuació

Quan acabis aquesta pràctica, crea una nova base de dades amb una altra temàtica.

Proposta: Base de dades d’un videojoc de rol

Crea una base de dades per gestionar personatges, armes, enemics i combats.

Taules mínimes

Què has de fer

Aquesta guia està pensada perquè l’alumnat pugui seguir tots els passos exactament, sense perdre’s i sense saltar-se cap part de la pràctica.