Systèmes de gestion de bases de données - IPT Paris 8
Systèmes de gestion de bases de données ... exemples et exercices ... Les
bases de données peuvent se coupler aux logiciels cartographiques, voire eux ...
Part of the document
Systèmes de gestion de bases de données Master 2 Géomatique Paris VIII
Meriadeg Jaouen
Nicolas Bonus
2007-2008
Présentation du cours L'objectif de ce cours est d'assimiler, en 13 séances, les bases pour
manipuler le logiciel Microsoft Access.
Ce logiciel est considéré comme un Sgbd, c'est-à-dire un outil de
stockage de l'information, et permettant l'extraction d'informations grâce
au langage Sql.
Ce cours se veut à la fois pratique et théorique ; fait appel aux
connaissances suivantes : anglais, calcul matriciel, logique et ensembles,
statistiques descriptives, notions de programmation, bureautique.
Plusieurs devoirs sont à rendre au fil des séances, avec un examen final.
Sommaire 1. qu'est ce qu'un SGBD ? a) introduction langage SQL
b) les outils du marché
c) les sgbd au service de la géographie
d) présentation de microsoft Access : l'interface et ses onglets 2. concepts de base a) tables
b) champs
c) requêtes
d) modules
e) macros
f) formulaire
g) la méthodologie Merise, le MCD et le MLD 3. la syntaxe SQL a) la grammaire du SQL
b) syntaxe SQL des principales requêtes
c) les jointures
d) mots-clefs et fonctions principales 4. exemples et exercices 5. résumé des cours 1 à 13
1. qu'est ce qu'un SGBD ?
C'est un programme informatique, composé d'un outil de stockage des
données, et des outils utilisés pour interroger ces données. Un SGBD est
dit relationnel quand on peut relier les tables entre elles par des liens
logiques.
a) le langage SQL
L'acronyme signifie « short query language », c'est la syntaxe utilisée
universellement pour interroger les bases de données.
Cette syntaxe est formalisée, et peut se résumer à un pseudo-anglais
ayant un lexique de mots-clefs. Ce lexique varie peu suivant les outils.
b) les outils du marché
- propriétaires : Oracle , Access, Sybase, etc
- open-source : mySql, postgreSQL , etc
Certains outils proposent des modules dits « spatiaux » (Oracle
spatial, PostGis) dédiés au traitement de l'information géographique.
c) les sgbd au service de la géographie
Les bases de données peuvent se coupler aux logiciels cartographiques,
voire eux mêmes être capables d' interpréter des données géométriques ;
les Sgbd se retrouvent donc aux c?ur des SIG, pour le stockage et
l'interrogation et la production de données, mais aussi pour l'analyse
spatiale et la production de cartes.
d) Microsoft Access : présentation A l'ouverture, créer un fichier vide de type .mdb (Microsoft data base),
nommez-le et sauvegardez-le à un emplacement de votre choix; vous
importerez ensuite vos tables dans ce fichier mdb ; Access peut importer
beaucoup de types de fichiers, txt, xls, dbf, etc.
L'interface générale contient plusieurs onglets : l'onglet Tables stocke vos objets tables l'onglet Requêtes stocke vos requêtes de sélection, de mise à jour, de
création de tables, les requêtes croisées et les requêtes de suppression de
données, et les requêtes d'ajout de deux tables. l'onglet Formulaire stocke vos formulaires, càd des interfaces que vous
créez pour la saisie ou la consultation de vos données. Ils sont
personnalisables, et permettent d'appeler des images, ou des contrôles
activeX dans des fenêtres dédiées. Les onglets états et pages ne seront pas abordés dans ce cours et ne sont
pas indispensable pour nos besoins. L'onglet Macros stocke vos scripts d'automatisation des tâches, à rédiger
en langage Vba. L'onglet Modules stocke des éléments de scripts et des fonctions, rédigés
en Vba ;
des formules de mise en classe de séries continues, des fonctions de
traitement de chaînes de caractères, etc
2. Outils et concepts de base
a) Tables Chaque objet de cet onglet est une table, c'est à dire une matrice n
lignes X p colonnes (nxp). Contrairement à Excel, le nombre
d'enregistrements n'est pas limité.
Les n lignes sont appelés des enregistrements.
Les p colonnes sont des champs.
b) Champs Ils ont un nom < ou = à 8 caractères en général, de préférence sans
accentuation et sans ponctuation à part le caractère « _ » .
La liste de tous les champs de toutes les tables est un document à produire
pour toute conduite de projet, et se nomme généralement « dictionnaire des
données ».
Généralement, les tables contiennent des données identifiantes (adresses,
noms, codes,...), des données attributaires (des valeurs ou du texte), et
de la géométrie dans le cas des SIG (mémo, objet OLE,...)
Une même table contient des champs de différents types, dont voici les
principaux : texte : stocke des caractères alphanumériques, du texte, des libellés, ou
des variables qualitatives. Longueur max = 255 caractères.
mémo : idem, mais peut recueillir des chaînes de caractères plus longues
(la géométrie d'objets par exemple.
numérique/entier : stocke des entiers naturels N uniquement, comme des
variables quantitatives discrètes, des comptages, des identifiants.
numérique/réel : stocke des réels R ; séries quantitatives continues, taux,
indicatrices ...
date/heure : beaucoup de formats
monétaire
clé primaire, ou identifiant, ou index: champ texte ou numérique/entier
stockant un identifiant unique, cad que les valeurs de ce champ sont
distinctes deux à deux. Il n'y a pas de doublons dans ce champ.
Généralement, ils s'agit de codes ; codes client, codes administratifs,
clefs composées, numéro de commande, etc.
Ces champs particuliers sont très importants car ils permettent d'effectuer
les liaisons entre tables.
Access propose une fonction de clé automatique, NumeroAuto.
c) Requêtes Vous pouvez manipuler vos tables pour en les interroger simplement, pour
extraire de l'information plus élaborée, pour les modifier, ou même pour
les effacer.
Access possède un assistant à la composition de requêtes qui vous
« traduira » votre opération en instruction SQL.(( onglet « Requêtes »,
puis « Nouveau », puis « Mode création ». Il est cependant important
d'aller vérifier soi-même le code généré. L'avantage du stockage de requêtes est d'automatiser la production de
données. L'autre avantage est de disposer de nouveaux objets assimilables à
des tables dans vops futurs traitements, mais dynamiques, et très légers.
Access propose, dans l'onglet Requêtes, quelques requêtes assistées : Sélection :
sélectionner un sous-ensemble de données issues des tables. Renvoie une
nouvelle table stockée dans l'onglet requête. mise à jour :
« remplit » un champ avec des valeurs que vous saisissez ou bien qui
proviennent d'une autre table/requête. création de table :
« transforme » le résultat d'une sélection en un nouvel objet table requêtes croisées :
renvoie un tableau croisé de variables qualitatives ou quantitatives
discrètes requêtes de suppression de données ajout de deux tables requêtes paramétrées
d) Modules
C'est une fonction rédigée en VBA.
Exemple à venir MJ, module de mise en classe.
e) Macros
Suite d'instructions visant à automatiser des taches.
scripts en VBA, la fonction DoRunSQL est très utile.
f) formulaire
Exemple à venir NB
g) la méthodologie MERISE On peut analyser la structure d'une base grâce à certains outils, en la
modélisant, notamment avec la méthodologie MERISE.
« Cette méthode a eu comme objectif premier de jeter un pont entre les
besoins des utilisateurs et les solutions des informaticiens. Certes sa
finalité est quand même de faciliter la conception des projets
informatiques en permettant d'analyser et de formaliser très tôt les
« besoins » des utilisateurs. » wikipedia - Le MCD
Le Modèle Conceptuel de Données est la formalisation de la structure et de
la signification des informations décrivant des objets et des associations.
Le MCD comporte les concepts basiques suivants, à représenter sous forme de
diagramme composé de boites contenant des listes de champs ; les champs
clefs primaires et les clefs étrangères sont signalés respectivement en
gras et souligné, et en gras.
Entité : table
Relation : modélisation d'une association entre deux ou plusieurs
entités ;appartient à, possède, vend, achète, réside,...
Cardinalités : modélisation des participations mini et maxi d'une entité à
une relation ;
, , , ...
Propriétés : modélisation des informations descriptives rattachées à une
entité ou une relation
Identifiant : modélisation des propriétés contribuant à la détermination
unique d'une occurrence d'un entité. - Le MLD
Le MLD est la « traduction technique » du MCD
Access gère le MLD dans l'option « Relations » interface dans laquelle vous
précisez les liens entre tables. NB
3. La syntaxe SQL
La formule pour générer une instruction SQL est toujours la même, et le
langage possède une grammaire très simple.
a) La grammaire du SQL pour créer vos instructions, vous assemblerez toujours, dans l'ordre, les
éléments suivants : Une instruction de base obligatoire, définissant le type d'opération
(SELECT, INSERT INTO, DELETE...) Vient ensuite la liste des champs que vous voulez restituer : champs
d'origine, champs calculés ou des fonctions d'agrégat, ou bien la totalité
des champs (caractère « * »).
L'option AS permet de donner un nouveau nom aux champs calculés.
Un champ est nommé dans votre formule. L'instruction obligatoire FROM, après laquelle vous précisez les tables
dont sont issues les champs à extraire Peuvent suivre une ou plusieurs clauses facultatives :
Clause de sélection logique WHERE ( =, ,,etc)
Clause de jointure : précision du lien logique entre les tables ( WHERE,
INNER JOIN ON, LEFT JOIN ON, RIGHT JOIN ON)
Clause d'agrégat GROUP BY
Clause de restriction de la fonction d'agrégat HAVING, remplaçant la clause
« WHERE » si la requête contient un GROUP BY
La formule générale d'une requête SQL se résume donc à ceci :
Type d'opération, liste de champs à restituer, liste des tab