Giáo trình môn Cơ sở dữ liệu nâng cao | Ngành Hệ thống thông tin (HOTEC)

Giáo trình Cơ sở dữ liệu nâng cao cung cấp kiến thức về tối ưu hóa truy vấn, quản trị người dùng và hệ CSDL phân tán cho ngành Hệ thống thông tin.

Chuyên ngành

Hệ Thống Thông Tin

Người đăng

Ẩn danh

Thể loại

Giáo trình

2020

77
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới Thiệu Về Giáo Trình Cơ Sở Dữ Liệu Nâng Cao

Giáo trình Cơ Sở Dữ Liệu Nâng Cao được biên soạn theo chương trình khung ngành Hệ Thống Thông Tin do Bộ Lao động Thương binh và Xã hội ban hành. Đây là môn học chuyên ngành bắt buộc dành cho sinh viên Cao đẳng, được dạy sau khi hoàn thành môn Hệ Quản Trị Cơ Sở Dữ Liệu. Giáo trình được biên soạn bởi Nguyễn Thị Kim Nga, Cử nhân Khoa Công Nghệ Thông Tin, dưới sự chỉ đạo của Trường Cao Đẳng Kinh Tế Kỹ Thuật Thành Phố Hồ Chí Minh. Nội dung kết hợp lý thuyết và thực hành, tham khảo nhiều tài liệu trong và ngoài nước, nhằm chuẩn bị nguồn nhân lực kỹ thuật đáp ứng nhu cầu phát triển công nghệ thông tin hiện đại.

1.1. Mục Tiêu Học Tập Và Kết Quả Mong Đợi

Mục tiêu chính là giúp sinh viên nắm vững các khái niệm cơ sở dữ liệu, tối ưu hóa truy vấn, và quản trị người dùng. Sinh viên sẽ có khả năng thiết kế sơ đồ cơ sở dữ liệu, xây dựng truy vấn hiệu quả, và áp dụng các phương pháp quản lý dữ liệu nâng cao. Kết quả mong đợi là sinh viên trở thành chuyên gia có năng lực tự chủ trong xây dựng hệ thống thông tin.

1.2. Tính Chất Và Vị Trí Của Môn Học

Cơ Sở Dữ Liệu Nâng Cao là môn học lý thuyết bắt buộc, bố trí vào học kỳ 4 sau khi học sinh đã hoàn thành kiến thức về hệ quản trị cơ sở dữ liệu cơ bản. Môn học đóng vai trò quan trọng trong chuẩn bị chuyên môn, giúp sinh viên nâng cao khả năng phân tích và giải quyết các vấn đề phức tạp trong quản lý dữ liệu.

II. Các Nội Dung Chính Của Giáo Trình

Giáo trình được chia thành bốn chương chính, mỗi chương đều cung cấp kiến thức sâu sắc và kỹ năng thực hành cần thiết. Chương 1: Mở Đầu giới thiệu các khái niệm cơ bản và phân loại cơ sở dữ liệu. Chương 2: Tối Ưu Hóa Truy Vấn hướng dẫn về quá trình thực hiện và tối ưu hóa các câu truy vấn phức tạp. Chương 3: Quản Trị Người Dùng đề cập đến cách tạo tài khoản, phân quyền và quản lý người sử dụng. Chương 4: Hệ Cơ Sở Dữ Liệu Phân Tán trình bày kiến trúc, thiết kế và các phương pháp phân mảnh dữ liệu trong môi trường phân tán.

2.1. Chương 1 Mở Đầu Và Khái Niệm Cơ Bản

Chương này cung cấp nền tảng về khái niệm cơ sở dữ liệu, phân loại cơ sở dữ liệu, và mô hình hóa dữ liệu. Sinh viên sẽ hiểu rõ về hệ quản trị cơ sở dữ liệu (DBMS) và các công dụng của nó trong thực tế.

2.2. Chương 2 Đến 4 Các Kỹ Năng Chuyên Sâu

Các chương tiếp theo tập trung vào tối ưu hóa truy vấn, quản trị quyền hạn người dùng, và kiến trúc cơ sở dữ liệu phân tán. Nội dung bao gồm cây đại số quan hệ, thuật toán tối ưu, quản lý role, phân mảnh dữ liệu, và nhân bản dữ liệu.

III. Phương Pháp Học Tập Và Yêu Cầu Đối Với Sinh Viên

Để học tập hiệu quả môn Cơ Sở Dữ Liệu Nâng Cao, sinh viên cần có nền tảng kiến thức vững chắc về cơ sở dữ liệu cơ bản và hệ quản trị cơ sở dữ liệu. Phương pháp học tập kết hợp giữa lý thuyết và thực hành trên các hệ thống cơ sở dữ liệu thực tế. Sinh viên cần rèn luyện kỹ năng phân tích, thiết kế sơ đồ dữ liệu, và viết các truy vấn tối ưu. Ngoài ra, việc tự học, tư duy sáng tạo, và khả năng áp dụng kiến thức vào các bài toán thực tiễn là những yêu cầu quan trọng để đạt được mục tiêu học tập.

3.1. Kỹ Năng Cần Phát Triển

Sinh viên cần phát triển kỹ năng mô hình hóa cơ sở dữ liệu, tối ưu hóa truy vấn quan hệ, quản lý tài khoản người dùng, và thiết kế hệ thống phân tán. Ngoài ra, khả năng viết code SQL, hiểu kiến trúc client/server, và áp dụng các phương pháp phân mảnh dữ liệu cũng rất quan trọng.

3.2. Năng Lực Tự Chủ Và Trách Nhiệm

Giáo trình nhấn mạnh sự phát triển năng lực tự chủý thức trách nhiệm của sinh viên. Sinh viên cần hiểu được tầm quan trọng của việc xây dựng cơ sở dữ liệu trong phát triển hệ thống thông tin hiện đại và có khả năng tiếp tục học tập nâng cao trình độ chuyên môn.

IV. Ứng Dụng Thực Tế Và Tầm Quan Trọng Của Môn Học

Môn học Cơ Sở Dữ Liệu Nâng Cao có tầm quan trọng lớn trong đào tạo các chuyên gia hệ thống thông tin. Kiến thức về tối ưu hóa truy vấn giúp xây dựng các ứng dụng hiệu năng cao. Kỹ năng quản trị người dùng đảm bảo an toàn và bảo mật dữ liệu. Hiểu biết về cơ sở dữ liệu phân tán là nền tảng cho các hệ thống quy mô lớn, phục vụ nhiều địa điểm địa lý khác nhau. Những kiến thức này trực tiếp áp dụng trong các công ty công nghệ thông tin, các cơ sở quản lý dữ liệu lớn, và các dự án phát triển hệ thống thông tin nâng cao.

4.1. Ứng Dụng Trong Ngành Công Nghệ Thông Tin

Tối ưu hóa truy vấn được sử dụng rộng rãi trong các ứng dụng e-commerce, hệ thống quản lý doanh nghiệp (ERP). Quản trị người dùng là bắt buộc trong mọi hệ thống dữ liệu để đảm bảo an toàn. Cơ sở dữ liệu phân tán hỗ trợ các công ty lớn quản lý dữ liệu trên nhiều máy chủ.

4.2. Cơ Hội Phát Triển Sự Nghiệp

Sinh viên hoàn thành môn học này sẽ có năng lực cạnh tranh cao trong thị trường lao động. Họ có thể làm việc trong các vị trí DBA (Database Administrator), Database Designer, hoặc Systems Analyst. Những kỹ năng này mở ra nhiều cơ hội phát triển sự nghiệp dài hạn trong lĩnh vực công nghệ thông tin.

21/12/2025

Trích đoạn nội dung tài liệu

Mở đầu CÂU HỎI LÝ THUYẾT Câu hỏi 1: Cơ sở dữ liệu là gì? Một hệ cơ sở dữ liệu gồm những thành phần gì? Câu hỏi 2: Mô hình hóa dữ liệu là gì? Cho ví dụ một mô hình của cơ sở dữ liệu? Câu hỏi 3: Trình bày tiêu chuẩn hóa hệ quản trị cơ sở dữ liệu bằng tiếp cận dựa vào các thành phần KHOA CÔNG NGHỆ THÔNG TIN 8 Chương 2: Tối ưu hóa truy vấn CHƯƠNG 2: TỐI ƯU HÓA TRUY VẤN Giới thiệu: Trong Chương 2 sẽ trình bày được các phương pháp tối ưu hóa truy vấn. Sinh viên biết cách tối ưu hóa truy vấn trong hệ quản trị cơ sở dữ liệu Mục tiêu: Trình bày được các phương pháp tối ưu hóa truy vấn Tối ưu hóa truy vấn trong hệ quản trị cơ sở dữ liệu Nội dung chính: 2.1 Truy vấn Truy vấn (query) là một biểu thức được biểu diễn bằng một ngôn ngữ thích hợp và dùng để xác định một phần dữ liệu được chứa trong cơ sở dữ liệu. Một truy vấn có thể được dùng để xác định ngữ nghĩa của một ứng dụng, hoặc nó có thể được dùng để xác định công việc can được thực hiện bởi một ứng dụng nhằm để truy xuất cơ sở dữ liệu.2 Tối ưu hóa truy vấn Tối ưu hóa truy vấn còn được gọi là tối ưu hóa vấn tin là tiến trình lựa chọn kế họach thực thi câu vấn tin một cách hiệu quả nhất. Tối ưu hóa truy vấn giúp tốn ít tài nguyên nhất và hồi đáp nhanh nhất.2 Quá trình thực hiện một câu truy vấn Quá trình thực hiện một câu truy vấn/ vấn tin gồm 5 bước: - Bước 1: Kiểm tra ngữ pháp (syntax checking) Trong bước này, hệ quản trị cơ sở dữ liệu (database management system) viết tắt là DBMS sẽ kiểm tra ngữ pháp của truy vấn ban đầu (SQL query).

Nếu truy vấn bị sai ngữ pháp thì DBMS sẽ thông báo truy vấn bị sai ngữ pháp và truy vấn này sẽ không được thực hiện. Nếu truy vấn đúng ngữ pháp (syntactically correct SQL query) thì DBMS sẽ tiếp tục thực hiện bước 2. - Bước 2: Kiểm tra sự hợp lệ (validation) Trong bước này, DBMS sẽ thực hiện các công việc: + Kiểm tra sự tồn tại của các đối tượng dữ liệu (các cột, các biến, các bảng, …) của truy vấn trong cơ sở dữ liệu. + Kiểm tra sự hợp lệ về kiểu dữ liệu của các đối tượng dữ liệu (các cột, các biến, vv…) trong truy vấn.

KHOA CÔNG NGHỆ THÔNG TIN 9 Chương 2: Tối ưu hóa truy vấn - Bước 3: Đưa về dạng biểu diễn trong đại số quan hệ Truy vấn ban đầu được biến đổi thành một biểu thức đại số quan hệ hay còn gọi là truy vấn đại số quan hệ (relational algebra query) - Bước 4: Tối ưu hóa biểu thức đại số quan hệ (relational algebra optimization) Trong bước này DBMS sử dụng các phép biến đổi tương đương của đại số quan hệ để biến đổi biểu thức đại số quan hệ có được ở bước 3 thành một biểu thức đại số quan hệ tương đương (theo nghĩa chúng có cùng một kết quả) nhưng biểu thức sau sẽ hiệu quả hơn: loại bỏ các phép toán không cần thiết và giảm vùng nhớ trung gian. Cuối bước này, DBMS tạo ra một truy vấn đại số quan hệ đã được tối ưu hoá (optimized relational algebra query). - Bước 5: Sinh mã (code genesite) Viết ra ngôn ngữ chủ của hệ quản trị cơ sở dữ liệu Ví dụ: Thuật toán cài đặt 3 hàm gồm: Hàm Projection (x, q, r) -> trả phép chiếu Hàm Selection (e, q, k) -> trả phép chọn Hàm Join (s, r, t) -> trả phép nối 2.3 Cây đại số quan hệ 2.1 Đại số quan hệ là gì? Đại số quan hệ (relational algebra) là một bộ các toán tử và quy tắc được sử dụng để thao tác trên các quan hệ và kết quả trả về là một quan hệ mới. Sau khi Edgar F.

Codd đưa ra mô hình dữ liệu quan hệ vào năm 1970, đại số quan hệ được xem là nền tảng cho các ngôn ngữ truy vấn dữ liệu nói chung và SQL nói riêng. SQL cung cấp cú pháp đơn giản nhưng mạnh mẽ, giúp người dùng có được các kết quả mong muốn mà không cần nêu rõ cách thức để đạt được điều đó như thế nào. Tuy nhiên, với những vấn đề và yêu cầu mang tính phức tạp, việc viết một câu truy vấn chính xác và hiệu quả đòi hỏi phải có hiểu biết về cấu trúc dữ liệu và cách thức hoạt động của ngôn ngữ truy vấn. Vì vậy nắm vững các kiến thức về đại số quan hệ sẽ là nền tảng để việc tìm hiểu về SQL trở nên dễ dàng hơn.

Các phép toán trong đại số quan hệ có thể được chia thành ba loại: Phép toán tập hợp, phép chọn và các phép toán mở rộng.1 Phép toán tập hợp Bao gồm: Phép hội (set union), phép giao (set intersection), phép hiệu (set defference) và phép tích (castesian product) - Phép hội (set union) KHOA CÔNG NGHỆ THÔNG TIN 10 Chương 2: Tối ưu hóa truy vấn Hội hai quan hệ sẽ được một quan hệ mới có các bộ chỉ thuộc một quan hệ. Các bộ trùng nhau sẽ bị loại đi. Phép hội được biểu diễn qua biểu thức sau: R ∪ S = { t │t € R ∨ t € S } Với R và S là 2 quan hệ khả hợp - Phép giao (set intersection) Một quan hệ mới chỉ bao gồm các bộ đồng thời thuộc hai qua hệ ban đầu. Phép giao được biểu diễn qua biểu thức sau: R ∩ S = { t │t € R ∧ t € S } Với R và S là 2 quan hệ khả giao - Phép hiệu (set defference) Phép hiệu trong đại số quan hệ có nét tương đồng với phép hiệu đại số thông thường.

Phép hiệu của R và S sẽ cho kết quả là một quan hệ bao gồm các bộ chỉ thuộc R mà không thuộc S nghĩa là quan hệ kết quả chỉ có một bộ duy nhất. R - S = { t │t € R ∧ t ∉ S } Với R và S là 2 quan hệ khả hiệu - Phép tích (castesian product) Một quan hệ mới có số bộ bằng tích số giữa số bộ. Đây là điều khác biệt giữa phép tích và các phép hội, phép giao và phép hiệu. Phép tích sẽ làm phát sinh tổ hợp cả về “hai chiều”, điều đó làm nảy sinh trường hợp tồn tại những bộ trong quan hệ kết quả không mang nhiều ý nghĩa.

Do đó phép tích thường đi kèm với một điều kiện nào đó để loại trừ đi những kết quả không mong muốn.2 Phép chọn/cắt ngang (select) Phép chọn được sử dụng để chọn một tập hợp các bộ thoả mãn điều kiện chọn từ một quan hệ. Ta có thể xem phép chọn như một bộ lọc, nó chỉ giữ lại các bộ thoả mãn điều kiện đặt ra. Phép chọn được ký hiệu là: σ< điều kiện chọn>( R). Trong đó: + σ: là ký hiêu phép chọn + <Điều kiện chọn>: là một biểu thức lôgic được chỉ ra trên các thuộc tính của R.

Một điều kiện chọn có dạng: <tên thuộc tính> <phép so sánh> <giá trị hằng>. Trong đó:  <tên thuộc tính>: là tên của một thuộc tính trong R KHOA CÔNG NGHỆ THÔNG TIN 11 Chương 2: Tối ưu hóa truy vấn  <phép so sánh>: là một trong các phép toán so sánh {<, <=, =, >=, >, ≠}  <giá trị hằng>: là một giá trị hằng từ miền giá trị của thuộc tính. Các hạng mục có thể được nối với nhau bằng các phép toán lô gic AND, OR, NOT để tạo ra một điều kiện chọn chung + R: là một biểu thức đại số quan hệ. Kết quả của một biểu thức đại số quan hệ là một quan hệ.

Quan hệ kết quả của phép chọn có cùng thuộc tính như R. Ví dụ: Chọn các bộ NHÂNVIÊN thuộc về đơn vị có mã số là 4 hoặc các bộ NHÂNVIÊN có lương lớn hơn 3000 ta viết như sau: σ< Mãsố = 4>( NHÂNVIÊN) σ< Lương > 3000>( NHÂNVIÊN) Phép chọn là phép toán một ngôi, nghĩa là nó được áp dụng cho một quan hệ. Hơn nữa, phép chọn được áp dụng cho từng bộ một cách độc lập, vì vậy, các điều kiện chọn không thể liên quan đến nhiều bộ. Quan hệ kết quả của phép chọn có cấp giống như cấp của R.

Số các bộ trong quan hệ kết quả luôn luôn nhỏ hơn hoặc bằng số các bộ trong R. Phép chọn là một phép toán có tính chất giao hoán, nghĩa là: σ < Điều kiện 1> (σ< Điều kiện 2>( R)) = σ< Điều kiện 2> (σ< Điều kiện 1>( R)) Hơn nữa ta có thể kết hợp một loạt các phép chọn thành một phép chọn đơn giản bằng cách sử dụng phép toán AND. Ví dụ: σ< Điều kiện 1> (σ< Điều kiện 2>( R)) = σ< Điều kiện 2>AND< Điều kiện 1>( R) 2.3 Phép chiếu/cắt dọc (project) Phép chiếu là phép toán chọn một số cột của bảng. Phép chiếu dùng để chiếu lên các thuộc tính đó.

Phép chiếu được ký hiệu là: π<danh sách các thuộc tính>( R). Trong đó: + π: là ký hiệu dùng để biểu diễn phép chiếu + <danh sách các thuộc tính>: là một danh sách con các thuộc tính của quan hệ R. + R: là một biểu thức đại số quan hệ. Kết quả của phép chiếu là một quan hệ chỉ có các thuộc tính nằm trong <danh sách các thuộc tính> và có cùng thứ tự như thứ tự của chúng có trong danh sách.

Phép KHOA CÔNG NGHỆ THÔNG TIN 12 Chương 2: Tối ưu hóa truy vấn chiếu loại bỏ mọi bộ trùng lặp, kết quả của phép chiếu là một tập hợp các bộ và là một quan hệ đúng đắn. Phép chiếu không có tính giao hoán, nghĩa là: π< danh sách1>(π< danh sách2> ( R)) = π< danh sách 1> ( R) Ví dụ: Chiếu kết quả là một quan hệ NHÂNVIÊN có các thuộc tính MãsốNV, Họđệm, Tên, địa chỉ, Lương ta viết như sau: π < MãsốNV, Họđệm,Tên, địa chỉ,Lương>(NHÂNVIÊN) 2.4 Phép nối (join) Phép nối được dùng để kết hợp các bộ có liên hệ với nhau từ hai quan hệ thành một bộ. Phép toán này rất quan trọng đối với cơ sở dữ liệu quan hệ có nhiều bảng bởi vì nó cho phép ta xử lý các mối liên kết giữa các quan hệ. Dạng tổng quát của phép nối trên hai quan hệ R (A1, A2,…,An) và S (B1,B2,…, Bm) Phép nối được ký hiệu là: ⋈ (R)< Điều kiện nối> (S).

Trong đó: + R, S: là một quan hệ + <Điều kiện nối> chỉ ra trên các thuộc tính của hai quan hệ R và S. Một điều kiện nối tổng quát có dạng: <điều kiện> AND <điều kiện> AND … AND <điều kiện>.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ