quản lý khách sạn

32 911 2
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

ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN PHẦN I: KIẾN THỨC VÀ NỀN TẢNG VỀ SQL SERVER 2005 Giới thiệu SQL Server 2005 SQL Server 2005 hệ thống quản lý sở liệu (Relational Database Management System (RDBMS)) sử dụng Transact-SQL để trao đổi liệu Client computer SQL Server computer Một RDBMS bao gồm databases, database engine ứng dụng dùng để quản lý liệu phận khác RDBMS SQL Server 2005 tối ưu để chạy môi trường sở liệu lớn (Very Large Database Environment) lên đến Tera-Byte phục vụ lúc cho hàng ngàn user SQL Server 2005 kết hợp "ăn ý" với server khác Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server Các phiên SQL Server 2005: Enterprise: Hỗ trợ không giới hạn số lượng CPU kích thước Database Hỗ trợ không giới hạn RAM (nhưng tùy thuộc vào kích thước RAM tối đa mà HĐH hỗ trợ) hệ thống 64bit Standard: Tương tự Enterprise hỗ trợ CPU Ngoài phiên không trang bị số tính cao cấp khác Workgroup: Tương tự Standard hỗ trợ CPU tối đa 3GB RAM Express: Bản miễn phí, hỗ trợ tối đa 1CPU, 1GB RAM kích thước Database giới hạn 4GB Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN Structured Query Language (SQL) 2.1 SQL ngôn ngữ sở liệu quan hệ SQL viết tắt Structured Query Language (ngôn ngữ hỏi có cấu trúc), công cụ sử dụng để tổ chức, quản lý truy xuất liệu đuợc lưu trữ sở liệu SQL hệ thống ngôn ngữ bao gồm tập câu lệnh sử dụng để tương tác với sở liệu quan hệ Khả SQL vượt xa so với công cụ truy xuất liệu, mục đích ban đầu SQL xây dựng nên truy xuất liệu chức quan trọng SQL sử dụng để điều khiển tất chức mà hệ quản trị sở liệu cung cấp cho người dùng bao gồm: • Định nghĩa liệu: SQL cung cấp khả định nghĩa sở liệu, cấu trúc lưu trữ tổ chức liệu mối quan hệ thành phần liệu • Truy xuất thao tác liệu: Với SQL, người dùng dễ dàng thực thao tác truy xuất, bổ sung, cập nhật loại bỏ liệu sở liệu • Điều khiển truy cập: SQL sử dụng để cấp phát kiểm soát thao tác người sử dụng liệu, đảm bảo an toàn cho sở liệu Đảm bảo toàn vẹn liệu: SQL định nghĩa ràng buộc toàn vẹn sở liệu nhờ đảm bảo tính hợp lệ xác liệu trước thao tác cập nhật lỗi hệ thống Như vậy, nói SQL ngôn ngữ hoàn thiện sử dụng hệ thống sở liệu thành phần thiếu hệ quản trị sở liệu Mặc dù SQL ngôn ngữ lập trình C, C+ +, Java, song câu lệnh mà SQL cung cấp nhúng vào ngôn ngữ lập trình nhằm xây dựng ứng dụng tương tác với sở liệu Khác với ngôn ngữ lập trình quen thuộc C, C++, Java, SQL ngôn ngữ có tính khai báo Với SQL, người dùng cần mô tả yêu cầu cần phải thực sở liệu mà không cần phải cách thức thực yêu cầu Chính vậy, SQL ngôn ngữ dễ tiếp cận dễ sử dụng Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN 2.2 Vai trò SQL Bản thân SQL hệ quản trị sở liệu, tồn độc lập SQL thực phần hệ quản trị sở liệu, xuất hệ quản trị sở liệu với vai trò ngôn ngữ công cụ giao tiếp người sử dụng hệ quản trị sở liệu Trong hầu hết hệ quản trị sở liệu quan hệ, SQL có vai trò sau: SQL ngôn ngữ hỏi có tính tương tác: Người sử dụng dễ dàng thông qua trình tiện ích để gởi yêu cầu dạng câu lệnh SQL đến sở liệu nhận kết trả từ sở liệu SQL ngôn ngữ lập trình sở liệu: Các lập trình viên nhúng câu lệnh SQL vào ngôn ngữ lập trình để xây dựng nên chương trình ứng dụng giao tiếp với sở liệu SQL ngôn ngữ quản trị sở liệu: Thông qua SQL người quản trị sở liệu quản lý sở liệu, định nghĩa cấu trúc lưu trữ liệu điều khiển truy cập sở liệu, SQL ngôn ngữ cho hệ thống khách chủ (client/server): Trong hệ thống liệu khách chủ, SQL sử dụng công cụ để giao tiếp trình ứng dụng máy khách với máy chủ sở liệu SQL ngôn ngữ truy cập liệu Internet: Cho đến nay, hầu hết máy chủ Web máy chủ Internet sử dụng SQL với vai trò ngôn ngữ để tương tác với liệu sở liệu SQL ngôn ngữ sở liệu phân tán: Đối với hệ quản trị sở liệu phân tán, hệ thống sử dụng SQL để giao tiếp với hệ thống khác mạng, gởi nhận yêu cầu truy xuất liệu với SQL ngôn ngữ sử dụng cho cổng giao tiếp sở liệu: Trong hệ thống mạng máy tính với nhiều hệ quản trị sở liệu khác nhau, SQL thường sử dụng chuẩn ngôn ngữ để giao tiếp hệ quản trị sở liệu Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN 2.3 Giới thiệu sơ lược Transact SQL (T-SQL) Transact-SQL ngôn ngữ SQL mở rộng dựa SQL chuẩn ISO (International Organization for Standardization) ANSI (American National Standards Institute) sử dụng SQL Server khác với P-SQL (Procedural-SQL) dùng Oracle SQL chuẩn bao gồm khoảng 40 câu lệnh.Trong hệ quản trị sở liệu khác nhau, câu lệnh có dạng mục đích sử dụng song hệ quản trị sở liệu có số thay đổi Điều dẫn đến cú pháp chi tiết câu lệnh khác hệ quản trị cơ sở liệu khác Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN PHẦN II: MÔ HÌNH DỮ LIỆU Mô hình thực thể kết hợp: Mô hình quan hệ: Khach( makhach, tenkhach, socmnd, diahi, sodienthoai) Dangky( sodk, makhach, sophong, ngaydk) Phong( sophong, maloaiphong) Loaiphong( maloaiphong, tenloaiphong, giathuengay, giathuentuan) Phieuthanhtoan( maphieu, sophong, makhach, ngaynhanphong, ngaytraphong, tongtienphong, tongtiendichvu) Dichvu( madichvu, tendichvu, donvitinh, dongia, ghichu) Chitietdichvu( machitiet, maphieu, madichvu, soluong) Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN PHẦN III: NỘI DUNG VÀ KẾT QUẢ CÀI ĐẶT MÔ HÌNH TRÊN SQL SERVER Mô hình vật lý liệu Là mô hình liệu cài đặt máy vi tính hệ quản trị sở liệu Ứng với lược đồ quan hệ mô hình tổ chức liệu, liệu cài đặt thành tệp sở liệu gồm cột: tên trường, kiểu liệu, độ lớn phần ràng buộc liệu Với toán "Quản lý khách sạn" mô hình hoá liệu cài đặt máy hệ quản trị sở liệu "Java kết nối với Microsoft SQL 2005" Ứng với lược đồ quan hệ mô hình tổ chức liệu, liệu cài đặt dạng bảng_Table sau: • KHACH(makhach, tenkhach, socmnd, diachi, sodienthoai) Tên trường Makhach Tenkhach Socmnd Diachi Sodienthoai Kiểu liệu Nvarchar Nvarchar Nvarchar Nvarchar Nvarchar Độ lớn 10 30 10 30 11 Ràng buộc liệu Khóa • DICHVU(madichvu, tendichvu, donvitinh, dongia, ghichu) Tên trường Madichvu Tendichvu Donvitinh Dongia Ghichu Kiểu liệu Nvarchar Nvarchar Nvarchar Numeric Nvarchar Độ lớn 10 20 10 Ràng buộc liệu Khóa 30 • LOAIPHONG(maloaiphong, tenloaiphong, giathuengay, giathuetuan) Tên trường Maloaiphong Tenloaiphong Giathuengay Giathuetuan Kiểu liệu Nvarchar Nvarchar Numeric Numeric Độ lớn 10 20 Ràng buộc liệu Khóa Độ lớn 10 Ràng buộc liệu Khóa Khóa ngoại • PHONG(sophong, maloaiphong) Tên trường Sophong Maloaiphong Kiểu liệu Nvarchar Nvarchar Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN • DANGKY(sodk, makhach, sophong, ngaydk) Tên trường Sodk Makhach Sophong Ngaydk Kiểu liệu Nvarchar Nvarchar Nvarchar Datetime Độ lớn 10 Ràng buộc liệu Khóa Khóa ngoại Khóa ngoại • PHIEUTHANHTOAN(maphieu, sophong, makhach, ngaynhanphong, ngaytraphong, tongtienphong, tongtiendichvu) Tên trường Maphieu Sophong Makhach Ngaynhanphong Ngaytraphong Tongtienphong Tongtiendichvu Kiểu liệu Nvarchar Nvarchar Nvarchar Datetime datetime Numeric Numeriic Độ lớn 10 10 Ràng buộc liệu Khóa • CHITIETDICHVU(machitiet, maphieu, madichvu, soluong ) Tên trường Machitiet Maphieu Madichvu Soluong Kiểu liệu Nvarchar Nvarchar Nvarchar Numeric Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Độ lớn 10 10 10 Ràng buộc liệu Khóa Trang: ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN Dữ liệu bảng • Dữ liệu bảng KHACH insert into KHACH values('001', 'Nguyen Van Anh', '142385550', 'Binh Duong', '01672435612') insert into KHACH values('002', 'Nguyen Thi Be', '142385560', 'Binh Phuoc', '01673676121') insert into KHACH values('003', 'Le Van Loc', '142385561', 'Thai Binh', '01672432301') insert into KHACH values('004', 'Tran Thuy Nga', '142385572', 'TP.HCM', '01612345612') insert into KHACH values('005', 'Pham Ba Hoang', '142385562', 'Binh Duong', '01672436789') insert into KHACH values('006', 'Le Quang Vang', '142385552', 'Binh Dinh', '01672435623') insert into KHACH values('007', 'Tran Quoc Y', '142385557', 'Gia Lai', '01672435456') insert into KHACH values('008', 'Lam Thi Hong Diem', '142385567', 'Dak Lak', '01672467890') insert into KHACH values('009', 'Dang Thi Dieu', '142385577', 'Binh Dinh', '01672565612') insert into KHACH values('010', 'Pham Chi Binh', '142385580', 'Dong Nai', '01672423232') • Dữ liệu bảng DICHVU insert into DICHVU values('DV01', 'To Chuc Tiec Cuoi', 'ngay', 6000000, NULL) insert into DICHVU values('DV02', 'An Uong', 'Phan', 200000, 'Bao gom thuc an va thuc uong') insert into DICHVU values('DV03', 'Giai Tri', 'Gio', 100000, NULL) insert into DICHVU values('DV04', 'Spar', 'Gio', 300000, NULL) insert into DICHVU values('DV05', 'Thue Xe Oto', 'Gio', 200000, NULL) insert into DICHVU values('DV06', 'Xong Hoi', 'Gio', 50000, NULL) insert into DICHVU values('DV07', 'Du Lich', 'Ngay', 700000, NULL) • Dữ liệu bảng LOAIPHONG insert into LOAIPHONG values('LP01', 'VIP', 400000, 2500000) insert into LOAIPHONG values('LP02', 'DOI', 300000, 2300000) insert into LOAIPHONG values('LP03', 'DON', 200000, 2000000) Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN • Dữ liệu bảng PHONG insert into PHONG values('101', 'LP01') insert into PHONG values('102', 'LP02') insert into PHONG values('103', 'LP02') insert into PHONG values('104', 'LP03') insert into PHONG values('105', 'LP03') insert into PHONG values('201', 'LP01') insert into PHONG values('202', 'LP02') insert into PHONG values('203', 'LP02') insert into PHONG values('204', 'LP03') insert into PHONG values('205', 'LP03') insert into PHONG values('301', 'LP01') insert into PHONG values('302', 'LP02') insert into PHONG values('303', 'LP02') insert into PHONG values('304', 'LP03') insert into PHONG values('305', 'LP03') • Dữ liệu bảng DANGKY insert into DANGKY values('DK01','001','101',convert(datetime,'09/08/2011',103)) insert into DANGKY values('DK02','002','103',convert(datetime,'18/08/2011',103)) insert into DANGKY values('DK03','003','102',convert(datetime,'15/09/2011',103)) insert into DANGKY values('DK04','003','203',convert(datetime,'14/10/2011',103)) insert into DANGKY values('DK05','003','201',convert(datetime,'29/10/2011',103)) insert into DANGKY values('DK06','004','303',convert(datetime,'22/08/2011',103)) insert into DANGKY values('DK07','005','202',convert(datetime,'01/08/2011',103)) insert into DANGKY values('DK08','006','302',convert(datetime,'10/08/2011',103)) insert into DANGKY values('DK09','006','201',convert(datetime,'27/09/2011',103)) insert into DANGKY values('DK10','007','203',convert(datetime,'28/09/2011',103)) insert into DANGKY values('DK11','008','301',convert(datetime,'15/09/2011',103)) insert into DANGKY values('DK12','009','101',convert(datetime,'02/08/2011',103)) insert into DANGKY values('DK13','010','302',convert(datetime,'09/07/2011',103)) • Dữ liệu bảng PHIEUTHANHTOAN insert into PHIEUTHANHTOAN values('P01', '101', '001',convert(datetime,'10/08/2011',103),convert(datetime,'17/08/2011',103), 2500000,2000000) insert into PHIEUTHANHTOAN values('P02', '103', '002',convert(datetime,'20/08/2011',103),convert(datetime,'21/08/2011',103), 400000,250000) insert into PHIEUTHANHTOAN values('P03', '102', '003',convert(datetime,'15/09/2011',103),convert(datetime,'20/09/2011',103), 1500000,2700000) insert into PHIEUTHANHTOAN values('P04', '201', '006',convert(datetime,'01/10/2011',103),convert(datetime,'22/10/2011',103), 7500000,5450000) Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN insert into PHIEUTHANHTOAN values('P05', '203', '007',convert(datetime,'01/10/2011',103),convert(datetime,'02/10/2011',103), 200000,550000) insert into PHIEUTHANHTOAN values('P06', '303', '004',convert(datetime,'23/08/2011',103),convert(datetime,'26/08/2011',103), 600000,1350000) insert into PHIEUTHANHTOAN values('P07', '203', '003',convert(datetime,'15/10/2011',103),convert(datetime,'17/10/2011',103), 400000,400000) insert into PHIEUTHANHTOAN values('P08', '101', '003',convert(datetime,'01/11/2011',103),convert(datetime,'02/11/2011',103), 400000,6200000) insert into PHIEUTHANHTOAN values('P09', '302', '006',convert(datetime,'10/08/2011',103),convert(datetime,'20/08/2011',103), 3000000,2900000) • Dữ liệu bảng CHITIETDICHVU insert into CHITIETDICHVU values('CT01', 'P01', 'DV02',7) insert into CHITIETDICHVU values('CT02', 'P01', 'DV04',2) insert into CHITIETDICHVU values('CT03', 'P02', 'DV02',1) insert into CHITIETDICHVU values('CT04', 'P02', 'DV06',1) insert into CHITIETDICHVU values('CT05', 'P03', 'DV02',5) insert into CHITIETDICHVU values('CT06', 'P03', 'DV07',1) insert into CHITIETDICHVU values('CT07', 'P04', 'DV02',21) insert into CHITIETDICHVU values('CT08', 'P04', 'DV05',3) insert into CHITIETDICHVU values('CT09', 'P04', 'DV06',1) insert into CHITIETDICHVU values('CT10', 'P04', 'DV04',2) insert into CHITIETDICHVU values('CT11', 'P05', 'DV02',1) insert into CHITIETDICHVU values('CT12', 'P05', 'DV06',1) insert into CHITIETDICHVU values('CT13', 'P05', 'DV04',1) insert into CHITIETDICHVU values('CT14', 'P06', 'DV02',3) insert into CHITIETDICHVU values('CT15', 'P06', 'DV07',1) insert into CHITIETDICHVU values('CT16', 'P06', 'DV06',1) insert into CHITIETDICHVU values('CT17', 'P07', 'DV02',2) insert into CHITIETDICHVU values('CT18', 'P08', 'DV02',1) insert into CHITIETDICHVU values('CT19', 'P08', 'DV01',1) insert into CHITIETDICHVU values('CT20', 'P09', 'DV02',10) insert into CHITIETDICHVU values('CT21', 'P09', 'DV03',3) insert into CHITIETDICHVU values('CT22', 'P09', 'DV05',3) Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 10 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN • Kiểm tra số phòng có bảng đăng ký không? create trigger tgcau6 on dangky for insert as declare @sophong nvarchar(5) if exists(select * from inserted i, dangky t where i.sophong=t.sophong) begin print 'so phong khong ton tai' rollback end insert into dangky values('DK16','005','304',convert(datetime,'20/08/2009',103)) select * from dangky Kết • Không cho phép khách hàng đăng ký ngày phòng create trigger tgcau7 on dangky for insert, update as if exists(select from dangky a, inserted b where a.makhach=b.makhach and a.ngaydk=b.ngaydk and a.sophong= b.sophong) begin print 'phong da co khach quy khach vui long dang ky phong khac ' rollback end drop trigger tgcau7 update dangky set ngaydk='09/08/2011',sophong='101' where makhach='001' Kết • Không cho phép xóa phòng mà đăng ký vào tháng create trigger tgcau8 on dangky for delete as declare @sophong nvarchar(5) select @sophong = sophong from deleted select @sophong = count(*) from dangky where sophong = @sophong if @sophong>=1 Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 18 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN begin print 'phong da duoc dang ky khong duoc xoa' rollback end delete from phong where sophong like '302' and month(ngaydk) select * from phong Kết • Không cho phép xóa khách hàng lần create trigger tgcau9 on phieuthanhtoan for delete as declare @makhach nvarchar(10) select @makhach = makhach from deleted select @makhach = count(*) from phieuthanhtoan where makhach = @makhach if @makhach >1 begin raiserror ('ban ko the xoa',16,1) rollback transaction end drop trigger tgcau9 delete from khach where makhach like '001' select *from khach Kết • Không cho phép sua mã khách hàng create trigger tgcau4 on khach for update as if update(makhach) begin print 'khong the thay doi gia tri cua ma khach' rollback transaction end update khach set makhach = '001 'where makhach = '03k' Kết Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 19 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN PHẦN IV: KẾT NỐI CSDL VỚI NGÔN NGỮ LẬP TRÌNH I Công cụ phát triển Lựa chọn công cụ Do tính chất sở liệu toán chương trình sử dụng ngôn ngữ lập trình Java việc tạo giao diện chương trình chính, kết hợp với Microsoft SQL server 2005 tạo sở liệu Java ngôn ngữ lập trình thông dụng Windows Java hỗ trợ quản lý Cơ sở liệu Internet, đặc biệt quản lý sở liệu So với ngôn ngữ khác java hiệu tính đồ họa , đơn giản, nhỏ gọn, tính khả chuyển khiến Java có hiệu chung đáng khích lệ so với tính phức tạp ngôn ngữ khác Chương trình "Quản lý khách sạn" chương trình quản lý sở liệu (lưu trữ, tra cứu ) khách sạn Do việc dùng ngôn ngữ Java thích hợp Môi trường làm việc - Hệ thống máy tính chủ yếu sử dụng khách sạn máy PC - Đa số người sử dụng thực tế làm quen với tin học với hệ điều hành Windows - Hệ thống chương trình quản lý khách sạn tiện dụng chạy môi trường mạng Tuy nhiên cài máy lẻ, áp dụng với sở chưa ứng dụng mạng máy tính quản lý Lệnh kết nối với ngôn ngữ lập trình a Class(SQLconnect) package jdbc; import com.microsoft.sqlserver.jdbc.SQLServerDataSource; import java.sql.*; public class SQLConnect { String Host = ""; String UserName = ""; String Password = ""; Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 20 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN String Database = ""; int Port=0; Connection connect = null; Statement statement =null; ResultSet result=null; public SQLConnect(String Host, int Port,String UserName,String Password,String Database){ this.Database=Database; this.Host=Host; this.Port=Port; this.Password=Password; this.UserName=UserName; } protected void driverTesr()throws Exception{ try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); } catch (java.lang.ClassCastException e) { throw new Exception("SQL JDBC Driver not found"); } } protected Connection getConcect()throws Exception{ if(this.connect==null) Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 21 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN { driverTesr(); try { SQLServerDataSource ds=new SQLServerDataSource(); ds.setUser(this.UserName); ds.setPassword(this.Password); ds.setServerName(this.Host); ds.setDatabaseName(this.Database); this.connect=ds.getConnection(); } catch(java.sql.SQLException e) { throw new Exception("Khong the ket noi den Database Server"+e.getMessage()); } } return this.connect; } protected Statement getStatement()throws Exception { if(this.statement==null? true :this.statement.isClosed()) { this.statement=this.getConcect().createStatement(); } return this.statement; Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 22 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN } public ResultSet excuteQuery(String Query)throws Exception { try { this.result=getStatement().executeQuery(Query); } catch (Exception e) { throw new Exception("Erro:"+e.getMessage()+"-"+Query); } return this.result; } public int excutuUpdate(String Query)throws Exception { int res=Integer.MIN_VALUE; try { res=getStatement().executeUpdate(Query); } catch(Exception e) { throw new Exception("Erro : "+e.getMessage()+" - " +Query); } finally { Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 23 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN this.Close(); } return res; } public void Close()throws SQLException { if(this.result!=null && !this.result.isClosed()) { this.result.close(); this.result=null; } if(this.statement!=null && !this.statement.isClosed()) { this.statement.close(); this.statement=null; } if(this.connect!=null && !this.connect.isClosed()) { this.connect.close(); this.connect=null; } } } Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 24 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN b Kết nối đến bảng SQL(file JDBC) package jdbc; import java.sql.ResultSet; import java.sql.SQLException.*; public class JDBC { public static void main(String[] args) throws Exception{ SQLConnect connect=new SQLConnect("localhost",1433,"sa","123","QLKS"); ResultSet result = connect.excuteQuery("Select * from KHACH"); while(result.next()){ String m=result.getString("MAKHACH"); String t=result.getString("TENKHACH"); String h=result.getString("SOCMND"); String d=result.getString("DIACHI"); String g=result.getString("SODIENTHOAI"); System.out.println(m+" "+t+" "+h+" "+d+" "+g); } System.out.println(" "); ResultSet result1 = connect.excuteQuery("Select * from DICHVU"); while(result1.next()){ String a=result1.getString("MADICHVU"); String b=result1.getString("TENDICHVU"); String c=result1.getString("DONVITINH"); int f=result1.getInt("DONGIA"); String i=result1.getString("GHICHU"); System.out.println(a+" "+b+" "+c+" "+f+" "+i); } Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 25 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN System.out.println(" "); ResultSet result2 = connect.excuteQuery("Select * from LOAIPHONG"); while(result2.next()){ String ab=result2.getString("MALOAIPHONG"); String bc=result2.getString("TENLOAIPHONG"); int cs=result2.getInt("GIATHUENGAY"); int fa=result2.getInt("GIATHUENTUAN"); System.out.println(ab+" "+bc+" "+cs+" "+fa); } System.out.println(" "); ResultSet result3 = connect.excuteQuery("Select * from PHONG"); while(result3.next()){ String ax=result3.getString("SOPHONG"); String bg=result3.getString("MALOAIPHONG"); System.out.println(ax+" "+bg); } System.out.println(" "); ResultSet result4 = connect.excuteQuery("Select * from DANGKY"); while(result4.next()){ String bc=result4.getString("SODK"); String ba=result4.getString("MAKHACH"); String bd=result4.getString("SOPHONG"); String bf=result4.getString("NGAYDK"); System.out.println(bc+" "+ba+" "+bd+" "+bf); } System.out.println(" "); Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 26 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN ResultSet result5 = connect.excuteQuery("Select * from PHIEUTHANHTOAN"); while(result5.next()){ String ca=result5.getString("MAPHIEU"); String cb=result5.getString("SOPHONG"); String cc=result5.getString("MAKHACH"); String cd=result5.getString("NGAYNHANPHONG"); String cf=result5.getString("NGAYTRAPHONG"); int cg=result5.getInt("TONGTIENPHONG"); int ch=result5.getInt("TONGTIENDICHVU"); System.out.println(ca+" "+cb+" "+cc+" "+cd+" "+cf+" "+cg+" "+ch); } System.out.println(" "); ResultSet result6 = connect.excuteQuery("Select * from CHITIETDICHVU"); while(result6.next()){ String da=result6.getString("MACHITIET"); String db=result6.getString("MAPHIEU"); String dc=result6.getString("MADICHVU"); int dd=result6.getInt("SOLUONG"); System.out.println(da+" "+db+" "+dc+" "+dd); } connect.Close(); } } Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 27 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN II Thiết kế giao diện Có lẽ khâu quan trọng lập trình thiết kế Sau thiết kế giao diện, cần thiết kế cấu trúc chương trình Cách thiết kế khác dẫn đến hoạt động khác bảo trì theo khác  Dưới số Form chương trình • Form_Khach Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 28 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN • Form_Phòng • Form_Chitietdichvu Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 29 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN • Form_Dangky • Form_Dichvu Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 30 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN • Form_Loaiphong • Form_phieuthanhtoan Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 31 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN Kết luận Mặc dù cố gắng tìm hiểu công việc " Quản lý khách sạn " không tránh khỏi thiếu sót Mong quý Thầy , Cô bạn đóng góp ý kiến để em rút nhiều kinh nghiệm quý báu bước vào sống Bài toán thiết kế cài đặt ngôn ngữ Java cho phép chạy môi trường Windows kế thừa tính mạnh Windows như: - Cho giao diện thân thiện với người sử dụng - Chạy theo chế độ đa nhiệm - In ấn nhanh chóng thuận lợi Bài toán quản lý khách sạn chủ yếu áp dụng với khách sạn có quy mô tương đối nhỏ, đặc thù khách sạn nên công tác quản lý với khách sạn khác Ở em tìm hiểu công tác quản lý khách sạn chúng nên chương trình chủ yếu áp dụng cho công tác quản lý khách sạn mà Do thời gian hạn chế trình độ hiểu biết thân chưa nhiều nên việc phân tích thiết kế cài đặt toán quản lý khách sạn chưa hoàn thiện phần mềm quản lý Nó mang tính chất học hỏi, trao đổi bắt đầu làm quen với thực tế Nhưng qua đợt thực tập này, chúng em học hỏi nhiều kinh nghiệm trình cài đặt chương trình quản lý, đồng thời bổ sung kiến thức cho thân Em xin chân thành cảm ơn Trịnh Công Nhựt tận tình giúp đỡ để chúng em hoàn thành đồ án Chúng em bày tỏ lòng biết ơn sâu sắc tới quý Thầy Cô khoa Công nghệ thông tin trường Cao đẳng Kinh Tế Kỹ Thuật Vinatex TP.MCM, dạy suốt khoá học Tôi cảm ơn bạn đóng góp ý kiến động viên để hoàn thành đồ án Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 32 [...]... độ đa nhiệm - In ấn nhanh chóng và thuận lợi Bài toán quản lý khách sạn này chủ yếu là áp dụng với khách sạn có quy mô tương đối nhỏ, do đặc thù của mỗi khách sạn nên công tác quản lý với mỗi khách sạn là khác nhau Ở đây em chỉ tìm hiểu về công tác quản lý của một khách sạn chúng nên chương trình này chủ yếu áp dụng cho công tác quản lý của khách sạn mà thôi Do thời gian hạn chế và trình độ hiểu biết... Trang: 28 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN • Form_Phòng • Form_Chitietdichvu Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 29 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN • Form_Dangky • Form_Dichvu Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 30 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN • Form_Loaiphong • Form_phieuthanhtoan Sinh... Windows Java hỗ trợ quản lý Cơ sở dữ liệu và Internet, đặc biệt là quản lý cơ sở dữ liệu So với các ngôn ngữ khác java không có hiệu quả hơn nhưng tính năng đồ họa , sự đơn giản, nhỏ gọn, tính khả chuyển khiến Java có hiệu quả chung là đáng khích lệ so với tính phức tạp của các ngôn ngữ khác Chương trình "Quản lý khách sạn" là chương trình quản lý cơ sở dữ liệu (lưu trữ, tra cứu ) tại khách sạn Do đó việc... SERVER QUẢN LÝ KHÁCH SẠN • Form_Loaiphong • Form_phieuthanhtoan Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 31 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN Kết luận Mặc dù đã rất cố gắng tìm hiểu công việc " Quản lý khách sạn " nhưng không sao tránh khỏi những thiếu sót Mong quý Thầy , Cô và các bạn đóng góp ý kiến để em rút ra được nhiều kinh nghiệm quý báu khi bước vào cuộc sống... thống máy tính chủ yếu được sử dụng hiện nay tại các khách sạn là máy PC - Đa số người sử dụng trên thực tế đã làm quen với tin học với hệ điều hành Windows - Hệ thống chương trình quản lý khách sạn sẽ rất tiện dụng khi chạy trên môi trường mạng Tuy nhiên nó vẫn có thể cài trên máy lẻ, áp dụng với những cơ sở chưa ứng dụng mạng máy tính trong quản lý 3 Lệnh kết nối với ngôn ngữ lập trình a Class(SQLconnect)... hiểu biết của bản thân chưa nhiều nên việc phân tích thiết kế và cài đặt bài toán quản lý khách sạn chưa hoàn thiện như một phần mềm quản lý Nó mang tính chất học hỏi, trao đổi và bắt đầu làm quen với thực tế Nhưng qua đợt thực tập này, chúng em đã học hỏi được nhiều kinh nghiệm trong quá trình cài đặt một chương trình quản lý, đồng thời cũng bổ sung kiến thức cho bản thân Em xin chân thành cảm ơn Trịnh...ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN 3 Khung nhìn - view Khung nhìn view là một bảng tạm thời có cấu trúc như một bảng, khung nhìn không lưu chữ dữ liệu mà nó dược tạo ra khi sử dụng , khung nhìn là đối tượng thuộc CSDL: • cho biết mã khách, tên khách, tổng tiền của khách thuê, sắp xếp tăng dần theo tông tiền create view cau1 as select KHACH.MAKHACH,... được thực thi: • Lấy ra những khách thuê phòng trong tháng với tháng là tham số truyền vào create procedure spcau1 @thang datetime as select K.MAKHACH, TENKHACH from KHACH K, DANGKY DK where K.MAKHACH = DK.MAKHACH and month(NGAYDK) = @thang exec spcau1 8 Kết quả Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 13 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN • Tính giá trị cho cột giảm... Thúy Hương Trang: 14 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN • đếm số phiếu create procedure spcau4 as select top 10 dv.madichvu,tendichvu,sum(soluong) as tongsl from dichvu dv, chitietdichvu as ctdv where dv.madichvu=ctdv.madichvu group by dv.madichvu,tendichvu order by tongsl desc exec spcau4 Kết quả • lấy ra danh sách của khách hàng có số lượng phiếu thanh toán nhiều nhất create procedure... hơn 1 khách hàng create trigger tgcau3 on khach for delete as if(select count(*) from deleted)>1 begin raiserror ('ban khong the xoa mot luc nhieu hon 1 khach hang',16,1) rollback transaction end delete from khach where makhach like '002' and makhach like '001' select * from khach Kết quả Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 16 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN ... trình "Quản lý khách sạn" chương trình quản lý sở liệu (lưu trữ, tra cứu ) khách sạn Do việc dùng ngôn ngữ Java thích hợp Môi trường làm việc - Hệ thống máy tính chủ yếu sử dụng khách sạn máy... LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN • Form_Phòng • Form_Chitietdichvu Sinh viên: Nguyễn Thị Len & Bùi Thị Thúy Hương Trang: 29 ĐỒ ÁN MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN • Form_Dangky... MÔN HỌC: CƠ SỞ DỮ LIỆU SQL SERVER QUẢN LÝ KHÁCH SẠN 2.2 Vai trò SQL Bản thân SQL hệ quản trị sở liệu, tồn độc lập SQL thực phần hệ quản trị sở liệu, xuất hệ quản trị sở liệu với vai trò ngôn

Ngày đăng: 07/12/2016, 15:52

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan