5. Nội dung khóa luận
3.2.2. Phân tích hệ thống về dữ liệu
1. Các tập thức thể và thuộc tính tương ứng
Từ việc phân tích hiện trạng, sơ đồ chức năng BFD và sơ đồ phân rã các mức, ta xác định được thực thể và các thuộc tính tương ứng như sau:
- Tập thực thể “Câu hỏi”: Lưu trữ thông tin câu hỏi
CAUHOI(IdCauHoi, NoiDung, DoPhanCach, NgayTao, NgayCapNhat, TyLeDuyet, CongKhai)
- Tập thực thể “Câu trả lời”: Lưu trữ thông tin các lựa chọn và đáp án CAUTRALOI(IdCauTraLoi, NoiDung1,NoiDung2,DapAn,CoDinh)
- Tập thực thể “Câu hỏi chính thức”: Lưu trữ thông tin câu hỏi được dùng để bốc đề
CAUHOICHINHTHUC(IdCauHoiChinhThuc, NoiDung, NgayTao, NgayCapNhat, TyLeDuyet, NgayDanhGiaGanNhat,
Sinh viên thực hiện: Trần Tuấn Mỹ 61
- Tập thực thể “Câu trả lời chính thức”: Lưu trữ thông tin các lựa chọn và đáp án của câu hỏi chính thức
CAUTRALOICHINHTHUC(IdCauTraLoiChinhThuc,NoiDung1, NoiDung2, DapAn, CoDinh)
- Tập thực thể “Chức danh”: Lưu trữ thông tin chức danh của người dùng CHUCDANH(IdChucDanh, TenChucDanh, MoTa)
- Tập thực thể “Chủ đề”: Lưu trữ thông tin chủ đề của môn học CHUDE(IdChuDe, TenChuDe, MoTa)
- Tập thực thể “Chương”: Lưu trữ thông tin chương của môn học CHUONG(IdChuong, TenChuong, MoTa)
- Tập thực thể “Độ khó”: Lưu trữ thông tin các độ khó của câu hỏi DOKHO(IdDoKho, TenDoKho)
- Tập thực thể “Giáo viên”: Lưu trữ thông tin tất cả người dùng của hệ thống bao gồm quản lý, trưởng tổ bộ môn và quản lý hệ thống
GIAOVIEN(IdGiaoVien, TenGiaoVien, TaiKhoan, MatKhau, NgaySinh, DiaChi, SoDienThoai, TrangThai, GhiChu, HinhAnh, Email)
- Tập thực thể “Giả thiết chung”: Lưu trữ nội dung giả thiết chung của câu hỏi GIATHIETCHUNG(IdGiaThietChung, NoiDung)
- Tập thực thể “Khoa”: Lưu trữ thông tin các khoa KHOA(IdKhoa, TenKhoa, MoTa)
- Tập thực thể “Loại câu hỏi”: Lưu trữ thông tin các loại câu hỏi khác nhau LOAICAUHOI(IdLoaiCauHoi, TenLoaiCauHoi, MoTa)
- Tập thực thể “Môn học”: Lưu trữ thông tin các môn học MONHOC(IdMonHoc, TenMonHoc, MoTa)
- Tập thực thể “Mục kiến thức”: Lưu trữ thông tin mục kiến thức của môn học MUCKIENTHUC(IdMucKienThuc, TenMucKienThuc, MoTa)
- Tập thực thể “Mức trí năng”: Lưu trữ thông tin các mức trí năng của môn học MUCTRINANG(IdMucTriNang, TenMucTriNang)
- Tập thực thể “Quyền”: Lưu trữ thông tin quyền hạn đăng nhập hệ thống QUYEN(IdQuyen, TenQuyen)
Sinh viên thực hiện: Trần Tuấn Mỹ 62
- Tập thực thể “Tổ bộ môn”: Lưu trữ các tổ bộ môn TOBOMON(IdToBoMon, TenToBoMon, MoTa)
2. Mối quan hệ giữa các tập thực thể
- Giữa 2 tập thực thể “Câu hỏi” và “Giả thiết chung” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì mỗi câu hỏi có 0 hoặc một giả thiết chung duy nhất và mỗi giả thiết chung có thể có nhiều câu hỏi.
- Giữa 2 tập thực thể “Câu trả lời” và “Câu hỏi” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì mỗi câu hỏi có thể có nhiều câu trả lời và mỗi câu trả lời chỉ thuộc một câu hỏi duy nhất.
- Giữa 2 tập thực thể “Câu hỏi” và “Độ khó” có mối quan hệ “Có”. Đây là mối quan hệ 1-n vì mỗi câu hỏi chỉ có một độ khó duy nhất và mỗi độ khó có thể có nhiều câu hỏi.
- Giữa 2 tập thực thể “Câu hỏi” và “Loại câu hỏi” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì mỗi câu hỏi chỉ có 1 độ khó và mỗi độ khó lại có nhiều câu hỏi.
- Giữa 2 tập thực thể “Câu hỏi” và “Giáo viên” có mối quan hệ “Thảo luận”. Đây là mối quan hệ n – n vì mỗi câu hỏi được nhiều giáo viên thảo luận và mỗi giáo viên có thể thảo luận nhiều câu hỏi.
Sinh viên thực hiện: Trần Tuấn Mỹ 63
- Giữa 2 tập thực thể “Câu hỏi” và “Giáo viên” cũng có mối quan hệ “Duyệt”. Đây là mối quan hệ n – n vì mỗi câu hỏi được duyệt bởi nhiều giáo viên và mỗi giáo viên có thể duyệt nhiều câu hỏi.
- Giữa 2 tập thể “Mức trí năng” và “Mục kiến thức” có mối quan hệ “Có”. Đây là mối quan hệ n – n vì mỗi mục kiến thức có thể có nhiều mức trí năng và ngược lại mỗi mức trí năng có thể có trong nhiều mục kiến thức.
- Giữa 2 tập thực thể “Khoa” và “Tổ bộ môn” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì mỗi khoa có nhiều tổ bộ môn và mỗi tổ bộ môn chỉ thuộc một khoa.
- Giữa 2 tập thực thể “Môn học” và “Tổ bộ môn” có mối quan hệ “Có”.Đây là mối quan hệ 1 – n vì mỗi tổ bộ môn có thể có nhiều môn học và mỗi môn học thì chỉ thuộc một tổ bộ môn.
- Giữa 2 tập thực thể “Giáo viên” và “Tổ bộ môn” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì một tổ bộ môn có thể có nhiều giáo viên và mỗi giáo viên chỉ thuộc một tổ bộ môn.
Sinh viên thực hiện: Trần Tuấn Mỹ 64
- Giữa 2 tập thực thể “Câu hỏi” và “Môn học” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì một môn học có thể có nhiều câu hỏi và một câu hỏi chỉ thuộc một môn.
- Giữa 2 tập thực thể “Chương” và “Môn học” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì một môn học có thể có nhiều chương và mỗi chương chỉ thuộc một môn.
- Giữa 2 tập thực thể “Mục kiến thức” và “Chủ đề” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì mỗi chủ đề có thể có nhiều mục kiến thức và mỗi mục kiến thức chỉ thuộc một chủ đề.
- Giữa 2 tập thực thể “Chủ đề” và “Chương” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì mỗi chương có thể có nhiều chủ đề và mỗi chủ đề chỉ thuộc một chương.
- Giữa 2 tập thực thể “Quyền” và “Giáo viên” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì mỗi quyền có thể có cho nhiều giáo viên và mỗi giáo viên chỉ có một quyền duy nhất.
- Giữa 2 tập thực thể “Chức danh” và “Giáo viên” có mối quan hệ “Có”. Đây là mối quan hệ n – n vì mỗi giáo viên có thể có nhiều chức danh tùy mỗi thời điểm và mỗi chức danh có thể có trong nhiều giáo viên.
- Giữa 2 tập thực thể “Câu hỏi chính thức” và “Câu trả lời chính thức” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì mỗi câu hỏi chính thức có thể có nhiều câu trả lời chính thức và mỗi câu trả lời chính thức chỉ thuộc một câu hỏi.
Sinh viên thực hiện: Trần Tuấn Mỹ 65
3. Sơ đồ thực thể - mối quan hệ
Từ việc phân tích mối quan hệ của các tập thực thể, ta có sơ đồ thực thể - mối quan hệ như sau:
Hình 3.15: Sơ đồ thực thể - mối quan hệ
4. Chuyển các mối quan hệ thành lược đồ quan hệ
Mỗi mối quan hệ giữa các tập thực thể sẽ được chuyển thành một lược đồ quan hệ có tên là tên của mối quan hệ và nhận các thuộc tính là khóa của các tập thực thể tham gia vào mối quan hệ và có thể thêm vào thuộc tính riêng (nếu có).
- Giữa hai tập thực thể có mối quan hệ n-1 thì khóa chính của tập thực thể bên 1 sẽ làm khóa phụ của tập thực thể bên n.
- Giữa hai tập thực thể có mối quan hệ n-n thì tập thực thể mới được xây dựng nên sẽ lấy khóa chính của hai tập thực thể tham gia vào mối quan hệ n-n làm khóa chính. Như vậy, từ sơ đồ thực thể - mối quan hệ, ta nhận thấy có 3 mối quan hệ n – n. Do đó sẽ tạo ra thêm 4 lược đồ quan hệ mới có tên và thuộc tính như sau:
- Lược đồ CHITIETCHUCDANH(IdChucDanh, IdGiaoVien, ThoiDiem)
- Lược đồ MATRANKIENTHUC(IdMaTranKienThuc, IdMucKienThuc,
Sinh viên thực hiện: Trần Tuấn Mỹ 66
- Lược đồ THONGTINDUYET(IdGiaoVien, IdCauHoi, ThoiDiem)
- Lược đồ THAOLUAN(IdThaoLuan, IdGiaoVien, IdCauHoi, NoiDung, ThoiDiem)
5. Mô hình dữ liệu quan hệ
Sau khi thực hiện các bước chuẩn hóa các tập thực thể và các mối quan hệ ta có các bảng CSDL sau:
Bảng CAUHOI (Câu hỏi)
Bảng 3.1: Bảng câu hỏi
Thuộc tính Kiểu dữ liệu Diễn giải
IdCauHoiChinhThuc int Mã câu hỏi chính thức
NoiDung nvarchar(max) Nội dung
DoPhanCach real Độ phân cách
NgayTao datetime Ngày tạo
NgayCapNhat datetime Ngày cập nhất
IdGiaThietChung int Mã giả thiết chung
IdLoaiCauHoi int Mã loại câu hỏi
IdMaTranKienThuc int Mã ma trận kiến thức
IdGiaoVien int Mã giáo viên
IdDoKho int Mã độ khó
IdMonHoc int Mã môn học
TyLeDuyet float Tỷ lệ duyệt
TinhTrang nvarchar(50) Tình trạng cần sửa hay không
CongKhai bit Công khai duyệt hay không
Khoa bit Khóa câu hỏi
Bảng CAUTRALOI (Câu trả lời)
Bảng 3.2: Bảng câu trả lời
Thuộc tính Kiểu dữ liệu Diễn giải
IdCauTraLoi int Mã câu trả lời
IdCauHoi int Mã câu hỏi
NoiDung1 nvarchar(max) Nội dung l
NoiDung2 nvarchar(max) Nội dung 2
DapAn bit Đáp án
Sinh viên thực hiện: Trần Tuấn Mỹ 67
Bảng CHITIETCHUCDANH (Chi tiết chức danh)
Bảng 3.3: Bảng chi tiết chức danh
Thuộc tính Kiểu dữ liệu Diễn giải
IdChucDanh int Mã chức danh
IdGiaoVien int Mã giáo viên
Thời điểm datetime Thời điểm
Bảng CHUCDANH (Chức danh)
Bảng 3.4: Bảng chức danh
Thuộc tính Kiểu dữ liệu Diễn giải
IdChucDanh int Mã chức danh
TenChucDanh nvarchar(50) Tên chức danh
MoTa nvarchar(50) Mô tả
Bảng CHUDE (Chủ đề)
Bảng 3.5: Bảng chủ đề
Thuộc tính Kiểu dữ liệu Diễn giải
IdChuDe int Mã chủ đề
TenChuDe nvarchar(50) Tên chủ đề
IdChuong int Mã chương
MoTa Nvarchar(50) Mô tả
Bảng CHUONG (Chương)
Bảng 3.6: Bảng chương
Thuộc tính Kiểu dữ liệu Diễn giải
IdChuong int Mã chương
TenChuong nvarchar(50) Tên chương
IdMonHoc nvarchar(50) Mã môn học
MoTa nvarchar(50) Mô tả
Bảng DOKHO (Độ khó)
Bảng 3.7: Bảng độ khó
Thuộc tính Kiểu dữ liệu Diễn giải
IdDoKho int Mã độ khó
Sinh viên thực hiện: Trần Tuấn Mỹ 68
Bảng GIAOVIEN (Giáo viên)
Bảng 3.8: Bảng giáo viên
Thuộc tính Kiểu dữ liệu Diễn giải
IdGiaoVien int Mã giáo viên
TenGiaoVien nvarchar(50) Tên giáo viên
TaiKhoan nvarchar(50) Tài khoản
MatKhau nvarchar(50) Mật khẩu
NgaySinh datetime Ngày sinh
DiaChi nvarchar(50) Địa chỉ
SoDienThoai varchar(50) Số điện thoại
TrangThai bit Trạng thái
IdToBoMon int Mã tổ bộ môn
GhiChu nvarchar(50) Ghi chú
HinhAnh image Hình ảnh
IdQuyen int Mã quyền
Email varchar(50) Địa chỉ Email
Bảng GIATHIETCHUNG (Giả thiết chung)
Bảng 3.9: Bảng giả thiết chung
Thuộc tính Kiểu dữ liệu Diễn giải
IdGiaThietChung int Mã giả thiết chung
NoiDung nvarchar(max) Nội dung
Bảng KHOA (Khoa)
Bảng 3.10: Bảng khoa
Thuộc tính Kiểu dữ liệu Diễn giải
IdKhoa int Mã khoa
TenKhoa nvarchar(50) Tên khoa
MoTa nvarchar(50) Mô tả
Bảng LOAICAUHOI (Loại câu hỏi)
Bảng 3.11: Bảng loại câu hỏi
Thuộc tính Kiểu dữ liệu Diễn giải
IdLoaiCauHoi int Mã loại câu hỏi
TenLoaiCauHoi nvarchar(50) Tên loại câu hỏi
Sinh viên thực hiện: Trần Tuấn Mỹ 69
Bảng MATRANKIENTHUC (Ma trận kiến thức)
Bảng 3.12: Bảng ma trận kiến thức
Thuộc tính Kiểu dữ liệu Diễn giải
IdMaTranKienThuc int Mã ma trận kiến thức
SoCauNhap int Số câu nhập
SoCauQuyDinh int Số câu quy định
IdMucKienThuc int Mã mục kiến thức
IdMucTriNang int Mã mức trí năng
Bảng MONHOC (Môn học)
Bảng 3.13: Bảng môn học
Thuộc tính Kiểu dữ liệu Diễn giải
IdMonHoc int Mã môn
TenMonHoc int Tên môn học
Mô tả nvarchar(50) Mô tả
IdToBoMon int Mã tổ bộ môn
Bảng MUCKIENTHUC (Mục kiến thức)
Bảng 3.14: Bảng mục kiến thức
Thuộc tính Kiểu dữ liệu Diễn giải
IdMucKienThuc int Mã mục kiến thức
TenMucKienThuc nvarchar(250) Tên mục kiến thức
IdChuDe int Mã chủ đề
MoTa nvarchar(50) Mô tả
Bảng MUCTRINANG (Mức trí năng)
Bảng 3.15: Bảng mức trí năng
Thuộc tính Kiểu dữ liệu Diễn giải
IdMucTriNang int Mã mức trí năng
TenMucTriNang nvarchar(50) Tên mức trí năng
Bảng PHANQUYENNHAPCAUHOI (Phân quyền nhập câu hỏi)
Bảng 3.16: Bảng phân quyền nhập câu hỏi
Thuộc tính Kiểu dữ liệu Diễn giải
IdMaTranKienThuc int Mã ma trận kiến thức
IdGiaoVien int Mã giáo viên
SoCauPhaiNhap int Số câu phải nhập
Sinh viên thực hiện: Trần Tuấn Mỹ 70
Bảng QUYEN (Quyền)
Bảng 3.17: Bảng quyền
Thuộc tính Kiểu dữ liệu Diễn giải
IdQuyen int Mã quyền
TenQuyen nvarchar(5) Tên quyền
Bảng THAOLUAN (Thảo luận)
Bảng 3.18: Bảng thảo luận
Thuộc tính Kiểu dữ liệu Diễn giải
IdThaoLuan int Mã thảo luận
NoiDung nvarchar(max) Nội dung
ThoiDiem datetime Thời điểm
IdCauHoi int Mã câu hỏi
Bảng THONGTINDUYET (Thông tin duyệt)
Bảng 3.19: Bảng thông tin duyệt
Thuộc tính Kiểu dữ liệu Diễn giải
IdCauHoi int Mã câu hỏi
IdGiaoVien int Mã giáo viên
Thời điểm datetime Thời điểm
Bảng TOBOMON (Tổ bộ môn)
Bảng 3.20: Bảng tổ bộ môn
Thuộc tính Kiểu dữ liệu Diễn giải
IdToBoMon int Mã tổ bộ môn
TenToBoMon nvarchar(50) Tên tổ bộ môn
MoTa int Mô tả
IdKhoa int Mã khoa
Ngoài ra còn có thêm 2 bảng CAUHOICHINHTHUC (Câu hỏi chính thức) và bảng CAUTRALOICHINHTHUC (Câu trả lời chính thức) có cấu trúc giống với bảng
Sinh viên thực hiện: Trần Tuấn Mỹ 71
Từ các lược đồ quan hệ trên, ta có mô hình quan hệ dữ liệu sau:
Sinh viên thực hiện: Trần Tuấn Mỹ 72