Source:
https://a-vimory.developpez.com/tutoriels/sql-server-2008-films/
Prérequis:
Disposer de :
- EcomBox avec mcr.microsoft.com/mssql/server:2017-latest démarré
- Microsoft SQL Server Management Studio connecté
Création de la base de données
Suivre la procédure du site du dessus. A la fin vous devez avoir ceci dans l'explorateur d'objets:
Création des tables avec une requête
(C'est le but de cet article, la création avec des requêtes)
Contenu de la requête:
CREATE TABLE realisateur
(
id_realisateur INT PRIMARY KEY NOT NULL,
nom VARCHAR(50),
prenom VARCHAR(50),
)
CREATE TABLE film
(
id_film INT PRIMARY KEY NOT NULL,
id_realisateur INT NOT NULL,
id_genre INT NOT NULL,
titre VARCHAR(50),
)
CREATE TABLE genre
(
id_genre INT PRIMARY KEY NOT NULL,
genre VARCHAR(50),
)
Résultat
Création des relations entre tables avec une requête
Objectif:
Créer les relations ad hoc des tables genre et realisateur (référence clef primaire) vers la table film (clefs étrangères FOREIGN KEY (id_realisateur) et FOREIGN KEY (id_genre) )
Contenu de la requête :
ALTER TABLE film
ADD CONSTRAINT FK_film_realisateur FOREIGN KEY (id_realisateur)
REFERENCES realisateur (id_realisateur)
ON DELETE CASCADE
ON UPDATE CASCADE
;
ALTER TABLE film
ADD CONSTRAINT FK_film_genre FOREIGN KEY (id_genre)
REFERENCES genre (id_genre)
ON DELETE CASCADE
ON UPDATE CASCADE
;
Résultat
Après exécution, vous obtenez les clefs étrangères (FK):
Insertion des données
Contenu de la requête
INSERT INTO genre (id_genre, genre)
VALUES
(1,'Action'),
(2,'Comédie'),
(3,'Romantique'),
(4,'Dramatique');
INSERT INTO realisateur (id_realisateur, nom,prenom)
VALUES
(1,'Spielberg','Steven'),
(2,'Woo','John'),
(3,'Scott','Ridley'),
(4,'Fuqua','Antoine'),
(5,'Mc Tiernan','John'),
(6,'De Palma','Brian'),
(7,'Abrams','Jeffrey Jacob'),
(8,'Whitesell','John'),
(9,'Jaoui','Agnès'),
(10,'Fridberg','Rick'),
(11,'Dugan','Denis'),
(12,'Segal','Peter'),
(13,'Shadyac','Tom'),
(14,'Stiller','Ben'),
(15,'Tennant','Andy'),
(16,'Wright','Joe'),
(17,'Rosman','Mark'),
(18,'Mc Namara','Sean'),
(19,'Greene','David'),
(20,'Turteltaub','John'),
(21,'Chadwick','Justin'),
(22,'Muccino','Gabriele');
INSERT INTO film (id_film,id_realisateur,id_genre, titre)
VALUES
(1,3,1,'Gladiator'),
(2,4,1,'Le roi Arthur'),
(3,15,3,'A tout jamais'),
(4,19,4,'Rendez moi mes enfants'),
(5,22,4,'A la recherche du bonheur'),
(6,3,1,'La chute du faucon noir'),
(7,8,2,'Big Mamma 2'),
(8,11,2,'Quand Chuck rencontre Larry'),
(9,14,2,'Disjoncté'),
(10,6,1,'Mission impossible 1'),
(11,2,1,'Mission impossible 2'),
(12,7,1,'Mission impossible 3'),
(13,16,3,'Orgueil et préjugés'),
(14,20,4,'Phénomène'),
(15,10,2,'Agent zéro zéro'),
(16,13,2,'Menteur menteur'),
(17,1,1,'Les dents de la mer'),
(18,2,1,'Chasse à l''homme'),
(19,18,3,'Trouve ta voix'),
(20,1,1,'Il faut sauver le soldat Rayan'),
(21,17,3,'Comme Cendrillon'),
(22,9,2,'Parlez moi de la pluie'),
(23,5,1,'Le 13ème guerrier'),
(24,21,4,'Deux soeurs pour un roi'),
(25,12,2,'Mi-temps au mitard'),
(26,2,1,'Les messagers du vent'),
(27,17,3,'L''homme parfait'),
(28,1,1,'Jurassic Park');
Résultat
Exemples de requêtes
Objectif
Trouver les films de John Woo. Etape 1: Trouver la clef primaire de ce réalisateur dans la table réalisateur. Etape 2: Lister les films de ce réalisateur de la table film.
Requête 1
SELECT * FROM [Realisateur] WHERE [nom]= 'Woo'
Aucun commentaire:
Enregistrer un commentaire
Tout commentaire nous engage ;)