Hệ quản trị cơ sở dữ liệu
Quan niệm về CSDL
1.2.Ứng dụng của hệ quản trị CSDL
1.3 Lịch sử của các hệ quản trị dữ liệu
Chương 2 Mô hình mạng, mô hình phân cấp 3 3
Chương 3 Thiết kế cơ sở dữ liệu khái niệm 3 3
3.2 Trừu tượng hoá trong thiết kế CSDL
3.3 Các thuộc tính tương xứng giữa các lớp
3.4 Các mô hình dữ liệu
3.5 Mô hình thực thể quan hệ
Chương 4 Điều khiển khai thác tương tranh 3 3
4.3 Đặc tính của khai thác không xung đột
4.3.2 Khai thác có thứ tự
4.3.3 Đồ thị về thứ tự thực hiện các giao tác
Chương 5 An toàn dữ liệu và xử lý sai sót 3 3
5.1.1 Phạm vi an toàn dữ liệu
5.1.2 Các yêu cầu bảo vệ CSDL
5.2 Các điều khiển an toàn dữ liệu
5.2.1 Điều khiển luồng thông tin
TÊN CHƯƠNG MỤC TS LT TH BT KT
Chương 6 Đánh giá câu hỏi 3 2 1
6.2 Cấu trúc đại số câu hỏi
6.2.1 Cây đại số quan hệ
6.2.2 Các luật biến đổi cây đại số quan hệ
6.2.3 Các bước tối ưu cây đại số quan hệ
Chương 7 Cơ sở dữ liệu hướng đối tượng 12 5 6 1
7.1 Giới thiệu về hướng đối tượng
7.1.1 Các khái niệm hướng đối tượng
7.1.2 Mô hình hoá việc phân tích hướng đối tượng
7.1.3 Mô hình hóa dữ liệu
7.2 Nguyên tác của các mô hình hướng đối tượng
7.2.1 Mô hình hoá cácđối tượng
7.2.3 Xác định dạng dữ liệu
7.2.4 Các liên kết thừa kế giữa các lớp
7.2.5 Đa cấu và sự áp đặt
7.2.6 Xác định tập các đối tượng
7.2.8 Lược đồ CSDL hướng đối tượng
7.3 Tính bền vững các các đối tượng
7.3.2 Quản lý tính bền vững
7.3.3 Kế thừa tính bền vững
7.3.4 Tính bền vững do tham chiếu
7.3.5 Tích hợp với ngôn ngữ lập trình
7.4 Đại số với các đối tượng phức tạp
7.4.1 Mở rộng đại số quan hệ theo đường dẫn và các phương pháp
7.4.2 Các phép toán đại số
7.4.4 Đồ thị các phép toán
Chương 8 Cơ sở dữ liệu phân tán 15 5 9 1
8.1 Cấu trúc CSDL phân tán
8.2 Đánh giá CSDL phân tán
8.3 Thiết kế CSDL phân tán
8.4 Tính thông suốt và tính tự trị của CSDL phân tán
8.6 Khôi phục sai sót trong CSDL phân tán
Nhiệm vụ của sinh viên:
Tham gia đầy đủ các buổi học lý thuyết và thực hành, hoàn thành các bài tập được giao, cũng như thực hiện các bài kiểm tra giữa kỳ và bài thi kết thúc học phần theo quy định.
1 Nguyễn Xuân Huy,Giáo trình về cơ sở dữ liệu, Đại học Quốc Gia Hà Nội, 2000.
2 Nguyễn Xuân Huy-Lê Hoài Bắc,Bài tập cơ sở dữ liệu, Nhà xuất bản Thống kê, 2003.
3 Phạm Hữu Khang, Đoàn Thiện Ngân, Quản trị SQL Server 2000, Nhà xuất bản Thống kê,
Hình thức và tiêu chuẩn đánh giá sinh viên:
- Hình thức thi: thi viết.
Tiêu chuẩn đánh giá sinh viên bao gồm thái độ tham gia các buổi học lý thuyết và thực hành, kết quả thực hiện các bài tập được giao, cũng như điểm số từ các bài kiểm tra giữa kỳ và bài thi kết thúc học phần.
Thang điểm:Thang điểm chữ A,B,C,D,F. Điểm đánh giá học phần: Z=0,3X+0,7Y
Bài giảng này là tài liệuchính thức và thống nhất của Bộ môn Hệ thống Thông tin,
Khoa Công nghệ Thông tin và được dùng để giảng dạy cho sinh viên.
Chương 1 Hệ quản trị cơ sở dữ liệu 7
1.2 Các khả năng của một hệ quản trị cơ sở dữ liệu 7
Chương 2 Cơ sở dữ liệu hướng đối tượng 9
2.1 Nhu cầu về hệ thống cơ sở dữ liệu hướng đối tượng 9
2.1.1 Các đối tượng phức tạp 9
2.1.2 Quản lý các tri thức 9
2.1.3 Quản trị các dữ liệu phân tán 10
2.1.4 Nhu cầu về hệ thống cơ sở dữ liệu hướng đối tượng 10
2.2 Khái niệm về hướng đối tượng 11
2.3 Cơ sở dữ liệu hướng đối tượng 13
2.4 Thiết kế cơ sở dữ liệu hướng đối tượng 14
2.4.2 Tổng quát hóa và đặc biệt hóa 14
2.5 Xây dựng cơ sở dữ liệu hướng đối tượng 15
Chương 3 Cơ sở dữ liệu phân tán 17
3.1 Các phương pháp phân tán dữ liệu 17
3.1.1 Khái niệm về phân tán dữ liệu 17
3.1.1.1 Các lý do phân mảnh 17
3.1.1.4 Quy tắc phân mảnh đúng đắn 19
3.1.1.6 Các yêu cầu thông tin 19
3.1.2.1 Yêu cầu thông tin của phân mảnh ngang 20
3.1.2.2 Phân mảnh ngang nguyên thủy 21
3.1.2.3 Phân mảnh ngang dẫn xuất 23
3.2 Kiểm soát dữ liệu ngữ nghĩa 26
3.2.1.1 Khung nhìn trong quản lý tập trung 26
3.2.1.2 Cập nhật qua các khung nhìn 26
3.2.1.3 Khung nhìn trong cơ sở dữ liệu phân tán 27
3.2.2.1 Kiểm soát cấp quyền tập trung 27
3.2.2.2 Kiểm soát cấp quyền phân tán 28
3.3 Quản lý giao dịch và điểu khiền đồng thời phân tán 28
3.3.1 Các khái niệm cơ bản về giao dịch 28
3.3.1.4 Kiểm soát hoạt động đồng thời bằng khóa 30
3.3.1.7 Tính khả tuần tự của lịch biểu 32
3.3.2 Mô hình giao dịch đơn giản 33
3.3.2.1 Ý nghĩa của giao dịch – hàm đặc trưng 33
3.3.2.2 Kiểm tra tính khả tuần tự bằng đồ thị có hướng 35
3.3.4 Mô hình khóa đọc và khóa ghi 36
3.3.4.1 Ý nghĩa của giao dịch với khóa đọc và khóa ghi 36
3.3.4.2 Đồ thị tuần tự hóa trong các giao dịch Rlock v à Wlock 36
Chương 4 Hệ trợ giúp ra quyết định 38
4.1 Giới thiệu về hệ trợ giúp ra quyết định 38
4.2 Thiết kế cơ sở dữ liệu cho hệ trợ giúp ra quyết định 39
4.3 Kho dữ liệu và kho dữ liệu chuyên đề 40
4.3.2 Kho dữ liệu chuyên đề 41
4.3.3 Các lược đồ về chiều 42
4.4 Xử lý phân tích trực tuyến 43
4.4.3 Cơ sở dữ liệu nhiều chiều 44
Chương 1 Hệ quản trị cơ sở dữ liệu
1.1 Quan niệm về Cơ sở dữ liệu
Cơ sở dữ liệu (CSDL) là một tập hợp có cấu trúc các dữ liệu được lưu trữ và sử dụng bởi các hệ ứng dụng cụ thể.
Ngày nay CSDL tồn tại trong hầu hết các ứng dụng, ví dụ:
-Ứng dụng quản lý kho hàng;
- Hệ thống đặt chỗ máy bay;
- Quản lý nguồn nhân lực…
Hệ quản trị cơ sở dữ liệu (DBMS) là phần mềm giúp tạo lập và quản lý cơ sở dữ liệu, đồng thời kiểm soát mọi truy cập vào dữ liệu trong hệ thống.
Hệ cơ sở dữ liệu là gì?
Hệ CSDL là một hệ thống bao gồm 4 thành phần:
- CSDL hợp nhất: CSDL của hệ có hai tính chất tối thiểu hóa dư thừa và được chia sẻ.
Người sử dụng hệ thống cơ sở dữ liệu (CSDL) bao gồm mọi cá nhân có nhu cầu truy cập vào dữ liệu, từ người dùng cuối, lập trình viên ứng dụng cho đến quản trị viên hệ thống.
- Phần mềm quản trị CSDL.
- Phần cứng của hệ bao gồm các thiết bị nhớ thứ cấp được sử dụng để lưu trữ CSDL.
Các khả năng của một hệ quản trị cơ sở dữ liệu
Có hai khả năng cho phép phân biệt các hệ quản trị CSDL với các kiểu hệ thống lập trình khác:
- Khả năng quản lý dữ liệu tồn tại lâu dài;
Khả năng truy cập hiệu quả các khối lượng dữ liệu lớn là một đặc điểm quan trọng của hệ quản trị cơ sở dữ liệu (CSDL) CSDL tồn tại lâu dài, lưu trữ và quản lý dữ liệu mà hệ quản trị truy cập Điều này khác biệt với hệ thống xử lý tệp, mặc dù cũng quản lý dữ liệu lâu dài, nhưng không cung cấp khả năng truy cập nhanh chóng đến các phần dữ liệu tùy ý.
Hệ quản trị cơ sở dữ liệu (CSDL) trở nên cần thiết khi khối lượng dữ liệu cần lưu trữ rất lớn Đối với các khối lượng dữ liệu nhỏ, các kỹ thuật truy cập đơn giản như quét tuần tự vẫn có thể đáp ứng nhu cầu.
Khi đánh giá hai đặc điểm cơ bản của hệ quản trị cơ sở dữ liệu (CSDL), còn nhiều khả năng khác thường xuất hiện trong các hệ quản trị CSDL thương mại, cần lưu ý.
- Hỗ trợ ít nhất một mô hình dữ liệu hay một sự trừu tượng toán học mà qua đó người sử dụng có thể quan sát dữ liệu.
- Đảm bảo tính độc lập dữ liệu hay sự bất biến của các chương trìnhứng dụng đối với các thay đổi về cấu trúc trong mô hình dữ liệu.
Hỗ trợ các ngôn ngữ lập trình cao cấp cho phép người dùng xác định cấu trúc dữ liệu, truy cập và thao tác dữ liệu một cách hiệu quả.
Quản trị giao dịch là khả năng cung cấp truy cập đồng thời và chính xác vào cơ sở dữ liệu (CSDL) cho nhiều người dùng cùng lúc.
Điều khiển truy cập là khả năng giới hạn quyền truy cập vào dữ liệu cho những người dùng không được phép, đồng thời cho phép kiểm tra tính chính xác của dữ liệu.
- Phục hồi dữ liệu, có nghĩa là khả năng phụ hồi, không làm mất mát dữ liệu đối với các lỗi của hệ thống.
Cơ sở dữ liệu hướng đối tượng
Khái niệm về hướng đối tượng
Để hiểu quan điểm về đối tượng, ta có thể xem chiếc ghế như một ví dụ Ghế là một phần tử trong lớp rộng hơn gọi là đồ đạc, với các thuộc tính như giá thành, kích thước, trọng lượng, vị trí và màu sắc Những thuộc tính này áp dụng cho tất cả các đồ vật trong lớp đồ đạc, như bàn, tủ, và ghế Do đó, ghế không chỉ là một vật thể độc lập mà còn thừa hưởng tất cả các thuộc tính của lớp đồ đạc.
Mỗi đối tượng trong lớp đồ đạc có thể được xử lý theo nhiều cách khác nhau, và mỗi phép xử lý này sẽ thay đổi một hoặc nhiều thuộc tính của đối tượng Những thay đổi này được gọi là dịch vụ hoặc phương pháp trên đối tượng.
Các đối tượng sẽ bao bọc:
- Dữ liệu thông qua giá trị thuộc tính.
- Các phép toán như các hoạt động có tác dụng thay đổi giá trị thuộc tính.
- Các đối tượng khác, như là các đối tượng phức tạp.
- Các hằng số, như các giá trị mặc định.
- Các thông tin liên quan.
Việc bao bọc thông tin của các đối tượng cho phép thu gọn tất cả thông tin dưới một tên duy nhất, từ đó có thể sử dụng như một đặc tả hoặc thành phần trong chương trình.
Khái niệm về đối tượng là khái niệm sinh ra từ việc nhận thức thế giới thực Một đối tượng có các đặc tính sau:
- Mang tên duy nhất, không thay đổi.
- Có thể gửi các thông báo đến các đối tượng khác.
Đối tượng là một thực thể có vai trò rõ ràng trong lĩnh vực ứng dụng, sở hữu trạng thái và hành vi nhất định, cùng với một tên gọi xác định.
Trong môi trường lập trình hướng đối tượng, lớp Người bao gồm các đối tượng liên lạc qua thông báo, với thông báo là các thao tác áp dụng lên đối tượng Các thao tác này được gọi là phương pháp, ví dụ như phương pháp kết hôn, cho phép xác định mối quan hệ giữa các đối tượng Trạng thái của đối tượng phản ánh các thuộc tính và mối quan hệ, cùng với giá trị gán cho những thuộc tính đó Phép toán được định nghĩa là hàm số hoặc dịch vụ mà tất cả các thể hiện của lớp đều chấp nhận, trong khi phương pháp là cách thức thực hiện một phép toán.
Trong lập trình hướng đối tượng, hành vi và cấu trúc của một đối tượng được xác định hoàn toàn bởi lớp đối tượng Lớp là khái niệm cốt lõi trong phương pháp lập trình này Hành vi thể hiện cách mà một đối tượng tương tác và tác động trong môi trường lập trình.
Một lớp đối tượng bao gồm giao diện và miền riêng Giao diện của đối tượng là phần mà các đối tượng khác có thể quan sát Giao diện lớp đối tượng được cấu thành từ hai thành phần chính.
1 Thuộc tính của lớp: Trong chừng mực nào đó các thuộc tính của lớp được coi tương đương với các thuộc tính của quan hệ Đương nhiên thông qua thuộc tính lớp người ta có thể thể hiện các liên kết giữa các đối tượng, hay trong lớp cũng có thuộc tính ảo, chẳng hạn thuộc tính tuổi có giá trị tùy thuộc vào thuộc tính ngày sinh Đối với lớp, không có hạn chế gì về cách thức cấu trúc thuộc tính hay cách liên kết với nhau Các thuộc tính có thể là đối tượng, dùng để tạo đối tượng phức tạp hơn Người ta không xử lý trực tiếp các giá trị thuộc tính của đối tượng mà xử lý thông qua các phương pháp liên kết với lớp đối tượng.
2 Phương pháp gắn với lớp đối tượng: Các thông báo chuyển đến lớp đối tượng nhờ phương pháp gắn với lớp đối tượng Chúng thường có dạng các phép toán, các hàm với các tham số Các đối tượng trong một lớp chỉ có thể được truy cập thông qua các phương pháp Tại mức giao diện, phần hiện rõ là tên phương pháp và các tham số cần cho phương pháp này. Định nghĩa 2.6 Lớp đối tượng là tập các đối tượng có chung cấu trúc và hành vi. Định nghĩa 2.7 Sơ đồ lớp cho biết cấu trúc tĩnh của mô hình hướng đối tượng, đó là các lớp đối tượng, cấu trúc bên trong của chúng, và mối quan hệ mà chúng tham gia.
Miền riêng của lớp đối tượng chứa thông tin chi tiết về cấu trúc lớp nhưng không hiển thị cho các đối tượng khác Trong lập trình, có thể cài đặt để che giấu các giá trị, liên kết và thông báo, nhằm bảo vệ thông tin bên trong và giá trị của đối tượng Quá trình này được gọi là che dấu thông tin.
Trong lập trình hướng đối tượng (OOP), bao bọc là một khái niệm quan trọng, cho phép mọi vấn đề liên quan đến đối tượng được nhận diện thông qua định nghĩa lớp đối tượng Người dùng truy cập vào khái niệm này thông qua giao diện lớp và xác định các hành vi thông qua việc định nghĩa lớp Sơ đồ đối tượng được định nghĩa là một đồ thị gồm các thể hiện của đối tượng, tương thích với sơ đồ lớp Bao bọc, hay còn gọi là kỹ thuật che giấu, giúp ẩn đi những chi tiết cài đặt bên trong của đối tượng đối với các truy cập từ bên ngoài.
Cá thể hóa là quá trình xác định sự tồn tại của các đối tượng trong môi trường hướng đối tượng thông qua việc xác định lớp của chúng Mỗi đối tượng được xem như một cá thể thuộc lớp, thường được gọi là thể hiện của lớp.
Kế thừa là một khái niệm quan trọng trong lập trình hướng đối tượng, cho phép các lớp con thừa hưởng các thuộc tính và phương thức từ lớp cha Điều này có nghĩa là lớp con có thể tiếp nhận và sử dụng các đặc điểm của lớp đối tượng khác, đồng thời vẫn có thể bổ sung thêm những thuộc tính và phương thức riêng biệt của mình.
Việc kế thừa nhiều lần xẩy ra khi một lớp kế thừa từ nhiều lớp.
Dù có nhiều ngôn ngữ hướng đối tượng, đa số CSDL hướng đối tượng dựa trên C++ Lựa chọn này là do tính hiệu quả và thông dụng của C++.
Thực tế CSDL hướng đối tượng có các ưu điểm:
- Cho phép xét các liên kết đối tượng dưới dạng các phép lưu trữ với các đối tượng.
- Các đối tượng được phép dùng chung cho nhiều người sử dụng.
- Khả năng phát triển kho tri thức bằng cách thêm các đối tượng mới và các phép xử lý kèm theo.
Phát triển hệ quản trị cơ sở dữ liệu (CSDL) tập trung vào việc xử lý các đối tượng phức tạp, từ đó thiết kế giao diện chương trình hiệu quả Quá trình này bao gồm việc mô tả các đối tượng động và trừu tượng, nhằm nâng cao khả năng tương tác và quản lý dữ liệu một cách linh hoạt và chính xác.
Hệ quản trị cơ sở dữ liệu (CSDL) hướng đối tượng cho phép lưu trữ và chia sẻ các đối tượng giữa nhiều ứng dụng, là sự mở rộng quan trọng của lập trình hướng đối tượng Trong môi trường lập trình hướng đối tượng (OOP), các đối tượng chỉ tồn tại trong vòng đời của chương trình tạo ra chúng Ngược lại, trong hệ thống CSDL hướng đối tượng, các đối tượng có tính bền vững, nghĩa là chúng tồn tại độc lập với vòng đời của chương trình tạo ra Điều này cho phép các chương trình khác có thể truy cập và quản lý các đối tượng này một cách linh hoạt Hệ thống CSDL hướng đối tượng có những đặc điểm nổi bật riêng.
- Ngôn ngữ CSDL có khả năng mô tảlớp đối tượng, tao sinh, lưu trữ và xóa đối tượng.
Thiết kế cơ sở dữ liệu hướng đối tượng
- Ngôn ngữ CSDL có khả năng mô tảlớp đối tượng, tao sinh, lưu trữ và xóa đối tượng.
Chương trình ứng dụng cho phép truy cập vào các đối tượng, mỗi đối tượng được xác định bằng một OID duy nhất OID khác với khóa chính trong cơ sở dữ liệu quan hệ, vì khóa chính là tập hợp thuộc tính xác định duy nhất bộ dữ liệu và có thể thay đổi Trong hệ thống hướng đối tượng, OID thường có kích thước 64, 128 bit hoặc lớn hơn và có giá trị không thay đổi Ngoài ra, một đối tượng cũng có thể có các thuộc tính giống như khóa chính trong cơ sở dữ liệu quan hệ, tùy thuộc vào cách xác định lớp Việc gán OID được thực hiện bởi hệ quản trị cơ sở dữ liệu hướng đối tượng.
Kho đối tượng là thành phần chính tạo nên cơ sở dữ liệu (CSDL) hướng đối tượng Hệ quản trị CSDL hướng đối tượng cần đảm bảo các chức năng cơ bản tương tự như hệ quản trị CSDL truyền thống, bao gồm điều khiển tương tranh, an toàn dữ liệu và toàn vẹn dữ liệu Trên thực tế, hệ quản trị CSDL hướng đối tượng hoạt động giống như hệ quản trị thông thường, nhưng với sự hỗ trợ của phần mềm hướng đối tượng để truy cập và quản lý các đối tượng trong kho dữ liệu.
2.4 Thiết kế CSDL hướng đối tượng Để xác định rõ việc thực hiện CSDL hướng đối tượng theo các dạng tiếp cần, trước hết cần xác định cách thức thiết kế một hệ thống hướng đối tượng.
Cơ sở dữ liệu (CSDL) hướng đối tượng bao gồm các đối tượng và tất cả các thành phần liên quan đến lớp Để xây dựng mô hình khái niệm cho CSDL hướng đối tượng, cần xác định tập hợp các lớp đối tượng.
Lớp đối tượng được xác định thông qua các thuộc tính và phương thức của nó, đồng thời cần xác định sự tương tác giữa các lớp Khái niệm lớp tương tự như kiểu dữ liệu đã được giới thiệu trước đó.
Quá trình phân lớp là việc nhóm các đối tượng có thuộc tính và hành vi tương tự vào cùng một lớp, trong đó các đối tượng được định danh qua các thuộc tính như tên, ngày tạo và hình vẽ Các phép toán cơ bản trong quá trình này bao gồm lưu trữ, tìm kiếm và vẽ.
Trong đoạn chương trình, danh sách các trường và kiểu dữ liệu đơn giản cho sơ đồ được nêu trong mục thuộc tính Sau đó là các phương thức với tên và tham số cụ thể Một số phương thức như tạo mới và xóa được áp dụng cho tất cả các đối tượng trong cơ sở dữ liệu.
Tất cả các định nghĩa về giao diện lớp đối tượng đều yêu cầu phép toán tạo mới và hủy bỏ đối tượng Quá trình phân lớp tạo ra các lớp đối tượng với các thuộc tính và phương thức chung, đồng thời một số đối tượng sẽ có các thuộc tính và phương thức riêng biệt Do đó, khái niệm tổng quát hóa và chuyên biệt hóa trở nên cần thiết.
2.4.2 Tổng quát hóa và đặc biệt hóa
Tổng quát hóa là quá trình xác định lớp đối tượng với các thuộc tính tương tự, cho phép trừu tượng hóa thành lớp cao hơn Ví dụ, từ các hình như hình tam giác, hình vuông, hình chữ nhật, và hình tròn, ta có thể tạo ra một lớp cao hơn chứa các thuộc tính chung Lớp trừu tượng là lớp không có thể hiện trực tiếp, trong khi lớp cụ thể là lớp có thể có các thể hiện trực tiếp.
Chuyên biệt hóa là quá trình ngược lại với tổng quát hóa, cho phép xác định các lớp con từ lớp sơ đồ Mỗi lớp con này không chỉ chia sẻ các thuộc tính và phương thức chung với lớp sơ đồ mà còn có những thuộc tính và phương thức riêng biệt, giúp phân biệt các loại sơ đồ khác nhau.
Cây phân cấp được sử dụng để thể hiện quá trình tổng quát hóa, đặc biệt trong hệ thống hướng đối tượng, nhằm chỉ ra các mối quan hệ thừa kế Khi mô tả các lớp, việc chỉ ra sự tham gia của lớp vào dãy kế thừa là rất quan trọng.
Lớp đối tượng này kế thừa từ lớp cha thông qua câu lệnh kế thừa, cho phép lớp tam giác nhận tất cả các thuộc tính và phương thức của lớp sơ đồ Các thuộc tính bổ sung được mô tả cụ thể, trong khi phương thức tạo mới được điều chỉnh để phù hợp với đặc trưng của hình tam giác Phương thức tính diện tích cũng được thiết kế riêng cho hình tam giác Bên cạnh đó, lớp đối tượng Hìnhđều cạnh kế thừa các tính chất của lớp tam giác và lớp sơ đồ, đồng thời có các thuộc tính riêng và các phương thức được mô tả lại cho phù hợp với loại hình này.
Gộp là quá trình liên kết các lớp đối tượng để tạo ra một lớp gộp, ví dụ như trong cơ sở dữ liệu ngân hàng, bao gồm khách hàng, tài khoản, chi nhánh và mối quan hệ giữa chúng Khi áp dụng kỹ thuật quan hệ, các quan hệ tách biệt được tạo ra cho mỗi thực thể, sử dụng khóa ngoài để thể hiện mối quan hệ 1-n Đối với mối quan hệ m-n giữa khách hàng và tài khoản, cũng sử dụng quan hệ có khóa ngoài Để thiết lập khung nhìn tổng thể về thông tin liên quan đến một tài khoản, cần phải kết nối bốn bảng cơ sở.
Trong cơ sở dữ liệu hướng đối tượng, lớp đối tượng gộp được sử dụng để giải quyết vấn đề liên kết giữa các đối tượng khác nhau Lớp đăng ký được tạo ra nhằm kết nối các đối tượng như khách hàng, tài khoản và chi nhánh Mỗi đối tượng đăng ký sẽ liên kết một khách hàng với một tài khoản, đồng thời có thuộc tính đặc biệt để chỉ rõ thời gian thực hiện đăng ký.
2.5 Xây dựng CSDL hướng đối tượng
Lược đồ cơ sở dữ liệu hướng đối tượng liên quan đến việc phân lớp đối tượng, tổng quát hóa, đặc biệt hóa và gộp, các vấn đề này xảy ra đồng thời Quá trình chuyển đổi từ mô hình thực thể E/R sang mô hình hướng đối tượng không được trình bày do sự khác biệt giữa thực thể và mối quan hệ so với lớp đối tượng Hơn nữa, mô hình E/R chủ yếu tập trung vào dữ liệu mà không cung cấp thông tin về hành vi của thực thể dựa trên hạng của quan hệ mà thực thể tham gia.
Hình chữ nhật Hình tam giác Hình tròn
Hình vuông Tam giác đều
Việc chuyển hóa mô hình đối tượng ngữ nghĩa sang CSDL hướng đối tượng được thực hiện như sau:
- Đối với mỗi đối tượng ngữ nghĩa, người ta tạo một lớp đối tượng.
Xây dựng cơ sở dữ liệu hướng đối tượng
Thiết kế hệ thống thông tin có CSDL phân tán bao gồm:
- Phân tán và chọn những vị trí đặt dữ liệu;
- Các chương trìnhứng dụng tại các điểm;
- Thiết kế tổ chức khai thác hệ thống đó trên nền mạng.
3.1 Các phương pháp phân tán dữ liệu
3.1.1 Khái niệm về phân tán dữ liệu
Khi thiết kế các hệ thống CSDL phân tán người ta thường tập trung xoay quanh các câu hỏi?
- Tại sao lại cần phải phân mảnh?
- Làm thế nào để thực hiện phân mảnh?
- Phân mảnh nên thực hiện đến mức độ nào?
- Có cách gì kiểm tra tính đúng đắn của việc phân mảnh?
- Các mảnh sẽ được cấp phát trên mạng như thế nào?
- Những thông tin nào sẽ cần thiết cho việcphân mảnh và cấp phát?
3.1.1.1 Các lý do phân mảnh
Phân tán dữ liệu là quá trình cấp phát các tập tin cho các nút trong mạng máy tính, thường nằm ở những vị trí địa lý khác nhau Để tối ưu hóa việc khai thác thông tin, dữ liệu cần được phân tán trên các nút của mạng thay vì tập trung tại một điểm.
Một quan hệ không phải là đơn vị truy xuất dữ liệu tối ưu, vì việc truy xuất từ các vị trí khác nhau có thể dẫn đến truy xuất thừa và tốn không gian bộ nhớ do nhân bản Do đó, việc phân rã quan hệ thành nhiều mảnh và xử lý từng mảnh như một đơn vị riêng biệt cho phép thực hiện nhiều giao dịch đồng thời Câu truy vấn ban đầu có thể được chia thành các truy vấn con, giúp cải thiện tốc độ hoạt động của hệ thống khi thực hiện song song trên các mảnh dữ liệu.
Việc phân mảnh dữ liệu có thể gây ra nhiều rắc rối, như xung đột giữa các ứng dụng, làm khó khăn trong việc truy xuất dữ liệu Sự phân mảnh này không chỉ làm tăng chi phí truy xuất mà còn ảnh hưởng đến việc kiểm soát ngữ nghĩa và tính toàn vẹn của dữ liệu.
Các quan hệ trong cơ sở dữ liệu được thể hiện qua các bảng, do đó, việc chia một bảng thành nhiều bảng nhỏ hơn là cần thiết Có hai phương pháp chính để thực hiện điều này: chia bảng theo chiều dọc và chia bảng theo chiều ngang Phân mảnh dọc tạo ra các quan hệ con, mỗi quan hệ chứa một tập con các thuộc tính của quan hệ gốc Trong khi đó, phân mảnh ngang tạo ra các quan hệ con, mỗi quan hệ chứa một số bộ dữ liệu của quan hệ gốc.
Cơ sở dữ liệu phân tán
Các phương pháp phân tán dữ liệu
3.1.1 Khái niệm về phân tán dữ liệu
Khi thiết kế các hệ thống CSDL phân tán người ta thường tập trung xoay quanh các câu hỏi?
- Tại sao lại cần phải phân mảnh?
- Làm thế nào để thực hiện phân mảnh?
- Phân mảnh nên thực hiện đến mức độ nào?
- Có cách gì kiểm tra tính đúng đắn của việc phân mảnh?
- Các mảnh sẽ được cấp phát trên mạng như thế nào?
- Những thông tin nào sẽ cần thiết cho việcphân mảnh và cấp phát?
3.1.1.1 Các lý do phân mảnh
Việc phân tán dữ liệu được thực hiện bằng cách cấp phát các tập tin cho các nút mạng, thường nằm ở các vị trí địa lý khác nhau Để tối ưu hóa việc khai thác thông tin, dữ liệu cần được phân tán trên các nút của mạng thay vì tập trung ở một nơi.
Một quan hệ không phải là đơn vị truy xuất dữ liệu tối ưu, đặc biệt khi ứng dụng chỉ hoạt động trên một phần nhỏ dữ liệu phân tán Điều này có thể dẫn đến truy xuất thừa và lãng phí bộ nhớ do nhân bản quan hệ Do đó, việc phân rã một quan hệ thành nhiều mảnh độc lập cho phép thực hiện nhiều giao dịch đồng thời Câu truy vấn ban đầu có thể được chia thành các truy vấn con, giúp thực hiện song song trên các mảnh và cải thiện tốc độ hoạt động của hệ thống.
Việc phân mảnh dữ liệu có thể dẫn đến nhiều rắc rối, chẳng hạn như xung đột giữa các ứng dụng, gây khó khăn trong việc truy xuất dữ liệu Sự phân mảnh này thường làm gia tăng chi phí truy xuất dữ liệu Ngoài ra, việc kiểm soát ngữ nghĩa và đảm bảo tính toàn vẹn của dữ liệu cũng là những vấn đề quan trọng cần được xem xét.
Các quan hệ trong cơ sở dữ liệu được thể hiện qua các bảng, vì vậy việc chia một bảng thành nhiều bảng nhỏ hơn là rất quan trọng Có hai phương pháp chính để thực hiện điều này: chia bảng theo chiều dọc và chia bảng theo chiều ngang Phân mảnh dọc tạo ra các quan hệ con, mỗi quan hệ chứa một tập con các thuộc tính của quan hệ gốc Trong khi đó, phân mảnh ngang tạo ra các quan hệ con, mỗi quan hệ chứa một số bộ của quan hệ gốc.
Ngoài ra, có khả năng phân mảnh kết hợp giữa phân mảnh ngang và dọc, điều này liên quan chặt chẽ đến quá trình cấp phát và các bài toán cụ thể.
Trong ví dụ này chúng ta sử dụng một CSDL của một công ty máy tính thực hiện các dự án phần mềm gồm các quan hệ:
DuAn(MaDuAn, Ten, KinhPhi, ViTri);
TrachNhiem(MaNV, MaDuAn, TrachNhiem, ThoiGianTG);
Hình 3.1 Dữ liệu của các bảng
MaNV Ten ChucVu MaNV MaDuAn TrachNhiem ThoiGianTG
E1 Hoàng Lan Ks Điện E1 P1 Quản lý 12
E2 Đình Vượng Phân tích hệ thống E2 P1 Phân tích 24
E3 Minh Tài Ks Máy E2 P2 Phân tích 6
E4 Dương Hà Lập trình viên E3 P3 Tư vấn 10
E5 Minh Hoa Phân tích hệ thống E3 P4 Kỹ sư 48
E6 Văn Hiền Ks Điện E4 P2 Lập trình viên 18
E7 Hoài Nam Ks Máy E5 P2 Quản lý 24
E8 Vân Dũng Phân tích hệ thống E6 P4 Quản lý 48
MaDuAn Ten KinhPhi Vitri ChucVu Luong
P1 Trang thiết bị 150000 Hà Nội Ks Điện 4000
P2 CSDL 135000 Hải Phòng Phân tích hệ thống 10000
P3 CAD/CAM 250000 Hà Nội Ks Máy 3500
P4 Bảo Trì 310000 Quảng Ninh Lập trình viên 4100
Quan hệ DuAn có thể được phân chia thành hai quan hệ con là DuAn1 và DuAn2 DuAn1 lưu trữ thông tin về các dự án có ngân sách dưới 200.000$, trong khi DuAn2 chứa thông tin về các dự án có ngân sách trên 200.000$.
Hình 3.2 Phân mảnh ngang quan hệ DuAn
P1 Trang thiết bị 150000 Hà Nội
Có thể phân mảnh quan hệ DuAn thành hai phần: DuAn3 và DuAn4 DuAn3 chứa thông tin về ngân sách các dự án, trong khi DuAn4 lưu trữ tên và vị trí của dự án Cần lưu ý rằng khóa của quan hệ DuAn phải có mặt trong cả hai phần này.
Hình 3.3 Phân mảnh dọc quan hệ DuAn
MaDuAn KinhPhi MaDuAn Ten Vitri
P1 150000 P1 Trang thiết bị Hà Nội
Quyết định về mức độ phân mảnh cơ sở dữ liệu (CSDL) rất quan trọng, ảnh hưởng trực tiếp đến hiệu suất thực hiện vấn đề Mức độ phân mảnh có thể dao động từ không phân mảnh đến phân mảnh thành từng bộ hoặc thuộc tính Tuy nhiên, nếu phân mảnh quá nhỏ, điều này có thể gây ra tác động tiêu cực đến hoạt động khai thác CSDL Do đó, cần xác định một mức độ phân mảnh phù hợp, tùy thuộc vào từng loại CSDL và các ứng dụng cụ thể.
3.1.1.4 Quy tắc phân mảnh đúng đắn
Trong quá trình phân mảnh cơ sở dữ liệu (CSDL), chúng ta cần tuân thủ ba quy tắc quan trọng Những quy tắc này sẽ đảm bảo rằng không có sự thay đổi nào về mặt ngữ nghĩa trong CSDL sau khi thực hiện phân mảnh.
1 Tính đầy đủ: Nếu một quan hệ R được phân mảnh thành các mảnh R1, R2,…, RN thì mỗi mục dữ liệu có trong R phải có mặt trong một hoặc nhiều mảnh Ri.
2 Tính tái thiết được: Nếu một quan hệ R được phân mảnh thành R1, R2,…, RN thì cần phải định nghĩa một toán tử tái thiết sao cho:
Toán tử có sự thay đổi tùy thuộc vào loại phân mảnh; trong trường hợp phân mảnh ngang, được hiểu là phép toán hợp, trong khi đó, với phân mảnh dọc, lại được xem như phép toán kết nối.
3 Tính tách biệt: Nếu quan hệ R được phân mảnh ngang thành các mảnh R1, R2,…, RN và mục dữ liệu ti nằm trong mảnh ri, thì nó sẽ không nằm trong các mảnh Rk với k j Tiêu chuẩn này đảm bảo rằng các mảnh ngang sẽ tách biệt với nhau Nếu quan hệ được phân mảnh dọc, các thuộc tính khóa chính phải được lặp lại trong mỗi mảnh Vì thế trong trường hợp phân mảnh dọc, tính tách biệt chỉ được định nghĩa trên các trường không phải là khóa chính của một quan hệ.
Khi cơ sở dữ liệu (CSDL) đã được phân mảnh hợp lý, việc quyết định cấp phát các mảnh cho các vị trí trên mạng là rất quan trọng Dữ liệu có thể được cấp phát dưới dạng nhân bản hoặc duy trì một bản duy nhất, tùy thuộc vào nhu cầu và mục tiêu sử dụng.
Nhân bản dữ liệu là cần thiết để đảm bảo độ tin cậy và hiệu quả cho các câu truy vấn chỉ đọc Việc có nhiều bản sao của một mục dữ liệu giúp chúng ta truy xuất thông tin ngay cả khi hệ thống gặp sự cố Các câu truy vấn chỉ đọc có thể thực hiện song song nhờ vào sự hiện diện của các bản sao ở nhiều vị trí khác nhau Ngược lại, câu truy vấn cập nhật có thể gây ra khó khăn vì hệ thống phải đảm bảo tất cả các bản sao được cập nhật chính xác Do đó, quyết định nhân bản cần được xem xét kỹ lưỡng, dựa trên tỷ lệ giữa câu truy vấn chỉ đọc và câu truy vấn cập nhật, ảnh hưởng đến các thuật toán của hệ quản trị cơ sở dữ liệu phân tán và các chức năng kiểm soát khác.
3.1.1.6 Các yêu cầu thông tin
Trong thiết kế hệ thống phân tán, cần chú ý rằng nhiều yếu tố có thể ảnh hưởng đến việc tối ưu hóa thiết kế Cấu trúc logic của cơ sở dữ liệu, vị trí của các ứng dụng và đặc tính truy xuất của các ứng dụng đều đóng vai trò quan trọng trong quá trình này.
CSDL, và các đặc tính của hệ thống máy tính tại mỗi vị trí đều có ảnh hưởng đến các quyết định phân tán.
Trong phần ngày chúng ta sẽ bàn đến hai chiến lược phân mảnh:
- Phân mảnh ngang nguyên thủy: Phân mảnh ngang nguyên thủy của một quan hệ được thực hiện dựa trên các vị từ được định nghĩa trên quan hệ đó.
- Phân mảnh ngang dẫn xuất: Là phân mảnh một quan hệ dựa vào các vị từ được định nghĩa trên một quan hệ khác.
3.1.2.1 Yêu cầu thông tin của phân mảnh ngang.
Kiểm soát dữ liệu ngữ nghĩa
Mô hình quan hệ mang lại tính độc lập dữ liệu logic, cho phép định nghĩa khung nhìn như kết quả của truy vấn trên quan hệ cơ sở mà không lưu trữ thực sự trong cơ sở dữ liệu Khung nhìn hoạt động như một cửa sổ động, phản ánh mọi cập nhật trong cơ sở dữ liệu Lược đồ ngoài có thể được xem như tập hợp các khung nhìn, không chỉ phục vụ cho việc tổ chức dữ liệu mà còn đảm bảo an toàn dữ liệu Bằng cách chọn lọc một tập con của cơ sở dữ liệu, khung nhìn che giấu một số dữ liệu, giúp bảo vệ thông tin nhạy cảm khi người dùng chỉ có quyền truy xuất qua các khung nhìn này.
Trong môi trường phân tán, việc truy xuất một khung nhìn cần thực hiện câu truy vấn phân tán tương ứng với định nghĩa của khung nhìn đó Điều này cho phép lấy dữ liệu từ các quan hệ phân tán một cách hiệu quả.
Khung nhìn trong CSDL phân tán
Khung nhìn trong hệ thống phân tán được tạo ra từ các quan hệ phân mảnh lưu trữ tại nhiều vị trí khác nhau Để sử dụng khung nhìn như quan hệ cơ sở trong ứng dụng, định nghĩa của chúng cần được lưu trữ trong các thư mục tương tự như mô tả của quan hệ cơ sở Tùy thuộc vào mức độ tự trị của vị trí trong hệ thống, định nghĩa khung nhìn có thể được tập trung, nhân bản một phần hoặc toàn bộ Trong mọi trường hợp, thông tin liên kết giữa khung nhìn và vị trí định nghĩa của nó phải được nhân bản Nếu định nghĩa khung nhìn không có tại vị trí truy vấn, cần phải truy xuất từ xa đến vị trí chứa định nghĩa đó.
Trong phần trước, chúng ta đã phân tích các phân mảnh của quan hệ, và nhận thấy rằng chúng có nhiều điểm tương đồng với định nghĩa của các khung nhìn cụ thể.
3.2.1.1 Khung nhìn trong quản lý tập trung
Hầu hết các hệ quản trị cơ sở dữ liệu quan hệ đều áp dụng cơ chế khung nhìn Khung nhìn là một quan hệ được tạo ra từ các quan hệ cơ sở thông qua kết quả của một câu truy vấn Nó được xác định bằng cách gán tên cho câu truy vấn đó.
Ví dụ: Khung nhìn SYSAN (nhân viên phân tích hệ thống) được dẫn xuất từ quan hệ NhanVien có thể được định nghĩa như sau:
AS SELECT MaNV, TenNv FROM NhanVien WHERE ChucVu = “Phân tích hệ thống”
Tác dụng của câu lệnh này là định nghĩa khung nhìn SYSAN, và nó có thể được sử dụng như một quan hệ cơ sở (bảng).
3.2.1.2 Cập nhật qua các khung nhìn
Khung nhìn được định nghĩa qua các câu truy vấn phức tạp, bao gồm phép chọn, chiếu, kết nối và hàm gộp Tất cả khung nhìn có thể truy xuất như một quan hệ cơ sở, nhưng không phải tất cả đều có khả năng cập nhật Việc cập nhật qua khung nhìn chỉ được thực hiện tự động nếu có thể lan truyền chính xác đến các quan hệ cơ sở Hiện nay, hầu hết các hệ quản trị cơ sở dữ liệu quan hệ hiện đại hỗ trợ cập nhật dữ liệu qua khung nhìn bằng cách sử dụng các cơ chế xử lý ngầm, chẳng hạn như trigger.
3.2.1.3 Khung nhìn trong CSDL phân tán Định nghĩa khung nhìnđều giống nhau trong các hệ quản trị CSDL tập trung hay phân tán Tuy nhiên khung nhìn trong các hệ thống phân tán có thể được dẫn xuất từ các quan hệ đã được phân mảnh được lưu ở nhiều vị trí khác nhau Khi một khung nhìn được định nghĩa, tên và câu vấn tin truy xuất của nó sẽ được lưu hồ sơ cấu trúc của CSDL.
Khung nhìn cần được lưu trữ trong cơ sở dữ liệu như các quan hệ cơ sở để có thể sử dụng làm quan hệ cơ sở trong các ứng dụng Tùy thuộc vào mức độ tự trị của vị trí do hệ thống chỉ định, định nghĩa khung nhìn có thể được tập trung, nhân bản một phần hoặc toàn bộ Trong mọi trường hợp, thông tin liên kết tên khung nhìn với vị trí định nghĩa của nó phải được nhân bản Nếu định nghĩa khung nhìn không có tại vị trí định nghĩa, cần phải nhân bản nó Nếu định nghĩa khung nhìn không có tại vị trí thực hiện câu truy vấn, sẽ cần truy xuất từ xa đến vị trí có định nghĩa đó.
An toàn cơ sở dữ liệu (CSDL) là nhiệm vụ quan trọng nhằm bảo vệ dữ liệu khỏi việc truy xuất trái phép An toàn dữ liệu bao gồm hai khía cạnh chính: bảo vệ dữ liệu và kiểm soát quyền truy cập.
Bảo vệ dữ liệu là cần thiết để ngăn chặn những người không có quyền truy cập vào nội dung của dữ liệu Hệ thống tập tin trong các hệ điều hành tập trung và phân tán đảm nhiệm chức năng này Phương pháp chính để bảo vệ dữ liệu là mã hóa, áp dụng cho cả thông tin lưu trữ trên đĩa và thông tin trao đổi qua mạng Chỉ những người dùng có quyền mới có khả năng giải mã dữ liệu đã được mã hóa.
Kiểm soát cấp quyền trong hệ thống cơ sở dữ liệu (CSDL) là rất quan trọng để đảm bảo rằng chỉ những người được phép mới có thể thực hiện các thao tác Các người dùng khác nhau có thể truy cập một lượng lớn dữ liệu, nhưng cần phải có sự kiểm soát thống nhất từ hệ thống, dù là tập trung hay phân tán Do đó, các hệ quản trị cơ sở dữ liệu (DBMS) cần có khả năng giới hạn quyền truy cập vào một phần dữ liệu cho một nhóm người dùng cụ thể.
3.2.2.1 Kiểm soát cấp quyền tập trung
Ba yếu tố chính ảnh hưởng đến việc kiểm soát quyền truy cập bao gồm: người sử dụng, người khởi chạy các ứng dụng; các thao tác liên kết với ứng dụng; và các đối tượng cơ sở dữ liệu mà các thao tác này tác động đến.
Kiểm soát cấp quyền liên quan đến việc xác định xem người sử dụng có được phép thực hiện thao tác nào trên đối tượng hay không Quyền hạn xác định rõ ràng loại thao tác mà người sử dụng có thể thực hiện đối với đối tượng cụ thể.
Khai báo người sử dụng trong hệ thống thường diễn ra qua cặp tên người sử dụng và mật khẩu, yêu cầu cả hai khi đăng nhập để ngăn chặn xâm nhập trái phép Quyền hạn xác định mối quan hệ giữa người sử dụng và đối tượng, tương ứng với các thao tác như SELECT, INSERT, UPDATE, hoặc DELETE trong hệ quản trị CSDL dựa trên SQL Các quyền này có thể được định nghĩa hoặc thu hồi thông qua các lệnh tương ứng.
GRANT ON TO
REVOKE FROM TO
3.2.2.2 Kiểm soát cấp quyền phân tán
Trong môi trường phân tán, việc kiểm soát cấp quyền gặp nhiều vấn đề do sự phân tán của các đối tượng và chủ thể Những thách thức chính bao gồm việc cấp quyền cho người sử dụng ở xa, quản lý các quy tắc cấp quyền phân tán, và xử lý các khung nhìn cùng nhóm người sử dụng Để giải quyết những vấn đề này, có hai giải pháp khả thi.
Quản lý giao dịch và điểu khiền đồng thời phân tán
3.3.1 Các khái niệm cơ bản về giao dịch
Giao dịch là một lần thực hiện chương trình, thường được biểu thị bằng ký hiệu T: begin…end, trong đó các bước cơ bản của giao dịch nằm giữa begin và end Chương trình này có thể là một câu truy vấn hoặc một chương trình ngôn ngữ chủ với các lời gọi gắn vào câu truy vấn Nhiều thực hiện độc lập của cùng một chương trình T có thể diễn ra đồng thời tại nhiều vị trí khác nhau trên mạng, với mỗi thực hiện này đại diện cho một giao dịch riêng biệt.
Một giao dịch trong cơ sở dữ liệu (CSDL) sẽ thực hiện việc đọc và ghi dữ liệu thông qua một vùng bộ nhớ tạm thời riêng biệt Các tính toán mà giao dịch thực hiện sẽ không ảnh hưởng đến CSDL cho đến khi giá trị mới được ghi chính thức vào hệ thống.
Ví dụ chúng ta có giao dịch T:
Khi đó trong CSDL giá trị của A chỉ được tăng lên 2, vì phép toán A = A + 100 chỉ làm việc trong vùng bộ nhớ tính toán tạm thời.
Quản lý giao dịch là một khái niệm quan trọng trong quản lý, nhằm biến các thao tác phức tạp thành những nguyên tử, tức là mỗi thao tác phải xảy ra hoàn toàn hoặc không xảy ra Khi một giao dịch diễn ra, không có sự kiện hay giao dịch nào khác xảy ra song song trong suốt thời gian của nó Những nguyên tử này sau này được gọi là bước cơ bản hoặc thao tác cơ bản Để đảm bảo tính nguyên tử của các giao dịch, phương pháp tuần tự hóa thường được áp dụng, cho phép các giao dịch được thực hiện theo thứ tự Một giao dịch được coi là không có tính nguyên tử nếu
Trong hệ thống phân chia thời gian, giao dịch T có thể kết thúc trong khi vẫn đang được tính toán, cho phép các hoạt động của giao dịch khác được thực hiện trước khi T hoàn tất.
Một giao dịch có thể không hoàn tất vì nhiều lý do, chẳng hạn như việc thực hiện phép tính không hợp lệ như chia cho 0, hoặc yêu cầu dữ liệu không được phép truy xuất Hệ thống cơ sở dữ liệu có thể buộc giao dịch dừng lại do các vấn đề như kẹt trong tình trạng "cứng" (deadlock).
Hệ thống cơ sở dữ liệu (CSDL) cần đảm bảo rằng tác động của giao dịch không bị ảnh hưởng bởi các sự kiện bất ngờ trong mọi tình huống Đồng thời, trong trường hợp giao dịch bị hủy, hệ thống cũng phải bảo vệ CSDL và các giao dịch khác khỏi những ảnh hưởng tiêu cực.
Mỗi giao dịch thường trải qua một chuỗi các bước cơ bản như đọc hoặc ghi dữ liệu vào cơ sở dữ liệu, thực hiện phép toán số học trong vùng làm việc riêng, và các thao tác như khóa, mở khóa, hay ủy thác hoàn tất giao dịch Những bước này được coi là nguyên tử, nghĩa là chúng không thể bị chia nhỏ hơn Ngay cả khi một phép toán kết thúc sau thời gian quy định, nó vẫn được xem là nguyên tử, vì các phép toán này chỉ ảnh hưởng đến vùng dữ liệu cục bộ khi giao dịch đang được thực hiện.
3.3.1.2 Mục dữ liệu Để quản lý các hoạt động đồng thời, CSDL phải được phân nhỏ thành các mục dữ liệu, đó là những đơn vị dữ liệu cần được truy xuất có điều khiển Bản chất và kích thước các mục dữ liệu do nhà thiết kế hệ thống chọn lựa Chẳng hạn trong mô hình dữ liệu quan hệ, chúng ta có thể chọn các mục lớn như các quan hệ, hoặc các mục nhỏ như các bộ hay thành phần của các bộ Chúng ta cũng có thể chọn lựa các mục có kích thước trung gian, như một khối của quan hệ Kích thước của các mục dữ liệu được hệ thống sử dụng gọi là độ mịn của hệ thống Một hệ thống được gọi là hạt mịn, nếu nó sử dụng các mục dữ liệu nhỏ và hệ thống là hạt thô nếu nó sử dụng các mục dữ liệu lớn.
Phương pháp phổ biến để kiểm soát truy xuất dữ liệu là sử dụng khóa Bộ quản lý khóa trong hệ quản trị có nhiệm vụ theo dõi các giao dịch đang đọc hoặc ghi vào mục dữ liệu Nếu phát hiện có giao dịch đang hoạt động, bộ quản lý khóa sẽ ngăn chặn các giao dịch khác truy xuất mục đó để tránh xung đột.
Chọn chế độ hạt thô giúp giảm chi phí duy trì khóa, vì cần ít không gian lưu trữ và tiết kiệm thời gian với ít hành động mở/đóng khóa Trong khi đó, độ hạt mịn cho phép nhiều giao dịch thực hiện song song, do xác suất các giao dịch yêu cầu khóa trên cùng một mục thấp.
Khóa là một đặc quyền truy xuất dữ liệu mà bộ quản lý khóa có thể cấp cho giao dịch hoặc thu hồi Có nhiều loại khóa, chẳng hạn như khóa đọc và khóa ghi Thông thường, chỉ một tập hợp con các mục được khóa tại một thời điểm, vì vậy bộ quản lý khóa lưu trữ các khóa hiện hành trong bảng khóa với các thông tin: (I, L, T) – trong đó giao dịch T sở hữu khóa kiểu L trên mục I.
3.3.1.4 Kiểm soát hoạt động đồng thời bằng khóa Để thấy được nhu cầu phải sử dụng khóa chúng ta xem xét ví dụ sau đây:
Xét hai giao dịch T1 và T2, mỗi giao dịch sẽ truy xuất một mục dữ liệu A, được giả định là có giá trị nguyên Sau đó, mỗi giao dịch sẽ cộng thêm 1 vào giá trị của A Cả hai giao dịch này đều thực hiện chương trình P.
Chúng ta thực hiện hai giao dịch T1 và T2 như sau:
A trong vùng làm việc của T1 5 5 6 6 6 6
A trong vùng làm việc của T2 5 5 5 6 6
Giá trị của A được lưu trữ trong cơ sở dữ liệu (CSDL), và khi mỗi giao dịch P đọc A vào vùng làm việc, nó sẽ cộng thêm 1 vào giá trị này trước khi ghi kết quả trở lại CSDL Mặc dù hai giao dịch đều thực hiện phép cộng 1 vào A, giá trị của A trong CSDL chỉ tăng lên 1.
Giải pháp thông dụng nhất cho vấn đề được trình bày trong ví dụ trên là cung cấp một khóa trên
A Trước khi đọc A, một giao dịch T phải khóa A lại, ngăn cản không cho giao dịch khác truy xuất
T chỉ có thể hoàn tất thao tác trên mục A khi A chưa bị khóa bởi giao dịch khác Nếu A đã bị khóa, T phải chờ cho đến khi giao dịch mở khóa A trước khi thực hiện thao tác.
Để ngăn chặn các sự cố không mong muốn, việc sử dụng khóa trong các chương trình giao dịch là cần thiết Mỗi mục cần được khóa trước khi thực hiện đọc hoặc ghi, với thao tác khóa hoạt động như một hàm đồng bộ hóa Điều này có nghĩa là nếu một giao dịch đã khóa một mục, nó sẽ không thể tiếp tục cho đến khi khóa được giải phóng bằng lệnh mở khóa từ giao dịch đó Ngoài ra, mỗi giao dịch có thể mở mọi khóa mà nó đã thiết lập Một lịch trình chứa các thao tác cơ bản của nhiều giao dịch, tuân theo quy tắc khóa, được gọi là hợp lệ.
Chương trình P của ví dụ trên được viết lại với các khóa như sau:
Hệ trợ giúp ra quyết định
Giới thiệu về hệ trợ giúp ra quyết định
4.3 Đặc tính của khai thác không xung đột
4.3.2 Khai thác có thứ tự
4.3.3 Đồ thị về thứ tự thực hiện các giao tác
Chương 5 An toàn dữ liệu và xử lý sai sót 3 3
5.1.1 Phạm vi an toàn dữ liệu
5.1.2 Các yêu cầu bảo vệ CSDL
5.2 Các điều khiển an toàn dữ liệu
5.2.1 Điều khiển luồng thông tin
TÊN CHƯƠNG MỤC TS LT TH BT KT
Chương 6 Đánh giá câu hỏi 3 2 1
6.2 Cấu trúc đại số câu hỏi
6.2.1 Cây đại số quan hệ
6.2.2 Các luật biến đổi cây đại số quan hệ
6.2.3 Các bước tối ưu cây đại số quan hệ
Chương 7 Cơ sở dữ liệu hướng đối tượng 12 5 6 1
7.1 Giới thiệu về hướng đối tượng
7.1.1 Các khái niệm hướng đối tượng
7.1.2 Mô hình hoá việc phân tích hướng đối tượng
7.1.3 Mô hình hóa dữ liệu
7.2 Nguyên tác của các mô hình hướng đối tượng
7.2.1 Mô hình hoá cácđối tượng
7.2.3 Xác định dạng dữ liệu
7.2.4 Các liên kết thừa kế giữa các lớp
7.2.5 Đa cấu và sự áp đặt
7.2.6 Xác định tập các đối tượng
7.2.8 Lược đồ CSDL hướng đối tượng
7.3 Tính bền vững các các đối tượng
7.3.2 Quản lý tính bền vững
7.3.3 Kế thừa tính bền vững
7.3.4 Tính bền vững do tham chiếu
7.3.5 Tích hợp với ngôn ngữ lập trình
7.4 Đại số với các đối tượng phức tạp
7.4.1 Mở rộng đại số quan hệ theo đường dẫn và các phương pháp
7.4.2 Các phép toán đại số
7.4.4 Đồ thị các phép toán
Chương 8 Cơ sở dữ liệu phân tán 15 5 9 1
8.1 Cấu trúc CSDL phân tán
8.2 Đánh giá CSDL phân tán
8.3 Thiết kế CSDL phân tán
8.4 Tính thông suốt và tính tự trị của CSDL phân tán
8.6 Khôi phục sai sót trong CSDL phân tán
Nhiệm vụ của sinh viên:
Tham gia đầy đủ các buổi học lý thuyết và thực hành, hoàn thành các bài tập được giao, cũng như thực hiện các bài kiểm tra giữa kỳ và bài thi kết thúc học phần theo quy định là những yêu cầu quan trọng trong quá trình học tập.
1 Nguyễn Xuân Huy,Giáo trình về cơ sở dữ liệu, Đại học Quốc Gia Hà Nội, 2000.
2 Nguyễn Xuân Huy-Lê Hoài Bắc,Bài tập cơ sở dữ liệu, Nhà xuất bản Thống kê, 2003.
3 Phạm Hữu Khang, Đoàn Thiện Ngân, Quản trị SQL Server 2000, Nhà xuất bản Thống kê,
Hình thức và tiêu chuẩn đánh giá sinh viên:
- Hình thức thi: thi viết.
Tiêu chuẩn đánh giá sinh viên bao gồm thái độ tham gia các buổi học lý thuyết và thực hành, kết quả thực hiện các bài tập được giao, cũng như điểm số từ các bài kiểm tra giữa kỳ và bài thi kết thúc học phần.
Thang điểm:Thang điểm chữ A,B,C,D,F. Điểm đánh giá học phần: Z=0,3X+0,7Y
Bài giảng này là tài liệuchính thức và thống nhất của Bộ môn Hệ thống Thông tin,
Khoa Công nghệ Thông tin và được dùng để giảng dạy cho sinh viên.
Chương 1 Hệ quản trị cơ sở dữ liệu 7
1.2 Các khả năng của một hệ quản trị cơ sở dữ liệu 7
Chương 2 Cơ sở dữ liệu hướng đối tượng 9
2.1 Nhu cầu về hệ thống cơ sở dữ liệu hướng đối tượng 9
2.1.1 Các đối tượng phức tạp 9
2.1.2 Quản lý các tri thức 9
2.1.3 Quản trị các dữ liệu phân tán 10
2.1.4 Nhu cầu về hệ thống cơ sở dữ liệu hướng đối tượng 10
2.2 Khái niệm về hướng đối tượng 11
2.3 Cơ sở dữ liệu hướng đối tượng 13
2.4 Thiết kế cơ sở dữ liệu hướng đối tượng 14
2.4.2 Tổng quát hóa và đặc biệt hóa 14
2.5 Xây dựng cơ sở dữ liệu hướng đối tượng 15
Chương 3 Cơ sở dữ liệu phân tán 17
3.1 Các phương pháp phân tán dữ liệu 17
3.1.1 Khái niệm về phân tán dữ liệu 17
3.1.1.1 Các lý do phân mảnh 17
3.1.1.4 Quy tắc phân mảnh đúng đắn 19
3.1.1.6 Các yêu cầu thông tin 19
3.1.2.1 Yêu cầu thông tin của phân mảnh ngang 20
3.1.2.2 Phân mảnh ngang nguyên thủy 21
3.1.2.3 Phân mảnh ngang dẫn xuất 23
3.2 Kiểm soát dữ liệu ngữ nghĩa 26
3.2.1.1 Khung nhìn trong quản lý tập trung 26
3.2.1.2 Cập nhật qua các khung nhìn 26
3.2.1.3 Khung nhìn trong cơ sở dữ liệu phân tán 27
3.2.2.1 Kiểm soát cấp quyền tập trung 27
3.2.2.2 Kiểm soát cấp quyền phân tán 28
3.3 Quản lý giao dịch và điểu khiền đồng thời phân tán 28
3.3.1 Các khái niệm cơ bản về giao dịch 28
3.3.1.4 Kiểm soát hoạt động đồng thời bằng khóa 30
3.3.1.7 Tính khả tuần tự của lịch biểu 32
3.3.2 Mô hình giao dịch đơn giản 33
3.3.2.1 Ý nghĩa của giao dịch – hàm đặc trưng 33
3.3.2.2 Kiểm tra tính khả tuần tự bằng đồ thị có hướng 35
3.3.4 Mô hình khóa đọc và khóa ghi 36
3.3.4.1 Ý nghĩa của giao dịch với khóa đọc và khóa ghi 36
3.3.4.2 Đồ thị tuần tự hóa trong các giao dịch Rlock v à Wlock 36
Chương 4 Hệ trợ giúp ra quyết định 38
4.1 Giới thiệu về hệ trợ giúp ra quyết định 38
4.2 Thiết kế cơ sở dữ liệu cho hệ trợ giúp ra quyết định 39
4.3 Kho dữ liệu và kho dữ liệu chuyên đề 40
4.3.2 Kho dữ liệu chuyên đề 41
4.3.3 Các lược đồ về chiều 42
4.4 Xử lý phân tích trực tuyến 43
4.4.3 Cơ sở dữ liệu nhiều chiều 44
Chương 1 Hệ quản trị cơ sở dữ liệu
1.1 Quan niệm về Cơ sở dữ liệu
Cơ sở dữ liệu (CSDL) là một tập hợp có cấu trúc của các dữ liệu tác nghiệp, được lưu trữ và sử dụng bởi các hệ ứng dụng cụ thể.
Ngày nay CSDL tồn tại trong hầu hết các ứng dụng, ví dụ:
-Ứng dụng quản lý kho hàng;
- Hệ thống đặt chỗ máy bay;
- Quản lý nguồn nhân lực…
Hệ quản trị cơ sở dữ liệu (DBMS) là phần mềm cho phép người dùng tạo lập và quản lý cơ sở dữ liệu, đồng thời kiểm soát tất cả các truy cập vào dữ liệu trong hệ thống.
Hệ cơ sở dữ liệu là gì?
Hệ CSDL là một hệ thống bao gồm 4 thành phần:
- CSDL hợp nhất: CSDL của hệ có hai tính chất tối thiểu hóa dư thừa và được chia sẻ.
Người sử dụng hệ thống cơ sở dữ liệu (CSDL) bao gồm tất cả những cá nhân có nhu cầu truy cập dữ liệu, từ người dùng cuối đến lập trình viên ứng dụng và quản trị viên hệ thống.
- Phần mềm quản trị CSDL.
- Phần cứng của hệ bao gồm các thiết bị nhớ thứ cấp được sử dụng để lưu trữ CSDL.
1.2 Các khả năng của một hệ quản trị CSDL.
Có hai khả năng cho phép phân biệt các hệ quản trị CSDL với các kiểu hệ thống lập trình khác:
- Khả năng quản lý dữ liệu tồn tại lâu dài;
Khả năng truy nhập hiệu quả các khối lượng dữ liệu lớn là đặc điểm quan trọng của hệ quản trị cơ sở dữ liệu (CSDL) CSDL tồn tại lâu dài và chứa các dữ liệu mà hệ quản trị truy cập và quản lý Điều này khác biệt với hệ thống xử lý tệp, vốn cũng quản lý dữ liệu lâu dài nhưng không cung cấp khả năng truy cập nhanh chóng đến các bộ phận dữ liệu tùy ý.
Hệ quản trị cơ sở dữ liệu (CSDL) là cần thiết khi khối lượng dữ liệu lớn, vì các kỹ thuật truy cập đơn giản như quét tuần tự chỉ phù hợp với dữ liệu nhỏ.
Khi đánh giá hai đặc điểm cơ bản của hệ quản trị cơ sở dữ liệu (CSDL), còn nhiều khả năng khác thường thấy trong các hệ thống CSDL thương mại, bao gồm khả năng mở rộng, tính bảo mật và hiệu suất tối ưu.
- Hỗ trợ ít nhất một mô hình dữ liệu hay một sự trừu tượng toán học mà qua đó người sử dụng có thể quan sát dữ liệu.
- Đảm bảo tính độc lập dữ liệu hay sự bất biến của các chương trìnhứng dụng đối với các thay đổi về cấu trúc trong mô hình dữ liệu.
Hỗ trợ các ngôn ngữ lập trình cao cấp cho phép người dùng định nghĩa cấu trúc dữ liệu, truy cập và thao tác dữ liệu một cách hiệu quả.
Quản trị giao dịch là khả năng cung cấp truy cập đồng thời và chính xác cho cơ sở dữ liệu (CSDL) từ nhiều người dùng cùng lúc.
Điều khiển truy cập là khả năng giới hạn quyền truy cập vào dữ liệu cho những người dùng không được phép, đồng thời cho phép kiểm tra tính chính xác của dữ liệu.
- Phục hồi dữ liệu, có nghĩa là khả năng phụ hồi, không làm mất mát dữ liệu đối với các lỗi của hệ thống.
Chương 2 Cơ sở dữ liệu hướng đối tượng
2.1 Nhu cầu về hệ thống CSDL hướng đối tượng
Hệ quản trị cơ sở dữ liệu quan hệ hiện nay được sử dụng phổ biến, nhưng vẫn chưa đáp ứng đầy đủ các yêu cầu thực tế Ngoài mô hình quan hệ, các mô hình mạng và phân cấp vẫn tiếp tục tồn tại và có ứng dụng nhất định Một số hạn chế của hệ quản trị cơ sở dữ liệu quan hệ cần được xem xét để cải thiện hiệu suất và khả năng đáp ứng nhu cầu người dùng.
2.1.1 Các đối tượng phức tạp
Một đối tượng có thể được xác định qua cấu trúc phức tạp của nó, như siêu văn bản, lược đồ, bức ảnh hoặc chương trình Sự phức tạp này được thể hiện qua cấu trúc của đối tượng và quá trình mô hình hóa các đối tượng.
- Ngôn ngữ hỏi trên các đối tượng.
Cơ sở dữ liệu quan hệ thường xử lý các loại dữ liệu quen thuộc như số, chữ, ngày tháng và giá trị logic Tuy nhiên, với các loại dữ liệu này, vẫn chưa thể biểu diễn các dữ liệu định tính hoặc danh sách một cách hiệu quả.
Mô hình hóa các đối tượng phức tạp và xử lý chúng trong hệ quản trị thông qua ngôn ngữ lập trình là một yêu cầu quan trọng Các đối tượng phức tạp được xem như các ký tự và dữ liệu phức, được mô tả bằng các kiểu đặc biệt trong chương trình Tuy nhiên, giải pháp này dẫn đến hiện tượng dư thừa mã và sự phụ thuộc giữa chương trình và dữ liệu, làm cho việc xử lý dữ liệu phức có kích thước lớn trở nên không hiệu quả.
Thiết kế cơ sở dữ liệu cho hệ trợ giúp ra quyết định
Các câu hỏi trong hệ thống trợ giúp quyết định cũng có đặc tính riêng, thường là rất phức tạp.
1 Tính phức tạp của biểu thức logic Các câu hỏi trợ giúp ra quyết định thường yêu cầu các biểu thức phức tạp trong câu lệnh dẫn đến khó viết, khó hiểu.
2 Tính phức tạp của phép toán kết nối quan hệ Các câu hỏi trợ giúp quyết định thường truy cập nhiều loại sự kiện Trong một CSDL được chuẩn hóa thì các câu hỏi loại này thường yêu cầu rất nhiều phép kết nối Do vậy, người thiết kế thường phải phi chuẩn CSDL bằng cách tiến hành trước một số phép kết nối trên các bảng.
3 Tính phức tạp của các hàm số Các câu hỏi trong hệ trợ giúp ra quyết định thường sử dụng các hàm thống kê, hàm toán học Chỉ một số ít các hệ thống đáp ứng được các loại câu hỏi dạng này Thường thì người thiết kế cho phép câu hỏi gọi đến đoạn chương trình được viết trong một ngôn ngữ lập trình hoặc ngôn ngữ khai thác dữ liệu khác.
4 Tính phức tạp về phân tích Để trả lời các câu hỏi trong hệ trợ giúp ra quyết định, người ta cần phải sử dụng nhiêu câu hỏi con Điều này gây khó khăn cho cả người sử dụng và hệ thống.
4.2 Thiết kế CSDL cho hệ trợ giúp ra quyết định
Việc thiết kế CSDL cho hệ trợ giúp ra quyết định được thực hiện ít nhất qua hai bước là bước thiết kế logic và thiết kế vật lý:
1 Thiết kế logic: tập trung vào việc chỉnh lý các quan niệm theo lý thuyết quan hệ Các bảng dữ liệu ứng với các quan hệ Người ta xác định các miền ứng với các kiểu dữ liệu, xác định các mối liên kết giữa các cột cảu bảng Tiếp theo là việc chuẩn hóa các bảng và xác định các điều kiện ràng buộc dữ liệu.
2 Bước thiết kế vật lý: tập trung vào tính hiệu quả của lưu trữ và hiệu suất của hệ thống Về nguyên tắc, người ta có thể lựa chọn bất kì một cách tổ chức dữ liệu nào, nhưng việc chuyển hóa mô hình logic sang mô hình vật lý theo đại số quan hệ là hợp lý hơn cả.
Các quy luật thiết kế logic không bị ảnh hưởng bởi việc sử dụng cơ sở dữ liệu (CSDL) và không phụ thuộc vào loại ứng dụng nào trên CSDL Do đó, việc thiết kế cho hệ thống tác nghiệp và hệ thống hỗ trợ quyết định cần được thực hiện một cách linh hoạt và phù hợp với từng mục đích sử dụng.
1 Tổ hợp các cột và ít phụ thuộc: Các câu hỏi trợ giúp quyết định thường xử lý tổ hợp các cột, chứ không dùng các cột đơn Có thể gọi tổ hợp các cột như một cột tổ hợp Theo quan điểm thiết kế logic, các cột tổ hợp có tư cách như cột bình tưhờng Điều này có tác dụng giảm số các phụ thuộc hàm giữa các cột đơn Việc này dẫn đến thiết kế logic đơn giản hơn, cũng như tạo thuận lợi đối với những kiểu dữ liệu do người dùng xác định.
2 Các ràng buộc về tính toàn vẹn: hệ trợ giúp quyết định là hệ thống cho phép chỉ đọc dữ liệu và tính toàn vẹn dữ liệu chỉ được kiểm tra lúc tải dữ liệu cho nên trong lược đồ logic người ta không đặt ra các điểm kiểm tra tính toán vẹn.
3 Các khóa về thời gian: Các CSDL tác nghiệp thường chỉ cần các dữ liệu hiện tại Các CSDL trợ giúp quyết đinh thường cần đến các dữ liệu lịch sử, nên người ta cần tính đến việc đánh dấu thời gian trên hầu hết các dữ liệu hay trên một vài dữ liệu Để quản lý các mốc thời gian, các thuộc tính khóa cũng cần được đánh dấu thời gian Việc làm này cần được quá trình thiết kế logic lưuý khi xác định các phụ thuộc hàm giữa các cột đánh dấu mới và các cột trong bảng.
CSDL trong hệ thống trợ giúp quyết định thường có kích thước lớn và yêu cầu nhiều loại dữ liệu dư thừa được kiểm soát Khái niệm phân đoạn và chỉ số hóa là rất quan trọng trong việc quản lý CSDL lớn Phân đoạn giúp chia các bảng dữ liệu thành các phần riêng biệt, tối ưu hóa công việc lưu trữ vật lý và cải thiện khả năng truy vấn Mỗi đoạn dữ liệu liên quan đến các tài nguyên như phần cứng, thời gian và bộ xử lý trung tâm, từ đó giảm thiểu sự cạnh tranh về tài nguyên cho từng đoạn dữ liệu.
Việc sử dụng các bảng chỉ số giúp tiết kiệm thời gian truy cập dữ liệu Mặc dù nhiều hệ quản trị cơ sở dữ liệu chỉ cung cấp chỉ số dạng cây cân đối, nhưng còn tồn tại nhiều loại chỉ số khác như bảng bit và hàm băm, đặc biệt hữu ích trong hệ thống hỗ trợ quyết định.
Dư thừa dữ liệu có điều khiển là công cụ thiết yếu giúp giảm thiểu các thao tác vào/ra và tối ưu hóa nội dung Hệ quản trị cơ sở dữ liệu (CSDL) sẽ tự động quản lý tính dư thừa này, người dùng không cần phải lo lắng về vấn đề này.
1 Quản lý các bản sao chính các của dữ liệu cơ bản và quản lý các bản sao.
2 Quản lý các dữ liệu suy diễn bên cạnh dữ liệu cơ bản Thông thường người ta sử dụng các bảng tổng hợp và /hoặc các cột thu được bằng cách tính toán hay suy diễn.
Kho dữ liệu và kho dữ liệu chuyên đề
Các hệ thống điều hành yêu cầu hiệu suất cao, kích thước giao tác nhỏ và tính hoạt động theo kế hoạch, trong khi hệ thống trợ giúp quyết định lại có yêu cầu đa dạng về hiệu suất và kích thước giao tác lớn, thường phụ thuộc vào cảm tính của người quản lý Sự khác biệt này gây khó khăn trong việc tích hợp các xử lý điều hành với trợ giúp quyết định trong một hệ thống thống nhất, đồng thời vẫn phải đáp ứng yêu cầu về kế hoạch, quản lý tài nguyên và điều chỉnh hiệu suất Do đó, người quản trị hệ thống điều hành thường không mặn mà với việc chấp nhận các hoạt động trợ giúp quyết định trong hệ thống của họ.
Phần này đề cập đến một vấn đề quan trọng trong các hệ thống trợ giúp ra quyết định, đó là khả năng truy cập dữ liệu từ nhiều nguồn khác nhau và các hệ thống điều hành đa dạng Những dữ liệu này thường được lưu trữ theo cách riêng biệt trong kho dữ liệu, ảnh hưởng đến quy trình ra quyết định.
Hình 4.1 Kiến trúc tổng quan của kho dữ liệu
Trích dữ liệu Làm sạch dữ liệu Chuyển hoá dữ liệu Tải dữ liệu
Kho dữ liệuMôi trường trợ giúp ra quyết định
Thuật ngữ "kho dữ liệu" xuất hiện từ cuối những năm 80 của thế kỷ XX, được sử dụng trong quản lý để hỗ trợ ra quyết định Kho dữ liệu là tập hợp các dữ liệu theo thời gian, không cho phép cập nhật, và được tích hợp theo chủ đề Khái niệm "không thể cập nhật" có nghĩa là khi dữ liệu được bổ sung, nó sẽ không thay đổi, mặc dù có thể bị xoá Khái niệm kho dữ liệu được đề xuất nhằm nâng cao hiệu quả quản lý thông tin.
1 Người ta cần sử dụng nguồn dữ liệu đơn, sạch, bền vững để trợ giúp việc ra quyết định
2 Hệ thống trợ giúp ra quyết định không chịu tácđộng của các hệ thống điều hành. Đ/N Kho dữ liệu (dataware house) Kho dữ liệu là nơi chứa các dữ liệu có yếu tố thời gian, không bị thay đổi, hướng chủ đề, dùngđể trợ giúp việc ra quyết định. Đ/N Kho dữ liệu xí nghiệp (Enterprise datawarehouse) Kho dữ liệu xí nghiệp là kho dữ liệu tích hợp, tập trung, là nguồn dữ liệu được điều khiển dùng cho việc ra quyết định của người sử dụng.
Mục đích chính của kho dữ liệu là hỗ trợ ra quyết định, do đó, nó cần được tăng cường với các chức năng truy vấn dữ liệu hiệu quả Kích thước của kho dữ liệu thường rất lớn để đáp ứng nhu cầu này Tính hạn chế phạm vi cho phép phân tích một yếu tố trong khi giả định rằng các yếu tố khác không thay đổi, giúp đơn giản hóa quá trình ra quyết định.
Người ta thấy rằng có một số vấn đề dẫn đến việc khảo sát và dùng khả năng hạn chế phạm vi trong hệ trợ giúp ra quyết định
- Các sai sót về thiết kế CSDL;
- Sự không hiệu quả của các phép toán quan hệ;
- Khả năng khôngđủ mạnh của các hệ quản trị CSDL theo mô hình quan hệ;
- Các lỗi về thiết kế kiến trúc làm hạn chế khả năng của hệ thống.
Các kho dữ liệu cung cấp nguồn đơn chất cho các hoạt động hỗ trợ ra quyết định, nhưng người sử dụng thường chỉ phân tích và báo cáo trên một phần nhỏ của kho dữ liệu Việc lặp lại các thao tác trên các phần nhỏ này không hiệu quả, dẫn đến nhu cầu về kho dữ liệu chuyên dụng, được xây dựng theo yêu cầu xử lý riêng của người sử dụng Kho dữ liệu chuyên đề (data mart) đóng vai trò như kho dữ liệu, nhưng cho phép cập nhật và hỗ trợ quyết định với mục đích đặc biệt hơn, giúp truy cập dữ liệu nhanh chóng và đồng bộ hơn.
Kho dữ liệu chuyên đề là một kho dữ liệu hạn chế, chứa các thông tin được lựa chọn và tổng hợp từ kho dữ liệu của doanh nghiệp Để xây dựng kho dữ liệu chuyên đề, thường có ba phương pháp tiếp cận chính.
1 Trích dữ liệu từ kho dữ liệu Các dữ liệu được trích từ kho dữ liệu để đạt được hiện suất phục vụ cao và có tính hạn chế phạm vi Thông thường các dữ liệu trích ra nàyđược tải vào CSDL có lược đồ vật lý gần giống với phần ứng dụng của kho dữ liệu Do tínhđặc biệt hơn của kho dữ liệu chuyênđề so với kho dữ liệu, lược đồ vật lý của dữ liệu có thể đơn giản hơn.
2 Tạo ra kho dữ liệu chuyênđề riêng biệt Tiếp cận này xuất phát từ tính đơn thể của kho dữ liệu, không trích dữ liệu từ kho dữ liệu và không truy cập kho dữ liệu do một vài nguyên nhân.
3 Coi kho dữ liệu chuyênđề là nền tảng của kho dữ liệu Một vài phát triển hệ thống trợ giúp ra quyết định đã xây dựng các kho dữ liệu chuyênđề trước tiên, mỗi khi cần thiết Kho dữ liệu sẽ được tao ra bằng cách tập hợp các kho dữ liệu chuyênđề. Đ/N Tính chia hạt Tính chia hạt trong cơ ở dữ liệu đề cập khả năng lưu trữ được phần tử nhỏ nhất cảu dữ liệu gộp trong CSDL.
Trong thiết kế kho dữ liệu chuyên đề, tính chia nhỏ thành hạt của cơ sở dữ liệu là yếu tố quan trọng cho bất kỳ hệ thống hỗ trợ ra quyết định nào Các kho dữ liệu dùng để ra quyết định thường yêu cầu truy cập dữ liệu chi tiết, do đó, yêu cầu chia nhỏ thành hạt không gây khó khăn lớn như trong kho dữ liệu chuyên đề Nếu kho dữ liệu chuyên đề được xây dựng bằng cách trích xuất dữ liệu từ kho dữ liệu mà không xem xét nhu cầu sử dụng dữ liệu ở mức hạt, việc trích xuất và cập nhật dữ liệu chi tiết sẽ trở nên tốn kém.
4.3.3 Các lược đồ về chiều.
Các hệ thống trợ giúp ra quyết định cần phân tích lịch sử giao dịch để truy cập thông tin lưu trữ Khi có nhu cầu, người dùng cần truy cập trực tiếp thông tin theo các khía cạnh cụ thể, chẳng hạn như sản lượng, nhà sản xuất và tuổi rượu Để đáp ứng nhu cầu này, cơ sở dữ liệu sử dụng nhiều bảng tra cứu, trong đó có tệp dữ liệu trung tâm chứa thông tin về các hoạt động và các bảng tra cứu liên quan đến sản lượng, nhà sản xuất và tuổi rượu Các bảng tra cứu giống như bảng chỉ số nhưng cho phép người dùng tác động một cách tường minh và có thể chứa thông tin phụ như địa chỉ nhà sản xuất.
Các tổ chức nhiều bảng tra cứu mang lại lợi ích vượt trội so với việc sử dụng một tệp tra cứu, cả về không gian bộ nhớ lẫn thời gian truy cập Trong cơ sở dữ liệu quan hệ, tệp dữ liệu và tệp tra cứu được chuyển đổi thành các bảng, với các con trỏ trong tệp tra cứu trở thành khóa chính và tên trong tệp dữ liệu trở thành khóa ngoại Điều này cho phép cả khóa chính và khóa ngoại được chỉ số hóa, tạo ra bảng sự kiện cho tệp dữ liệu và các bảng về chiều cho tệp tra cứu Thiết kế tổng thể này được gọi là lược đồ hình sao, nhấn mạnh mối liên kết giữa các bảng sự kiện và bảng về chiều trong thiết kế thực thể quan hệ.
Cơ sở dữ liệu RUOU bao gồm các thuộc tính như TenRuou, NhaSX, NamSX và SoLuong, trong đó thuộc tính NamSX được xác định trong khoảng thời gian từ năm t1 đến năm t2 Trong lược đồ hình sao, bảng RUOU được xem là bảng sự kiện, trong khi bảng SanXuat, với các thuộc tính Nam, NamBD và NamKT, được gọi là bảng về chiều.
Ruou TenRuou NhaSX NamSX SoLuong SanXuat Nam NamBD NamKT
Lược đồ hình sao, hay còn gọi là mô hình về chiều, là một thiết kế cơ sở dữ liệu đơn giản được sử dụng tại Hà Nội từ năm 1990 Trong lược đồ này, dữ liệu về chiều được tách biệt rõ ràng với dữ liệu về sự kiện, giúp tối ưu hóa việc truy xuất thông tin.
Xử lý phân tích trực tuyến
Xử lý phân tích trực tuyến (OLAP) là một phương pháp tương tác với hệ thống dữ liệu, cho phép người dùng thực hiện các thao tác tạo mới, quản lý, phân tích và lập báo cáo OLAP mở rộng từ cơ sở dữ liệu quan hệ, hỗ trợ các mô hình kinh doanh bằng cách sử dụng các quy tắc để truy cập nhanh chóng và dễ dàng đến dữ liệu Quá trình này sử dụng các công cụ đồ họa, giúp người dùng khám phá nhiều chiều của dữ liệu và thực hiện phân tích hiệu quả.
Quá trình phân tích yêu cầu gộp dữ liệu có thể thực hiện theo nhiều cách khác nhau, tùy thuộc vào phương thức nhóm dữ liệu Một yếu tố quan trọng trong xử lý phân tích trực tuyến là khả năng nhóm dữ liệu tăng nhanh chóng, do đó người dùng cần xem xét tất cả các khả năng này.
Kết quả phân tích trực tuyến thường được trình bày dưới dạng bảng chéo hai chiều thay vì bảng quan hệ Để tìm tổng số rượu do các công ty cung cấp, hãy tham khảo bảng dưới đây.
Ruou Ten CongTy Nam SoLuong
Bảng chéo được xây dựng để thể hiện câu trả lời, khác với bảng quan hệ ở chỗ số cột phụ thuộc vào dữ liệu thực Cấu trúc của bảng chéo và ý nghĩa của các dòng đều dựa vào giá trị thực của dữ liệu, vì vậy nó không phải là một quan hệ mà chỉ là một báo cáo có dạng ma trận hai chiều.
Quá trình xử lý phân tích trực tuyến (OLAP) có thể được thực hiện trong môi trường quan hệ, được gọi là ROLAP Tuy nhiên, nhiều người nhận thấy rằng OLAP nhiều chiều (MOLAP) là một phương pháp hiệu quả hơn.
MOLAP yêu cầu cơ sở dữ liệu nhiều chiều, với việc lưu trữ được gọi là lưu trữ theo quan niệm Trong thực tế, tổ chức vật lý của MOLAP gần gũi với tổ chức logic Hệ quản trị cơ sở dữ liệu trong trường hợp này được gọi là hệ quản trị cơ sở dữ liệu nhiều chiều, cho phép các cơ sở dữ liệu được thể hiện dưới dạng bảng hai hoặc ba chiều.