1. Trang chủ
  2. » Công Nghệ Thông Tin

Kiểm soát dữ liệu ngữ nghĩa (CSDL phân tán)

22 471 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 249,46 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

PHÁN ĐOÁN BIÊN DỊCHMột phán đoán biên dịch là bộ ba R,T,C, trong đó R là quan hệ, T là kiểu cập nhật; C là một phán đoán biến thiên trên các quan hệ vi phân có mặt trong một cập nhật kiể

Trang 2

Hình 3-1 Quan hệ tương ứng với khung nhìn SYSAN

M.SmithB.CaseyJ.Jones

E1E5 E8

ENAMEENO

SYSAN

3.1 QUẢN LÝ KHUNG NHÌN

3.1.1 Khung nhìn trong hệ CSDL tập trung

Khung nhìn trong hệ CSDL tập trung là một quan hệ trung gian nó là kết quả của một câu vấn tin truy xuất từ các quan hệ của cơ sở dữ liệu tập trung

Ví dụ 3-1

Tạo khung nhìn tên SYSAN chứa nội dung của hai thuộc tính ENO và ENAME với nghề nghiệp TITLE là “Syst.Anal.”

Câu lệnh SQL là:

CREATE VIEW SYSAN(ENO, ENAME)

AS SELECT ENO, ENAMEFROM EMP

WHERE TITLE = “Syst.Anal.”

Kết quả

Chú ý: Cửa sổ SYSAN không được lưu lại, tuy nhiên có thể dùng nó để xử lý các câu vấn tin như một quan hệ

Trang 3

Hình 3-2 Kết quả câu vấn tin dùng khung nhìn SYSAN và dùng trực tiếp các quan hệ cơ sở đều có kết quả như nhau

AnalystAnalystManagerManager

P1P2P3P4

M Smith

M SmithB.CaseyJ.Jones

RESPPNO

ENAME

Ví dụ 3-2

Thực hiện câu truy vấn: “Cho biết tên các Analyst cùng mã số dự án và nhiệm vụ của họ” Câu truy vấn này đưa ra trên khung nhìn SYSAN từ quan hệ ASG được viết như sau:

SELECT ENAME, PNO, RESP

FROM SYSAN, ASG

WHERE SYSAN.ENO = ASG.ENO

Kết quả hình 3-2 cũng có thể thực hiện câu truy vấn trực tiếp trên các quan hệ cơ sở EMP , ASG như sau:

SELECT ENAME , PNO , RESP FROM EMP , ASG

WHERE EMP.ENO = ASG.ENO AND TITLE = “Syst.Anal.”

Kết quả câu vấn tin được thể hiện ở hình 3-2

Trang 4

3.1.2 Cập nhật qua khung nhìn

Khung nhìn có thể là: “Cập nhật được” và “Không cập nhật được”

Khung nhìn là cập nhật được nếu tất cả các tương tác cập nhật trên khung nhìn được chuyển chính xác đến các quan hệ cơ sở mà không gây ra sự nhầm lẫn nào

Ví dụ khung nhìn SYSAN ở ví dụ 3-1 là cập nhật được, chẳng hạn khi chèn (201, Smith, Syst.Anal.) tức là ENO = 201 và ENAME = Smith và TITLE = Syst.Anal; chúng ta sẽ cóthêm một phân tích viên mới (ENO, ENAME, TITLE) = (201, Smith , Syst.Anal.) vào quan hệ EMP

Khung nhìn là không cập nhật được nếu tất cả các thay đổi trên khung nhìn không chuyển chính xác đến các quan hệ cơ sở

Ví dụ:

CREATE VIEW EG (ENAME, RESP)

AS SELECT ENAME , RESP

FROM EMP , ASG

WHERE EMP.ENO = ASG.ENO

là không cập nhật được vì nếu xóa bộ có khoá E2 thì thao tác này không thể thực hiện vìkhông biết xóa nó ở EMP hay ở ASG Vì trong cả quan hệ EMP và quan hệ ASG đều

có bộ có khoá này, nên hệ thống không hiểu nên xóa ở quan hệ nào!

Trang 5

An toàn dữ liệu được thể hiện bởi hai kiểm soát quyền: Kiểm soát cấp quyền tập trung

và kiểm soát cấp quyền phân tán

• Kiểm soát cấp quyền cho phép NSD được truy cập ở mức độ nào đó, ví dụ chỉ được phép đọc một phần dữ liệu hay một số mảnh…

• Dựa vào giải pháp kiểm soát cấp quyền trong các hệ thống tập trung để đưa ra giải pháp cho hệ quản trị CSDL phân tán Tuy nhiên độ phức tạp cao hơn, do các đối tượng và người sử dụng cũng có thể được phân tán

Ba tác nhân kiểm soát cấp quyền:

1 Người sử dụng Khai báo người sử dụng phải có user name và password

2 Các thao tác được gắn vào ứng dụng như SELECT, INSERT, UPDATE hoặc

DELETE,…

3 Các đối tượng CSDL sẽ được các thao tác tác động vào Các đối tượng cần được bảo

vệ là các tập con của CSDL Đối tượng có thể là khung nhìn, quan hệ, bộ hoặc thuộc tính,…

Lệnh trao quyện:

GRANT <Kiểu thao tác> ON <Đối tượng> TO <NSD>

Lệnh tước quyền:

REVOKE<Kiểu thao tác> FROM <Đối tượng> TO <NSD>

Từ khoá public dùng để cho phép mọi người đều được quyền

Việc trao và thu hồi quyền chỉ được thực hiện bởi người quản trị

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

Trang 6

Hình 3-4 cho ví dụ về bảng cấp quyền trong đó đối tượng gồm là hai quan hệ EMP vàASG và một thuộc tính là ENAME, còn người sử dụng là Casey, Jones và Smith.

Hình 3-4: Ví dụ về bảng cấp quyền

NONESELECT

NONESmith

SELECT…FROM…WHERE RESP  “Manager”SELECT

SELECTJones

UPDATEUPDATE

UPDATECasey

ASGENAME

EMPĐối tượng

Người SD

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

Cấp quyền phân tán là cấp quyền cho NSD ở xa Để tránh có sự thâm nhập trái phép thì người sử dụng phải được nhận diện và xác minh tại ví trí truy xuất thông qua hai biện pháp:

i Thông tin người sử dụng như tên, mật khẩu được nhân bản tại các vị trí trong hồ

sơ cấu trúc Các chương trình ứng dụng cục bộ, nếu được khởi hoạt ở vị trí xa cũng phải được xác nhận tên và mật khẩu của người sử dụng

ii 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 đã làm cho người sử dụng

Trang 7

3.3 KIỂM SOÁT TÍNH TOÀN VẸN NGỮ NGHĨA

Trạng thái CSDL được gọi là nhất quán nếu nó thoả mãn tập các ràng buộc về ràng buộc toàn vẹn ngữ nghĩa

Duy trì CSDL nhất quán phải dùng đến nhiều cơ chế khác nhau như điều khiển hoạt động đồng thời, độ tin cậy, bảo vệ và kiểm soát tính toàn vẹn ngữ nghĩa

Có hai loại ràng buộc toàn vẹn: ràng buộc cấu trúc và ràng buộc hành vi

i Ràng buộc cấu trúc Diễn tả ngữ nghĩa cơ bản vốn có trong mô hình Ví dụ đó là ràng buộc: khoá, liên kết một nhiều giữa các đối tượng,

ii Ràng buộc hành vi Diễn tả các đối tượng Ví dụ phụ thuộc hàm, hoặc mô tả đặc tính

và cấu trúc của đối tượng

Một hệ thống kiểm soát ngữ nghĩa có hai thành phần:

1 Ngôn ngữ: để diễn tả và thao tác các phán đoán toàn vẹn ngữ nghĩa

2 Định chế chịu trách nhiệm thực hiện các hành động cụ thể nhằm cưỡng chế tính toàn vẹn khi có cập nhật

Ràng buộc toàn vẹn phải do người quản trị CSDL thiết lập trên cơ sở của một ngôn ngữbậc cao, ví dụ dùng SQL Chúng ta cần phân biệt ba loại ràng buộc toàn vẹn là: ràng buộc tiền định, ràng buộc tiền biên dịch và ràng buộc tổng quát

3.3.1 Kiểm soát toàn vẹn ngữ nghĩa tập trung

Trang 8

Ràng buộc tiền định là các ràng buộc đã cho trước

Ví dụ về các ràng buộc tiền định

ENO NOT NULL IN EMP; /*Thuộc tính ENO không nhận giá trị null

(ENO, PNO) UNIQUE IN ASG; /*Giá trị khoá (ENO, PNO) phải duy nhất

PNO IN ASG REFERENCES PNO IN PROJ; /*PNO trong ASG là khoá ngoại tương

ứng với khoá chính PNO trong quan hệ PROJ ENO IN EMP DETERMINES ENAME; /*Giá trị mã số nhân viên ENO, xác định giá trị

hàm tên nhân viên ENAME

Ràng buộc tiền định, tiền biên dịch và tổng quát

CHECK ON <Tên quan hệ> WHEN <Kiểu cập nhật>

được bổ sung thêm khả năng đặc tả kiểu cập nhật để kiểm tra ràng buộc tiền biên dịch

Ràng buộc tiền biên dịch

Trang 9

Ví dụ về ràng buộc tiền biên dịch

1/ Ràng buộc miền Chẳng hạn như Kiểm tra ngân sách của dự án trong khoảng từ

500000 đến 1000000

CHECK ON PROJ (BUDGET> 500000 AND BUDGET <1000000)

2/ Ràng buộc miền khi xoá, Chẳng hạn Chỉ xoá các bộ giá trị có ngân sách bằng không.CHECK ON PROJ WHEN DELETE (BUDGET = 0)

3/ Ràng buộc khi di chuyển

CHECK ON PROJ (NEW.BUDGET = OLD.BUDGET AND NEW.PNO = OLD.PNO)

Ràng buộc tổng quát là các công thức phép tính trên bộ của quan hệ, trong đó tất cả các biến đều được lượng tử hoá Nó tổng quát hơn ràng buộc tiền biên dịch, vì nó có thểtham chiếu đến nhiều quan hệ Ví dụ chúng ta phải dùng ít nhất 3 ràng buộc tiền biên dịch để diễn tả một ràng buộc tổng quát liên quan đến ba quan hệ

Cú pháp của ràng buộc tổng quát:

CHECK ON<Danh sách tên biến>: <Tên quan hệ>,(<Lượng từ hoá>)

Ràng buộc tổng quát

Trang 10

Cưỡng chế thi hành ràng buộc toàn vẹn

Cưỡng chế thi hành ràng buộc toàn vẹn bao gồm việc loại bỏ các chương trình cập nhật vi phạm ràng buộc đã có Ràng buộc bị vi phạm do cập nhật sinh ra trong trạng thái mới của CSDL

Có hai p.pháp phế bỏ các cập nhật sinh ra mâu thuẫn như sau:

Giả sử cập nhật U chuyển CSDL từ trạng thái D sang trạng thái DU Cách dùng các ràng buộc cưỡng chế trong D vẫn phải đúng trong DU Nếu không thì DBMS sẽ chuyển sang trạng thái D’U bằng cách hiệu chỉnh DU để đúng trong D’U nếu vẫn không đúng thì phải quay lại D Cách kiểm tra này được áp dụng sau khi trạng thái của CSDL đã thay đổi nên nó được gọi là kiểm tra sau

Phương pháp 1 Phát hiện mâu thuẫn

Trang 11

Thao tác cập nhật chỉ được thực hiện nếu nó chuyển CSDL sang trạng thái nhất quán khác Việc kiểm tra được thực hiện trước khi trạng thái CSDL được thay đổi và vì vậy cách kiểm tra được gọi là kiểm tra trước Phương pháp ngăn chặn mâu thuẫn hiệu quả hơn phươnh pháp phát hiện mâu thuẫn vì chúng ta không phải quay lại trạng thái của CSDL trước đó khi có ràng buộc bị vi phạm

Câu vấn tin “Tăng ngân sách (BUDGET) dự án CAD/CAM lên 10% chỉ trong trường hợp sau khi tăng BUDGET mới phải  (500,000 ; 1,000,000)

Câu vấn tin chưa cưỡng chế:

UPDATE PROJ SET BUDGET = BUDGET * 1.1 WHERE PNAME = “CAD/CAM”

Câu vấn tin có cưỡng chế:

UPDATE PROJ

SET BUDGET = BUDGET * 1.1

WHERE PNAME = “CAD/CAM”

AND NEW BUDGET  500000

AND NEW BUDGET 1000000

Phương pháp 2 Ngăn chặn mâu thuẫn

Các ví dụ.

Trang 12

PHÁN ĐOÁN BIÊN DỊCH

Một phán đoán biên dịch là bộ ba (R,T,C), trong đó R là quan hệ, T là kiểu cập nhật; C

là một phán đoán biến thiên trên các quan hệ vi phân có mặt trong một cập nhật kiểu T Khi một tập ràng buộc L được định nghĩa, thì cũng sinh ra một tập các phán đoán biên dịch cho các quan hệ

Một quan hệ trong tập ràng buộc L được cập nhật bởi U, các phán đoán biên dịch cần phải được kiểm tra với các phán đoán được định nghĩa trên L cho kiểu cập nhật U

Gọi u là một cập nhật quan hệ R

• Nếu U là phép chèn sẽ sinh ra quan hệ R+ gồm các bộ chèn vào R,

• Nếu U là phép xóa sẽ sinh ra quan hệ R- gồm các bộ xoá khỏi R

Gọi R+, R- và R+(R-R-) là các quan hệ vi phân Rõ ràng R+ =  nếu u là thao tác xoá,

và R- =  nếu U là thao tác chèn

• Nếu U là phép sửa đổi bộ sẽ sinh ra quan hệ R+(R - R-)

Định nghĩa phán đoán biên dịch

Cho các phán đoán biên dịch đi kèm với ràng buộc:

(ASG, INSERT, C1), (PROJ, DELETE, C2), và (PROJ, MODIFI, C3)

Ví dụ

Trang 13

THUẬT TOÁN CƯỠNG CHẾ

Trong đó:

C1 là  NEW  ASG+,  j  PROJ : NEW.PNO = j.PNO

C2 là  g  ASG ,  OLD  PROJ- : g.PNO  OLD.PNO

C3 là  g  ASG ,  OLD  PROJ- :  NEW  PROJ+ :

g.PNO  OLD.PNO OR OLD.PNO = NEW.PNO

Có 3 lớp phán đoán cơ bản là: phán đoán đơn quan hệ, đa quan hệ và các phán đoán

có hàm gộp nhóm

Thuật toán cưỡng chế được thực hiện theo hai bước:

Bước 1: Tạo ra quan hệ vi phân R+ và R- từ R,

Bước 2: Truy xuất các bộ trong R+ và R- để lấy ra các bộ không thỏa các phán đoán

biên dịch Nếu không truy xuất được bộ nào, phán đoán sẽ có gía trị

Thao tác xoá trên PROJ thì cưỡng chế (PROJ, DELETE, C2) gồm các câu lệnh sau:

Result  Truy xuất tất cả các bộ của PROJ-, trong đó (C2) đúng

Thì nếu Result là rỗng, phán đoán này đã được xác nhận (nghĩa là  g  ASG ,  OLD

 PROJ- : g.PNO = OLD.PNO đúng mà Result = ; thì phán đoán này đã được xác nhận bởi phép cập nhật

Ví dụ.

Trang 14

3.3.2 Kiểm soát toàn vẹn ngữ nghĩa phân tán bằng các loại phán đoán

Một phán đoán được xem là một vấn tin, phán đoán nhận giá trị đúng hoặc sai với mỗi bộtrong tích Descartes của các quan hệ được xác định bởi các biến bộ Do các phán đoán liên quan đến dữ liệu lưu ở nhiều vị trí khác nhau, nơi lưu trữ chúng cần phải được cân nhắc để giảm chi phí thẩm tra toàn vẹn

Một phán đoán toàn vẹn có thể bắt đầu tại một trong các vị trí có lưu các quan hệ có mặt trong phán đoán Vì cơ sở dữ liệu được phân mảnh, do đó một phán đoán toàn vẹn trởthành một thao tác phân tán và được thực hiện theo hai bước:

Bước 1 Biến đổi các phán đoán ở cấp cao thành các phán đoán biên dịch

Bước 2 Lưu các phán đoán biên dịch theo lớp, các lớp phán đoán gồm: Lớp phán đoán riêng, lớp phán đoán hướng tập hợp và lớp phán đoán có các hàm gộp

Lớp phán đoán có các hàm gộp được xử lý như lớp 1 hoặc lớp 2, tùy thuộc vào đặc tính của chúng là riêng hay hướng tập

Trang 15

1 Lớp phán đoán riêng

Là lớp các phán đoán đơn biến và đơn quan hệ, chỉ đề cập đến các

bộ được cập nhật, độc lập với phần còn lại của CSDL

Định nghĩa của phán đoán riêng được gửi đến các vị trí lưu các mảnh

có mặt trong phán đoán Các phán đoán phải tương thích với vị trí phân mảnh ở hai cấp: cấp vị trí và cấp dữ liệu

Phán đoán C xem là không tương thích với vị trí phân mảnh P, nếu C đúng suy ra P sai Khi đó C bị loại bỏ toàn cục Nếu có tương thích, thì phán đoán C sẽ được lưu lại tại mọi vị trí

Trang 16

2 Lớp phán đoán hướng tập hợp

Phán đoán hướng tập hợp là loại đơn hoặc đa biến; nghĩa là chúng chứa vị từ nối biến đơn quan hệ Ví dụ loại đơn biến: mã số nhân viên xác định phụ thuộc hàm tên nhân viên là:

ENO IN EMP DETEMINES ENAME

Và đa biến đa quan hệ như ràng buộc khoá ngoại ở ví dụ 3–7: Mã số PNO dự án trong quan hệ ASG là khoá ngoại tương ứng với khoá chính PNO của hệ PROJ Nói cách khác là một dự án được tham chiếu trong quan hệ ASG phải tồn tại trong quan hệ PROJ.

Việc thẩm tra tính tương thích cũng gồm cả các mảnh của quan hệ được

sử dụng trong vị từ nối Tương thích vị từ không có tác dụng gì ở đây vì chúng ta không thể suy ra rằng một vị từ phân mảnh p sai nếu phán

đoán C (dựa trên vị từ nối) đúng Vì thế chúng ta cần phải thẩm tra C

theo dữ liệu

Trang 17

Ví dụ 3.19

Xét phán đoán biên dịch hướng tập hợp (ASG, INSERT, C1), trong đó

C1 là: NEW ASG+ , j  PROJ : NEW.PNO = j.PNO

Xét ba trường hợp sau.

1 ASG dược phân mảnh theo vị từ ASG PNO PROJi

trong đó PROJi là một mảnh của quan hệ PROJ Trong trường hợp này, mỗi bộ NEW của ASG đã được đặt tại cùng vị trí với bộ j sao cho NEW.PNO = j.PNO Bởi vì vị từ phân mảnh giống với vị từ của C1, việc thẩm tra tương thích không mất chi phí truyền dữ liệu.

2 PROJ phân mảnh ngang theo

p1: PNO < “P3” và

p2: PNO  "P3"

Trong trường hợp này, mỗi bộ NEW của ASG được so sánh các bộ trong PROJ1 nếu NEW.PNO < “P3”, hoặc trong PROJ2 nếu NEW.PNO  “P3".

3 PROJ phân mảnh ngang theo p1 : PNAME = "CAD/CAM“

p2: PNAMF  "CAD/CAM"

Trong trường hợp nay, mỗi bộ của ASG phải được so với cả hai mảnh PROJ1 và PROJ2

Trang 18

3.3.3 Cưỡng chế thi hành các phán đoán toàn vẹn phân tán

Cưỡng chế thi hành các phán đoán toàn vẹn phân tán phức tạp hơn so với tập trung Vấn đề là vị trí nào sẽ thực hiện cưỡng chế Lựa chọn vị trí phụ thuộc vào lớp phán đoán, kiểu cập nhật, và bản chất của vị trí đưa ra yêu cầu cập nhật (được gọi là vị trí vấn tin chính) Vị trí này có thể có hoặc không có quan

hệ cần cập nhật hoặc một số quan hệ có mặt trong phán đoán toàn vẹn Tham

số quan trọng cần xem xét là chi phí truyền dữ liệu, kể cả các thông báo, từ vị trí này đến vị trí khác

Chúng ta xem xét hai trường hợp:

1/ Nếu cập nhật là chèn, tất cả các bộ cần chèn đã được người sử dụng cung cấp Trong trường hợp này, phán đoán riêng có thể được cưỡng chế thi hành tại vi trí đưa ra cập nhật

2/ Nếu là xóa hoặc sửa đổi, nó sẽ được gửi đến các vị trí có quan hệ cần cập nhật Thể xử lý vấn tin sẽ cho thực hiện lượng từ hóa cập nhật cho mỗi mảnh Các bộ được tạo ra tại mỗi vị trí sẽ được tổ hợp lại thành một quan

hệ tạm thời trong trường hợp câu lệnh xóa, hoặc hai trong trường hợp hiệu chình (nghĩa là R+ và R-) Mỗi vị có mặt trong cập nhật đều thẩm tra các phán đoán có liên quan đến vị trí đó (ví dụ ràng buộc miền khi xóa)

3.3.3.1 Phán đoán riêng

Ngày đăng: 21/01/2016, 18:12

HÌNH ẢNH LIÊN QUAN

Hình 3-1. Quan hệ tương ứng với khung nhìn  SYSAN - Kiểm soát dữ liệu ngữ nghĩa (CSDL phân tán)
Hình 3 1. Quan hệ tương ứng với khung nhìn SYSAN (Trang 2)
Hình 3-2. Kết quả câu vấn tin dùng khung nhìn SYSAN và dùng  trực tiếp các quan hệ cơ sở  đều có kết quả như nhau. - Kiểm soát dữ liệu ngữ nghĩa (CSDL phân tán)
Hình 3 2. Kết quả câu vấn tin dùng khung nhìn SYSAN và dùng trực tiếp các quan hệ cơ sở đều có kết quả như nhau (Trang 3)
Hình 3-4 cho ví dụ về bảng cấp quyền trong đó đối tượng gồm là hai quan hệ EMP và ASG và một thuộc tính là ENAME, còn người sử dụng là Casey, Jones và Smith. - Kiểm soát dữ liệu ngữ nghĩa (CSDL phân tán)
Hình 3 4 cho ví dụ về bảng cấp quyền trong đó đối tượng gồm là hai quan hệ EMP và ASG và một thuộc tính là ENAME, còn người sử dụng là Casey, Jones và Smith (Trang 6)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w