Aptech SQL 2 Practical Exam 3 – Student Management

Tạo CSDL quản lý điểm học viên. CSDL gồm 3 bảng Student(RN,Name,Age,Gender), Subject(sID, sName), StudentSubject(RN,SID,Mark,Date).

  1. Tạo các bảng trên:
    1. Đặt khóa chính cho các bảng:Student khóa là RN
      Subject khóa là sID
      StudentSubject khóa là (RN,sID)
    2. Đặt ràng buộc để trường Mark chỉ nhận các giá trị trong khoảng [0->10]
    3. Đặt ràng buộc khóa chính khóa ngoại giữa 2 bảng Student(RN) và StudentSubject(RN).
  2. Nhập dữ liệu vào bảng để thể hiện thông tin sau
    1. Học viên Mỹ Linh đạt điểm 8 môn SQL vào ngày 7/28/2005
    2. Học viên Đàm Vĩnh Hưng đạt điểm 3 môn LGC vào ngày 7/29/2005
    3. Học viên Kim Tử Long đạt điểm 9 môn HTML vào ngày 7/31/2005
    4. Học viên Tài Linh đạt điểm 5 môn SQL vào ngày 7/30/2005
    5. Học viên Mỹ Lệ đạt điểm 10 môn CF vào ngày 7/19/2005
    6. Học viên Ngọc Oanh đạt điểm 9 môn SQL vào ngày 7/25/2005
  3. Cập nhật giới tính cho các học viên
    1. Mỹ Linh, Tài Linh, Mỹ Lệ là 0
    2. Kim Tử Long là 1
    3. Ngọc Oanh vẫn để Null
  4. Nhập thêm các môn học sau vào bảng Subject:
    1. Core Java
    2. VB.Net
  5. Hiển thị tất cả các môn học mà chưa có học viên nào nhận điểm.
  6. Hiển thị danh sách tất cả các môn học, với điểm cao nhất mà học viên đạt được với môn học đó, môn nào chưa có điểm thì để trống (Null) phần điểm.
  7. Hiển thị tên môn học mà có nhiều hơn một điểm
  8. Tạo một view tên là StudentInfo để xem đầy đủ các thông tin về học viên gồm (RN,sID,Name, Age, Gender, sName, Mark, Date).
    Đối với trường Gender hiển thị Male thay cho 0, Female thay cho 1 và Unknow thay cho Null.
  9. Tạo Index trên đối với view StudentInfo trên hai trường (RN,sID)
  10. Tạo một Trigger CasUpdate trên bảng Subject sao cho khi sửa dữ liệu trong cột sID của bảng Subject, dữ liệu trong cột sID của bảng StudentSubject sẽ được thay đổi tương ứng
  11. Tạo một Trigger casDel trên bảng Student, sao cho khi xoá một học viên trong bảng, thì các dòng tương ứng trong bảng StudentSubject sẽ bị xoá theo.
  12. Viết một Store Procedure nhận vào một 2 tham số, tham số thứ nhất là tên học viên, tham số thứ 2 là điểm. Procedure này sẽ xóa toàn bộ các thông tin liên quan đến học viên có tên được cung cấp nếu tất cả các điểm của học viên đó đều nhỏ hơn tham số thứ 2.
    Trường hợp tham số thứ nhất là dấu * thì procedure sẽ xóa tất cả các học viên.
  13. Hiển thị nội dung của view StudentInfo với danh sách sắp xếp theo tên(last Name)
  14. Tạo một bảng tên là Top3 với các cột (Rank,RN, Name, Mark, sName, Date) với dữ liệu gồm chỉ 3 dòng có điểm cao nhất, cột Rank sẽ chứa số thứ tự từ 1 đến 3(dòng đầu tiên là 1, dòng thứ 2 là 2 và dòng thứ 3 là 3), còn cột Date sẽ nhận giá trị là ngày cập nhật thông tin.
  15. Tạo một trigger tên là tgTop3 trên bảng StudentSubject để đảm bảo rằng dữ liệu trong bảng top3 luôn là dữ liệu của 3 bạn có điểm cao nhất.
  16. Hiển thị danh sách toàn bộ các học sinh giỏi (Học sinh giỏi là những người có điểm trung bình lớn hơn 8.0 và không có điểm nào dưới 5).
  17. Hiển thị danh sách toàn bộ các học sinh khá (Học sinh khá là những người có điểm trung bình lớn hơn 6.5 và chỉ có tối đa 1 điểm dưới 5, và điểm này không được dưới 3).
  18. Sửa Stored procedure ở câu 12 để stored prodcedure này không xóa những bạn có tên trong bảng Top3.
EXAMPLE SOURCE: Aptech-SQL-A01-StuSub.zip

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s