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:
A la finestra que tens ara:
A la següent pantalla:
Ara:
Això és el contenidor de la teva base de dades.
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.
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ò:
Si vols que el codi es posi automàticament:
Desa la taula amb el nom:
DEPARTAMENTS
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
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
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
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.
Abans de fer formularis, consultes i informes, posa dades.
Ordre correcte:
La pràctica et demana com a mínim:
Opció recomanada
Ves a Formularis i fes servir:
Utilitzar l’assistent per crear formulari
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
Basat en EQUIPS.
Camps:
Desa com:
FrmEquips
Basat en INCIDENCIES.
Camps:
Desa com:
FrmIncidencies
Aquí et recomano:
Ara encara està buit.
Per poder col·locar botons i editar-los:
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.
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.
Tens dues maneres. La més simple és usar una etiqueta fixa.
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.
Ara posarem:
Fes això per a cada botó:
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.
Et demanen almenys 2 consultes. Te’n proposo 3 de bones i fàcils.
Ves a Consultes:
Jo et dono el SQL.
Nom:
Q_IncidenciesPendents
SELECT * FROM INCIDENCIES WHERE Estat <> 'Tancada';
Si vols només les pendents estrictes:
SELECT * FROM INCIDENCIES WHERE Estat = 'Pendent';
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;
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.
Et demanen almenys 2 informes.
Ves a Informes i fes servir:
Utilitzar l’assistent per crear informe
Fes-lo a partir de la consulta:
Q_IncidenciesPendents
Posa els camps que vulguis mostrar:
Desa com:
Informe_IncidenciesPendents
Fes-lo a partir de:
Q_IncidenciesCompletes
Així mostraràs:
Desa com:
Informe_IncidenciesCompletes
Perquè la pràctica quedi ben presentada:
Fes-ho en aquest ordre:
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.
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.
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.