Ch5 : création et modification de la structure d’une BD Prof : Mme Imen MACHFER Ch5 : création et modification de la structure D’une BD II. Création d’une BD en mode Commande : (EasyPHP) Le mode commande permet de créer les éléments de la base de données à l’aide des commandes SQL (Structured Query Language). Ce langage est composé de 3 familles de commandes : Commande de définition de données : permettant de créer, modifier et supprimer les différents structure de la base de données Commande de manipulation de données : permettant de manipuler (insérer, modifier, consulter ou supprimer) le contenu de la base de données Commande de contrôle de données : permettant de contrôler l’utilisation de la base de données (sécurité, intégrité, cohérence) Dans ce chapitre nous utiliserons quelques commandes de définition de données 1) Création d’une BD : 1. Démarrez EasyPHP. 2. Attendez le démarrage de "APACHE" et "MYSQL" 3. Dans la fenêtre qui s’affiche cliquer sur l’icône 4. Choisir la liste "Configuration" ou 3. Utiliser les touches CTRL+Y... 5. Choisir l’option : "PhpMyAdmin" 6. Dans la page Web qui s’affiche donner le nom de votre base dans la zone Créer une base de données 7. valider par créer. 1.Choisir le lien : "SQL" de la page Web qui s’affiche, 2.Ecrire une ou plusieurs requêtes dans la zone des requêtes en utilisant les commandes SQL, 3.Valider par Exécuter. 4.Corriger les erreurs si existe jusqu’au message : votre requête SQL a été exécutée avec succès. NB : EasyPHP indique le début de l’erreur qui engendre l’arrêt de l’exécution de votre requête 2) Création d’une TABLE : La forme générale de la commande CREATE TABLE : CREATE TABLE nom_table ( Col1 type [(taille)] [null/not null] [default valeurParDéfaut] [contrainte de colonne], Col2 type [(taille)] [null/not null] [default valeurParDéfaut] [contrainte de colonne], … [contrainte de tables] )type=INNODB Types : Types de champs INT(n) DECIMAL(n,m) VARCHAR(n) DATE Types de données Numérique de n chiffres Numérique de n chiffres dont m décimales Chaîne de caractères de taille maximal n Date et/ou heure II-1 Ch5 : création et modification de la structure d’une BD Prof : Mme Imen MACHFER Null /not null : pour indiquer si la colonne est obligatoire ou non. Si NOT NULL, le champ est obligatoire et peut être vide si il est NULL. Default : permet d’attribuer une valeur par défaut si aucune valeur ne lui a été attribuée. LES CONTRAINTES : o Contrainte de clé primaire : indique que la colonne est une clé primaire. La commande est : METODE 1 : col type [(taille)] [null/not null] PRIMARY KEY METODE 2 : CONSTRAINT nom_contrainte PRIMARY KEY (Col1, Col2,…, Coln) Exemple : la table EQUIPE de l’exercice 1p78 : Methode1 Methode2 …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. o Clé étrangère (intégrité référentielle) : METODE 1 : col type [(taille)] [null/not null] REFERENCES nom_table(nom_primaire) [ON DELETE CASCADE] [ON UPDATE CASCADE] METODE 2 : CONSTRAINT nom_contrainte FOREIGN KEY (nom_étrangère ) REFERENCES nom_table(nom_primaire) [ON DELETE CASCADE] [ON UPDATE CASCADE] Exemple : la table APPARTIENT de l’exercice 1 p78 : Methode1 Methode2 …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. o Contrainte de valeur avec la clause CHECK: permet de limiter les valeurs possibles pour une colonne en vérifiant une certaine condition. Le contrôle se fera lors des insertions des données. METODE 1 : Nom_col type [(taille)] [null/not null] CHECK Nom_col condition METODE 2 : CONSTRAINT non_contrainte CHECK Nom_col condition II-2 Ch5 : création et modification de la structure d’une BD Prof : Mme Imen MACHFER La condition sur la colonne peut utiliser: Un opérateur de comparaison : <, >, <=, >=, =, <> La clause BETWEEN val1 AND val2 La clause IN (val_1,val_2…val_n) Exemple : la table PARTICPATION de l’exercice 1 p78 : Methode1 Methode2 …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. …………………………………………. 3) Modification de la structure d’une base de données en mode commande : a) Modification de la structure d’une table : ALTER TABLE Cette commande permet de : - Ajouter des colonnes ADD COLUMN - Modifier la définition d’une colonne MODIFY - Supprimer une colonne DROP COLUMN - Ajouter une contrainte ADD CONSTRAINT - Supprimer une contrainte DROP CONSTRAINT - Activer ou désactiver une contrainte ENABLE / DESABLE. Ajouter des colonnes ADD COLUMN Pour ajouter une ou plusieurs colonnes ont suivra la syntaxe suivante : ALTER TABLE nom_table ADD COLUMN ( col1 type [(taille)][null/not null], col2 type [(taille)][null/not null], coln type [(taille)][null/not null] ) Exemple : ajouter une colonne adresse taille 100 dans la table EQUIPE de l’exercice 1 p78 : …………………………………………………………………………………………… Modifier la définition d’une colonne MODIFY Pour modifier une ou plusieurs colonnes on suivra la syntaxe suivante : ALTER TABLE nom_table MODIFY ( col1 type [(taille)][null/not null], col2 type [(taille)][null/not null], coln type [(taille)][null/not null] ) Exemple : changer la taille de la colonne adresse à 60 dans la table EQUIPE de l’exercice 1 p78 : …………………………………………………………………………………………… Supprimer une colonne DROP COLUMN Pour supprimer une colonne on suivra la syntaxe suivante : ALTER TABLE nom_table DROP COLUMN nom_col Exemple : supprimer la colonne adresse de la table EQUIPE de l’exercice 1 p78 : …………………………………………………………………………………………… II-3 Ch5 : création et modification de la structure d’une BD Prof : Mme Imen MACHFER Ajouter une contrainte ADD CONSTRAINT : Pour ajouter une contrainte on suivra la syntaxe suivante : ALTER TABLE nom_table ADD CONSTRAINT définition de la contrainte …………………………………………………………………………………………… Supprimer une contrainte DROP CONSTRAINT Pour supprimer une contrainte on suivra la syntaxe suivante : ALTER TABLE nom_table DROP [CONSTRAINT] définition de la contrainte Exemple : la clé primaire de la table EQUIPE de l’exercice 1 p78 : …………………………………………………………………………………………… b) Suppression d’une table : DROP TABLE Pour supprimer à la fois la structure de la table ainsi que son contenu, on suivra la syntaxe suivante : DROP TABLE nom_table ……………………………………………………………. II-3