-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdb_init_scripts.txt
82 lines (81 loc) · 2.18 KB
/
db_init_scripts.txt
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
CREATE DATABASE `jym`;
CREATE TABLE jym.TRAINER
(
TrainerID INT NOT NULL,
TrainerSSN CHAR(9) NOT NULL,
TrainerEmail VARCHAR(40) NOT NULL,
TrainerName VARCHAR(30) NOT NULL,
TrainerPhone VARCHAR(10) NOT NULL,
TrainerGender INT NOT NULL,
PRIMARY KEY (TrainerID),
UNIQUE (TrainerSSN),
UNIQUE (TrainerEmail)
);
CREATE TABLE jym.ROOM
(
RoomNumber INT NOT NULL,
PRIMARY KEY (RoomNumber)
);
CREATE TABLE jym.TRAINER_TrainerSpecialty
(
TrainerSpecialty VARCHAR(25) NOT NULL,
TrainerID INT NOT NULL,
PRIMARY KEY (TrainerSpecialty, TrainerID),
FOREIGN KEY (TrainerID) REFERENCES TRAINER(TrainerID)
);
CREATE TABLE jym.Room_Equipment
(
RoomEquipment VARCHAR(30) NOT NULL,
RoomNumber INT NOT NULL,
PRIMARY KEY (RoomEquipment, RoomNumber),
FOREIGN KEY (RoomNumber) REFERENCES ROOM(RoomNumber)
);
CREATE TABLE jym.MEMBER
(
MemberEmail VARCHAR(40) NOT NULL,
MembershipTier INT NOT NULL,
MemberPhone VARCHAR(10) NOT NULL,
MemberName VARCHAR(30) NOT NULL,
MemberID INT NOT NULL,
MemberGender INT NOT NULL,
RoomNumber INT,
PRIMARY KEY (MemberID),
FOREIGN KEY (RoomNumber) REFERENCES ROOM(RoomNumber),
UNIQUE (MemberEmail)
);
CREATE TABLE jym.CLASS
(
ClassID INT NOT NULL,
ClassName VARCHAR(25) NOT NULL,
ClassTime CHAR(4) NOT NULL,
ClassDayOfWeek INT NOT NULL,
ClassNumberMembers INT NOT NULL,
ClassType VARCHAR(25) NOT NULL,
RoomNumber INT NOT NULL,
TrainerID INT NOT NULL,
PRIMARY KEY (ClassID),
FOREIGN KEY (RoomNumber) REFERENCES ROOM(RoomNumber),
FOREIGN KEY (TrainerID) REFERENCES TRAINER(TrainerID)
);
CREATE TABLE jym.PERSONAL_TRAINING_SESSION
(
SessionDayOfWeek INT NOT NULL,
SessionTime CHAR(4) NOT NULL,
SessionID INT NOT NULL,
SessionType VARCHAR(25) NOT NULL,
MemberID INT,
RoomNumber INT NOT NULL,
TrainerID INT NOT NULL,
PRIMARY KEY (SessionID),
FOREIGN KEY (MemberID) REFERENCES MEMBER(MemberID),
FOREIGN KEY (RoomNumber) REFERENCES ROOM(RoomNumber),
FOREIGN KEY (TrainerID) REFERENCES TRAINER(TrainerID)
);
CREATE TABLE jym.Class_Attendance
(
ClassID INT NOT NULL,
MemberID INT NOT NULL,
PRIMARY KEY (ClassID, MemberID),
FOREIGN KEY (ClassID) REFERENCES CLASS(ClassID),
FOREIGN KEY (MemberID) REFERENCES MEMBER(MemberID)
);