CHÈN DỮ LIỆU VÀO CÁC BẢNG 8 1.Chèn dữ liệu vào bảng khoa 2.Chèn dữ liệu vào bảng lop 3.Chèn dữ liệu vào bảng sinh vien 4.Chèn dữ liệu vào bảng mon hoc 5.Chèn dữ liệu vào bảng diem 6.Chèn
Trang 1MỤC LỤC Trang
6.TẠO CSDL KHEN THƯỞNG
7 TẠO LIÊN KẾT GIỮA CÁC BẢNG
II CHÈN DỮ LIỆU VÀO CÁC BẢNG 8
1.Chèn dữ liệu vào bảng khoa
2.Chèn dữ liệu vào bảng lop
3.Chèn dữ liệu vào bảng sinh vien
4.Chèn dữ liệu vào bảng mon hoc
5.Chèn dữ liệu vào bảng diem
6.Chèn dữ liệu vào bảng khenthuong
11
1 Tạo view sinhvien
2 Tạo view diem
3 Tạo view lop
Trang 24 Tạo view khoa
5 Tạo view monhoc
6 Tạo view khenthuong
IV BÀI TẬP THỐNG KÊ 12
1.Thống kê số lượng sinh viên trong lớp
2.Thống kê số lượng sinh viên cho từng môn học
3.Thống kê số sinh viên được khen thưởng
4.Thống kê số lượng môn học
5.Thống kê điểm
6.Thống kê sinh viên có điểm trung bình năm lớn hơn 6
7.Thống kê số lượng khoa
14
1 Tạo procedure sinh viên
2 Tạo procedure diem
3 Tạo procedure khenthuong
4 Tạo procedure bảng khoa
5 Tạo procedure bảng lop
6 Tạo procedure bảng monhoc
VI BÀI TẬP TRIGGER 21
1 Tạo trigger insert và update sinh viên
2 Tạo trigger insert và update diem
3 Tạo trigger insert và update monhoc
Trang 3QUẢN LÍ SINH VIÊN
MÔ HÌNH CSDL
1 DANH MỤC ĐIỂM
Tên Cột Ý Nghĩa Kiểu Độ RộngMasv Mã sinh viên Nchar 10
Mamonhoc Mã môn học Nchar 10
Diemtbki1 Điểm trung
Tenlop Tên lớp Nvarchar 20
3 DANH MỤC SINH VIÊN
Tên Cột Ý Nghĩa Kiểu Độ RộngMasv Mã sinh viên Nchar 10
Gioitinh Giới tính Nchar 5
Trang 4Ngaysinh Ngày sinh Datetime
Noisinh Nơi sinh Nvarchar 30
Diachi Địa chỉ Nvarchar 30
Tên Cột Ý Nghĩa Kiểu Độ Rộng
Tenkhoa Tên khoa Nvarchar 20
6 DANH MỤC KHEN THƯỞNG
Tên Cột Ý Nghĩa Kiểu Độ Rộng
Trang 5MÔ HÌNH LIÊN KẾT THỰC THỂ
Trang 6I THIẾT LẬP CSDL
1.TẠO CSDL SINH VIÊN
Trang 7create table sinhvien
Trang 86.TẠO CSDL KHEN THƯỞNG
create table khenthuong
Trang 97 TẠO LIÊN KẾT GIỮA CÁC BẢNG
alter table sinhvien ADD FOREIGN KEY (malop) references lop(malop)
alter table lop add foreign key (makhoa) references khoa (makhoa)alter table diem add foreign key (masv) references sinhvien(masv)alter table diem add foreign key (mamonhoc) referencesmonhoc(mamh)
alter table khenthuong add foreign key (masv) referencessinhvien(masv)
II CHÈN DỮ LIỆU VÀO CÁC BẢNG
1 Chèn dữ liệu vào bảng khoa
insert into khoa (makhoa,tenkhoa) values ('mk01','cntt')
insert into khoa (makhoa,tenkhoa) values ('mk02','dtvt')
insert into khoa (makhoa,tenkhoa) values ('mk03','mmt')
insert into khoa (makhoa,tenkhoa) values ('mk04','httt')
Trang 103 Chèn dữ liệu vào bảng sinh viên
(masv,hoten,malop,gioitinh,ngaysinh,noisinh,diachi) values('mssv01',N'sinh viên a','ml01','nam','09-08-1998',N'hànội',N'hà nội')
(masv,hoten,malop,gioitinh,ngaysinh,noisinh,diachi) values('mssv02',N'sinh viên b','ml01','nam','10-08-1998',N'hànam',N'hà nội')
(masv,hoten,malop,gioitinh,ngaysinh,noisinh,diachi) values('mssv03',N'sinh viên c','ml01','nam','11-08-1998',N'hànội',N'hà nội')
(masv,hoten,malop,gioitinh,ngaysinh,noisinh,diachi) values('mssv04',N'sinh viên d','ml01','nam','12-08-1998',N'hànội',N'phú thọ')
4 Chèn dữ liệu vào bảng môn học
Trang 11insert into monhoc (mamh,tenmonhoc,sotinchi) values('mmh01','tin',3)
insert into monhoc (mamh,tenmonhoc,sotinchi) values('mmh02','c#',3)
insert into monhoc (mamh,tenmonhoc,sotinchi) values('mmh03','csdl',3)
insert into monhoc (mamh,tenmonhoc,sotinchi) values('mmh04','pttk',4)
5 Chèn dữ liệu vào bảng điểm
(masv,mamonhoc,diemtbki1,diemtbki2,diemtbnam) values('mssv01','mmh01',6,6,6)
(masv,mamonhoc,diemtbki1,diemtbki2,diemtbnam) values('mssv02','mmh02',7,7,7)
(masv,mamonhoc,diemtbki1,diemtbki2,diemtbnam) values('mssv03','mmh03',8,8,8)
(masv,mamonhoc,diemtbki1,diemtbki2,diemtbnam) values('mssv04','mmh04',8,8,8)
6 Chèn dữ liệu vào bảng khen thưởng
insert into khenthuong (makt,masv,hocbong) values('mkt01','mssv03',500000)
Trang 12insert into khenthuong (makt,masv,hocbong) values('mkt02','mssv04',600000)
III BÀI TẬP VIEW
7 Tạo view sinhvien
create view getsinhvienas
select masv,hoten,gioitinh,diachi from sinhvien
8 Tạo view diem
create view getdiem as
select masv,diemtbnam from diem
9 Tạo view lớp
create view getlopas
select malop,tenlop,makhoa from lop
4 Tạo view khoa
create view getkhoa
asselect * from khoa
5.Tạo view môn học
create view getmonhoc
Trang 13select mamh,tenmonhoc from monhoc
6.Tạo view khen thưởng
create view getkhenthuong
as
select makt,masv from khenthuong
7 Tạo view giữa điểm và sinh viên
create view sinhvien_diem
as
select diem.masv,hoten,diemtbki1,diemtbki2,diemtbnamfrom diem,sinhvien where sinhvien.masv=diem.masv
8 Tạo view giữa sinh viên và khen thưởng
create view sinhvien_khenthuong
as
select khenthuong.masv,hoten,makt,hocbong fromsinhvien,khenthuong where sinhvien.masv=khenthuong.masv
IV BÀI TẬP THỐNG KÊ
1 Thống kê số lượng sinh viên trong lớp
select malop,masv = count(masv) from sinhvien group bymalop
2 Thống kê số lượng sinh viên cho từng môn học
Trang 14select tenmonhoc, count (distinct masv)'tổng số sv ' frommonhoc,diem
where monhoc.mamh=diem.mamonhoc
group by tenmonhoc
3 Thống kê số sinh viên được khen thưởng
select hocbong,count (distinct 'masv')'masv' fromkhenthuong,sinhvien where khenthuong.masv=sinhvien.masvgroup by hocbong
4 Thống kê số lượng môn học
select count (distinct mamh)'Tổng số môn học' from monhoc
5 Thống kê điểm
select diemtbnam,count (masv )'Số Lượng Sinh Viên' fromdiem
group by diemtbnam
6 Thống kê sinh viên có điểm trung bình năm lớn hơn 6
select diemtbnam,count (masv )'mã sv' from diem
group by diemtbnam,masv
having diemtbnam>6
7 Thống kê số lượng khoa
select count (makhoa)'Tổng Số Khoa'from khoa
V BÀI TẬP PROCEDURE
Trang 154 Tạo procedure sinh viên
4.1 Tạo procedure thêm sinh viên
create proc sinhvien_insert
@diachi)
end
4.2 Tạo procedure sửa sinh viên
create proc sinhvien_update
begin
Trang 16update sinhvien set masv=@masv,hoten=@hoten,malop=@malop,gioitinh=@gioitinh,ngaysinh=@ngaysinh,noisinh=@noisinh,diachi=
@diachi where masv=@masvend
4.3 Tạo procedure xóa sinh viên
create proc sinhvien_delete
begindelete sinhvien where masv=@masvend
5 Tạo procedure điểm
2.1 Tạo procedure thêm điểm
create proc diem_insert
Trang 172.2 Tạo procedure sửa điểm
create proc diem_update
end
2.3 Tạo procedure xóa điểm
create proc diem_delelte
Trang 18begin delete diem where masv=@masvend
3.Tạo procedure khen thưởng
3.1 Tạo procedure thêm dữ liệu vào bảng khen thưởng create proc khenthuong_insert
3.2 Tạo procedure sửa dữ liệu bảng khen thưởng
create proc khenthuong_update
update khenthuong set
makt=@makt,masv=@masv,hocbong=@hocbong where makt=@makt
Trang 19end
3.3 Tạo procedure xóa dữ liệu bảng khen thưởng
create proc khenthuong_delete
@makt nchar(10),
@masv nchar(10),
@hocbong floatas
begindelete khenthuong where makt=@maktend
4 Tạo procedure bảng khoa
4.1 Tạo procedure thêm vào bảng khoa
create proc khoa_insert
@makhoa nchar (10),
@tenkhoa nvarchar(20)as
begininsert into khoa (makhoa,tenkhoa) values (@makhoa,@tenkhoa)
end
4.2 Tạo procedure sửa dữ liệu bảng khoa
create proc khoa_update
@makhoa nchar (10),
@tenkhoa nvarchar(20)as
Trang 20update khoa set makhoa=@makhoa,tenkhoa=@tenkhoa where makhoa=@makhoa
end
4.3 Tạo procedure xóa dữ liệu bảng khoa
create proc khoa_delete
5.1 Tạo procedure thêm dữ liệu vào lớp
create proc lop_insert
5.2 Tạo procedure sửa dữ liệu bảng lớp
create proc lop_update
@malop nchar (10),
@tenlop nvarchar (20),
Trang 215.3 Tạo procedure xóa dữ liệu bảng lớp
create proc lop_delete
6 Tạo procedure bảng môn học
6.1 Tạo procedure thêm dữ liệu vào bảng môn học
create proc monhoc_insert
Trang 226.2 Tạo procedure sửa dữ liệu bảng môn học
create proc monhoc_update
@mamh nchar (10),
@tenmonhoc nvarchar (20),
@sotinchi tinyint as
beginupdate monhoc set mamh=@mamh,tenmonhoc=@tenmonhoc,sotinchi=@sotinchi where mamh=@mamh
end6.3 Tạo procedure xóa dữ liệu môn học
create proc monhoc_delete
@mamh nchar (10),
@tenmonhoc nvarchar (20),
@sotinchi tinyint
as begindelete monhoc where mamh=@mamhend
VI BÀI TẬP TRIGGER
4 Tạo trigger insert và update sinh viên
create trigger tg_sinhvien on sinhvien for insert,updateas
begindeclare @count int =0
Trang 23select @count = count (*) from inserted where
5 Tạo trigger insert và update điểm
create trigger tg_diem on diem for insert,update
as
begin
declare @count decimal (4,2)
select @count=COUNT(*) from inserted where
Trang 24end
end
6 Tạo trigger insert và update môn học
create trigger tg_monhoc on monhoc for insert,update as
begin
declare @tinchi tinyint =0
select @tinchi=count (sotinchi) from inserted where inserted.sotinchi<=0