Repository navigation
Expand file tree
/
Copy pathTheatreDatabaseSQL.sql
More file actions
179 lines (157 loc) · 4.56 KB
/
Copy pathTheatreDatabaseSQL.sql
File metadata and controls
179 lines (157 loc) · 4.56 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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
--Phoenix Theatre Database with some defalut values
----------------------------------------
--The Database with defalut values can--
--be crated by running Execute----------
----------------------------------------
----------------------------------------
--The following drop statements will----
--drop all tables, when run in order----
----------------------------------------
--DROP TABLE InvoiceLineItem;
--DROP TABLE Tickets;
--DROP TABLE CustomerOrder;
--DROP TABLE Customer;
--DROP TABLE Employee;
--DROP TABLE FilmShowings;
--DROP TABLE Theatre;
--DROP TABLE TheatreFilms;
--DROP SCHEMA PhoenixTheatre;
CREATE SCHEMA PhoenixTheatre;
GO
CREATE TABLE Customer
(
CustomerId UNIQUEIDENTIFIER DEFAULT NEWID() PRIMARY KEY,
FirstName NVARCHAR(100) NOT NULL,
LastName NVARCHAR(100) NOT NULL,
Username NVARCHAR(100) NOT NULL UNIQUE,
UserPassword NVARCHAR(200) NOT NULL
);
CREATE TABLE TheatreFilms
(
FilmId INT IDENTITY(1,1) PRIMARY KEY,
FilmName NVARCHAR(200) NOT NULL,
FilmRating NVARCHAR(5) NOT NULL,
Genre NVARCHAR(100) NOT NULL,
FilmDescription NVARCHAR(300) NOT NULL,
FilmDuration INT NOT NULL,
ImageUrl VARCHAR(300) NOT NULL
);
CREATE TABLE Theatre
(
TheatreId INT IDENTITY(1,1) PRIMARY KEY,
TheatreLocation NVARCHAR(100) NOT NULL,
);
CREATE TABLE Employee
(
EmployeeId UNIQUEIDENTIFIER DEFAULT NEWID() PRIMARY KEY,
FirstName NVARCHAR(100) NOT NULL,
LastName NVARCHAR(100) NOT NULL,
Username NVARCHAR(100) NOT NULL UNIQUE,
UserPassword NVARCHAR(200) NOT NULL,
IsManager NVARCHAR(3) NOT NULL,
TheatreId INT FOREIGN KEY REFERENCES Theatre(TheatreId) NOT NULL
);
CREATE TABLE CustomerOrder
(
OrderId UNIQUEIDENTIFIER PRIMARY KEY,
CustomerId UNIQUEIDENTIFIER FOREIGN KEY REFERENCES Customer(CustomerId) NOT NULL,
TheatreId INT FOREIGN KEY REFERENCES Theatre(TheatreId) NOT NULL,
TotalPrice MONEY NOT NULL
);
CREATE TABLE Tickets
(
TicketType NVARCHAR(100) PRIMARY KEY,
TicketPrice MONEY NOT NULL
);
CREATE TABLE InvoiceLineItem
(
InvoiceId INT IDENTITY(1,1) PRIMARY KEY,
OrderId UNIQUEIDENTIFIER FOREIGN KEY REFERENCES CustomerOrder(OrderId) NOT NULL,
TicketType NVARCHAR(100) FOREIGN KEY REFERENCES Tickets(TicketType) NOT NULL,
Quantity INT NOT NULL
);
CREATE TABLE FilmShowings
(
FilmShowingsId INT IDENTITY(1,1) PRIMARY KEY,
TheatreId INT FOREIGN KEY REFERENCES Theatre(TheatreId) NOT NULL,
FilmId INT FOREIGN KEY REFERENCES TheatreFilms(FilmId) NOT NULL,
ShowDate DATE DEFAULT GETDATE() NOT NULL,
Showtime VARCHAR(10) NOT NULL,
TicketsAvailable INT NOT NULL
);
--A default customer
INSERT INTO Customer
(
FirstName,
LastName,
Username,
UserPassword
)
VALUES
('John', 'Doe', 'jdoe','P@ssword!'),
('Melinda', 'Waggoner', 'mwaggoner', 'P@ssword!');
INSERT INTO TheatreFilms
(
FilmName,
FilmRating,
Genre,
FilmDescription,
FilmDuration,
ImageUrl
)
VALUES
('Assassin With Wings', 'PG-13', 'Adventure', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 101, 'https://images.unsplash.com/photo-1643123237307-fbbc66a1a37d?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=928&q=80'),
('Castle Without Hope', 'PG-13', 'Drama', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 120, 'https://images.unsplash.com/photo-1643123237307-fbbc66a1a37d?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=928&q=80'),
('Paladins and Mages', 'PG', 'Fantasy', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 96, 'https://images.unsplash.com/photo-1639485420052-dc3dfe222959?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxzZWFyY2h8OXx8Y2FzbHRlfGVufDB8fDB8fA%3D%3D&auto=format&fit=crop&w=500&q=60');
INSERT INTO Theatre
(
TheatreLocation
)
VALUES
('Phoenix Theatre');
INSERT INTO Employee
(
FirstName,
LastName,
Username,
UserPassword,
IsManager,
TheatreId
)
VALUES
('Jane', 'Doe', 'janed', 'p@ssword1', 'yes', 1),
('Tim', 'Johnson', 'tjohnson', 'p@ssword1', 'no', 1),
('Sam', 'Hall', 'shall', 'p@ssword1', 'no', 1);
INSERT INTO Tickets
(
TicketType,
TicketPrice
)
VALUES
('Children(ages 3-11)', 7.00),
('Adults (ages 12 & up)', 12.00),
('Seniors (ages 60+)', 7.00),
('Military Discount (with valid ID)', 7.75),
('Student Discount (with valid ID)', 9.75);
INSERT INTO FilmShowings
(
TheatreId,
FilmId,
Showtime,
TicketsAvailable
)
VALUES
(1, 1, '12:00pm', 40),
(1, 2, '12:00pm', 40),
(1, 3, '12:00pm', 40),
(1, 1, '1:00pm', 40),
(1, 2, '1:00pm', 40),
(1, 3, '1:00pm', 40);
SELECT * FROM Customer;
SELECT * FROM TheatreFilms;
SELECT * FROM Theatre;
SELECT * FROM Employee;
SELECT * FROM CustomerOrder;
SELECT * FROM Tickets;
SELECT * FROM InvoiceLineItem;
SELECT * FROM FilmShowings;