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 Xây dựng CSDL quản lý điểm danh aptech - Lập trình SQL Server/MySQL

Xây dựng CSDL quản lý điểm danh aptech - Lập trình SQL Server/MySQL

by GokiSoft.com - 20:11 12/01/2022 9,206 Lượt Xem

Quản lý điểm danh Aptech

1. Bảng học viên -> Student

- RollNo :  tên trường trong bảng

- tên học viên : tên trường trong bảng

- giới tinh, ngày sinh, quê quán, email, sđt : tên trường trong bảng

2. Bảng giáo viên -> Teacher

- mã giáo viên : tên trường trong bảng

- ten giáo viên, giới tính, ngày sinh : tên trường trong bảng

3. Bảng môn học -> Subject

- mã môn học : tên trường trong bảng

- tên môn học : tên trường trong bảng

- tổng số buổi : tên trường trong bảng

4. Bảng lớp học -> Class

- mã lớp học : tên trường trong bảng

- tên lớp học : tên trường trong bảng

- ghi chú : tên trường trong bảng

5. Thành viên lớp học -> ClassMember

- RollNo

- ClassNo

- JoinedDate

- OutedDate

6. Phân công công viêc -> Schedule

- ID : tự tăng

- Mã giáo viên

- Mã môn học

- Mã lớp học

- ngày bắt đầu - 1/7/2018

- ngày kết thúc - 30/7/2018

7. Bảng điểm danh -> Attendance

- ID: tự tăng

-  ScheduleId -> liên kết vs Schedule

- RollNo : tên trường trong bảng

- ngày điểm danh : tên trường trong bảng

- điểm danh lần 1 : tên trường trong bảng

- điểm danh lần 2 : tên trường trong bảng

- ghi chú : thông tin bổ sung -> tên trường trong bảng

Yêu cầu :

- Thiết kế database trên

- Thêm dữ liệu cho từng bảng, mỗi bảng 5 bản nghi

- Tạo procedure để xem thông tin học viên trong một lớp học - đầu vào là tên lớp

- Tạo procedure để xem danh sách điểm danh của lớp học, của môn môn học cụ thể. - đầu vào là mã lớp học và môn học

- tạo trigger để xóa dữ liệu học viên

Bình luận



Chia sẻ từ lớp học

hieuvm0512 [community,C2010L]

Ngày viết: 20:19 22/04/2021



create database Ape

use Ape

create table Student
(
rollno int primary key identity(1,1),
name nvarchar(25),
gender nvarchar(10),
birth date,
home nvarchar(50),
email nvarchar(50),
phone nvarchar(20)
)

create table Teacher
(
id int primary key identity(1,1),
name nvarchar(25),
gender nvarchar(10),
birth date
)

create table Subject
(
id int primary key identity(1,1),
subject nvarchar(25),
count int
)

create table Class
(
id int primary key identity(1,1),
class nvarchar(25) not null,
note nvarchar(50)
)

create table ClassMember
(
rollno int references Student(rollno),
classid int references Class(id),
strt date,
emd date
)

create table Schedule 
(
id int primary key identity(1,1),
teacherid int references Teacher(id),
subjectid int references Subject(id),
classid int references Class(id),
strt date,
emd date
)

create table Attendance
(
id int primary key identity(1,1),
scheduleid int references Schedule(id),
rollno int references Student(rollno),
di date,
lan1 date,
lan2 date,
note nvarchar(50) 
)

insert into Student(name,gender,birth,home,email,phone)
values
('Vu Minh Hieu','Nam','2000-12-05','Ha Noi','[email protected]','037.713.2000'),
('Vu Minh Hiu','Nam','2000-12-15','Ha Nam','[email protected]','037.713.2052'),
('Vu Minh Hi','Nu','2000-12-25','Ha Cau','[email protected]','037.713.2054'),
('Vu Minh Hu','Nam','2000-12-07','Ha Tri','[email protected]','037.713.2021'),
('Vu Minh Hie','Nu','2000-12-19','Ha Tay','[email protected]','037.713.2023')

insert into Teacher(name,gender,birth)
values
('Tran Van Diep','Nam','1980-06-15'),
('Tran Van iep','Nu','1980-06-15'),
('Tran Van Dep','Nam','1980-06-15'),
('Tran Van Dip','Nu','1980-06-15'),
('Tran Van Di','Nam','1980-06-15')

insert into Subject(subject,count)
values
('Toan',12),
('Van',10),
('Anh',8),
('Ly',12),
('Hoa',12)
go

insert into Class(class,note)
values
('Lop Toan 1','Rat hay'),
('Lop Toan 2','Hay'),
('Lop Van','Rat Hayy'),
('Lop Van 2','Rat te'),
('Lop Anh 1','DC'),
('Lop Anh 2','Brilliant'),
('Lop Ly','nah'),
('Lop Hoa','hannah')
go

insert into ClassMember(rollno,classid,strt,emd)
values
(1,1,'2018-07-01','2018-07-15'),
(1,3,'2018-07-01','2018-07-15'),
(2,2,'2018-07-02','2018-07-16'),
(2,5,'2018-07-03','2018-07-17'),
(3,7,'2018-07-05','2018-07-20'),
(3,8,'2018-07-05','2018-07-20'),
(4,4,'2018-07-09','2018-07-24'),
(5,6,'2018-07-10','2018-07-25')
go

insert into Schedule(teacherid,subjectid,classid,strt,emd)
values
(1,1,1,'2018-07-01','2018-07-15'),
(2,1,2,'2018-07-02','2018-07-16'),
(3,2,3,'2018-07-01','2018-07-15'),
(1,2,4,'2018-07-09','2018-07-24'),
(2,3,5,'2018-07-03','2018-07-17'),
(3,3,6,'2018-07-10','2018-07-25'),
(4,4,7,'2018-07-05','2018-07-20'),
(5,5,8,'2018-07-05','2018-07-20')
go

insert into Attendance(scheduleid,rollno,di,lan1,lan2,note)
values
(1,1,'2018-07-01','2018-07-02','2018-07-04','Du'),
(3,1,'2018-07-01','2018-07-02','2018-07-04','Du'),
(2,2,'2018-07-02','2018-07-03','2018-07-05','Du'),
(4,4,'2018-07-09','2018-07-10','2018-07-13','thieu 1'),
(5,2,'2018-07-03','2018-07-05','2018-07-07','Du'),
(6,5,'2018-07-10','2018-07-10','2018-07-12','Du'),
(7,3,'2018-07-05','2018-07-07','2018-07-09','Rat du'),
(8,3,'2018-07-05','2018-07-07','2018-07-09','Dz')
go

create procedure SV 
@classid int
as
begin
select Student.rollno 'MSV', Student.name 'Ten SV',Class.class 'Ten Lop',ClassMember.strt 'Bat dau',ClassMember.emd 'Ket thuc'
from Student,Class,ClassMember
where Student.rollno=ClassMember.rollno
and ClassMember.classid = Class.id
and
classid = @classid 
end

drop procedure SV
exec SV 8

create procedure Attendancing
@classid int,
@subjectid int
as
begin
select Attendance.rollno 'MSV' ,Student.name 'Ten', Attendance.di 'Start',Attendance.lan1 'Lan dau', Attendance.lan2 'Lan 2', Schedule.classid 'Ma lop', Class.class 'Ten lop', Subject.subject 'Mon hoc'
from Attendance,Class,Schedule,Subject,Student
where Attendance.rollno=Student.rollno
and Schedule.id = Attendance.id
and Schedule.classid = Class.id
and Schedule.subjectid=Subject.id
and @classid = Schedule.classid
and @subjectid = Schedule.subjectid
end

drop procedure Attendancing
exec Attendancing 3,2

select*from Class
select*from Subject

create trigger XHV on Student
instead of delete
as
delete from Attendance where rollno in(select rollno from deleted)
delete from ClassMember where rollno in(select rollno from deleted)
delete from Student where rollno in(select rollno from deleted)

delete from Student
where rollno=5


select*from Student
select*from Attendance
select*from ClassMember



Đã sao chép!!!