IMG-LOGO
×

Giáo Trình Môn Học

Khoá học lập trình SQL

Kiến Thức Core SQL Server

[Video] Hướng dẫn cách xác định kiểu dữ liệu, primary key, foreign key trong SQL - My SQL - SQL Server [Video] Hướng dẫn thao tác nhiểu bảng - select - multi table - join, inner join trong SQL Server [Video] Hướng dẫn phân tích CSDL - phân tích bảng, column trong bản - Học lập trình SQL, SQL Server [Video] Hướng dẫn tìm hiểu create, alter , insert table và bản chất primary key, foreign key - SQL Server [Video] Hướng dẫn tìm hiểu select, and, in, like, not in,group by .. having, order by asc, desc - SQL Server [Video] Quản lý sinh viên (create, alter, update, insert, select) - Lập trình SQL Server

View SQL Server

[Video] Hướng dẫn tìm hiểu view trong SQL Server Bài Giảng: Hướng dẫn tìm hiểu view + proc trong SQL - Lập trình SQL Server

Store & Procedure

[Video] Hướng dẫn tìm hiểu proc procedure trong SQL Server - Lập trình SQL Server, MySQL Bài Giảng: Xây dự hệ thống đưa đón học sinh bằng xe bus của Trường Học - Lập trình SQL Server [Video] Xây dựng CSDL quản lý điểm danh aptech - Lập trình SQL Server/MySQL

Trigger

[Video] Học Trigger qua ví dụ - quản lý nhà trên phố - Lập trình SQL Server [Video] Hướng dẫn học trigger qua bài quản lý điểm danh Aptech - Lập trình SQL Server [Video] Bài tập - Quản lý nhân khẩu - Lập trình SQL Server - MySQL




Trang Chủ SQL Server/MySQL Quản lý khách sạn - nâng cao - Lập trình Sql Server

Quản lý khách sạn - nâng cao - Lập trình Sql Server

by GokiSoft.com - 19:28 05/01/2022 9,033 Lượt Xem

Tạo bang tên là hotel gồm các thuộc tính

- id : trường khóa chính tự tăng
- tên khách sạn
- địa chỉ khách sạn
- diện tích
- chủ sở hữu khách sạn
Tạo bảng Room gồm các thuộc tính
- room_no : trường khóa chính
- id_hotel khóa ngoài liên két vs bảng hotel
- diện tích
- loại phòng
- floor : phòng thuộc tầng mấy của KH
Tạo bảng book gồm các thuốc tính
- id : khóa chính tự tăng
- room_no : khóa ngoài liên kết vs bảng Room
- ngày đặt phòng
- ngày trả phòng
- số lượng người ở

- Giá tiền

Yêu cầu thiết kế

1) Tạo CSDL dữ liệu và các bảng trên

2) Hiển thị thông  tin khách sạn gồm các trường : Tên KS, địa chỉ, mã phòng, loại phòng, tầng

    2.1) Tất cả các dữ liệu

    2.2) Chỉ những phòng có diện tích 30 m2 trở lên

3) Thống kê theo dữ liệu : Tên KS, địa chỉ, số phòng

    - Tất cả

    - Số phòng > 5

4) Thông kê theo dữ liệu : Tên KS, địa chỉ, diện tích phòng lớn nhất

5) Thông kê theo dữ liệu : Tên KS, địa chỉ, diện tích phòng nhỏ nhất

6) Thông kê theo dữ liệu : Tên KS, địa chỉ, tổng diện tích của tất cả các phòng

7) Thông kê theo dữ liệu : Tên KS, địa chỉ, diện tích trung bình của từng phòng

8) Thông kê theo dữ liệu : Tên KS, địa chỉ, khách sạn ko có phòng nào.

Bình luận



Chia sẻ từ lớp học

Do Trung Duc [T2008A]

Ngày viết: 13:45 14/12/2020



create database QuanlyKhachSan_11_12_2020
use QuanlyKhachSan_11_12_2020 

create table Hotel(
HotelID int identity(1,1),
HotelName nvarchar(200),
HotelAddress nvarchar(200),
HotelArea float,
HotelOwner nvarchar(200),
constraint PK_Hotel primary key (HotelID) 
)

create table Room(
Room_no nvarchar(100),
HotelID int,
RoomArea float,
RoomType nvarchar(200),
RoomFloor int,
constraint PK_Room primary key (Room_no) ,
constraint FK_Room_HotelID foreign key (HotelID) references Hotel(HotelID)
)

create table Book(
BookID int identity(1,1),
Room_no nvarchar(100),
TimeCheckin datetime,
TimeCheckout datetime,
TotalGuest int
constraint PK_Book primary key (BookID),
constraint FK_Book_Room_no foreign key (Room_no) references Room(Room_no)
)

---Add ban ghi
select * from Hotel
select * from Room
select * from Book

insert into Hotel(HotelName,HotelAddress,HotelArea,HotelOwner)
values 
('Daweo','Kim Ma street','5000','Tran Van Diep'),
('Paradise','CauGiay street','4000','Do Trung Duc'),
('Metropolist','NguyenDu street','3000','Nguyen Tien Dat'),
('Angel','Xuan Thuy street','2000','Nguyen Bich Nhung'),
('Cloudy','Cau Giay street','1000','Tran Thu Trang')

insert into Room(Room_no,HotelID,RoomArea,RoomType,RoomFloor)
values 
('Daweo101','1','50','Singer',1),
('Daweo102','1','50','Singer',1),
('Daweo103','1','50','Singer',1),
('Daweo104','1','70','Couple',1),
('Daweo105','1','70','Couple',1),

('Paradise101','2','35','Singer',1),
('Paradise102','2','35','Singer',1),
('Paradise103','2','35','Singer',1),
('Paradise104','2','45','Coupler',1),
('Paradise105','2','45','Couple',1),

('Metropolist101','3','30','Singer',1),
('Metropolist102','3','30','Singer',1),
('Metropolist103','3','30','Singer',1),
('Metropolist104','3','40','Couple',1),
('Metropolist105','3','40','Couple',1),

('Angel101','4','25','Singer',1),
('Angel102','4','25','Singer',1),
('Angel103','4','25','Singer',1),
('Angel104','4','35','Couple',1),
('Angel105','4','35','Couple',1),

('Cloudy101','5','15','Singer',1),
('Cloudy102','5','15','Singer',1),
('Cloudy103','5','15','Singer',1),
('Cloudy104','5','30','Couple',1),
('Cloudy105','5','30','Couple',1)

insert into Book(Room_no,TimeCheckin,TimeCheckout,TotalGuest)
values 
('Daweo101','2020/10/10','2020/12/11',1),
('Daweo102','2020/10/10','2020/12/11',1),
('Daweo104','2020/10/10','2020/12/11',2),

('Paradise101','2020/10/10','2020/12/11',1),
('Paradise102','2020/10/10','2020/12/11',1),
('Paradise104','2020/10/10','2020/12/11',2),
('Paradise105','2020/10/10','2020/12/11',2),

('Metropolist101','2020/10/10','2020/12/11',1),
('Metropolist102','2020/10/10','2020/12/11',1),
('Paradise104','2020/10/10','2020/12/11',2),

('Angel104','2020/10/10','2020/12/11',2),
('Angel105','2020/10/10','2020/12/11',2)

select * from Hotel
select * from Room
select * from Book

 --Hiển thị thông  tin khách sạn gồm các trường : Tên KS, địa chỉ, mã phòng, loại phòng, tầng

 create view Hienthithontin_tatcacackhachsan
 as
 select Hotel.HotelName, Hotel.HotelAddress, Room.Room_no, Room.RoomType, Room.RoomFloor
 From Hotel left join Room on Hotel.HotelID = Room.HotelID

 select * from Hienthithontin_tatcacackhachsan where HotelName = 'Paradise'

 --Hiển thị nhung phong co dien tich 30m2 tro len
 create view Hienthiphongtren30m2
 as
 select Hotel.HotelName, Hotel.HotelAddress, Room.Room_no, Room.RoomType, Room.RoomFloor, Room.RoomArea
 From Hotel left join Room on Hotel.HotelID = Room.HotelID where Room.RoomArea >=30

 select * from Hienthiphongtren30m2

 --3) Thống kê theo dữ liệu : Tên KS, địa chỉ, số phòng khach san co so phong > 5
insert into Room(Room_no,HotelID,RoomArea,RoomType,RoomFloor)
values 
('Daweo201','1','50','Singer',1),
('Daweo202','1','50','Singer',1),
('Daweo203','1','50','Singer',1),
('Daweo204','1','70','Couple',2),
('Daweo205','1','70','Couple',2)

select Hotel.HotelName, Hotel.HotelAddress, count(Room.Room_no) as Tongsophong
From Hotel inner join Room on Hotel.HotelID = Room.HotelID 
group by Hotel.HotelName, Hotel.HotelAddress
having count(Room.Room_no) > 5

--Thông kê theo dữ liệu : Tên KS, địa chỉ, diện tích phòng lớn nhất
select Hotel.HotelName, Hotel.HotelAddress, Room.RoomType, Room.RoomArea
From Hotel inner join Room on Hotel.HotelID = Room.HotelID 
where Room.RoomArea >=70
order by Room.RoomArea desc 

--Thông kê theo dữ liệu : Tên KS, địa chỉ, diện tích phòng nho nhất
select Hotel.HotelName, Hotel.HotelAddress, Room.RoomType, Room.RoomArea
From Hotel inner join Room on Hotel.HotelID = Room.HotelID 
where Room.RoomArea =15
order by Room.RoomArea asc 

--Thông kê theo dữ liệu : Tên KS, địa chỉ, tổng diện tích của tất cả các phòng

select Hotel.HotelName, Hotel.HotelAddress, sum(Room.RoomArea) as Tongdientichcacphong
From Hotel inner join Room on Hotel.HotelID = Room.HotelID 
group by Hotel.HotelName, Hotel.HotelAddress

--Thông kê theo dữ liệu : Tên KS, địa chỉ, diện tích trung bình của từng phòng

select Hotel.HotelName, Hotel.HotelAddress,Room.RoomType, avg(Room.RoomArea) as dentichtrungbinhtungloaiphong
From Hotel inner join Room on Hotel.HotelID = Room.HotelID 
group by Hotel.HotelName, Hotel.HotelAddress, Room.RoomType

--Thông kê theo dữ liệu : Tên KS, địa chỉ, khách sạn , nhung phong chua duoc dat

select Hotel.HotelName, Hotel.HotelAddress, Room.Room_no,Book.BookID
From Hotel inner join Room on Hotel.HotelID = Room.HotelID left join Book on Room.Room_no = Book.Room_no
where Book.BookID is null

select Hotel.HotelName, Hotel.HotelAddress, Book.BookID, Book.Room_no
From Hotel left join Room on Hotel.HotelID = Room.HotelID left join Book on Room.Room_no = Book.Room_no
where Book.TimeCheckin >  '2020-9-10' and  Book.TimeCheckin < getdate()



Đã sao chép!!!