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 8,995 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()



Trần Văn Lâm [T2008A]

Ngày viết: 18:05 13/12/2020



create database Quan_li_khach_san
use Quan_li_khach_san
create table Hotel(
	id int primary key identity(1,1),
	name nvarchar(100),
	address nvarchar(100),
	acreage float,
	boss_hotel nvarchar(50)
)
create table Room(
	room_no nvarchar(20) primary key,
	id_hotel int references Hotel(id),
	acreage float,
	kind_of_room nvarchar(50),
	floors int,
	num_room int
)
create table Books(
	id int primary key identity(1,1),
	room_no nvarchar(20) references Room(room_no),
	bookroom_at date,
	payroom_at date,
	num_people int
)
select * from Hotel
insert into Hotel(name,address,acreage,boss_hotel)
values
('Royal Hotel','My Dinh-Ha Noi',500,'Tran Van Lam'),
('Aptech Hotel','Ton That Thuyet-Ha Noi',700,'Tran Van Diep'),
('Barcelona Hotel','Hoang Mai-Ha Noi',650,'Lee Tran'),
('Chien Thang Hotel','Nguyen Hoang-Ha Noi',550,'Martin Tran'),
('Vin Hotel','Thanh Xuan-Ha Noi',750,'Leo Tran')
select * from Room
insert into Room(room_no,id_hotel,acreage,kind_of_room,floors,num_room)
values
('T01',1,45,'Vip',7,10),
('T02',3,55,'Tong Thong',9,4),
('T03',2,35,'Cao Cap',10,6),
('T04',2,25,'Rieng Tu',6,8),
('T05',4,40,'Tinh Yeu',5,7)
select * from Books
insert into Books(room_no,bookroom_at,payroom_at,num_people)
values
('T01','2020-12-01','2002-12-10',3),
('T02','2020-12-01','2002-12-10',2),
('T03','2020-12-01','2002-12-10',1),
('T04','2020-12-01','2002-12-10',4),
('T05','2020-12-01','2002-12-10',2)
select Hotel.name,Hotel.address,Room.room_no,Room.kind_of_room,Room.floors
from Hotel,Room
where Hotel.id = Room.id_hotel 

select Hotel.name,Hotel.address,Room.room_no,Room.kind_of_room,Room.floors
from Hotel,Room
where Hotel.id = Room.id_hotel
	and Room.acreage > 30

select Hotel.name,Hotel.address,Room.num_room
from Hotel,Room
where Hotel.id = Room.id_hotel

select Hotel.name,Hotel.address,Room.num_room
from Hotel,Room
where Hotel.id = Room.id_hotel
	and Room.num_room > 5

select Hotel.name,Hotel.address,max(Room.acreage) as 'Dien tich phong lon nhat'
from Hotel,Room
where Hotel.id = Room.id_hotel
group by Hotel.name,Hotel.address,Room.acreage

select Hotel.name,Hotel.address,min(Room.acreage) as 'Dien tich phong nho nhat'
from Hotel,Room
where Hotel.id = Room.id_hotel
group by Hotel.name,Hotel.address,Room.acreage

select Hotel.name,Hotel.address,sum(Room.acreage) as 'Tong dien tich cac phong'
from Hotel,Room
where Hotel.id = Room.id_hotel
group by Hotel.name,Hotel.address

select Hotel.name,Hotel.address,avg(Room.acreage) as 'Dien tich tb cac phong'
from Hotel,Room
where Hotel.id = Room.id_hotel
group by Hotel.name,Hotel.address

select Hotel.name,Hotel.address,Room.num_room
from Hotel,Room
where Hotel.id = Room.id_hotel
	and Room.num_room = 0


vuong huu phu [T2008A]

Ngày viết: 20:53 11/12/2020



create database Quanlykhachsan
use Quanlykhachsan

--Tạo bang tên là hotel
create table hotel (
id int identity primary key,
Ten_khach_san nvarchar(200),
Dia_chi_khach_san nvarchar(200),
Dien_tich float,
Chu_so_huu nvarchar(100)
)

---Tạo bảng Room 
create table Room (
room_no int primary key,
id_hotel  int,
Dien_tich float,
Loai_phong nvarchar(100),
tang int
)

------Tạo bảng book
create table book (
id int identity primary key,
room_no int,
Ngay_dat_phong datetime,
Ngay_tra_phong datetime,
So_nguoi int
)
alter table book
add constraint FK_room_no
foreign key (room_no)
references Room(room_no)

alter table Room
add constraint FK_id_hotel
foreign key (id_hotel)
references hotel(id)

insert into hotel(Ten_khach_san,Dia_chi_khach_san,Dien_tich,Chu_so_huu)
values
('Khach san P','Ha Noi','1093','Vuong Huu Phu'),
('Khach san H','Ha Noi','4793','Vuong Huu Phu'),
('Khach san U','Ha Noi','1993','Vuong Huu Phu'),
('Khach san D','Ha Noi','3093','Vuong Huu Phu'),
('Khach san E','Ha Noi','2907','Vuong Huu Phu'),
('Khach san P','Ha Noi','7093','Vuong Huu Phu'),
('Khach san T','Ha Noi','2093','Vuong Huu Phu'),
('Khach san R','Ha Noi','9463','Vuong Huu Phu'),
('Khach san A','Ha Noi','6849','Vuong Huu Phu'),
('Khach san i','Ha Noi','1859','Vuong Huu Phu')

insert into Room(room_no,id_hotel,Dien_tich,Loai_phong,tang)
values
('001','2','100','1 giuong ngu','1'),
('002','2','40','2 giuong ngu','4'),
('003','6','10','1 giuong ngu','1'),
('004','6','100','2 giuong ngu','2'),
('005','7','100','2 giuong ngu','1'),
('006','5','10','2 giuong ngu','1'),
('007','4','100','1 giuong ngu','2'),
('008','8','100','2 giuong ngu','4'),
('009','10','10','1 giuong ngu','3'),
('010','9','100','2 giuong ngu','2')

insert into book (room_no,Ngay_dat_phong,Ngay_tra_phong,So_nguoi)
values 
('001','2020-01-02','2020-01-16','2'),
('002','2020-01-02','2020-01-16','2'),
('003','2020-01-02','2020-01-16','2'),
('004','2020-01-02','2020-01-16','2'),
('005','2020-01-02','2020-01-16','1'),
('006','2020-01-02','2020-01-16','1'),
('007','2020-01-02','2020-01-16','2'),
('008','2020-01-02','2020-01-16','2'),
('009','2020-01-02','2020-01-16','2'),
('010','2020-01-02','2020-01-16','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

select hotel.Ten_khach_san,hotel.Dia_chi_khach_san,Room.room_no,Room.Loai_phong,Room.tang
from hotel,Room
where Room.id_hotel = hotel.id

-----Chỉ những phòng có diện tích 30 m2 trở lên
select hotel.Ten_khach_san,hotel.Dia_chi_khach_san,Room.room_no,Room.Loai_phong,Room.tang
from hotel,Room
where Room.id_hotel = hotel.id and Room.Dien_tich >= 30

---Thống kê theo dữ liệu : Tên KS, địa chỉ, số phòng
select hotel.Ten_khach_san,hotel.Dia_chi_khach_san,Room.room_no
from hotel,Room
where Room.id_hotel = hotel.id

----- - Số phòng > 5
select hotel.Ten_khach_san,hotel.Dia_chi_khach_san,Room.room_no
from hotel,Room
where Room.id_hotel = hotel.id and 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 top 1 hotel.Ten_khach_san,hotel.Dia_chi_khach_san,Room.room_no,Room.Dien_tich
from hotel,Room
where Room.id_hotel = hotel.id
order by (Room.Dien_tich) desc

----Thông kê theo dữ liệu : Tên KS, địa chỉ, diện tích phòng nhỏ nhất
select top 1 hotel.Ten_khach_san,hotel.Dia_chi_khach_san,Room.room_no,Room.Dien_tich
from hotel,Room
where Room.id_hotel = hotel.id
order by (Room.Dien_tich) 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.Ten_khach_san,hotel.Dia_chi_khach_san,sum(Room.Dien_tich) as tong_dien_tich
from hotel,Room
where Room.id_hotel = hotel.id
group by  hotel.Ten_khach_san,hotel.Dia_chi_khach_san

----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.Ten_khach_san,hotel.Dia_chi_khach_san,avg(Room.Dien_tich) as dien_tich_tring_binh
from hotel,Room
where Room.id_hotel = hotel.id
group by  hotel.Ten_khach_san,hotel.Dia_chi_khach_san

----Thông kê theo dữ liệu : Tên KS, địa chỉ, khách sạn ko có phòng nào.
select hotel.Ten_khach_san,hotel.Dia_chi_khach_san
from hotel,Room,book
where Room.id_hotel = hotel.id and book.room_no = Room.room_no
and book.room_no is null and book.room_no = ''


Đã sao chép!!!