Cộng đồng chia sẻ tri thức Lib24.vn

3.2. Kiểm soát dữ liệu ngữ nghĩa

Gửi bởi: Đỗ Thị Ngọc Dung 19 tháng 2 2020 lúc 11:26:58


Mục lục
* * * * *

3.2.1. Quản lý khung nhìn

Một trong những ưu điểm của mô hình quan hệ là nó cung cấp được tính độc lập dữ liệu logic Trong một hệ thống quan hệ, khung nhìn được định nghĩa như là kết quả vấn tin trên quan hệ cơ sở hoặc quan hệ thực, nhưng không được vật chất hóa như một quan hệ cơ sở, nghĩa là không được lưu thực sự trong CSDL. Một khung nhìn là một cửa sổ động theo nghĩa là nó ph ản ánh tất cả mọi cập nhật trên CSDL. Một lược đồ ngoài có th ể được định nghĩa là một tập các khung nhìn. Bên cạnh việc sử dụng chúng trong lược đồ ngoài, các khung nhìn còn có tác d ụng bảo đảm được tính an toàn dữ liệu bằng một cách rất đơn giản. Nhờ chọn ra một tập con của CSDL, các khung nhìn đã che dấu đi một số dữ liệu. Nếu người sử dụng chỉ được phép truy xuất CSDL qua các khung nhìn, họ không thể thấy hoặc thao tác trên các dữ liệu ẩn vì thế chúng được bảo vệ.

Cần chú ý trong môi trường phân tán, một khung nhìn có thể lấy dữ liệu từ các quan hệ phân tán và việc truy xuất một khung nhìn đòi hỏi phải thực thi câu vấn tin phân tán tương ứng với định nghĩa khung nhìn.

Khung nhìn trong CSDL phân tán

Các khung nhìn trong hệ thống phân tán có thể được dẫn xuất từ các quan hệ đã phân m ảnh được lưu ở nhiều vị trí khác nhau. Bởi vì khung nhìn có thể được sử dụng làm quan hệ cơ sở trong các ứng dụng, định nghĩa của chúng phải được lưu trong các thư mục giống như các mô tả của quan hệ cơ sở. Tùy vào m ức độ tự trị của vị trí được đưa ra bởi hệ thống, các định nghĩa khung nhìn có thể được tập trung tại một vị trí, được 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 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í đưa ra câu vấn tin thì sẽ phải truy xuất từ xa đến vị trí có định nghĩa

khung nhìn đó.

Trong phần trước chúng ta đã xem xét các phân m ảnh của quan hệ, xét theo một khía cạnh nào đó các phân mảnh thực sự rất giống định nghĩa các khung nhìn cụ thể.

3.2.1.1. Khung nhìn trong quản lý tập trung

Phần lớn các hệ quản trị CSQL quan hệ đều sử dụng cơ chế khung nhìn. Một khung nhìn là một quan hệ được dẫn xuất từ các quan hệ cơ sở như kết quả của một vấn tin quan hệ. Nó được định nghĩa bằng cách gán tên của khung nhìn cho câu vấn tin.

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:

CREATE VIEW SYSAN

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ó thể được định nghĩa bằng các câu truy vấn phức tạp với các phép chọn, chiếu, kết nối, các hàm gộp… Và tất cả các khung nhìn có thể được truy xuất như một quan hệ cơ sở,

nhưng không phải tất cả chúng có khả năng cập nhật. Cập nhật qua khung nhìn chỉ được xử lý tự động nếu chúng có thể được 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ị CSDL quan hệ hiện đại đều 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, ví dụ 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.

Bởi vì khung nhìn có thể được sử dụng làm quan hệ cơ sở trong các ứng dụng, định nghĩa của chúng ph ải được lưu trong CSDL giống như các quan hệ cơ sở. Tùy thu ộc vào mức độ tự trị của vị trí được đưa ra bởi hệ thống, các định nghĩa khung nhìn có thể được tập trung tại một vị trí, được 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ủa nó phải được nhân bản. Nếu định nghĩa khung nhìn không có t ại vị trí đưa ra câu vấn tin thì sẽ phải truy xuất từ xa đến vị trí có định nghĩa khung nhìn đó.

3.2.2. An toàn d ữ liệu

An toàn CSDL là m ột nhiện vụ quan trọng của hệ thống CSDL nhằm bảo vệ dữ liệu không bị truy xuất “bất hợp pháp”. An toàn dữ liệu bao gồm hai vấn đề: bảo vệ dữ liệu và kiểm soát cấp quyền.

Bảo vệ dữ liệu nhằm tránh cho những người “không có phân sự” hiểu được nội dung vật lý của dữ liệu. Chức năng này do hệ thống tập tin đảm trách trong các hệ điều hành tập trung và phân tán. Phương pháp chính là mã hóa d ữ liệu, được dùng cho c ả các thông tin được lưu trên đĩa lẫn thông tin trao đổi trên mạng. Dữ liệu đã mã hóa chỉ có thể được “giải mã” bởi những người sử dụng được quyền.

Kiểm soát cấp quyền phải đảm bảo rằng chỉ những người được phép mới được thực hiện các thao tác trên CSDL. Nh ững người sử dụng khác nhau có thể có quyền truy xuất đến một lương lớn dữ liệu dưới sự kiểm soát thống nhất của một hệ thống tập trung hay phân tán. Vì thế các DBMS phân tán hay t ập trung phải có khả năng hạn chế truy xuất một phần dữ liệu đối với một tập con những người sử dụng.

3.2.2.1. Kiểm soát cấp quyền tập trung

Ba tác nhân chính có liên quan đến việc kiểm soát cấp quyền là: người sử dụng, là người kích hoạt các chương trình ứng dụng; các thao tác được gắn vào ứng dụng; và các đối tượng CSDL sẽ được các thao tác tác động.

Kiểm soát cấp quyền bao gồm việc xem bộ ba (người sử dụng, thao tác, đối tượng) có được phép tiến hành hay không? M ột quyền hạn xác định rằng người sử dụng có quyền thực hiện một thao tác thuộc loại nào trên m ột đối tượng.

Khai báo một người sử dụng (hay nhóm người sử dụng) với hệ thống thường được thực hiện bằng một cặp (tên người sử dụng, mật khẩu). Cả tên và m ật khẩu đều phải trình ra khi đăng nhập vào hệ thống. Điều đó ngăn chặn những người không có thẩm quyền xâm nhập vào hệ thống.

Quyền hạn biểu thị mối liên hệ giữa những người sử dụng và một đối tượng ứng với một tập các thao tác cụ thể. Trong các hệ quản trị CSDL dựa trên SQL, một thao tác là một câu lệnh bậc cao

như SELECT, INSERT, UPDATE, hoặc DELETE… Các quyền được định nghĩa hoặc thu hồi bằng các lệnh:

GRANT <thao tác> ON <đối tượng> TO <Người sử dụng>

REVOKE <thao tác> FROM <đối tượng> TO <Người sử dụng>

3.2.2.2. Kiểm soát cấp quyền phân tán

Các vấn đề của kiểm soát cấp quyền trong môi trường phân tán có nguồn gốc từ sự kiện là các đối tượng và các ch ủ thể đề phân tán. Những vấn đề này bao gồm: 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à việc xử lý các khung nhìn và các nhóm ng ười sử dụng. Có hai giải pháp cho vấn đề này:

1.  Thống tin xác nhận người sử dụng được nhân bản tại tất cả các vị trí trong mạng. Các chương trình cụ bộ cũng phải chỉ rõ tên và m ật khẩu của người sử dụng.

2.  Tất cả các vị trí trong hệ thống phân tán cũng nhận diện và xác nh ận nhau tương tự như cách người sử dụng thực hiện. Giao tiếp giữa các vị trí được bảo vệ bằng cách sử dụng mật khẩu của vị trí. Một khi vị trí đã được xác nhận thì không cần phải xác nhận người sử dụng của chúng.

Các quy tắc cấp quyền phân tán được diễn tả theo cùng phương thức như trong hệ tập trung. Giống như các định nghĩa khung nhìn, chúng phải được lưu vào trong hồ cơ cấu trúc của CSDL. Chúng có th ể được nhân bản hoàn toàn t ại mỗi vị trí hoặc lưu tại các vị trí của các đối tượng cần truy xuất. Ưu điểm chính của lối tiếp cận nhân bản hoàn toàn là vi ệc cấp quyền có thể được xử lý bằng kỹ thuật hiểu chỉnh vấn tin vào lúc biên d ịch. Giải pháp thứ hai tốt hơn trong trường hợp tính chất cục bộ của tham chiếu rất cao. Tuy nhiên việc cấp quyền phân tán không thể kiểm soát được vào lúc biên d ịch.

Khung nhìn có thể được xem như các đối tượng của cơ chế cấp quyền. Khung nhìn là những đối tượng phức tạp, nghĩa là nó được cấp tạo bởi những đối tượng cơ sở khác. Vì thế trao quyền truy xuất đến một khung nhìn được dịch thành trao quyền truy xuất đến các đối tượng cơ sở. Nếu định nghĩa khung nhìn và các quy tắc cấp quyền được nhân bản hoàn toàn thì việc biên dịch này khá đơn giản và có th ể thực hiện tại chỗ.

Nhóm các người sử dụng dùng c ấp quyền chung làm đơn giản công việc quản lý CSDL phân tán. Trong các DBMS t ập trung, khái niệm “mọi người sử dụng” có thể được xem là nhóm công cộng. Trong môi trường phân tán, nhóm công cộng biểu thị cho tất cả mọi người sử dụng của hệ thống. Tuy nhiên, người ta thường đưa ra một mức trung gian nhằm mô tả nhóm công cộng tại một vị trí cụ thể.

Quản lý các nhóm trong môi trường phân tán đặt ra một số vấn đề phải giải quyết bởi vì các chủ thể của một nhóm có thể cư ngụ tại nhiều vị trí khác nhau và quyền truy xuất đến một đối tượng có thể được trao cho nhiều nhóm, mà bản thân chúng lại phân tán. Nếu thông tin của nhóm và các quy tắc cấp quyền được nhân bản hoàn toàn t ại tất cả mọi vị trí thì việc duy trì quyền truy xuất tương tự như trong hệ thống tập trung. Tuy nhiên việc duy trì các bản sao này hết sức tốn kém.


Được cập nhật: hôm qua lúc 15:51:41 | Lượt xem: 603

Các bài học liên quan