1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phân tích thiết kế cơ sở dữ liệu SQL Quản lý khách sạn

39 664 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 673,65 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phân tích thiết kế cơ sở dữ liệu SQL mô hình Quản lý khách sạn phân tích và thiết kế cơ sở dữ liệu SQL để tiến hành xây dựng phần mềm, chương trình quản lý cho mô hình quản lý khách sạn hệ quản trị cơ sở dữ liệu SQL Server

Trang 1

CHỦ ĐỀ:

PHÂN TÍCH THIẾT KẾ CƠ SỞ DỮ LIỆU QUẢN LÝ KHÁCH SẠN

Trang 2

MỤC LỤC

Lời mở đầu……… 3

Nội dung I.Thiết lập Cơ Sở Dữ Liệu……….5

II.Xây dựng sơ đồ thực thể liên kết……… 8

III VIEW (Bảng Ảo)……… 17

IV SELECT (Thống Kê )……… 20

V STORE PROCEDUCE………26

VI TRIGGER ………33

Kết luận………40

Trang 3

Và để phần nào hiểu thêm về vấn đề này nhóm chúng emlựa chọn đề tài “Quản lý khách sạn” để đi nghiên cứu các nộidung, tìm hiểu kỹ hơn về những vấn đề trong cơ sở dữ liệu

Do thời gian hạn hẹp, cũng như kiến thức còn yếu kém nênbài báo cáo của chúng em còn nhiều thiếu xót, rất mong cô bỏqua và góp ý để nhóm chúng em có thể hoàn thiện bài báo cáotốt hơn nữa

Chúng em xin chân thành cảm ơn!

Trang 4

Loại Phòng :+ Phòng cao cấp có giá 500$/ngày

+ Phòng trung cấp có giá 150$/ngày

+ Phòng bình dân có giá 50$/ngày

1.2 Một Khách sạn có nhiều Nhân viên: Nhân viên có:

Trang 7

 Ngày sử dụng

* Một số ràng buộc khác

Người quản lý là một Nhân viên

Người quản lý là một Nhân viên

Mỗi Dịch vụ có một người quản lý

Người quản lý là một Nhân viên

Phòng Dịch vụ là một phòng

Người quản lý là một Nhân viên

II.Xây dựng sơ đồ thưc thể liên kết

Từ các khảo sát trên ta xây dựng sơ đồ thực thể liên kết baogồm:

Trang 8

tính khóa được gạch dưới)

-KHACHHANG: (MaKhachHang, TenKhachHang,

NgaySinh, DiaChi, GioiTinh, CMND, SĐT)

-PHIEUTHUE:(MaPhieuthue,SoLuongPhong,

MaKhachHang, NgayLap, MaNhanVien)

- NHANVIEN: (MaNhanVien, TenNhanVien, NgaySinh,GioiTinh, Diachi, Email, SDT, ChucVu)

- PHONG: (MaPhong, MaLoaiPhong, TinhTrang,SDTHoTro, GhiChu)

- CHITIETPT: (MaChiTietPT, MaKhachHang, MaPhong,SoLuongKHach, NgayThue, NgayTra, MaPhieuThue)

- DICHVU: (MaDichVu, TenDichVu, DonVi, GiaDichVu)

- LOAIPHONG: (MaLoaiPhong, TenLoai, LoaiPhong,GiaPhong)

Trang 9

– Chi tiết phòng thuê(ngày thuê, ngày trả, mã phiếu thuê)

2.4 Các mối liên kết:

– Nguoi QL là 1 Nhan Vien

– Nguoi QL quản lý một Dich Vu

– Nhan Vien làm việc cho Dich Vu

– Nhan Vien phục vụ Phong

– Phieu thue cho Dich Vu

– Phieu thue của Khach Hang

– Phong Dich vu là 1 Phong

– Khach Hang sử dụng Dich Vu

2.5 Mối liên kết

Cơ Sở Dữ Liệu Khách Sạn

Trang 10

Ngày sinh Ngày sinh

Làm việc

Sử dụng

Số lượng DV

Mã phiếu thuê

Mã phiếu DV

Mã nv Giới tính

CMND

Phòng Là 1

Thông tin

Của Phục vụ

Cho DV

Phiếu dịch vụ Loại phòng

Dịch vụ

Trang 12

Khóa ngoại: Không có

Trang 15

 Bảng dịch vụ

- DICHVU: (MaDichVu, TenDichVu, DonVi, GiaDichVu)

- CHITIETPT: (MaChiTietPT, MaKhachHang, MaPhong,SoLuongKHach, NgayThue, NgayTra, MaPhieuThue)

MaKhachHang

Trang 16

III VIEW (Bảng Ảo)

3.1 Cho biết mã khách hàng, ngày lập và mã nhân viên lập phiếu

thuê của tất cả các phiếu thuê

ON dbo.KHACHHANG.MaKhachHang =

dbo.PHIEUTHUE.MaKhachHang

*Kết quả:

Trang 17

3.2 Cho biết mã nhân viên, tên nhân viên và địa chỉ của 5 nhân

viên đầu tiên vào khách sạn

Trang 18

WHERE (GiaDichVu > 50000)

*Kết quả:

3.4 Liệt kê các nhân viên nữ có trong khách sạn

CREATE VIEW NV_NU

SELECT MaNhanVien, TenNhanVien, NgaySinh, GioiTinh, DiaChi, Email, SDT, ChucVu

FROM dbo.NHANVIEN

WHERE (GioiTinh = N'Nữ')

*Kết quả:

Trang 19

IV SELECT (Thống Kê )

4.1 Liệt kê danh sách khách hàng

SELECT * FROM KHACHHANG

*Kết quả:

Trang 20

4.2 Liệt kê danh sách các nhân viên của khách sạn

SELECT * FROM NHANVIEN

*Kết quả:

4.3 Cho biết danh sách khách sạn từ trước tới giờ đã có những

ai thuê phòng

Trang 21

dbo.PHONG.MaLoaiPhong = dbo.LOAIPHONG.MaLoaiPhongAND dbo.LOAIPHONG.LoaiPhong = 1

*Kết quả:

Trang 22

4.5 Cho biết tên dịch vụ, mã dịch vụ và giá dịch vụ?

select tendichvu, MaDichVu, DICHVU.GiaDichVu from dichvu

*Kết quả:

4.6 Cho biết những khách hàng nào đã từng thuê phòng 101?

SELECT MaKhacHang, MaPhong, NgayThue

FROM dbo.CHITIETPT

WHERE (MaPhong = 101)

*Kết quả:

Trang 23

4.7 Cho biết phòng 106 ở trong tình trạng nào (số liệu được cập

nhật theo thời gian thực) ?

4.8 Cho biết số lượng phòng trả trong ngày hôm nay?

SELECT COUNT(CHITIETPT.MaKhacHang) AS 'Số Người trả Hôm nay' FROM CHITIETPT WHERE DAY(NGAYTRA)=

Trang 24

AND MONTH(NGAYTRA) =

*Kết quả:

4.9 Liệt kê phòng trống ở thời điểm hiện tại.

SELECT * FROM PHONG

WHERE TinhTrang=0 AND MaPhong NOT IN (SELECT

WHERE NgayTra>CONVERT(date, getdate(),110))

*Kết quả:

Trang 25

SELECT COUNT(SoLuongDichVu) AS 'Số Lượng Dịch Vụ'

Phải Tồn tại Thì mới có dữ liệu để Update

IF EXISTS (SELECT MaLoaiPhong FROM LOAIPHONG

WHERE MaLoaiPhong=@MaLoaiPhong)

WHERE MaPhong=@MaPhong

Trang 27

UPDATE PHONG SET GhiChu=@GhiChu WHERE

Trang 28

IF NOT EXISTS (SELECT MaLoaiPhong FROM

Trang 29

PRINT @KQ

RETURN

INSERT INTO PHONG VALUES

5.5 Tìm kiếm khách hàng sao cho tên khách hàng phải gần đúng

và giới tính là chính xác hoàn toàn

CREATE PROC TK_KH_2

AS

Trang 30

SELECT * FROM KHACHHANG WHERE TenKhachHang

IF NOT EXISTS (SELECT MaLoaiPhong FROM

Trang 31

CREATE PROC INSERT_LOAIPHONG

AS

IF EXISTS (SELECT MaLoaiPhong FROM LOAIPHONG

WHERE MaLoaiPhong=@MaLoaiPhong)

BEGIN

RAISERROR('Lỗi',16,1)

RETURN

END

INSERT INTO LOAIPHONG

VALUES(@MaLoaiPhong,@TenLoai,@GiaPhong)

Trang 32

IF EXISTS (SELECT MaLoaiPhong FROM LOAIPHONG

WHERE MaLoaiPhong=@MaLoaiPhong)

VI TRIGGER

6.1 Kiểm soát giá trị dịch vụ khi thêm phải lớn hơn 0.

Trang 33

DECLARE @GiaDichVu int

DECLARE @MaDichVu nvarchar(50)

Trang 34

6.2 Tạo Trigger để tất cả các trường của khách hàng phải được

khai bao 7 bien luu tru

Declare @MaKhachHang nvarchar(50)

Declare @TenKhachHang nvarchar(50)

Declare @NgaySinh datetime

Declare @DiaChi nvarchar(50)

Declare @GioiTinh nvarchar(50)

Declare @CMND nvarchar(50)

Trang 35

@TenKhachHang=inserted.TenKhachHang,

@DiaChi=inserted.DiaChi,

null))

BEGIN

PRINT N'Thông Tin Khách Hàng Phải đầy đủ'

print'Thêm Khách Hàng Thất Bại'

rollback tran

END

Trang 36

BEGIN

PRINT'Thêm Thành Công'

END

6.3 Thêm Trigger sao cho ngày đặt và ngày trả phải lớn hơn

ngày hiện tại

CREATE TRIGGER insert_trigger_ChiTietpt

Trang 37

END

ELSE

PRINT 'Thành Công'

6.4 Ngăn không cho xóa nhiều bản ghi cùng 1 lúc

CREATE TRIGGER Delete_trigger_Dichvu

6.5 Tạo Trigger cho biến cố Delete khi cố tình xóa khách hàng

CREATE TRIGGER [dbo].[CAMXOA]

Trang 38

ON [dbo].[KHACHHANG]

FOR DELETE

AS IF EXISTS (SELECT KHACHHANG.MaKhachHang

ON

Trang 39

KẾT LUẬN

Sau một thời gian nỗ lực thiết kế Cơ Sở Dữ Liệu, Với đềtài “PHÂN TÍCH THIẾT KẾ CƠ SỞ DỮ LIỆU QUẢN LÝKHÁCH SẠN”đã được hoàn thành Qua quá trình thử nghiệmtrong của thành viên trong nhóm , hệ thống đã đạt được một sốkết quả nhất định sau: Thiết kế diagram cho cơ sở dữ liệu, nhậpliệu đầy đủ cho các bảng, thiết kế bảng ảo , thống kê, storeprocedure , và trigger

Tuy vậy do trình độ kiến thức còn hạn chế, nên hệ thốngcòn nhiều sai sót và chưa được hoàn chỉnh Chúng em rất mongnhận được sự chỉ bảo của cô và các bạn để hệ thống trong tươnglai sẽ được hoàn thiện hơn

Ngày đăng: 28/04/2020, 08:29

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w