Cùng với sự phát triển của khoa học kỹ thuật, máy tính đang có mặt trong mọi lĩnh vực của cuộc sống như: y tế, quốc phòng, truyền thông,. Ngành giáo dục cũng không ngoại lệ. Công nghệ thông tin đang được áp dụng để quản lý học sinh, quản lý điểm, sắp xếp thời khoá biểu,. Đặc biệt, hiện nay hình thức thi trắc nghiệm đang được Bộ Giáo Dục và Đào Tạo khuyến khích đưa vào sử dụng trong các trường, lớp.
Thi trắc nghiệm là hình thức thi được áp dụng ở nhiều quốc gia trên thế giới. Việc tổ chức thi trắc nghiệm có thể giúp chúng ta đánh giá đúng khả năng và kiến thức của học sinh, đồng thời giáo viên có thể rút kinh nghiệm trong giảng dạy. Tuy nhiên việc tổ chức thi trên giấy là rất tốn kém về kinh phí và phải huy động nhiều giáo viên coi thi lẫn chấm thi mà mức dộ chính xác không cao do khối lượng học sinh tại trường phổ thông lớn, đề thi được lấy từ ngân hàng đề nên các học sinh dễ quay cóp và xem bài lẫn nhau trong khi thi, chưa đảm bảo tính chính xác và công bằng của cuộc thi.
Với những nhược điểm của thi trắc nghiệm trên giấy thì tiến hành thi trắc nghiệm trên máy sẽ chính xác và ít tốn chi phí hơn, đồng thời cũng tận dụng được cơ sở vật chất của trường (trường có một phòng máy vi tính). Để đảm bảo được tính công bằng của cuộc thi, bài thi của học sinh sẽ tự động lưu lại trong cơ sở dữ liệu, các câu hỏi trong khi thi sẽ được lấy ngẫu nhiên trong bộ đề thi. Việc in danh sách lớp, bảng điểm của tất cả các học sinh trong một kỳ thi chỉ bằng một thao tác nhấn chuột đơn giản.
68 trang |
Chia sẻ: luyenbuizn | Lượt xem: 1129 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Chương trình thi trắc nghiệm môn toán, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG I: GIỚI THIỆU ĐỀ TÀI
Cùng với sự phát triển của khoa học kỹ thuật, máy tính đang có mặt trong mọi lĩnh vực của cuộc sống như: y tế, quốc phòng, truyền thông,... Ngành giáo dục cũng không ngoại lệ. Công nghệ thông tin đang được áp dụng để quản lý học sinh, quản lý điểm, sắp xếp thời khoá biểu,... Đặc biệt, hiện nay hình thức thi trắc nghiệm đang được Bộ Giáo Dục và Đào Tạo khuyến khích đưa vào sử dụng trong các trường, lớp.
Thi trắc nghiệm là hình thức thi được áp dụng ở nhiều quốc gia trên thế giới. Việc tổ chức thi trắc nghiệm có thể giúp chúng ta đánh giá đúng khả năng và kiến thức của học sinh, đồng thời giáo viên có thể rút kinh nghiệm trong giảng dạy. Tuy nhiên việc tổ chức thi trên giấy là rất tốn kém về kinh phí và phải huy động nhiều giáo viên coi thi lẫn chấm thi mà mức dộ chính xác không cao do khối lượng học sinh tại trường phổ thông lớn, đề thi được lấy từ ngân hàng đề nên các học sinh dễ quay cóp và xem bài lẫn nhau trong khi thi, chưa đảm bảo tính chính xác và công bằng của cuộc thi.
Với những nhược điểm của thi trắc nghiệm trên giấy thì tiến hành thi trắc nghiệm trên máy sẽ chính xác và ít tốn chi phí hơn, đồng thời cũng tận dụng được cơ sở vật chất của trường (trường có một phòng máy vi tính). Để đảm bảo được tính công bằng của cuộc thi, bài thi của học sinh sẽ tự động lưu lại trong cơ sở dữ liệu, các câu hỏi trong khi thi sẽ được lấy ngẫu nhiên trong bộ đề thi. Việc in danh sách lớp, bảng điểm của tất cả các học sinh trong một kỳ thi chỉ bằng một thao tác nhấn chuột đơn giản.
CHƯƠNG II:
MÔ TẢ BÀI TOÁN THI TRẮC NGHIỆM
Chương trình được thiết kế để thực thi trên hệ thống máy vi tính của nhà trường, bao gồm các đặc điểm chính sau:
Hàng năm vào đầu mỗi năm học sau khi ổn định nề nếp về mặt tổ chức, Ban giám hiệu phân công giáo viên quản lý phòng máy nhập danh sách học sinh của các lớp vào cơ sở dữ liệu.
Để tổ chức thi trắc nghiệm cần phải có bộ đề thi (ngân hàng đề thi), các giáo viên được sự phân công của Tổ Trưởng bộ môn sẽ tiến hành soạn các câu hỏi thi trắc nghiệm trên giấy, các đề thi trắc nghiệm sẽ được Tổ Trưởng các bộ môn xem qua, chỉnh sửa đề thi và đáp án, sau đó trình Ban Giám Hiệu duyệt. Ban Giám Hiệu sau khi đồng ý với câu hỏi thi trắc nghiệm sẽ chuyển về giáo viên quản lý hệ thống yêu cầu nhập bộ đề thi vào ngân hàng câu hỏi.
Đến kỳ thi, Ban Giám Hiệu soạn lịch thi và yêu cầu quản lý hệ thống lưu vào máy để tiến hành thi. Đến khi thi mỗi học sinh sẽ ngồi vào một máy và tiến hành đăng nhập vào chương trình theo User name và Password cho trước. Khi vào chương trình học sinh sẽ khai báo mã học sinh và lớp, khi đó máy sẽ đối chiếu với kho dữ liệu kiểm tra xem học sinh đó có được dự thi hay không?
Học sinh sau khi được kiểm tra tính hợp lệ sẽ tiến hành thi trắc nghiệm trên máy theo một thời gian nhất định, các đề thi để cho học sinh thi được lấy một cách ngẫu nhiên từ ngân hàng đề thi. Mỗi học sinh có đề thi khác nhau nhằm tránh tình trạng xem bài của nhau. Sau khi làm bài xong, học sinh lưu bài thi lại và thoát khỏi chương trình, chương trình sẽ tính toán để có được điểm thi, sau đó cập nhật điểm thi và bài làm của học sinh vào cơ sở dữ liệu. Nếu học sinh làm bài chưa xong mà hết giờ làm bài thì máy sẽ đưa một thông báo hết giờ và bắt buộc học sinh phải lưu lại bài làm và thoát khỏi chương trình. Bài làm của học sinh sẽ được lưu vào kho dữ liệu và học sinh đó sẽ không được phép thi lại kỳ thi mà mình đã thi, ngoại trừ có sự can thiệp của giáo viên có thẩm quyền (có sự chấp thuận của Ban Giám Hiệu).
Ngoài ra chương trình còn có các chức năng in danh sách lớp, in điểm thi của các học sinh trong một kỳ thi.
CHƯƠNG I:
PHÂN TÍCH VÀ THIẾT KẾ THÀNH PHẦN
HỆ THỐNG THÔNG TIN Ở MỨC QUAN NIỆM XỬ LÝ
I. SƠ ĐỒ CHỨC NĂNG – BFD:
CHƯƠNG TRÌNH THI TRẮC NGHIỆM MÔN TOÁN TẠI TRƯỜNG THPT
Thi trắc nghiệm
Cập nhật
In báo cáo
Trợ giúp
Login
Nhập danh sách lớp
Nhập danh sách học sinh
Ngân hàng đề thi
Nhập đề thi
Nhập câu hỏi
Phân công lịch thi
In danh sách lớp
In điểm học sinh
SƠ ĐỒ CHỨC NĂNG
II. SƠ ĐỒ DÒNG DỮ LIỆU – DFD (Data Flow Diagram):
1. Sơ đồ dòng dữ liệu ở mức 0 (Level 0):
Quá trình sử lý từ lúc soạn đề thi cho đến thi
0
Giáo viên
Học sinh
Ngân hàng
đề thi
Bài làm
Kết quả
Đề thi
Thông tin đăng ký thi
2. Sơ đồ dòng dữ liệu ở mức 1 (Level 1):
a. Sơ đồ dòng dữ liệu theo tiến trình cập nhật đề thi, danh sách học sinh, lịch thi:
Quản lý hệ thống
Các tổ bộ môn
Cập nhật USER và quyền truy cập
2
Soạn lịch thi
3
Tiến hành ra đề, cập nhật đề thi
4
(1)
(7)
(5)
Phòng
TC - HC
Cập nhật danh sách lớp và danh sách học sinh
1
(3)
Danh sách lớp và danh sách học sinh
D1
Danh sách USER và phân quyền
D2
D3
Lịch thi
D4
Ngân hàng đề thi
(4)
(2)
(8)
(6)
Ghi chú:
1. Quản lý hệ thống cập nhật danh sách User và quyền truy cập vào chương trình.
2. User và quyền đăng nhập được lưu vào kho dữ liệu.
3. Phòng Tổ chức - Hành chánh cập nhật danh sách lớp và danh sách học sinh
4. Lưu danh sách lớp và danh sách học sinh vào kho dữ liệu.
5. Các tổ trưởng bộ môn phân công giáo viên ra đề thi và đáp án của đề thi. Giáo viên ra đề thi xong sẽ nộp đề thi về tổ trưởng bộ môn. Các tổ trưởng bộ môn sau khi xem xét, chỉnh sửa đề thi và đáp án rồi chuyển về Ban giám hiệu duyệt.
6. Đề thi sau khi được duyệt sẽ được cập nhật và lưu vào kho dữ liệu.
7. Ban giám hiệu soạn lịch thi và yêu cầu quản lý hệ thống nhập vào máy.
8. Quản lý hệ thống tiến hành cập nhật lịch thi và lưu vào kho dữ liệu.
b.Sơ dồ dòng dữ liệu theo tiến trình thi trắc nghiệm:
Lịch thi
D3
Giao đề thi và coi thi
5
Học sinh
Danh sách lớp và danh sách học sinh
D1
Danh sách USER và phân quyền
D2
Tiến hành thi
6
(1)
(2)
(8)
(3)
(4)
Đáp án
(5)
Câu hỏi
Đề thi
Học sinh
(7)
(9)
(10)
(6)
Ghi chú:
1. Danh sách USER và phân quyền được lấy từ kho dữ liệu để kiểm tra người đăng nhập vào chương trình có gõ đúng Password không?
2. Lấy từ kho dữ liệu danh sách lớp và danh sách học sinh, để học sinh đăng ký dự thi.
3. Lịch thi được đưa vào để cấp phát đề thi, số câu hỏi mà học sinh phải làm, thời gian làm bài và số điểm cho mỗi câu trả lời đúng để chấm điểm.
4. Học sinh thực hiện đăng ký thi.
5. Sau khi kiểm tra tính hợp lệ, giáo viên cho học sinh tiến hành thi và coi thi.
6. Học sinh nhận đề thi trên máy và tiến hành thi, sau đó lưu bài thi vào máy.
7. Đề thi được lấy từ ngân hàng đề thi để cho học sinh tiến hành thi.
8. Lấy câu hỏi từ kho cơ sở dữ liệu cho học sinh thi.
9. Đưa đáp án vào để so khớp với bài làm của học sinh.
10. Trả kết quả thi cho học sinh.
III. BIỂU ĐỒ USE CASE:
1. Biểu đồ:
2. Đặc tả hành vi:
2.1. USE CASE – Nhập danh sách lớp:
STT
TÁC NHÂN
HỆ THỐNG
1
Người dùng nhấn nút Thêm để nhập danh sách lớp, sau đó nhấn nút Lưu để lưu
Kiểm tra mã lớp, nếu trùng mã lớp thì thông báo nhập lại. Ngược lại, hệ thống lưu thông tin vừa nhập vào cơ sở dữ liệu (CSDL)
2
Người dùng xem lại danh sách lớp vừa nhập
Hiển thị các thông tin đã nhập
3
Người dùng sửa các thông tin về danh sách lớp
Lưu các thông tin vừa hiệu chỉnh vào CSDL
4
Người dùng tìm đến các lớp cần xóa và nhấn nút Xóa
Hệ thống kiểm tra có chắc chắn xóa hay không, nếu chọn Yes hệ thống cho phép xóa thông tin trong CSDL
2..2. USE CASE – Nhập danh sách học sinh:
STT
TÁC NHÂN
HỆ THỐNG
1
Người dùng nhấn nút Thêm để nhập danh sách học sinh
Ghi nhận các thông tin do người dùng nhập vào.
2
Người dùng nhấn nút Lưu để lưu
Kiểm tra mã học sinh, nếu trùng mã học sinh thì thông báo cho người dùng biết để nhập lại. Ngược lại ghi những thông tin vừa nhập vào CSDL
3
Người dùng xem lại danh sách học sinh vừa nhập.
Hiển thị các thông tin trong CSDL
4
Người dùng xóa, sửa các thông tin về học sinh.
Hệ thống cho phép xóa, sửa thông tin và lưu các thông tin vừa hiệu chỉnh vào CSDL.
2..3. USE CASE – Nhập ngân hàng đề thi:
STT
TÁC NHÂN
HỆ THỐNG
1
Người dùng chọn Ngân hàng đề thi -> Nhập đề thi.
Hệ thống cho phép cập nhật các thông tin về đề thi.
2
Người dùng nhấn nút Thêm để thêm đề thi và nhấn nút Lưu để lưu.
- Kiểm tra mã đề thi, nếu trùng thì thông báo nhập lại.
- Lưu các thông tin vừa nhập vào CSDL.
3
Người dùng xem, xóa, sửa thông tin.
Hệ thống cho phép hiệu chỉnh thông tin và lưu vào CSDL.
4
Người dùng chọn Ngân hàng đề thi -> Nhập câu hỏi.
Cho phép cập nhật các thông tin về câu hỏi
5
Người dùng nhấn nút Thêm để thêm câu hỏi và nhấn nút Lưu để lưu.
- Kiểm tra sự tồn tại của mã câu hỏi, nếu trùng thì thông báo nhập lại.
- Lưu các thông tin vừa nhập vào CSDL.
6
Người dùng xem, xóa, sửa thông tin.
Hệ thống cho phép hiệu chỉnh thông tin và lưu vào CSDL.
2..4. USE CASE – Phân công lịch thi:
STT
TÁC NHÂN
HỆ THỐNG
1
Người dùng nhấn nút Thêm để phân công lịch thi
Ghi nhận các thông tin nhập vào.
2
Người dùng nhấn nút Lưu để lưu các thông tin vừa nhập
Kiểm tra các thông tin vừa nhập vào, nếu trùng mã kỳ thi thì thông báo nhập lại. Ngược lại lưu những thông tin vừa nhập vào CSDL
3
Người dùng xóa, sửa các thông tin
Hệ thống cho phép hiệu chỉnh các thông tin vào CSDL.
2..5. USE CASE – Thi trắc nghiệm:
STT
TÁC NHÂN
HỆ THỐNG
1
Người dùng nhấn nút Thi trắc nghiệm để đăng ký thi.
Cho phép học sinh chọn các thông tin như: mã kỳ thi, mã lớp, mã học sinh để đăng ký dự thi.
2
Người dùng nhấn vào nút Đăng ký để đăng ký thi
Kiểm tra các thông tin vừa đăng ký, nếu sai hoặc học sinh đã thi kỳ thi này rồi thì thông báo nhập lại. Ngược lại, cho phép học sinh tiến hành thi.
3
Người dùng tiến hành thi
- Hiển thị các câu hỏi, kiểm tra các câu trả lời của học sinh, sau đó chấm điểm cho học sinh.
- Lưu các câu trả lời của học sinh vào CSDL
- Kiểm tra thời gian làm bài, nếu hết thời gian làm bài quy định sẽ thông báo yêu cầu người dùng nộp bài và không cho phép học sinh làm bài thi nữa.
2.6. USE CASE – In danh sách lớp:
STT
TÁC NHÂN
HỆ THỐNG
1
Người dùng chọn lớp cần in và nhấn nút In danh sách để xem
Hiển thị Report danh sách học sinh của lớp cần in.
2
Người dùng nhấn vào “máy in” để in danh sách
Hiển thị danh sách học sinh của lớp cần in
2.7. USE CASE – In điểm học sinh:
STT
TÁC NHÂN
HỆ THỐNG
1
Người dùng chọn lớp cần in bảng điểm, nhấn nút Xem điểm để xem
Hiển thị Report điểm của lớp cần xem.
2
Người dùng nhấn vào “máy in” để in danh sách
Hiển thị bảng điểm của học sinh.
3. Biểu đồ hoạt động:
CHƯƠNG II:
PHÂN TÍCH VÀ THIẾT KẾ THÀNH PHẦN HỆ THỐNG THÔNG TIN Ở MỨC QUAN NIỆM DỮ LIỆU
I. SƠ ĐỒ QUAN HỆ THỰC THỂ KẾT HỢP - ERD (MỨC QUAN NIỆM):
MAKYTHI
TENKYTHI
NGAYTHI
SOCAUHOI
THOIGIAN
DIEM
Câu hỏi
MACAUHOI
NOIDUNG
CAUA
CAUB
CAUC
CAUD
CAUE
DAPAN
HINHVEMH
Thuộc 1
Học sinh
MAHS
TENHS
NGAYSINH
PHAI
DIACHI
GHI CHU
HINHANH
Danh sách lớp
MALOP
TENLOP
Đề thi
MADETHI
TENDETHI
Kỳ thi
Chi tiết đề thi
TRALOI
Bài làm
Của1
Của 2
(1,1)
(1,n)
(1,n)
(1,1)
(1,n)
(1,n)
(1,n)
(1,n)
Thuộc 2
(1,1)
(1,n)
HOCSINH
mahs
nvarchar (10)
tenhs
nvarchar (100)
malop
nvarchar (10)
ngaysinh
nvarchar (10)
phai
bit (1)
diachi
nvarchar (1000)
ghichu
nvarchar (300)
hinhanh
nvarchar (4000)
DSLOP
malop
nvarchar (10)
tenlop
nvarchar (50)
CAUHOI
macauhoi
nvarchar (10)
noidung
nvarchar (4000)
caua
nvarchar (3000)
caub
nvarchar (3000)
cauc
nvarchar (3000)
caud
nvarchar (3000)
caue
nvarchar (3000)
dapan
nvarchar (3000)
hinhvemh
nvarchar (4000)
CHITIETDETHI
madethi
nvarchar (10)
macauhoi
nvarchar (10)
KYTHI
makythi
nvarchar (10)
tenkythi
nvarchar (100)
Ngaythi
nvarchar (10)
Socauhoi
int (4)
Thoigian
int (4)
Diem
float (8)
BAILAM
Mahs
nvarchar (10)
makythi
nvarchar (10)
macauhoi
nvarchar (10)
traloi
char (1)
BANGDIEM
makythi
nvarchar (10)
mahs
nvarchar (10)
diemthi
int (4)
mahs = mahs
malop = malop
DETHI
madethi
nvarchar (10)
tendethi
nvarchar (50)
makythi = makythi
makythi = makythi
macauhoi = macauhoi
mahs = mahs
macauhoi = macauhoi
madethi = madethi
II. SƠ ĐỒ THỰC THỂ KẾT HỢP (MỨC VẬT LÝ)
III. TẬP THỰC THỂ:
Sau khi thu nhập thông tin và phân tích hệ thống ta nhận thấy cần có những đối tượng (thực thể) sau:
Phân quyền, danh sách lớp, học sinh, đề thi, câu hỏi, chi tiết đề thi, kỳ thi, bài làm, bảng điểm, trắc nghiệm.
Các tập thực thể này có những đặc tính riêng gọi là thuộc tính thực thể.
1. PHANQUYEN
Tập thực thể phân quyền
USER
Mã USER, Khóa
PASSWORD
Password để đăng nhập
2. DSLOP
Tập thực thể Danh sách lớp
MALOP
Mã lớp, Khóa
TENLOP
Tên lớp
3. HOCSINH
Tập thực thể học sinh
MAHS
Mã học sinh, Khóa
TENHS
Họ và tên học sinh
NGAYSINH
Ngày sinh của học sinh
MALOP
Mã lớp
PHAI
Phái của học sinh
DIACHI
Địa chỉ của học sinh
GHICHU
Ghi chú
HINHANH
Hình ảnh
4. DETHI
Tập thực thể đề thi
MADETHI
Mã đề thi, Khóa
TENDETHI
Tên đề thi
5. CAUHOI
Tập thực thể câu hỏi
MACAUHOI
Mã câu hỏi, Khóa
NOIDUNG
Nội dung
CAUA
Trả lời câu a
CAUB
Trả lời câu b
CAUC
Trả lời câu c
CAUD
Trả lời câu d
CAUE
Trả lời câu e
DAPAN
Đáp án
HINHVEMH
Hình ảnh minh họa
6. CHITIETDETHI
Tập thực thể chi tiết câu hỏi
MADETHI
Mã đề thi, Khóa
MACAUHOI
Mã câu hỏi, Khóa
7. KYTHI
Tập thực thể kỳ thi
MAKYTHI
Mã kỳ thi, Khóa
TENKYTHI
Tên kỳ thi
NGAYTHI
Ngày thi
SOCAUHOI
Số câu hỏi trong đề thi
THOIGIAN
Thời gian làm bài
DIEM
Điểm cho mỗi câu trả lời đúng
8. BAILAM
Tập thực thể bài làm
MAHS
Mã học sinh, Khóa
MAKYTHI
Mã kỳ thi, Khóa
MACAUHOI
Mã câu hỏi, Khóa
TRALOI
Trả lời
9. BANGDIEM
Tập thực thể bảng điểm
MAKYTHI
Mã kỳ thi, Khóa
MAHS
Mã học sinh, Khóa
DIEMTHI
Điểm thi học sinh
IV. MỐI LIÊN KẾT GIỮA CÁC THỰC THỂ:
HOCSINH
BAILAM
Có 1
(1,n)
(1,1)
1. Một học sinh có một hoặc nhiều bài làm. Một bài làm có một học sinh làm duy nhất.
HOCSINH
DSLOP
Thuộc 1
(1,1)
(1,n)
2. Một học sinh thuộc một danh sách lớp duy nhất. Một danh sách lớp có một hoặc nhiều học sinh.
BAILAM
CAUHOI
Có 2
(1,n)
(1,n)
3. Một bài làm có một hoặc nhiều câu hỏi. Một câu hỏi có một hoặc nhiều bài làm.
CAUHOI
DETHI
CTDT
(1,n)
(1,n)
4. Một câu hỏi được soạn một hoặc nhiều đề thi. Một đề thi gồm một hoặc nhiều câu hỏi khác nhau.
BAILAM
KYTHI
Thuộc 2
(1,1)
(1,n)
5. Một bài làm thuộc một kỳ thi duy nhất. Một kỳ thi thuộc một hoặc nhiều bài làm.
V. MÔ HÌNH QUAN HỆ:
1. PHANQUYEN(USER, PASSWORD)
Ứng với phân quyền có một user duy nhất (USER) để phân biệt với user khác.
Þ Quan hệ đạt dạng chuẩn BCNF (Boyce cold normal form).
2. DSLOP(MALOP, TENLOP)
Ứng với mỗi danh sách lớp có một mã lớp (MALOP) duy nhất để phân biệt với các lớp khác. Mỗi lớp có tên lớp (TENLOP).
Þ Quan hệ đạt dạng chuẩn BCNF (Boyce cold normal form).
3. HOCSINH(MAHS, TENHS, MALOP, NGAYSINH, PHAI, DIACHI, GHICHU, HINHANH)
Ứng với mỗi học sinh có mã học sinh (MAHS) để phân biệt với các học sinh khác. Mỗi học sinh có tên học sinh (TENHS), ngày sinh (NGAYSINH), phái (PHAI), địa chỉ (DIACHI), ghi chú (GHICHU), hình ảnh (HINHANH).
Þ Quan hệ đạt dạng chuẩn BCNF (Boyce cold normal form).
4. DETHI(MADETHI, TENDETHI)
Ứng với mỗi đề thi có mã đề thi (MADETHI) để phân biệt với các đề thi khác. Mỗi đề thi có tên đề thi (TENDETHI).
Þ Quan hệ đạt dạng chuẩn BCNF (Boyce cold normal form).
5. CAUHOI(MACAUHOI, NOIDUNG, CAUA, CAUB, CAUC, CAUD, CAUE, DAPAN, HINHVEMH)
Ứng với mỗi câu hỏi có mã câu hỏi (MACAUHOI) để phân biệt với câu hỏi khác. Mỗi câu hỏi có nội dung câu hỏi (NOIDUNG), trả lời câu a (CAUA), trả lời câu b (CAUB), trả lời câu c (CAUC), trả lời câu d (CAUD), trả lời câu e (CAUE), đáp án (DAPAN), hình vẽ minh họa cho câu hỏi (HINHVEMH).
Þ Quan hệ đạt dạng chuẩn BCNF (Boyce cold normal form).
6. CHITIETDETHI(MADETHI, MACAUHOI)
Đối với chi tiết đề thi có một bộ mã đề thi (MADETHI), mã câu hỏi (MACAUHOI).
Þ Quan hệ đạt dạng chuẩn BCNF (Boyce cold normal form).
7. KYTHI(MAKYTHI, TENKYTHI, NGAYTHI, SOCAUHOI, THOIGIAN, DIEM)
Đối với mỗi kỳ thi có một bộ mã kỳ thi (MAKYTHI), tên kỳ thi (TENKYTHI) để phân biệt với các kỳ thi khác. Mỗi kỳ thi có ngày thi (NGAYTHI), số câu hỏi (SOCAUHOI), thời gian (THOIGIAN), điểm (DIEM).
Þ Quan hệ đạt dạng chuẩn BCNF (Boyce cold normal form).
8. BAILAM(MAHS, MAKYTHI, MACAUHOI, TRALOI)
Ứng với mỗi bài làm có một bộ mã học sinh (MAHS), mã kỳ thi (MAKYTHI), mã câu hỏi (MACAUHOI) để phân biệt với các bài làm khác. Mỗi bài làm có trả lời (TRALOI).
Þ Quan hệ đạt dạng chuẩn BCNF (Boyce cold normal form).
9. BANGDIEM(MAKYTHI, MAHS, DIEMTHI)
Đối với mỗi bảng điểm có một bộ mã kỳ thi (MAKYTHI), mã học sinh (MAHS) để phân biệt điểm của học sinh. Mỗi bảng điểm đều có điểm (DIEM) của học sinh thi.
Þ Quan hệ đạt dạng chuẩn BCNF (Boyce cold normal form).
Kết luận:
Cơ sở dữ liệu đạt dạng chuẩn BCNF (Boyce cold normal form).
Ghi chú: Định nghĩa dạng chuẩn
- Một thuộc tính được gọi là thuộc tính nếu giá trị của nó không phải là sự kết hợp bởi nhiều thông tin có ý nghĩa khác nhau và hệ thống luôn truy xuất trên toàn bộ giá trị của nó, ít khi truy xuất đến từng thành phần dữ liệu.
- Dạng chuẩn 1 (First normal form): Một quan hệ ở dạng chuẩn 1 khi mà tất cả các thuộc tính đều mang giá trị cơ bản tức giá trị đơn.
- Dạng chuẩn 2 (Second normal form): Một quan hệ R ở dạng chuẩn 2 khi:
+ Nó ở dạng chuẩn 1.
+ Mọi thuộc tính không khóa đều phụ thuộc đầy đủ vào các khóa của R.
- Dạng chuẩn 3 (Third normal form): Một quan hệ R ở dạng chuẩn 3 khi:
+ Nó ở dạng chuẩn 2.
+ Mọi thuộc tính không khóa R đều không phụ thuộc bắc cầu vào một khóa nào của R.
- Dạng chuẩn BCK (Boyce Cold Kent – Còn gọi BC): Một quan hệ R ở dạng chuẩn BCK thì mọi vế trái của phụ thuộc hàm không hiển nhiên đều có vế trái chứa khóa.
- Dạng chuẩn 4 (Fourth Cold normal form): Một quan hệ R ở dạng chuẩn 4 khi và chỉ khi R ở dạng chuẩn BCK và mọi phụ thuộc đa trị không hiển nhiên X -->>Y được định nghĩa trên R thì vế trái X phải chứa một khóa của R, nghĩa là "A Ỵ Q+ \ Y thì X ® A Ỵ F+.
Dạng chuẩn của cơ sở dữ liệu là dạng chuẩn thấp nhất trong các dạng chuẩn của quan hệ.
VI. TỪ ĐIỂN DỮ LIỆU:
1. PHANQUYEN (Bảng phân quyền)
SốTT
Tên trường
Diễn giải
Kiểu dữ liệu
Độ lớn
Ghi chú
1
USER
Mã USER
Nvarchar
50
Khóa
2
PASSWORD
Password của USER
Nvarchar
50
2. DSLOP (Bảng danh sách lớp)
SốTT
Tên trường
Diễn giải
Kiểu dữ liệu
Độ lớn
Ghi chú
1
MALOP
Mã lớp
Nvarchar
10
Khóa
2
TENLOP
Tên lớp
Nvarchar
50
3. HOCSINH (Bảng học sinh)
SốTT
Tên trường
Diễn giải
Kiểu dữ liệu
Độ lớn
Ghi chú
1
MAHS
Mã học sinh
Nvarchar
10
Khóa
2
TENHS
Tên học sinh
Nvarchar
50
3
MALOP
Mã lớp
Nvarchar
10
4
NGAYSINH
Ngày sinh của học sinh
Datatime
8
5
PHAI
Phái của học sinh
Bit
1
6
DIACHI
Địa chỉ của học sinh
Nvarchar
100
7
GHICHU
Ghi chú
Nvarchar
300
8
HINHANH
Hình ảnh
Nvarchar
40000
4. DETHI (Bảng đề thi)
SốTT
Tên trường
Diễn giải
Kiểu dữ liệu
Độ lớn
Ghi chú
1
MADETHI
Mã đề thi
Nvarchar
10
Khóa
2
TENDETHI
Tên đề thi
Nvarchar
100
5. CAUHOI (Bảng câu hỏi)
SốTT
Tên trường
Diễn giải
Kiểu dữ liệu
Độ lớn
Ghi chú
1
MACAUHOI
Mã câu hỏi
Nvarchar
10
Khóa
2
NOIDUNG
Nội dung câuhỏi
Nvarchar
4000
3
CAUA
Nội dung trả lời câu a
Nvarchar
3000
4
CAUB
Nội dung trả lời câu b
Nvarchar
3000
5
CAUC
Nội dung trả lời câu c
Nvarchar
3000
6
CAUD
Nội dung trả lời câu d
Nvarchar
3000
7
CAUE
Nội dung trả lời câu e
Nvarchar
3000
8
DAPAN
Đáp án của câu hỏi
Char
1
9
HINHVEMH
Hình vẽ minh hoạ
Nvarchar
4000
6. CHITIETDETHI (Bảng chi tiết đề thi)
SốTT
Tên trường
Diễn giải
Kiểu dữ liệu
Độ lớn
Ghi chú
1
MADETHI
Mã đề thi
Nvarchar
10
Khóa
2
MACAUHOI
Mã câu hỏi
Nvarchar
10
Khóa
7. KYTHI (Bảng kỳ thi)
SốTT
Tên trường
Diễn giải
Kiểu dữ liệu
Độ lớn
Ghi chú
1
MAKYTHI
Mã kỳ thi
Nvarchar
10
Khóa
2
TENKYTHI
Tên kỳ thi
Nvarchar
300
3
NGAYTHI
Ngày thi
Nvarchar
10
4
SOCAUHOI
Số câu hỏi trong đề thi
Int
4
5
THOIGIAN
Thời gian làm bài
Int
4
6
DIEM
Điểm cho mỗi câu trả lời đúng
Float
8
8. BAILAM (Bảng bài làm)
SốTT
Tên trường
Diễn giải
Kiểu dữ liệu
Độ lớn
Ghi chú
1
MAHS
Mã học sinh
Nvarchar
10
Khóa
2
MAKYTHI
Mã kỳ thi
Nvarchar
10
Khóa
3
MACAUHOI
Mã câu hỏi
Nvarchar
10
Khóa
4
TRALOI
Trả lời
Char
1
9. BANGDIEM (Bảng điểm)
SốTT
Tên trường
Diễn giải
Kiểu dữ liệu
Độ lớn
Ghi chú
1
MAKYTHI
Mã kỳ thi
Nvarchar
10
Khóa
2
MAHS
Mã học sinh
Nvarchar
10
Khóa
3
DIEMTHI
Điểm thi của học sinh
Float
8
CHƯƠNG III: CÁC RÀNG BUỘC TOÀN VẸN
I. RÀNG BUỘC TOÀN VẸN TRÊN MIỀN GIÁ TRỊ CỦA THUỘC TÍNH:
1. HOCSINH(MAHS, TENHS, NGAYSINH, MALOP, PHAI, DIACHI, GHICHU, HINHANH)
Bối cảnh: HOCSINH
Điều kiện: "q Ỵ THOCSINH
[q.NAMSINH > 1984] And [q.NAMSINH < 1990] And
[q.PHAI = 1] Or [q.PHAI = 0].
2. KYTHI(MAKYTHI, TENKYTHI, NGAY THI, SOCAUHOI, THOIGIAN, DIEM)
Bối cảnh: KYTHI
Điều kiện: "q Ỵ TKYTHI
[q.NGAYTHI > q.Now()] And [q.DIEM < 10] And [q.THOIGIAN <q.SOCAUHOI*3]
3. BANGDIEM(MAKYTHI, MAHS, DIEMTHI)
Bối cảnh: BANGDIEM
Điều kiện: "q Ỵ TBANGDIEM
[q.DIEM ³ 0 ] And [q.DIEM £ 10]
4. CAUHOI(MACAUHOI, NOIDUNG, CAUA, CAUB, CAUC, CAUD, CAUE, DAPAN, HINHVEMH)
Bối cảnh: CAUHOI
Điều kiện: "q Ỵ TCAUHOI
[q.DAPAN = “a” ] OR [q.DAPAN = “b” ] OR[q.DAPAN = “c” ] OR [q.DAPAN = “d” ] OR [q.DAPAN = “e” ]
5. BAILAM(MAKYTHI, MAHS, MACAUHOI, TRALOI)
Bối cảnh: BAILAM
Điều kiện: "q Ỵ TBAILAM
[q.TRALOI = “a” ] OR [q.TRALOI = “b” ] OR[q.TRALOI = “c” ] OR [q.TRALOI = “d” ] OR [q.TRALOI = “e” ]
II. RÀNG BUỘC TOÀN VẸN LIÊN BỘ:
1. PHANQUYEN(USER, PASSWORD)
Bối cảnh: PHANQUYEN
Điều kiện: "q1, q2 Ỵ TPHANQUYEN
q1.USER q2.USER
Tầm ảnh hưởng:
Thêm
Xóa
Sửa
PHANQUYEN
+
USER
-
+
USER
2. DSLOP(MALOP, TENLOP)
Bối cảnh: DSLOP
Điều kiện: "q1, q2 Ỵ TDSLOP
q1.MALOP q2.MALOP
Tầm ảnh hưởng:
Thêm
Xóa
Sửa
DSLOP
+
MALOP
-
+
MALOP
3. HOCSINH(MAHS, TENHS, NGAYSINH, MALOP, PHAI, DIACHI, GHICHU, HINHANH)
Bối cảnh: HOCSINH
Điều kiện: "q1, q2 Ỵ THOCSINH
q1.MAHS q2.MAHS
Tầm ảnh hưởng:
Thêm
Xóa
Sửa
HOCSINH
+
MAHS
-
+
MAHS
4. DETHI(MADETHI, TENDETHI)
Bối cảnh: DETHI
Điều kiện: "q1, q2 Ỵ TDETHI
q1.MADETHI q2.MADETHI
Tầm ảnh hưởng:
Thêm
Xóa
Sửa
DETHI
+
MADETHI
-
+
MADETHI
5. CAUHOI(MACAUHOI, NOIDUNG, CAUA, CAUB, CAUC, CAUD, CAUE, DAPAN, HINHVEMH)
Bối cảnh: CAUHOI
Điều kiện: "q1, q2 Ỵ TCAUHOI
q1.MACAUHOI q2.MACAUHOI
Tầm ảnh hưởng:
Thêm
Xóa
Sửa
CAUHOI
+
MACAUHOI
-
+
MACAUHOI
6. CHITIETDETHI(MADETHI, MACAUHOI)
Bối cảnh: CHITIETDETHI
Điều kiện: "q1, q2 Ỵ TCHITIETDETHI
q1.MADETHI q2.MADETHI
Or q1.MACAUHOI q2.MACAUHOI
Tầm ảnh