Bases de données Niveau 1 SQL - MySQL MariaDB - Cours et TP 5 DDL et DML

Dimension: px
Commencer à balayer dès la page:

Download "Bases de données Niveau 1 SQL - MySQL MariaDB - Cours et TP 5 DDL et DML"

Transcription

1 Bases de données Niveau 1 SQL - MySQL MariaDB - Cours et TP 5 DDL et DML MariaDB : Site officiel MySQL : Zone pour les développeurs : Téléchargement : Documentations MySQL : Mémo SQL : Bertrand LIAUDET SOMMAIRE SOMMAIRE 1 SQL : CREATION DE LA BASE DE DONNEES. LES TABLES : LE DDL 3 0. Présentation 3 1. Création des tables 4 2 Contrainte d intégrité référentielle : CIR 9 3 Modification des tables 13 4 Suppression des tables Récupération du code sous mysql : show create table Moteur MyISAM et moteur InnoDB 16 SQL : CREATION DE LA BASE DE DONNEES. LES TUPLES : LE DML Création des tuples Modification et suppression des tuples Suppression des tuples Remplacement des tuples 22 TP N 5 : CMS DES TUPLES ET DES TABLES 23 Présentation 23 Exercice 1 : charger les tables de la base de données 23 Exercice 2 : modification et création de la BD 24 Exercice 3 : création de la BD via un SELECT et des ALTER 25 Exercice 4 : Exporter - Importer 25 BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 1/26 - Bertrand LIAUDET

2 Exercice 5 : passage de InnoDB à MyISAM et retour en InnoDB 26 Première édition : septembre 2007 Deuxième édition : septembre 2008 Troisième édition : septembre 2009 BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 2/26 - Bertrand LIAUDET

3 SQL : CREATION DE LA BASE DE DONNEES. LES TABLES : LE DDL PRINCIPALES NOTIONS CREATE TABLE INSERT INTO ALTER TABLE UPDATE DROP TABLE DELETE FROM Contraintes d intégrité non référentielles Moteur MyISAM Contraintes d intégrité référentielle Moteur InnoDB Show create table 0. Présentation Les trois opérations fondamentales de «création» au sens large de la base de données sont : la création, la modification et la suppression Ces opérations correspondent au sigle : CMS La CMS s applique aux tables, aux tuples mais aussi aux utilisateurs. CMS des tables : Le DDL : Data Definition Language CREATE TABLE ALTER TABLE DROP TABLE CMS des tuples : Le DML : Data Manipulation Language INSERT INTO UPDATE DELETE FROM REPLACE BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 3/26 - Bertrand LIAUDET

4 1. Création des tables Une fois le modèle des données réalisé, il reste à créer la base de données. Créer d abord les tables, puis les tuples. Création des tables Syntaxe MySQL Exemple En première approche, la commande a la syntaxe suivante : CREATE table NomTable ( attribut_1 type [contrainte d intégrité], attribut_2 type [contrainte d intégrité],, attribut_n type [contrainte d intégrité], [contrainte d intégrité] ); Les contraintes sont facultatives. L ordre dans la liste est au choix. La table est une coquille vide : c'est une structure. Elle permettra ensuite de créer des tuples. CREATE TABLE DEPT ( ND integer primary key auto_increment, NOM varchar(14) not NULL, VILLE varchar(13) ); CREATE TABLE EMP ( NE integer primary key auto_increment, NOM varchar(10) not NULL, JOB enum ('PRESIDENT','MANAGER', 'SALESMAN', 'CLERK', 'ANALYST'), DATEMB date, SAL float(7,2), COMM float(7,2), ND integer not null, foreign key(nd) references DEPT(ND), NEchef integer, foreign key(nechef) references EMP(NE) ); BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 4/26 - Bertrand LIAUDET

5 Les types La connaissance des types est plus ou moins spécifique au SGBD avec lequel on travaille. Les types numériques BOOL, BOOLEAN, BIT INT (M), INTEGER (M), TINYINT (M), SMALLINT (M), MEDIUMINT (M), BIGINT (M) FLOAT(precision), FLOAT (M,D), DOUBLE (M,D), DOUBLE PRECISION (M,D), REAL (M,D) avec : M : nb chiffres max, D : nb chiffres après la virgule DECIMAL (M,D), DEC (M,D) avec M : taille de l affichage, D: nombre de décimal, M>=D, si M=D alors 1 < n < 1. Les types date DATE, DATETIME, TIME TIMESTAMP : pour gérer automatiquement la date de création ou de mise à jour. YEAR(2 4) Type chaîne CHAR(M), NCHAR(M), CHARACTER : taille statique, 255 max. VARCHAR(M), NATIONAL VARCHAR(M) : taille dynamique, 2000 max. BLOB, TEXT, TINYBLOB, TINYTEXT, MEDIUMBLOB, MEDIUMTEXT, LONGBLOB, LONGTEXT : taille dynamique, jusqu à 4GO. Type chaine : enum et set ENUM('value1','value2',...) : permet de proposer une liste de valeurs pour l attribut. Remarque : les valeurs proposées seront les seules possibles. L enum se comporte donc comme un «check». SET('value1','value2',...) : zéro, une ou plusieurs valeurs parmi une liste BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 5/26 - Bertrand LIAUDET

6 Les contraintes d intégrité Notion de contrainte d intégrité Le type Une contrainte d intégrité est un élément de définition des données qui s applique à un attribut et qui fixe une contrainte de valeur pour les données de l attribut. Le type est la première contrainte d intégrité. Selon les SGBD, plus ou moins de vérifications seront effectuées. MySQL est très permissif : les réels sont arrondis en entier si nécessaire, les entier et les réels sont considérés comme des chaînes de caractères si nécessaire. Les chaînes de caractères qui peuvent être lues comme des entiers ou des réels sont considérées comme des entiers ou des réels si nécessaire. Toutefois : Une chaîne de caractère contenant du texte ne peut pas correspondre à un entier ou un réel. Les date doivent avoir le format : yyyy-mm-jj et le nombre de jour et nombre de mois doit être cohérent. Liste des contraintes d intégrité PRIMARY KEY : permet de définir les clés primaires. Cette contrainte garantit le fait que la valeur est différente de NULL et qu elle est unique dans la table. FOREIGN KEY : permet de définir les clés étrangères. Cette contrainte garantit que la valeur fait bien référence à une clé primaire existant dans une autre table. NOT NULL : impose le fait que la valeur de l attribut doit être renseignée. UNIQUE : impose le fait que chaque tuple de la table doit, pour l attribut concerné, avoir une valeur différente de celle des autres ou NULL. DEFAULT : permet de définir une valeur par défaut. ENUM : permet de définir un ensemble de valeurs possible pour l attribut. Cette contrainte garantit le fait que la valeur de l attribut appartiendra à cet ensemble. Le SQL standard propose le mot-clé CHECK qui permet de gérer plus de vérifications sur les valeurs possibles de pour l attribut. Conséquences des contraintes d intégrité PRIMARY KEY, NOT NULL, UNIQUE et CHECK : ces quatre contraintes ont le même type de conséquence : si on cherche à donner une valeur à un attribut qui n est pas conforme à ce qui est précisé dans la définition de l attribut (valeur NULL s il est défini NOT NULL ou PRIMARY KEY, valeur existant déjà s il est défini UNIQUE ou PRIMARY KEY, valeur n appartenant pas au domaine spécifié par le CHECK), alors le SGBD renvoie un message d erreur et ne modifie pas la base de données. Ainsi, un premier niveau de cohérence des données est maintenu. DEFAULT : donne une valeur par défaut si il n y a pas de saisie. FOREIGN KEY : cette contrainte garantit que la valeur fait bien référence à une clé primaire existant dans une autre table. Les conséquences pratiques de cette contraintes seront abordées au prochain chapitre. BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 6/26 - Bertrand LIAUDET

7 Exemples de code Exemple 1 -- Création de la BD : on supprime la database, on la recrée, on l'utilise drop database if exists empdept; create database empdept; use empdept; -- Création des tables CREATE TABLE DEPT ( ND integer primary key auto_increment, NOM varchar(14) not NULL, VILLE varchar(13) ) ENGINE InnoDB; CREATE TABLE EMP ( NE integer primary key auto_increment, NOM varchar(10) not NULL, JOB varchar(9), DATEMB date, SAL float(7,2), COMM float(7,2), ND integer not null, foreign key(nd) references DEPT(ND), NEchef integer, foreign key(nechef) references EMP(NE) ) ENGINE InnoDB; -- création des tuples INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK'), (20,'RESEARCH','DALLAS'), (30,'SALES','CHICAGO'), (40,'OPERATIONS','BOSTON') ; INSERT INTO EMP VALUES (7839,'KING','PRESIDENT',' ',5000,NULL,10,NULL); INSERT INTO EMP VALUES (7698,'BLAKE','MANAGER',' ',2850,NULL,30,7839); INSERT INTO EMP VALUES (7782,'CLARK','MANAGER',' ',2450,NULL,10,7839); INSERT INTO EMP VALUES (7566,'JONES','MANAGER',' ',2975,NULL,20,7839); INSERT INTO EMP VALUES (7654,'MARTIN','SALESMAN',' ',1250,1400,30,7698); INSERT INTO EMP VALUES (7499,'ALLEN','SALESMAN',' ',1600,300,30,7698); INSERT INTO EMP VALUES (7844,'TURNER','SALESMAN',' ',1500,0,30,7698); INSERT INTO EMP VALUES (7900,'JAMES','CLERK',' ',950,NULL,30,7698); INSERT INTO EMP VALUES (7521,'WARD','SALESMAN',' ',1250,500,30,7698); INSERT INTO EMP VALUES (7902,'FORD','ANALYST',' ',3000,NULL,20,7566); INSERT INTO EMP VALUES (7369,'SMITH','CLERK',' ',800,NULL,20,7902); INSERT INTO EMP VALUES (7788,'SCOTT','ANALYST',' ',3000,NULL,20,7566); INSERT INTO EMP VALUES (7876,'ADAMS','CLERK',' ',1100,NULL,20,7788); INSERT INTO EMP VALUES (7934,'MILLER','CLERK',' ',1300,NULL,10,7782); Remarques Insert into : on peut faire un insert into par tuple (c est le cas des employés) ou faire un insert into pour tous les tuples (c est le cas des départements). Variante de l exemple 1 BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 7/26 - Bertrand LIAUDET

8 CREATE TABLE EMP ( NE integer auto_increment, NOM varchar(10), JOB enum ('PRESIDENT','MANAGER', 'SALESMAN', 'CLERK', 'ANALYST'), DATEMB date, SAL float(7,2) check (sal >1000), -- mysql ne gère pas le check! COMM float(7,2) default 100, ND integer not null, NEchef integer, primary key(ne) ) ENGINE InnoDB; CREATE TABLE DEPT ( ND integer auto_increment, NOM varchar(14), VILLE varchar(13), primary key(nd) ) ENGINE InnoDB; ALTER TABLE EMP ADD constraint KEYND foreign key(nd) references DEPT(ND); ALTER TABLE EMP ADD constraint KEYNECHEF foreign key(nechef) references EMP(NE); Remarques JOB enum Check : pas géré par MySQL Defautl : Comm default 100 Les foreign key gérées en altération. De ce fait, on peut créer les tables dans n importe quel ordre. Create table as select On peut créer une table et la remplir à partir d un select : Create table nomtable as select ; Cette table contiendra les attributs et les tuples du select. Elle ne contiendra aucune contraintes d intégrité. Tous les attributs sont à NULL par défaut. Pour y ajouter des contraintes d intégrité, il faudra faire des ALTER TABLE. BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 8/26 - Bertrand LIAUDET

9 2 Contrainte d intégrité référentielle : CIR Notion de contrainte d intégrité référentielle FOREIGN KEY est une caractéristique pour un attribut qui définit une contrainte d intégrité référentielle. Une CIR garantit que la valeur de l attribut fait bien référence à une clé primaire existant dans une autre table. Une CIR concerne deux attributs (et donc en général deux tables) : Une CIR s applique à un attribut maître : celui qui fait référence à un autre attribut. Une CIR concerne un attribut joint : celui qui est référé par l attribut maître. La présence de CIR à des conséquences : Sur la création, modification, suppression des tables. Sur la création et la modification de tuples propriétaires de la CIR. Sur la modification et la suppression de tuples référés par une CIR. Conséquences de l intégrité référentielle sur les tables Création et modification d une table maître (avec une clé étrangère) La table jointe doit être créée avant la table maître. Exemple : il faut créer la table des départements avant celle des employés car la table des employés fait référence à la table des départements. Suppression d une table jointe (dont la clé primaire est référencée par d autres tables) La table maître doit être supprimée avant la table jointe. Exemple : il faut supprimer la table des employés avant celle des départements car la table aucune table ne fait référence à la table des employés tandis que la table des départements est référencée par la table des employés. Ajout et suppression des CIR indépendamment des tables Pour pouvoir créer les tables dans n importe quel ordre (par ordre alphabétique par exemple), il suffit de créer les CIR après avoir créer les tables (avec un ALTER TABLE). Pour pouvoir supprimer les tables dans n importe quel ordre, il suffit de supprimer les CIR avant de supprimer les tables (avec un ALTER TABLE). Conséquences de l intégrité référentielle sur les tuples Création et modification d un tuple maître (avec une clé étrangère) Le tuple joint doit être créé avant le tuple maître. BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 9/26 - Bertrand LIAUDET

10 Suppression d un tuple joint (dont la clé primaire est référencée par d autres tuples) Un tuple joint ne peut pas être supprimé. En cas de tentative d une telle suppression, 3 cas peuvent se présenter : Exemple : Soit on interdit la suppression du tuple joint. Il faudra alors commencer par détruire le ou les tuples maîtres correspondant pour pouvoir supprimer le tuple joint. C est la situation par défaut. Soit le système supprime le tuple joint et les tuples maître correspondant : ainsi il n y a plus de tuples maître faisant référence au tuple joint. Dans ce cas on ajoute : ON DELETE CASCADE à la définition de la clé étrangère. ND integer not null, foreign key(nd) references DEPT(ND) on delete cascade Dans notre exemple, cela signifie que si on supprime un département, on supprimera aussi tous les employés du départements ce qui n est certainement pas un bon choix de modélisation! Soit le système supprime le tuple joint et met la clé étrangère correspondante des tuples maîtres à NULL pour qu il n y ait plus de tuples maîtres qui fassent référence au tuple joint. Dans ce cas on ajoute : ON DELETE SET NULL à la définition de la clé étrangère. Exemple : ND integer not null, foreign key(nd) references DEPT(ND) on delete set NULL Dans notre exemple, cela signifie que si on supprime un département, les employés du département auront désormais la valeur NULL comme numéro de département. C est possible à condition que le numéro de département de l employé ne soit pas déclaré NOT NULL. Modification d un tuple joint (dont la clé primaire est référencée par d autres tuples) Un tuple joint ne peut pas être modifié. En cas de tentative d une telle suppression, 2 cas peuvent se présenter : Exemple: Soit on interdit la modification du tuple joint. Il faudra commencer par modifier le ou les tuples maîtres correspondant pour pouvoir modifier le tuple joint. C est la situation par défaut. Soit le système modifie le tuple joint et les tuples maîtres correspondants pour qu ils fassent correctement référence au tuple joint. Dans ce cas on ajoute : ON UPDATE CASCADE à la définition de la clé étrangère. ND integer not null, foreign key(nd) references DEPT(ND) on update cascade Dans notre exemple, cela signifie que si on modifie la clé primaire d un département, on modifiera aussi les numéros de départements des employés de ce département. BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 10/26 - Bertrand LIAUDET

11 Nommer les contraintes : CONSTRAINT nomcontrainte En SQL standard, on peut nommer toutes les contraintes, ce qui permettra ensuite de désactiver et de réactiver les contraintes en y faisant références par leur nom. Pour cela, il suffit d ajouter «CONSTRAINT nomcontrainte» devant la déclaration de la contrainte. MySQL ne gère que le nom des CIR. Syntaxe SQL Création de CIR dans un CREATE TABLE Syntaxe générale Exemples FOREIGN KEY(nomAttMaître) [CONSTRAINT nomcontrainte] REFERENCES nomtablejointe(nomattjoint) CREATE TABLE EMP ( NE integer primary key auto_increment, ND integer not null, foreign key(nd) references DEPT(ND), NEchef integer, foreign key(nechef) references EMP(NE) ); Ou encore : CREATE TABLE EMP ( NE integer primary key auto_increment, ND integer not null, NEchef integer, constraint KEYND foreign key(nd) references DEPT(ND), foreign key(nechef) references EMP(NE) ); Nom d une CIR : show create table mysql> show create table emp; emp CREATE TABLE `emp` ( `NE` int(11) NOT NULL auto_increment, CONSTRAINT `emp_ibfk_1` FOREIGN KEY (`ND`) REFERENCES `dept` (`ND`), CONSTRAINT `emp_ibfk_2` FOREIGN KEY (`NEchef`) REFERENCES `emp` (`NE`) ) ENGINE=InnoDB AUTO_INCREMENT=7935 DEFAULT CHARSET=latin1 La CIR sur ND est nommée automatiquement : `emp_ibfk_1`. La CIR sur NEchef est nommée automatiquement : `emp_ibfk_2` Création de CIR par un ALTER TABLE CREATE TABLE EMP ( NE integer auto_increment, NEchef integer, primary key(ne) ) ENGINE InnoDB; BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 11/26 - Bertrand LIAUDET

12 CREATE TABLE DEPT ( ND integer auto_increment, primary key(nd) ) ENGINE InnoDB; ALTER TABLE EMP ADD constraint KEYND foreign key(nd) references DEPT(ND); ALTER TABLE EMP ADD foreign key(nechef) references EMP(NE); Autres possibilités Selon les SGBD, d autres possibilités de définition de contraintes d intégrité seront possibles. Elles sont à analyser au cas par cas en fonction du SGBD sur lequel on travaille. Cependant, les plus importantes ont été abordées. BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 12/26 - Bertrand LIAUDET

13 3 Modification des tables Modification des attributs Ajouter un ou plusieurs attributs à la table : ALTER TABLE NomTable ADD ( attribut_1 type [contrainte], attribut_2 type [contrainte],, attribut_n type [contrainte] ); Modifier un attribut de la table ALTER TABLE NomTable MODIFY attribut_1 type [contrainte] ; La modification permet d annuler les contraintes de type NOT NULL ou auto_increment. Supprimer un attribut de la table ALTER TABLE NomTable DROP attribut ; Attention La modification et la suppression des attributs doivent être manipulées avec prudence : une table peut contenir des milliers de données. Il ne faut pas les supprimer ou modifier une table sans précaution. Ajout et suppression de contraintes d'intégrité Ajouter une contrainte Exemple ALTER TABLE NomTable ADD [ CONSTRAINT nomcontrainte] Contrainte ; ALTER TABLE emp ADD CONSTRAINT keynd FOREIGN KEY(ND) REFERENCES DEPT(ND); Suppression d une contrainte nommée ALTER TABLE emp ADD foreign key(nd) references DEPT(ND); ALTER TABLE NomTable DROP type de contrainte nom_de_contrainte; BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 13/26 - Bertrand LIAUDET

14 Exemple ALTER TABLE emp DROP foreign key KEYND; Récupérer le nom des contraintes : show create table matable Si on n a pas nommé les contraintes à la création, MySQL les nomme automatiquement. Pour récupérer le nom, il faut utiliser la commande Show create table matable On obtient alors le nom de la contrainte derrière le mot clé CONSTRAINT. Suppression de la clé primaire ALTER TABLE NomTable DROP primary key ; On ne peut supprimer la clé primaire que si ce n est pas un auto incrément, et uniquement si elle n est pas référencée par une clé étrangère. 4 Suppression des tables Attention : DROP TABLE NomTable ; La modification et la suppression des tables doit être manipulées avec prudence : une table peut contenir des milliers de données. Il ne faut pas les supprimer ou modifier une table sans précaution. BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 14/26 - Bertrand LIAUDET

15 5. Récupération du code sous mysql : show create table Show create table La commande show create table nomtable permet de récuperer le code de création d une table. Exemple 1 : mysql> show create table dept; emp CREATE TABLE `dept` ( `ND` int(11) NOT NULL auto_increment, `NOM` varchar(14) default NULL, `VILLE` varchar(13) default NULL, PRIMARY KEY (`ND`) ) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=latin1 Remarques 1. le n du prochain ID automatique sera InnoDB est un choix de SGBD. C est celui par défaut. 3. Le code est exploitable directement pour créer une table. Exemple 2 : mysql> show create table emp; emp CREATE TABLE `emp` ( `NE` int(11) NOT NULL auto_increment, `NOM` varchar(10) default NULL, `JOB` varchar(9) default NULL, `DATEMB` date default NULL, `SAL` float(7,2) default NULL, `COMM` float(7,2) default NULL, `ND` int(11) NOT NULL, `NEchef` int(11) default NULL, PRIMARY KEY (`NE`), KEY `ND` (`ND`), KEY `NEchef` (`NEchef`), CONSTRAINT `emp_ibfk_1` FOREIGN KEY (`ND`) REFERENCES `dept` (`ND`), CONSTRAINT `emp_ibfk_2` FOREIGN KEY (`NEchef`) REFERENCES `emp` (`NE`) ) ENGINE=InnoDB AUTO_INCREMENT=7944 DEFAULT CHARSET=latin1 Remarques 1. Le n du prochain ID automatique sera Les clés étrangères sont déclarées en plusieurs étapes : avec KEY et avec CONSTRAINT 3. Le code est exploitable directement pour créer une table. BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 15/26 - Bertrand LIAUDET

16 Rappels d autres commandes Show databases : lister toutes les databases auxquelles on a accès. Create database nomdatabase : créer une database. Drop database nomdatabase : supprimer une database. Use nomdatabase : utiliser une database. Show tables : lister les tables de la database en cours. Desc nomtable : lister les attributs d une table Show index from nomtable : lister les index d une table Show create table nomtable : afficher le code de creation d une table 6. Moteur MyISAM et moteur InnoDB MyISAM et InnoDB MySQL propose deux type de moteur pour le SGBD : Le moteur MyISAM Le moteur InnoDB Le moteur MyISAM est le moteur par défaut. Il est rapide mais ne gère ni les clés étrangères, ni les transactions. Le moteur InnoDB gère les transactions et les clés étrangères. Quel moteur choisir? Par défaut, il vaut mieux choisir le moteur InnoDB qui prend en compte la norme SQL. Pour améliorer les performance, on peut revenir, si nécessaire au moteur MyISAM. Conclusion : toujours InnoDB!!! Etant donné que les performances sont, dans un premier temps, une question secondaire, et que par contre, on veut absolument apprendre à gérer finement les contraintes de clés étrangères puis les transactions : On utilisera toujours le moteur InnoDB!!! Conséquence syntaxique : ENGINE InnoDB On ajoute : ENGINE InnoDB à la fin de la création de la table : CREATE TABLE DEPT ( ND integer auto_increment, NOM varchar(14), VILLE varchar(13), primary key(nd) ) ENGINE InnoDB; BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 16/26 - Bertrand LIAUDET

17 Passage d un moteur à l autre On peut modifier le moteur d une table : Passage en MyISAM ALTER TABLE emp TYPE MyISAM ; Pour passer en d InnoDB à MyISAM, il ne doit pas y avoir de clé étrangère. Il faut donc commencer par supprimer les contraintes nommées de clé étrangère. Passage en InnoDB ALTER TABLE emp TYPE InnoDB ; Le passage de MyISAM a InnoDB est possible directement. BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 17/26 - Bertrand LIAUDET

18 SQL : CREATION DE LA BASE DE DONNEES. LES TUPLES : LE DML 1. Création des tuples Une fois les tables créées, il faut créer les tuples, c est-à-dire les données à proprement parler. Création de tuples Syntaxe MySQL Exemple INSERT INTO NomTable (attribut_1,, attribut_n ) values (valeur_1,, valeur_n ) ; INSERT INTO departements (ND, nom, ville) values (10, 'ADMINISTRATION', 'PARIS') ; ou encore, sans préciser la liste des attributs : INSERT INTO departements values (20, 'VENTES', 'PARIS') ; ou encore, en série : INSERT INTO departements values (20, 'VENTES', 'PARIS'), (10, 'ADMIN', 'PARIS') ; ; Utilisation de l auto-incrément Directement INSERT INTO departements (nom, ville) values ('VENTES', 'PARIS'); Dans ce cas, il faut préciser la liste des attributs qu on veut affecter sans préciser le nom de l attribut clé, et ne pas mettre de valeur pour l attribut clé. Au minimum, on écrira donc : INSERT INTO departements ( ) values ( ); En passant une valeur NULL En passant une valeur NULL ou, on fait jouer l auto-incrément : INSERT INTO departements values (NULL, 'VENTES', 'PARIS'); BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 18/26 - Bertrand LIAUDET

19 Ou bien INSERT INTO departements values ('', 'VENTES', 'PARIS'); Gestion des clés étrangères : la fonction last_insert_id() La fonction last_insert_id() permet de récupérer le dernier numéro de clé primaire donnée. C est utile pour faire un lien sur une clé étrangère : INSERT INTO employes values (NULL, 'DURAND', 'ANALYST', ' ', 2000, NULL, last_insert_id(),7839); Cette instruction permet de créer l employé DURAND et de l affecter dans le département qu on vient de créer précédemment. A noter que la fonction «last_insert_id()» est gérée au niveau de chaque client. Création de tuples en série On peut insérer dans une table des tuples résultant de l interrogation de la base de données elle-même. INSERT INTO NomTable ( liste d'attributs ) SELECT liste d'attributs from ; Les tuples de la table résultant du select sont créés dans la table de l'insert. Attention : La table résultant du select doit avoir le même schéma que celle dans laquelle les tuples sont insérés. Exporter les données A partir de mysql Production d un fichier «csv» exploitable sous Excel. Chemin absolu mysql> SELECT * INTO OUTFILE c:/dept.csv fields terminated by, FROM dept; Chemin relatif : DATADIR mysql> SELECT * INTO OUTFILE./dept.csv fields terminated by, FROM dept; BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 19/26 - Bertrand LIAUDET

20 Chemin relatif : DATADIR / BDused mysql> SELECT * INTO OUTFILE dept.csv fields terminated by, FROM dept; A partir du SE C: \ > mysql dbname u user p >output.tab On passe en mode batch, l affichage est redirigé dans le fichier output.tab Ou bien C: \ > mysql dbname u user p pager=cat>output.tab Remarque : output.tab est écrasé au début de l opération, mais toutes les commandes de la même session sont executées à la suite Autre usage : C: \ > mysql dbname u user p < fichier.sql > output.tab Importer les données On peut importer des données en précisant le format de séparation des champs. Par exemple: les fichiers csv produit par Excel utilisent la virgule comme séparateur. Attention : La table correspondant au fichier importé doit avoir le même schéma que celle dans laquelle les tuples sont insérés. Chemin absolu mysql> LOAD DATA INFILE c:/dept.csv INTO TABLE dept fields terminated by, ; Chemin relatif : DATADIR mysql> LOAD DATA INFILE./dept.csv INTO TABLE dept fields terminated by, ; Chemin relatif : DATADIR / BDused mysql> LOAD DATA INFILE dept.csv INTO TABLE dept fields terminated by, ; Chemin relatif : DATADIR / BD au choix mysql> LOAD DATA INFILE./empdept/dept.csv INTO TABLE dept fields terminated by, ; BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 20/26 - Bertrand LIAUDET

21 2. Modification et suppression des tuples Modification de toute la colonne On peut modifier la valeur d un attribut d un tuple : UPDATE NomTable SET attribut = expression ; L expression peut être une valeur constante, ou une valeur calculée à partir d un élément de la BD : soit directement un attribut, soit le résultat d un select (qui devra donc avoir comme résultat une valeur atomique). Attention : La modification est effectuée pour tous les tuples. Modification de certains tuples dans la colonne On peut sélectionner certains tuples en ajoutant la clause where : UPDATE NomTable SET attribut_1 = expression ou ( SELECT ) WHERE condition ; Remarque Le Select dans le Set ne doit pas faire référence à la table de l update. Modification de plusieurs attributs à la fois La syntaxe générale est la suivante : UPDATE NomTable SET attribut_1 = expression ou ( SELECT ), attribut_n = expression_n ou ( SELECT ) WHERE condition; Exemple UPDATE emp SET salaire = salaire * 1,1 WHERE job = Manager ; BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 21/26 - Bertrand LIAUDET

22 3. Suppression des tuples On peut supprimer des tuples en précisant lesquels par la clause where : DELETE FROM NomTable WHERE condition ; Attention!!! La suppression des tuples doit être manipulée avec prudence : il est possible de détruire tous les tuples d'une table en une seule commande. Il n y a pas de possibilité de retour en arrière (le ROLLBACK ne sert que dans une transaction). La seule façon de retrouver des tuples détruits par erreur sera de revenir à la dernière sauvegarde ce qui risque d être pénalisant ou de passer par les fichiers de journaux. 4. Remplacement des tuples Remplacer un tuple est équivalent à le supprimer (DELETE) et le créer à nouveau (INSERT INTO). 4 cas de figure 1. Si la clé primaire est dans le SET et que la valeur de la clé primaire existe déjà, alors il y aura effectivement remplacement des autres attributs (DELETE + INSERT) avec les valeurs précisées dans le SET. Les attributs non spécifiés dans le SET passent à NULL. 2. Si la clé primaire est dans le SET et que la valeur de la clé primaire n existe pas déjà, alors il y création d un nouveau tuple (INSERT) avec les valeurs précisées dans le SET. Les attributs non spécifiés dans le SET sont à NULL. 3. Si la clé primaire n est pas dans le SET et qu il y a un auto-incrément, alors il y création d un nouveau tuple (INSERT) avec les valeurs précisées dans le SET. Les attributs non spécifiés dans le SET sont à NULL. 4. Si la clé primaire n est pas dans le SET et qu il n y a pas d auto-incrément, alors la commande génère une ERREUR. Syntaxe La syntaxe du REPLACE est celle de l UPDATE mais sans clause WHERE. REPLACE FROM NomTable SET attribut_1 = expression ou ( SELECT ), attribut_n = expression_n ou ( SELECT ) ; BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 22/26 - Bertrand LIAUDET

23 TP N 5 : CMS DES TUPLES ET DES TABLES Présentation L exercice consiste à écrire des requêtes SQL d interrogation de la BD. On utilise la base des employés. Exercice 1 : charger les tables de la base de données Présentation On travaillera sur les tables suivantes : EMPLOYES(NE, NOM, JOB, DATEMB, SAL, COMM, #ND, *NEchef) NE numéro de l employé. Clé primaire. NOM nom de l employé. JOB intitulé du poste occupé. DATEMB date d embauche. SAL salaire de l employé. COMM commission (part de salaire variable). #ND n du département dans lequel travaille l employé. Clé étrangère. *NEchef n d employé du chef de l employé. Clé étrangère réflexive. DEPARTEMENTS(ND, NOM, VILLE) ND numéro des départements de l entreprise. Clé primaire. NOM nom des départements de l entreprise. VILLE nom des villes où sont situés les départements. Exercice : lancer le script de création de la BD 1. Télécharger le script de création de la BD : EmployesTP05.txt 2. Lancer ce script de création de la BD. 3. Corriger les erreurs dans l ordre : lister toutes les erreurs une par une. Pour corriger les erreurs, il faut les traiter dans l ordre, warnings compris. 4. Enregistrer un script corrigé. BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 23/26 - Bertrand LIAUDET

24 Exercice 2 : modification et création de la BD Méthode de travail Dans un fichier texte à votre nom+tp05, écrire tous les scripts demandés avec l intitulé des questions. Utilisez un fichier de test pour tester individuellement les questions. Le mieux est de recharger régulièrement une BD propre : le script corrigé du TP05. Les requêtes : CMS (Création Modification Suppression) des tuples 1. Faire une augmentation de salaire de 20% à tous les employés du département 20. Commencer par faire une requête de recherche des tuples concernés. 2. Augmenter la commission de 200 à tous les vendeurs de Chicago. Commencer par faire une requête de recherche des tuples concernés. 2. bis : Augmenter de 10 % tous les subordonnés des employés qui gagnent plus que Essayer de créer l employé Dupond dont le numéro d employé est On n a pas plus d informations le concernant. Quel problème cela pose-t-il? 4. Essayer de créer l employé Dupond dont le numéro d employé est 7839 et qui travaille dans le département 10. Quel problème cela pose-t-il? Comment pouvez-vous le résoudre? 5. Essayer de supprimer le département 10. Quel problème cela pose-t-il? 6. Essayer de supprimer l employé n Quel problème cela pose-t-il? 7. Créer l employé Dupond. Son numéro est le Il est MANAGER. Sa date d embauche est le 1 février Son salaire est Il n a pas de commission. Son supérieur hiérarchique est le Président. Il travaille dans le département 30. Turner (7844) et James (7900) passe sous sa responsabilité. Ecrivez le script de mise à jour de la base de données. Exécuter ce script. 8. Dupond et les employés sous sa responsabilité travaille désormais dans le département 40. Ecrivez le script de mise à jour de la base de données. 9. Blake (7698) démissionne. Tous les employés sous sa responsabilité passent sous celle de Dupond et dans son département. Son département est supprimé. Tous les employés de son département passent dans le département de Dupond. Ecrivez le script de mise à jour de la base de données. Dans le script on commencera par lister tous les subordonnés de Blake et tous les employés de son département. 10. Ajouter un nouveau département. Il est à PARIS. Son nom est «INFO». On souhaite gérer le numéro du département automatiquement. Quel est le numéro de ce nouveau département? BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 24/26 - Bertrand LIAUDET

25 Exercice 3 : création de la BD via un SELECT et des ALTER Méthode de travail Continuer à écrire les scripts dans le fichier de l exercice précédent. Les requêtes 11. Recharger une BD propre : le script corrigé du TP Dans une nouvelle BD, la BD «exotest», Créer une table «empcomplet» avec tous les tuples qui contiennent tous les employés avec toutes les infos sur leurs départements et sur leur chef.. On n aura par contre pas d information sur le département du chef et sur le chef du chef. 13. Ajouter les contraintes d intégrité. 14. Le département de DALLAS a été déplacé à SAN FRANCISCO. Faites la mise à jour de la BD. 15. BLAKE (7698) s appelle désormais MORTIMER. Changer son nom. 16. Reconstituer les deux tables des employés et des départements. 17. Ajouter les contraintes d intégrité. 18. Supprimer la table «empcomplet» Exercice 4 : Exporter - Importer Méthode de travail Continuer à écrire les scripts dans le fichier de l exercice précédent. Les requêtes 19. Recharger une BD propre : le script corrigé du TP Exporter les données correspondant à la requête : «tous les employés avec leur job, le numéro de leur département et la ville de leur département.» dans un fichier «eox4.csv dont les champs seront séparés par des virgules. Le fichier doit se trouver dans le répertoire des données de la BD. 21. Ouvrer ce fichier avec un éditeur de texte (bloc-note) puis avec un tableur (excel). 22. Créer une nouvelle BD appelée : test. 23. Dans la BD test, créer une table sans tuples dont les champs correspondent aux champs de la requête de l exercice précédent. 24. Importer les données du fichier exo4.csv, en le laissant dans son répertoire, dans la table que vous venez de créer. BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 25/26 - Bertrand LIAUDET

26 Exercice 5 : passage de InnoDB à MyISAM et retour en InnoDB Méthode de travail Continuer à écrire les scripts dans le fichier de l exercice précédent. Les requêtes 25. Recharger une BD propre : le script corrigé du TP Faites passer dynamiquement (via des ALTER TABLE) la BD empdept créée en InnoDB en MyISAM. Ecrire le script correspondant à toutes les étapes à franchir. 27. Refaire passer la BD en InnoDB et ajouter les clés étrangères. Ecrire le script correspondant. BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 26/26 - Bertrand LIAUDET

Olivier Mondet http://unidentified-one.net

Olivier Mondet http://unidentified-one.net T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage

Plus en détail

Bases de Données relationnelles et leurs systèmes de Gestion

Bases de Données relationnelles et leurs systèmes de Gestion III.1- Définition de schémas Bases de Données relationnelles et leurs systèmes de Gestion RAPPELS Contraintes d intégrité sous Oracle Notion de vue Typage des attributs Contrainte d intégrité Intra-relation

Plus en détail

Création et Gestion des tables

Création et Gestion des tables Création et Gestion des tables Version 1.0 Z Grégory CASANOVA 2 Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les tables... 5 3.1 Les types de données... 5 3.1.1 Les types de données Sql Server... 5

Plus en détail

Le Langage De Description De Données(LDD)

Le Langage De Description De Données(LDD) Base de données Le Langage De Description De Données(LDD) Créer des tables Décrire les différents types de données utilisables pour les définitions de colonne Modifier la définition des tables Supprimer,

Plus en détail

Pour les débutants. langage de définition des données

Pour les débutants. langage de définition des données Pour les débutants SQL : langage de définition des données Les bases de données sont très utilisées dans les applications Web. La création, l interrogation et la manipulation des données de la base sont

Plus en détail

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Le langage SQL pour Oracle - partie 1 : SQL comme LDD Le langage SQL pour Oracle - partie 1 : SQL comme LDD 1 SQL : Introduction SQL : Structured Query Langage langage de gestion de bases de donn ees relationnelles pour Définir les données (LDD) interroger

Plus en détail

TP Contraintes - Triggers

TP Contraintes - Triggers TP Contraintes - Triggers 1. Préambule Oracle est accessible sur le serveur Venus et vous êtes autorisés à accéder à une instance licence. Vous utiliserez l interface d accés SQL*Plus qui permet l exécution

Plus en détail

PHP 5. La base de données MySql. A. Belaïd 1

PHP 5. La base de données MySql. A. Belaïd 1 PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple

Plus en détail

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5 1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases

Plus en détail

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

Bases de données relationnelles

Bases de données relationnelles Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses

Plus en détail

I. MySQL : Serveur et SGBD

I. MySQL : Serveur et SGBD Le Système de Gestion de Base de Données MySQL I. MySQL : Serveur et SGBD Menu I. MySQL : Serveur et SGBG II. Création d'une base de données avec MySQL MySQL est un système de gestion et conception de

Plus en détail

Système de Gestion de Bases de Données Relationnelles. MySQL. Youssef CHAHIR

Système de Gestion de Bases de Données Relationnelles. MySQL. Youssef CHAHIR Système de Gestion de Bases de Données Relationnelles MySQL Youssef CHAHIR 1 PLAN Introduction Démarrer MySQL Syntaxe de MySQL Types des attributs Identificateurs Effectuer des requêtes Fonctions de MySQL

Plus en détail

WEB DEVELOPER SGBD SYSTEME DE GESTION DE BASES DE DONNEES L étudiant sera capable :

WEB DEVELOPER SGBD SYSTEME DE GESTION DE BASES DE DONNEES L étudiant sera capable : BES WEBDEVELOPER - SYSTEME DE GESTION DE BASES DE DONNEES - 5XBDR-1 1 WEB DEVELOPER SGBD SYSTEME DE GESTION DE BASES DE DONNEES L étudiant sera capable : dans le cadre de mise en situations simples et

Plus en détail

SQL Historique 1982 1986 1992

SQL Historique 1982 1986 1992 SQL Historique 1950-1960: gestion par simple fichier texte 1960: COBOL (début de notion de base de données) 1968: premier produit de sgbdr structuré (IBM -> IDMS) 1970-74: élaboration de l'outil d'analyse

Plus en détail

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

Plus en détail

Langage SQL : créer et interroger une base

Langage SQL : créer et interroger une base Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,

Plus en détail

Historisation des données

Historisation des données Historisation des données Partie 1 : mode colonne par Frédéric Brouard, alias SQLpro MVP SQL Server Expert langage SQL, SGBDR, modélisation de données Auteur de : SQLpro http://sqlpro.developpez.com/ "SQL",

Plus en détail

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de

Plus en détail

Le langage SQL (première partie) c Olivier Caron

Le langage SQL (première partie) c Olivier Caron Le langage SQL (première partie) 1 Plan Le S.G.B.D. postgres Le langage SQL Langage de manipulation de données Langage de requêtes 2 Quelques mots sur Postgres (1/2) Travaux de Stonebraker (Univ. Berkeley)

Plus en détail

TP3 : Creation de tables 1 seance

TP3 : Creation de tables 1 seance Universite de Versailles IUT de Velizy - Algorithmique 2005/2006 TP3 : Creation de tables 1 seance Objectif : Creation et modication de tables dans une base de donnees. Avant de commencer ce TP, terminer

Plus en détail

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013 NFA 008 Introduction à NoSQL et MongoDB 25/05/2013 1 NoSQL, c'est à dire? Les bases de données NoSQL restent des bases de données mais on met l'accent sur L'aspect NON-relationnel L'architecture distribuée

Plus en détail

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL) Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL) Un modèle de données définit un mode de représentation de l information selon trois composantes : 1. Des structures de données. 2. Des contraintes qui permettent

Plus en détail

Les BASES de DONNEES dans WampServer

Les BASES de DONNEES dans WampServer Les BASES de DONNEES dans WampServer 1 Définitions Générales Une base de données (BDD) permet d'enregistrer, de stocker, de ranger des données de façon organisée et hiérarchisée. SQL est le langage qui

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

Le Langage SQL version Oracle

Le Langage SQL version Oracle Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI anis.bach@isg.rnu.tn

Plus en détail

Cours: Administration d'une Base de Données

Cours: Administration d'une Base de Données Bases de Données Avancées Module A IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Cours: Administration d'une Base de Données Table of Contents Principes...1 Structure d'un Base de Données...1 Architecture...1

Plus en détail

1. Base de données SQLite

1. Base de données SQLite Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis

Plus en détail

Intégrité des données

Intégrité des données . Contraintes d intégrité : Définition et objectif Intégrité des données Définition des contraintes Vérification des contraintes Contrainte d'intégrité : propriété sémantique que doivent respecter les

Plus en détail

Bases de données et sites WEB

Bases de données et sites WEB Bases de données et sites WEB Cours2 : Sécurité et contrôles d accès Anne Doucet 1 Authentification Autorisation Privilèges Rôles Profils Limitations de ressources Plan Audit Contrôle d accès via les vues

Plus en détail

SQL sous SqlServer OLIVIER D. DEHECQ Olivier http://www.entraide-info.fr 0

SQL sous SqlServer OLIVIER D. DEHECQ Olivier http://www.entraide-info.fr 0 2013 SQL sous SqlServer OLIVIER D. DEHECQ Olivier http://www.entraide-info.fr 0 Table des matières Signalétique... 2 1 Les bases du SQL... 3 2 SQL server... 6 2 Références des exercices...21 DEHECQ Olivier

Plus en détail

1/ Présentation de SQL Server :

1/ Présentation de SQL Server : Chapitre II I Vue d ensemble de Microsoft SQL Server Chapitre I : Vue d ensemble de Microsoft SQL Server Module: SQL server Semestre 3 Année: 2010/2011 Sommaire 1/ Présentation de SQL Server 2/ Architerture

Plus en détail

Introduction au Système de Gestion de Base de Données et aux Base de Données

Introduction au Système de Gestion de Base de Données et aux Base de Données Introduction au Système de Gestion de Base de Données et aux Base de Données Formation «Gestion des données scientifiques : stockage et consultation en utilisant des bases de données» 24 au 27 /06/08 Dernière

Plus en détail

Auto-évaluation Oracle: cours de base

Auto-évaluation Oracle: cours de base Auto-évaluation Oracle: cours de base Document: F0475Test.fm 14/01/2008 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION ORACLE: COURS DE

Plus en détail

Modélisation et Gestion des bases de données avec mysql workbench

Modélisation et Gestion des bases de données avec mysql workbench Modélisation et Gestion des bases de données avec mysql workbench par novembre 2011 Table des matières 1 Installation 3 1.1 Ecran de chargement 3 1.2 Page d accueil 3 2 Réalisation d une base de données

Plus en détail

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD Plan Bases de Données L3 Info Céline Rouveirol 2010-2011 Bases de Données 1 / 77 Sources des transparents Bases de Données 2 / 77 Bases de SQL - M.P. Dorville/F. Goasdoué, LRI, Université Paris Sud - V.

Plus en détail

I4 : Bases de Données

I4 : Bases de Données I4 : Bases de Données Passage de UML au modèle relationnel Georges LOUIS Département Réseaux et Télécommunications Université de La Rochelle Module I4 2008-2009 1 G.Louis Sommaire 1 Des classes aux tables

Plus en détail

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 ORACLE 10G DISTRIBUTION ET REPLICATION Distribution de données avec Oracle G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 1 Plan 12. Distribution de données 12.1 Génération des architectures C/S et Oracle

Plus en détail

Intégrité sémantique dans les bases de données relationnelles

Intégrité sémantique dans les bases de données relationnelles Intégrité sémantique dans les bases de données relationnelles 1 - Intégrité sémantique Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU Ecole Polytechnique Universitaire de Marseille Fev. 2013

Plus en détail

ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL

ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL Jean-Marie Pécatte jean-marie.pecatte@iut-tlse3.fr 16 novembre 2006 ISIS - Jean-Marie PECATTE 1 Valeur de clé

Plus en détail

Initiation à SQL. Le langage de communication avec une base de données relationnelles. Application avec PostgreSQL. Nathalie Camelin 2011/2012

Initiation à SQL. Le langage de communication avec une base de données relationnelles. Application avec PostgreSQL. Nathalie Camelin 2011/2012 Initiation à SQL Le langage de communication avec une base de données relationnelles Application avec PostgreSQL Nathalie Camelin 2011/2012 Université du Maine Institut Claude Chappe D'après Levy Estève

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

Compétences Business Objects - 2014

Compétences Business Objects - 2014 Compétences Business Objects - 2014 «Mars-Juin 2014. Réf : Version 1 Page 1 sur 34 Sommaire CONTEXTE DE LA REMISE A NIVEAU EN AUTOFORMATION... 3 1. MODELISATION... 4 1.1 DESCRIPTION FONCTIONNEL DE L'APPLICATION

Plus en détail

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin Objectifs : Apprendre à l apprenant à lancer un serveur local «Apache» Apprendre à l'apprenant à lancer un serveur MySQL

Plus en détail

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours 12 : Concurrence d accès Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Accès concurrents Définitions Verrous Collisions Niveaux de cohérence Blocage

Plus en détail

www.evogue.fr SUPPORT DE COURS / PHP PARTIE 3

www.evogue.fr SUPPORT DE COURS / PHP PARTIE 3 L i a m T A R D I E U www.evogue.fr SUPPORT DE COURS / PHP PARTIE 3 Sommaire Sommaire... 2 Eléments initiaux... 3 Base de données... 3 Tables... 4 membres... 4 commandes... 4 articles... 4 details_commandes...

Plus en détail

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)

Plus en détail

Bible MySQL! La première version de MySQL est apparue en 1995. Cette première version est créée pour un usage personnel à partir de msql.

Bible MySQL! La première version de MySQL est apparue en 1995. Cette première version est créée pour un usage personnel à partir de msql. Bible MySQL! Bref historique de MySQL 1. MySQL MySQL est le Système de Gestion de Base de Données Relationnelle (SGBDR) Open Source le plus répandu dans le monde. Il est développé par MySQL AB, une entreprise

Plus en détail

Bases de données relationnelles & SQL

Bases de données relationnelles & SQL Bases de données relationnelles & SQL Objectifs Appréhender les concepts du modèle relationnel. Etre capable de concevoir un schéma relationnel. Etre capable de créer une base de données relationnelle

Plus en détail

Gestion des transactions et accès concurrents dans les bases de données relationnelles

Gestion des transactions et accès concurrents dans les bases de données relationnelles Gestion des transactions et accès concurrents dans les bases de données relationnelles Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Fev.

Plus en détail

Partie 0 : Gestion des tablespace et des utilisateurs... 3

Partie 0 : Gestion des tablespace et des utilisateurs... 3 Sommaire Partie 0 : Gestion des tablespace et des utilisateurs... 3 1- Créer deux TableSpaces votre_nom-tbs et Votre_nom-TempTBS :... 3 2. Créer un utilisateur qui porte votre nom :... 3 3. Attribuer à

Plus en détail

Ecole Industrielle et Commerciale de la ville de Namur. Structure et application des bases de données. Y. Mine

Ecole Industrielle et Commerciale de la ville de Namur. Structure et application des bases de données. Y. Mine Ecole Industrielle et Commerciale de la ville de Namur Structure et application des bases de données 2è graduat en informatique et systèmes * technologie de l information 2008 2009 Y. Mine Table des matières

Plus en détail

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Contenu de ce cours : 1. Stockage de données. Supports, fonctionnement d un disque, technologie RAID 2. Organisation

Plus en détail

A QUOI SERVENT LES BASES DE DONNÉES?

A QUOI SERVENT LES BASES DE DONNÉES? BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès

Plus en détail

Introduction aux Bases de Données 2004/2005

Introduction aux Bases de Données 2004/2005 Introduction aux Bases de Données 2004/2005 Chapitre 6: Le langage SQL Ecole Nationale Supérieur de Physique de Strasbourg Christian Wolf christian.wolf@ensps.u-strasbg.fr 6.1 Stockage physique Film numfil

Plus en détail

Optimisations des SGBDR. Étude de cas : MySQL

Optimisations des SGBDR. Étude de cas : MySQL Optimisations des SGBDR Étude de cas : MySQL Introduction Pourquoi optimiser son application? Introduction Pourquoi optimiser son application? 1. Gestion de gros volumes de données 2. Application critique

Plus en détail

Gestion de base de données

Gestion de base de données Université Libre de Bruxelles Faculté de Philosophie et Lettres Département des Sciences de l Information et de la Communication Gestion de base de données Projet : Take Off ASBL Cours de M. A. Clève STIC-B-505

Plus en détail

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications P.-A. Sunier, HEG-Arc Neuchâtel avec le concours de J. Greub pierre-andre.sunier@he-arc.ch http://lgl.isnetne.ch/

Plus en détail

Objectifs du TP : Initiation à Access

Objectifs du TP : Initiation à Access Objectifs du TP : Initiation à Access I. Introduction Microsoft Access fait partie de l ensemble Microsoft Office. C est un SGBDR (système de gestion de bases de données relationnelles) présentant une

Plus en détail

Bases de données élémentaires Maude Manouvrier

Bases de données élémentaires Maude Manouvrier Licence MI2E- 1ère année Outils en Informatique Bases de données élémentaires Maude Manouvrier Définitions générales et positionnement du cours dans la formation Vocabulaire relatif aux bases de données

Plus en détail

Notes de cours : bases de données distribuées et repliquées

Notes de cours : bases de données distribuées et repliquées Notes de cours : bases de données distribuées et repliquées Loïc Paulevé, Nassim Hadj-Rabia (2009), Pierre Levasseur (2008) Licence professionnelle SIL de Nantes, 2009, version 1 Ces notes ont été élaborées

Plus en détail

UML et les Bases de Données

UML et les Bases de Données CNAM UML et les Bases de Données UML et les Bases de Données. Diagramme de classes / diagramme d objets (UML)...2.. Premier niveau de modélisation des données d une application...2.2. Les éléments de modélisation...2.2..

Plus en détail

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées ANNEE 2014 / 2015 Désignation de l enseignement : Bases de données Nom du document : TP SQL sous PostgreSQL Rédacteur :

Plus en détail

Gestion des utilisateurs et de leurs droits

Gestion des utilisateurs et de leurs droits Gestion des utilisateurs et de leurs droits Chap. 12, page 323 à 360 Lors de la création d'un utilisateur vous devez indiquer son nom, ses attributs, son profil, la méthode d'authentification (par le SE

Plus en détail

Bases de données et sites WEB Licence d informatique LI345

Bases de données et sites WEB Licence d informatique LI345 Bases de données et sites WEB Licence d informatique LI345 Anne Doucet Anne.Doucet@lip6.fr http://www-bd.lip6.fr/ens/li345-2013/index.php/lescours 1 Contenu Transactions en pratique Modèle relationnel-objet

Plus en détail

Les bases de données

Les bases de données Les bases de données Introduction aux fonctions de tableur et logiciels ou langages spécialisés (MS-Access, Base, SQL ) Yves Roggeman Boulevard du Triomphe CP 212 B-1050 Bruxelles (Belgium) Idée intuitive

Plus en détail

Support de cours. Introduction à SQL et MySQL. 2003, Sébastien Namèche (sebastien@nameche.fr)

Support de cours. Introduction à SQL et MySQL. 2003, Sébastien Namèche (sebastien@nameche.fr) Support de cours Introduction à SQL et MySQL 2003, Sébastien Namèche (sebastien@nameche.fr) Licence de Libre Diffusion des Documents -- LLDD version 1 (Par Bernard Lang, http://pauillac.inria.fr/~lang/licence/lldd.html)

Plus en détail

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS) PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et

Plus en détail

FileMaker 13. Guide de référence SQL

FileMaker 13. Guide de référence SQL FileMaker 13 Guide de référence SQL 2013 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et Bento sont des marques commerciales de

Plus en détail

Devoir Data WareHouse

Devoir Data WareHouse Université Paris XIII Institut Galilée Master 2-EID BENSI Ahmed CHARIFOU Evelyne Devoir Data WareHouse Optimisation, Transformation et Mise à jour utilisées par un ETL Mr R. NEFOUSSI Année 2007-2008 FICHE

Plus en détail

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes. Les Triggers SQL Didier DONSEZ Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.fr 1 Sommaire Motivations Trigger Ordre Trigger Ligne Condition Trigger

Plus en détail

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours Bilan : Des vues à PL/SQL corrigé Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Cas exemple 2 Les tables... 3 Vues et index 4 Privilèges 5 Fonctions

Plus en détail

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles) SGBDR Systèmes de Gestion de Bases de Données (Relationnelles) Plan Approches Les tâches du SGBD Les transactions Approche 1 Systèmes traditionnels basés sur des fichiers Application 1 Gestion clients

Plus en détail

MySQL / SQL EXEMPLES

MySQL / SQL EXEMPLES MySQL_exemples_janv04_mpT EXEMPLES 1 MySQL / SQL EXEMPLES Typologie du langage Il est possible d'inclure des requêtes SQL dans un programme écrit dans un autre langage (en langage C par exemple), ainsi

Plus en détail

Stockage du fichier dans une table mysql:

Stockage du fichier dans une table mysql: Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

Introduction à MySQL (ou MySQL en 3 heures montre en main)

Introduction à MySQL (ou MySQL en 3 heures montre en main) Contexte MySQL Introduction à MySQL (ou MySQL en 3 heures montre en main) Guillaume Allègre Guillaume.Allegre@silecs.info INP Grenoble - Formation Continue 2012 Contexte MySQL LAMP LAMP - contexte et architecture

Plus en détail

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble. Gaëlle PERRIN SID2 Grenoble Le 10/04/2014 Base de Données (BD) : une grande quantité de données, centralisées ou non, servant pour les besoins d'une ou plusieurs applications, interrogeables et modifiables

Plus en détail

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres. INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES Durée : 1h30 Date : 17/05/2006 Coordonnateurs : Amel Bouzeghoub et Bruno Defude Documents autorisés : ceux distribués en cours Avertissements

Plus en détail

Le langage SQL Rappels

Le langage SQL Rappels Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,

Plus en détail

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Cours Internet et Outils: [1/12] Intro, Internet, Web, XHTML (2H) [2/12] XHTML(2H) [3/12]

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214

PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 PHP Bertrand Estellon Aix-Marseille Université 26 avril 2012 Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 SQLite et PDO Base de données SQLite et PDO SQLite écrit les données relatives à la base dans

Plus en détail

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ; RÈGLES A SUIVRE POUR OPTIMISER LES REQUÊTES SQL Le but de ce rapport est d énumérer quelques règles pratiques à appliquer dans l élaboration des requêtes. Il permettra de comprendre pourquoi certaines

Plus en détail

Optimisation de MySQL

Optimisation de MySQL Olivier DASINI Optimisation de MySQL http://dasini.net/blog/ 1 Votre conférencier Olivier DASINI Formateur certifié MySQL Consultant technologies Open Sources olivier@dasini.net 2 Au programme... Introduction

Plus en détail

Pratique et administration des systèmes

Pratique et administration des systèmes Université Louis Pasteur Licence Informatique (L2) UFR de Mathématiques et Informatique Année 2007/2008 1 But du TP Pratique et administration des systèmes TP10 : Technologie LAMP Le but de ce TP est de

Plus en détail

Partie II Cours 3 (suite) : Sécurité de bases de données

Partie II Cours 3 (suite) : Sécurité de bases de données Partie II Cours 3 (suite) : Sécurité de bases de données ESIL Université de la méditerranée Odile.Papini@esil.univ-mrs.fr http://odile.papini.perso.esil.univmed.fr/sources/ssi.html Plan du cours 1 Introduction

Plus en détail

A QUOI SERVENT LES BASES DE DONNÉES?

A QUOI SERVENT LES BASES DE DONNÉES? BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès

Plus en détail

1 Position du problème

1 Position du problème Licence Science et Technologies - INF245 Examen session 1 - mai 2012 Durée : 2 heures Documents non autorisés Le barème est donné à titre indicatif 1 Position du problème Le Club Universitaire de Vélo

Plus en détail

Installation d'un serveur FTP géré par une base de données MySQL

Installation d'un serveur FTP géré par une base de données MySQL BTS INFORMATIQUE DE GESTION Option Administrateur de réseaux développement d applications COMPTE-RENDU D ACTIVITE ACTIVITE N 2 Nom et Prénom : Casanova Grégory Identification (objectif) de l activité Installation

Plus en détail

Structure fonctionnelle d un SGBD

Structure fonctionnelle d un SGBD Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert

Plus en détail

1 Introduction et installation

1 Introduction et installation TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on

Plus en détail

PHP 4 PARTIE : BASE DE DONNEES

PHP 4 PARTIE : BASE DE DONNEES PHP 4 PARTIE : BASE DE DONNEES 1. Introduction 2. Présentation de MySQL 3. Principe 4. Connexion 5. Interrogation 6. Extraction des données 7. Fonctions de services 8. Traitement des erreurs 9. Travaux

Plus en détail

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP) Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP) Définition (G. Gardarin) Entrepôt : ensemble de données historisées variant

Plus en détail

Développement de base de données Microsoft SQL Server 2012. Durée : 5 jours Référence : DPSQL12. Contenu

Développement de base de données Microsoft SQL Server 2012. Durée : 5 jours Référence : DPSQL12. Contenu Développement de base de données Microsoft SQL Server 2012 Durée : 5 jours Référence : DPSQL12 Cette formation permet aux participants de maîtriser les fonctionnalités de Microsoft SQL Server 2012 telles

Plus en détail

Construction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création

Construction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création Construction d un EDD avec SQL 2008 R2 Plan Analyse du DW construit Construction de la base DW dans SQL 2008 Construction des tables de faits et dimensions Injection des données Étapes de l injection des

Plus en détail

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12 Table des matières Les Triggers... 2 Syntaxe... 2 Explications... 2 Les évènements déclencheurs des triggers... 3 Les modes de comportements des triggers... 4 Les pseudo tables... 5 Exemple... 6 Les procédures

Plus en détail

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs, relations,

Plus en détail