Tải bản đầy đủ (.pdf) (5 trang)

Bài giảng Cơ sở Dữ liệu SQL - Phần 4: Quản lý điểm học tập của sinh viên

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (187.95 KB, 5 trang )

Bài giảng Cơ sở Dữ liệu SQL – Phần 4 – Quản lý Điểm học tập của Sinh viên
* Tạo Database QuanLySinhVien
- Trước hết, nếu đã có QuanLySinhVien thì xố ñi, sau ñó tạo và Chọn QuanLySinhVien ñể làm việc:
If Exists (Select Name from Sys.Databases Where Name=N'QuanLySinhVien')
Drop Database QuanLySinhVien;
Create Database QuanLySinhVien;
Use QuanLySinhVien;

- Chọn Refresh ñể xem kết quả:

* Tạo Table SinhVien
- Trước hết, nếu đã có Table SinhVien thì xố ñi, sau ñó tạo lại Table SinhVien:
If Exists (Select Name from Sys.Tables Where Name=N'SinhVien') Drop Table
SinhVien;
Create Table SinhVien
(
MaSV Int Not Null Primary Key Identity,
TenSV NVarChar(50) Not Null,
GioiTinh NVarchar(5),
NgaySinh DateTime,
Que NVarChar(50),
Lop NVarChar(5)
)

* Tạo Table MonHoc
- Nếu đã có Table MonHoc thì xố đi, sau đó tạo lại Table MonHoc:
If Exists (Select Name from Sys.Tables Where Name=N'MonHoc') Drop Table
MonHoc;
Create Table MonHoc
(
MaMH Int Not Null Primary Key Identity,


TenMH NVarChar(50),
DVHT Int
)

Biên soạn: Th.s Nguyễn Anh Việt

Trang 1


Bài giảng Cơ sở Dữ liệu SQL – Phần 4 – Quản lý Điểm học tập của Sinh viên
* Tạo Table KetQua
- Nếu đã có Table KetQua thì xố đi, sau đó tạo lại Table KetQua:
If Exists (Select Name from Sys.Tables Where Name=N'KetQua') Drop Table KetQua;
Create Table KetQua
(
MaSV Int,
MaMH Int,
Diem Int,
Constraint Check_Diem Check (Diem Between 0 and 10),
Constraint Primary_Key Primary Key (MaSV, MaMH),
Constraint KhoaNgoai_SV_KQ Foreign Key (MaSV) References SinhVien (MaSV),
Constraint KhoaNgoai_MH_KQ Foreign Key (MaMH) References MonHoc (MaMH)
)

* Nhập dữ liệu vào Table KetQua
Insert
Select
Select
Select
Select

Select
Select
Select
Select

Into Sinhvien
N'Phạm Trung Tính', 'Nam', '03/30/1996', N'Quảng Ninh', 'L01' Union All
N'Trần Bảo Trọng', 'Nam', '12/14/1995', N'Hà Giang', 'L02' Union All
N'Lê Thùy Dung', N'Nữ', '05/12/1997', N'Hà Nội', 'L03' Union All
N'Lê Trường An', 'Nam', '11/20/1995', N'Ninh Bình', 'L04' Union All
N'Phạm Thị Hương Giang', N'Nữ', '2/21/1999', N'Hịa Bình', 'L02' Union All
N'Đồn Duy Thức', 'Nam', '4/12/1994', N'Hà Nội', 'L01' Union All
N'Dương Tuấn Thông', 'Nam', '4/12/1991', N'Nam Định', 'L03' Union All
N'Lê Thành Đạt', 'Nam', '4/15/1993', N'Phú Thọ', 'L04'

* Nhập dữ liệu vào Table MonHoc
Insert
Select
Select
Select
Select
Select

Into MonHoc
N'Tốn cao cấp', 3 Union All
N'Mạng máy tính', 3 Union All
N'Tin học ñại cương', 4 Union All
N'Hệ quản trị cơ sở dữ liệu', 2 Union All
N'Cơ sở dữ liệu', 2


* Nhập dữ liệu vào Table KetQua
Insert
Select
Select
Select
Select
Select
Select
Select
Select
Select
Select
Select
Select
Select
Select
Select

Into Ketqua
1,1,8 Union
1,2,5 Union
2,2,1 Union
3,2,7 Union
4,2,3 Union
1,3,7 Union
2,1,9 Union
4,1,2 Union
3,1,4 Union
2,3,2 Union
5,1,4 Union

6,1,2 Union
6,3,9 Union
6,2,7 Union
6,5,10

All
All
All
All
All
All
All
All
All
All
All
All
All
All

Biên soạn: Th.s Nguyễn Anh Việt

Trang 2


Bài giảng Cơ sở Dữ liệu SQL – Phần 4 – Quản lý Điểm học tập của Sinh viên
Ví dụ 1: Cho biết mã số, tên, ñiểm thi tất cả các mơn của sinh viên Phạm Trung Tính
- Tìm điểm của sinh viên theo tên sinh viên:
Select MH.MaMH, TenMH, Diem
From SinhVien SV, MonHoc MH, KetQua KQ

Where SV.MaSV = KQ.MaSV and MH.MaMH = KQ.MaMH and TenSV = N'Phạm Trung Tính'

- Kết quả như sau:

Ví dụ 2: Cho biết mã số, tên, điểm thi tất cả các mơn của sinh viên có mã sinh viên = 2
- Tìm điểm của sinh viên theo mã sinh viên:
Select MH.MaMH, TenMH, Diem
From SinhVien SV, MonHoc MH, KetQua KQ
Where SV.MaSV = KQ.MaSV and MH.MaMH = KQ.MaMH and SV.MaSV = 2

- Kết quả như sau:

Ví dụ 3: Cho biết mã số, tên mơn và điểm thi ở những mơn mà sinh viên Đồn Duy Thức phải thi lại
(ñiểm<5)
- Thực hiện:
Select MH.MaMH, TenMH, Diem
From SinhVien SV, MonHoc MH, KetQua KQ
Where SV.MaSV = KQ.MaSV and MH.MaMH = KQ.MaMH and Diem < 5
and TenSV = N'Đoàn Duy Thức'

- Kết quả như sau:

Ví dụ 4: Cho biết mã số, tên những sinh viên đã thi ít nhất là 1 trong 3 môn Cơ sở dữ liệu, cấu trúc dữ
liệu, mạng máy tính.
Biên soạn: Th.s Nguyễn Anh Việt

Trang 3


Bài giảng Cơ sở Dữ liệu SQL – Phần 4 – Quản lý Điểm học tập của Sinh viên

- Thực hiện:
Select SV.MaSV, TenSV
From SinhVien SV, MonHoc MH, KetQua KQ
Where SV.MaSV = KQ.MaSV and MH.MaMH = KQ.MaMH and TenMH in (N'Cơ sở dữ liệu',
N'Cấu trúc dữ liệu', N'Mạng máy tính')

- Kết quả như sau:

Ví dụ 5: Cho biết mã số, tên những mơn mà sinh viên có mã số 1 chưa có điểm.
- Thực hiện:
Select MaMH, TenMH
From MonHoc MH
Except
(Select MH.MaMH, TenMH
From SinhVien SV, MonHoc MH, KetQua KQ
Where SV.MaSV = KQ.MaSV and MH.MaMH = KQ.MaMH and SV.MaSV = 1)

- Kết quả như sau:

Ví dụ 6: Cho biết mã số, tên những sinh viên có điểm thi mơn 1 khơng thấp nhất khoa.
- Thực hiện:
Select SV.MaSV, TenSV, KQ.Diem
From SinhVien SV, MonHoc MH, KetQua KQ
Where SV.MaSV = KQ.MaSV and MH.MaMH = KQ.MaMH and MH.MaMH = 1 and Diem >
(select MIN(Diem) from KetQua where MaMH = 1)

- Kết quả như sau:

Biên soạn: Th.s Nguyễn Anh Việt


Trang 4


Bài giảng Cơ sở Dữ liệu SQL – Phần 4 – Quản lý Điểm học tập của Sinh viên

Ví dụ 7: Cho biết mã số và tên những sinh viên có điểm thi mơn 1 lớn hơn điểm thi mơn 1 của sinh
viên 3.
- Thực hiện:
Select SV.MaSV, TenSV
From SinhVien SV, MonHoc MH, KetQua KQ
Where SV.MaSV = KQ.MaSV and MH.MaMH = KQ.MaMH and MH.MaMH = 1 and Diem >
(Select Diem From KetQua Where MaMH = 1 and MaSV = 3)

- Kết quả như sau:

Ví dụ 8: Cho biết số sinh viên phải thi lại môn Cơ sở dữ liệu.
- Thực hiện:
Select COUNT(*) as N'Số sv thi lại'
From MonHoc MH, KetQua KQ
Where MH.MaMH = KQ.MaMH and TenMH = N'Mạng máy tính' and Diem < 5

- Kết quả như sau:

Ví dụ 9: Cho biết MaSV, TenSV, Điểm của các sinh viên phải thi lại môn Cơ sở dữ liệu.

Biên soạn: Th.s Nguyễn Anh Việt

Trang 5




×