Đối với khóa học, nhằm giúp sinh viên, giáo viên dễ dàng đăng kí, triển khai các khóa học, hệ thống cần lưu trữ tên khóa học, chủ đề, mã khoá học, ngôn ngữ, mô tả khóa học, trình độ yêu
Trang 1TRUONG DAI HOC BACH KHOA
KHOA KHOA HOC VA KY THUAT MAY TINH
Báo Cáo Bài Tập Lớn
Đề tài: "Xây Dựng Hệ Thống E-learning"
Môn học: Hệ cơ sở dữ liệu (CO2013)
Ngày 3 tháng 11 năm 2024
Trang 2Mục lục
1 Phân tích nghiệp vụ, viết mô tả yêu cầu dữ liệu 3 Âm" h6 8n ố ố ẽeẽ6ẽ.AaAa ưa 3 1.2 Mo ta cdc kiểu thực thể và mối liên kết cv 4 1.3 Yéu cAu chtte ning - Functional Requirement 6.0.0.0 2 9 1.3.1 Đối với người dùng chủng ee 9 1.3.2 Đối với quản họcsinh Q.22 9 1.3.3 Đối với giảng viên LH ng ng v.v và và 10 1.3.4 Déi véi vie xtt ly giao dich ww Q Q Q Q Q Q Q ng n2 và và 10
14 Ràng buộc dữ liệu 2 Q Q Q Qua và gi va và va 10 1.5 Ràng buộc nghiệp vụ chính của ứng dụng QẶ Q Q Q Q Q 10 1.5.1 Đối với Người dùng và Phân quyền: .c 10 1.5.2 Đối với Sinh viên: Q c Q Q Q Q g Q g g ng và và và 10 1.5.3 Đối với Giáo viên: HQ v.v à v2 11 1.5.4 Đối với Lộ trình: Q2 và v2 11 1.5.5 Đối với Khóa học Q Q Q Q Q Q Q Q n n nu v v1 v2 v v2 11
1.5.7 Đối với Chứng chỉ c Q Q Q Q Q Q g g g g và và vŸ 11 1.6 Ràng buộc ngữ nghĩa Q Q Q Q Q Q Q Q v.v vi kia 11 1.6.1 Ràng buộc về Vai trò của Người dùng: ee 12 1.6.2 Rang budc vé Hoan thanh Khéa hoc: 2 0 0 12 1.6.3 RAng budc vé Mén hoc Tién quyét: 2 el 12 1.6.4 Ràng buộc về Nội dung câu hồi: 2 c Q c L Q2 12 1.6.5 RAng buộc về Số lượng Học phần trong Khóa học: 12 1.66 Ràng buộc về Số lượng Quiz trong Khóa học: 12
2 Enhanced Entity — Relationship Diagram (E-ERD) 13
Trang 3Giới thiệu thành viên và phân công
Bảng dưới đây biểu diễn thông tin về thành viên, phân công và đánh giá trong bài tập lớn lần này của chúng em
Q tén
Lâm Vũ 2213994 database
ựt 2212
221
Trang 2
Trang 41 Phân tích nghiệp vụ, viết mô tả yêu cầu dữ liệu
1.1 Mô tả nghiệp vụ
Nhóm chọn tham khảo từ trang Udemy, là một nền tẳng giáo dục trực tuyến hàng đầu, cho phép người học trên khắp thế giới truy cập vào hàng nghìn khóa học trực tuyến về mọi chủ đề có thể tưởng tượng Trên trang web của mình, Udemy cung cấp một loạt các khóa học từ lĩnh vực kỹ năng mềm như quản lý thời gian và giao tiếp đến các chủ đề chuyên sâu như: lập trình máy tính, khoa học dữ liệu, tiếng Anh Để xây dựng được trang web như vậy, trước hết Udemy cin xây dựng được
hệ thống cơ sở dữ liệu căn bản và dần dần mở rộng hơn
Đầu tiên, đối với người dùng khi đăng ký mới, hệ thống cần lưu trữ sername, Password Khi đăng ký thành công, hệ thống sẽ tự được khởi tạo TD riêng cho người dùng Đồng thời cần lưu trữ vai trò của mỗi người dùng đề xác định họ là sinh viên, giáo viên hay quản tri
Đối với sinh viên, cần hưu trữ các thông tin cơ bản như họ và tên sinh viên, email, như số khóa học đăng ký, số khóa học hoàn thành, danh sách khóa học đăng ký và danh sách khóa học hoàn thành
Đối giáo viên, hệ thống cũng cần lưu trữ thông tin giáo viên gồm tên, bằng cấp, email, số điện thoại
Đối với khóa học, nhằm giúp sinh viên, giáo viên dễ dàng đăng kí, triển khai các khóa học, hệ thống cần lưu trữ tên khóa học, chủ đề, mã khoá học, ngôn ngữ, mô tả khóa học, trình độ yêu cầu,
và tiến độ học tập của sinh viên khi tham gia khóa học Đồng thời, khóa học còn cấp chứng chỉ cho mỗi sinh viên khi hoàn thành khóa học Chứng chỉ sẽ bao gồm tên sinh viên, tên khóa học tham gia, thời gian cấp chứng chỉ đó
Ngoài ra, khóa học sẽ bao gồm các section, mỗi section sẽ cần lưu tiêu đề, số bài giảng trong section đó cùng với số giờ cần để học xong section Nhằm giúp sinh viên có cơ hội vừa học kiến thức mới vừa ôn tập kiến thức cũ, các section sẽ gồm các bài giảng và các bài quiz kiểm tra
Trang 5Đối với mỗi bài giảng, ta cần biết được thông tin tiêu đề từng bài học, từng video, trạng thái của bài giảng đã hoàn thành hay chưa và các tài liệu liên quan tới bài giảng đó
Mỗi bài giảng sẽ có các bài quiz, trong đó các bài quiz cũng sẽ có các tiêu đề tương ứng, số lần làm tối đa, thời gian làm bài, trạng thái đã hoàn thành hay chưa, số điểm của bài quiz đó Một bài quiz sẽ có nhiều câu hỏi vì vậy ta cũng cần có thông tin về nội dung câu hỏi và đáp án
Đối với mỗi câu hỏi, cần lưu thông tin về nội dung câu hỏi, hình thức và đáp án của câu hỏi đó
Mỗi sinh viên sẽ có quyền xem bài giảng và thực hiện bài quiz sau khi đăng kí thành công Khi thực hiện các bài quiz cần có thông tin số lần thực hiện của sinh viên
Với sự phát triển của hệ thống quản lý học tập này, nhóm hy vọng sẽ nâng cao hiệu quả quản lý giáo dục, tối ưu hóa quy trình học thuật, và cung cấp một nền tảng giáo dục chất lượng cao cho sinh viên và giáo viên của mình Đây sẽ là một bước tiến quan trọng giúp trường mở rộng quy mô hoạt động giáo dục và tăng cường vị thế cạnh tranh trong lĩnh vực giáo dục
1.2 Mô tả các kiểu thực thể và mối liên kết
Thực thể mạnh
1 Người dùng (USER), có các thuộc tính:
e ID (khóa chính, duy nhất không NULL)
e Tên người dùng (user name), được dùng khi đăng nhập vào hệ thống (tối da 30 kí tự, duy nhất, không NULL)
e Password (không NULL, phải có đủ chữ và số)
e Họ (không NULL, tối đa 10 kí tự)
e Tên (không NULL, tối đa 30 kí tự)
e Email (khong NULL, duy nhất, đúng format,tối đa 254 kí tự)
e Vai trò, mỗi người dùng có thể là giảng viên hoặc sinh viên
e Tên ngân hàng mà người dùng này dùng để giao dịch (không NULL, tối đa 20 kí tự)
Trang 6e Thông tin tài khoản ngân hàng (không NULL, đúng format)
2 Sinh viên (STUDENT), là lớp con của người dùng, có các thuộc tính:
e Mã học sinh (Student_ ID) (duy nhất, không NULL)
e Tổng số khóa học đăng kí (thuộc tính dẫn xuất)
e Tổng số khóa học hoàn thành (thuộc tính dẫn xuất)
e Ngày đăng ký vào ứng dụng hoặc ngày bắt đầu học của sinh viên (không NULL)
3 Giảng viên (TEACHER), là lớp con của người dùng, có các thuộc tính:
e Mã giáo viên (Teacher_ ID) (duy nhat, khong NULL)
e Bằng cấp (thuộc tính đa trị) (không NULL, tối đa 50 kí tự)
4 Khóa học (COURSE), có các thuộc tính:
e Mã khóa học (Course_ ID) (khóa chính, duy nhất, không NULL)
e Tên khóa học (không NULL, tối thiểu 3 kí tự và tối đa 80 kí tự)
e Ngôn ngữ (có thể là Tiếng Việt hoặc Tiếng Anh, không NULL)
e@ Mô tả khóa học (không NULL)
e Chủ đề hoặc tag (thuộc tính đa trị, khi tạo khóa học giáo viên sẽ chủ đề cho khóa học như: Toán, Lập Trình, Vật Lý)
e Diễm trung bình tối thiểu để nhận chứng chỉ hoàn thành khóa học (điểm được quy định bởi giáo viên khi tạo khóa học) (không NULL, không âm, không vượt quá 100%)
e Giá của khóa học (không NULL, đơn vị VND, tối thiểu 0đ)
e Thời gian tạo (không NULL)
5 Hoc phần (SECTION), có các thuộc tính:
e Mã học phần (Section_ ID) (khóa chính, duy nhất, không NULL)
e Tên học phần (không NULL, duy nhất, tối da 50 ký tự)
e Thời gian hoàn thành học phần (không NULL)
Trang 7e Số lượng bài giảng trong học phần (không NULL, không âm)
e Thời gian tạo (không NULL)
6 Bài giảng (LECTURE), có các thuộc tính:
Mã bài giãng (Lecture_ ID) (khóa chính, duy nhat, khong NULL)
Tên bài giảng (duy nhất, không NULL)
Trạng thái của bài giảng (chỉ là các giá trị sau ví dụ: "đã hoàn thành", "chưa hoàn thành", hoặc "đang tiến hành")
Tài liện hoặc đường dẫn tới tài liệu liên quan đến bài giảng (có thể NULL)
Thông tin tham khảo bổ sung cho bài giảng, ví dụ như các liên kết tham khảo bên ngoài (có thể NULL)
Thời gian tạo (không NULL)
7 Bài kiểm tra (QUIZ), có các thuộc tính:
Mã quiz (Quiz_ID) (khóa chính, duy nhat, khong NULL)
Tén quiz (duy nhat va khong duge NULL)
Số lần sinh viên có thể làm bài kiểm tra này (không NULL, không âm)
Trạng thái hiện tại của bài kiểm tra (CHI la các giá trị sau ví dụ: "chưa hoàn thành",
"hoàn thành", "đang làm")
Thời gian quy định để làm bài kiểm tra, tính theo phút (kh6ng NULL va phai >= 0) Điểm của quiz (có thể NULL nếu bài kiểm tra chưa được chấm điểm, nhưng phải >= 0 nếu đã có điểm)
Thời gian tạo (không NULL)
§ Chứng chỉ khóa hoc (CERTIFICATE), c6 céc thudc tinh:
e Ma chitng chi (Certificate_ID) (khéa chinh, duy nhat, khong NULL)
e Tén chttng chi (khéng NULL, téi da 50 ki tw)
e Ngày cấp (khong NULL)
Trang 8e Ngày hết hạn (không NULL)
9 Lộ trình (ROADMIAP), có các thuộc tính:
e Mã lộ trình (Rm_ ID) (khóa chính, duy nhất, không NULL)
e Tên lộ trình (không NULL, tối đa 50 kí tự)
e Mô tả lộ trình (không NULL, tối đa 500 kí tự)
e Hướng dẫn những mẹo học tập từ giáo viên (không NULL, tối đa 1000 kí tự)
10 Chứng chỉ lộ trình (RCERTIEICATE), có các thuộc tính:
e Mã chứng chỉ (Rcertificate_ ID) (khóa chính, duy nhất, không NULL)
e Tên chứng chỉ hoàn thành lộ trình (không NULL, tối đa ð0 kí tự)
e Ngày cấp (không NULL)
e Ngày hết hạn (không NULL)
Thực thể yếu
1 Câu hỏi (QUESTION) dược đi kèm với QUIZ gồm các thuộc tính:
e Mã quiz (Quiz_ ID) (khóa ngoại tham khảo từ bảng của thực thé QUIZ)
e Mã câu hỏi (Question_ ID) (khóa riêng phần, duy nhất, không NULL)
e Loại câu hỏi, CHỈ có thể là dạng lua chon (multiple choice), đúng/sai (true/false), dién vao ché tréng (fill in the blank), hoXc ty luan (open-ended)
e Nội dung câu hỏi (duy nhất, không NULL, tối ta 500 kí tự)
e Cau tra lời (duy nhất, không NULL, tối đa 200 kí tự)
e Các lựa chọn sai cho dang multiple choice (da tri tổ hợp, có thể NULL)
Các Mối Liên Kết gồm:
Mỗi liên kết 1 - N:
e 1 giảng viên có thể tạo tạo nhiều lộ trình, 1 lộ trình phải được tạo từ 1 giảng viên (1-N)
e 1 giảng viên có thể tạo tạo nhiều khóa học, 1 khóa học phải được tạo từ 1 giảng viên (1-N)
Trang 9®e 1 giảng viên có thể tạo tạo nhiều học phần, 1 học phần phải được tạo từ 1 giảng viên (1-N)
e 1 giảng viên có thể tạo nhiều quiz, 1 quiz phải được tạo từ 1 giảng viên (1-N)
1 giảng viên có thể tạo nhiều câu hỏi, 1 câu hỏi phải được tạo từ 1 giảng viên (1-N)
1 khóa học có thể có nhiều học phân, 1 học phần phải thuộc 1 khóa học (1-N)
1 học phần có thể có nhiều bài giảng, 1 bài giảng phải thuộc 1 học phần (1-N)
1 học phần có thể có nhiều quiz, 1 quiz phải thuộc 1 học phần (1-N)
1 khóa học cung cấp ra nhiều chứng chỉ, 1 chứng chỉ bắt buộc phải được cấp từ 1 khóa học
(LN)
1 lộ trình cung cấp ra nhiều chứng chỉ lộ trình, 1 chứng chỉ lộ trình bất buộc phải được cấp
từ 1 lộ trình (1-N)
1 hoe sinh ¢6 thể nhận được nhiều chứng chỉ, mỗi chứng chỉ thuộc về duy nhất 1 hoe sinh
(LN)
1 học sinh có thể nhận được nhiều chứng chỉ lộ trình, mỗi chứng chỉ lộ trình thuộc về duy nhất 1 học sinh (1-N)
Mối liên kết N - N:
1 học sinh tương tác (xem, đọc) nhiều bài giảng, 1 bài giảng cũng được tương tác bởi nhiều hoc sinh (M-N)
1 khóa học có thể phải cần nhiều khóa học tiên quyết cần phải hoàn thành trước khi tham gia, 1 khóa học cũng có thể được xem là tiên quyết cho nhiều khóa học khác (M-N)
e 1 học sinh làm nhiều bài quiz, 1 bài quiz cũng được làm bởi nhiều học sinh (M-N) Mối quan
hệ này có các thuộc tính:
— Điểm số (không NULL, không âm, tối đa 100%)
— Thứ tự lần làm bài quiz (trong trường hợp bài quiz có thể làm nhiều lần) (không NULL, không âm)
Trang 10— Bản ghi câu trả lời của học sinh (thuộc tính phức hợp), gồm 2 thuộc tính con là mã câu hỏi và lựa chọn câu trả lời cho câu hỏi đó của học sinh
e 1 học sinh có thể giam gia nhiều khóa học, 1 khóa học cũng có thể được tham gia bởi nhiều hoc sinh (M-N)
e 1 lộ trình có thể bao gồm nhiều khóa học, 1 khóa học cũng có thể thuộc nhiều lộ trình (M-N) Mối quan hệ này có các thuộc tính:
— thứ tự khóa học (thuộc tính đa trị phức hợp, không NULL) Gồm 2 thuộc tính là thứ tự
và mã môn học
e 1 hoc sinh có thể xem nhiều lộ trình, 1 lộ trình cũng có thể được xem bởi nhiều học sinh (M-N) Mối quan hệ này có các thuộc tính:
— Mức độ phù hợp học vấn (không NULL), thuộc tính này được xác định dựa trên những khóa học trong lộ trình mà học sinh đã hoàn thành trước Ví dụ trong lộ trình có 4 khóa, học, học sinh đã hoàn thành được 3 khóa thì chỉ số này sẽ là 3/4
— Mức độ phù hợp thời gian (không NULL), thuộc tính này được xác định dựa trên số phút học sinh xem lộ trình đó chia cho 15p, nếu học sinh dừng lại xem lộ trình trong vòng lÚp, chỉ số này sẽ là 10/15 = 2/3
— Mức độ phù hợp (thuộc tính dẫn xuất, được xác định bằng 20% mức độ phù hợp thời gian cộng 80% mức độ phù hợp học van)
1.3 Yêu cầu chức năng - Functional Requirement
1.3.1 Đối với người dùng chung
e Đăng ký, đăng nhập tài khoản
1.3.2 Đối với quản học sinh
e Đăng ký các khóa học mà sinh viên quan tâm
e Xem thông tin chỉ tiết về các khóa học bao gồm tên, mô tả, giảng viên phụ trách
e Xem các video và tài liệu bài giảng
Trang 11e Thực hiện quiz trong các bài giảng
e Xem điểm số và tiến độ học tập của sinh viên trong từng khóa học
e Nhận chứng chỉ của khóa học sau khi hoàn thành
e Thanh toán khóa học
1.3.3 Đối với giảng viên
e Tạo và quản lý các khóa học cũng như bài giảng và bai quiz
e Đăng tải, chỉnh sửa và xóa thông tin, tài liệu của khóa học
e Duyệt học sinh đăng kí khóa học cũng như có thể xóa sinh viên ra khỏi khóa học
e Xem danh sách sinh viên
1.3.4 Đối với việc xử lý giao dịch
e Khi học sinh đăng kí mua 1 khóa học, ứng dụng sẽ thực hiện yêu cầu học sinh chuyển khoản thanh toán cho tài khoản giáo viên tạo ra khóa học đó
1.4 Ràng buộc dữ liệu
Đã nêu rõ ở phần mô tả các kiểu thực thể và mối liên kết
1.5 Ràng buộc nghiệp vụ chính của ứng dụng
1.5.1 Đối với Người dùng và Phân quyên:
e Mỗi người dùng được phân loại thành các vai trò như Sinh viên hoặc Giáo viên khi đăng ký tài khoản
1.5.2 Đối với Sinh viên:
e Các thông tin là thuộc tính dẫn xuất về số lượng khóa học đã tham gia và hoàn thành sẽ được tính toán trước dựa trên các khóa học được đăng kí và tiến độ của các khóa học đó
e Sinh viên sẽ được đề xuất đăng kí các khóa học khi xem lộ trình chứa khóa học đó