View
238
Download
0
Category
Preview:
Citation preview
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.
Recommended