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

Trinh Huy Hung [community,C2009I]

Ngày viết: 16:11 04/03/2021



create database QuanLyBaiDoXe

use QuanLyBaiDoXe

create table BaiDoXe(
	TenBai nvarchar(50),
	MaBai int primary key,
	DiaChi nvarchar(100)
)

create table ThongTinGui(
	TenXe nvarchar(50),
	BienSoXe nvarchar(50) primary key,
	MaBai int,
	NgayGui datetime,
	NgayLay datetime,
	ChiPhi money,
	IdChuSoHuu int
)

create table ChuSoHuu(
	IdChuSoHuu int primary key,
	Ten nvarchar(100),
	SoCmtnd nvarchar(20) unique,
	DiaChi nvarchar(100)
)

alter table ThongTinGui 
add foreign key (MaBai) references BaiDoXe(MaBai)

alter table ThongTinGui 
add foreign key (IdChuSoHuu) references ChuSoHuu(IdChuSoHuu)

insert into BaiDoXe(MaBai,TenBai,DiaChi)
values 
(1, 'Vin1','Thanh Xuan'),
(2, 'Vin2','Bach Mai'),
(3, 'Vin3','Giai Phong')

insert into ChuSoHuu(IdChuSoHuu, Ten, SoCmtnd, DiaChi)
values
(1, 'Nam', '202631526', 'Thanh Xuan'),
(2, 'Long', '212631524', 'Giai Phong'),
(3, 'Nhan', '222631525', 'Bach Mai')

insert into ThongTinGui(TenXe, BienSoXe, MaBai, NgayGui, NgayLay, ChiPhi, IdChuSoHuu)
values
('Vinfast', 'AB1-123-868', 3, '2021-03-03', '2021-03-10', 70000, 2),
('Toyota', 'AB1-123-989', 1, '2021-03-06', '2021-03-10', 40000, 1),
('Toyota', 'AB1-123-999', 1, '2021-03-05', '2021-03-10', 50000, 1),
('Vinfast', 'AB1-123-888', 3, '2021-03-06', '2021-03-10', 40000, 2),
('Toyota', 'AB1-123-777', 2, '2021-03-01', '2021-03-10', 90000, 3)

select ChuSoHuu.SoCmtnd, ChuSoHuu.Ten, BaiDoXe.TenBai, ThongTinGui.BienSoXe
from ChuSoHuu, BaiDoXe, ThongTinGui
where ThongTinGui.IdChuSoHuu=ChuSoHuu.IdChuSoHuu and ThongTinGui.MaBai=BaiDoXe.MaBai

create proc proc_DemSoLuotGui
		@IDchusohuu int
as
begin 
	select ChuSoHuu.IdChuSoHuu, ChuSoHuu.Ten, Count(ThongTinGui.IdChuSoHuu)as SoLanGui
	from ChuSoHuu, ThongTinGui
	where ChuSoHuu.IdChuSoHuu=ThongTinGui.IdChuSoHuu and [email protected]
	Group by ChuSoHuu.IdChuSoHuu, ChuSoHuu.Ten
end

exec proc_DemSoLuotGui 1

create proc proc_ChiPhi
	@IDchusohuu int
as
begin
	select ChuSoHuu.IdChuSoHuu, ChuSoHuu.Ten, Count(ThongTinGui.IdChuSoHuu)as SoLanGui, Sum(ThongTinGui.ChiPhi) as TongChiPhi
	from ChuSoHuu, ThongTinGui
	where ChuSoHuu.IdChuSoHuu=ThongTinGui.IdChuSoHuu and  [email protected]
	Group by ChuSoHuu.IdChuSoHuu, ChuSoHuu.Ten
end

exec proc_ChiPhi 1

create proc proc_check
	@IDchusohuu int
as
begin
	select ChuSoHuu.SoCmtnd, ChuSoHuu.Ten, BaiDoXe.TenBai, ThongTinGui.BienSoXe
	from ChuSoHuu, BaiDoXe, ThongTinGui
	where ThongTinGui.IdChuSoHuu=ChuSoHuu.IdChuSoHuu and ThongTinGui.MaBai=BaiDoXe.MaBai and GETDATE() between ThongTinGui.NgayGui and ThongTinGui.NgayLay and [email protected]
end

exec proc_check 2


create proc proc_History
	@IDchusohuu int
as
begin
	select ChuSoHuu.Ten, ChuSoHuu.IdChuSoHuu, BaiDoXe.TenBai, ThongTinGui.BienSoXe
	from ChuSoHuu, BaiDoXe, ThongTinGui
	where ThongTinGui.IdChuSoHuu=ChuSoHuu.IdChuSoHuu and ThongTinGui.MaBai=BaiDoXe.MaBai and [email protected]
end

exec proc_History 2


Đã sao chép!!!