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 Bài tập - Quản lý bãi đỗ xe - Lập trình SQL Server

Bài tập - Quản lý bãi đỗ xe - Lập trình SQL Server

by GokiSoft.com - 19:51 07/01/2022 6,209 Lượt Xem

Tạo 3 bảng sau

1. BaiDoXe gồm các column sau

- Tên bãi

- mã bãi đỗ xe

- địa chỉ

2. ThongTinGui gồm các column sau

- tên xe

- biển số xe

- mã bãi đỗ xe

- Ngày gửi xe

- Ngày lấy xe

- Chi phí

- id chủ sở hữu

3. Bảng chủ sở hữu

- id chủ sở hữu

- tên

- số cmtnd

- địa chỉ


Yêu cầu :

- Tạo bản trên

- chèn mỗi bảng 3 bản nghỉ

- Hiển thị thông tin người gửi xe (số cmtnd, tên, tên bãi đỗ xe, biển số xe)

- Tạo Stores

-> Đếm số lượt gửi xe của 1 khách hàng theo id_chusohuu

-> Tính tổng chi phí gửi xe của 1 khách hàng theo id chủ sở hữu

-> Kiểm tra chủ sở hữu xe có đang gửi xe hay không -> In thông tin -> số CMTND, tên, tên bãi đỗ xe, biển số xe

-> Hiển thị tất cả các xe mà id chủ sở hữu đã từng gửi xe -> In Bãi đỗ xe, biển số xe.

Bình luận



Chia sẻ từ lớp học

Do Trung Duc [T2008A]

Ngày viết: 13:47 07/12/2020



create DATABASE QUANLY_BAIDOXE
use QUANLY_BAIDOXE

create table BaiDoXe(
TenBaiDoXe nvarchar(100),
BaiDoXe_ID int identity(1,1),
DiachiBaiDoXe nvarchar(200),
constraint PK_BaiDoXe primary key (BaiDoXe_ID)
)

create table ChuSoHuu(
ChuSoHuu_ID int identity(1,1),
TenChuSoHuu nvarchar(100),
CMT_ChuSoHuu nvarchar(200),
DiachiChuSoHuu nvarchar(200),
constraint PK_ChuSoHuu primary key (ChuSoHuu_ID)
)

create table ThongTinGui(
TenXe nvarchar(50),
BienSoXe nvarchar(50),
BaiDoXe_ID int,
NgayGuiXe date,
NgayLayXe date,
ChiPhiGuiXe money,
ChuSoHuu_ID int,
constraint PK_ThongTinGui primary key (BienSoXe)
)

--ADD du lieu 
insert into BaiDoXe(TenBaiDoXe,DiachiBaiDoXe)
values
('Bai do so 1','So 1, duong Xuan Thuy'),
('Bai do so 2','So 3, duong Nguyen Khanh Toan'),
('Bai do so 3','So 5, duong Quan Hoa')


insert into ChuSoHuu(TenChuSoHuu,CMT_ChuSoHuu,DiachiChuSoHuu)
values
('Do Trung Duc','012793988', 'Dich Vong Hau, Cau Giay'),
('Tran Van Diep','033451388', 'QuanHoa, Cau Giay'),
('Nguyen Tuan Anh','0125963543', 'NghiaDo, Cau Giay')

insert into ThongTinGui(TenXe,BienSoXe,BaiDoXe_ID,NgayGuiXe,NgayLayXe,ChiPhiGuiXe,ChuSoHuu_ID)
values
('Fortuner', '30K36523', 1 , '2020-12-01', '2020-12-05', 40, 2), 
('Mazda6', '30K35534', 2 , '2020-11-01', '2020-12-05', 300, 3),
('BWVX5', '30K12339', 3 , '2020-11-15', '2020-12-05', 180, 1)

select * from ChuSoHuu
select * from BaiDoXe
select * from ThongTinGui

--Hien thong tin nguoi gui xe
select ChuSoHuu.TenChuSoHuu, ChuSoHuu.CMT_ChuSoHuu, ThongTinGui.TenXe, ThongTinGui.BienSoXe
FROM ChuSoHuu inner join ThongTinGui on ChuSoHuu.ChuSoHuu_ID = ThongTinGui.ChuSoHuu_ID

--Tao Store
----Đếm số lượt gửi xe của 1 khách hàng theo id_chusohuu
create PROC demsoluotguixe_theoChuSoHuuID 
	@ChuSoHuuID int
AS
BEGIN
	select  count(ChiphiGuiXe) from ThongTinGui where ChuSoHuu_ID = @ChuSoHuuID
END

alter PROC demsoluotguixe_theoChuSoHuuID 
	@ChuSoHuuID int
AS
BEGIN
	select ChuSoHuu_ID, count(ChiphiGuiXe) as 'TongSoLuotGui' from ThongTinGui  where ChuSoHuu_ID = @ChuSoHuuID
	group by  ChuSoHuu_ID
END

EXEC demsoluotguixe_theoChuSoHuuID '1'

----Tinh tong chi phi gui xe của 1 khách hàng theo id_chusohuu

create PROC tinhtongchiphi
	@ChuSoHuuID int
AS
BEGIN
	select ChuSoHuu_ID, sum(ChiphiGuiXe) as 'Tongchiphi' from ThongTinGui  where ChuSoHuu_ID = @ChuSoHuuID
	group by  ChuSoHuu_ID
END

EXEC tinhtongchiphi '1'

----Kiểm tra chủ sở hữu xe có đang gửi xe hay không -> In thông tin -> số CMTND, tên, tên bãi đỗ xe, biển số xe
select * from ChuSoHuu
select * from BaiDoXe
select * from ThongTinGui

create PROC kiemtrathongtin
	@ChuSoHuu_ID int
AS
BEGIN
	select ChuSoHuu.CMT_ChuSoHuu, ChuSoHuu.TenChuSoHuu, BaiDoXe.TenBaiDoXe, ThongTinGui.BienSoXe
	from ThongTinGui inner join BaiDoXe on ThongTinGui.BaiDoXe_ID = BaiDoXe.BaiDoXe_ID inner join ChuSoHuu on ThongTinGui.ChuSoHuu_ID = ChuSoHuu.ChuSoHuu_ID
	where ThongTinGui.ChuSoHuu_ID = @ChuSoHuu_ID
END

EXEc kiemtrathongtin 1
EXEc kiemtrathongtin 4

----Hiển thị tất cả các xe mà id chủ sở hữu đã từng gửi xe -> In Bãi đỗ xe, biển số xe.

create PROC Hienthitatcaxedagui 
	@ChuSoHuu_ID int
AS
BEGIN
	select ThongTinGui.BienSoXe, BaiDoXe.DiachiBaiDoXe 
	from ThongTinGui, BaiDoXe 
	where ThongTinGui.BaiDoXe_ID = BaiDoXe.BaiDoXe_ID and ThongTinGui.ChuSoHuu_ID =  @ChuSoHuu_ID
END

--Sua lai truong khoa chinh cua bang Thong tin gui 
alter table ThongTinGui
drop constraint PK_ThongTinGui

alter table ThongTinGui
add ThongTinGui_ID int identity (1,1)

alter table ThongTinGui
Add constraint PK_ThongTinGui  primary key (ThongTinGui_ID)


insert into ThongTinGui(TenXe,BienSoXe,BaiDoXe_ID,NgayGuiXe,NgayLayXe,ChiPhiGuiXe,ChuSoHuu_ID)
values
('Fortuner', '30K36523', 3 , '2020-12-07', '2020-12-10', 30, 2), 
('Mazda6', '30K35534', 1 , '2020-12-08', '2020-12-10', 20, 3),
('BWVX5', '30K12339', 1 , '2020-11-30', '2020-12-12', 120, 1)

EXEc Hienthitatcaxedagui 2


Đã sao chép!!!