Kiểm soát dữ liệu ngữ 
nghĩa 
(Semantic Data 
Control) 
Dữ liệu ngữ nghĩa 
n  Dữ liệu về các đối tượng trong CSDL 
n  Tables , View, … 
n  Dữ liệu về an toàn hệ thống 
n  Người dùng – quyền truy cập của người dùng 
n  Dữ liệu và bảo đảm tính nhất quán 
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 
n  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 
n  Các công việc liên quan 
n  Quản lý khung nhìn (View) 
n  Kiểm sóat an toàn dữ liệu (data security) 
n  Kiểm sóat tính nhất quán (integrity) dữ liệu 
Quản lý khung nhìn 
n  Khung nhìn là một quan hệ ảo (Virtual relation) 
n  Được tạo ra từ kết quả một câu truy vấn (query) 
n  Ví dụ : NV(MSNV, HT ,MSPB) 
 TG(MSNV,MSDT,NVU) 
 CREATE VIEW NV_IT 
 AS 
 SELECT MSNV, HT 
 FROM NV 
 WHERE MSPB = « IT » 
n  Khung nhìn có thể được thao tác như đối với quan hệ cơ sở 
n  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 
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ở 
n  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 
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 
n  Có thể được xây dựng từ các phân mảnh 
(Fragments) 
n  Quản lý khung nhìn như đối với các quan hệ cơ 
sở 
n  Các loại khung nhìn 
n  Snapshot 
n  Materialized View 
Một ví dụ 
R1 R4 = R1 
V= R1 |x| R2 
R2 
Mạng 
Các thuật toán refresh View 
n  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’ 
n  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 
n  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 
n  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 
n  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 
n  Người dùng phân tán 
n  Quyền đăng nhập cục bộ 
n  Quyền đăng nhập từ xa 
=> Vấn đề quản lý thông tin xác nhận người dùng 
n  Đố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 
n  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 
n  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ộ 
Quản lý thông tin về đối tượng dữ 
liệu 
n  Catalogue tòan cục được đặt tại mỗi vị trí 
n  Quản lý tập trung 
n  Quản lý theo bản chính (Primary copy) 
QUẢN LÝ DỮ LiỆU 
PHÂN TÁN VỚI 
ORACLE 
ORACLE NAME SERVER 
n  Quản lý catalog tòan cục (a global directory service) 
n  Tên tòan cục của CSLD (Global Database Names) 
n  Mỗi CSDL có một tên tòan cục duy nhất 
n  Tên CSDL.tên internet 
Ví dụ sales.division.acme.com 
n  Tên toàn cục của đối tượng dữ liệu 
 sheme.sheme_object@global_database_name 
Ví dụ : 
[email protected] 
Database Link 
n  Định nghĩa một truyền tin một chiều (one-way 
communication) từ CSDL này đến CSDL khác 
n  Một liên kết (link) đến một CSDL khác phải 
được tạo trước khi thao tác 
n  Tất cả các liên kết sẽ phải được DBA tạo trước 
Database Link (tt) 
n  Các loại liên kết 
n  Private 
n  Public 
n  Global 
Private Database Link 
n  Người sử dụng (user) có thể tạo loại liên kết 
này 
n  Chỉ có chủ (owner) của liên kết được sử dụng 
liên kết này để truy cập CSDL từ xa 
Public Database link 
n  Người dùng có thể tạo lọai liên kết này 
n  Tất cả người dùng có thể dùng liên kết này để 
truy xuất đến các CSDL từ xa 
n  Khi nhiều người dùng đề cần truy cập đến một 
CSDL từ xa, thì DBA có thể tạo một liên kết 
lọai Public cho mọi người dùng chung 
Global Database Link 
n  Khi Oracle Network dùng cơ chế tên tòan cục 
thì Oracle Name Server sẽ tự động tạo các liên 
kết đến mỗi CSDL 
n  Oracle Name Server quản lý tập trung các liên 
kết toàn cục này 
Lệnh tạo liên kết 
 CREAT [PUBLIC] DATABASE LINK <tên 
databse> 
 [CONNECTED TO 
 [IDENTIFIED BY ]] 
Các giải pháp bảo đảm 
trong suốt vị trí 
n  View 
n  Synonyms 
 có thể tạo synonyms cho các đối tượng : table, 
view, procedure 
 CREATE [PUBLIC] synonym_name FOR 
[schema.]object_name[@database_link_name] 
n  Procedures 
Kiểm sóat tính nhất 
quán dữ liệu 
Kiểm soát tính nhất quán dữ liệu 
n  Xác định các ràng buộc toàn vẹn trên lược đồ 
toàn cục 
n  Xác định các ràng buộc toàn vẹn trên lược đồ 
cục bộ 
n  Bảo đảm các ràng buộc tòan vẹn cục bộ như 
đối với CSDL tập trung 
n  Đối với các RBTV tòan cục không được bảo 
đảm từ RBTV cục bộ thì phải tìm ra giải pháp 
để phi phí kiểm tra là thấp nhất