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

Bài tập - 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

by GokiSoft.com - 21:41 10/01/2022 5,301 Lượt Xem

Bạn được yêu cầu xây dựng database cho hệ thống đưa đón học sinh bằng xe bus cho một trường học có nghiệp vụ như sau

- Bảng học viên gồm các trường : id tự tăng, Tên, địa chỉ, họ tên bố, me, sđt của bố, số điện thoại của mẹ, ngày sinh, giới tính, id địa điểm đón xe.

- Thông tin xe bus : id tự tăng, biển số xe, loại xe, số ghế ngồi, id tài xế

- Tài xế: id tự tăng, tên, sđt, giới tính, địa chỉ

- Lộ trình xe đi : id xe bus, id địa điểm đón

- Địa điểm đón xe : id tự tăng, địa chỉ


Yêu cầu thiết kế hệ thống trên.

Thêm mỗi bảng 5 bản ghi

Tạo Proc xem thông tin lộ trình đi của xe bus : tài xế, biển số xe, địa chỉ đón.

Tạo Proc xem thông tin sinh viên theo biển số xe.

Tao View xem thông tin sinh viên gồm : Tên SV, giới tính, địa chỉ đó

Bình luận



Chia sẻ từ lớp học

Trinh Huy Hung [community,C2009I]

Ngày viết: 17:27 02/03/2021



create database ManagementBus

use ManagementBus

create table Student(
	StudentId int identity(1, 1) primary key,
	StudentName nvarchar(50),
	Address nvarchar(100),
	FatherName nvarchar(50),
	MotherName nvarchar(50),
	FatherPhoneNumber nvarchar(20),
	MotherPhoneNumber nvarchar(20),
	Birthday date,
	Gender nvarchar(50),
	LocationId int
)

create table Bus(
	BusId int identity(1, 1) primary key,
	License nvarchar(50),
	Type nvarchar(50),
	Seat int,
	DriverId int
)

create table Driver(
	DriverId int identity(1, 1) primary key,
	DriverName nvarchar(50),
	PhoneNumber nvarchar(20),
	Gender nvarchar(50),
	Address nvarchar(100)
)

create table Route(
	BusId int,
	LocationId int
	Constraint PK_Route primary key (BusId, LocationId)
)

create table Location(
	LocationId int identity(1, 1) primary key,
	Address nvarchar(100)
)

alter table Student
add foreign key (LocationId) references Location(LocationId)

alter table Route
add foreign key (BusId) references Bus(BusId)

alter table Route
add foreign key (LocationId) references Location(LocationId)

alter table Bus
add foreign key (DriverId) references Driver(DriverId)

insert into Location(Address)
values
('So 1A'),
('So 2A'),
('So 1B'),
('So 1C'),
('So 2B')

insert into Student(StudentName, Address,FatherName,MotherName,FatherPhoneNumber,MotherPhoneNumber,Birthday,Gender,LocationId)
values
('Nguyen Van AAA','Chung Cu A1','Nguyen Van AA','Nguyen Thi A','012345678','012365487','2010-05-03','Nam',1),
('Le Van BBB','Chung Cu B1','Le Van BB','Le Thi B','012345679','012365489','2010-05-06','Nam',3),
('Nguyen Van DDD','Chung Cu A1','Nguyen Van DD','Nguyen Thi D','012345677','012365477','2010-02-03','Nam',1),
('Nguyen Van CCC','Chung Cu A2','Nguyen Van CC','Nguyen Thi C','012345676','012365486','2009-05-03','Nam',2),
('Nguyen Thi ABC','Chung Cu B2','Nguyen Van AB','Le Thi C','012345672','012365482','2011-05-03','Nu',6)

insert into Driver(DriverName, PhoneNumber, Gender, Address)
values 
('Hoang','098745632','Nam','KTX1'),
('Long','098745631','Nam','KTX2'),
('Ngoc','098745633','Nu','KTX3'),
('Tuan','098745634','Nam','KTX4'),
('Phuong','098745635','Nam','KTX5')

insert into Bus(License, Type, Seat, DriverId)
values 
('AB-123-456','Ngoi', 16, 1),
('AB-123-654','Ngoi', 32, 2),
('AB-789-456','Ngoi', 16, 3),
('AB-987-456','Ngoi', 32, 4),
('AB-456-789','Ngoi', 16, 5)

insert into Route(BusId, LocationId)
values
(1,1),
(1,2),
(2,3),
(2,4),
(3,6)


create proc proc_view_Route_Bus
		@BusID int
as
begin
	select Driver.DriverName, Bus.License, Location.Address
	from Driver, Bus, Location, Route
	where Driver.DriverId=Bus.DriverId and Route.LocationId=Location.LocationId and Bus.BusId=Route.BusId and [email protected]
end

exec proc_view_Route_Bus 1

create proc proc_view_student_licenseBus
		@License nvarchar(50)
as 
begin
	select Student.StudentName, Student.Gender, Location.Address
	from Student, Location, Bus, Route
	where Student.LocationId=Location.LocationId and Bus.BusId=Route.BusId and Route.LocationId=Location.LocationId and [email protected]
end

exec proc_view_student_licenseBus 'AB-123-456'

create clustered index CLI_StudentFatherName on Student(FatherName)


create trigger trigger_instead_of_Address on Location
instead of delete
as 
begin
	delete from Student where LocationId in (select LocationId from deleted)
	delete from Route where LocationId in (select LocationId from deleted)
	delete from Location where LocationId in (select LocationId from deleted)
end

select * from Student
select *from Location
select * from Route
select * from Bus
select * from Driver

delete from Location where LocationId=6


Đã sao chép!!!