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:40 13/04/2021 5,625 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

Dao Thu Huyen [C2010G]

Ngày viết: 10:16 07/04/2021



create database qlibaidoxe
use qlibaidoxe

create table baidoxe(
	tenbai nvarchar(50),
	id_baidoxe int,
	diachi nvarchar (50)

)

create table thongtinguii(
	tenxe nvarchar (50),
	biensoxe int,
	id_baidoxe int,
	ngayguixe datetime,
	ngaylayxe datetime,
	chiphi money,
	id_chusohuu int
)

create table chusohuu(
	id_chusohuu int,
	ten nvarchar(50),
	socmnd int,
	diachi nvarchar (50)
)



insert into baidoxe(tenbai,id_baidoxe,diachi)
values 
('A',001,'Mydinh'),
('B',002,'Giapbat'),
('C',003,'Gialam')


insert into thongtinguii(tenxe,biensoxe,id_baidoxe,ngayguixe,ngaylayxe,chiphi,id_chusohuu)
values
('Mercesdes',1234,001,'10-05-2020','11-11-2020',2000000000,1),
('Maybach',3456,002,'05-05-2020','06-06-2020',25000000000,2),
('Toyota',5678,003,'10-05-2020','11-11-2020',14000000000,3)


insert into chusohuu(id_chusohuu,ten,socmnd,diachi)
values
(1,'Huyen',001302015197,'Vancanh'),
(2,'Bong',00130208902,'Ditrach'),
(3,'Thuy',00130203859,'Kimhoang')



select * from baidoxe
select * from thongtinguii
select * from chusohuu

select chusohuu.socmnd,chusohuu.ten,baidoxe.tenbai,thongtinguii.biensoxe
	from chusohuu,baidoxe,thongtinguii
		where baidoxe.id_baidoxe=thongtinguii.id_baidoxe
		and thongtinguii.id_chusohuu=chusohuu.id_chusohuu
		


Đỗ Minh Tâm [community,C2010G]

Ngày viết: 10:14 07/04/2021



create database KhuGuixe
use KhuGuixe

create table BaiDoXe(
	TenBai nvarchar(50),
	MaBaiDoXe nvarchar(50) primary key,
	DiaChi nvarchar(50)
)
create table ThongTinGui(
	TenXe nvarchar(50),
	BienSoXe nvarchar(50),
	MaBaiDoXe nvarchar(50) primary key,
	idChuXe nvarchar(50)
)

create table BangChuSoHuu(
	idChuXe nvarchar(50) primary key,
	TenChuXe nvarchar(50),
	CMTNN bigint,
	DiaChiChuXe nvarchar(50),
)
insert into BaiDoXe(TenBai, MaBaiDoXe, DiaChi)
values
('a', 'a1', 'ha noi'),
('b', 'a2', 'ha noi'),
('c', 'a3', 'ha noi'),
('d', 'a4', 'ha noi'),
('e', 'a5', 'ha noi')

insert into ThongTinGui(TenXe, BienSoXe, MaBaiDoXe, idChuXe)
values
('honda', '18-G1 45678', 'a1', '123456789'),
('honda', '1r9-G1 45678', 'a2', '1234567891'),
('yamaha', '10-G1 45678', 'a3', '1234567892'),
('kawazaki', '34-G1 45678', 'a4', '1234567893'),
('ducati', '35-G1 45678', 'a5', '1234567894')

insert into BangChuSoHuu(idChuXe, TenChuXe, CMTNN, DiaChiChuXe)
values
('123456789', 'A', '3247239872', 'ha noi'),
('1234567891', 'B', '0980978458201', 'ha noi'),
('1234567892', 'C', '0980978458202', 'ha noi'),
('1234567893', 'D', '0980978458203', 'ha noi'),
('1234567894', 'E', '0980978458204', 'ha noi')

alter table BaiDoXe
add constraint fk_MaBaiDoXe foreign key (MaBaiDoXe) references ThongTinGui (MaBaiDoXe)

alter table ThongTinGui
add constraint fk_idChuXe foreign key (idChuXe) references BangChuSoHuu (idChuXe)

select BangChuSoHuu.CMTNN, BangChuSoHuu.TenChuXe, BaiDoXe.TenBai, ThongTinGui.BienSoXe
	from BangChuSoHuu, ThongTinGui, BaiDoXe
		where BaiDoXe.MaBaiDoXe = ThongTinGui.MaBaiDoXe
			and ThongTinGui.idChuXe = BangChuSoHuu.idChuXe


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


Vũ Trung Kiên [C2009I]

Ngày viết: 15:41 04/03/2021


#1825.sql


create database ParkingManager
use ParkingManager

create table BaiDoXe (
	TenBai nvarchar(20) not null,
	idBai int not null,
	DiaChi nvarchar(200) not null
)

create table ThongTinGui (
	TenXe nvarchar(50) not null,
	BSX nvarchar(20) not null,
	idBai int not null,
	NgayGui date not null,
	NgayLay date not null,
	Phi money not null,
	idChuXe int not null
)

create table ChuXe (
	idChuXe int not null,
	TenChuXe nvarchar(50) not null,
	CMND nvarchar(20) not null,
	DiaChiChuXe nvarchar(200) not null
)

alter table BaiDoXe
add constraint BaiDoXe_PK primary key (idBai)

alter table ThongTinGui
add constraint ThongTinGui_PK primary key (TenXe)

alter table ChuXe
add constraint ChuXe_PK primary key (idChuXe)

alter table ThongTinGui
add constraint ThongTinGui_ChuXe_FK foreign key (idChuXe) references ChuXe(idChuXe)

alter table ThongTinGui
add constraint ThongTinGui_BaiDoXe_FK foreign key (idBai) references BaiDoXe(idBai)

insert into BaiDoXe(TenBai, idBai, DiaChi)
values
('B1', 1, 'HN'),
('B2', 2, 'HCM'),
('B3', 3, 'DN')

insert into ChuXe(idChuXe, TenChuXe, CMND, DiaChiChuXe)
values
(1, 'Tran Van A', '2345636', 'DN'),
(2, 'Tran Van B', '3456377', 'HN'),
(3, 'Tran Van C', '4747747', 'HCM')

insert into ThongTinGui(TenXe, BSX, idBai, NgayGui, NgayLay, Phi, idChuXe)
values
('BMW', '74657474', 1, '2020/02/01', '2020/02/03', '2000050', 3),
('Audi', '34636346', 2, '2021/02/01', '2021/02/06', '2005000', 1),
('Audi', '34636346', 1, '2021/05/01', '2021/07/03', '20000340', 1),
('Toyota', '58588786', 1, '2020/12/01', '2021/2/03', '200000', 2),
('BMW', '45646456', 3, '2021/02/11', '2020/02/13', '2000006', 3),
('Mercedes', '90789696', 1, '2020/02/21', '2020/02/25', '2050000', 3),
('BMW', '74657474', 3, '2020/01/31', '2020/02/03', '200000', 3),
('Toyota', '58588786', 2, '2021/05/01', '2020/06/03', '2000200', 3),
('Mazda', '74657474', 2, '2020/02/01', '2020/02/13', '2000070', 2),
('Vinfast', '34636333', 1, '2019/02/01', '2020/02/03', '2070000', 3)

create proc proc_SoLanGuiXe
	@idChuXe int
as
begin
	select ThongTinGui.idChuXe, ChuXe.TenChuXe, count(ThongTinGui.idBai) 'SoLanGui'
	from ThongTinGui, ChuXe
	where ThongTinGui.idChuXe = ChuXe.idChuXe and ThongTinGui.idChuXe = @idChuXe
	group by ThongTinGui.idChuXe, ChuXe.TenChuXe
end

create proc proc_TongPhi
	@idChuXe int
as
begin
	select ThongTinGui.idChuXe, ChuXe.TenChuXe, sum(ThongTinGui.Phi) 'TongPhi'
	from ThongTinGui, ChuXe
	where ThongTinGui.idChuXe = ChuXe.idChuXe and ThongTinGui.idChuXe = @idChuXe
	group by ThongTinGui.idChuXe, ChuXe.TenChuXe
end

create proc proc_Check
	@idChuXe int
as
begin
	select ChuXe.CMND, ChuXe.TenChuXe, BaiDoXe.TenBai, ThongTinGui.BSX
	from ChuXe, BaiDoXe, ThongTinGui
	where ChuXe.idChuXe = ThongTinGui.idChuXe and ThongTinGui.idBai = BaiDoXe.idBai and ThongTinGui.idChuXe = @idChuXe
end

create proc proc_ThongTinXeDaGui
	@idChuXe int
as
begin
	select ThongTinGui.idChuXe, BaiDoXe.TenBai, ThongTinGui.BSX
	from BaiDoXe, ThongTinGui
	where BaiDoXe.idBai = ThongTinGui.idBai and ThongTinGui.idChuXe = @idChuXe
end

exec proc_SoLanGuiXe 3
exec proc_TongPhi 3
exec proc_Check 3
exec proc_ThongTinXeDaGui 3
select * from BaiDoXe
select * from ThongTinGui
select * from ChuXe


Nguyễn Hữu Hiếu [T2008A]

Ngày viết: 21:52 15/12/2020



create database baidoxe1825
use baidoxe1825
create table baidoxe(
	id int primary key identity(1,1),
	name nvarchar(100),
	address nvarchar(200)
)
create table custumer(
	id int primary key identity(1,1),
	name nvarchar(50),
	cmtnd nvarchar(25),
	address nvarchar(100)
)

create table info(
	id_baidoxe int references baidoxe(id),
	id_custumer int references custumer(id),
	name_car nvarchar(50),
	number_car nvarchar(25),
	date_in date,
	date_out date,
	chiphi money,
)

insert into baidoxe(name, address)
values
('Chuong Duong', 'Ha Noi'),
('Thanh Xuan', 'Ha Noi'),
('Cau Giay', 'Ha Noi'),
('Tu Liem', 'Ha Noi'),
('Hoan Kiem', 'Ha Noi')

insert into custumer(name, cmtnd, address)
values
('Nguyen Van A','00232323','Ha Noi'),
('Nguyen Van B','0343423','Hung Yen'),
('Nguyen Van C','023233','Ha Nam'),
('Nguyen Van D','0324243','Ha Tinh'),
('Nguyen Van E','03424243','Ha Tay'),
('Nguyen Van F','0434343','Ha Giang')

insert into info(id_baidoxe, id_custumer, name_car, number_car, date_in, date_out, chiphi)
values
(1,2,'Vision','29X3-22622','2020-09-20','2020-09-22', 10000),
(2,3,'Vision2','29X3-22622','2020-09-20','2020-09-22', 10000),
(3,3,'Vision3','29X3-22622','2020-09-20','2020-09-22', 10000),
(2,2,'Vision2','29X3-22622','2020-09-20','2020-09-22', 10000),
(3,2,'Vision1','29X3-22622','2020-09-20','2020-09-22', 10000)

select * from info

--Hien thi người gửi xe (số cmtnd, tên, tên bãi đỗ xe, biển số xe)
select custumer.cmtnd, custumer.name, baidoxe.name, info.number_car
from custumer, baidoxe, info
where custumer.id = info.id_custumer and baidoxe.id = info.id_baidoxe

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

create proc num_customer_id_customer
	@number_id int
as
begin
	select count(id_custumer) from info where info.id_custumer = @number_id
end

exec num_customer_id_customer 1

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

create proc chiphitheo_id_custumer2
	@id_custumer int
as
begin
	select sum(chiphi) 'Chi phi gui xe' from info where info.id_custumer = @id_custumer
end
exec chiphitheo_id_custumer2 3

---> 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.
select baidoxe.name, info.number_car, custumer.name
from baidoxe, info, custumer
where custumer.id = info.id_custumer and baidoxe.id = info.id_baidoxe
group by baidoxe.name, info.number_car, custumer.name






Đã sao chép!!!