Mỗi một khoa trong một khoá học của trường Đại Học Dân Lập Kỹ Thuật Công Nghệ có rất nhiều sinh viên, mỗi sinh viên chỉ học tại một lớp mà lớp học đó chỉ thuộc mốt khoá học và thuộc một khoa duy nhất. Khoá học được hiểu là năm bắt đầu của sinh viên khi trúng tuyển vào trường. Thông tin về sinh viên gồm mã sinh viên, họ tên sinh viên, phái ngày sinh, nơi sinh, . Thông tin về lớp gồm mã lớp, tên lớp mã khoa, mã khoá học.
Do việc nâng cao chất lượng đào tạo ngày một phù hợp với thực tế, nên một số môn học của các khoa trong các khoá học sẽ giống nhau. Ví dụ nhu khoa Công nghệ thông tin và khoa Điện tử sẽ có một số môn học giống nhau ở giai đoạn đại cương; do đó việc làm bài thi với những câu hỏi giống nhau cũng không ngoại lệ. Câu hỏi sẽ được các giáo viên ra đề ứng với các môn học mà giáo viên đó có thể giảng dạy. Thông tin về môn học gồm mã môn học, tên môn học, số tiết học của môn học đó. Thông tin cá nhân của giáo viên gồm mã giáo viên, họ tên giáo viên, phái, ngày sinh, nơi sinh, . và câu hỏi sẽ được xác định với những thông tin: mã câu hỏi, nội dung câu hỏi, độ khó dễ, giáo viên soạn câu hỏi, câu hỏi thuộc môn học nào và trạng thái của câu hỏi này; câu hỏi còn được sử dụng nữa hay không. Vì là câu hỏi thi trắc nghiệm nên tương ứng với câu hỏi thi sẽ có các câu chọn để trả lời cho câu hỏi đó, một câu hỏi được giới hạn tối đa là 6 câu chọn, và chỉ có một câu chọn là đúng cho một câu hỏi. Thông tin về câu chọn gồm mã câu chọn, đáp án đúng của câu chọn đó, và mã câu hỏi của câu chọn.
Trong một học kỳ, ngoài kỳ thi chính thức cho những môn học được giảng dạy trong học kỳ đó, khoa còn tổ chức các kỳ thi lại hoặc kỳ thi học lại cho những sinh viên không đạt. Thông tin về kỳ thi về gồm mã kỳ thi, tên kỳ thi. Trong mỗi đợt thi sẽ có thông báo về thời gian thi, môn thi của đợt thi này, đợt thi của khoá nào, khoa nào, thi cho kỳ thi gì
Để đánh giá việc học tập của sinh viên, kết quả này sẽ dựa vào bài thi của sinh viên. Bài thi của sinh viên gồm một số câu hỏi được lấy ngẫu nhiên khi sinh viên nhập vào mã số cùng với mật khẩu của mình để log vào phần làm bài thi dành cho sinh viên, trong số câu hỏi thi sẽ có tỷ lệ câu hỏi khó, bài thi còn gồm những thông tin như mả bài thi, mã đợt thi, mã sinh viên, số câu làm đúng, kết quả, trạng thái bài thi đã được làm hay chưa
130 trang |
Chia sẻ: luyenbuizn | Lượt xem: 1278 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Xây dựng mô hình quan niệm dữ liệu theo mô hình thực thể kết hợp eer (enteded entity relationship), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 1
TỔNG QUAN VỀ HỆ THỐNG
QUẢN LÝ THI TRẮC NGHIỆM
ĐẶC TẢ YÊU CẦU:
Mỗi một khoa trong một khoá học của trường Đại Học Dân Lập Kỹ Thuật Công Nghệ có rất nhiều sinh viên, mỗi sinh viên chỉ học tại một lớp mà lớp học đó chỉ thuộc mốt khoá học và thuộc một khoa duy nhất. Khoá học được hiểu là năm bắt đầu của sinh viên khi trúng tuyển vào trường. Thông tin về sinh viên gồm mã sinh viên, họ tên sinh viên, phái ngày sinh, nơi sinh, … . Thông tin về lớp gồm mã lớp, tên lớp mã khoa, mã khoá học.
Do việc nâng cao chất lượng đào tạo ngày một phù hợp với thực tế, nên một số môn học của các khoa trong các khoá học sẽ giống nhau. Ví dụ nhu khoa Công nghệ thông tin và khoa Điện tử sẽ có một số môn học giống nhau ở giai đoạn đại cương; do đó việc làm bài thi với những câu hỏi giống nhau cũng không ngoại lệ. Câu hỏi sẽ được các giáo viên ra đề ứng với các môn học mà giáo viên đó có thể giảng dạy. Thông tin về môn học gồm mã môn học, tên môn học, số tiết học của môn học đó. Thông tin cá nhân của giáo viên gồm mã giáo viên, họ tên giáo viên, phái, ngày sinh, nơi sinh, … . và câu hỏi sẽ được xác định với những thông tin: mã câu hỏi, nội dung câu hỏi, độ khó dễ, giáo viên soạn câu hỏi, câu hỏi thuộc môn học nào và trạng thái của câu hỏi này; câu hỏi còn được sử dụng nữa hay không. Vì là câu hỏi thi trắc nghiệm nên tương ứng với câu hỏi thi sẽ có các câu chọn để trả lời cho câu hỏi đó, một câu hỏi được giới hạn tối đa là 6 câu chọn, và chỉ có một câu chọn là đúng cho một câu hỏi. Thông tin về câu chọn gồm mã câu chọn, đáp án đúng của câu chọn đó, và mã câu hỏi của câu chọn.
Trong một học kỳ, ngoài kỳ thi chính thức cho những môn học được giảng dạy trong học kỳ đó, khoa còn tổ chức các kỳ thi lại hoặc kỳ thi học lại cho những sinh viên không đạt. Thông tin về kỳ thi về gồm mã kỳ thi, tên kỳ thi. Trong mỗi đợt thi sẽ có thông báo về thời gian thi, môn thi của đợt thi này, đợt thi của khoá nào, khoa nào, thi cho kỳ thi gì…
Để đánh giá việc học tập của sinh viên, kết quả này sẽ dựa vào bài thi của sinh viên. Bài thi của sinh viên gồm một số câu hỏi được lấy ngẫu nhiên khi sinh viên nhập vào mã số cùng với mật khẩu của mình để log vào phần làm bài thi dành cho sinh viên, trong số câu hỏi thi sẽ có tỷ lệ câu hỏi khó, bài thi còn gồm những thông tin như mả bài thi, mã đợt thi, mã sinh viên, số câu làm đúng, kết quả, trạng thái bài thi đã được làm hay chưa
Bên trên là những thông tin cơ bản cần thiết để bắt đầu cho công việc phân tích và thiết kế hệ thống.
II. XÂY DỰNG MÔ HÌNH QUAN NIỆM DỮ LIỆU THEO MÔ HÌNH THỰC THỂ KẾT HỢP EER (Enteded Entity Relationship):
II.1 Mô Tả Thực Thể –Ý Nghĩa
LOP (MALOP, TEN LOP, GHICHU)
Mỗi lớp có một mã lớp (MALOP) và tên lớp (TENLOP) để phân biệt với các lớp học khác nhau và ghi chú (GHICHU) để ghi chú thêm thông tin về lớp học đó.
SINHVIEN ( MASV, HOTENSV, PHAI, NGAYSINH, NOISINH, DIACHI, DTHOAI, HINH, GHICHU)
Mỗi sinh viên có một mã sinh viên (MASV) để phân biệt với các sinh viên khác và có họ tên (HOTENSV), phái (PHAI), ngày sinh (NGAYSINH), nơi sinh (NOISINH), địa chỉ (DIACHI), điện thoại (DTHOAI) và hình (HINH) kèm với ghi chú ( GHICHU) tương ứng với sinh viên đó.
KHOA ( MAKHOA, TENKHOA, GHICHU)
Mỗi khoa có một mã khoa (MAKHOA) tên khoa (TENKHOA) để phân biệt với các khoa khác kèm với ghi chú (GHICHU) Dđể ghi chú thêm thông tin về khoa.
KHOAHOC (MAKH, TENKH, GHICHU)
Mỗi khóa học có một mã khoá học (MAKH) tên khóa học (TENKH) để phân biệt với các khóa học khác kèm với ghi chú (GHICHU) để ghi chú thêm thông tin về khoá học đó.
MONHOC (MAMH, TENMH, SOTIET, GHICHU)
Mỗi môn học có một mã môn học (MAMH) tên môn học (TENMH) để phân biệt với các môn học khác, số tiết của môn học đó ( SOTIET) với ghi chú (GHICHU) để ghi chú thêm thông tin về môn học đó.
CAUHOI (MACH, NDUNGCH, DOKHODE, HINH, TRANGTHAI, GHICHU)
Mỗi câu hỏi có một mã câu hỏi (MACH), nội dung câu hỏi (NDUNGCH) đề phân biệt với các câu hỏi khác, độ khó dễ của câu hỏi (DOKHODE), hình ảnh minh hoạ cho câu hỏi đó (HINH), trạng thái của câu hỏi ( TRANGTHAI) xem câu hỏi đó còn được sử dụng nữa hay không, và ghi chú (GHICHU) để ghi chú thêm thông tin cho câu hỏi đó nếu cần thiết.
GIAOVIEN (MAGV, HOTENGV, PHAI, NGAYSINH, NOISINH, DIACHI, DTHOAI, HOCVI, HINH, GHICHU)
Mỗi giáo viên có một mã giáo viên (MAGV) để phân biệt với các giáo viên khác và có họ tên (HOTENGV), phái (PHAI), ngày sinh (NGAYSINH), nơi sinh (NOISINH), địa chỉ (DIACHI), điện thoại (DTHOAI) và hình (HINH) kèm với ghi chú ( GHICHU) tương ứng với giáo viên đó.
CAUCHON (MACC, NDUNGCC, DANDUNGSAI, GHICHU)
Mỗi câu chọn có một mã riêng (MACC), nội dung câu chọn (NDUNGCC) để phân biệt với các câu chọn khác, câu chọn đó là đúng hay là sai (DANDUNGSAI) và ghi chú (GHICHU) để mô tả thêm thông tin về câu chọn đó.
BAITHI (MABT, SOCAUDUNG, KETQUA, THAMGIA, GHICHU)
Mỗi bài thi có một mã bài thi xác định (MABT), số câu đúng của bài thi (SOCAUDUNG), kết quả bài thi (KETQUA), trạng thái bài thi đã được thi hay chưa (THAMGIA) và ghi chú (GHICHU) để ghi chú thông tin của bài thi.
KYTHI ( MAKT, TENKT, GHICHU)
Mỗi kỳ thi có một mã kỳ thi phân biệt (MAKT), và tên của kỳ thi đó (TENKT) và ghi chú (GHICHU) về kỳ thi này.
DOTTHI (MADT, TENDT, NGAYTHI, KETTHUC, TGIANTHI, SOCAUHOI, PTCAUKHO, GHICHU)
Mỗi đợt thi được mở ra gồm có mã đợt thi (MADT), tên đợt thi (TENDT), ngày thi (NGAYTHI), thời gian thi (TGIANTHI), số câu hỏi trong đợt thi này (SOCAUHOI), phần trăm câu khó trong tổng số câu của đơtï thi này (PTCAUKHO), trang thái của đợt thi đã kết thúc hay chưa (KETTHUC) và ghi chú (GHICHU) để mô tả thêm thông tin về đợt thi này.
II.2 Mô tả mối kết hợp của các thực thể:
Một sinh viên chỉ thuộc một lớp, và một lớp có nhiều sinh viên.
1,n
1,1
Co3
LOP
SINHVIEN
Một khoa tổ chức nhiều lớp, và một lớp chỉ thuộc một khoa
LOP
KHOA
0,n
1,1
ToChuc
Một khoá học có nhiều lớp , một lớp chỉ thuộc một khóa học.
1,1
0,n
Thuoc 7
LOP
KHOAHOC
Một môn học sẽ có nhiều đợt thi, một đợt thi chỉ thuộc một môn học.
1,n
1,1
Thuoc 6
DOTTHI
MONHOC
Một khóa học sẽ có nhiều đợt thi, một đợt thi chỉ thuộc một khóa học.
1,n
1,1
Thuoc 3
DOTTHI
KHOAHOC
Một khoa sẽ có nhiều đợt thi, một đợt thi chỉ thuộc một khoa.
1,n
1,1
Thuoc 4
DOTTHI
KHOA
1,1
1,n
Một kỳ thi sẽ có nhiều đợt thi, một đợt thi chỉ thuộc một kỳ thi.
Thuoc 5
DOTTHI
KYTHI
Một sinh viên có nhiều bài thi, một bài thi chỉ thuộc một sinh viên
Lam
1,1
1,n
SINHVIEN
BAITHI
Một bài thi chỉ thuộc một đợt thi, một đợt thi có nhiều bài thi
BAITHI
1,n
1,1
Thuoc 2
DOTTHI
Một bài thi có nhiều câu hỏi, một câu hỏi có trong nhiều bài thi.
0,n
1,n
BAILAMSV
BAITHI
CAUHOI
Một câu hỏi có nhiều câu chọn, một câu chọn chỉ thuộc một câu hỏi
CAUCHON
CAUHOI
Co 1
1,1
1,n
Một giáo viên ra nhiều câu hỏi, một câu hỏi được ra bởi một giáo viên
1,1
Soan
GIAOVIEN
CAUHOI
0,n
Quan hệ mới được sinh ra từ mối liên kết
BAILAMSV (MABT, MACH)
Một bài làm của sinh viên chỉ có một câu chọn là đúng cho một câu hỏi, một câu chọn có thể xuất hiện trong nhiều bài làm của các sinh viên.
Mối liên kết giữa BAILAMSV và CAUCHON
BAILAMSV
1,n
CAUCHON
Co3
1,1
II.3 Xây dựng mô hình thực thể ERD:
IV. THIẾT LẬP CÁC TABLE:
LOP ( MALOP, TENLOP, MAKHOA, MAKH, GHICHU)
Tên viết tắt
Ràng buộc
Kiểu dữ liệu
Diễn giải
Ghi chú
MALOP
Khoá chính
Varchar(10)
Mã duy nhất của một lớp học
TENLOP
Varchar(20)
Tên lớp học của khoa trong khoá học
MAKHOA
Khoá ngoại
Varchar(10)
Lớp học này thuộc khoa nào
MAKH
Khoá ngoại
Varchar(10)
Lớp học này thuộc khoá học nào
GHICHU
Nvarchar(1000)
Ghi chú thông tin về lớp học
Null
SINHVIEN ( MASV, HOTENSV, PHAI, NGAYSINH, NOISINH, DIACHI, DTHOAI, MALOP, MATKHAU, HINH, ONLINE, GHICHU)
Tên viết tắt
Ràng buộc
Kiểu dữ liệu
Diễn giải
Ghi chú
MASV
Khoá chính
Varchar(10)
Mã duy nhất của một sinh viên
HOTENSV
Varchar(30)
Họ và tên của sinh viên
PHAI
Bit
Sinh viên là nam hay nữ
NGAYSINH
Datetime
Ngày sinh của sinh viên
NOISINH
Varchar(30)
Nơi sinh của sinh viên
DIACHI
Varchar(50)
Địa chỉ thường trú của sinh viên
DTHOAI
Varchar(20)
Số điện thoại liên lạc
Null
MALOP
Khoá ngoại
Varchar(10)
Mã lớp mà sinh viên theo học
MATKHAU
Varchar(15)
Mật khẩu để đăng nhập vào hệ thống
HINH
Image
Hình ảnh sinh viên
ONLINE
Bit
Trang thái có online hay không
GHICHU
Varchar(1000)
Ghi chú thêm thông tin sinh viên
Null
KHOA ( MAKHOA, TENKHOA, GHICHU)
Tên viết tắt
Ràng buộc
Kiểu dữ liệu
Diễn giải
Ghi chú
MAKHOA
Khoá chính
Varchar(10)
Mã duy nhất của một khoa
TENKHOA
Varchar(20)
Tên của khoa
GHICHU
Varchar(1000)
Ghi chú thông tin về khoa
Null
KHOAHOC ( MAKH, TENKH, GHICHU)
Tên viết tắt
Ràng buộc
Kiểu dữ liệu
Diễn giải
Ghi chú
MAKH
Khoá chính
Varchar(10)
Mã duy nhất của một khoá học
TENKH
Varchar(20)
Tên của khoá học
GHICHU
Varchar(1000)
Ghi chú thông tin về khoá học
Null
MONHOC ( MAMH, TENMH, SOTIET, GHICHU)
Tên viết tắt
Ràng buộc
Kiểu dữ liệu
Diễn giải
Ghi chú
MAMH
Khoá chính
Varchar(10)
Mã duy nhất của một môn học
TENMH
Varchar(20)
Tên của môn học
SOTIET
Char(5)
Số tiết học của một môn học
GHICHU
Varchar(1000)
Ghi chú thông tin về môn học
Null
CAUHOI ( MACH, NDUNGCH, DOKHODE, HINH, MAGV, MAMH, TRANGTHAI, GHICHU)
Tên viết tắt
Ràng buộc
Kiểu dữ liệu
Diễn giải
Ghi chú
MACH
Khoá chính
Varchar(10)
Mã duy nhất của một câu hỏi
NDUNGCH
Varchar(1000)
Nội dung của câu hỏi
DOKHODE
Bit
Độ khó dễ của câu hỏi
HINH
Image
Hình vẽ minh hoạ cho câu hỏi
MAGV
Khoá ngoại
Varchar(10)
Mã giáo viên ra câu hỏi
MAMH
Khoá ngoại
Varchar(10)
Câu hỏi thuộc môn học nào
TRANGTHAI
Bit
Câu hỏi còn được sử dụng hay không
GHICHU
Varchar(1000)
Ghi chú thông tin về câu hỏi
Null
GIAOVIEN ( MAGV, HOTENGV, PHAI, NGAYSINH, NOISINH, DIACHI, DTHOAI, HOCVI, MANHOM, MATKHAU, HINH, ONLINE, GHICHU)
Tên viết tắt
Ràng buộc
Kiểu dữ liệu
Diễn giải
Ghi chú
MAGV
Khoá chính
Varchar(10)
Mã duy nhất của một giáo viên
HOTENGV
Varchar(30)
Họ và tên của giáo viên
PHAI
Bit
Giáo viên là nam hay nữ
NGAYSINH
Datetime
Ngày sinh của sinh viên
NOISINH
Varchar(30)
Nơi sinh của sinh viên
DIACHI
Varchar(50)
Địa chỉ thường trú của sinh viên
DTHOAI
Varchar(20)
Số điện thoại liên lạc
Null
HOCVI
Varchar(15)
Học vị của giáo viên
HINH
Image
Hình ảnh của giáo viên
Null
MATKHAU
Varchar(15)
Mật khẩu để đăng nhập vào hệ thống
ONLINE
Bit
Trạng thái có online hay không
GHICHU
Varchar(1000)
Ghi chú thêm thông tin về giáo viên
Null
CAUCHON ( MACC, NDUNGCC, DANDUNGSAI, MACH, GHICHU)
Tên viết tắt
Ràng buộc
Kiểu dữ liệu
Diễn giải
Ghi chú
MACC
Khoá chính
Varchar(10)
Mã duy nhất của một câu chọn
NDUNGCC
Varchar(1000)
Nội dung của câu chọn
DANDUNGSAI
Bit
Đáp án đúng sai của câu chọn
MACH
Khoá ngoại
Varchar(10)
Mã câu hỏi ứng với các câu chọn
GHICHU
Varchar(1000)
Ghi chú thông tin về câu chọn
Null
BAITHI ( MABT, MADT, MASV, SOCAUDUNG, KETQUA, THAMGIA, GHICHU)
Tên viết tắt
Ràng buộc
Kiểu dữ liệu
Diễn giải
Ghi chú
MABT
Khoá chính
Varchar(10)
Mã duy nhất của một bài thi
MADT
Khoá ngoại
Varchar(10)
Mã bài thi sẽ thuộc kỳ thi nào
MASV
Khoá ngoại
Varchar(10)
Mã bài thi của sinh viên nào
SOCAUDUNG
Char(5)
Số câu sinh viên làm đúng
KETQUA
Bit
Sinh viên đậu hay rớt
THAMGIA
Bit
Sinh viên có thi hay chưa
GHICHU
Varchar(1000)
Ghi chú thông tin về bài thi
Null
KYTHI (MAKT, TENKT, GHI CHU)
Tên viết tắt
Ràng buộc
Kiểu dữ liệu
Diễn giải
Ghi chú
MAKT
Khoá chính
Int(4)
Mã duy nhất của một bài thi
TENKT
Varchar(20)
Mã duy nhất của một câu hỏi
GHICHU
Varchar(1000)
Mã câu chọn của sinh viên ứng với câu hỏi
Null
DOTTHI ( MADT, TENDT, MAKT, MAKH, MAKHOA, MAMH, NGAYTHI, TGIANTHI, SOCAUHOI, KETTHUC, PTCAUKHO, GHICHU)
Tên viết tắt
Ràng buộc
Kiểu dữ liệu
Diễn giải
Ghi chú
MADT
Khoá chính
Varchar(10)
Mã duy nhất của một đợt thi
TENDT
Varchar(20)
Tên của đợt thi
MAKT
Khoá ngoại
Int(4)
Mã kỳ thi thuộc đợt thi nào
MAKH
Khoá ngoại
Varchar(10)
Mã khoá học thuộc đợt thi nào
MAKHOA
Khoá ngoại
Varchar(10)
Mã khoa thuộc đợt thi nào
MAMH
Khoá ngoại
Varchar(10)
Mã môn học thuộc đợt thi nào
NGAYTHI
Datetime
Ngày thi của một môn học
KETTHUC
Bit
Trạng thái của đợt thi
TGIANTHI
Datetime
Thời gian thi cho một môn học
SOCAUHOI
Char(5)
Số câu hỏi cho một môn thi
PTCAUKHO
GHICHU
Varchar(1000)
Null
BAILAMSV ( MABT, MACH, MACC, DUNGSAI)
Tên viết tắt
Ràng buộc
Kiểu dữ liệu
Diễn giải
Ghi chú
MABT
Khoá chính
Varchar(10)
Mã duy nhất của một bài thi
MACH
Khoá chính
Varchar(10)
Mã duy nhất của một câu hỏi
MACC
Khoá ngoại
Varchar(10)
Mã câu chọn của sinh viên ứng với câu hỏi
DUNGSAI
Bit
Câu chon này la đúng hay sai
Mối quan hệ giữa các table (cuối chương)
VI. CÀI ĐẶT CÁC RÀNG BUỘC TOÀN VẸN VÀ TẦM ẢNH HƯỞNG:
VI. 1. Ràng buộc toàn vẹn có bối cảnh là một quan hệ:
Ràng buộc toàn vẹn về miền giá trị:
R1 . Ngày sinh của sinh viên phải có năm sinh sao cho tuổi sinh viên lớn hơn hoặc bằng 16 tuổi và nhỏ hơn 60 tuổi
Biểu diễn:
" sv Ỵ SINHVIEN
Year (now () – Year (sv.[NGAYSINH]) >=16
and Year (now () – Year (sv.[NGAYSINH]) < 60
Cuối "
Tầm ảnh hưởng:
R1
Thêm
Xoá
Sửa
SINHVIEN
+
-
+
R2 . Ngày sinh của giáo viên phải có năm sinh sao cho tuổi giáo viên lớn hơn hoặc bằng 18 tuổi và nhỏ hơn hoặc bằng 60 tuổi
Biểu diễn:
" sv Ỵ GIAOVIEN
Year (now () – Year (sv.[NGAYSINH]) >=18
and Year (now () – Year (sv.[NGAYSINH]) < 60
Cuối "
Tầm ảnh hưởng:
R2
Thêm
Xoá
Sửa
GIAOVIEN
+
-
+
b. Ràng buộc toàn vẹn liên thuộc tính: không có
c. Ràng buộc toàn vẹn liên bộ:
R3 . Mỗi sinh viên có một mã sinh viên khác nhau để phân biệt
Biểu diễn:
" q1, q2 Ỵ SINHVIEN
q1. MASV q2. MASV
Cuối "
Tầm ảnh hưởng:
R3
Thêm
Xoá
Sửa
SINHVIEN
+
-
+
R4 . Mỗi lớp có một mã lớp khác nhau để phân biệt
Biểu diễn:
" q1, q2 Ỵ LOP
q1. MALOP q2. MALOP
Cuối "
Tầm ảnh hưởng:
R4
Thêm
Xoá
Sửa
LOP
+
-
+
R5 . Mỗi khoa có một mã khoa khác nhau để phân biệt
Biểu diễn:
" q1, q2 Ỵ KHOA
q1. MAKHOA q2. MAKHOA
Cuối "
Tầm ảnh hưởng:
R5
Thêm
Xoá
Sửa
KHOA
+
-
+
R6 . Mỗi khoá học có một mã khoá học khác nhau để phân biệt
Biểu diễn:
" q1, q2 Ỵ KHOAHOC
q1. MAKH q2. MAKH
Cuối "
Tầm ảnh hưởng:
R6
Thêm
Xoá
Sửa
KHOAHOC
+
-
+
R7 . Mỗi môn học có một mã môn học khác nhau để phân biệt
Biểu diễn:
" q1, q2 Ỵ MONHOC
q1. MAMH q2. MAMH
Cuối "
Tầm ảnh hưởng:
R7
Thêm
Xoá
Sửa
MONHOC
+
-
+
R8 . Mỗi câu hỏi có một mã câu hỏi khác nhau để phân biệt
Biểu diễn:
" q1, q2 Ỵ CAUHOI
q1. MACH q2. MACH
Cuối "
Tầm ảnh hưởng:
R8
Thêm
Xoá
Sửa
CAUHOI
+
-
+
R9 . Mỗi giáo viên có một mã giáo viên khác nhau để phân biệt
Biểu diễn:
" q1, q2 Ỵ GIAOVIEN
q1. MAGV q2. MAGV
Cuối "
Tầm ảnh hưởng:
R9
Thêm
Xoá
Sửa
GIAOVIEN
+
-
+
R10 . Mỗi câu chọn có một mã câu chọn khác nhau để phân biệt
Biểu diễn:
" q1, q2 Ỵ CAUCHON
q1. MACC q2. MACC
Cuối "
Tầm ảnh hưởng:
R10
Thêm
Xoá
Sửa
CAUCHON
+
-
+
R11 . Mỗi người điều hành có một mã điều hành khác nhau để phân biệt
Biểu diễn:
" q1, q2 Ỵ DIEUHANH
q1. MADH q2. MADH
Cuối "
Tầm ảnh hưởng:
R11
Thêm
Xoá
Sửa
DIEUHANH
+
-
+
R12 . Mỗi bài thi có một mã bài thi khác nhau để phân biệt
Biểu diễn:
" q1, q2 Ỵ BAITHI
q1. MABT q2. MABT
Cuối "
Tầm ảnh hưởng:
R12
Thêm
Xoá
Sửa
BAITHI
+
-
+
R13 . Mỗi bài làm của sinh viên có một mã bài thi và mã câu hỏi khác nhau để phân biệt
Biểu diễn:
" q1, q2 Ỵ BAILAMSV
q1. MABT q2. MABT
q1. MACH q2. MACH
Cuối "
Tầm ảnh hưởng:
R13
Thêm
Xoá
Sửa
BAILAMSV
+
-
+
R14 . Mỗi kỷ thi có một mã kỳ thi khác nhau để phân biệt
Biểu diễn:
" q1, q2 Ỵ KYTHI
q1. MAKT q2. MAKT
Cuối "
Tầm ảnh hưởng:
R14
Thêm
Xoá
Sửa
KYTHI
+
-
+
R15 . Mỗi đợt thi có một mã đợt thi khác nhau để phân biệt
Biểu diễn:
" q1, q2 Ỵ DOTTHI
q1. MADT q2. MADT
Cuối "
Tầm ảnh hưởng:
R15
Thêm
Xoá
Sửa
DOTTHI
+
-
+
VI. 2. Ràng buộc toàn vẹn có bối cảnh trên nhiều quan hệ:
Ràng buộc toàn vẹn về phụ thuộc tồn tại:
R1 :LOP(MAKHOA) Ỵ KHOA(MAKHOA) Ç LOP(MAKH) Ỵ KHOAHOC(MAKH)
" q Ỵ LOP, $ q1 Ỵ KHOA/ q. MAKHOA = q1. MAKHOA
Ç $ q2 Ỵ KHOAHOC/ q. MAKH = q2. MAKH
Cuối "
Tầm ảnh hưởng:
R1
Thêm
Xoá
Sửa
LOP
+
-
+
KHOA
-
+
+
KHOAHOC
-
+
+
R2 :SINHVIEN(MALOP) Ỵ LOP(MALOP)
" q Ỵ SINHVIEN, $ q1 Ỵ LOP
q. MALOP = q1. MALOP
Cuối "
Tầm ảnh hưởng:
R2
Thêm
Xoá
Sửa
LOP
+
+
+
SINHVIEN
-
+
+
R3 :CAUHOI(MAGV) Ỵ GIAOVIEN(MAGV) Ç CAUHOI(MAMH) Ỵ MONHOC(MAMH)
" q Ỵ CAUHOI, $ q1 Ỵ GIAOVIEN/ q. MAGV = q1. MAGV
Ç $ q2 Ỵ MONHOC/ q. MAMH = q2. MAMH
Cuối "
Tầm ảnh hưởng:
R3
Thêm
Xoá
Sửa
CAUHOI
+
+
+
GIAOVIEN
-
+
+
MONHOC
-
+
+
R4 :CAUCHON(MACH) Ỵ CAUHOI(MACH)
" q Ỵ CAUCHON, $ q1 Ỵ CAUHOI
q. MACH = q1. MACH
Cuối "
Tầm ảnh hưởng:
R4
Thêm
Xoá
Sửa
CAUCHON
-
+
+
CAUHOI
+
+
+
R5 :BAITHI(MASV) Ỵ SINHVIEN(MASV) Ç BAITHI(MADT) Ỵ DOTTHI(MADT)
" q Ỵ BAITHI, $ q1 Ỵ SINHVIEN/ q. MASV = q1. MASV
Ç $ q2 Ỵ DOTTHI/ q. MADT = q2. MADT
Cuối "
Tầm ảnh hưởng:
R5
Thêm
Xoá
Sửa
BAITHI
-
+
+
SINHVIEN
-
+
+
DOTTHI
+
+
+
R6 :DOTTHI(MAKT) Ỵ KYTHI(MAKT) Ç DOTTHI(MAKH) Ỵ KHOAHOC(MAKH) Ç DOTTHI(MAKHOA) Ỵ KHOA(MAKHOA) Ç DOTTHI(MAMH) Ỵ MONHOC(MAMH)
" q Ỵ DOTTHI, $ q1 Ỵ KYTHI/ q. MAKT = q1. MAKT
$ q2 Ỵ KHOAHOC/ q. MAKH = q2. MAKH
$ q3 Ỵ KHOA/ q. MAKHOA = q3. MAKHOA
Ç $ q4 Ỵ MONHOC/ q. MAMH = q4. MAMH
Cuối "
Tầm ảnh hưởng:
R5
Thêm
Xoá
Sửa
DOTTHI
-
+
+
KYTHI
-
+
+
KHOAHOC
-
+
+
KHOA
-
+
+
MONHOC
-
+
+
VI. 3. Xác định phụ thuộc hàm:
LOP:
Khoá : { MALOP}
F = {MALOP ->TENLOP, MAKHOA, MAKH, GHICHU}
SINHVIEN:
Khoá : { MASV}
F = {MASV ->HOTENSV, PHAI, NGAYSINH, NOISINH, DIACHI, DTHOAI, MALOP, MATKHAU, HINH, ONLINE, GHICHU}
KHOA:
Khoá : { MAKHOA}
F = {MAKHOA->TENKHOA, GHICHU}
KHOAHOC:
Khoá : { MAKH}
F = {MAKH ->TENKH, GHICHU}
MONHOC:
Khoá : { MAMH}
F = {MAMH ->TENMH, SOTIET, GHICHU}
CAUHOI:
Khoá : { MACH}
F = {MACH ->NDUNGCH, DOKHODE, HINH, MAGV, MAMH, TRANGTHAI, GHICHU}
GIAOVIEN:
Khoá : { MAGV}
F = {MAGV ->HOTENGV, PHAI, NGAYSINH, NOISINH, DIACHI, DTHOAI, HOCVI, HINH, MATKHAU, ONLINE, GHICHU}
CAUCHON:
Khoá : { MACC}
F = {MACC ->NDUNGCC, DANDUNGSAI, MACH, GHICHU}
DIEUHANH:
Khoá : { MADH}
F = {MADH ->MATKHAU, ONLINE}
BAITHI:
Khoá : { MABT}
F = {MABT ->MADT, MASV, SOCAUDUNG, KETQUA, THAMGIA, GHICHU}
BAILAMSINHVIEN:
Khoá : { MABT, MACH}
F = {MABT, MACH ->MACH, DUNGSAI}
KYTHI:
Khoá : { MAKT}
F = {MAKT ->TENKT, GHICHU}
DOTTHI:
Khoá : { MADT}
F = {MADT ->TENDT, MAKT, MAKH, MAKHOA, MAMH, NGAYTHI, KETTHUC, TGIANTHI, COCAUHOI, PTCAUKHO, GHICHU}
CHƯƠNG 2
MÔ HÌNH CLIENT/ SERVER
I . Các Khái Niệm:
Khái niệm về phần cứng:
Client/ Server là kiến trúc gồm hai thành phần máy Client va Server, hai thành phần này liên lạc với nhau thông qua hệ thống mạng.
Client
Server
Client/ Server Software
Network
Operating
Operating
System
Client/ ServerSoftware
Network OperatingSystem
Operating System
RDBMS
Network
Cables
Router
Bridge
Gateway
Khái niệm về xử lý:
Khi xây dựng và khai thác ứng dụng trên môi trường mạng, một trong những điều kiện cần quan tâm trước tiên là việc đánh giá các tính năng của hệ thống mạng. Việc xây dựng và khai thác ứng dụng trên mạng sẽ dễ dàng hơn nếu có một hệ thống mạng ổn định, thực thi nhanh chóng và đáng tin cậy. Tuy nhiên, đối với bất kỳ hệ thống mạng nào, khi xây dựng các ứng dụng trên nó, ta cũng cần phải tính toán sao cho việc truyền dữ liệu là tốt nhất ( Giảm lượng lưu trữ dữ liệu trên đường truyền mà vẫn đáp ứng yêu cầu về dữ liệu) và an toàn nhất. Mô hình tính toán Client/ Server nhằm giải quyết vấn đề này.
Trong mô hình tính toán Client/ Server, các việc xử lý dữ liệu, xử lý logic và giao diện người dùng được phân chia ra và được thực hiện tại nhiều điểm khác nhau trong mạng. Máy Client gửi đến máy chủ yêu cầu truy vấn dữ liệu hoặc cập nhật dữ liệu (thêm, xoá, sửa, các mẫu tin). Máy Server khi nhận các yêu cầu truy vấn, sau khi kiểm tra quyền truy cập của người yêu cầu, sẽ tiến hành chọn lọc tình toán tổng hợp thông tin trong cơ sở dữ liệu để gửi trả kết quả truy vấn theo yêu cầu của máy Client. Khi nhận được yêu cầu cập nhật dữ liệu ( thêm, xoá , sửa), máy chủ ngoài việc kiểm tra quyền truy cập của người yêu cầu còn phải bảo đảm việc cập nhật không páh vỡ tính toàn vẹn dữ liệu. Database Server còn có nhiệm vụ liên lạc với các cơ sở dữ liệu khác để để lấy được thông tin cần thiết, bảo đảm cho người dùng có được những thông tin cần thiết một cách thông suốt cho dù dữ liệu thực sự nằm phân tán ở nhiều máy chủ khác nhau.
Việc phân chia nhiệm vụ giữa Client và Server là nhân tố quyết định sự thành bại của việc ứng dụng mô hình tính toán Client/ Server.
II . Phân loại ứng dụng Client/ Server:
Thông thường một ứng dụng được chia làm 6 ứng dụng sau:
Giao diện người dùng (User Interface) : là những thể hiện trên màn hình mà user thấy và có thể tương tác được.
Login trình bày (Presentation Logic): là những gì xảy ra khi user tương tác vào những thể hiện trên màn hình.
Logic ứng dụng (Application Logic): là những chương trình hay đoạn chương trình thi hành những chức năng nào đó.
Truy vấn dữ iệu và kết quả (data request and results acceptance)
Toàn vẹn dữ liệu (Data integrity): như chứng nhận hợp lệ an toàn vá toàn diện.
Quản lý dữ liệu vật lý( Data Phisical Management): Thêm, xoá, sửa và phục hồi dữ liệu .
Đối với ứng dụng Client/ Server thì tuỳ thuộc vào yêu cầu của nó mà mỗi nhiệm vụ được đặt vào thành phần Client hay Server để cho ở đó nó được thực hiện hiệu quả nhất. Dựa vào cách đặt các nhiệm vụ trên mà người ta đã phân ra ứng dụng Client/ Server thành 3 loại: Host-Based Processing, Client-Based Processing và Cooperative Processing.
III . Server:
Khái niệm về phần cứng:
Là một máy tính có cấu hình tuỳ thuộc vào việc ta sử dụng môi trường phần mềm nào để xây dựng các ứng dụng và yêu cầu về cấu hình của hệ điều hành muốn dùng trên Server.
Khái niệm về xử lý:
Là máy tính cung cấp dịch vụ cho những máy khác trên mạng, các dịch vụ như chia sẽ file, cầu nối mạng, xử lý ứng dụng…
Đối với mô hình Client/ Server. Server làm nhiệm vụ quản lý việc truy cập CSDL, nhận các yêu cầu từ Client -> Xử lý -> Gửi kết quả về cho Client theo yêu cầu.
Phân loại Server:
Dựa vào chức năng của Server người ta chia Server ra làm 6 loại: File Server, Data Server, Computer Server, Application Server và Communication Server.
File Server:
Quản lý ứng dụng của một nhóm và quản lý những fil