NHÓM 6
TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN
BÀI TẬP LỚN
ỨNG DỤNG CƠ SỞ DỮ LIỆU
ĐỀ TÀI:
PHÂN TÍCH THIẾT KẾ CƠ SỞ DỮ LIỆU
QUẢN TRỊ KHÁCH SẠN
Nhóm 6
Nguyễn Thu Huyền - 11182335
Nguyễn Linh Chi - 11180770
Lê Thị Mai Phương - 11184001
Hà Nội, 04/11/2020
1
NHĨM 6
MỤC LỤC
MỞ ĐẦU
PHẦN 1: Mơ tả bài tốn
1.1 Thực trạng
1.2 Quy trình
1.3 Phân tích cơ sở hệ thống
1.4 Các u cầu
PHẦN 2. Xây dựng cơ sở
2.1 Mơ hình liên kết thực thể
2.2 Chuyển mơ hình liên kết thực thể sang mơ hình quan hệ
2.3 Lược đồ cơ sở dữ liệu của hệ thống
PHẦN 3. Thiết kế cơ sở dữ liệu cho hệ thống
3.1 Tạo bảng và nhập dữ liệu
3.2 Truy vấn dữ liệu
MỞ ĐẦU
Dịch vụ ngày càng chiếm vị trí quan trọng trong bất cứ nền kinh tế nào và là yếu tố
đóng góp quyết định cho tăng trưởng kinh tế thế giới. Ở Việt Nam, hiện nay nền kinh tế đang
chuyển dần dịch sang ngành dịch vụ cũng đang diễn ra mạnh mẽ, bởi đây là một ngành kinh
tế đầy tiềm năng. Một trong những ngành dịch vụ đang phát triển mạnh đó là khách sạn. Số
lượng và quy mô các khách sạn ngày càng tăng hứa hẹn rất nhiều cơ hội nghề nghiệp cho các
nhà quản lý.
Quản trị khách sạn ngày càng trở nên quan trọng với tiềm năng trong nền kinh tế hiện
nay. Việc áp dụng cơng nghệ khoa học vào quản lý khách sạn có vai trò rất quan trọng trong
quản lý và kinh doanh.
Dựa vào kiến thức đã học trên nhà trường, nhóm chúng em xin trình bày nghiên cứu
đề tài: “Thiết kế cơ sở dữ liệu quản lý khách sạn” thông qua công cụ hỗ trợ Micrisoft SQL
Server. Chúng em rất mong thầy và các bạn đưa ra nhận xét, đánh giá, đóng góp ý kiến để đề
tài được hồn thiện hơn. Chúng em xin cảm ơn!
2
NHĨM 6
Phần 1 MƠ TẢ BÀI TỐN
Thực trạng
Khách sạn STULO là khách sạn mới đi vào hoạt động muốn mang đến khách hàng sự thoải
mái, thân thuộc. Chuỗi khách sạn ngồi việc là nơi mọi khách hàng tìm đến với nhu cầu để nghỉ
ngơi khách sạn cung cấp các loại hình dịch vụ: giặt là, massage, karaoke... Khách sạn có quy mô
khoảng 15 nhân sự bao gồm quản lý và nhân viên. Lượng khách bình qn có khoảng 40-45 khách
th/ngày vào cuối tuần, 20-25 khách thuê/ngày đối với những ngày trong tuần. Tuy nhiên khách
sạn mới đi vào hoạt động và hiện tại, STULO đang quản lý các thông tin bằng exel. Điều này làm
cho khách sạn này mất khá nhiều thời gian trong viêc tổng hợp dữ liệu và lập báo cáo. Vì vậy để tối
ưu hóa trong việc quản lý số lượng và thông tin , hệ thống mới cần phải đáp ứng các nhiệm vụ sau:
quản lí số lượng và thông tin của nhân viên, số lượng và thơng tin của khách hàng, quản lí các dịch
vụ mà khách hàng u cầu, thơng báo tiền hóa đơn, in báo cáo khách hàng, báo cáo hóa đơn,… Hệ
thống cần cung cấp các form để nhập dữ liệu và lấy dữ liệu từ kho dữ liệu để in ra các loại báo cáo.
1.1.
Quy trình
Khách có thể đặt phịng trước hoặc đặt trực tiếp tại khách sạn, khi khách hàng đến nhân viên
lễ tân hỏi khách cần đặt phòng như thế nào và xem cịn phịng trống hay khơng. Nếu cịn phịng
trống và đáp ứng u cầu của khách thì khách hàng làm thủ tục đặt và nhận phòng cho khách. Khi
làm thủ tục, khách hàng cần đưa ra các giấy tờ và thực hiện khai báo thông tin cá nhân. Bộ phận lễ
tân giữ lại chứng minh thư nhân dân (CMTND) hoặc giấy tờ tuỳ thân khác như hộ chiếu (nếu khơng
có CMTND). . Những giấy tờ này sẽ được trả lại cho khách khi khách làm thủ tục rời khách sạn.
1.2.
Mỗi căn phịng, tuỳ theo kiểu, vị trí và những tiện nghi bên trong mà có một biểu giá riêng.
Khi khách đến thuê phòng nhân viên lễ tân ghi nhận đăng ký. Nhân viên lễ tân sẽ lập phiếu đăng kí
gồm các thơng tin của khách hàng, phịng khách hàng đăng ký, và nhu cầu sử dụng dịch vụ của
khách hàng sẽ được nhập vào phiếu đăng ký được lập từ bộ phận tiếp tân (ở đây tiếp tân sẽ kiêm vị
trí thu ngân), tại đây khách hàng có thể thanh tốn số tiền trả trước. Mỗi phiếu đăng ký đến chỉ
được lập cho một khách đại diện (trưởng đồn), thường là người chịu trách nhiệm thanh tốn sau
này. Tuy nhiên trong quá trình ở tại khách sạn, nếu khách hàng có nhu cầu sử dụng dịch vụ thì có
thể đăng ký thêm, thơng qua nhân viên khách sạn lập phiếu đăng ký dịch vụ để bổ sung vào phiếu
đăng ký ban đầu của khách hàng
Bộ phận tiếp tân có trách nhiệm tạo hố đơn thanh tốn căn cứ vào thơng tin phịng cho th,
thơng tin về sử dụng dịch vụ... của khách hàng. Hóa đơn được lập thành hai liên, một liên giao cho
khách hàng và một liên được bộ phận thanh toán giữ lại để làm căn cứ ghi sổ kế tốn. Q trình sau
đó sẽ giao cho nhân viên kế tốn sau đó lập báo cáo tổng kết doanh thu ,…
Sau khi tiến hành quá trình trả phịng, trưởng quầy lễ tân sẽ cử nhân viên phục vụ phòng đến
kiểm tra phòng và ghi nhận vào phiếu đăng ký việc khách có phải bồi thường về thiệt hại trong
phịng cho khách sạn hay khơng (nếu có thì khoản bồi thường là bao nhiêu). Sau khi có hóa đơn,
khách hàng thực hiện nốt việc thanh tốn.
1.3.
Phân tích cơ sở dữ liệu hệ thống
3
NHÓM 6
Cơ sở dữ liệu hệ thống quản lý khách sạn theo dõi các thông tin liên quan đến khách hàng, nhân
viên, phịng hóa đơn, dịch vụ
- Khách sạn có nhiều phịng cho th, mỗi phịng có mã phịng là duy nhất, tên phịng, tình
trạng, giá phịng, đơn vị. Các phòng đều được cập nhập trạng thái một cách thường xuyên:
còn trống hay full. Mỗi phòng đều thuộc một loại phịng nhất định.
- Nhân viên thì có các thơng tin sau: mã nhân viên là duy nhất, họ tên nhân viên, giới tính,
ngày sinh, địa chỉ, số điện thoại, CMND. Mỗi nhân viên sẽ đảm nhiệm một chức vụ rõ ràng.
- Có nhiều khách hàng đến th phịng của khách sạn, tại đây khách hàng sẽ đăng kí Phiếu đăng
ký thơng qua nhân viên. Mỗi khách hàng sẽ có mã khách hàng là duy nhất, họ tên khách
hàng, địa chỉ, giới tính, ngày sinh, số điện thoại, quốc tịch.
- Khách hàng có nhu cầu sử dụng dịch vụ tại khách sạn sẽ được lập phiếu dịch vụ để theo dõi
quá trình sử dụng dịch vụ, phiếu dịch vụ bao gồm mã dịch vụ là duy nhất, tên dịch vụ, giá
dịch vụ
- Mỗi khi khách hàng th phịng thì đăng kí phiếu : mã phiếu đăng ký là duy nhất, ngày đến,
ngày đi, số tiền trả trước, đơn vị, mã phiếu dịch vụ mà khách hàng đăng ký. Mỗi phiếu đăng
kí đó sẽ thuộc một phịng và được tạo bởi một nhân viên
- Nhân viên sẽ phải lập hóa đơn, hóa đơn bao gồm mã hóa đơn là duy nhất, ngày thanh toán,
số tiền thanh toán trước, đơn vị.
4
NHĨM 6
1.4.
Các u cầu cụ thể
Cập nhật thơng tin khách hàng
Cập nhật thơng tin phịng
Tạo chi tiết phiếu đăng ký
NHÂN VIÊN
Tạo chi tiết phiếu đăng ký
5
NHĨM 6
Quản lí số lượng và thơng tin
của nhân viên
Quản lí số lượng và thơng
tin của khách hàng
Quản lí các dịch vụ mà khách
hàng u cầu
QUẢN LÝ
Thơng báo tiền hóa đơn, in
báo cáo khách hàng, báo cáo
hóa đơn
PHẦN 2: XÂY DỰNG CƠ SỞ
2.1. Mơ hình liên kết thực thể
Bước 1: Xác định các thực thể
Trong hệ thống khách sạn có các thực thể sau:, PHONG, LOAIPHONG, NHANVIEN, CHUCVU,
KHACHHANG, HOADON,PHIEUDANGKY, PHIEUDICHVU
Bước 2: Mối quan hệ giữa các thực thể và thuộc tính cho mối quan hệ.
6
NHĨM 6
Bước 3: Xác định các thuộc tính của các thực thể và thuộc tính khóa.
STT
Tên tập thực thể
Mơ tả
Các thuộc tính
1
PHONG
Phịng
Maphong, Tenphong, Tinhtrang,
Giaphong, Donvi
7
NHĨM 6
2
LOAIPHONG
Loại phịng
Maloaiphong, Tenloaiphong, Trangbi
3
NHANVIEN
Nhân viên
Manhanvien, Hotennhanvien,
Gioitinh, Ngaysinh, Diachi,
Sodienthoai, CMND
4
CHUCVU
Chức vụ
Machucvu, Tenchucvu
5
KHACHHANG
Khách hàng
Makhachhang, Hotenkhachhang,
Diachi, Gioitinh, Ngaysinh,
Sodienthoai, CMND, Quoctich
6
HOADON
Hóa đơn
Mahoadon, Ngaythanhtoan,
Sotienthanhtoantruoc, Donvi
7
PHIEUDANGKY
Phiếu đăng ký Maphieudangky, Ngaylap, Ngaydi,
Tratruoc, Donvi
8
PHIEUDICHVU
Phiếu dịch vụ
Maphieudichvu, Tendichvu,
Giadichvu
Bước 4: Xác đinh Min – Max -> Vẽ mơ hình thực thể E-R
MƠ HÌNH THỰC THỂ LIÊN KẾT E-R
8
NHĨM 6
2.2. Chuyển từ mơ hình liên kết thực thể sang mơ hình quan hệ
TƯƠNG TỰ VỚI CÁC QUAN HỆ CÒN LẠI:
9
NHÓM 6
2.3. Lược đồ cơ sở dữ liệu của hệ thống
•
•
•
•
•
•
•
•
PHONG( Maphong, Tenphong, Tinhtrang, Giaphong, Donvi, Maloaiphong)
LOAIPHONG(Maloaiphong, Tenloaiphong, Trangbi)
NHANVIEN(Manhanvien, Hotennhanvien, Gioitinh, Diachi, Sodienthoai, CMND,
Machucvu)
CHUCVU(Machucvu, Tenchucvu)
HOADON(Mahoadon, Ngaythanhtoan, Sotiendattruoc, Donvi, Manhanvien)
KHACHHANG(Makhachhang, Hotenkhachhang, Diachi, Gioitinh, Ngaysinh, Sodienthoai,
CMND, Quotich)
PHIEUDANGKY(Maphieudangky, Ngaylap, Ngaydi, Tratruoc, Donvi, Maphong,
Manhanvien, Makhachhang)
PHIEUDICHVU (Maphieudichvu, Tendichvu, Giadichvu, Maphieudangky)
10
NHĨM 6
Từ đó ta lập tên bảng gồm các tập thực thể, thuốc tính, khóa chính và khóa ngoại
STT
Tên tập thực thể
Mơ tả
Các thuộc tính
1
PHONG
Phịng
Maphong, Tenphong, Tinhtrang,
Giaphong, Donvi, Maloaiphong
2
LOAIPHONG
Loại phòng
Maloaiphong, Tenloaiphong,
Trangbi
3
NHANVIEN
Nhân viên
Manhanvien, Hotennhanvien,
Gioitinh, Ngaysinh, Diachi,
Sodienthoai, CMND, Machucvu
4
CHUCVU
Chức vụ
Machucvu, Tenchucvu
5
KHACHHANG
Khách hàng
Makhachhang, Hotenkhachhang,
Diachi, Gioitinh, Ngaysinh,
Sodienthoai, CMND, Quoctich
6
HOADON
Hóa đơn
Mahoadon, Ngaythanhtoan,
Sotienthanhtoantruoc, Donvi,
Manhanvien
7
PHIEUDANGKY
Phiếu đăng ký Maphieudangky, Ngaylap, Ngaydi,
Tratruoc, Donvi, Maphong,
Manhanvien, Makhachhang
11
NHÓM 6
8
PHIEUDICHVU
Phiếu dịch vụ
Maphieudichvu, Tendichvu,
Giadichvu, Maphieudangky
(in đậm và gạch chân là khóa chính, khơng in đậm và gạch chân là khóa ngoại)
PHẦN 3: THIẾT KẾ CƠ SỞ DỮ LIỆU CHO HỆ THỐNG
3.1. Xác định miền giá trị cho các thực thể và thuộc tính theo từng bảng
Bảng LOAIPHONG (Loại phịng)
LOAIPHONG
STT
Tên thuộc tính
Kiểu DL
Kích
thước
Khóa
chính
1
Maloaiphong
char
4
X
2
Tenloaiphong
nvarchar
3
Trangbi
nvarchar
Khóa
ngoại
Not
null
Diễn giải
X
Mã loại phịng
30
X
Tên loại phịng
100
X
Trang bị
Bảng PHONG (Phịng)
PHONG
STT
Tên thuộc tính
Kiểu DL
Kích
thước
Khóa
chính
1
Maphong
char
5
X
2
Tenphong
nvarchar
3
Tinhtrang
nvarchar
4
Giaphong
int
5
Donvi
nvarchar
10
6
Maloaiphong
char
4
Khóa
ngoại
Not
null
Diễn giải
X
Mã phịng
20
X
Tên phịng
15
X
Tình trạng
X
Gía phịng
X
Đơn vị
X
Mã loại
phịng
X
Bảng CHUCVU (Chức vụ)
CHUCVU
STT
1
Tên thuộc tính
Kiểu DL
Machucvu
char
Kích
thước
Khóa
chính
5
X
Khóa
ngoại
Not
null
Diễn giải
X
Mã chức vụ
12
NHĨM 6
2
Tenchucvu
nvarchar
30
X
Tên chức vụ
Bảng NHANVIEN (Nhân viên)
NHANVIEN
STT
Tên thuộc tính
Kiểu DL
1
Manhanvien
char
2
Hotennhanvien nvarchar
3
Gioitinh
char
4
Ngaysinh
date
5
Diachi
nvarchar
6
Sodienthoai
7
8
Kích
thước
Not
null
Diễn giải
X
mã nhân viên
30
X
họ nhân viên
3
X
tên nhân viên
X
giới tính /
phái
100
X
năm sinh
char
10
X
địa chỉ
CMND
char
12
X
số điện thoại
Machucvu
char
5
X
CMT/CCCD
5
Khóa
chính
Khóa
ngoại
X
X
Bảng KHACHHANG (Khách hàng)
KHACHHANG
STT Tên thuộc tính
Kiểu DL
Kích
thước
char
5
1
Makhachhang
2
Hotenkhachhang
nvarchar
3
Diachi
4
Khóa Khóa
chính ngoại
X
Not
null
Diễn giải
X
Mã khách hàng
30
X
Họ tên khách hàng
nvarchar
100
X
Địa chỉ
Gioitinh
char
3
5
Ngaysinh
date
6
Sodienthoai
7
CMND
8
Quoctich
Giới tính
X
Ngày sinh
nvarchar
10
X
Số điện thoại
char
12
X
Số CMND
nvarchar
20
Quốc tịch
13
NHĨM 6
Bảng HOADON (Hóa đơn)
HOADON
STT
Tên thuộc tính
1
Mahoadon
2
Kiểu DL
Kích Khóa
thước chính
char
5
Khóa
ngoại
Not
null
X
Diễn giải
X
Mã hóa đơn
Ngaythanhtoan datetime
X
Ngày thanh tốn
3
Sotientratruoc
int
X
Số tiền trả trước
4
Donvi
varchar
5
X
Đơn vị
5
Manhanvien
char
5
X
Mã nhân viên
X
Bảng PHIEUDANGKY (Phiếu đăng ký)
PHIEUDANGKY
STT
Tên thuộc tính
Kiểu DL
1
Maphieudangky
char
2
Ngaylap
3
Kích
thước
Khóa Khóa
chính ngoại
Not
null
Diễn giải
X
Mã phiếu đăng
ký
smalldatetime
X
Ngày lập
Ngaydi
smalldatetime
X
Ngày đi
4
Tratruoc
int
5
Donvi
varchar
5
6
Makhachhang
char
5
7
Manhanvien
char
8
Maphong
char
5
X
Trả trước
X
Đơn vị
X
X
Mã khách hàng
5
X
X
Mã nhân viên
5
X
X
Mã phịng
Khóa
ngoại
Not
null
Diễn giải
Bảng PHIEUDICHVU (Phiếu dịch vụ)
PHIEUDICHVU
STT
1
Tên thuộc tính
Maphieudichvu
Kiểu
DL
char
Kích
thước
Khóa
chính
5
X
X
Mã phiếu
14
NHÓM 6
dịch vụ
2
Tendichvu
nvarc
har
3
Giadichvu
Int
4
Maphieudangky
char
30
5
X
X
Tên dịch vụ
X
Giá dịch vụ
X
Mã phiếu
đăng ký
3.2.Thiết kế cơ sở dữ liệu
Bảng LOẠI PHÒNG
--- TẠO BẢNG LOẠI PHÒNG
CREATE TABLE LOAIPHONG
(
Maloaiphong
char(4) primary key,
Tenloaiphong
nvarchar(30) not null,
Trangbi
nvarchar(100) not null,
)
--- INSERT BẢNG LOẠI PHỊNG
insert into LOAIPHONG values ('LP01',N'Single Bed Room',N'phịng thiết kế 1 giường cho một
người ngủ')
insert into LOAIPHONG values ('LP02',N'Twin Bed Room',N'phòng thiết kế 2 giường cho hai
người ngủ')
insert into LOAIPHONG values ('LP03',N'Double Bed Room',N'phòng thiết kế 1 giường lớn đủ cho
hai người ngủ')
insert into LOAIPHONG values ('LP04',N'Triple Bed Room',N'phịng có 3 giường nhỏ hoặc 1
giường lớn và 1 giường nhỏ đủ cho 3 người ngủ')
SELECT*FROM LOAIPHONG
Bảng Phịng
---TẠO BẢNG PHỊNG
CREATE TABLE PHONG
(
Maphong
char(5) primary key,
15
NHÓM 6
Tenphong
Tinhtrang
Maloaiphong
Giaphong
Donvi
nvarchar(20) not null,
nvarchar(15) not null,
char(4) not null,
int not null,
nvarchar (10) not null,
constraint fk_PHONG_LOAIPHONG foreign key(Maloaiphong) references
LOAIPHONG(Maloaiphong),
)
---INSERT BẢNG PHÒNG
insert into PHONG values ('P101',N'Phòng 101',N'Trống','LP01','300000',N'VND')
insert into PHONG values ('P102',N'Phòng 102',N'Trống','LP01','300000',N'VND')
insert into PHONG values ('P103',N'Phòng 103',N'Full','LP01','300000',N'VND')
insert into PHONG values ('P104',N'Phòng 104',N'Trống','LP01','300000',N'VND')
insert into PHONG values ('P105',N'Phòng 105',N'Full','LP01','300000',N'VND')
insert into PHONG values ('P201',N'Phòng 201',N'Full','LP02','400000',N'VND')
insert into PHONG values ('P202',N'Phòng 202',N'Trống','LP02','400000',N'VND')
insert into PHONG values ('P203',N'Phòng 203',N'Full','LP02','400000',N'VND')
insert into PHONG values ('P204',N'Phòng 204',N'Full','LP02','400000',N'VND')
insert into PHONG values ('P205',N'Phòng 205',N'Trống','LP02','400000',N'VND')
insert into PHONG values ('P301',N'Phòng 301',N'Trống','LP03','450000',N'VND')
insert into PHONG values ('P302',N'Phòng 302',N'Full','LP03','450000',N'VND')
insert into PHONG values ('P303',N'Phòng 303',N'Trống','LP03','450000',N'VND')
insert into PHONG values ('P304',N'Phòng 304',N'Trống','LP03','450000',N'VND')
insert into PHONG values ('P305',N'Phòng 305',N'Full','LP03','450000',N'VND')
insert into PHONG values ('P401',N'Phòng 401',N'Trống','LP04','500000',N'VND')
insert into PHONG values ('P402',N'Phòng 402',N'Full','LP04','500000',N'VND')
insert into PHONG values ('P403',N'Phòng 403',N'Trống','LP04','500000',N'VND')
insert into PHONG values ('P404',N'Phòng 404',N'Full','LP04','500000',N'VND')
insert into PHONG values ('P405',N'Phòng 405',N'Trống','LP04','500000',N'VND')
16
NHÓM 6
SELECT*FROM PHONG
Bảng CHỨC VỤ
--- TẠO BẢNG CHỨC VỤ
CREATE TABLE CHUCVU
(
Machucvu char (5) primary key,
Tenchucvu nvarchar (30) NOT NULL,
)
--- INSERT BẢNG CHỨC VỤ
insert into CHUCVU values ('CV001',N'Quản lý ')
insert into CHUCVU values ('CV002',N'Nhân viên lễ tân')
insert into CHUCVU values ('CV003',N'Nhân viên kĩ thuật')
insert into CHUCVU values ('CV004',N'Nhân viên phục vụ phòng')
insert into CHUCVU values ('CV005',N'Nhân viên massage')
insert into CHUCVU values ('CV006',N'Kế toán')
insert into CHUCVU values ('CV007',N'Giặt là')
17
NHÓM 6
SELECT*FROM CHUCVU
Bảng NHÂN VIÊN
---TẠO BẢNG NHÂN VIÊN
CREATE TABLE NHANVIEN
(
Manhanvien
char(5) primary key,
Hotennhanvien
nvarchar(30) not null,
Machucvu
char(5) not null,
Gioitinh
char(3) check(Gioitinh in ('Nam','Nu'))not null,
Ngaysinh
date not null,
Diachi
nvarchar(100) not null,
Sodienthoai
char(10) not null,
CMND
char(12)not null,
constraint fk_NHANVIEN_CHUCVU foreign key(Machucvu) references CHUCVU(Machucvu)
)
--- INSERT BẢNG NHÂN VIÊN
insert into NHANVIEN values ('NV001',N'Trần Ánh Linh','CV001','Nu',N'04-09-1990',N'93 Trần
Phú, Ba Đình, Hà Nội','0968384938','035300002736')
insert into NHANVIEN values ('NV002',N'Dương Văn Long ','CV001','Nam',N'04-05-1992',N'65
Nguyễn Ngọc Nại,Hà Nội','0766797655','067637673566')
insert into NHANVIEN values ('NV003',N'Phạm Hồng Quân','CV002','Nam',N'12-08-1988',N'139
Tân Mai, Hoàng Mai, Hà Nội','0987665675','086765456456')
18
NHĨM 6
insert into NHANVIEN values ('NV004',N'Mai Tú Anh','CV002','Nu',N'06-08-2000',N'98 Hồng
Hanh, Nam Sách, Hải Dương','0882367555','082642579753')
insert into NHANVIEN values ('NV005',N'Đàm Mai Anh','CV002','Nu',N'01-03-2000',N'762 Hải
Nam, Bắc Ninh ','0783676375','086765456633')
insert into NHANVIEN values ('NV006',N'Phạm Hồng Thái','CV002','Nam',N'12-08-1998',N'87
Long Khánh, Hà Giang','0983454667','013546832367')
insert into NHANVIEN values ('NV007',N'Lê Bảo Khánh','CV003','Nam',N'12-12-1997',N'Trạm 51,
Diễn Hồng Huyện Diễn Châu, Nghệ An','0098765765','075876564332')
insert into NHANVIEN values ('NV008',N'Trần Huỳnh Lâm','CV005','Nam',N'03-09-1989',N'231/1
Ngô Quyền, Đắc Lắc','0966566544','035766756436')
insert into NHANVIEN values ('NV009',N'Trần Thị Hai','CV004','Nu',N'06-03-1990',N'98 Kim
Liên, Hà Nội','0645345900','038734346579')
insert into NHANVIEN values ('NV010',N'Trần Thị Ba','CV004','Nu',N'05-24-1990',N'232 Hoàng
Hanh, Hải Dương','0564566886','038767656565')
insert into NHANVIEN values ('NV011',N'Trần Thị Bốn','CV004','Nu',N'04-04-1990',N'234 Võ Thị
Sáu, Hà Nam ','0674546666','038764565432')
insert into NHANVIEN values ('NV012',N'Trần Thị Năm','CV004','Nu',N'12-07-1990',N'98 Liễu
Giai, Ba Đình, Hà Nội','0635455543','03876723434')
insert into NHANVIEN values ('NV013',N'Hà Thu Mỹ','CV005','Nu',N'05-06-1990',N'248 Lê Trọng
Tấn, Hà Nội','0978765443','043545475469')
insert into NHANVIEN values ('NV014',N'Cao Văn Dũng','CV006','Nam',N'07-07-1995',N'98
Nguyễn Văn Trỗi, Cao Bằng','0807675665','035756456435')
insert into NHANVIEN values ('NV015',N'Mai Hồng Vân','CV007','Nu',N'07-09-1995',N'98 Trần
Khoát Trân, Nghệ Tĩnh','0856607675','035764535645')
SELECT*FROM NHANVIEN
Bảng KHÁCH HÀNG
19
NHÓM 6
--- TẠO BẢNG KHÁCH HÀNG
CREATE TABLE KHACHHANG
(
Makhachhang
char(5) primary key,
Hotenkhachhang
nvarchar(30) not null,
Diachi
nvarchar(100) not null,
Gioitinh
char(3) check(Gioitinh in ('Nam','Nu')),
Ngaysinh
date,
Sodienthoai
char(15) not null,
CMND
char(15) not null,
Quoctich
nvarchar(20),
)
---INSERT BẢNG KHÁCH HÀNG
insert into KHACHHANG values ('KH001',N'Lê Thị Mai Phương',N'192 Lê Trọng Tấn, Thanh
Xuân, Hà Nội','Nu',N'06-24-2000','0963526922','030300000550',N'Việt Nam')
insert into KHACHHANG values ('KH002',N'Trần Khiết Huỳnh',N'76 Lê Q Đơn, Phương Lâm,
Hịa Bình','Nu',N'02-08-1998','0976364566', '0303762737867',N'Việt Nam')
insert into KHACHHANG values ('KH003',N'Trần Tiến Đạt',N'324 Trần Hưng Đạo, Nam Sách, Hải
Dương','Nam',N'09-06-1995','09632484777', '0323767273472',N'Việt Nam')
insert into KHACHHANG values ('KH004',N'Lê Văn Thành',N'16 Lý Thường Kiệ, Hải
Phòng','Nam',N'04-01-1967','0340988877','002387646465',N'Mỹ')
insert into KHACHHANG values ('KH005',N'Ms Heny',N'70 Phạm Ngọc Thạch,Quận 3, Hồ Chí
Minh','Nu',N'04-08-1984','0340627954','002344444435',N'Australia')
insert into KHACHHANG values ('KH006',N'Pichon',N'Chung cư Vicentra,TP Vinh, Nghệ
An','Nam',N'09-12-2001','0345327964', '002374636475',N'Thái Lan')
SELECT*FROM KHACHHANG
Bảng HÓA ĐƠN
---TẠO BẢNG HÓA ĐƠN
CREATE TABLE HOADON
(
Mahoadon
char(5) primary key,
Ngaythanhtoan
datetime not null,
Tongtientt
int not null,
Donvi
varchar(5) not null,
Manhanvien
char(5) not null,
constraint fk_HOADON_NHANVIEN foreign key(Manhanvien) references
NHANVIEN(Manhanvien)
20
NHÓM 6
)
--- INSERT BẢNG HÓA ĐƠN
insert into HOADON values ('HD001','06-24-2020','1000000',N'VND','NV003')
insert into HOADON values ('HD002','12-09-2020','2000000',N'VND','NV004')
insert into HOADON values ('HD003','04-30-2020','3000000',N'VND','NV005')
insert into HOADON values ('HD004','12-10-2020','4000000',N'VND','NV006')
SELECT*FROM HOADON
Bảng PHIẾU ĐĂNG KÝ
--- TẠO BẢNG PHIẾU ĐĂNG KÝ
CREATE TABLE PHIEUDANGKY
(
Maphieudangky
char(5) primary key,
Makhachhang
char(5) not null,
Manhanvien
char(5)not null,
Ngaylap
datetime not null,
Ngaydi
datetime not null,
Maphong
char(5) not null,
Tratruoc
int,
Donvi
varchar(5) not null,
constraint fk_PHIEUDANGKY_KHACHHANG foreign key(Makhachhang) references
KHACHHANG(Makhachhang),
constraint fk_PHIEUDANGKY_NHANVIEN foreign key(Manhanvien) references
NHANVIEN(Manhanvien),
constraint fk_PHIEUDANGKY_PHONG foreign key(Maphong) references PHONG(Maphong),
)
--- INSERT BẢNG PHIẾU ĐĂNG KÝ
insert into PHIEUDANGKY values ('PDK01','KH001','NV003', '09-10-2020','09-12-2020',
'P103','300000',N'VND')
insert into PHIEUDANGKY values ('PDK02','KH002','NV003', '05-06-2020','05-07-2020',
'P205','200000',N'VND')
insert into PHIEUDANGKY values ('PDK03','KH003','NV004', '11-12-2020','11-15-2020',
'P101','100000',N'VND')
21
NHÓM 6
insert into PHIEUDANGKY values ('PDK04','KH004','NV004', '09-03-2020','09-05-2020',
'P306','150000',N'VND')
insert into PHIEUDANGKY values ('PDK05','KH005','NV006', '11-06-2020','12-07-2020',
'P105','250000',N'VND')
insert into PHIEUDANGKY values ('PDK06','KH006','NV005', '11-09-2020','11-11-2020',
'P402','300000',N'VND')
SELECT*FROM PHIEUDANGKY
Bảng PHIẾU DỊCH VỤ
--- TẠO BẢNG PHIẾU DỊCH VỤ
CREATE TABLE PHIEUDICHVU
(
Maphieudichvu
char(5) primary key,
Maphieudangky
char(5) not null,
Tendichvu
nvarchar(30) not null,
Giadichvu
int not null,
constraint fk_PHIEUDICHVU_PHIEUDANGKY foreign key(Maphieudangky) references
PHIEUDANGKY(Maphieudangky),
)
--- INSERT BẢNG PHIẾU DỊCH VỤ
insert into PHIEUDICHVU values ('PDV01','PDK01',N'Massage', '150000')
insert into PHIEUDICHVU values ('PDV02','PDK02',N'Massage', '150000')
insert into PHIEUDICHVU values ('PDV03','PDK03',N'Tổ chức sự kiện ', '200000')
insert into PHIEUDICHVU values ('PDV04','PDK04',N'Karaoke', '150000')
insert into PHIEUDICHVU values ('PDV05','PDK05',N'Giat la', '50000')
insert into PHIEUDICHVU values ('PDV06','PDK06',N'Karaoke', '150000')
22
NHĨM 6
SELECT*FROM PHIEUDICHVU
3.3 Truy vấn dữ liệu
--1.Tìm những nhân viên có chức vụ Lễ tân
SELECT * FROM NHANVIEN WHERE Machucvu =N'CV002'
--2.Tìm những hóa đơn có giá trên 1.000.000VND
SELECT * FROM HOADON WHERE Tongtientt > 1000000
--3.Cho biết các nhân viên sinh trước năm 1990
SELECT * FROM NHANVIEN WHERE YEAR(Ngaysinh) <1990
--4.Cho biết tên đầy đủ, tuổi của các nhân viên nữ >25
SELECT Hotennhanvien AS 'HO VA TEN',
YEAR (GETDATE()) - YEAR (Ngaysinh) AS 'TUOI'
23
NHÓM 6
FROM NHANVIEN WHERE Gioitinh = 'Nu' AND YEAR(GETDATE()) - YEAR(Ngaysinh) >25
--5.Tìm tên và số điện thoại của tất cả các khách hàng dùng phòng đơn
SELECT Hotenkhachhang, Sodienthoai
FROM KHACHHANG K,PHONG P,PHIEUDANGKY,LOAIPHONG LP
WHERE K.Makhachhang=PHIEUDANGKY.Makhachhang AND
PHIEUDANGKY.Maphong=P.Maphong
AND P.Maloaiphong=LP.Maloaiphong AND LP.Tenloaiphong=N'Single Bed Room'
--6.Sắp xếp nhân viên theo độ tuổi tăng dần
SELECT Hotennhanvien,YEAR (GETDATE()) - YEAR (Ngaysinh) AS 'TUOI'
24
NHÓM 6
FROM NHANVIEN
ORDER BY TUOI ASC
25