ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC - KỸ THUẬT MÁY TÍNH HỆ CƠ SỞ DỮ LIỆU (CO2013) Nhóm: GoPro—- Bài tập lớn 1 “Multiple-choice Questions and Exams” GVHD: SV thực hiện: Nguyễn Lê Hoàng Sỳ Tùng An – 1811389 Vũ Nguyễn Minh Đạt – 1811904 Huỳnh Tuấn Anh – 1811408 Tp. Hồ Chí Minh, Tháng /2020 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính Mục lục 1 Mở đầu 1.1 Giới thiệu đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Người dùng hướng đến . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 2 2 Thực thể mạnh và mối liên kết 2 3 Thực thể yếu và mối liên kết 3 4 Thuộc tính và các mô tả về thuộc tính 4.1 STUDENT . . . . . . . . . . . . . . . . 4.2 LECTURER . . . . . . . . . . . . . . . 4.3 ADMINISTRATION_LECTURER . . . 4.4 MAIN_SUBJECT_LECTURER . . . . 4.5 SUBJECT_LECTURER . . . . . . . . 4.6 SUBJECT . . . . . . . . . . . . . . . . . 4.7 SEMESTER . . . . . . . . . . . . . . . . 4.8 MAIN_MULTIPLE_CHOICE_TEST . 4.9 RECORDED_ANSWER . . . . . . . . 4.10 QUESTION_SET . . . . . . . . . . . . 4.11 QUESTION . . . . . . . . . . . . . . . . 4.12 DESCRIPTION . . . . . . . . . . . . . 4.13 DESCRIPTION_FILE . . . . . . . . . 4.14 ANSWER . . . . . . . . . . . . . . . . . 4.15 LEARNING_OUTCOME . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 Xác định các ràng buộc 5.1 Một số ràng buộc về ngữ nghĩa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 6 Mở 6.1 6.2 6.3 6 6 6 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rộng các yêu cầu dữ liệu Giảng viên phụ trách môn học . . . . . . . . . . . . . . . . . . . . . . . . . . . . Giảng viên quản lý môn học . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sinh viên . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Lược đồ thực thể - mối liên kết 8 8 Ánh xạ lược đồ 9 9 Triển khai trên DBMS 9.1 Chọn và cài đặt DBMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 Các câu lệnh SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 10 10 10 Chuẩn bị công nghệ phát triển ứng dụng cơ sở dữ liệu 10 11 Kết luận 10 Tài liệu 11 Bài tập lớn môn Hệ cơ sở dữ liệu (CO2013) - Niên khóa - Trang 1/11 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính Bài báo cáo này trình bày về quá trình thực hiện bài tập lớn 1 môn học Hệ cơ sở dữ liệu. 1 Mở đầu 1.1 Giới thiệu đề tài “Xem xét quản lý ngân hàng câu hỏi và đề thi trắc nghiệm dựa trên chuẩn đầu ra” Dựa trên các chuẩn đầu ra của môn học, hệ thống sẽ phát triển các câu hỏi do các giảng viên phụ trách môn đóng góp. Từ đó ta có thể trích xuất, sử dụng các câu hỏi đó dễ dàng tạo nên các đề thi cho từng học kì nhằm đánh giá sinh viên theo các chuẩn đầu ra đã được định sẵn. Hệ thống cũng có thể ghi nhận lại tỉ lệ về việc hoàn thành chuẩn đầu ra cũng như trả lời đúng các câu hỏi nhằm cải tiến môn học theo hướng phù hợp hơn. 1.2 Người dùng hướng đến Chương trình ứng dụng được phát triển từ đề tài dự kiến dùng bởi: • Giảng viên phụ trách môn học • Giảng viên quản lý môn học • Sinh viên 2 Thực thể mạnh và mối liên kết Hệ thống cơ sở dữ liệu sẽ gồm các thực thể mạnh: • STUDENT: Sinh viên • LECTURER: Giảng viên • ADMINISTRATION_LECTURER: Giảng viên quản lý • MAIN_SUBJECT_LECTURER: Giảng viên phụ trách chính • SUBJECT_LECTURER: Giảng viên phụ trách bộ môn • SUBJECT: Môn học • SEMESTER: Học kì • MAIN_MULTIPLE_CHOICE_TEST: Đề thi trắc nghiệm • RECORDED_ANSWER: Sao lưu câu trả lời • QUESTION_SET: Tập câu hỏi được chọn để làm đề • QUESTION: Câu hỏi • DESCRIPTION: Mô tả chung cho các câu hỏi, trả lời • DESCRIPTION_FILE: File mô tả Bài tập lớn môn Hệ cơ sở dữ liệu (CO2013) - Niên khóa - Trang 2/11 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính 3 Thực thể yếu và mối liên kết Hệ thống cơ sở dữ liệu sẽ gồm các thực thể yếu: • ANSWER: Phần trả lời của câu hỏi • LEARNING_OUTCOME: Chuẩn đầu ra của môn học 4 Thuộc tính và các mô tả về thuộc tính 4.1 STUDENT • StudentID: ID học sinh • Name: Họ và tên học sinh • Last_name: Họ • First_name: Tên và tên lót • Identity_number: Số CMND • Phone_number: Số điện thoại • Major: Chuyên ngành hiện tại • Birthdate: Ngày tháng năm sinh • Entrance_date: Năm vào học • Address: Địa chỉ • Accumulated Credit: Số tín chỉ tích lũy • Gender: Giới tính 4.2 LECTURER • LecturerID: ID giảng viên • Name: Họ và tên giảng viên • Last_name: Họ • First_name: Tên và tên lót • Birthdate: Ngày tháng năm sinh • Identity_number: Số CMND • Major: Chuyên ngành giảng dạy • Address: Địa chỉ • Gender: Giới tính • Diploma: Các bằng cấp chứng chỉ Bài tập lớn môn Hệ cơ sở dữ liệu (CO2013) - Niên khóa - Trang 3/11 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính 4.3 ADMINISTRATION_LECTURER Thừa kế các thuộc tính từ LECTURER 4.4 MAIN_SUBJECT_LECTURER Thừa kế các thuộc tính từ LECTURER 4.5 SUBJECT_LECTURER Thừa kế các thuộc tính từ LECTURER 4.6 SUBJECT • SubjectID: ID môn học • Subject_name: Tên môn học • Credit: Số tín chỉ của môn học • Fee_credit: Số tín chỉ học phí 4.7 SEMESTER • SemesterID: ID học kì • Semester_name: Tên học kì • Start_date: Ngày bắt đầu của học kì • End_date: Ngày kết thúc của học kì • Semester_year: Năm học của học kì 4.8 MAIN_MULTIPLE_CHOICE_TEST • TestID: ID đề thi • Test_Date: Thời gian bài thi • Time: Thời gian của đề • No_of_questions: Số câu hỏi của đề 4.9 RECORDED_ANSWER • RecordID: ID câu trả lời được ghi nhận • Note: Ghi chú của sinh viên cho câu hỏi • Answer: Các câu trả lời của sinh viên cho câu hỏi Bài tập lớn môn Hệ cơ sở dữ liệu (CO2013) - Niên khóa - Trang 4/11 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính 4.10 QUESTION_SET • SetID: ID tập câu hỏi • Note: Ghi chú cho tập câu hỏi 4.11 QUESTION • QuestionID: ID câu hỏi • Version: Phiên bản câu hỏi • Content: Nội dung câu hỏi • Question type: Kiểu của câu hỏi 4.12 DESCRIPTION • DescriptionID: ID mô tả chung • Content: Nội dung mô tả chung • Date_created: Ngày được tạo 4.13 DESCRIPTION_FILE • File_ID: ID file mô tả • Directory: Thư mục file • File_name: Tên thư mục • File_attribute: Thuộc tính của file • Date_created: Ngày file được tạo • File_size: Kích thước file 4.14 ANSWER • AnswerID: ID câu trả lời • Content: Nội dung câu trả lời • Date_created: Ngày tạo đáp án 4.15 LEARNING_OUTCOME • OutcomeID: ID chuẩn đầu ra • Content: Nội dung, giới thiệu chuẩn đầu ra Bài tập lớn môn Hệ cơ sở dữ liệu (CO2013) - Niên khóa - Trang 5/11 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính 5 Xác định các ràng buộc 5.1 Một số ràng buộc về ngữ nghĩa 1. Sinh viên có thể tham gia hoặc không tham gia các môn học. Nhưng nếu có thì đó phải là các môn học đúng với chuyên ngành của mình 2. Giảng viên có thể tham gia giảng dạy nhiều môn nhưng phải đúng với chuyên ngành của mình. 3. Giảng viên phụ trách môn chỉ có thể xây dựng câu hỏi của ngân hàng câu hỏi tương ứng với môn thuộc chuyên ngành của mình.Tương tự, giảng viên quản lý cũng chỉ duyệt, ghi chú vào các đề thi thuộc đúng chuyên ngành, bộ phận quản lý tương ứng. 4. Một đề thi không có ít hơn 10 câu hỏi. Thời gian làm bài không quá 3 giờ. Trong mỗi câu hỏi không có ít hơn 2 lựa chọn và không quá 10 lựa chọn. 5. Sinh viên có thể làm hoặc không làm một số câu trong đề thi. Mỗi câu hỏi có thể chọn một hay nhiều câu trả lời. 6. Thang điểm cho đề thi sẽ là thang điểm 10 và số điểm của từng câu hỏi sẽ được chia đều. 7. Mỗi đề thi sẽ có điểm liệt thường sẽ là nhỏ hơn 3/10 và các câu hỏi bắt buộc phải trả lời 8. Ngày ký xác nhận đề thi <= ngày ký duyệt <= ngày thi + 3 9. Phải có nhiều hơn một đề thi trắc nghiệm tại 1 lần thi. Xáo trộn giữa các đề về vị trí câu hỏi và phần trả lời phải khác nhau ít nhất 50 10. Các câu hỏi trong tập câu khỏi để tạo đề sẽ không được cập nhật cho đến khi thi xong 11. Số chuẩn đầu ra của môn học không được ít hơn 2 và quá 20. 12. Ngày kết thúc học kì phải lớn hơn ngày mở đầu học kì ít nhất là 60 ngày. 6 Mở rộng các yêu cầu dữ liệu 6.1 Giảng viên phụ trách môn học 1. Xem điểm chênh lệch trung bình giữa 2 sinh viên trong 1 lần thi cụ thể 2. Xem điểm sinh viên theo tứ tự tăng giảm dần, xếp theo các kì học, lần thi. 3. Xem các sinh viên có các câu sai đúng giống nhau một cách bất thường. 6.2 Giảng viên quản lý môn học 1. Xem các môn học hiện đang có ngân hàng câu hỏi rộng nhất 2. Xem môn học có số sinh viên đạt điểm theo xếp loại trung bình, khá, giỏi cao nhất 3. Xem các môn học có tỉ lệ sinh viên phúc khảo cao nhất Bài tập lớn môn Hệ cơ sở dữ liệu (CO2013) - Niên khóa - Trang 6/11 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính 6.3 Sinh viên 1. Phúc khảo đối với bài thi mình đã thực hiện. 2. Xem xếp hạng điểm của mình so với các sinh viên khác trong lần thi cụ thể. 3. Sinh viên có thể xin vắng thi và thực hiện thi trở lại ở một lần thi khác với lí do chính đáng. Bài tập lớn môn Hệ cơ sở dữ liệu (CO2013) - Niên khóa - Trang 7/11 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính 7 Lược đồ thực thể - mối liên kết Hình 1: Sơ đồ ERD Bài tập lớn môn Hệ cơ sở dữ liệu (CO2013) - Niên khóa - Trang 8/11 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính 8 Ánh xạ lược đồ Hình 2: Sơ đồ ánh xạ ERD Bài tập lớn môn Hệ cơ sở dữ liệu (CO2013) - Niên khóa - Trang 9/11 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính 9 Triển khai trên DBMS 9.1 Chọn và cài đặt DBMS Nhóm sẽ thực hiện trên nền tảng MySQL. Với phần mềm XAMPP: Apache/2.4.43 (Win64) OpenSSL/1.1.1g PHP/7.4.6 Database client version: libmysql - mysqlnd 7.4.6 phpMyAdmin version: 5.0.2 9.2 Các câu lệnh SQL 10 Chuẩn bị công nghệ phát triển ứng dụng cơ sở dữ liệu Nhóm dự kiến sử dụng các công nghệ để phát triển ứng dụn: • React Native - một framework được tạo bởi Facebook, cho phép developer xây dựng các ứng dụng di động trên cả Android và iOS. • Expo CLI - tiện ích hỗ trợ lập trình React Native triển khai ứng dụng một cách dễ dàng. • Bắt đầu triển khai và sử dụng React Native bằng việc cài đặt nó từ Node package manager (Nodejs) 11 Kết luận Trong báo cáo này chúng tôi đã trình bày tóm lược về việc. Bài tập lớn môn Hệ cơ sở dữ liệu (CO2013) - Niên khóa - Trang 10/11 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính Tài liệu [1-N] Tác giả. Tên tài liệu. Nhà xuất bản Năm xuất bản. https://google.com Bài tập lớn môn Hệ cơ sở dữ liệu (CO2013) - Niên khóa - Trang 11/11