Trong những năm trở lại đây, với sự phát triển mạnh mẽ của công nghệ thông tin. Với việc hỗ trợ của công nghệ thông tin thì mọi ngành kinh doanh đều phát triển theo và giải quyết được rất nhiều khó khăn và việc kinh doanh cũng trở nên dễ dàng và thuận tiên hơn. Vì vậy với môi trường sư phạm là trường đại học thì việc áp dụng công nghệ thông tin cũng sẽ giúp ích rất nhiều và giải quyết mọi vấn đề khó khăn phát sinh trong việc quản lý giáo viên. Đặc biệt lĩnh vực phân tích thiết kế hệ thống thông tin là một phần quan trọng của ngành công nghệ thông tin. Nhờ có ngành này mà mọi vấn đề liên quan đến hệ thống thông tin được quản lý đơn giản, nhanh chóng và chặt chẽ hơn.
Do đó từ nhu cầu thực tế cần có hệ thống quản lý phân công giảng dạy cho giáo viên để cung cấp cho các trường đại học. Cùng với nhu cầu muốn tìm hiểu sâu sắc hơn về lĩnh vực phân tích và thiết kế hệ thống thông tin chúng em đã thực hiện đồ án “Hệ Thống Quản Lý Phân Công Giảng Dạy Khoa CNTT trường Đại Học Sài Gòn”. Chúng em xin chân thành cảm ơn thầy rất nhiều vì thầy đã nhiệt tình giúp đỡ cho chúng em những kiến thức quý giá về lĩnh vực phân tích và thiết kế hệ thống thông tin để chúng em có thể hoàn thành đồ án một cách tốt nhất. Tuy nhiên, đồ án của chúng em không tránh khỏi những thiếu sót, mong thầy thông cảm và góp ý thêm cho chúng em.
48 trang |
Chia sẻ: ngtr9097 | Lượt xem: 2319 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Đồ án Xây dựng Hệ thống quản lý phân công giảng dạy Khoa CNTT Đại học Sài gòn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC SÀI GÒN
KHOA CÔNG NGHỆ THÔNG TIN
-----{-----
Đề Tài:
HỆ THỐNG QUẢN LÝ
PHÂN CÔNG GIẢNG DẠY
KHOA CNTT - ĐẠI HỌC SÀI GÒN
Nhóm Sinh Viên Thực Hiện:
Hồ Văn Thơm MSSV: 3108410210
Nguyễn Thanh Trúc MSSV: 3108410238
Phùng Quốc Tuấn MSSV: 3108410247
Tháng 12/2010
LỜI MỞ ĐẦU
Trong những năm trở lại đây, với sự phát triển mạnh mẽ của công nghệ thông tin. Với việc hỗ trợ của công nghệ thông tin thì mọi ngành kinh doanh đều phát triển theo và giải quyết được rất nhiều khó khăn và việc kinh doanh cũng trở nên dễ dàng và thuận tiên hơn. Vì vậy với môi trường sư phạm là trường đại học thì việc áp dụng công nghệ thông tin cũng sẽ giúp ích rất nhiều và giải quyết mọi vấn đề khó khăn phát sinh trong việc quản lý giáo viên. Đặc biệt lĩnh vực phân tích thiết kế hệ thống thông tin là một phần quan trọng của ngành công nghệ thông tin. Nhờ có ngành này mà mọi vấn đề liên quan đến hệ thống thông tin được quản lý đơn giản, nhanh chóng và chặt chẽ hơn.
Do đó từ nhu cầu thực tế cần có hệ thống quản lý phân công giảng dạy cho giáo viên để cung cấp cho các trường đại học. Cùng với nhu cầu muốn tìm hiểu sâu sắc hơn về lĩnh vực phân tích và thiết kế hệ thống thông tin chúng em đã thực hiện đồ án “Hệ Thống Quản Lý Phân Công Giảng Dạy Khoa CNTT trường Đại Học Sài Gòn”. Chúng em xin chân thành cảm ơn thầy rất nhiều vì thầy đã nhiệt tình giúp đỡ cho chúng em những kiến thức quý giá về lĩnh vực phân tích và thiết kế hệ thống thông tin để chúng em có thể hoàn thành đồ án một cách tốt nhất. Tuy nhiên, đồ án của chúng em không tránh khỏi những thiếu sót, mong thầy thông cảm và góp ý thêm cho chúng em.
Chúng em xin chân thành cảm ơn thầy.
Lời nhận xét của Thầy:
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
MỤC LỤC
2.1 Mô hình tổ chức:
2.2 Mô hình dòng xử lý (DFD):
2.3 Mô hình thực thể kết hợp (ERD):
2.4 Mô hình dữ liệu quan hệ:
2.5 Đánh giá dạng chuẩn của hệ thống:
2.6 Lập các ràng buộc toàn vẹn:
2.7 Mô hình cơ sở dữ liệu vật lý:
3.1 Giới thiệu và chọn lựa các công cụ cài đặt hệ thống:
3.2 Giao diện tổng thể:
3.3 Giao diện nhập:
3.4 Giao diện xuất/báo cáo:
Chương 1: Tổng quan về hệ thống Quản lý phân công giảng dạy khoa Công nghệ Thông tin trường Đại học Sài Gòn
-----&-----
Mô tả chi tiết về các đối tượng cần quản lý:
Các đối tượng của hệ thống và mối quan hệ giữa các đối tượng:
Sau khi khảo sát hiện trạng thực tế về việc phân công giảng dạy khoa CNTT trường Đại học Sài Gòn, chúng em nhận thấy có 16 đối tượng cần quản lý. Các đối tượng đó là: giáo viên, học vị, chức vụ, đơn vị công tác, khoa, chuyên ngành, khối lớp, nhóm lớp, năm học, học kì, học phần, nhóm học phần, kế hoạch đào tạo, trình độ đào tạo, hệ đào tạo, phòng học.
Dưới đây là phần mô tả chi tiết:
GIÁO VIÊN giảng dạy tại khoa công nghệ thông tin, mỗi giáo viên có một mã giáo viên để phân biệt, ngoài ra có thêm các thuộc tính: tên giáo viên, ngày sinh, địa chỉ… Các giáo viên giảng dạy tại khoa công nghệ thông tin được chia làm ba loại:
Giáo viên cơ hữu: là giáo viên trực thuộc khoa công nghệ thông tin.
Giáo viên thỉnh giảng: là các giáo viên giảng dạy tại một đơn vị không thuộc trường ĐH Sài Gòn được mời về dạy tại khoa CNTT trường ĐH Sài Gòn.
Giáo viên thuộc các khoa khác: là các giáo viên công tác tại ĐH Sài Gòn nhưng không trực thuộc khoa CNTT mà được phân công giảng dạy tại khoa CNTT. Ví dụ: Giáo viên môn Tiếng Anh chuyên ngành thuộc khoa Ngoại ngữ, môn Giải tích thuộc khoa Sư phạm KHTN…
Mỗi giáo viên chỉ có một học vị và đó là học vị cao nhất của giáo viên (Tiến sĩ, thạc sỹ, đại học… Hệ thống chỉ định lưu lại trình độ cao nhất của giáo viên).
HỌC VỊ là trình độ học vấn của giáo viên, mỗi học vị có một mã học vị để phân biệt, ngoài ra có thêm thuộc tính: tên học vị. Ví dụ: học vị Tiến sĩ, Thạc sĩ…
Một giáo viên có thể không giữ chức vụ nào nhưng cũng có thể giữ nhiều chức vụ cùng một lúc.
CHỨC VỤ thể hiện cấp bậc của giáo viên, mỗi chức vụ có một mã chức vụ để phân biệt, ngoài ra có thêm thuộc tính: tên chức vụ. Ví dụ: chức vụ Trưởng khoa, Phó khoa...
Mỗi giáo viên đều thuộc một đơn vị công tác.
ĐƠN VỊ CÔNG TÁC là nơi giáo viên công tác chính thức ở đó. Có thể là công tác tại trường đại học Sài gòn hoặc có thể là ở các đơn vị khác đối với các giáo viên thỉnh giảng. Mỗi đơn vị công tác có một mã đơn vị để phân biệt, ngoài ra có thêm thuộc tính: tên đơn vị công tác. Ví dụ: đơn vị ĐH Sài Gòn, ĐH Bách Khoa, ĐH Khoa học tự nhiên…
KHOA là chuyên ngành giảng dạy của giáo viên, mỗi khoa có một mã khoa để phân biệt, ngoài ra có thêm thuộc tính: tên khoa. Ví dụ: khoa CNTT, khoa Ngoại ngữ…
Khoa CNTT có nhiều CHUYÊNNGÀNH: mỗi chuyên ngành có một mã chuyên ngành duy nhất, ngoài ra có thêm thuộc tính: tên chuyên ngành. Hiện nay, khoa CNTT trường ĐH Sài Gòn mở 3 chuyên ngành là: Công nghệ phần mềm, Hệ thống thông tin và Mạng máy tính.
KHỐI LỚP là các khối lớp đại học hay cao đẳng có cùng khóa học, mỗi khối lớp có một mã khối lớp để phân biệt, ngoài ra có thêm thuộc tính: tên khối lớp. Ví dụ: khối lớp DCT108 là các lớp đại học khóa 08, CCT107 là các lớp cao đẳng khóa 07…
Một khối lớp bao gồm nhiều nhóm lớp.
NHÓM LỚP là các lớp thuộc trong 1 khối lớp, mỗi nhóm lớp có một mã nhóm lớp để phân biệt, ngoài ra có thêm thuộc tính: tên nhóm lớp. Ví dụ: nhóm lớp DCT1084 là một trong những lớp thuộc khối lớp DCT108, CCT1071 là một trong những lớp thuộc khối lớp CCT107… Lưu ý: Ký số cuối cùng là mã số thứ tự lớp học.
Mỗi nhóm lớp có một Giáo Viên làm chủ nhiệm, thời gian làm chủ nhiệm nhóm lớp của giáo viên có thể thay đổi theo năm học.
NĂM HỌC là khoảng thời gian giảng dạy trong một năm của giáo viên, bao gồm 3 học kỳ/1 năm (trong đó học kỳ 3 là học kỳ hè). Mỗi năm học có một mã năm để phân biệt, ngoài ra có thêm thuộc tính: tên năm học. Ví dụ: năm học 2009 – 2010, 2010 – 2011…
HỌC KỲ là một phần 3 của một năm học, mỗi học kỳ có mã học kỳ để phân biệt, ngoài ra có thêm thuộc tính: tên học kỳ. Ví dụ: học kỳ 1 năm học 2009 – 2010, học kỳ 2 năm học 2009 – 2010…
HỌC PHẦN là tên môn học mà giáo viên giảng dạy, mỗi học phần có mã học phần để phân biệt, ngoài ra còn có thêm thuộc tính: tên học phần, số tín chỉ, số tiết lý thuyết và số tiết thực hành. Học phần theo một kế hoạch đào tạo quản lý về số tín chỉ, số tiết lý thuyết, số tiết thực hành, thời gian mở học phần. Số lượng giảng dạy các học phần sẽ được quy định thấp dần theo trình độ đào tạo Đại học, Cao đẳng và Trung cấp. Mỗi học phần có tối thiểu là 01 tín chỉ và tối đa là 05 tín chỉ, riêng học phần “Thực tập tốt nghiệp” là 06 tín chỉ và học phần “Khóa luận tốt nghiệp” là 10 tín chỉ. Kiến thức trong mỗi học phần phải gắn với một mức trình độ.
Theo tính chất của học phần, có 2 loại học phần:
Học phần lý thuyết: là học phần giáo viên và sinh viên chỉ làm việc trên lớp, bao gồm thuyết trình, làm và sửa bài tập, thảo luận, làm việc theo nhóm dưới sự hướng dẫn của giáo viên. Ví dụ: học phần Đường lối cách mạng Đảng CSVN, học phần Tiếng Anh chuyên ngành…
Học phần kết hợp lý thuyết và thực hành: là học phần giáo viên và sinh viên cùng làm việc trên lớp và trong phòng máy, có một phần giảng lý thuyết của giáo viên; một phần sinh viên làm thực hành, làm và sửa bài tập, khảo sát thực tế, làm việc nhóm, làm việc trong phòng máy, dưới sân trường… Ví dụ: học phần Phân tích thiết kế hệ thống thông tin, học phần Giáo dục thể chất…
Một học phần có thể được chia thành nhiều nhóm học phần trong học kỳ. Vì thế một học phần có thể có nhiều giáo viên giảng dạy.
NHÓM HỌC PHẦN là một phần tử trong học phần, mỗi nhóm học phần có một mã nhóm học phần để phân biệt, ngoài ra có thêm thuộc tính: tên nhóm học phần. Ví dụ: nhóm 1 học phần PTTK HTTT, nhóm 2 học phần CNPM…Một học phần có thể được phân ra một hoặc nhiều nhóm học phần tùy theo số lượng sinh viên theo học học phần đó.
KẾ HOẠCH ĐÀO TẠO là danh sách kế hoạch đào tạo thể hiện được hệ đào tạo, trình độ đào tạo và chuyên ngành đào tạo. Mỗi kế hoạch đào tạo có một mã để phân biệt, ngoài ra còn có thêm thuộc tính: tên kế hoạch đào tạo. Trong mỗi kế hoạch đào tạo lại có các trình độ đào tạo, hệ đào tạo và các chuyên ngành khác nhau. Ví dụ: kế hoạch đào tạo Đại học hệ Chính quy chuyên ngành Hệ thống thông tin…
TRÌNH ĐỘ ĐÀO TẠO là loại hình đào tạo thể hiện trình độ học vấn của sinh viên, mỗi trình độ đào tạo có một mã trình độ để phân biệt, ngoài ra có thêm thuộc tính: tên trình độ đào tạo. Ví dụ: trình độ đào tạo Đại học, Cao đẳng, Trung cấp.
HỆ ĐÀO TẠO là loại hình đào tạo thể hiện việc học theo quy chế nào của Bộ giáo dục ban hành. Ví dụ: hệ đạo tạo chính quy, không chính quy…Trường có nhiều hệ đào tạo, mỗi hệ đào tạo đều có mã hệ đào tạo để phân biệt, ngoài ra có thêm thuộc tính: tên hệ đào tạo.
Cụ thể hóa các đối tượng:
Hệ thống bao gồm 15 đối tượng:
GIAOVIEN: giáo viên
Các thuộc tính:
MaGV: là mã giáo viên để phân biệt giữa các giáo viên với nhau, là thuộc tính khóa chính.
TenGV: họ và tên của giáo viên.
NgSinh: ngày sinh của giáo viên.
DiaChi: là địa chỉ của giáo viên.
SDT: là số điện thoại liên hệ của giáo viên.
HOCVI: học vị của giáo viên
Các thuộc tính:
MaHV: là mã học vị dùng để phân biệt các học vị khác nhau, là thuộc tính khóa chính.
TenHV: là tên gọi của học vị.
CHUCVU: chức vụ của giáo viên
Các thuộc tính:
MaCV: là mã chức vụ dùng để phân biệt giữa các chức vụ khác nhau, là thuộc tính khóa chính.
TenCV: là tên gọi của chức vụ.
DONVI: đơn vị công tác
Các thuộc tính:
MaDV: là mã đơn vị dùng để phân biệt giữa các đơn vị khác nhau, là thuộc tính khóa chính.
TenDV: là tên gọi của đơn vị công tác.
KHOA: Khoa
Các thuộc tính:
MaKhoa: là mã khoa dùng để phân biệt các khoa với nhau, là thuộc tính khóa chính.
TenKhoa: là tên gọi của khoa.
CHUYENNGANH: chuyên ngành.
Các thuộc tính:
MaCN: là mã chuyên ngành dùng để phân biệt giữa các chuyên ngành khác nhau, là thuộc tính khóa chính.
TenCN: là tên gọi của chuyên ngành.
KHOILOP: khối lớp.
Các thuộc tính:
MaKL: là mã khối lớp dùng để phân biệt giữa các khối lớp với nhau, là thuộc tính khóa chính.
TenKL: là tên của khối lớp.
NHOMLOP: nhóm lớp.
Các thuộc tính:
MaNL: là mã nhóm lớp dùng để phân biệt giữa các nhóm lớp với nhau, là thuộc tính khóa chính.
TenNL: là tên gọi của nhóm lớp.
NAMHOC: năm học.
Các thuộc tính:
MaNH: là mã năm học dùng để phân biệt các năm học khác nhau, là thuộc tính khóa chính.
TenNH: là tên năm học đó.
HOCKY: học kỳ.
Các thuộc tính:
MaHK: là mã học kỳ dùng để phân biệt các học kỳ khác nhau trong một năm học, là thuộc tính khóa chính.
TenHK: là tên gọi của học kỳ đó.
HOCPHAN: học phần.
Các thuộc tính:
MaHP: là mã học phần dùng để phân biệt các học phần với nhau, là thuộc tính khóa chính.
TenHP: là tên của học phần đó.
SoTC: là số tín chỉ của học phần đó, mỗi học phần đều có một số tín chỉ nhất định.
SoTiet_LT: là số tiết lý thuyết của học phần đó.
SoTiet_TH: là số tiết thực hành của học phần đó.
NHOMHP: nhóm học phần.
Các thuộc tính:
MaNHP: là mã nhóm học phần dùng để phân biệt các nhóm học phần với nhau, là thuộc tính khóa chính.
TenNHP: là tên gọi của nhóm học phần đó
KH_DT: kế hoạch đào tạo.
Các thuộc tính:
MaKHDT: là mã kế hoạch đào tạo dùng để phân biệt các kế hoạch đào tạo khác nhau, là thuộc tính khóa chính.
TenKHDT: là tên gọi của kế hoạch đào tạo.
TD_DT: trình độ đào tạo.
Các thuộc tính:
MaTD: là mã trình độ đào tạo dùng để phân biệt các trình độ đào tạo khác nhau, là thuộc tính khóa chính.
TenTD: là tên gọi của trình độ đào tạo.
HE_DT: hệ đào tạo.
MaHDT: là mã hệ đào tạo để phân biệt các hệ đào tạo khác nhau của trường.
TenHDT: là tên gọi của hệ đào tạo.
Xác định chi tiết các yêu cầu của hệ thống:
Chức năng của hệ thống:
Chức năng Quản lý các đối tượng:
a.1 Quản lý danh mục:
Quản lý học vị (thêm, xóa, sửa).
Quản lý chức vụ (thêm, xóa, sửa).
Quản lý đơn vị công tác (thêm, xóa, sửa).
Quản lý khoa của giáo viên (thêm, xóa, sửa).
Quản lý chuyên ngành (thêm, xóa, sửa).
Quản lý khối lớp (thêm, xóa, sửa).
Quản lý nhóm lớp (thêm, xóa, sửa).
Quản lý năm học (thêm, xóa, sửa).
Quản lý học kì (thêm, xóa, sửa).
Quản lý học phần (thêm, xóa, sửa, tìm kiếm theo mã HP).
Quản lý nhóm học phần (thêm, xóa, sửa).
Quản lý trình độ đào tạo (thêm, xóa, sửa).
Quản lý hệ đào tạo (thêm, xóa, sửa).
a.2 Quản lý giáo viên:
Quản lý giáo viên (thêm, xóa, sửa, tìm kiếm theo mã GV).
a.3 Quản lý đào tạo:
Quản lý kế hoạch đào tạo (thêm, xóa, sửa).
Quản lý phân công giảng dạy (thêm, xóa, sửa).
Chức năng Tìm kiếm:
Tìm kiếm theo các tiêu chí giáo viên (theo tên GV, địa chỉ, ngày sinh, học vị, chức vụ, đơn vị công tác...)
Tìm kiếm theo các tiêu chí học phần (theo Mã HP, tên HP, số tín chỉ…)
Tìm kiếm theo lịch giảng dạy của giáo viên (theo tên GV, theo học phần, theo học kì, theo năm học)
Chức năng Báo cáo:
Báo cáo danh sách giáo viên.
Báo cáo danh sách học phần.
Báo cáo Kế hoạch đào tạo.
Báo cáo phân công giảng dạy.
Chức năng Quản trị hệ thống dữ liệu
Lưu trữ và phục hồi dữ liệu.
Kết thúc chương trình.
Chức năng phi hệ thống:
Hệ thống có khả năng bảo mật và phân quyền.
Chương 2: Mô hình hóa dữ liệu hệ thống Quản lý phân công giảng dạy khoa Công nghệ Thông tin trường Đại học Sài Gòn
-----&-----
2.1 Mô hình tổ chức:
2.2 Mô hình dòng xử lý (DFD):
2.2.1 Mô hình DFD đăng nhập:
2.2.2 Mô hình DFD đổi password:
2.2.3 Mô hình DFD đổi thông tin cá nhân:
2.2.4 Mô hình DFD phân quyền:
2.2.5 Mô hình DFD tiếp nhận giáo viên:
2.2.6 Mô hình DFD giáo viên:
2.2.7 Mô hình DFD admin:
2.2.8 Mô hình DFD phân rã ô xử lý 3 của admin:
2.2.9 Mô hình DFD phân rã ô xử lý 4 của admin:
2.2.10 Mô hình DFD phân rã ô xử lý 5 của admin:
2.3 Mô hình thực thể kết hợp (ERD):
Hình 2.12: Mô hình thực thể kết hợp (ERD)
2.4 Mô hình dữ liệu quan hệ:
Mô hình dữ liệu quan hệ bao gồm 17 quan hệ:
GIAOVIEN (MaGV, TenGV, NgSinh, GioiTinh, CMND, DiaChi, MaKhoa, MaHV)
GIANGDAY (MaGV, MaNHP, MaHK, GhiChuGD)
CHUCVU (MaCV, TenCV)
HOCVI (MaHV, TenHV)
KHOA (MaKhoa, TenKhoa)
CHUYENNGANH (MaNganh, TenNganh, MaKhoa)
KHOILOP (MaKL, TenKL, MaKhoa, MaHDT, MaTDDT)
NHOMLOP (MaNL, TenNL, MaKL)
HOCPHAN (MaHP, TenHP, SoTC, SoTietLT, SoTietTH, MaKHDT)
NHOM_HP (MaNHP, TenNHP, MaKL, MaHP)
TDDT (MaTDDT, TenTDDT)
HE-DT(MaHDT, TenHDT)
KHDT (MaKHDT, TenKHDT, MaTDDT,MaHDT,MaNganh)
HOCKY (MaHK, TenHK, MaNH)
NAMHOC (MaNH, TenNH)
DamNhiem_CV (MaGV, MaCV, NgayNC)
GV_CN (MaGV, MaNL, MaNH, GhiChu)
2.5 Đánh giá dạng chuẩn của hệ thống:
GIAOVIEN (MaGV, TenGV, NgSinh, GioiTinh, CMND, DiaChi, MaKhoa, MaHV)
MaGV à TenGV, NgSinh, GioiTinh, CMND, DiaChi, MaKhoa, MaHV
CHUCVU (MaCV, TenCV)
MaCV à TenCV
DamNhiem_CV (MaGV, MaCV, NgayNC)
MaCV, MaGV à NgayNC
GIANGDAY (MaGV, MaNHP, MaHK, GhiChuGD)
MaGV, MaHK, MaHP à GhiChuGD
GV_CN (MaGV, MaNL, MaNH, GhiChu)
MaGV, MaNL, MaNH à GhiChu
MaNL à MaGV
HE-DT(MaHDT, TenHDT)
MaHDT à TenHDT
HOCKY (MaHK, TenHK, MaNH)
MaHK à TenHK, MaNH
HOCPHAN (MaHP, TenHP, SoTC, SoTietLT, SoTietTH, MaKHDT)
MaHP à TenHP, SoTC, SoTietLT, SoTietTH, MaKHDT
HOCVI (MaHV, TenHV)
MaHV à TenHV
KHDT (MaKHDT, TenKHDT, MaTDDT,MaHDT,MaNganh)
MaKHDT à TenKHDT, MaNganh, MaTDDT, MaHDT
KHOA (MaKhoa, TenKhoa)
MaKhoa à TenKhoa
KHOILOP (MaKL, TenKL, MaKhoa, MaHDT, MaTDDT)
MaKL à TenKL, MaKhoa, MaHDT, MaTDDT
NAMHOC (MaNH, TenNH)
MaNH à TenNH
CHUYENNGANH (MaNganh, TenNganh, MaKhoa)
MaNganh à TenNganh,MaKhoa
NHOM_HP (MaNHP, TenNHP, MaKL, MaHP)
MaNHP à TenNHP, MaHP, MaKL
NHOMLOP (MaNL, TenNL, MaKL)
MaNL à TenNL, MaKL
TDDT (MaTDDT, TenTDDT)
MaTDDT à TenTDDT
Xét quan hệ GiaoVien có phụ thuộc hàm:
GIAOVIEN (MaGV, TenGV, NgSinh, GioiTinh, CMND, DiaChi, MaKhoa, MaHV)
MaGV à TenGV, NgSinh, GioiTinh, CMND, DiaChi, MaKhoa, MaHV
Khóa Chính: MaGV
Thuộc tính không khóa: TenGV, NgSinh, GioiTinh, CMND, DiaChi, MaKhoa, MaHV
Ta thấy các thuộc tính không khóa điều phụ thuộc đầy đủ vào khóa nên quan hệ trên thuộc chuẩn 2.
Ta xét tiếp quan hệ trên với chuẩn BC
Vì MaGV vừa là khóa vừa là siêu khóa nên quan hệ trên đạt chuẩn BC.
Xét quan hệ GV_CN có phụ thuộc hàm:
GV_CN (MaGV, MaNL, MaNH, GhiChu)
MaGV, MaNL, MaNH à GhiChu
MaNL à MaGV
Ta thấy MaNL xác định được MaGV nên quan hệ trên đạt chuẩn 3. Vì dạng chuẩn của một lược đồ cơ sở dữ liệu là dạng chuẩn thấp nhất của các lược đồ quan hệ con. Nên dạng chuẩn của lược đồ trên đạt chuẩn 3.
2.6 Lập các ràng buộc toàn vẹn:
2.6.1 Ràng buộc một quan hệ:
ChucVu: MaCV không được trống,”MaCV phải tồn tại”.
Khoa: MaKhoa không được rỗng và phải được định dạng :
(MaKhoa like '[0-9][0-9]')
KhoiLop: MaKL(Mã khối lớp) không được rỗng và phải có dạng:
(MaKL like '[A-Z]CT[0-9][0-9][0-9]')
NhomLop: MaNL(Mã Nhóm Lớp) không được rỗng và phải có dang:
(MaNL like '[A-Z]CT[0-9][0-9][0-9][0-9][0-9]')
HocPhan:
Mã học phần không được rỗng (null)
SoTC(số tín chỉ) phải lớn hơn 0.
SoTietLT(số tiết lý thuyết) phải lớn hơn 0.
KHDT:
MaKHDT(mã kế hoạch đào tạo) phải lớn hơn 0 và được định dạng : (MaKHDT like 'KHDT[0-9][0-9]')
MaKHDT Không được trùng nhau giữa các kế hoạch đào tạo.
GiangDay:
MaGV, MaHK, MaNHP (Mã Giáo viên, mã học phần, mã học kì) phải tồn tại, không được rỗng (null).
MaGV,MaHK,MaHP Không được trùng nhau giữa các phân công giảng dạy.
GV_CN:
MaGV,MaNL,MaNH(Mã giáo viên, mã nhóm lớp, mã năm học) không được rỗng.
MaGV,MaNL,MaNH Không được trùng nhau của các giáo viên chủ nhiệm.
DamNhiem_CV:
MaGV,MaCV(mã giáo viên,mã chức vụ) không được rỗng.
MaGV,MaCV Không được trùng nhau giữa các chức vụ .
2.6.2 Ràng buộc hai quan hệ:
“Mã khoa là khóa ngoại của Ngành đào tạo”: mỗi dòng trong bảng ngành phải có một mã khoa, mã khoa này khác rỗng do mỗi ngành phải thuộc 1 khoa.
“Mã ngành là khóa ngoại của kế hoạch đào tạo”: mỗi dòng trong bảng kế hoạch đào tạo phải có một mã ngành, mã ngành này khác rỗng do mỗi kế hoạch đào tạo phải thuộc một ngành nhất định.
“Mã Hệ đào tạo là khóa ngoại của kế hoạch đào tạo”: mỗi dòng trong bảng kế hoạch đào tạo phải có một mã hệ đào tạo, mã hệ đào tạo này phải khác rỗng do mỗi kế hoạch đào tạo phải đào tạo theo một hệ nhất định.
“Mã trình độ đào tạo là khóa ngoại của kế hoạch đào tạo”: mỗi kế hoạch đào tạo phải đào tạo theo một trình độ nhất định.
“Mã kế hoạch đào tạo là khóa ngoại của học phần”: Mỗi học phần phải thuộc một kế hoạch đào tạo.Mã kế hoạch đào tạo này phải khác rỗng.
“Mã học phần là khóa ngoại của nhóm học phần”: mỗi dòng trong bảng nhóm học phần phải có một mã học phần,mã học phần này khác rỗng do mỗi nhóm học phần phải thuộc một học phần nhất định.
“Mã khối lớp là khóa ngoại của nhóm lớp”: mỗi dòng trong bảng nhóm lớp phải có một mã khối lớp, mã khối lớp này khác rỗng do mỗi nhóm lớp phải thuộc một khối lớp nhất đinh.
“Mã năm học là khóa ngoại của học kỳ”:mỗi dòng trong bảng học kỳ phải có một mã năm học, mã năm học này khác rỗng do mỗi học kỳ phải thuộc vào một năm học.
“Mã học vị là khóa ngoại của giáo viên”: mỗi giáo viên phải có một học vị nhất định, học vị này là học vị cao nhất của giáo viên đó.
“Mã khoa là khóa ngoại của giáo viên”: mỗi giáo viên phải thuộc một khoa nhất định, mã khoa phải khác rỗng.
“Mã chức vụ là khóa ngoại của DamNhiêm_CV”: mỗi dòng trong bảng DamNhiem_CV phải có một mã chức vụ, mã chức vụ này phải khác rỗng.
“Mã giáo viên là khóa ngoại của DamNhiem_CV”: mỗi dòng trong bảng DamNhiem_CV phải có một mã giáo viên, Mã giáo viên này phải