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

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

Đ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

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

CHỦ ĐỀ: PHÂN TÍCH THIẾT KẾ CƠ SỞ DỮ LIỆU QUẢN LÝ KHÁCH SẠN MỤC LỤC Lời mở đầu……………………………………………… 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…………………… III VIEW (Bảng Ảo)…………………………………… 17 IV SELECT (Thống Kê )……………………………… 20 V STORE PROCEDUCE………………………………26 VI TRIGGER ……………………………………………33 Kết luận……………………………………………………40 LỜI MỞ ĐẦU Ngày nay, sở liệu có nhiều ứng dụng hoạt động xã hội, đặc biệt việc quản lý liệu bán hàng, trường học hay liệu quản lý khách sạn… Muốn thiết kế sử dụng sở liệu cần phải nắm kỹ thuật sở liệu mơ hình liên kết thực thể ER, lược đồ quan hệ, dạng chuẩn, câu lệnh truy vấn… Và để phần hiểu thêm vấn đề nhóm chúng em lựa chọn đề tài “Quản lý khách sạn” để nghiên cứu nội dung, tìm hiểu kỹ vấn đề sở liệu Do thời gian hạn hẹp, kiến thức yếu nên báo cáo chúng em nhiều thiếu xót, mong bỏ qua góp ý để nhóm chúng em hoàn thiện báo cáo tốt Chúng em xin chân thành cảm ơn! NỘI DUNG I.Thiết lập Cơ Sở Dữ Liệu 1.1 Một Khách sạn có nhiều Phòng: Phòng có:      Mã phòng Mã loại phòng Tình trạng Số điện thoại hỗ trợ Ghi 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ó:         Mã nhân viên Tên nhân viên Ngày sinh Giới tinh Địa Email Số điện thoại Chức vụ 1.3 Một Khách sạn có nhiều Dịch vụ: Dich Vụ có:     Mã dịch vụ Tên dịch vụ Đơn vị Giá dịch vụ 1.4 Thông tin Khách hàng Khách sạn bao gồm:        Mã khách hàng Tên khách hàng Ngày sinh Địa Giới tính Chứng minh nhân dân Số điện thoại 1.5 Thông tin Chi tiết phiếu thuê Khách hàng khách sạn bao gồm:        Mã chi tiết phòng thuê Mã khách hàng Mã phòng Số lượng khách Ngày thuê Ngày trả Mã phiếu thuê 1.6 Thơng tin Phiếu th phòng Khách hàng bao gồm:  Mã phiếu thuê  Mã khách hàng  Ngày lập  Mã nhân viên 1.7 Thông tin Loại phòng Khách sạn gồm :  Mã loại phòng  Tên loại  Giá phòng 1.8 Thơng tin Phiếu dịch vụ Khách sạn gồm :      Mã phiếu dịch vụ Mã dịch vụ Mã phiếu thuê Số lượng dịch vụ Ngày sử dụng * Một số ràng buộc khác Người quản lý Nhân viên Mỗi Dịch vụ có người quản lý Phòng Dịch vụ phòng II.Xây dựng sơ đồ thưc thể liên kết Từ khảo sát ta xây dựng sơ đồ thực thể liên kết bao gồm: 2.1 Các thực thể:         Nhan Vien Dich Vu Khach Hang Phong Phiếu thuê Chi tiết phiếu thuê Loại phòng Phiếu dịch vụ 2.2 Các tập thực thể bao gồm thuộc tính: (Các thuộc tính khóa 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) - PHIEUDICHVU: (MaPhieuDichVu, MaDichVu, MaPhieuThue, SoLuongDichVu, NgaySuDung) 2.3 Thuộc tính kết nối: – Chi tiết phòng th(ngày th, ngày trả, mã phiếu thuê) 2.4 Các mối liên kết: – Nguoi QL Nhan Vien – Nguoi QL quản lý Dich Vu – Nhan Vien làm việc cho Dich Vu – Nhan Vien phục vụ Phong – Phieu thue cho Dich Vu – Phieu thue Khach Hang – Phong Dich vu Phong – Khach Hang sử dụng Dich Vu  Khách hàng thuê Phòng Phòng Dich vu 2.5 Mối liên kết Cơ Sở Dữ Liệu Khách Sạn Tên KH Của SĐT hàng Khách Ngày sinh Tên NV SL phòng Mã PT Địa Ngày sinh Mã KH Giới tính Mã KH Ngày lập Mã nv Giới tính email NV Nhân viên Mã NV Phiếu thuê Sdt Chức vụ Địa CMND Làm việc Thông tin Cho DV Sử dụng Mã Kh MÃ CTPT Mã DV Tên DV Dịch vụ Chi tiết phòng thuê MÃ Phòng Đơn vị Giá DV SL Khách MÃ PT Phục vụ Ngày Trả Ngày thuê Của Ngày sinh Mã LP Phòng Tình trạng SĐT hỗ trợ Mã Phòng Tên loại Mã LP Ghi Mã DV Phiếu dịch vụ Loại phòng Là Mã phiếu DV Mã phiếu thuê Giá phòng Số lượng DV Ngày SD 2.6 Database Diagrams 2.7 Dữ liệu bảng  Bảng phòng PHONG: (MaPhong, MaLoaiPhong, TinhTrang, SDTHoTro, GhiChu)  Khóa chính: MaPhong 10 V STORE PROCEDUCE 5.1 Cập nhật Phòng CREATE PROC UPDATE_PHONG @MaPhong nvarchar(50), @MaLoaiPhong nvarchar(50), @TinhTrang nvarchar(50), @SDTHoTro nvarchar(50), @GhiChu nvarchar(50) AS DECLARE @KQ nvarchar(50) Phải Tồn Thì có liệu để Update IF EXISTS (SELECT MaLoaiPhong FROM LOAIPHONG WHERE MaLoaiPhong=@MaLoaiPhong) UPDATE PHONG SET MaLoaiPhong=@MaLoaiPhong WHERE MaPhong=@MaPhong ELSE BEGIN SET @KQ='Khơng Tồn Tại Loại Phòng Này' PRINT @KQ RETURN 24 END IF NOT EXISTS (SELECT MaPhong FROM PHONG WHERE MaPhong=@MaPhong) BEGIN SET @KQ='Mã Phòng SAI!!' PRINT @KQ RETURN END IF @TinhTrang IS NOT NULL UPDATE PHONG SET TinhTrang=@TinhTrang WHERE MaPhong=@MaPhong IF @SDTHoTro IS NOT NULL UPDATE PHONG SET SDTHoTro=@SDTHoTro WHERE MaPhong=@MaPhong IF @GhiChu IS NOT NULL UPDATE PHONG SET GhiChu=@GhiChu WHERE MaPhong=@MaPhong 5.2 Xóa Phòng CREATE PROC DELETE_PHONG 25 @MaPhong nvarchar(50), @MaLoaiPhong nvarchar(50), @TinhTrang nvarchar(50), @SDTHoTro nvarchar(50), @GhiChu nvarchar(50) AS DECLARE @KQ nvarchar(50) IF NOT EXISTS (SELECT MaPhong FROM PHONG WHERE MaPhong=@MaPhong) BEGIN SET @KQ='Mã Phòng SAI!!' PRINT @KQ RETURN END DELETE PHONG WHERE MaPhong=@MaPhong 5.3 Thêm Phòng CREATE PROC INSERT_PHONG @MaPhong nvarchar(50), @MaLoaiPhong nvarchar(50), 26 @TinhTrang nvarchar(50), @SDTHoTro nvarchar(50), @GhiChu nvarchar(50) AS DECLARE @KQ nvarchar(50) IF NOT EXISTS (SELECT MaLoaiPhong FROM LOAIPHONG WHERE MaLoaiPhong=@MaLoaiPhong) BEGIN SET @KQ='Khơng Tồn Tại Loại Phòng Này' PRINT @KQ RETURN END IF EXISTS (SELECT MaPhong FROM PHONG WHERE MaPhong=@MaPhong) BEGIN SET @KQ='Mã Phòng Đã Tồn Tại' PRINT @KQ RETURN END 27 INSERT INTO PHONG VALUES (@MaPhong,@MaLoaiPhong,@TinhTrang,@SDTHoTro,@Ghi Chu) 5.4 Tìm kiếm gần tên khách hàng CREATE PROC TK_KH @TenKhachHang nvarchar(50) AS SELECT * FROM KHACHHANG WHERE TenKhachHang LIKE '%' +@TenKhachHang+'%' 5.5 Tìm kiếm khách hàng cho tên khách hàng phải gần giới tính xác hồn toàn CREATE PROC TK_KH_2 @TenKhachHang nvarchar(50), @GioiTinh nvarchar(50) AS SELECT * FROM KHACHHANG WHERE TenKhachHang LIKE '%'+@TenKhachHang+'%'AND GioiTinh=@GioiTinh 5.6 Xóa Loại phòng 28 CREATE PROC DELETE_LOAIPHONG @MaLoaiPhong nvarchar(50), @TenLoai nvarchar(50), @GiaPhong int AS DECLARE @KQ nvarchar(50) IF NOT EXISTS (SELECT MaLoaiPhong FROM LOAIPHONG WHERE MaLoaiPhong=@MaLoaiPhong) BEGIN SET @KQ='Mã Phòng SAI!!' PRINT @KQ RETURN END DELETE LOAIPHONG WHERE @MaLoaiPhong=MaLoaiPhong 5.7 Thêm Loại phòng CREATE PROC INSERT_LOAIPHONG @MaLoaiPhong nvarchar(50), @TenLoai nvarchar(50), @GiaPhong int 29 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) 5.8 Cập nhật Loại phòng ALTER PROC [dbo].[UPDATE_LOAIPHONG] @MaLoaiPhong nvarchar(50), @TenLoai nvarchar(50), @GiaPhong int AS DECLARE @KQ nvarchar(50) IF EXISTS (SELECT MaLoaiPhong FROM LOAIPHONG WHERE MaLoaiPhong=@MaLoaiPhong) BEGIN SET @KQ=N'Mã Loại Phòng Không Tồn tại!!' 30 PRINT @KQ RETURN END IF @TenLoai IS NOT NULL UPDATE LOAIPHONG SET TenLoai=@TenLoai WHERE MaLoaiPhong=@MaLoaiPhong IF @GiaPhong IS NOT NULL UPDATE LOAIPHONG SET GiaPhong=@GiaPhong WHERE MaLoaiPhong=@MaLoaiPhong VI TRIGGER 6.1 Kiểm soát giá trị dịch vụ thêm phải lớn CREATE TRIGGER KIEMSOAT_DV ON DICHVU FOR INSERT AS DECLARE @GiaDichVu int DECLARE @MaDichVu nvarchar(50) 31 SELECT @GiaDichVu=GiaDichVu,@MaDichVu=MaDichVu FROM Inserted IF (@GiaDichVu

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