La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.

Présentations similaires


Présentation au sujet: "1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données."— Transcription de la présentation:

1 1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données

2 2  Le Langage de Définition de Données (LDD) : CREATE, ALTER, DROP.  Les contraintes autres que clé primaire et clé étrangère.  Le langage de manœuvre de données (excepté SELECT) : INSERT, UPDATE, DELETE. Base de données V Ce qui est abordé

3 3  Pour créer, supprimer, modifier la structure d’un objet : CREATE : création d’objets de données ALTER : modification de structure DROP : littéralement : « jeter » des objets Base de données V Les ordres principaux du LDD

4 4  Tables contiennent les données  Vues définissent des « tables virtuelles » pour accéder plus facilement à des données complexes  Index Permettent d’optimiser l’accès et la recherche  User Décrivent les utilisateurs des données Base de données V Les objets de données

5 5  Rappel de la syntaxe CREATE TABLE ( |,...) [specification stockage] [definition cluster] [données provenant d’une requête] Base de données V La création de tables : compléments

6 6  Permet d’attribuer une valeur par défaut à une colonne si une requête d’ajout de données ne la fournit pas.  Sans spécifications la valeur par défaut est NULL  Peut être une valeur, une valeur calculée standard,... date_jour DATE DEFAULT current_date Base de données V Valeur par défaut d’une colonne

7 7  Contrainte de colonnes Associée à une colonne de la table  Contrainte de tables Associées à plusieurs colonnes de la table  Il est conseillé de nommer les contraintes d’un nom qui rappelle l’objectif de la contrainte Base de données V Contraintes (rappels)

8 8 ORACLE  Nullité de colonne : NULL / NOT NULL  Unicité de valeur dans une colonne : UNIQUE  Clé primaire : PRIMARY KEY  Vérification sur un ensemble de valeurs (Oracle)  Clé étrangère : REFERENCES Base de données V Contraintes de colonnes

9 9 MySQL ORACLE CREATE TABLE personne( code VARCHAR2(4) CONSTRAINT pk_cli PRIMARY KEY, nom VARCHAR2(20), salaire NUMBER(12,2) CONSTRAINT const_sal NOT NULL, codepost NUMBER(5) CHECK(codepost BETWEEN 00001 AND 99999) ) CREATE TABLE personne( code VARCHAR(4) CONSTRAINT pk_cli PRIMARY KEY, nom VARCHAR(20), salaire DECIMAL(12,2) CONSTRAINT const_sal NOT NULL, codepost CHAR(5) ) Base de données V Exemple de contraintes de colonnes

10 10 MySQL ORACLE CREATE TABLE personne( code VARCHAR2(4), nom VARCHAR2(20), salaire NUMBER(12,2), codepost CHAR(5), CONSTRAINT pk_personne PRIMARY KEY(code,nom) ) CREATE TABLE personne( code VARCHAR(4), nom VARCHAR(20), salaire DECIMAL(12,2), codepost CHAR(5), CONSTRAINT pk_personne PRIMARY KEY(code,nom) ) Base de données V Exemple de contraintes de table

11 11  On pourrait supprimer la table et la recréer …? Base de données V Modification de la structure d’une table On perd les données qui sont déjà dedans

12 12  Modifier la structure, c’est : supprimer, modifier les caractéristiques ou ajouter des colonnes Supprimer, ajouter, modifier des contraintes  Syntaxe générale ALTER TABLE [ ][ ][ ] Base de données V Modification de la structure d’une table 2

13 13 ALTER TABLE table ADD (col1 type1, col2 type2, …); ALTER TABLE table MODIFY (col1 type1, col2 type2, …); ALTER TABLE NomTable DROP CONSTRAINT NomCont; ALTER TABLE nom_table ADD CONSTRAINT nom_contrainte FOREIGN KEY (NomCol1, …, NomColn) REFERENCES NomTable(Col1, …, Coln); ALTER TABLE nom_table ADD CONSTRAINT nom_contrainte PRIMARY KEY (NomCol1, NomCol2, …); Base de données V Exemples de modification

14 14  Syntaxe générale : DROP TABLE  Exemple : DROP TABLE personne ;  Problèmes liés à la destruction d’une table : Certaines contraintes peuvent interdire la destruction d’une table Base de données V Destruction d’une table

15 15  Le LMD permet d’effectuer les opérations sur les données, et non plus sur les structures.  Le LMD concerne le cycle de vie des données, pendant le fonctionnement de l’application.  Le LMD implémente un modèle ultra- classique dit « CRUDE » (Create Read, Update, Delete) de l’informatique. Base de données V Le Langage de Manipulation des Données

16 16  Le CRUDE sur les données est matérialisé dans le SQL par les quatre ordres : INSERT : insertion d’enregistrement UPDATE : modification d’un enregistrement DELETE : suppression de l’enregistrement SELECT : accès à l’enregistrement par un procédé de sélection. Base de données V L’implémentation du CRUDE sur les données

17 17 ORACLE  Syntaxe standard : INSERT INTO VALUES( …)  Exemples : INSERT INTO personne VALUES('nom',10); INSERT INTO employe VALUES('DERAY', 'ODILE', DATE '1960-01-01'); Base de données V L’ajout de données : INSERT

18 18  Elle permet de ne fournir que certaines données, les autres utilisant les valeurs par défaut.  Syntaxe modifiée : INSERT INTO ( [, … ]) VALUES ( [, … ]);  Exemple : INSERT INTO personne (nom) VALUES ('Durand') ;  Elle est plus stable Base de données V L’ajout de données : INSERT à projection

19 19  Permet de mettre à jour les ‘tuples’ d'une table vérifiant un certain prédicat. UPDATE SET = [, = …] [WHERE ]  Les expressions sont évaluées pour chaque tuple vérifiant le prédicat.  Si aucune clause WHERE n'est spécifiée, tous les enregistrements de la table sont modifiés ! Base de données V La modification des données : UPDATE

20 20 ORACLE UPDATE personne SET date_naissance = DATE '1900-01-01' WHERE date IS NULL; NULL n'est pas une valeur et ne peut donc pas être traité avec '='. C'est le prédicat 'IS NULL' ou 'IS NOT NULL' qui sera employé. Base de données V Exemples de commandes UPDATE

21 21  Permet de supprimer d’une table les tuples qui vérifient un certain prédicat.  Syntaxe générale : DELETE FROM [WHERE ]  Si aucune clause WHERE n'est spécifiée, tous les tuples sont supprimés (cf. update) ! Base de données V Effacement de données : DELETE

22 22 DELETE FROM personne DELETE FROM personne WHERE date IS NULL; Base de données V Exemples de suppression

23 23 FIN DU COURS


Télécharger ppt "1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données."

Présentations similaires


Annonces Google