suite - Inspiré d`un travail en SRC2 ()

publicité
SGBD 2er année, Travaux pratiques : Gestion Médias.
1
SGBD 2er année SeRéCom 2005/2006-01-03
Travaux Pratiques
Petit guide 2
(P. Ferré)
I) Adaptez le prototype pour réaliser notre base de données:
A) Où en sommes nous ?
En mettant de coté les petits soucis de fonctionnement d’Easyphp, ils sont solubles et consécutifs à
des manipulations, involontaires et hasardeuses, de certains. Cela réglé, vous devez pouvoir obtenir
une base qui est à manipuler comme « un objet » et qui peut être « spécialisée ». Elle doit pouvoir
offrir les services correspondant à notre cahier des charges… tel que posé dans le petit guide 1.
B) C’est à dire :
- Que les entités peuvent être renommées,
- Que les entités peuvent se voir attribuer d’autres propriétés ou en perdre certaines qui n’ont plus
de sens pour l’application telle qu’elle évolue par rapport à l’an passé.
Exemple : Un opérateur n’appartient pas à un groupe de TD, ce n’est pas un étudiant. En lisant attentivement les
propriétés des entités en relation, vous devez pourvoir déterminer les propriétés qui n'ont pas de sens n’auraient aucune
utilité.
- Que les entités peuvent être en relations nouvelles, si la chose devient nécessaire.
Contrairement aux outils graphiques, comme Access, nul besoin de tracer ces relations, un simple jeu de clés étrangères
en liaison avec une clé primaire d’une autre table, et la relation est possible, par l’interrogation SQL.
- Qu’en règle générale, les adaptations nécessaires dès que l’utilisation de la base de données les fait
apparaître utiles, il existe une commande SQL qui permet d’adapter la base de données aux besoins
qui apparaissent.
II) Ainsi on adapte le prototype « donné » avec les instructions SQL suivantes :
A) Généralités :
Pour renommer une table, renommer une propriété ou modifier les caractéristiques d’une propriété,
ou encore créer une propriété inexistante et l’insérer à l’endroit voulu, il existe une instruction bien
pratique. Vous noterez qu’elle est utilisable « à chaud » alors que la base fonctionne pour différents
clients… Il s’agit de l’instruction ALTER TABLE… qui comporte de nombreuses « finesses » et
qui permet :
- ajouter / supprimer un attribut
- changer la valeur par défaut d’un attribut
- changer totalement la définition d’un attribut
– changer le nom des tables
– et autres instructions plus affinées.
SGBD 2er année, Travaux pratiques : Gestion Médias.
2
B) Les mises à jour portant sur les tables et les champs ou propriétés des tables.
Renommer une table
ALTER TABLE etudiants RENAME operateurs
Ajout d’un champ / propriété :
ALTER TABLE relation ADD Date AFTER propriété x
Changer la valeur par défaut d’un champ ou propriété :
ALTER TABLE opérateurs ALTER ‘téléphone’ SET DEFAULT ’00 00 00 00 00’
C) Les mises à jour donnant une valeur à des champs, ou modifiant des valeurs :
(très utile pour mettre à jour en vrac, un nombre important de valeurs).
Mettre à jour :
UPDATE TABLE operateurs SET Genre=’Monsieur’ WHERE Genre=‘’ AND prénom =
‘Jacques’
D) Quelques autres instruction SQL utiles:
Effacer des enregistrements (ex tous les opérateurs d’une catégorie donnée)
DELETE FROM operateur WHERE nom=‘Martin’ AND prenom=‘Marc’
Sélectionner un lot d’enregistrements sur critères:
SELECT nom, prenom FROM operateurs WHERE ville LIKE ‘% paris%’
Sélectionner tous les enregistrements d’une relation :
SELECT * FROM operateurs
Pour sélectionner toutes les valeurs d’un seul attribut :
SELECT attribut FROM relation
Eliminer les doublons :
SELECT DISTINCT ville FROM operateurs
Trier les valeurs en ordre croissant :
SELECT DISTINCT ville FROM operateurs ORDER BY nom ASC
Se limiter aux n premiers résultats :
SELECT DISTINCT ville FROM operateurs ORDER BY nom ASC LIMIT 30
Sélectionner que ceux qui satisfont à une condition :
SELECT DISTINCT ville FROM operateurs WHERE ville =’Tarbes’ ORDER BY nom ASC
LIMIT 30
D’autres commandes existent, très détaillées. Elles permettent toutes les manipulations nécessaires à
la gestion d’une base de données. Voir, pour plus de détail les documents en particulier,
http://patrick.ferre.free.fr/mysql.pdf
Notez bien que les instructions DROP, DELETE, par exemple, doivent être
manipulées avec prudence. Elles sont irréversibles. Aussi, prenez soin d’avoir
une copie de votre base de données.
SGBD 2er année, Travaux pratiques : Gestion Médias.
3
III) Le résultat escompté, à obtenir : Notre modèle adapté à nos besoins tels que définis dans le cahier des charges.
Aussi revoir tous les champs (attributs ou propriétés) de tables.
SGBD 2er année, Travaux pratiques : Gestion Médias.
4
IV) Les outils
Ils sont dotés d’une interface graphique, et donc facilement utilisables. Encore faut-il avoir étudié
les quelques instructions fournies dans le cours, et rappelées dans les documents… Ensuite, il faut
tester.
Retenez que je ne conseillerai ni n’aiderai personne qui regarde béatement son écran, et dit « je
ne comprends pas ». Pour ne pas comprendre légitimement, encore faut-il avoir déployé les
menus, et essayé de passer une instruction… et lu les quelques pages des petits guides, en prenant
des notes lorsque nécessaire.
A) Exemple, illustré avec SQLyog :
Il suffit :
- d’avoir le serveur SQL qui tourne (sans quoi, le client SQL ne peut se connecter)
- de sélectionner la base de données sur laquelle travailler.
- de saisir l’instruction SQL.
Le résultat est immédiat, la table "opérateurs" existe maintenant et la table "étudiants" a disparu. Le
contenu, n’est pas altéré, c’est le but. Vous noterez que la procédure est la même, pour toutes les
instructions SQL.
A) Exemple, illustré avec DBDesigner :
De la même manière que l’on dispose d’un accès à un éditeur SQL, on peut aussi travailler sur les
entités, à l’aide d’un double clic… Les modifications sont acquises en étant connecté au serveur
(localhost pour nous) et en validant les modifications. Au besoin, testez les possibilités de l’outil,
sur des sauvegardes de votre base. Certaines commandes sont irréversibles…
SGBD 2er année, Travaux pratiques : Gestion Médias.
5
Téléchargement