SQL Server: Practical 2

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Practical 2

1. Đọc hiểu bài toán quản lý Học viên và Điểm thi sau:

Có một Cơ sở dữ liệu (CSDL) như hình trên.

Bảng Test lưu danh sách các môn học.

Bảng Student lưu danh sách các học viên.

Bảng StudentTest lưu danh sách điểm thi và ngày thi của mỗi học viên với môn thi.

Một học viên chưa thi môn nào nếu như mã học viên (RN) không xuất hiện trong bảng StudentTest. Một môn học chưa có ai thi nếu mã môn học (TestID) không xuất hiện trong bảng StudentTest.

2. Tạo một file có tên Lab2.sql.

3. Tạo một CSDL đặt tên là ‘DBLab2’ và thực hiện các yêu cầu dưới đây.

Tạo 3 bảng và chèn dữ liệu như yêu cầu dưới đây:

Student (Lưu danh sách các học viên gồm mã học viên(RN), tên(Name), tuổi(Age)).

RN (int primary key)

Name (VarChar (20))

Age (tinyint)

1

Nguyen Hong Ha

20

2

Truong Ngoc Anh

30

3

Tuan Minh

25

4

Dan Truong

22

Test (Lưu danh sách môn học gồm mã môn học (TestID, tên môn học(Name)).

TestID (int primary key)

Name (Varchar(20))

1

EPC

2

DWMX

3

SQL1

4

SQL2

StudentTest (Lưu điểm thi của học viên với từng môn thi, gồm mã học viên (RN), mã môn học (TestID), ngày thi(Date), điểm thi(Mark)).

RN (int foreign key tham chiếu tới RN của Student)

TestID (int foreign key tham chiếu tới TestID của Test)

Date (Date)

Mark (Float)

1

1

7/17/2006

8

1

2

7/18/2006

5

1

3

7/19/2006

7

2

1

7/17/2006

7

2

2

7/18/2006

4

2

3

7/19/2006

2

3

1

7/17/2006

10

3

3

7/18/2006

1

a. Đưa ra điểm của học viên dưới dạng 4 chữ số, 2 chữ số sau dấu phảy.

b. Hiển thị những học viên có tuổi >25.

c. Hiển thị những học viên có tuổi là 20 hoặc 30.

d. Hiển thị những môn học có chứa ký tự ‘s’.

e. Hiển thị tất cả những bản ghi có điểm số >5 trong bảng StudentTest.

f. Hiển thị những học viên có tên gồm 4 ký tự.

g. Hiển thị những học viên có họ gồm 6 ký tự.

h. Hiển thị những học viên có họ gồm 6 ký tự nhưng không chứa ký tự ‘r’.

i. Thêm trường (cột) tên là Status có kiểu varchar(10) và giá trị mặc định là ‘Young’ vào bảng Student (tham khảo bài viết: Thao tác với cột (Column)).

k. Xóa các ràng buộc khóa ngoại.

l. Xóa các ràng buộc khóa chính.

m. Xóa các bảng.

n. Xóa CSDL.

Extra:

1. Đưa ra tuổi trung bình của các học viên.

2. Tìm những học viên có tuổi cao nhất.

3. Tìm những học viên có tuổi thấp nhất.

4. Tìm những môn học có điểm cao nhất.

5. Tìm những môn học có điểm thấp nhất.

6. Tìm những học viên đã thi gần đây nhất.

7. Tìm những học viên đã thi đầu tiên.

8. Tính tổng tuổi của các học viên.

9. Tính xem đến thời điểm này mỗi môn học đã thi được bao nhiêu ngày rồi.

10. Tìm những học viên đạt điểm cao nhất.

11. Tìm những học viên có điểm thấp nhất.

12. Tính điểm trung bình cho mỗi học viên, điểm phải được sắp xếp giảm dần và được hiển thị dưới dạng 4 số, 2 chữ số sau dấu phảy.

13. Hiển thị danh sách các học viên đã tham gia thi, các môn thi được thi bởi các học viên đó.

14. Hiển thị danh sách các bạn học viên chưa thi môn nào.

15. Hiển thị danh sách học viên phải thi lại, tên môn học phải thi lại và điểm thi (điểm phải thi lại là điểm nhỏ hơn 5).

16. Hiển thị tên và điểm trung bình của học viên có điểm trung bình lớn nhất.

17. Hiển thị tên và điểm trung bình của học viên có điểm trung bình nhỏ nhất.

18. Hiển thị điểm thi cao nhất của từng môn học.

19. Hiển thị danh sách tất cả các học viên và môn học mà các học viên đó đã thi, nếu học viên chưa thi môn nào thì phần tên môn học để Null (gợi ý: ý này có liên quan đến phần LEFT, RIGHT & FULL JOIN).

Xem thêm

» Tiếp: Practical 3
« Trước: Practical 1
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!