Partie 6 : Au-delà des tables classiques : vues, tables temporaires et vues
matérialisées
Jusqu'à présent, toutes les manipulations de données s'effectuaient sur des tables. Dans cette partie vous allez découvrir
d'autres objets et concepts permettant de stocker et/ou manipuler des données.
Vues
Les vues sont des objets de la base de données, constitués d'un nom, et d'une requête de sélection.
Une fois qu'une vue est définie, on peut l'utiliser comme on le ferait avec une table ; table qui serait constituée des données
sélectionnées par la requête définissant la vue.
Nous verrons dans ce chapitre :
comment créer, modifier, supprimer une vue ;
à quoi peut servir une vue ;
deux algorithmes différents pouvant être utilisées par les vues ;
comment modifier les données à partir d'une vue.
Etat actuel de la base de données
Note : les tables de test et les procédures stockées ne sont pas reprises.
Secret (cliquez pour afficher)
Code : SQL
SET NAMES utf8;
DROP TABLE IF EXISTS Erreur;
DROP TABLE IF EXISTS Animal_histo;
DROP TABLE IF EXISTS Adoption;
DROP TABLE IF EXISTS Animal;
DROP TABLE IF EXISTS Race;
DROP TABLE IF EXISTS Espece;
DROP TABLE IF EXISTS Client;
CREATE TABLE Client (
id smallint(5) unsigned NOT NULL AUTO_INCREMENT,
nom varchar(100) NOT NULL,
prenom varchar(60) NOT NULL,
adresse varchar(200) DEFAULT NULL,
code_postal varchar(6) DEFAULT NULL,
ville varchar(60) DEFAULT NULL,
pays varchar(60) DEFAULT NULL,
email varbinary(100) DEFAULT NULL,
PRIMARY KEY (id),
UNIQUE KEY ind_uni_email (email)
) ENGINE=InnoDB AUTO_INCREMENT=17;
LOCK TABLES Client WRITE;
INSERT INTO Client VALUES (1,'Dupont','Jean','Rue du Centre, 5','45810','Houtsiplou'
2','35840','Troudumonde','France','marie.boudur@email.com'),(3,'Trachon','Fleur'
(4,'Van
Piperseel','Julien',NULL,NULL,NULL,NULL,'jeanvp@email.com'),(5,'Nouvel','Johan'
(7,'Antoine','Maximilien','Rue Moineau, 123','4580','Trocoul','Belgique','max.antoin
Paolo','Hector',NULL,NULL,NULL,'Suisse','hectordipao@email.com'),(9,'Corduro','Anael
(10,'Faluche','Eline','Avenue circulaire, 7','45870','Garduche','France','elinefaluc
85','1514','Plasse','Suisse','cpenni@email.com'),(12,'Broussaille','Virginie','Rue d
(13,'Durant','Hannah','Rue des Pendus, 66','1514','Plasse','Suisse','hhdurant@email.
1','3250','Belville','Belgique','e.delfour@email.com'),(15,'Kestau','Joel',NULL
Partie 6 : Au-delà des tables classiques : vues, tables temporaires et vues matérialisées
327/414
www.openclassrooms.com
matérialisées
Jusqu'à présent, toutes les manipulations de données s'effectuaient sur des tables. Dans cette partie vous allez découvrir
d'autres objets et concepts permettant de stocker et/ou manipuler des données.
Vues
Les vues sont des objets de la base de données, constitués d'un nom, et d'une requête de sélection.
Une fois qu'une vue est définie, on peut l'utiliser comme on le ferait avec une table ; table qui serait constituée des données
sélectionnées par la requête définissant la vue.
Nous verrons dans ce chapitre :
comment créer, modifier, supprimer une vue ;
à quoi peut servir une vue ;
deux algorithmes différents pouvant être utilisées par les vues ;
comment modifier les données à partir d'une vue.
Etat actuel de la base de données
Note : les tables de test et les procédures stockées ne sont pas reprises.
Secret (cliquez pour afficher)
Code : SQL
SET NAMES utf8;
DROP TABLE IF EXISTS Erreur;
DROP TABLE IF EXISTS Animal_histo;
DROP TABLE IF EXISTS Adoption;
DROP TABLE IF EXISTS Animal;
DROP TABLE IF EXISTS Race;
DROP TABLE IF EXISTS Espece;
DROP TABLE IF EXISTS Client;
CREATE TABLE Client (
id smallint(5) unsigned NOT NULL AUTO_INCREMENT,
nom varchar(100) NOT NULL,
prenom varchar(60) NOT NULL,
adresse varchar(200) DEFAULT NULL,
code_postal varchar(6) DEFAULT NULL,
ville varchar(60) DEFAULT NULL,
pays varchar(60) DEFAULT NULL,
email varbinary(100) DEFAULT NULL,
PRIMARY KEY (id),
UNIQUE KEY ind_uni_email (email)
) ENGINE=InnoDB AUTO_INCREMENT=17;
LOCK TABLES Client WRITE;
INSERT INTO Client VALUES (1,'Dupont','Jean','Rue du Centre, 5','45810','Houtsiplou'
2','35840','Troudumonde','France','marie.boudur@email.com'),(3,'Trachon','Fleur'
(4,'Van
Piperseel','Julien',NULL,NULL,NULL,NULL,'jeanvp@email.com'),(5,'Nouvel','Johan'
(7,'Antoine','Maximilien','Rue Moineau, 123','4580','Trocoul','Belgique','max.antoin
Paolo','Hector',NULL,NULL,NULL,'Suisse','hectordipao@email.com'),(9,'Corduro','Anael
(10,'Faluche','Eline','Avenue circulaire, 7','45870','Garduche','France','elinefaluc
85','1514','Plasse','Suisse','cpenni@email.com'),(12,'Broussaille','Virginie','Rue d
(13,'Durant','Hannah','Rue des Pendus, 66','1514','Plasse','Suisse','hhdurant@email.
1','3250','Belville','Belgique','e.delfour@email.com'),(15,'Kestau','Joel',NULL
Partie 6 : Au-delà des tables classiques : vues, tables temporaires et vues matérialisées
327/414
www.openclassrooms.com
