Chúng tơi sử dụng khóa học "Thiết kế cơ sở dữ liệu quan hệ" cho đối tượng sinh viên thuộc ngành công nghệ thông tin để minh họa cho các vấn đề nghiên cứu lý thuyết và mơ hình. Chủ đề này được chọn lựa trong số rất nhiều nội dung môn học bởi một số lý do sau đây:
- Trong lĩnh vực nghiên cứu về học thích nghi, hiện chưa xây dựng nội dung khóa học chuẩn để làm dữ liệu thử nghiệm cho các nghiên cứu. Hiện nay, các nghiên cứu đều lựa chọn nội dung để minh họa dựa trên một số cơ sở khác nhau.
- Cơ sở dữ liệu là môn học bắt buộc thuộc khối kiến thức cơ sở của ngành vì vậy có đối tượng phục vụ đơng đảo.
- Theo quan điểm của chúng tơi, mơn học đã hình thành qui trình phân tích thiết kế cho một lớp các bài tốn quản lý. Vì thế, thuận lợi trong việc xây dựng minh họa cho các nhiệm vụ học tập (là một trong những mục tiêu nghiên cứu của chúng tôi) so với các khóa học ngơn ngữ lập trình (C/C++, Java,...) đã được chọn làm ví dụ minh họa trong một số hệ thống [2, 40] do với mỗi bài tốn cần giải, cần có các giải pháp khác nhau.
Tham gia vào khóa học, người học có nhiệm vụ thiết kế cơ sở dữ liệu từ bản tài liệu phân tích đặc tả yêu cầu một bài tốn cụ thể trong thực tế. Để có thể thiết kế cơ sở dữ liệu từ tài liệu phân tích, người học cần thực hiện các cơng việc chính:
- Thiết kế lược đồ quan hệ thực thể - Xây dựng các bảng cơ dữ liệu - Chuẩn hóa dữ liệu
- Xây dựng các truy vấn dữ liệu
Nội dung khóa học cung cấp cho người học các kiến thức liên quan đến cơ sở dữ liệu (ví dụ: thực thể, quan hệ, ràng buộc, phụ thuộc hàm, bảng, bản ghi, khóa, truy vấn v. . .v) và các công việc cần thực hiện để hồn thành các cơng việc chính nêu trên. Khi hồn thành khóa học, người học biết cách thiết kế cơ sở dữ liệu cho một bài toán quản lý trong thực tế. Khóa học giúp người học hiểu các khác niệm liên quan và các bước để thiết kế cơ sở dữ liệu. Trong q trình tham gia khóa học, nội dung cũng như tiến trình của khóa học phụ thuộc vào từng chủ thể người học. Do vậy, mỗi người học tham gia vào khóa học sẽ có tiến trình học và nội dung học khác nhau.
Trên phương diện mơ hình, nội dung khóa học khơng bị giới hạn. Nội dung khóa học phụ thuộc vào mục tiêu khóa học, và quan điểm của người thiết kế nội dung học. Nội dung khóa học trình bày ở đây chỉ nhằm minh họa cho các nghiên cứu, khơng phải là nội dung hồn chỉnh của khóa học. Căn cứ nội dung được giới thiệu trong tài liệu "Modern Systems Analysis and Design" [50, 51], chúng tôi xây dựng nội dung cho khóa học minh họa gồm 34 nhiệm vụ và 24 khái niệm được liệt kê trong Bảng 4.1, 4.2 tương ứng. Theo quan điểm chúng tôi, với số lượng các khái niệm và nhiệm vụ như vậy, đủ cho người học hồn thành được mục tiêu khóa học đặt ra và minh họa cho các nghiên cứu của mình. 4.3.1 Tập khái niệm, nhiệm vụ học tập
Bảng 4.1: Tập khái niệm của môn học Thiết kế cơ sở dữ liệu quan hệ
STT Khái niệm STT Khái niệm
1 Thực thể 13 Bảng
2 Thuộc tính 14 Bản ghi
3 Giá trị 15 Trường dữ liệu
4 Miền giá trị 16 Kiểu dữ liệu
5 Phụ thuộc hàm 17 Ràng buộc tồn vẹn
6 Khóa 18 Ràng buộc mức trường
7 Khóa chính 19 Dạng chuẩn
8 Khóa ngoại 20 Dạng chuẩn 1
9 Quan hệ 21 Dạng chuẩn 2
10 Quan hệ 1-1 22 Dạng chuẩn 3
11 Quan hệ 1-n 23 Ngôn ngữ SQL
Bảng 4.2: Tập các nhiệm vụ của môn học Thiết kế cơ sở dữ liệu quan hệ
STT Nhiệm vụ STT Nhiệm vụ
1 Thiết kế các lược đồ quan hệ 18 Chuyển đổi các thuộc tính thành trường
2 Xác định các thực thể E-R 19 Xác định khóa
3 Liệt kê các danh từ 20 Bẻ gãy quan hệ nhiều nhiều 4 Xác định danh từ chung 21 Xác định các ràng buộc 5 Định nghĩa các thuộc tính của thực
thể 22 Xác định các ràng buộc mức bảng
6 Liệt kê các danh từ chỉ số đếm, tính
chất 23 Xác định các ràng buộc mức trường
7 Xác các thuộc tính đơn 24 Chuẩn hóa dữ liệu 8 Kiểm tra thuộc tính có trả lời được
câu hỏi của bài tốn hay khơng? 25 Tách các thuộc lặp 9 Xác định miền giá trị 26 Tạo bảng mới
10 Xác định thuộc khóa 27 Xác định khóa của bảng 11 Xác định mối quan hệ giữa các thực
thể 28 Xác định thuộc tính khơng phảikhóa phụ thuộc một phần vào khóa 12 Liệt kê các động từ mơ tả quan hệ
giữa các thể 29 Tách các thuộc tính phụ thuộc vàokhóa 13 Mô tả ngắn gọn mối quan hệ giữa
các thể 30 Xác định thuộc tính khơng phảikhóa phụ thuộc một phần thuộc tính khơng phải khóa
14 Đánh dấu các số đếm biểu thị số
lượng trong các mối quan hệ 31 Tách các thuộc tính phụ thuộc tạobảng mới 15 Xác định các quan hệ có tính chất
khơng bắt buộc 32 Xây dựng các câu truy vấn tạo bảng 16 Chuyển đổi mơ hình E-R sang bảng
dữ liệu 33 Xây dựng các câu truy vấn cập nhậtdữ liệu 17 Chuyển đổi thực thể thành bảng 34 Xây dựng các câu truy vấn trích rút
thơng tin
4.3.2 Quan hệ giữa cái khái niệm, nhiệm vụ của môn học thử nghiệmQuan hệ giữa các khái niệm và nhiệm vụ của môn học "Thiết kế cơ sở dữ liệu quan hệ" Quan hệ giữa các khái niệm và nhiệm vụ của môn học "Thiết kế cơ sở dữ liệu quan hệ" thể hiện thông qua quan hệ tiên quyết giữa các khái niệm, nhiệm vụ và quan hệ phụ thuộc giữa các khái niệm và nhiệm vụ. Hình 4.3 mơ tả quan hệ tiên quyết giữa các khái niệm của môn học thử nghiệm (Chiều mũi tên mơ tả khái niệm tiên quyết, ví dụ: Thực thể là khái niệm tiên quyết của khái niệmBảng). Hình 4.4 mơ tả quan hệ giữa các nhiệm vụ (Mũi tên có hướng mơ tả các nhiệm vụ tuần tự, các nhiệm vụ có thể thực hiện song song được biểu diễn bằng ký hiệu nối giữa hai mũi tên).
Bảng 4.3: Quan hệ giữa nhiệm vụ và khái niệm
Nhiệm vụ Khái niệm
Xác định các thực thể Khái niệm thực thể Định nghĩa các thuộc tính của thực thể Thuộc tínhGiá trị
Miền giá trị Xác định thuộc tính khóa Phụ thuộc hàm Khóa Khóa chính Khóa ngoại Xác định quan hệ giữa các thực thể Quan hệ Quan hệ một - một Quan hệ một - nhiều Quan hệ nhiều - nhiều Định nghĩa các bảng Bảng Bản ghi Trường dữ liệu Giá trị Miền giá trị
Xác định các ràng buộc Ràng buộc toàn vẹnRàng buộc phạm vi bảng Ràng buộc phạm vi trường Chuẩn hóa dữ liệu
Dạng chuẩn Dạng chuẩn 1 Dạng chuẩn 2 Dạng chuẩn 3 Xây dựng câu truy vấn
Ngôn ngữ SQL Truy vấn tạo bảng
Truy vấn cập nhật dữ liệu Truy vấn trích rút thơng tin