1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| #
# Commandes de création de la base
#
# Pour se connecter toujours à la bonne base
USE Films;
DROP TABLE IF EXISTS Film;
DROP TABLE IF EXISTS Artiste;
DROP TABLE IF EXISTS Notation;
DROP TABLE IF EXISTS Internaute;
DROP TABLE IF EXISTS Pays;
DROP TABLE IF EXISTS Role;
# Création des tables
CREATE TABLE Internaute (email VARCHAR (40) NOT NULL,
nom VARCHAR (30) NOT NULL ,
prenom VARCHAR (30) NOT NULL,
motDePasse VARCHAR (32) NOT NULL,
anneeNaiss INTEGER,
PRIMARY KEY (email));
CREATE TABLE Pays (code VARCHAR(4) NOT NULL,
nom VARCHAR (30) DEFAULT 'Inconnu' NOT NULL,
langue VARCHAR (30) NOT NULL,
PRIMARY KEY (code));
CREATE TABLE Artiste (id INTEGER AUTO_INCREMENT NOT NULL,
nom VARCHAR (30) NOT NULL,
prenom VARCHAR (30) NOT NULL,
anneeNaiss INTEGER,
PRIMARY KEY (id),
UNIQUE (nom, prenom));
CREATE TABLE Film (titre VARCHAR (50) NOT NULL,
annee INTEGER NOT NULL,
idMES INTEGER,
genre ENUM ('Histoire', 'Drame',
'Suspense', 'Catastrophe',
'Policier', 'Thriller', 'Aventures',
'Science-fiction', 'Comédie',
'Comédie dramatique',
'Comédie sentimentale',
'Fantastique', 'Horreur',
'Action', 'Guerre',
'Dessin animé', 'Documentaire',
'Western') NOT NULL,
resume TEXT,
codePays VARCHAR (4),
PRIMARY KEY (titre),
FOREIGN KEY (idMES) REFERENCES Artiste,
FOREIGN KEY (codePays) REFERENCES Pays);
CREATE TABLE Notation (titre VARCHAR (50) NOT NULL,
email VARCHAR (40) NOT NULL,
note INTEGER NOT NULL,
PRIMARY KEY (titre, email),
FOREIGN KEY (titre) REFERENCES Film,
FOREIGN KEY (email) REFERENCES Internaute);
CREATE TABLE Role (titre VARCHAR (50) NOT NULL,
idActeur INTEGER NOT NULL,
nomRole VARCHAR(30),
PRIMARY KEY (titre,idActeur),
FOREIGN KEY (titre) REFERENCES Film,
FOREIGN KEY (idActeur) REFERENCES Artiste);
# On quitte mysql
exit |
Partager