Phân tích hệ thống về dữ liệu

Một phần của tài liệu Khóa luận tốt nghiệp Xây dựng phần mềm hỗ trợ quy trình soạn thảo đề thi trắc nghiệm khách quan (Trang 60)

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. (adsbygoogle = window.adsbygoogle || []).push({});

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) (adsbygoogle = window.adsbygoogle || []).push({});

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 (adsbygoogle = window.adsbygoogle || []).push({});

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 (adsbygoogle = window.adsbygoogle || []).push({});

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 (adsbygoogle = window.adsbygoogle || []).push({});

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 (adsbygoogle = window.adsbygoogle || []).push({});

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 (adsbygoogle = window.adsbygoogle || []).push({});

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

Một phần của tài liệu Khóa luận tốt nghiệp Xây dựng phần mềm hỗ trợ quy trình soạn thảo đề thi trắc nghiệm khách quan (Trang 60)