-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdatabase.sql
73 lines (65 loc) · 1.6 KB
/
database.sql
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
CREATE DATABASE IF NOT EXISTS railway_system;
USE railway_system;
CREATE TABLE passenger (
p_id INT PRIMARY KEY AUTO_INCREMENT,
p_name VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
age INT,
dob DATE,
address TEXT,
phone_no VARCHAR(20)
);
CREATE TABLE train (
train_no INT PRIMARY KEY,
train_name VARCHAR(100) NOT NULL,
dept_time TIME,
arr_time TIME
);
CREATE TABLE schedule (
schedule_id INT PRIMARY KEY AUTO_INCREMENT,
train_no INT,
start_time TIME,
end_time TIME,
destination VARCHAR(100),
FOREIGN KEY (train_no) REFERENCES train(train_no)
);
CREATE TABLE train_status (
train_no INT,
date DATE,
avail_seat INT,
wait_seat INT,
booked_seat INT,
PRIMARY KEY (train_no, date),
FOREIGN KEY (train_no) REFERENCES train(train_no)
);
CREATE TABLE class (
class_type VARCHAR(20) PRIMARY KEY,
fare DECIMAL(10,2)
);
CREATE TABLE ticket (
pnr_no INT PRIMARY KEY AUTO_INCREMENT,
p_id INT,
train_no INT,
schedule_id INT,
source VARCHAR(100),
destination VARCHAR(100),
date_time DATETIME,
class_type VARCHAR(20),
FOREIGN KEY (p_id) REFERENCES passenger(p_id),
FOREIGN KEY (train_no) REFERENCES train(train_no),
FOREIGN KEY (schedule_id) REFERENCES schedule(schedule_id),
FOREIGN KEY (class_type) REFERENCES class(class_type)
);
CREATE TABLE route (
route_id INT PRIMARY KEY AUTO_INCREMENT,
train_no INT,
stop_no INT,
stop_name VARCHAR(100),
FOREIGN KEY (train_no) REFERENCES train(train_no)
);
CREATE TABLE station (
station_id INT PRIMARY KEY AUTO_INCREMENT,
station_name VARCHAR(100),
place VARCHAR(100)
);