Tải bản đầy đủ (.pptx) (30 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (134.06 KB, 30 trang )

Kiểm soát dữ liệu ngữ nghĩa
(Semantic Data Control)
Dữ liệu ngữ nghĩa

Dữ liệu về các đối tượng trong CSDL

Tables , View, …

Dữ liệu về an toàn hệ thống

Người dùng – quyền truy cập của người dùng

Dữ liệu và bảo đảm tính nhất quán

Ràng buộc tòan vẹn
Các thông tin này được lưu trữ trong Catalogue
Kiểm soát dữ liệu ngữ nghĩa

Mục tiêu :
Bảo đảm cho phép các người thực hiện các tác vụ
(operations) lên CSDL phải bảo đảm tính nhất quán
dữ liệu của CSDL

Các công việc liên quan

Quản lý khung nhìn (View)

Kiểm sóat an toàn dữ liệu (data security)

Kiểm sóat tính nhất quán (integrity) dữ liệu
Quản lý khung nhìn



Khung nhìn là một quan hệ ảo (Virtual relation)

Được tạo ra từ kết quả một câu truy vấn (query)

Ví dụ : NV(MSNV, HT ,MSPB)
TG(MSNV,MSDT,NVU)
CREATE VIEW NV_IT
AS
SELECT MSNV, HT
FROM NV
WHERE MSPB = « IT »

Khung nhìn có thể được thao tác như đối với quan hệ cơ sở

View có thể được sử dụng như một giải pháp bảo đảm tính trong suốt
vị trí
Biến đổi câu truy vấn

Cấu truy vấn trên khung nhìn => câu truy vấn
tương đương trên các quan hệ cơ sở

Ví dụ :
SELECT HT, MSDT, NVU
FROM NV_IT, TG
WHERE NV_IT.MSNV = TG.MSNV
SELECT HT, MSDT, NVU
FROM NV, TG
WHERE NV.MSNV = TG.MSNV
AND MSPB=«IT»

Cập nhật khung nhìn

Một khung nhìn được gọi là có thể cập nhật
(updatable) nếu các thao tác trên khung nhìn có
thể lan truyền chính xác đến các quan hệ cơ sở
(không có sự nhập nhằng ngữ nghĩa)
CREATE VIEW NV_IT
AS
SELECT MSNV,HT
FROM NV
WHERE MSPB = ‘IT’
CREATE VIEW V1
AS
SELECT HT,NVU
FROM NV,TG
WHERE NV.MSNV = TG.MSNV
Khung nhìn trong CSDL phân tán

Có thể được xây dựng từ các phân mảnh
(Fragments)

Quản lý khung nhìn như đối với các quan hệ cơ sở

Các loại khung nhìn

Snapshot

Materialized View
Một ví dụ
R1

R4 = R1
V= R1 |x| R2
R2
Mạng
Các thuật toán refresh View

Thuật toán refresh trực tiếp : Tính lại toàn bộ
khung nhìn
Ví dụ V = R1 |x| R2
R1 => R1’, R2 => R2’
thì V=> V’ = R1’ |x| R2’

Thuật toán refresh phần thay đổi
giả sử R1’ = R1 + ∆R1; R2’ = R2 + ∆R2
∆V = ∆R1|x| R2 + ∆R2 |x| R1 - ∆R1 |x| ∆R2
Kiểm sóat an tòan dữ liệu
Kiểm sóat an tòan dữ liệu

Kiểm soát quyền đăng nhập
=> bảo đảm chỉ những người được cấp phép mới
có thể đăng nhập vào CSDL

Kiểm sóat quyền thao tác
=> bảo đảm các người có quyền đăng nhập chỉ
thao tác đúng với ngững gì mình được phép

Mã hóa dữ liệu
=> Ngăn chận các đăng nhập « bất hợp pháp »
Môi trường phân tán


Người dùng phân tán

Quyền đăng nhập cục bộ

Quyền đăng nhập từ xa
=> Vấn đề quản lý thông tin xác nhận người dùng

Đối tượng phân tán

Cấp quyền thao tác tập trung hay phân cấp ?

Vấn đề quản lý thông tin về các đối tượng
Quản lý thông tin người dùng

Mỗi node lưu trữ một bản thông thông người dùng
trên các đối tượng của hệ thống.
=> Mỗi người dùng riêng lẽ có thể kết nối trực tiếp
đến server từ xa

Mỗi node quản lý thông tin người dùng cục bộ và
các liên kết đến các node khác.
=> Một người dùng chỉ có thể truy xuất server từ xa
thông qua ‘đại diện’ là server cục bộ
Kiểm soát ràng buộc toàn vẹn
Đặc tả ràng buộc toàn vẹn

Ràng buộc toàn vẹn là một điều kiện bất biến trên
CSDL được biểu diễn dưới dạng một vị từ biến
bộ(tuple relational calculus).


Biến liên kết với lượng từ ( )∀ hoặc ( )∃

3 loại RBTV

Được định nghĩa trước (Predifined)

Được dịch trước (Precompiled)

Ràng buộc tổng quát
Đặc tả ràng buộc toàn vẹn (tt)

RBTV được định nghĩa trước

Not null

Unique

Foreign key

Function Dependency

RBTV được dịch

RBTV miền giá trị

RBTV về thay đổi giá trị của thuộc tính

RBTV tổng quát

RBTV liên thuộc tính


RBTV trên các phép gộp
Bảo đảm ràng buộc toàn vẹn

Bảo đảm RBTV là hủy các cập nhật làm vi phạm các
RBTV

Hai phương pháp để bảo đảm RBTV

Phát hiện

Thực hiện thay đổi D -> D’

Nếu RBTV bị vi phạm, thì hiểu chỉnh D->D’’ hoặc huỷ D’ và khôi
phục lại D

Ngăn ngừa

Thực hiện thay đổi D ->D’ chỉ nếu RBTV được bảo đảm
Bảo đảm RBTV phân tán

3 loại RBTV trên môi trường phân tán

RBTV cá thể ( bối cảnh 1 quan hệ)

Chỉ liên quan đến một quan hệ, một biến

Chỉ quan tâm đến bộ bị thay đổi

RBTV tập thể (bối cảnh nhiều quan hệ)


RBTV liên quan đến các phép gộp
Khó khăn trong bảm đảm RBTV phân tán

Làm sao định nghĩa ràng buộc ?

RBTV sẽ được lưu trữ ở đâu ?

Làm thế nào để bảo đảm RBTV ?
Định nghĩa và lưu trữ RBTV

Định nghĩa một RBTV mới có thể được thực hiện tại
vị trí chứa quan hệ có liên quan đến RBTV, nhưng
sau đó phải lan truyền đến các vị trí có chứa các
phân mảnh liên quan

RBTV cá thể (có bối cảnh một quan hệ) : RBTV
được gởi đi tất cả các vị trí có chứa phân mảnh của
quan hệ liên quan đến ràng buộc

RBTV tập thể (có bối cảnh nhiều quan hệ) : tiến
hành phép kết các phân mảnh hoạc quan hệ
Bảo đảm RBTV phân tán

Phức tạp hơn bảo đảm RBTV trên môi trường tạp trung

Xác định vị trí tại đó RBTV được kiểm tra

Tùy thuộc vào


Loại ràng buộc

Loại cập nhật

Ví trí tại đó yêu cầu cập nhật được phát ra

Loại RBTV cá thể

Thêm ( insert) : kiểm tra tại vị trí nơi update được phát ra

Sửa đổi (Update) : gởi đi tất cả các vị trí có chứa các phân mảnh của quan hệ

Loại RBTV tập thể

Di chuyển dữ liệu để thực hiện kết nối

Rồi gởi kết quả về vị trí mà yêu cầu cập nhật phát sinh
QUẢN LÝ DỮ LiỆU PHÂN TÁN VỚI
ORACLE
ORACLE NAME SERVER

Quản lý catalog tòan cục (a global directory
service)

Tên tòan cục của CSLD (Global Database
Names)

Mỗi CSDL có một tên tòan cục duy nhất

Tên CSDL.tên internet

Ví dụ sales.division.acme.com

Tên toàn cục của đối tượng dữ liệu
sheme.sheme_object@global_database_name
Ví dụ :
Database Link

Định nghĩa một truyền tin một chiều (one-way
communication) từ CSDL này đến CSDL khác

Một liên kết (link) đến một CSDL khác phải được tạo
trước khi thao tác

Tất cả các liên kết sẽ phải được DBA tạo trước
Database Link (tt)

Các loại liên kết

Private

Public

Global

×