1. Trang chủ
  2. » Công Nghệ Thông Tin

Báo cáo môn Hệ quản trị cơ sở dữ liệu oracle, đề tài quản lý khách sạn trên oracle

24 1,6K 13

Đ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 24
Dung lượng 631,01 KB

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

Nội dung

MỤC LỤC LỜI CẢM ƠN 2 MỤC LỤC 3 NỘI DUNG THỰC HIỆN 5 1. Database diagram: 5 2. Contsraints (Ràng buộc) 6 2.1. Ràng buộc trên bảng KhachHang: 6 2.2. Ràng buộc trên bảng Phong: 6 2.3. Ràng buộc trên bảng PhieuThuePhong: 6 3. Triggers 6 3.1. Trigger trên bảng HoaDon 6 4. Stored procedures 8 4.1. Thêm khách hàng mới 8 4.2. Cập nhập thông tin khách hàng 8 4.3. Thêm phòng mới: 9 4.4. Cập nhập thông tin phòng: 9 4.5. Xoá thông tin phòng: 10 4.6. Thêm loại phòng: 10 4.7. Cập nhập loại phòng: 11 4.8. Xoá loại phòng: 11 4.9. Thêm phiếu thuê phòng: 12 4.10. Thêm chi tiết thuê phòng 12 4.11. Thêm sử dụng dịch vụ: 13 4.12. Xoá sử dụng dịch vụ: 13 4.13. Xác nhận trả phòng: 14 4.14. Thêm dịch vụ mới: 15 4.15. Cập nhật thông tin dịch vụ: 16 4.16. Xoá dịch vụ 16 4.17. Thống kê 17 5. Create Function 18 6. Create Transaction 19 7. Create View 20 7.1. View chi tiết thuê phòng 20 7.2. View chi tiết dịch vụ phòng 20 8. Create index 21 9. Phân quyền user: 22 10. Kết nối hai máy 23

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HỒ CHÍ MINH

KHOA CÔNG NGHỆ THÔNG TIN

Trần Nhật Tiền 11110143

Trang 2

LỜI CẢM ƠN

Chúng em xin chân thành cảm ơn TS Nguyễn Thành Sơn đã tận tình hướng dẫn chúng

em qua từng buổi học trên lớp cũng như những buổi nói chuyện, thảo luận về các vấn đề liên quan đến môn học cũng như những hành trang cần thiết mà em cần phải trang bị cho con đường vào đời của mình Nếu không có những lời hướng dẫn, dạy bảo của thầy thì

em nghĩ bài thu hoạch này của em rất khó có thể hoàn thiện được Một lần nữa, em xin chân thành cảm ơn thầy.

Lời cuối cùng, chúng em xin kính chúc Thầy TS Nguyễn Thành Sơn thật dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau.

Trân trọng.

TP.HCM, ngày 02 tháng 12 năm 2014 Nhóm sinh viên thực hiện Trần Nhật Tiền 111110143 Cáp Thị Hăng 11110039

Trang 3

MỤC LỤC

LỜI CẢM ƠN 2

MỤC LỤC 3

NỘI DUNG THỰC HIỆN 5

1 Database diagram: 5

2 Contsraints (Ràng buộc) 6

2.1 Ràng buộc trên bảng KhachHang: 6

2.2 Ràng buộc trên bảng Phong: 6

2.3 Ràng buộc trên bảng PhieuThuePhong: 6

3 Triggers 6

3.1 Trigger trên bảng HoaDon 6

4 Stored procedures 8

4.1. Thêm khách hàng mới 8

4.2. Cập nhập thông tin khách hàng 8

4.3. Thêm phòng mới: 9

4.4. Cập nhập thông tin phòng: 9

4.5. Xoá thông tin phòng: 10

4.6. Thêm loại phòng: 10

4.7. Cập nhập loại phòng: 11

4.8. Xoá loại phòng: 11

4.9. Thêm phiếu thuê phòng: 12

4.10. Thêm chi tiết thuê phòng 12

4.11. Thêm sử dụng dịch vụ: 13

4.12. Xoá sử dụng dịch vụ: 13

4.13. Xác nhận trả phòng: 14

4.14. Thêm dịch vụ mới: 15

4.15. Cập nhật thông tin dịch vụ: 16

4.16. Xoá dịch vụ 16

4.17. Thống kê 17

5 Create Function 18

6 Create Transaction 19

7 Create View 20

7.1 View chi tiết thuê phòng 20

Trang 4

7.2 View chi tiết dịch vụ phòng 20

8 Create index 21

9 Phân quyền user: 22

10 Kết nối hai máy 23

Trang 5

NỘI DUNG THỰC HIỆN

1 Database diagram:

Cơ sở dữ liệu gồm có 8 bảng: KHACHHANG (khách hàng), PHIEUTHUEPHONG (phiếu thuê phòng), CHITIETTHUEPHONG (chi tiết thuê phòng), PHONG (phòng), LOAIPHONG (Loại phòng), DICHVU (dịch vụ), CHITIETSUDUNGDICHVU (chi tiết

sử dụng dịch vụ), HOADON (Hoá đơn) Quan hệ giữa các bảng được thể hiện như hình trên.

Trang 6

2 Contsraints (Ràng buộc)

2.1 Ràng buộc trên bảng KhachHang:

Câu lệnh

CONSTRAINT "KHACHHANG_CHK_GIOITINH" CHECK (

GioiTinh ='Nam' or GioiTinh='Nu')

Ràng buộc này chỉ cho phép trường “TinhTrang” nhận giá trị 1 hoặc 0.

2.3 Ràng buộc trên bảng PhieuThuePhong:

3.1 Trigger trên bảng HoaDon

Tạo sequence: identity3_Seq

create sequence IDENTITY3_SEQ start with 1 increment by 1 nomaxvalue ;

Tạo trigger:

Giải thích: trigger tạo trường MaHoaDon tự tăng giá trị Mỗi khi một thêm một hoá đơn mới, thì trigger sẽ thực hiện tạo một MaHoaDon mới tăng một đơn vị trước ghi câu lệnh insert được thực hiện.

FOR EACH ROW

BEGIN

SELECT IDENTITY3_SEQ.nextval INTO :NEW.MAHOADON FROM DUAL; END ;

Trang 7

p_SDT in VARCHAR2) IS

Trang 9

4.5 Xoá thông tin phòng:

Trang 11

4.9 Thêm phiếu thuê phòng:

4.10 Thêm chi tiết thuê phòng

CREATE OR REPLACE PROCEDURE SPThemPhieuThuePhong (

INSERT INTO phieuthuephong(maphong, ngaythue, trangthai)

VALUES (p_maphong, p_ngaythue, p_tinhtrang);

UPDATE Phong SET TinhTrang= 1 WHERE

Trang 17

o_SoLuotKhach out Number,

o_TongTienPhong out Number,

o_TongTienDichVu out Number,

o_TongDoachThu out Number)

Trang 19

6 Create Transaction

Giải thích:

Trong stored procedure “spxacnhantraphong” ta thực hiện 3 câu lệnh truy vấn như hình trên Ba câu lệnh này phải nằm trong một transaction Ta đặt một điểm

“SavePoint” là “AA” Nếu tất cả các câu lệnh đều hoàn tất thì “commit” không thì ta

sẽ “Rollback” lại vị trí “AA”.

CREATE OR REPLACE PROCEDURE SPXacNhanTraPhong (

Trang 20

7 Create View

7.1 View chi tiết thuê phòng

Giải thích:

Tạo view có tên là V_CHITIETTHUEPHONG View này sẽ hiển thị thông tin

chi tiết về các phòng đang thuê gồm mã phòng, mã phiếu, tên khách hàng, số

CMND, ngày thuê phòng, và giá phòng.

7.2 View chi tiết dịch vụ phòng

Giải thích :

Tạo view có tên là V_CHITIETDICHVUPHONG View này sẽ hiển thị chi tiết

thông tin sử dụng dịch vụ của các phòng đang thuê.

CREATE VIEW V_CHITIETTHUEPHONG ("TENKH", "CMND", "MAPHONG",

"MASOPHIEU", "NGAYTHUE", "GIAPHONG")

AS

Select

TenKH,CMND,PhieuThuePhong.MaPhong,ChiTietThuePhong.masophieu,NgayThue,GiaPhong from KhachHang,ChiTietThuePhong,PhieuThuePhong,Phong,LoaiPhong

CREATE VIEW V_CHITIETDICHVUPHONG ("MAPHONG", "MASOPHIEU",

"TENDICHVU", "NGAYSUDUNG", "SOLUONG", "DONGIA")

AS

select MaPhong,PhieuThuePhong.masophieu,TenDichVu,NgaySuDung,SoLuong,DonGia from ChiTietSuDungDichVu, PhieuThuePhong,DichVu

where ChiTietSuDungDichVu.masophieu=PhieuThuePhong.masophieu

and DichVu.MaDichVu=ChiTietSuDungDichVu.MaDichVu

and trangthai=0;

Trang 22

9 Phân quyền user:

Tạo user:

CREATE USER nhattien IDENTIFIED BY 123456 ;

Cấp quyền cho user:

- GRANT create session to nhattien;

Giải thích: cấp quyền này để user ‘nhattien’ có thể truy cập vào database

Tạo role:

CREATE ROLE role_khachhang;

Cấp quyền cho role:

GRANT SELECT, UPDATE, INSERT, DELETE ON KhachHang To

role_khachhang;

GRANT SELECT ON V_KHACHHANG To role_khachhang;

Giải thích: cấp các quyền select, update, insert, delete trên bảng khách hàng, cấp quyền select trên view ‘V_khachHang’ cho role ‘role_khachhang’.

Gán role cho user:

GRANT role_khachhang TO nhattien;

Trang 23

10 Kết nối hai máy

Bước 1: Tiến hành đặt địa chỉ IP tĩnh cho hai máy và Ping kết nối để kiểm tra kết nối thành công hay không.

Bước 2: Oracle của máy client truy cập vào cơ sở dữ liệu của máy server, các bước được mô tả trong hình bên dưới

Trang 24

Mặt khác: Khi ta muốn kết nối máy client đến database của máy server thông qua ứng

dụng đã xây dưng Ta chỉ cần gán địa chỉ IP máy server, tên user, mật khẩu bên server

đã cấp cho vào chuỗi kết nối như sau:

(HOST= 192.168.1.3 )(PORT=1521))) (CONNECT_DATA=(SERVER=DEDICATED) (SERVICE_NAME=orcl)));" + "User Id= Hang1 ;Password= capthihang ;”

Ngày đăng: 02/12/2014, 20:38

TỪ KHÓA LIÊN QUAN

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

w