-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathPart_1_Creation.sql
More file actions
107 lines (95 loc) · 2.45 KB
/
Part_1_Creation.sql
File metadata and controls
107 lines (95 loc) · 2.45 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
CREATE TABLE Theater_Company(
company_id INT,
company_name VARCHAR(50),
revenues INT,
expenditures INT,
PRIMARY KEY(company_id)
);
CREATE TABLE Theater_room(
hall_id INT,
room_name VARCHAR(50),
capacite INT,
localisation VARCHAR(50),
company_id INT NOT NULL,
PRIMARY KEY(hall_id),
UNIQUE(company_id),
FOREIGN KEY(company_id) REFERENCES Theater_Company(company_id)
);
CREATE TABLE Show(
show_id INT,
production_costs DECIMAL(15,2),
nb_actors INT,
capacity_tickets_available INT,
PRIMARY KEY(show_id)
);
CREATE TABLE Production(
production_id INT,
prod_description VARCHAR(50),
company_id INT NOT NULL,
PRIMARY KEY(production_id),
FOREIGN KEY(company_id) REFERENCES Theater_Company(company_id)
);
CREATE TABLE Ticket(
pricing_id INT,
price DECIMAL(15,2),
PRIMARY KEY(pricing_id)
);
CREATE TABLE Discount(
discount_id INT,
discount_rate DECIMAL(15,2),
PRIMARY KEY(discount_id)
);
CREATE TABLE Agency(
agency_id INT,
agency_name VARCHAR(50),
nature VARCHAR(50),
PRIMARY KEY(agency_id)
);
CREATE TABLE Customer(
customer_id INT,
customer_name VARCHAR(50),
social_state VARCHAR(50),
PRIMARY KEY(customer_id)
);
CREATE TABLE sells(
show_id INT,
pricing_id INT,
PRIMARY KEY(show_id, pricing_id),
FOREIGN KEY(show_id) REFERENCES Show(show_id),
FOREIGN KEY(pricing_id) REFERENCES Ticket(pricing_id)
);
CREATE TABLE performs(
hall_id INT,
show_id INT,
production_id INT,
date_show DATE,
PRIMARY KEY(hall_id, show_id, production_id),
FOREIGN KEY(hall_id) REFERENCES Theater_room(hall_id),
FOREIGN KEY(show_id) REFERENCES Show(show_id),
FOREIGN KEY(production_id) REFERENCES Production(production_id)
);
CREATE TABLE grants(
company_id INT,
agency_id INT,
subsidies DECIMAL(15,2),
begin_date DATE,
end_date DATE,
PRIMARY KEY(company_id, agency_id),
FOREIGN KEY(company_id) REFERENCES Theater_Company(company_id),
FOREIGN KEY(agency_id) REFERENCES Agency(agency_id)
);
CREATE TABLE proposes(
pricing_id INT,
discount_id INT,
PRIMARY KEY(pricing_id, discount_id),
FOREIGN KEY(pricing_id) REFERENCES Ticket(pricing_id),
FOREIGN KEY(discount_id) REFERENCES Discount(discount_id)
);
CREATE TABLE paies(
pricing_id INT,
customer_id INT,
payment_date DATE,
PRIMARY KEY(pricing_id, customer_id),
FOREIGN KEY(pricing_id) REFERENCES Ticket(pricing_id),
FOREIGN KEY(customer_id) REFERENCES Customer(customer_id)
);