Tải bản đầy đủ (.pdf) (10 trang)

cơ sở dữ liệu cho hệ thống quản lý khách sạn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (553.95 KB, 10 trang )

Bài tập lớn cơ sở dữ liệu

MỤC LỤC

MỤC LỤC .............................................................................................................1
I.

MÔ TẢ CHUNG VỀ MỤC ĐÍCH CỦA HỆ THỐNG .............................. 2

II.

YÊU CẦU THIẾT KẾ..................................................................................2

III.

PHÁT BIỂU NGHIỆP VỤ .......................................................................2

Phân tích cơ sở dữ liệu hệ thống .........................................................................2
IV.
V.

XÂY DỰNG MƠ HÌNH THỰC THỂ LIÊN KẾT .................................3
Chuyển từ mơ hình thực thể liên kết sang mơ hình quan hệ....................5

VI.

Viết câu lệnh SQL cho việc khởi tạo các quan hệ: .................................8

VII.

Viết câu lệnh SQL thực hiện các nghiệp vụ hệ thống: .........................10



Nhóm 3

1


Bài tập lớn cơ sở dữ liệu

I.

MÔ TẢ CHUNG VỀ MỤC ĐÍCH CỦA HỆ THỐNG

Việc hoạt động quản lý của khách sạn hiện được quản lý 1 cách thủ công nên rất
mất thời gian.Việc lưu trữ bằng giấy làm cho dữ liệu khó tìm kiếm khi cần,tốn nhiều chi
phí giấy và nhân cơng,.. Vì vậy cần thiết kế 1 cơ sở DL quản lý khách sạn để giúp khách
sạn hoạt dộng hiệu quả hơn.

II.

YÊU CẦU THIẾT KẾ
Thiết kế cơ sở dữ liệu quản lý khách sạn có những yêu cầu sau:
-

-

III.

Quản lý khách hàng: Khi khách hàng ở khách sạn, thông tin về khách hàng
sẽ được nhập và lưu trữ. Khi cần thiết có thể sửa chữa và xóa thơng tin
khách hàng

Quản lý nhân viên:
Quản lý phịng: nhập thơng tin phịng,sữa chữa thơng tin phịng, xóa bỏ
thơng tin phịng
Quản lý dịch vụ
Thống kê thơng tin về khách hàng th, tình trạng phịng, doanh thu của
khách sạn.

PHÁT BIỂU NGHIỆP VỤ

Phân tích cơ sở dữ liệu hệ thống
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, phịng, nhân viên, dịch vụ, hố đơn.
Khách sạn có nhiều phịng cho th, thơng tin phịng gồm : ID phịng, loại phịng,
tình trạng, giá phịng, đơn vị giá tiền (mỗi phịng có một ID phịng duy nhất). Các phịng
đều được cập nhập tình trạng một cách thường xuyên: đã được sử dụng hay còn trống.
Mỗi phòng được quản lý bởi 1 nhân viên trong khách sạn và 1 nhân viên có thể quản lý
nhiều phịng. Nhân viên gồm có các thơng tin sau: ID nhân viên, họ và tên nhân viên,
ngày sinh, giới tính, địa chỉ , số điện thoại , chức vụ, lương, đơn vị (ID nhân viên cũng là
duy nhất).
Có nhiều khách hàng đến th phịng của khách sạn, mỗi khách hàng có thể th
nhiều phịng khác nhau và mỗi phịng có thể được thuê bởi nhiều khách hàng khác nhau
( cụ thể: khi khách hàng cũ trả phịng thì khách hàng mới có thể thuê). Mỗi khách hàng
có ID khách hàng là duy nhất, họ và tên khách hàng, ngày sinh, giới tính, số chứng minh
nhân dân, số điện thoại, quốc tịch. Mỗi khi khách hàng th phịng thì thơng tin được cập
nhập: ngày đến, ngày đi.

Nhóm 3

2



Bài tập lớn cơ sở dữ liệu
Khách sạn phục vụ nhiều loại dịch vụ, mỗi dịch vụ có tên dịch vụ, ID dịch vụ là
duy nhất, giá dịch vụ và đơn vị giá tiền. Mỗi khách hàng có thể sử dụng nhiều loại dịch
vụ và mỗi dịch vụ cũng được sử dụng bởi nhiều khách hàng khác nhau.
Hóa đơn sẽ được lập bởi một nhân viên, và mỗi nhân viên có thể lập nhiều hóa
đơn trong một ngày.
Hố đơn khi khách hàng thanh tốn trả phịng gồm có ID hố đơn là duy nhất,
ngày thanh toán, tổng tiền thanh toán, đơn vị giá tiền. Tổng tiền thanh toán được tổng hợp
từ thanh tốn buồng phịng và tiền thanh tốn sử dụng dịch vụ.
Từ tình hình kinh doanh của khách sạn có báo cáo doanh thu hàng tháng và báo
cáo doanh thu năm

IV.

XÂY DỰNG MƠ HÌNH THỰC THỂ LIÊN KẾT
1. Xác định thực thể:
- Trong hệ thống khách sạn có các thực thể sau:
KHACHHANG, PHONG, NHANVIEN, DICHVU, HOADON.
2. Xác định khóa:

+ KHACHHANG (IDKHACHHANG, HOVATEN, NGAYSINH, GIOITINH,
CMND, SDT, QUOCTICH ).
+ PHONG ( IDPHONG, LOAIPHONG, TINHTRANG, GIAPHONG, DONVI ).
+ NHANVIEN ( IDNHANVIEN, HOVATEN, NGAYSINH, GIOITINH,
DIACHI, SDT, CHUCVU, LUONG, DONVI).
+ DICHVU ( IDDICHVU, TENDICHVU, GIADICHVU ).
+ HOADON ( IDHOADON, NGAYTHANHTOAN, THANHTIEN, DONVI ).
3. Xác định mối quan hệ giữa các thực thể và thuộc tính cho mối quan hệ :


+ Th (KHACHHANG, PHONG)

Nhóm 3

3


Bài tập lớn cơ sở dữ liệu

+ Yêu cầu (KHACHHANG, DICHVU)

+ Có (KHACHHANG, HOA DON)

+ Lập (NHANVIEN, HOADON)

+ Quản lý (NHANVIEN, PHONG)

4. Vẽ sơ đồ ERD

Nhóm 3

4


Bài tập lớn cơ sở dữ liệu

V.

Chuyển từ mơ hình thực thể liên kết sang mơ hình quan hệ


- Xét quan hệ KHACHHANG – PHONG:

Đây là quan hệ n-n nên ta sẽ tạo ra một quan hệ mới có tên quan hệ là tên của mối
quan hệ và có thuộc tính là thuộc tính khóa của các tập thực thể lien quan.
+ KHACHHANG (IDKHACHHANG, HOVATEN, NGAYSINH, GIOITINH,
CMND, SDT, QUOCTICH ).
+ PHONG ( IDPHONG, LOAIPHONG, TINHTRANG, GIAPHONG, DONVI ).
→ THUE( IDKHACHHANG, IDPHONG, NGAYDEN,NGAYDI)

Nhóm 3

5


Bài tập lớn cơ sở dữ liệu
- Xét quan hệ KHACHHANG – DICHVU:

Tương tự như quan hệ KHACHHANG - PHONG ta sẽ tạo ra 1 quan hệ mới là
YEUCAU
+ KHACHHANG ( IDKHACHHANG, HOVATEN, NGAYSINH, GIOITINH,
CMND, SDT, QUOCTICH ).
+ DICHVU ( IDDICHVU, TENDICHVU, GIADICHVU ).
→ YEUCAU ( IDKHACHHANG, IDDICHVU, SOLUONG ).

-

Xét quan hệ KHACHHANG – HOADON:

Đây là quan hệ 1- n nên ta sẽ thêm thuộc tính khóa của quan hệ một vào quan hệ
nhiều.

→ HOADON ( IDHOADON, NGAYTHANHTOAN, THANHTIEN, DONVI,
IDKHACHHANG ).

-

Xét quan hệ NHANVIEN – PHONG:

Nhóm 3

6


Bài tập lớn cơ sở dữ liệu

Đây là quan hệ 1-n nên ta sẽ thêm thuộc tính khóa của quan hệ một vào quan hệ
nhiều.
→ PHONG ( IDPHONG, LOAIPHONG, TINHTRANG, GIAPHONG, DONVI,
IDNHANVIEN ).

- Xét quan hệ NHANVIEN – HOADON:

Đây là quan hệ 1-n nên ta sẽ thêm thuộc tính khóa của quan hệ một vào quan hệ
nhiều.
→ HOADON ( IDHOADON, NGAYTHANHTOANT, THANHTIEN, DONVI,
IDNHANVIEN ).

-

Ta có mơ hình quan hệ :


Nhóm 3

7


Bài tập lớn cơ sở dữ liệu

VI.

Viết câu lệnh SQL cho việc khởi tạo các quan hệ:

CREATE TABLE NHANVIEN(
IDNHANVIEN varchar(6) ,
HOVATEN nvarchar(30),
NGAYSINH date,
GIOITINH nvarchar(5),
DIACHI nvarchar(20),
SDT nvarchar(12),
CHUCVU nvarchar(20),
LUONG int,
DONVI nvarchar(10),
primary key (IDNHANVIEN),
);

CREATE TABLE PHONG(
IDPHONG varchar(6),
IDNHANVIEN varchar(6),
LOAIPHONG nvarchar(20),
TINHTRANG nvarchar(20),
GIAPHONG int,

DONVI nvarchar(10),
primary key (IDPHONG),
constraint fk_PHONG_NHANVIEN foreign key(IDNHANVIEN) references NHANVIEN(IDNHANVIEN),

Nhóm 3

8


Bài tập lớn cơ sở dữ liệu
);

CREATE TABLE KHACHHANG(
IDKHACHHANG varchar(6),
HOVATEN nvarchar(20),
NGAYSINH date,
GIOITINH nvarchar(5),
CMND int,
SDT nvarchar(12),
QUOCTICH varchar(20),
primary key (IDKHACHHANG),
);

CREATE TABLE DICHVU(
IDDICHVU varchar(6),
TENDICHVU Nvarchar(20),
GIADICHVU int,
DONVI Nvarchar(15),
primary key (IDDICHVU),
);


CREATE TABLE HOADON(
IDHOADON varchar(6) ,
IDKHACHHANG varchar(6),
IDNHANVIEN varchar(6),
NGAYTHANHTOAN date,
THANHTIEN int,
DONVI nvarchar(15),
primary key (IDHOADON),
constraint fk_HOADON_KHACHHANG foreign key(IDKHACHHANG) references
KHACHHANG(IDKHACHHANG),
constraint fk_HOADON_NHANVIEN foreign key(IDNHANVIEN) references NHANVIEN(IDNHANVIEN),
);

CREATE TABLE THUE(
IDPHONG varchar(6) ,
IDKHACHHANG varchar(6),
NGAYDEN date,
NGAYDI date,
primary key (IDPHONG,IDKHACHHANG),
constraint fk_THUE_PHONG foreign key(IDPHONG) references PHONG(IDPHONG),
constraint fk_THUE_KHACHHANG foreign key(IDKHACHHANG) references
KHACHHANG(IDKHACHHANG),
);

CREATE TABLE YEUCAU(
IDKHACHHANG varchar(6),
IDDICHVU varchar(6),
SOLUONG int,
primary key (IDKHACHHANG,IDDICHVU),

constraint fk_YEUCAU_KHACHHANG foreign key(IDKHACHHANG) references
KHACHHANG(IDKHACHHANG),
constraint fk_YEUCAU_DICHVU foreign key(IDDICHVU) references DICHVU(IDDICHVU),
);

Nhóm 3

9


Bài tập lớn cơ sở dữ liệu

VII.

Viết câu lệnh SQL thực hiện các nghiệp vụ hệ thống:

UPDATE NHANVIEN
SET SDT='+84' + SUBSTRING(SDT, 2, 12)

--Truy vấn đến các nhân viên nam
SELECT *
FROM NHANVIEN
WHERE GIOITINH='NAM'
--Truy vấn đến các nhân viên phòng
SELECT *
FROM NHANVIEN
WHERE CHUCVU ='NHÂN VIÊN PHÒNG'
--Truy vấn đến các nhân viên sinh năm 2001
SELECT *
FROM NHANVIEN

WHERE NGAYSINH like '%2001%'
--Truy vấn đến các phòng đang trống
SELECT *
FROM PHONG
WHERE TINHTRANG like '%TR%'
--truy vấn đến các phịng có giá dưới 1tr và đang cịn trống
SELECT *
FROM PHONG
WHERE GIAPHONG < 1000000 AND TINHTRANG like '%TR%'
--truy vấn đến khách hàng có quốc tiệc VIETNAM
SELECT *
FROM KHACHHANG
WHERE QUOCTICH = 'VIETNAM'
--truy vấn đến khách hàng có quốc tiệc VIETNAM và sinh năm 1996
SELECT *
FROM KHACHHANG
WHERE QUOCTICH = 'VIETNAM' and YEAR(NGAYSINH) = '1996'
--truy vấn đến khách hàng đến vào ngày 2022-10-05
SELECT*
FROM KHACHHANG
WHERE IDKHACHHANG IN(SELECT IDKHACHHANG
FROM THUE
WHERE NGAYDEN = '2022-10-05')
--truy vấn đến khách hàng có hóa đơn lớn hơn hoặc bẳng 30 000 000
SELECT *
FROM KHACHHANG
WHERE IDKHACHHANG IN(SELECT IDKHACHHANG
FROM HOADON
WHERE THANHTIEN >= 30000000)


Nhóm 3

10



×