Hỗ trợ đào tạo

DBI202 - Các hệ cơ sở dữ liệu

7Chủ đề
0Câu hỏi

DBI202 - Các hệ cơ sở dữ liệu (Database Systems) là môn học 3 tín chỉ của Đại học FPT, dạy cách tổ chức, bảo trì và truy xuất dữ liệu hiệu quả từ một hệ quản trị cơ sở dữ liệu, theo giáo trình A First Course in Database Systems của Ullman và Widom, thực hành trên Microsoft SQL Server. Nội dung môn học bao quát trọn bộ chương trình theo bảy chuẩn đầu ra CLO1 đến CLO7: tổng quan hệ cơ sở dữ liệu (quá trình tiến hoá của các hệ cơ sở dữ liệu, kiến trúc và thành phần của một hệ quản trị, vai trò của bộ xử lý truy vấn, bộ quản lý lưu trữ và bộ quản lý giao dịch); mô hình quan hệ và đại số quan hệ (tổng quan các mô hình dữ liệu, quan hệ - thuộc tính - lược đồ - bộ - miền giá trị, khoá chính và khoá ngoài, các phép toán chọn, chiếu, tích Descartes, kết nối tự nhiên, kết nối theta, hợp, giao, hiệu, đổi tên và cách ghép chúng thành biểu thức truy vấn); lý thuyết thiết kế và chuẩn hoá (phụ thuộc hàm, các quy tắc suy diễn Armstrong, bao đóng của tập thuộc tính, khoá và siêu khoá, phủ tối thiểu, phép tách lược đồ bảo toàn thông tin và bảo toàn phụ thuộc, các dạng chuẩn 1NF, 2NF, 3NF và BCNF cùng thuật toán chuẩn hoá); mô hình thực thể - liên kết (thực thể và tập thực thể, thuộc tính, liên kết và bậc của liên kết, ràng buộc bản số một - một, một - nhiều và nhiều - nhiều, ràng buộc tham gia toàn bộ và bộ phận, tập thực thể yếu, nguyên tắc thiết kế lược đồ, chuyển sơ đồ E/R sang mô hình quan hệ và chuyển cấu trúc phân lớp con sang quan hệ); ngôn ngữ SQL (nhóm định nghĩa dữ liệu DDL với CREATE, ALTER, DROP, kiểu dữ liệu và ràng buộc PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK, DEFAULT; nhóm thao tác dữ liệu DML với SELECT, INSERT, UPDATE, DELETE, mệnh đề WHERE, ORDER BY, GROUP BY và HAVING, các hàm gộp, các kiểu JOIN gồm INNER, LEFT, RIGHT và FULL OUTER, truy vấn con tương quan và không tương quan, các toán tử IN, EXISTS, ANY, ALL, phép hợp giao hiệu trên tập kết quả); lập trình trong cơ sở dữ liệu (khung nhìn và khung nhìn cập nhật được, biến và cấu trúc điều khiển trong thủ tục, con trỏ để duyệt từng dòng kết quả, thủ tục lưu trữ và hàm do người dùng định nghĩa, trigger cùng các thời điểm kích hoạt và bảng inserted - deleted, giao dịch với COMMIT và ROLLBACK); cùng chỉ mục và tối ưu truy vấn (mục đích của chỉ mục, chỉ mục gom cụm và không gom cụm, cấu trúc B-cây, chi phí đánh đổi giữa tốc độ đọc và chi phí ghi, cách chọn cột để đánh chỉ mục, đọc kế hoạch thực thi và nhận biết quét toàn bảng, các nguyên tắc viết truy vấn để tận dụng được chỉ mục). Môn học có 3 bài lab, 2 progress test, một assignment và một bài thi thực hành 85 phút.

Chủ đề học tập

Các hệ cơ sở dữ liệu

DBI202 - Chỉ mục và tối ưu truy vấn

Ứng với CLO7. ⚠ Cũng như chủ đề trên, phạm vi suy từ mô tả chuẩn đầu ra vì bảng buổi bị cắt, nên chưa gắn số chương. Phần chỉ mục giải thích vì sao một truy vấn trên bảng lớn lại chậm khi phải quét toàn bảng, và chỉ mục giải quyết điều đó bằng cách nào; phân biệt chỉ mục gom cụm quyết định thứ tự vật lý của dữ liệu với chỉ mục không gom cụm chỉ là cấu trúc trỏ tới dòng; cấu trúc B-cây làm nền cho hầu hết chỉ mục và lý do nó cho phép tìm kiếm theo thời gian lôgarit. Phần đánh đổi nhấn mạnh chỉ mục làm truy vấn đọc nhanh hơn nhưng làm chậm thêm - sửa - xoá và tốn thêm dung lượng, nên không phải cứ đánh nhiều chỉ mục là tốt; kèm tiêu chí chọn cột để đánh chỉ mục. Phần tối ưu truy vấn hướng dẫn đọc kế hoạch thực thi, nhận biết dấu hiệu quét toàn bảng, và các nguyên tắc viết truy vấn để bộ tối ưu tận dụng được chỉ mục.

0Bộ đềbộ đề
0+Câu hỏicâu hỏi
đăng ngày
Các hệ cơ sở dữ liệu

DBI202 - Khung nhìn, thủ tục, hàm, con trỏ và trigger

Ứng với CLO6. ⚠ Bảng phân bổ buổi mà tôi nhận được bị cắt ở buổi 27 nên phạm vi phần này suy từ mô tả chuẩn đầu ra chứ không từ bảng buổi; vì vậy chủ đề chưa gắn số chương. Phần khung nhìn trình bày view là truy vấn được đặt tên và lưu lại, lợi ích về tái sử dụng, đơn giản hoá truy vấn phức tạp và kiểm soát quyền truy cập, cùng điều kiện để một khung nhìn cập nhật được. Phần lập trình trong cơ sở dữ liệu gồm biến, cấu trúc rẽ nhánh và vòng lặp trong khối lệnh; con trỏ để duyệt từng dòng của tập kết quả cùng chu trình khai báo - mở - lấy dòng - đóng - giải phóng và lý do nên hạn chế dùng con trỏ. Phần thủ tục lưu trữ và hàm do người dùng định nghĩa so sánh hai loại về tham số, giá trị trả về và nơi được phép gọi. Phần trigger trình bày các thời điểm kích hoạt, hai bảng trung gian chứa dòng mới và dòng cũ, cùng cảnh báo về trigger lồng nhau. Kèm giao dịch với xác nhận và huỷ bỏ.

0Bộ đềbộ đề
0+Câu hỏicâu hỏi
đăng ngày
Các hệ cơ sở dữ liệu

DBI202 Chương 1 - Tổng quan về hệ cơ sở dữ liệu

Ứng với CLO1, buổi 1-2. Tương ứng Chương 1 của Ullman và Widom ấn bản 3. Phần tiến hoá điểm lại chặng đường của các hệ cơ sở dữ liệu: từ hệ tệp phẳng với các nhược điểm dư thừa dữ liệu, mâu thuẫn dữ liệu và phụ thuộc chương trình vào cấu trúc tệp, qua mô hình phân cấp và mô hình mạng, tới mô hình quan hệ chiếm ưu thế và các hướng hiện đại. Phần tổng quan hệ quản trị trình bày một hệ quản trị cơ sở dữ liệu gồm những thành phần nào và mỗi thành phần làm gì: bộ xử lý truy vấn nhận câu truy vấn và sinh kế hoạch thực thi, bộ quản lý lưu trữ chịu trách nhiệm đọc ghi dữ liệu trên đĩa cùng bộ đệm, bộ quản lý giao dịch bảo đảm tính nhất quán khi nhiều người dùng thao tác đồng thời và bảo đảm khôi phục được sau sự cố. Phần cuối phác thảo bức tranh tổng thể những chủ đề mà toàn môn sẽ đi qua.

0Bộ đềbộ đề
0+Câu hỏicâu hỏi
đăng ngày
Các hệ cơ sở dữ liệu

DBI202 Chương 2 - Mô hình quan hệ và đại số quan hệ

Ứng với CLO2, buổi 3-8. Tương ứng Chương 2 của Ullman và Widom ấn bản 3. Phần mô hình dữ liệu giới thiệu khái niệm mô hình dữ liệu nói chung rồi tập trung vào mô hình quan hệ với bộ thuật ngữ nền tảng: quan hệ tức bảng, thuộc tính tức cột, bộ tức dòng, lược đồ quan hệ, miền giá trị của thuộc tính, cùng khoá chính, khoá dự tuyển và khoá ngoài. Phần đại số quan hệ là trọng tâm và cũng là nền cho toàn bộ phần SQL về sau: các phép toán một ngôi gồm chọn để lọc dòng, chiếu để lấy cột và đổi tên; các phép toán hai ngôi gồm tích Descartes, kết nối tự nhiên, kết nối theta cùng các phép toán tập hợp hợp, giao và hiệu với điều kiện khả hợp. Phần bài tập tập trung vào việc ghép nhiều phép toán thành một biểu thức truy vấn hoàn chỉnh và đọc ngược một biểu thức để hiểu nó trả về gì.

0Bộ đềbộ đề
0+Câu hỏicâu hỏi
đăng ngày
Các hệ cơ sở dữ liệu

DBI202 Chương 3 - Lý thuyết thiết kế và chuẩn hoá

Ứng với CLO3, buổi 9-18. Tương ứng Chương 3 của Ullman và Widom ấn bản 3. Phần phụ thuộc hàm định nghĩa khái niệm một tập thuộc tính xác định tập thuộc tính khác, cách phát hiện phụ thuộc hàm từ ngữ nghĩa nghiệp vụ, và các quy tắc suy diễn Armstrong gồm phản xạ, tăng trưởng và bắc cầu cùng các quy tắc dẫn xuất. Phần công cụ tính toán gồm bao đóng của một tập thuộc tính, cách dùng bao đóng để tìm khoá và siêu khoá, cùng phủ tối thiểu. Phần thiết kế lược đồ trình bày các bất thường khi cập nhật, thêm và xoá do lược đồ kém, rồi tới phép tách lược đồ với hai yêu cầu bảo toàn thông tin khi kết nối lại và bảo toàn tập phụ thuộc hàm. Phần dạng chuẩn đi lần lượt qua 1NF loại bỏ thuộc tính đa trị, 2NF loại bỏ phụ thuộc bộ phận vào khoá, 3NF loại bỏ phụ thuộc bắc cầu và BCNF chặt hơn 3NF, kèm thuật toán chuẩn hoá.

0Bộ đềbộ đề
0+Câu hỏicâu hỏi
đăng ngày
Các hệ cơ sở dữ liệu

DBI202 Chương 4 - Mô hình thực thể - liên kết (E/R)

Ứng với CLO4, buổi 19-26. Tương ứng Chương 4 của Ullman và Widom ấn bản 3. Phần mô hình E/R giới thiệu công cụ mô hình hoá ở mức khái niệm, độc lập với hệ quản trị cụ thể: thực thể và tập thực thể, thuộc tính đơn - phức hợp - đa trị - dẫn xuất, liên kết và bậc của liên kết, cùng cách vẽ sơ đồ E/R. Phần ràng buộc trình bày ràng buộc bản số với ba dạng một - một, một - nhiều và nhiều - nhiều, ràng buộc tham gia toàn bộ hay bộ phận, và ràng buộc khoá. Phần nguyên tắc thiết kế nêu các tiêu chí chọn giữa thực thể và thuộc tính, tránh dư thừa và giữ sơ đồ đơn giản. Phần tập thực thể yếu trình bày trường hợp một thực thể không tự định danh được mà phải dựa vào thực thể chủ. Trọng tâm ứng dụng là quy tắc chuyển sơ đồ E/R sang tập lược đồ quan hệ, kể cả trường hợp có phân lớp con.

0Bộ đềbộ đề
0+Câu hỏicâu hỏi
đăng ngày
Các hệ cơ sở dữ liệu

DBI202 Chương 6 - Ngôn ngữ SQL: DDL và DML

Ứng với CLO5, từ buổi 27. Tương ứng Chương 6 của Ullman và Widom ấn bản 3, thực hành trên Microsoft SQL Server. Nhóm định nghĩa dữ liệu DDL gồm tạo, sửa và xoá bảng, các kiểu dữ liệu thông dụng, và khai báo ràng buộc toàn vẹn gồm khoá chính, khoá ngoài cùng hành vi khi xoá hoặc cập nhật bản ghi cha, ràng buộc duy nhất, không rỗng, kiểm tra giá trị và giá trị mặc định. Nhóm thao tác dữ liệu DML gồm câu lệnh truy vấn với mệnh đề chọn cột, lọc dòng, sắp xếp, gom nhóm và lọc sau gom nhóm, các hàm gộp đếm - tổng - trung bình - lớn nhất - nhỏ nhất; các kiểu kết nối trong, kết nối trái, kết nối phải và kết nối đầy đủ; truy vấn con tương quan và không tương quan cùng các toán tử thuộc tập, tồn tại, bất kỳ và tất cả; các phép toán trên tập kết quả; và ba câu lệnh thêm, sửa, xoá dữ liệu.

0Bộ đềbộ đề
0+Câu hỏicâu hỏi
đăng ngày