forked from mello9999/Django_hotel_project
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreate_table_script.sql
More file actions
145 lines (125 loc) · 4.48 KB
/
Copy pathcreate_table_script.sql
File metadata and controls
145 lines (125 loc) · 4.48 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
CREATE TABLE "Card_info" (
card_id integer,
card_name character varying(100),
expired_date date,
CONSTRAINT "PK_card_info" PRIMARY KEY (card_id)
);
CREATE TABLE "Feedback"(
account_id integer,
date date,
rating character varying(100),
description character varying(100),
CONSTRAINT "PK_feedback" PRIMARY KEY (account_id)
);
CREATE TABLE "Role"(
role_name character varying(100),
description character varying(100),
CONSTRAINT "PK_role" PRIMARY KEY (role_name)
);
CREATE TABLE "Account"(
account_id integer,
email character varying(100),
password character varying(100),
first_name character varying(100),
phone_no integer,
role_name character varying(100),
CONSTRAINT "PK_account" PRIMARY KEY (account_id),
CONSTRAINT "FK_106" FOREIGN KEY (role_name) REFERENCES "Role"(role_name)
);
CREATE INDEX "fkIdx_106" ON "Account"(role_name);
CREATE TABLE "Room"(
room_id integer,
room_type character varying(100),
room_status boolean,
room_rating float,
price money,
CONSTRAINT "PK_room" PRIMARY KEY (room_id)
);
CREATE TABLE "Reservation"(
booking_id integer,
account_id integer,
check_in date,
check_out date,
period integer,
booking_type character varying(100),
room_id integer,
no_extra_bed integer,
no_adult integer,
no_children integer,
booking_status character varying(100),
CONSTRAINT "PK_reservation" PRIMARY KEY (booking_id),
CONSTRAINT "FK_117" FOREIGN KEY (account_id) REFERENCES "Account" (account_id),
CONSTRAINT "FK_120" FOREIGN KEY (room_id) REFERENCES "Room" (room_id)
);
CREATE INDEX "fkIdx_117" ON "Reservation"(account_id);
CREATE INDEX "fkIdx_120" ON "Reservation"(room_id);
CREATE TABLE "Invoice"(
invoice_no character varying(100),
invoice_date date,
booking_id integer,
account_id integer,
due_date date,
total money,
vat money,
amount_due money,
CONSTRAINT "PK_invoice" PRIMARY KEY (invoice_no),
CONSTRAINT "FK_129" FOREIGN KEY (booking_id)
REFERENCES "Reservation"(booking_id),
CONSTRAINT "FK_1999" FOREIGN KEY (account_id)
REFERENCES "Account" (account_id)
);
CREATE INDEX "fkIdx_129" ON "Invoice"(booking_id);
CREATE INDEX "fkIdx_1999" ON "Invoice"(account_id);
CREATE TABLE "Invoice_line_item"(
invoice_no character varying(100),
booking_id integer ,
quantity integer ,
unit_price integer ,
extended_price money ,
CONSTRAINT "PK_invoice_line_item" PRIMARY KEY (invoice_no),
CONSTRAINT "FK_132" FOREIGN KEY (booking_id)
REFERENCES "Reservation" (booking_id)
);
CREATE INDEX "fkIdx_132" ON "Invoice_line_item"(booking_id);
CREATE TABLE "Receipt"(
receipt_no character varying(100),
receipt_date date,
booking_id integer,
payment_method character varying(100),
payment_reference character varying(100),
remarks character varying(100),
total_received money,
CONSTRAINT "PK_receipt" PRIMARY KEY (receipt_no),
CONSTRAINT "FK_135" FOREIGN KEY (booking_id)
REFERENCES "Reservation"(booking_id)
);
CREATE INDEX "fkIdx_135" ON "Receipt"(booking_id);
CREATE TABLE "Receipt_line_item"(
receipt_no integer,
invoice_no character varying(100),
amount_paid_here character varying(100),
CONSTRAINT "PK_receipt_line_item" PRIMARY KEY (receipt_no),
CONSTRAINT "FK_138" FOREIGN KEY (invoice_no)
REFERENCES "Invoice" (invoice_no)
);
CREATE INDEX "fkIdx_138" ON "Receipt_line_item"(invoice_no);
CREATE TABLE "Room_service"(
service_no integer,
booking_id integer,
account_id integer,
service_type character varying(100),
service_cost money,
service_rating integer,
CONSTRAINT "PK_room_service" PRIMARY KEY (service_no),
CONSTRAINT "FK_123" FOREIGN KEY (booking_id)
REFERENCES "Reservation" (booking_id),
CONSTRAINT "FK_126" FOREIGN KEY (account_id)
REFERENCES "Account" (account_id)
);
CREATE INDEX "fkIdx_123" ON "Room_service"(booking_id);
CREATE INDEX "fkIdx_126" ON "Room_service"(account_id);
CREATE TABLE "Room_type"(
type character varying(100),
number integer,
CONSTRAINT "PK_room_type" PRIMARY KEY (type)
);