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,994 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

Trinh Huy Hung [community,C2009I]

Ngày viết: 15:48 06/03/2021



create database ManagementHotel

use ManagementHotel

create table Hotel(
	Id int identity(1, 1) primary key,
	HotelName nvarchar(50),
	Address nvarchar(100),
	Area float,
	HotelOwner nvarchar(50)
)

create table Room(
	Room_no int primary key,
	Id_hotel int,
	Area float,
	Type nvarchar(50),
	floor int
)

create table Book(
	Id int identity(1, 1),
	Room_no int ,
	CheckIn datetime,
	CheckOut datetime,
	People int
)
alter table Book 
add primary key (Id)

alter table Room
add foreign key (Id_hotel) references Hotel(Id)

alter table Book 
add foreign key (Room_no) references Room(Room_no)

insert into Hotel(HotelName, Address, Area, HotelOwner)
values 
('Da', 'D1', 100, 'Davic'),
('Ad', 'A1', 150, 'Adam'),
('Bu', 'B1', 200, 'Budha'),
('Ci', 'C1', 300, 'Cikita')

insert into Room(Room_no, Id_hotel, Area, Type, floor)
values
(3, 1, 20, 'Small', 5),
(4, 2, 25, 'Small', 5),
(5, 1, 60, 'Vip', 12),
(6, 2, 70, 'Vip', 15),
(7, 3, 90, 'Vip', 20),
(8, 1, 30, 'Normal', 5),
(9, 2, 35, 'Normal', 6),
(10, 3, 45, 'Normal', 7)

insert into Book(Room_no, CheckIn, CheckOut, People)
values 
(6, '2021-03-02', '2021-03-06', 4),
(7, '2021-03-01', '2021-03-04', 5),
(3, '2021-03-04', '2021-03-06', 1),
(9, '2021-03-02', '2021-03-03', 2)

--2
select Hotel.HotelName, Hotel.Address, Room.Room_no, Room.Type, Room.floor
from Hotel, Room
where Hotel.Id=Room.Id_hotel
order by Hotel.HotelName

select Hotel.HotelName, Hotel.Address, Room.Room_no, Room.Type, Room.floor, Room.Area
from Hotel, Room
where Hotel.Id=Room.Id_hotel and Room.Area>=30
order by Hotel.HotelName

--3

select Hotel.HotelName, Hotel.Address, Count(Room.Room_no)
from Hotel left join Room on Hotel.Id=Room.Id_hotel
group by  Hotel.HotelName, Hotel.Address

select Hotel.HotelName, Hotel.Address, Count(Room.Room_no) as Rooms 
from Hotel left join Room on Hotel.Id=Room.Id_hotel
group by  Hotel.HotelName, Hotel.Address
having Count(Room.Room_no)>=3

--4
select Hotel.HotelName, Hotel.Address, Max(Room.Area) as MaxArea 
from Hotel, Room
where Hotel.Id=Room.Id_hotel
group by Hotel.HotelName, Hotel.Address

--5
select Hotel.HotelName, Hotel.Address, Min(Room.Area) as MinArea 
from Hotel, Room
where Hotel.Id=Room.Id_hotel
group by Hotel.HotelName, Hotel.Address

--6
select Hotel.HotelName, Hotel.Address, Sum(Room.Area) as TotalArea 
from Hotel, Room
where Hotel.Id=Room.Id_hotel
group by Hotel.HotelName, Hotel.Address

--7
select Hotel.HotelName, Hotel.Address, Avg(Room.Area) as AvgArea 
from Hotel, Room
where Hotel.Id=Room.Id_hotel
group by Hotel.HotelName, Hotel.Address

--8
select Hotel.HotelName, Hotel.Address, Count(Room.Room_no) as Rooms 
from Hotel left join Room on Hotel.Id=Room.Id_hotel
group by  Hotel.HotelName, Hotel.Address
having Count(Room.Room_no)=0


Đã sao chép!!!