-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCreate_Tables.sql
More file actions
117 lines (105 loc) · 2.74 KB
/
Create_Tables.sql
File metadata and controls
117 lines (105 loc) · 2.74 KB
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
DROP TABLE Film_Acteur;
DROP TABLE Emprunte;
DROP TABLE Dvd;
DROP TABLE Adresse;
DROP TABLE Facture;
DROP TABLE Clients;
DROP TABLE Film;
DROP TABLE Genre;
DROP TABLE Realisateur;
DROP TABLE Acteur;
DROP TABLE Boutique;
DROP TABLE Caution;
CREATE TABLE Caution(
nbDvd INTEGER NOT NULL,
caution INTEGER NOT NULL,
PRIMARY KEY (nbDvd)
);
CREATE TABLE Boutique(
idBoutique varchar(255) NOT NULL,
telephone varchar(255)NOT NULL,
PRIMARY KEY (idboutique)
);
CREATE TABLE Acteur(
idActeur varchar(255) NOT NULL,
nom varchar(255) NOT NULL,
prenom varchar(255) NOT NULL,
PRIMARY KEY (idActeur)
);
CREATE TABLE Realisateur(
idRealisateur varchar(255) NOT NULL,
nom varchar(255) NOT NULL,
prenom varchar(255) NOT NULL,
PRIMARY KEY (idRealisateur)
);
CREATE TABLE Genre(
genre varchar(255) NOT NULL,
publique varchar(255) NOT NULL,
PRIMARY KEY (genre)
);
CREATE TABLE Film(
nom varchar(255) NOT NULL,
duree INTEGER NOT NULL,
genre varchar(255) NOT NULL,
idRealisateur varchar(255) NOT NULL,
PRIMARY KEY (nom),
FOREIGN KEY(genre) REFERENCES Genre,
FOREIGN KEY (idRealisateur) REFERENCES Realisateur
);
CREATE TABLE Clients(
idClient varchar(255) NOT NULL,
nom varchar(255) NOT NULL,
prenom varchar(255) NOT NULL,
telephone varchar(255) NOT NULL,
abonnement INTEGER NOT NULL,
caution INTEGER NOT NULL ,
nbEmprunt INTEGER NOT NULL CHECK (nbEmprunt<=8),
PRIMARY KEY (idClient),
FOREIGN KEY (caution) REFERENCES Caution
);
CREATE TABLE Facture(
idFacture varchar(255) NOT NULL,
dateEmission date NOT NULL,
idClient varchar(255) NOT NULL,
PRIMARY KEY (idFacture),
FOREIGN KEY (idClient) REFERENCES Clients
);
CREATE TABLE Adresse(
noCivil INTEGER NOT NULL,
rue varchar(255) NOT NULL,
ville varchar(255) NOT NULL,
codePostal varchar(255) NOT NULL,
idClient varchar(255),
idBoutique varchar(255),
FOREIGN KEY (idClient) REFERENCES Clients,
FOREIGN KEY (idBoutique) REFERENCES Boutique,
PRIMARY KEY (codePostal)
);
CREATE TABLE Dvd(
idDvd varchar(255) NOT NULL,
nbEmprunte INTEGER DEFAULT 0 NOT NULL,
miseEnService date NOT NULL,
etat varchar(255) NOT NULL,
idBoutique varchar(255) NOT NULL,
nom varchar(255) NOT NULL,
PRIMARY KEY (idDvd),
FOREIGN KEY (idBoutique) REFERENCES Boutique,
FOREIGN KEY (nom) REFERENCES Film
);
CREATE TABLE Emprunte (
note real CHECK (0<=note AND note<=100),
dateRetour date,
dateEmprunt date NOT NULL,
idDvd varchar(255) NOT NULL,
idClient varchar(255) NOT NULL,
FOREIGN KEY (idDvd) REFERENCES Dvd,
FOREIGN KEY (idClient) REFERENCES Clients,
PRIMARY KEY (idDvd, idClient)
);
CREATE TABLE Film_Acteur(
NOM varchar(255) NOT NULL,
idActeur varchar(255) NOT NULL,
FOREIGN KEY (nom) REFERENCES Film,
FOREIGN KEY (idActeur) REFERENCES Acteur,
PRIMARY KEY (nom, idActeur)
);