bdd – openoffice base 1 bdd - openoffice baseblosse.pierre.free.fr/club_info/docs/bdd.pdf · v....

25
Jampol3 – – 2009/10 1 BDD OpenOffice Base BDD - OpenOffice Base I. Qu’est-ce qu’une BDD ? II. Vocabulaire III. Le logiciel : Base IV. Structure type d’une table i. id ii. Champ à saisie requise V. Données VI. Formulaires i. Construction ii. Utilisation VII. Recherche d’enregistrement VIII. Annexe : les types de champs I. Qu’est-ce qu’une BDD ? Une base de données, c’est simplement un fichier dans lequel on va stocker des données. On parlera de bdd pour abréger. Les données, ça sera tout et n’importe quoi, pourvu qu’un puisse les organiser en tableau. On peut envisager une bdd qui contiendrait un carnet d’adresses, un livre de recettes, une collection de cds, les articles d’un site internet etc. … Pourquoi utiliser une BDD plutôt qu’un tableau Calc (ou Excel) ? Il est vrai que la création d’une base de données et de son/ses formulaire(s) peut sembler fastidieuse et compliquée. Ceci dit, c’est reculer pour mieux sauter. En effet on s’embête peut-être un peu plus au début, mais c’est pour rendre le tout beaucoup plus simple au final. Grâce aux formulaires, on a une interface d’ajout/modification/suppression de données bien plus abordable et conviviale. Et comme on la construit soi-même, on sait exactement comment elle marche. De plus la bdd est un outil extrêmement puissant lorsqu’il s’agit de retrouver des données. On peut avoir des milliers d’entrées, retrouver un item en particulier est beaucoup plus facile que dans un document excel par exemple. L’autre avantage que nous verrons au chapitre V, c’est l’appel automatisé des données. On ne travaille qu’une seule fois, la machine fait le reste. Ça n’a l’air de rien sur un tableau d’une dizaine d’entrées, mais quand on commence à en avoir une centaine, ça fait gagner un temps fou ! II. Vocabulaire Avant de parler vocabulaire technique, il faut se représenter comment s’organise une bdd. La bdd en elle-même n’est qu’un contenant, on peut imaginer ça comme une sorte de grand classeur.

Upload: duongmien

Post on 12-Sep-2018

238 views

Category:

Documents


0 download

TRANSCRIPT

Jampol3 – – 2009/10

1 BDD – OpenOffice Base

BDD - OpenOffice Base

I. Qu’est-ce qu’une BDD ?

II. Vocabulaire

III. Le logiciel : Base

IV. Structure type d’une table

i. id

ii. Champ à saisie requise

V. Données

VI. Formulaires

i. Construction

ii. Utilisation

VII. Recherche d’enregistrement

VIII. Annexe : les types de champs

I. Qu’est-ce qu’une BDD ?

Une base de données, c’est simplement un fichier dans lequel on va stocker des données. On parlera de bdd pour

abréger.

Les données, ça sera tout et n’importe quoi, pourvu qu’un puisse les organiser en tableau. On peut envisager une bdd

qui contiendrait un carnet d’adresses, un livre de recettes, une collection de cds, les articles d’un site internet etc. …

Pourquoi utiliser une BDD plutôt qu’un tableau Calc (ou Excel) ? Il est vrai que la création d’une base de données et de

son/ses formulaire(s) peut sembler fastidieuse et compliquée. Ceci dit, c’est reculer pour mieux sauter. En effet on

s’embête peut-être un peu plus au début, mais c’est pour rendre le tout beaucoup plus simple au final. Grâce aux

formulaires, on a une interface d’ajout/modification/suppression de données bien plus abordable et conviviale. Et

comme on la construit soi-même, on sait exactement comment elle marche. De plus la bdd est un outil extrêmement

puissant lorsqu’il s’agit de retrouver des données. On peut avoir des milliers d’entrées, retrouver un item en particulier

est beaucoup plus facile que dans un document excel par exemple.

L’autre avantage que nous verrons au chapitre V, c’est l’appel automatisé des données. On ne travaille qu’une seule fois,

la machine fait le reste. Ça n’a l’air de rien sur un tableau d’une dizaine d’entrées, mais quand on commence à en avoir

une centaine, ça fait gagner un temps fou !

II. Vocabulaire

Avant de parler vocabulaire technique, il faut se représenter comment s’organise une bdd.

La bdd en elle-même n’est qu’un contenant, on peut imaginer ça comme une sorte de grand classeur.

Jampol3 – – 2009/10

2 BDD – OpenOffice Base

Comme n’importe quel classeur, elle contient des fiches sur lesquelles on pourra noter des choses. Ces fiches sont

exclusivement des tableaux dans lesquels on organise nos données. Ces tableaux s’appellent des tables.

Une table est évidemment organisée en lignes et colonnes. Les colonnes sont les critères d’organisation (titre du livre,

nom de l’auteur, année de parution, éditeur, collection… par ex.). On les appelle des champs.

Une ligne contiendra les données en elles-mêmes, le remplissage du tableau en somme, organisées selon les critères des

champs. On appellera une ligne une entrée, dans le logiciel Base, on l’appelle aussi un enregistrement.

Chaque ‘case’ d’une entrée s’appelle un champ. Oui, comme les champs dont on parlait plus haut. Ce n’est pas fait pour

vous induire en erreur, c’est simplement qu’on parlera du champ en général pour désigner la colonne, ou d’un champ en

particulier qui se rapporte à une entrée.

Et comme ‘an image is worth a thousand words’ :

Ce qui m’amène à vous parler d’une distinction à faire absolument. Il faudra séparer structure et données. La structure,

c’est comment on construit la table, quels noms on donne aux champs et quel type de données ils contiendront. Les

données, c’est ce qui se trouvera dans la table, ce que les fameux ‘champs’ contiennent. Si on fait bien cette distinction,

on comprend mieux pourquoi la case et la colonne s’appellent toutes deux ‘champs’. Pour la colonne, on parlera du

champ au niveau structurel, pour la case, on parlera du champ au niveau des données.

III. Le logiciel : Base

Bon, ben hop ! Sans plus attendre, on va se mettre au boulot. Ouvrons le logiciel OpenOffice Base .

Jampol3 – – 2009/10

3 BDD – OpenOffice Base

Voici ce qui s’affiche au démarrage du soft. Si vous n’avez pas encore créé de base, assurez-vous que le radio (case

ronde à cocher) ‘Créer une base de données’ est coché.

Si vous avez déjà une bdd, cochez le radio ‘ouvrir un fichier de base de données existant’. Et là, vous aurez deux

solutions : soit vous passez par la liste ‘Récemment utilisé’ pour retrouver votre bdd, soit vous cliquez sur le bouton

‘Ouvrir’ pour aller fouiller votre ordi à sa recherche.

Quelle que soit l’option choisie, cliquez sur suivant pour passer à la suite.

Jampol3 – – 2009/10

4 BDD – OpenOffice Base

Si vous avez choisi de créer une base, voici ce qui vous

attend :

La première question concerne le ‘référencement ‘ de votre bdd dans OpenOffice. Si vous cochez ‘Oui, …’ votre base

sera référencée dans tous les logiciels de la suite OpenOffice (Writer, Calc etc.) et vous pourrez donc y faire appel depuis

ces logiciels. Ça peut se révéler très pratique. Ceci dit, si vous choisissez ‘Non, …’ votre bdd ne sera pas inaccessible, mais

il vous faudra à chaque fois l’indiquer au logiciel. On va donc cocher ‘Oui’, ce sera plus simple pour la suite.

Pour la deuxième question, c’est ‘qu’est-ce qu’on fait ensuite ?’ On a vu en cours comment créer sa propre structure de

table, je vous suggère donc de cocher la première option. La seconde est un peu plus pratique, on vous guidera très bien,

il suffira de bien lire ce qui vous est proposé, mais le principal problème, c’est que vous n’aurez que des structures

prédéfinies par le logiciel et finalement assez peu de libertés.

Quoi que vous décidiez, à ce point, on peut cliquer sur ‘Terminer’, une boite de dialogue arrive et nous demande de

saisir le nom de notre bdd. Comme la base n’est que le classeur, qu’on peut mettre autant de tables qu’on veut et que

ces tables peuvent contenir des données aussi nombreuses que disparates, je vous suggère de lui donner un nom très

général. Nous n’aurons presque jamais besoin de plusieurs bases, une seule peut suffire à gérer à peu près tout ce qu’on

veut.

Une fois le nom choisi, il ne reste plus qu’à enregistrer la bdd et on se retrouve sur l’interface de base de Base (ça fait

beaucoup de ‘base’ :p)… Si vous aviez choisi l’option ‘Ouvrir un fichier de base de données existant’ plus haut, vous

arrivez également ici.

Jampol3 – – 2009/10

5 BDD – OpenOffice Base

On voit qu’elle est divisée en trois zones distinctes :

- La bande gauche (qui s’appelle ‘Base de données’) contient quatre boutons qui vont nous permettre de

travailler la bdd : Tables, Requêtes, Formulaires, Rapports. Notez qu’ici nous travaillons sur les tables, en effet, le

bouton table est dans un cadre bleu, c’est cette zone qui est active.

- Sur le plan droit, on trouve la zone haute qui s’appelle ‘Tâches’. Elle contient les tâches relatives à l’objet que

l’on travaille dans la bande gauche. Ici, on nous propose quelques tâches à effectuer sur les tables.

- Toujours à droite, la zone basse, elle, contient les objets existants. Ici, elle s’appelle ‘Tables’ parce que nous

avons le bouton ‘Tables’ actif dans la bande gauche. Il devrait apparaître ici une liste des tables présentes dans

ma bdd, mais comme elle est vide, il n’affiche rien, logique.

Bon, et bien maintenant qu’on a une bdd, il va falloir la remplir ! :D

IV. Structure type d’une table

Et voilà, on attaque par la structure. Je vous l’ai déjà dit, dans plein de domaines en informatique, on dissocie le fond de

la forme. Et bien, la BDD n’y coupe pas, et en plus vous verrez que ça se fait à bien des niveaux.

Jampol3 – – 2009/10

6 BDD – OpenOffice Base

Tout d’abord, avant même de penser à rentrer des données dans une table, il faut la construire. On va donc, lui donner

ce qu’on appelle une structure. Ça paraît barbare comme ça, mais c’est pas si compliqué. Il faut juste se souvenir qu’à ce

stade, on n’est pas encore en train de s’occuper de ce qu’on va mettre dedans.

Tout d’abord, assurons-nous d’être bien en train de travailler au niveau des tables, regardez dans la bande gauche si le

bouton ‘Tables’ est bleuté. S’il y est, pas de souci, sinon, cliquez-le.

Bon, ensuite, voyons dans ‘tâches’ ce que l’on peut faire :

C’est surtout la première option qui va nous intéresser : ‘Créer une table en mode Ébauche…’ L’assistant, c’est un peu

toujours pareil, comme je vous le disais plus haut, il va vous guider pas à pas, mais vous ne serez pas totalement libre. La

troisième option, on ne va pas s’en occuper. Bon, je ‘crée une table en mode ébauche’, voyons ce que ça

dit :

Cette nouvelle fenêtre apparaît. On a un tableau, dans lequel on va pouvoir créer nos champs et dire quel type de

contenu ils vont accueillir.

Jampol3 – – 2009/10

7 BDD – OpenOffice Base

Sous ce tableau, se trouve une zone nommée ‘Propriétés du champ’. C’est ici, après avoir choisi le type de champ dans la

liste, qu’on affinera les réglages du champ.

i. id

Il convient, bien entendu, d’avoir une idée assez précise de comment on veut organiser les données avant de se lancer.

Néanmoins, il y a un champ qui nous sera obligatoire. Il nous faut impérativement une colonne d’identification des

contenus.

Ce champ d’identification s’appelle ‘Clé primaire’ et sans lui, la table ne fonctionne pas. Ce champ spécifique, on peut lui

donner le nom qu’on veut, il peut contenir n’importe quoi, et on peut décider de le remplir nous-mêmes ou de laisser la

machine faire. Ceci dit, pour se simplifier la vie, le plus simple est de numéroter chaque entrée et le mieux, pour pas se

planter, est encore de laisser la machine faire.

Créons donc en premier ce champ – obligatoire – en utilisant la méthode conventionnelle. C’est cette méthode qui est

utilisée presqu’universellement pour toutes les tables de toutes les bdds !

Dans nom de champ, on va lui donner son nom : id. (Notez qu’on n’utilisera strictement uniquement des caractères

alphabétiques dans les noms des champs et en minuscules qui plus est. Ça veut dire aucun espace, aucun signe de

ponctuation excepté underscore, aucun caractère spécial, aucune majuscule.)

Dans la case suivante, dès qu’on se met à taper le nom, apparaît ‘Texte [VARCHAR]’. Un clic dessus appellera la liste

déroulante dans laquelle nous pourrons choisir le type de champ. Par défaut le champ est de type texte, il nous faut le

passer en nombre entier. Ce type s’appelle [INTEGER] ou tout autre type qui contient [INT] (voir annexe pour les

différents types de champs).

Voyons maintenant les options proposées dans les ‘Propriétés du champ’, vous savez, la zone du bas de la fenêtre.

- AutoValeur : cette option permet de dire si oui ou non la machine remplit le champ. Pour notre champ

d’identification, on va mettre ‘oui’. Comme ça, c’est le soft qui compte les entrées pour nous ☺. On appelle aussi

ça l’auto-incrémentation. Incrémenter signifie ajouter une valeur constante à chaque itération.

- Saisie requise : cette option permet de dire si l’enregistrement de l’entrée nécessite que le champ soit rempli ou

non. Si l’on reste sur ‘non’, le champ pourra rester vide, l’entrée sera tout de même enregistrée. Si on dit ‘oui’,

l’entrée ne sera pas enregistrée tant qu’on n’aura pas rempli le champ. Là, pour le coup, comme on a mis ‘oui’

pour l’AutoValeur, cette option disparaît puisque c’est la machine qui s’occupe de remplir le champ.

Jampol3 – – 2009/10

8 BDD – OpenOffice Base

- Longueur : c’est la longueur de la chaine de caractères, en d’autres termes : combien de caractères peut

contenir le champ. Ici, pour un champ de type [INTEGER], cette longueur n’est pas modifiable et est fixée à 10.

Ce qui signifie que le champ ‘id’ peut comporter des nombres de 10 chiffres au maximum soit jusqu’à

9‘999'999'999 entrées ! C’est bien plus qu’il n’en faut, avant de remplir une liste de près de dix milliards de cds,

on a de quoi voir venir ! On aurait aussi pu choisir un autre type tel que [SMALLINT] dont la longueur est de 5

caractères (soit 99'999 entrées maximum, ce qui est déjà très bien !) mais l’option ‘AutoValeur’ n’y est pas

disponible.

- Valeur par défaut : cette option permet de définir une valeur à enregistrer dans la table si le champ n’est pas

rempli. Encore une fois ici, comme la machine s’occupe de tout, cette option disparaît.

- Exemple de format : permet de définir comme seront présentées les données. En cliquant sur le bouton […],

une boite de dialogue apparait dans laquelle on peut choisir le format d’affichage des données : s’il s’agit d’une

date, d’un nombre monétaire, d’une heure, d’une adresse etc. et petite astuce : s’il s’agit d’un numéro de

téléphone, pour garder le ‘0’ en début de numéro, il faut passer le nombre de ‘Zéros non significatifs’ à 10. Et

oui, Base traite les nombres comme des nombres mathématiques et en maths, on ne met jamais de zéro devant

un nombre, il ne sert à rien. Il faut donc lui dire que le nombre comporte bien 10 chiffres, même si ce sont des

zéros.

Remarquez que dans la colonne ‘Description’, j’ai indiqué à quoi servait le champ. Remarquez également la petite clé

jaune tout à gauche , elle signifie que le champ est la Clé Primaire de la table. Comme on a utilisé la méthode

conventionnelle que Base connaît, il l’a passé automatiquement en Clé Primaire, il a compris ce qu’on voulait faire de ce

champ. Ceci dit, cela n’est valable qu’à partir de la version 3 d’OpenOffice. Pour les versions antérieures, il faudra le faire

Jampol3 – – 2009/10

9 BDD – OpenOffice Base

à la main : effectuer un clic droit dans la petite case grise à gauche du nom du champ et cocher l’item ‘Clé

Primaire’.

Voilà, nous avons notre champ d’identification, nous allons pouvoir passer à la suite.

ii. champ à saisie requise

Une table peut comporter autant de champs qu’on veut, jusqu’à… pas de limite ! On peut imaginer une table avec une

centaine de champs sans souci !

Il nous faudra, quelle que soit la taille de notre table et le nombre de champs, choisir au moins un champ dont la saisie

est requise. Pourquoi ? Eh bien, simplement, s’il n’est obligatoire de remplir aucun champ, on va se retrouver avec des

entrées vides, pour lesquelles aucun champ n’est rempli ! Le genre de trucs complètement inutiles en somme…

En cours, on a vu comment faire une collection de cds et on a marqué les champs ‘Artiste’ et ‘Album’ à saisie requise. En

effet, si on ne connait pas l’artiste ou le nom de l’album, ça ne sert à rien de le rentrer dans la cd-thèque. De même, en

fonction de ce que contiendra la table, on choisira toujours au moins un champ à saisie requise. Pour un carnet

d’adresses, on peut imaginer que le nom soit indispensable, pour une livre de recette... le nom du plat et ses ingrédients

etc.

Bon, je vous mets un exemple de structure de table, ma cd-thèque :

Jampol3 – – 2009/10

10 BDD – OpenOffice Base

Les champs ‘artiste’ et ‘album’ sont en ‘Saisie requise’. Le dernier champ, ‘out’ m’indique si j’ai prêté ou non ce cd. La

‘Valeur par défaut’ est à ‘Non’. Par défaut, on considère que le cd est à la maison, si je viens à le prêter, je n’aurai qu’à

cocher la case pour passer sa valeur à ‘oui’ et qu’il m’indique qu’il est emprunté ☺.

Bon, ma structure est prête, il me suffit de la sauvegarder : Fichier >> Enregistrer ou la petite disquette bleue en haut à

gauche. Il me demandera de lui donner un nom, je l’appelle ‘cd-theque’ (sans accent, c’est la convention). Et hop, je

ferme la fenêtre.

Ah mais d’un coup comme ça, me prend l’envie d’ajouter, supprimer, ou modifier un champ… Sauf que j’ai fermé la

fenêtre d’ébauche. Pas de panique, je retrouve ma table :

Clic droit >> Modifier. Et je vais me retrouver en mode Ébauche. C’est aussi pour cette raison que je vous ai fait choisir le

mode Ébauche tout à l’heure, comme ça, vous le connaissez, vous n’êtes pas pris au dépourvu si vous voulez modifier

votre table, il n’y a pas d’assistant pour la modification.

V. Données

Yosh ! Maintenant que j’ai ma structure prête, je vais pouvoir entrer des données dans ma table. Vous allez voir, c’est

aussi simple, austère et pénible que de faire un tableau Calc (ou Excel) :p …

Bon, d’abord, assurez-vous d’être sur le bouton ‘Tables’ de la bande de gauche. Ensuite dans le rectangle du bas, ‘Tables’

choisissez votre table et double-cliquez (ou clic-droit >> Ouvrir).

Jampol3 – – 2009/10

11 BDD – OpenOffice Base

Vous devriez avoir quelque chose dans ce goût là.

Remarquez plusieurs choses : le champ id est rempli. Sa valeur est <Auto>, c’est normal, on a mis une AutoValeur,

rappelez-vous. Le champ ‘cover’ est également rempli, il contient la valeur <OBJECT>. C’est un champ de type ‘Image’.

Ces deux champs, on n’y touchera pas ici. Pour le premier, c’est bien normal, on a dit qu’on laissait la machine faire,

pour le deuxième, hé bien, c’est simplement parce qu’on ne peut pas ! Voyez également que le champ ‘out’ contient une

case à cocher. C’est notre valeur booléenne. On a dit que par défaut cette valeur était ‘Non’, la case est décochée. Pour

passer cette valeur à ‘Oui’, il suffit de cocher la case.

Entrons un premier enregistrement :

Une fois mon entrée remplie, je clique sur pour l’enregistrer dans la base.

Et hop, remarquez le champ ‘id’ qui indique son numéro ☺.

Note : dès que je clique dans un champ, avant même de taper quoi que ce soit, Base me crée une nouvelle ligne vierge, il

anticipe en fait la suite, comme ça, quand j’ai fini la première je peux remplir la deuxième. Et à ce moment là, il

anticipera à nouveau et en ouvrira une troisième etc….

Vérifions :

La troisième ligne est bien ouverte, le champ ‘id’ continue son comptage sans que j’intervienne, tout est bon ☺.

Ceci dit, je ne peux toujours pas mettre les fameuses ‘covers’ (jaquettes) des albums… Je vais devoir passer par un

formulaire, et c’est ce qu’on va voir dans le chapitre suivant.

Jampol3 – – 2009/10

12 BDD – OpenOffice Base

VI. Formulaires

i. Construction

Vous avez vu dans le chapitre précédent qu’entrer les données directement dans le table était possible mais pas

toujours pratique et surtout pas pour tout. En plus, vous conviendrez que c’est pas ce qu’il y a de plus convivial…

On va se créer une interface plus sympa pour entrer nos données et les appeler, ça sera beaucoup plus sympa et en plus

on pourra y mettre les images.

Le mode opératoire sera le même que pour la table : il faudra d’abord créer la structure et seulement ensuite on pourra

s’en servir pour gérer les données.

Déjà, on va se positionner dans la bande gauche sur le bouton ‘Formulaire’ (si, si, sérieux !). Cette fois-ci, contrairement

à la structure de table, on va passer par l’assistant de création. De toute façon, on se retrouve en mode Ébauche à la fin

de l’assistant. Autant profiter d’un petit coup de pouce au départ ;).

Voici donc la première étape de l’assistant, il va falloir choisir les champs sur lesquels on souhaite intervenir :

À l’aide des flèches (déplacer un champ) et (déplacer tous les champs), on va devoir passer les champs de la

case ‘Champs disponibles’ à la case ‘Champs du formulaire’, sauf le champ ‘id’ comme c’est la machine qui s’en occupe,

on n’a pas besoin de le mettre dans le formulaire, et il ne vaut mieux pas, on risquerait d’interférer avec sa

numérotation et la Clé Primaire serait rendue inopérante.

Jampol3 – – 2009/10

13 BDD – OpenOffice Base

Vérifiez bien que la bonne table est sélectionnée dans la liste déroulante ‘Tables ou requêtes’. Passons à la deuxième

étape : .

Bon, ben nous, on n’aura pas de sous-formulaire, donc …

On arrive au choix de la disposition des champs. Hé oui, pour semer un peu plus la confusion, une boite dans laquelle on

inscrit du texte en vue de le rentrer dans la table s’appelle également un champ… Ceci dit, comme chaque champ du

formulaire correspond à un champ de la table, ça parait finalement assez logique. Sachez juste faire la différence entre

les deux.

Jampol3 – – 2009/10

14 BDD – OpenOffice Base

Par défaut, on a une disposition en tableau… Personnellement, je n’aime pas trop cette disposition, et puis, si on veut

passer par un tableau, on passe par la table directement. On va donc choisir une autre disposition, je vous laisse trouver

celle qui vous convient le mieux, moi je vais choisir la première :

Ce qui va me donner quelque chose dans ce goût là :

Voici à quoi va ressembler mon formulaire. Hop, si ça me convient, .

Jampol3 – – 2009/10

15 BDD – OpenOffice Base

Bon, là on a plusieurs options à voir.

La première c’est soit le formulaire affiche les données (nous permet d’y accéder), soit il n’affiche rien et nous sert juste

à en insérer dans la base. Ce choix à faire, il va dépendre de comment on envisage l’accès et l’écriture des données. On

peut soit créer un formulaire unique qui nous permettra de tout faire, soit créer deux formulaires : un pour voir les

données, un pour écrire. Si on décide de créer deux formulaires, il sera judicieux de cocher les cases ‘Ne pas autoriser…’

pour le formulaire qui sera destiné à l’affichage des données. Cette approche en deux formulaires peut être utile si on

veut laisser un accès public à nos données. Mettons qu’on laisse à vue notre cd-thèque à des amis, on ne voudrait pas

qu’ils modifient notre table et mettent le bazar dans nos cds. On aura donc un formulaire ‘public’ qui affichera

seulement les données et qui ne permettra pas de modifier les données, et par ailleurs, on aura pour nous, un

formulaire ‘privé’ qui nous servira à intervenir sur la table.

Pour notre exemple ici, et comme je souhaite juste vous montrer comment construire un formulaire, je vais laisser les

options telles quelles, ‘Le formulaire doit afficher toutes les données’ et j’autorise tout (je ne coche aucune case en

dessous). Libre à vous de construire votre formulaire selon votre approche après.

Hop, .

Jampol3 – – 2009/10

16 BDD – OpenOffice Base

Ici, on peut choisir un style particulier pour notre formulaire, le choix est plutôt limité (couleur de fond, aspect des

champs, et c’est tout ! :p) et à la limite, c’est pas important, d’autant qu’on pourra effectuer des réglages plus fins par la

suite. .

Jampol3 – – 2009/10

17 BDD – OpenOffice Base

Ici, il faut nommer notre formulaire et dire ce qu’on veut en faire ensuite. Je lui donne le même nom que la table à

laquelle il est lié, ça permet, surtout lorsqu’on a une bdd avec plein de tables et plein de formulaires, de se rappeler à

quoi sert ce formulaire et sur quelle table il va intervenir. Si j’ai choisi l’approche en deux formulaires dont on parlait

plus haut, je pourrai, par ex., en appeler un ‘cd-theque_public’ et l’autre ‘cd-theque_prive’.

Je coche le radio ‘Modifier le formulaire’ pour répondre à la question. Nous n’avons pas fini la structure du formulaire.

Et je clique sur .

Jampol3 – – 2009/10

18 BDD – OpenOffice Base

Voyez dans la barre de titre, je me retrouve en mode Ébauche.

Il ne me reste plus qu’à construire le champ de formulaire qui va remplir le champ de table ‘cover’, autrement dit, il me

faut une case qui accueillera la jaquette de l’album et l’enregistrera dans la base de données.

Sur la barre d’outils verticale tout à gauche, je clique sur (Autres contrôles) pour faire apparaître la boite à outils

suivante :

Puis je clique sur (Contrôle Picto) pour sélectionner l’outil. Grâce à cet outil, je vais pouvoir tracer un rectangle qui

accueillera mon image :

Jampol3 – – 2009/10

19 BDD – OpenOffice Base

Notez les petites poignées vertes. Elles seront présentes sur les autres champs également, ce qui signifie que vous

pouvez les déplacer, redimensionner autant que vous voulez, il suffit de les sélectionner en cliquant dessus au préalable.

Mais on digresse, maintenant, effectuez un double clic à l’intérieur du carré, une boite de dialogue apparaît :

On va pouvoir gérer plein de trucs là dedans, mais ce qui nous intéresse, c’est l’onglet Données. Il va falloir lier ce champ

à la table. Pour les autres, ça s’est fait automatiquement lorsqu’on est passé par l’assistant de création du formulaire. En

mode ébauche il aurait fallu le faire pour chaque champ de formulaire.

Jampol3 – – 2009/10

20 BDD – OpenOffice Base

Voilà, on choisit simplement dans la liste ‘Champ de données’ celui de la table qui est censé accueillir l’image. On

n’oubliera pas de passer la valeur de ‘Saisie Requise’ à ‘Non’.

NOTE : Il se peut que la liste ‘Saisie Requise’ reste grisée et vous empêche de changer sa valeur, c’est un léger bug*, il

suffit de regarder un autre onglet (repasser en ‘Général’ par ex.) puis de revenir sur ‘Données’ et la liste sera accessible.

Une fois tout ça fait, cliquez simplement sur la croix rouge en haut à droite (fermez la boite de dialogue quoi), tout

s’enregistre tout seul ;).

Voilà, à ce stade, on a notre formulaire prêt :

On va pouvoir commencer à travailler dedans.

*Rappelez-vous qu’OpenOffice est un projet communautaire gratuit et donc mis en place par des bénévoles. Il peut donc

contenir quelques petites imperfections. (Ceci dit, même les projets pro et payants contiennent quelques uns de ces

fameux ‘bugs’).

ii. Utilisation

Vous avez vu dans la barre de titre qu’on était en ‘Mode Ébauche’. Nous allons passer en ‘Mode Utilisation’. Deux

méthodes : on ferme le formulaire en mode ébauche (on ferme la fenêtre quoi) et on l’ouvre depuis Base en double-

cliquant sur son nom. La deuxième méthode consiste à cliquer sur le bouton qui permet de permuter les modes dans la

barre d’outils de gauche : . S’il est enfoncé, je suis en mode ébauche (ou conception), sous clic : il n’est plus

enfoncé, je suis en mode utilisation et je peux entrer les données. D’ailleurs il devrait normalement afficher les données

des premiers enregistrements.

Jampol3 – – 2009/10

21 BDD – OpenOffice Base

Notez la ‘barre de navigation de formulaire’ en bas :

Grâce à elle, je peux naviguer dans ma bdd :

Aller au tout premier enregistrement

Aller à l’enregistrement précédent

Aller à l’enregistrement suivant

Aller au tout dernier enregistrement

Ces boutons conviennent lorsqu’on a une table pas très remplie mais dès qu’on commence à avoir beaucoup

d’enregistrements, ça devient vite fastidieux. On peut alors passer par cette petite case

où il suffit de taper le numéro de l’enregistrement qu’on souhaite atteindre.

Lorsqu’un enregistrement est affiché, on peut en modifier les données. Je vais d’ailleurs retourner sur le premier et

insérer la jaquette du cd d’Akeboshi :

Je double-clique dans le grand carré (contrôle picto, créé exprès), il me propose une boîte de dialogue pour aller

chercher cette jaquette. Notez qu’elle (la boite de dialogue) se nomme ‘Insérer une image’ :

Jampol3 – – 2009/10

22 BDD – OpenOffice Base

Je vais rechercher mon image de la jaquette. La partie droite me donne un aperçu de l’image :

Jampol3 – – 2009/10

23 BDD – OpenOffice Base

Hop, je clique sur ‘Ouvrir’ et voici ma jaquette insérée dans la table :

J’ai donc modifié le premier enregistrement, il faut que je sauve les modifications, pour qu’il les garde en mémoire.

Normalement, ça se fait tout seul, dès qu’on passe au suivant, mais pour éviter les mauvaises surprises et pour être sûr,

on va le faire à la main à chaque fois (en même temps, c’est rien de bien compliqué) : dans la ‘barre de navigation de

formulaire’, il suffit de cliquer sur ce bouton : .

Bon, c’est bien beau tout ça, mais j’ai quand même encore 3 à 400 cd’s à rentrer dans la table ! Je clique le bouton

pour ouvrir un nouvel enregistrement (insérer une nouvelle entrée*) que je peux remplir sans souci !

*Souvenez vous du début du cours : OpenOffice appelle ça un ‘enregistrement’, mais généralement et par convention,

on appelle ça une ‘entrée’. C’est la même chose :D.

Je n’oublie pas mon petit pour sauver les données dans la table et paf ! Je passe au suivant ! Simple, non ?

VII. Recherche d’enregistrements

C’est en fait tout l’intérêt d’une BDD : avoir un outil puissant qui permette de retrouver n’importe quel item rapidement

selon les critères que l’on choisit, ce qu’on ne peut pas faire avec un tableur. Et c’est surtout très pratique lorsqu’on a

une liste d’objets volumineuse : 3 à 400 cd’s, 500 recettes, 250 bouquins, 120 contacts etc.

Jampol3 – – 2009/10

24 BDD – OpenOffice Base

On va ici se servir à nouveau de notre formulaire. Sur notre barre de navigation de formulaire

, se trouve une icône en forme de jumelles .

Cliquez-la et hop ! la boite de dialogue de recherche apparait.

On a plusieurs zones horizontales (séparées par un trait gris) : Rechercher, Domaine, Paramètres, Statut.

Rechercher : On indique ici ce que l’on cherche. Dans la boite ‘Texte’ si le radio est coché, on pourra écrire le texte qu’on

souhaite rechercher, par exemple le nom de l’artiste, de l’album, une année précises etc. Les autres radios ne seront

utilisés que rarement : Contenu de champ est NULL (le champ est vide) / différent de NULL (le champ n’est pas vide).

Domaine : On indique ici, où l’on cherche. Le radio ‘Tous les champs’ permet de fouiller dans tous les champs (oui, c’est

incroyable, je sais). La machine va donc chercher ce qu’on a indiqué dans la zone ‘Rechercher’ à l’intérieur de tous les

champs. Le radio ‘Champ unique’ libère l’accès à la liste associée une fois coché. On peut alors restreindre la recherche à

un seul champ (et ainsi l’accélérer). Si on sait que ce que l’on chercher est un nom d’album, il n’est pas nécessaire de

fouiller tous les champs, restreindre la recherche au champ album permet de gagner du temps et évite les résultats

parasites (un artiste qui porte le même nom qu’on album sortira comme résultat positif même si ce n’est pas cela qu’on

cherche, en indiquant bien qu’on cherche un album, on évite ce genre de désagréments). On peut aussi imaginer qu’on

a coché la case ‘Contenu de champ est NULL’, en combinant avec la zone ‘Domaine’ sur un champ précis, on peut

chercher les champs qu’on aurait oublié de remplir. Par exemple, je ne connais pas l’année de sortie de certains albums,

je les ai mis dans la table quand même avant d’aller sur Internet vérifier. De retour dans ma table, je cherche les

‘Contenu de champ est NULL’ dans le Domaine ‘Champ unique : Année’. Je retombe tout de suite sur les champs ‘Année’

que je n’ai pas pu remplir, et il me suffit de le faire maintenant. Très pratique non ? :D.

Jampol3 – – 2009/10

25 BDD – OpenOffice Base

Paramètres : On a plusieurs petites cases à cocher pour cette zone. Elles permettent d’ajouter des astuces de recherche

afin d’obtenir plus facilement les résultats voulus : ‘Appliquer le formatage de champ’ permet de rechercher non pas les

choses telles qu’on les a entrées dans la table, mais telles qu’elles sont censées apparaître, c’est utile pour les valeurs

booléennes par exemple. Ce qui est intéressant c’est ‘Expression substituante’ : en utilisant un astérisque (*) on peut

remplacer un terme de recherche ou plusieurs caractères à l’intérieur d’un mot. Pour avoir les cases du dessous, il faut

décocher ‘Expression substituante’, on ne peut pas utiliser les autres options en même temps. ‘Caractère générique’, fait

la même chose mais sur un seul caractère à l’aide du point d’interrogation (?). ‘Recherche de similarité’ permet de

rechercher un truc qui ressemble à ce qu’on indique dans ‘Rechercher’. C’est pratique lorsqu’on n’est plus très sur de

l’orthographe d’un nom d’artiste par exemple. Le bouton […] permet de gérer les options de ce paramètre, notamment

la tolérance du filtre (jusqu’à combien de caractère peuvent être remplacés, ajoutés, enlevés etc.). Si le filtre est trop

‘lâche’, on aura trop de résultats, et pas ceux qu’on cherche, s’il est trop précis, on n’aura pas de résultats.

Statut : Cette dernière zone indique où l’on se trouve dans la table.

Si l’on souhaite chercher tous les albums prêtés (rappelez-vous, le champ ‘Out’, valeur booléenne), il faut, dans la zone

‘Recherche’ taper le texte ‘0’ ou ‘1’. 0 correspond aux valeurs booléennes égales à ‘NON’ et fort logiquement, 1

correspond à ‘OUI’. N’oubliez pas de préciser que vous chercher dans le champ ‘out’ (ou le nom que vous lui avez

donné) dans la zone domaine. Ce n’est pas indispensable puisque les autres champs ne contiennent pas de booléen mais

ça accélèrera grandement le temps de recherche.

Dernière précision : si votre recherche appelle plusieurs résultats, seul le premier s’affichera. Cliquez à nouveau sur le

bouton pour appeler le suivant.

VIII. Annexe : les types de champs

• [VARCHAR] : Variable Character Field. Type de champ qui peut comporter des caractères de tous types (chiffres,

lettres, ponctuation, caractères spéciaux etc.) à longueur variable (au maximum fixé).

• [VARCHAR_IGNORECASE] : De même que précédemment, mais insensible à la casse (ne se soucie pas des

majuscules/minuscules).

• [CHAR] : idem mais dont la longueur est fixée.

• [BINARY], [VARBINARY], [LONGVARBINARY] : Champs binaires (objets spécifiques, c’est dans ce dernier que

sont insérées les images par exemple)

• [INTEGER], [SMALLINT], [TINYINT] : Dans l’ordre : Entier (10 caractères, possibilité d’auto-incrémentation),

Petit entier (5 caractères), Entier minuscule (3 caractères).

• [NUMERIC], [DECIMAL], [FLOAT], [REAL] : Nombre, décimal, flottant, Réel. (c’est mathématique et je vous

avouerais que là, je suis dépassé :p de toute façon, [INTEGER] sera presque toujours adéquat).

• [BOOLEAN] : Valeur booléenne. Donne un choix entre deux termes opposés : Oui/Non, Blanc/Noir, Vrai/Faux,

0/1 etc. Dans OOo, il est présenté en Oui/Non, et dans la recherche, 0/1.

• [DATE], [TIME], [TIMESTAMP] : Date, heure, timestamp. Le Timestamp est le nombre de secondes écoulées

depuis le 1/1/1970. Il est utilisé lorsqu’on scripte l’insertion de données à un moment précis.