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

Dữ liệu ngữ nghĩa

n  Tables , View, …

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

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

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

n  Ràng buộc tòan vẹn

Các thông tin này được lưu trữ trong Catalogue

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

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

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  Mục tiêu :

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

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

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

(Fragments)

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

sở

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

n  Snapshot n  Materialized View

n  Các loại khung nhìn

Một ví dụ

R1

R4 = R1

Mạng

V= R1 |x| R2

R2

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

=> 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 soát quyền đăng nhập

=> 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  Kiểm sóat quyền thao tác

=> Ngăn chận các đăng nhập « bất hợp pháp »

n  Mã hóa dữ liệu

Môi trườ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  Người dùng phân tán

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

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 lưu trữ một bản thông thông người

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ộ

n  Mỗi node quản lý thông tin người dùng 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ụ : scot.emp@sales.division.acme.com

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

được tạo trước khi thao tác

n  Một liên kết (link) đến một CSDL khác phải

n  Tất cả các liên kết sẽ phải được DBA tạo trước

Database Link (tt)

n  Private n  Public n  Global

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

Private Database Link

này

n  Người sử dụng (user) có thể tạo loại liên kết

liên kết này để truy cập CSDL từ xa

n  Chỉ có chủ (owner) của liên kết được sử dụng

Public Database link

truy xuất đến các CSDL từ xa

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 để

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

kết toàn cục này

n  Oracle Name Server quản lý tập trung các liên

Lệnh tạo liên kết

CREAT [PUBLIC] DATABASE LINK [CONNECTED TO [IDENTIFIED BY ]]

Các giải pháp bảo đảm trong suốt vị trí

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  View n  Synonyms

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

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  Xác định các ràng buộc toàn vẹn trên lược đồ

đối với CSDL tập trung

n  Bảo đảm các ràng buộc tòan vẹn cục bộ như

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