You are on page 1of 9

MÔ TẢ CƠ SỞ DỮ LIỆU QUẢN LÝ CHUYẾN BAY

DB_Airline
ThS Lai Đình Khải
Cơ sở dữ liệu DB_Airline được dùng cho sinh viên tự ôn tập các câu lệnh
SQL đáp ứng phần kiểm tra thực hành.
Lược đồ CSDL và dữ liệu mẫu được download từ địa chỉ:
https://cis.temple.edu/~vasilis/Courses/CIS331/Examples/E-
R_examples.html
Sinh viên sử dụng đoạn script make-airline-DB.sql để tạo CSDL.
Nội dung bao gồm:
Lược đồ cơ sở dữ liệu.
Bảng person (cá nhân)
Bảng Employee (nhân viên)
Bảng Pilot (Phi công)
Bảng Plane (loại Máy bay)
Bảng Aircraft (chiếc máy bay)
Bảng Can_Fly (khả năng điều khiển máy bay của mỗi phi công)
Bảng Flight (chuyến bay)
Bảng Departure (khởi hành)
Bảng Aircraft_Departure (Máy bay khởi hành)
Bảng Assigned_To (nhân viên đảm nhận nhiệm vụ bay)
Bảng Booked_On (khách hàng đặt vé)

DINHKHAI 1
Lược đồ cơ sở dữ liệu.

❖ Bảng person (cá nhân): thu thập thông tin cá nhân bao gồm:
Danh mục thuộc tính

Thuộc tính Diễn giải Kiểu dữ liệu Khóa


Name tên varchar(15) primary key
not null,
Address địa chỉ varchar(15)
not null
Phone số điện thoại varchar(12)

Dữ liệu mẫu
Name Address Phone
Clark 223 Easy St. 801-193-2320
Edwards 567 Spruce St. 801-228-6729
Gates 285 Kapok St. 801-493-2203
Green 435 Alder St. 801-933-2320
Hooper 456 Maple St. 313-912-2101
Jones 234 Oak St. 801-552-2943
MacBride 789 Fir St. NULL
Majeris 678 Willow St. NULL
Peters 345 Pine St. 801-393-2230
Phillips 395 Pine St. 801-323-2320
DINHKHAI 2
Rowe 348 Elder St. 801-343-2320
Smith 123 Elm St. 801-556-2239
Warnock 775 Main St. 801-303-2222

❖ Bảng Employee (nhân viên): thông tin nhân viên được tuyển dụng
từ thông tin cá nhân (bảng person) gồm các thông tin. Person và
Employee có quan hệ 1-0.

Danh mục thuộc tính


Thuộc tính Diễn giải Kiểu dữ liệu Khóa
Name tên varchar(15) foreign key
not null, (Name)
references
Person(Name)
Salary Lương int
Emp_No Mã nhân viên smallint primary key
unique not
null

Dữ liệu mẫu
Name Salary Emp_No
Clark 150000 1006
Gates 5000000 1005
Jones 50000 1001
Peters 45000 1002
Phillips 25000 1004
Rowe 35000 1003
Warnock 500000 1007

❖ Bảng Pilot (Phi công): trong danh sách các nhân viên, có một số
nhân viên là phi công. Employee và Pilot có quan hệ 1-0.
Danh mục thuộc tính
Thuộc tính Diễn giải Kiểu dữ liệu Khóa
Emp_No Mã nhân viên smallint foreign key
unique, (Emp_No)
references
Employee(Emp_No)

Dữ liệu mẫu
Emp_No
1001
1002
1003

DINHKHAI 3
❖ Bảng Plane (loại Máy bay): thông tin về các loại máy bay thuộc nhà
sản xuất nào và kiểu mẫu nào. Một nhà sản xuất sẽ có nhiêu kiểu
mẫu. Ví dụ Boeing có kiểu mẫu B727, B747. Gồm các thông tin:
Thuộc tính Diễn giải Kiểu dữ liệu Khóa
Maker Nhà sản xuất varchar(15)
not null
Model_No kiểu mẫu varchar(15) primary key
not null

Dữ liệu mẫu
Maker Model_No
Airbus A310
Airbus A320
Airbus A330
Airbus A340
Boeing B727
Boeing B747
Boeing B757
MD DC10
MD DC9

❖ Bảng Aircraft (chiếc máy bay): thông tin gồm số hiệu và kiểu mẫu,
ví dụ một chiếc máy bay có số hiệu 11 và kiểu mẫu B727 (thuộc loại
máy bay Boeing). Một kiểu mẫu (plane) sẽ có nhiều chiếc máy bay
(aircraft). Plane và aircraft có quan hệ 1-n.

Danh mục thuộc tính


Thuộc tính Diễn giải Kiểu dữ liệu Khóa
Serial_No smallint not
primary key
null,
(Serial_No,
Model_No varchar(15)
Model_No)
not null,
foreign key
(Model_No)
references
Plane(Model_No)

Dữ liệu mẫu
Serial_No Model_No
10 B747
11 B727
13 B727
13 B747
21 DC10

DINHKHAI 4
21 DC9
22 B757
22 DC9
23 DC9
24 DC9
70 A310
80 A320
93 B757

❖ Bảng Can_Fly (khả năng điều khiển máy bay của mỗi phi công): Một
phi công (sau các khóa đào tạo và kiểm tra) sẽ được chứng nhận khả
năng điều khiển kiểu mẫu máy bay nào đó và chỉ khi có được chứng
nhận này họ mới được tham gia các chuyến bay được thực hiện bởi
các máy bay theo kiểu mẫu trong chứng nhận. Ví dụ phi công 1001
có thể lái các loại máy bay B727, B747, DC10 nhưng không được
phép lái A520 (hoặc máy bay thả bom B52). Một phi công (một nhân
viên trong bảng Employee) có thể điều khiển nhiều kiểu mẫu máy
bay (Plane) và ngược lại với một kiểu mẫu máy bay sẽ có nhiều phi
công có khả năng điều khiển, vậy Employee và Plane có quan hệ n-
n, do đó Can_Fly là bảng mới được sinh ra, Employee và Can_Fly có
quan hệ 1-n, Plane và Can_Fly có quan hệ 1-n.
Danh mục thuộc tính
Thuộc tính Diễn giải Kiểu dữ liệu Khóa
Emp_No Mã nhân viên smallint not primary key
null (Emp_No,
Model_No Kiểu mẫu varchar(15) Model_No)
not null
foreign key
(Emp_No)
references
Employee(Emp_No)
foreign key
(Model_No)
references
Plane(Model_No)
Dữ liệu mẫu
Emp_No Model_No
1001 B727
1001 B747
1001 DC10
1002 A320
1002 A340
1002 B757
1002 DC9
1003 A310
DINHKHAI 5
1003 DC9

❖ Bảng Flight (chuyến bay): thông tin về một hành trình bay với điểm
khởi hành, điểm đến, thời điểm khởi hành và đáp cánh. Giữa điểm
khởi hành và điểm đến sẽ có nhiều chuyến bay với khung giờ khác
nhau. Thực tế, tùy theo điểm đến, thời điểm đến và lượng khách ước
tính mà hành trình bay đó được tổ chức thường xuyên hay không, ví
dụ hành trình 334 từ ‘ORD’ đến ‘MIA’ khởi hành lúc 12 giờ 00 và đáp
cánh lúc 14g14 được tổ chức mỗi ngày một chuyến nhưng hành trình
336 cũng từ ‘ORD’ đến ‘MIA’ khởi hành lúc 18 giờ 00 và đáp cánh lúc
20g14 chỉ tổ chức 3 ngày một chuyến. Như vậy điểm khởi hành, điểm
đến, giờ khởi hành và hạ cánh của mỗi chuyến bay sẽ không thay đổi
nếu không gặp sự cố bất thường.

Danh mục thuộc tính


Thuộc tính Diễn giải Kiểu dữ liệu Khóa
Num Số hiệu chuyến smallint not primary key
bay null
Origin Điểm khởi varchar(3)
hành
Dest Điểm đến varchar(3)
Dep_Time Thời điểm khởi varchar(5)
hành
Arr_Time Thời điểm đến varchar(5)
Dữ liệu mẫu
Num Origin Dest Dep_Time Arr_Time
100 SLC BOS 08:00 17:50
112 DCA DEN 14:00 18:07
121 STL SLC 07:00 09:13
122 STL YYV 08:30 10:19
206 DFW STL 09:00 11:40
330 JFK YYV 16:00 18:53
334 ORD MIA 12:00 14:14
335 MIA ORD 15:00 17:14
336 ORD MIA 18:00 20:14
337 MIA ORD 20:30 23:53
394 DFW MIA 19:00 21:30
395 MIA DFW 21:00 23:43
449 CDG DEN 10:00 19:29
930 YYV DCA 13:00 16:10
931 DCA YYV 17:00 18:10
932 DCA YYV 18:00 19:10

❖ Bảng Departure (khởi hành): thông tin về lịch chuyến bay theo từng
ngày. Ví dụ ngày 1/11 sẽ có các chuyến bay 100, 112, 206, 334, 395,
991. Flight và Departure có quan hệ 1-n.
DINHKHAI 6
Danh mục thuộc tính
Thuộc tính Diễn giải Kiểu dữ liệu Khóa
Dep_Date Ngày khởi varchar(6)
hành not null, primary key
Num Số hiệu chuyến smallint (Dep_Date, Num)
bay
foreign key
(Num)
references
Flight(Num)

Dữ liệu mẫu
Dep_Date Num
Nov 1 100
Nov 1 112
Nov 1 206
Nov 1 334
Nov 1 395
Nov 1 991
Oct 31 100
Oct 31 112
Oct 31 206
Oct 31 334
Oct 31 335
Oct 31 337
Oct 31 449

❖ Bảng Aircraft_Departure (Máy bay khởi hành): thông tin chi tiết về
hành trình bay gồm ngày khởi hành của chuyến bay và được thực
hiện bởi máy bay nào.

Danh mục thuộc tính


Thuộc tính Diễn giải Kiểu dữ liệu Khóa
Dep_Date Ngày khởi varchar(6) not
hành null
Num Số hiệu smallint not
primary key
chuyến bay null
(Dep_Date, Num,
Serial_No Số hiệu máy smallint not
Serial_No, Model_No)
bay null
Model_No Kiểu mẫu varchar(15)
máy bay not null
foreign key (Dep_Date,
Num) references
Departure(Dep_Date,
Num),

DINHKHAI 7
foreign key (Serial_No,
Model_No) references
Aircraft(Serial_No,
Model_No)

Dữ liệu mẫu
Dep_Date Num Serial_No Model_No
Nov 1 112 21 DC10
Nov 1 991 22 B757
Oct 31 100 11 B727
Oct 31 112 11 B727
Oct 31 206 13 B727
Oct 31 337 24 DC9

❖ Bảng Assigned_To (nhân viên đảm nhận nhiệm vụ bay): thông tin
về danh sách nhân viên được giao nhiệm vụ trong mỗi chuyến bay.
Ví dụ Nhân viên 1001 sẽ tham gia chuyến bay 100 vào ngày 31/10
và 1/11.

Danh mục thuộc tính


Thuộc tính Diễn giải Kiểu dữ liệu Khóa
Emp_No Mã nhân smallint not primary key
viên null (Emp_No, Dep_Date,
Num)
Dep_Date Ngày khởi varchar(6)
hành not null
Num Số hiệu smallint not
chuyến bay null
foreign key
(Emp_No) references
Employee(Emp_No),

foreign key
(Dep_Date, Num)
references
Departure(Dep_Date,
Num)
Dữ liệu mẫu
Emp_No Dep_Date Num
1001 Nov 1 100
1001 Oct 31 100
1002 Nov 1 100
1002 Oct 31 100

DINHKHAI 8
1003 Oct 31 100
1003 Oct 31 337
1004 Oct 31 100
1004 Oct 31 337
1005 Oct 31 337
1006 Nov 1 991
1006 Oct 31 337
1007 Nov 1 112
1007 Nov 1 991
1007 Oct 31 206

❖ Bảng Booked_On (khách hàng đặt vé): thông tin khách hàng đặt vé
gồm tên khách hàng, ngày khởi hành và chuyến bay. Ví dụ khách
hàng Clark khởi hàng ngày 1/11 trên chuyến bay số hiệu 100 (đi từ
SLC đến BOS khởi hành lúc 8 giờ 00 và hạ cánh lúc 17g50). Mỗi khách
hàng có thể đăng kí nhiều chuyến bay.
Danh mục thuộc tính
Thuộc tính Diễn giải Kiểu dữ liệu Khóa
Name Tên khách varchar(15)
hàng not null
Dep_Date Ngày khởi varchar(6) primary key (Name,
hành not null Dep_Date, Num)
Num Chuyến bay smallint not
null
foreign key
(Dep_Date, Num)
references
Departure(Dep_Date,
Num)
Dữ liệu mẫu
Name Dep_Date Num
Clark Nov 1 100
Edwards Oct 31 449
Gates Nov 1 991
Green Oct 31 206
Hooper Oct 31 334
MacBride Nov 1 991
Peters Nov 1 100
Phillips Oct 31 449
Rowe Nov 1 100
Smith Nov 1 991
Smith Oct 31 100
Warnock Oct 31 449

DINHKHAI 9

You might also like