"Base", la base de données d'Open Office

Xml
Presentation
Application Ms Office
Application Gratuiciels
TCAO
Pourquoi ?
Créer des Blogs
Créer des Wikis
Blogs des élèves
Agenda partagé
Portail nomade
Mise en oeuvre
OpenOffice.o
Base NetFenua
Writer
Calc
La base de données sous BASE d'Open Office
le modèle relationnel et les requêtes


Préambule
Les bases de données en STG peuvent être abordées non dans une démarche de développement (schémas conceptuel, relationnel et physique), mais avec une démarche pédagogique : Observer les objets, les analyser et construire les notions associées. Cela n'empêche pas de "faire", et en particulier avec le logiciel de base de données d'Open Office, "BASE".
Le cas NetFenua est découpé en étapes 1. la présentation des objets étudiés - 2. Les tables - 3. Les relations entre les tables - 4. Le modèle relationnel - 5. Les requêtes
Pour chaque étape, un diaporama présente les objets sources de concepts et le mode opératoire de BASE.
  • Pour télécharger le diaporama complet sous Power Point (PP) ou sous Impress (Iooo)
  • Pour télécharger la base de donnée sous BASE cliquer ici

Remarques
L'utilisation de BASE d'Open Office nécessite un environnement Java sur votre ordi. Vous pouvez vérifier s'il existe dans le menu [Outil - Option - Open office - Java] ou lors de la création d'une table sous BASE, un message d'erreur vous demande de l'installer. Il suffit de télécharger "Download J2SE JRE" sur http://java.sun.com/j2se/1.4.2/download.html et cliquer ensuite sur ce fichier pour l'installer, la prise en charge est instantanée.
De nombreuses ressources existent sur le site du Certa mais les bases de données sont sous ACCESS. Vous trouverez en point 6. La manière de convertir Access en BASE et quelques bases de données déjà converties.


Un premier tutorial pour créer une base simple avec Calc

Télécharger ici

 

Cas NetFenua
Le site de NetFenua publie le classement des 50 premières entreprise de Polynésie à l'aide d'une base de donnée développée sous BASE, d'openoffice.org

1. la présentation des objets étudiés
4. Le modèle relationnel
2. Les tables
5. Les requêtes
3. Les relations entre les tables


6. Passer d'Access à Base

Comme tous les modules de la suite Open Office, un format d'importation pour convertir les bases d'Access est prévu. A l'ouverture de Base, sélectionner "se connecter à une base de données existante" et sélectionner "Microsoft Access"






2. Les tables
Dès le lancement de BASE, sélectionner l'icone "Table" (par défaut, BASE est sur le mode formulaire) et choisir "créer une table en mode ébauche".
L'interface de la structure de la table ressemble à celle d'Access.
Pour indiquer une clé primaire : se positionner sur la ligne et bouton droit de la souris.
Pour indiquer une concaténation de clés (deux ou plus) : copier-coller de la clé primaire et du champ, puis changer le nom du champ.
Pour saisir les données : un double clic sur la table créée permet d'enregistrer les données
Pour revenir à la structure de la table : un clic sur l'icone avec un petit crayon vert
Pour avoir recours à une numérotation automatique des enregistrements : choisir en type de champ "Integer" et en bas "auto valeur" sur oui.
Remarque : pour éviter des problèmes d'erreurs de syntaxes en SQL, ne faites pas comme moi ;-) Tapez les champs et les noms de tables en minuscules, ne mettez pas d'espaces ni d'accents.


3. Les relations entre les tables
[Outils - Relations] et la fenêtre de la représentation du modèle physique s'ouvre
Ajouter les tables : [Insertion - Tables] ou l'icône avec une petite croix verte
Matérialiser les liens entre les tables : pointer avec la souris sur la clé d'une table et tirer le lien vers un champs d'une autre table (clé étrangère)
Paramétrer la mise à jour entre les tables : la clé primaire d'une table peut être la clé étrangère d'une autre table. En cas d'un nouvel enregistrement de la première table, nous désirons la mise à jour automatique de la clé étrangère. Sélectionner cette option.
Problème de mise à jour d'une table : une fois les relations créées, si vous désirez modifier la structure d'une table, il faut d'abord supprimer le lien.


5. Les requêtes
Comme Access, BASE peut interpréter les requêtes directement en SQL (Structured Query Language) ou grace à une interface graphique.
Aller dans le menu [Inserer-Mode SQL]
Taper directement la requête et demander l'exécution [Editer- Exécuter la requête] ou l'icone avec une coche verte.
Les opérateurs de base en SQL sont SELECT - FROM - WHERE -AND - ORDER BY
Il est préférable pour la lisiblité d'une requête d'aller à la ligne à chaque nouvel opérateur.
Les erreurs les plus fréquentes sont des erreurs de noms de champs ou de tables, les majuscules et minuscules doivent être respectées.

SELECT est suivi des noms des champs que l'on cherche à afficher (c'est une projection). Si l'on veut afficher la listes des noms de société avec leurs effectifs, nous écrivons
SELECT nom_ste,effectif (veillez à mettre un espace entre l'opérateur SELECT et la suite de la requêtes. Puis chaque champ est séparé par une virgule).

FROM est suivi des noms des tables utiles dans la requête. Dans notre exemple, puis que l'on cherche à obtenir des informations provenant d'une seule table, nous écrivons.

SELECT nom_ste,effectif
FROM societe



ORDER BY permet de classer les information en ordre ascendante (ORDER BY [nom du champ] ASC) ou descendante (ORDER BY [nom du champ] DESC). Par défaut, le classement est ascendant (aussi bien pour les données numériques qu 'alphabétiques). Donc indiquer ASC ou rien du tout revient au même. Dans notre exemple, classer les entreprises depuis la plus grande jusqu'à la plus petite s'écrit :
SELECT nom_ste, effectif
FROM societe
ORDER BY effectif DESC



WHERE induit une sélection (ou restriction) de certains enregistrements, en mettant l'information recherchée entre ' (attention utilisez l'apostrophe sous le chiffre 4 du clavier et non le guillemet sous le 3). Attention aux fréquentes erreurs de syntaxe. Par exemple, si l'on cherche l'effectif de l'entreprise BOYER, en inscrivant 'BOYER', il n'y a aucune réponse, car lors de la saisie, BOYER a été tapé avec un espace après. Donc dans la requête il faut écrire 'BOYER '
SELECT nom_ste, effectif
from societe
WHERE nom_ste = 'BOYER '



AND est utilisé pour la suite des requêtes, que ce soit pour une autre restriction ou pour indiquer les jointures entre les tables. Les jointures sont nécessaires si les informations recherchées proviennent de plusieurs tables. Dans ce cas, les jointures entre les tables peuvent se faire si la clé primaire de l'une correspond à la clé étrangère de l'autre. Dans notre exemple, afficher le secteur d'activité des sociétés fait appel à une autre table (secteur_activite). Ces deux tables sont en relation grâceà la clé Type_secteur. Cette relation s'écrit en indiquant le nom de la table suivi de la clé. Dans notre exemple nous écrivons :

SELECT nom_ste, effectif,SECTEUR
FROM societe,secteur_activite
WHERE nom_ste = 'BOYER '
AND societe.Type_secteur=secteur_activite.Type_secteur


Remarque, s'il n'existait pas la restriction 'BOYER ' la jointure aurait débuté avec l'opérateur WHERE.
SELECT nom_ste, effectif,SECTEUR
FROM societe,secteur_activite
WHERE societe.Type_secteur=secteur_activite.Type_secteur