Tải bản đầy đủ (.pdf) (80 trang)

Luận văn thạc sĩ khoa học máy tính: Bảo vệ bản quyền các cơ sở dữ liệu quan hệ trong hệ thống quản lý giáo dục bằng kỹ thuật thủy vân

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 (2.01 MB, 80 trang )

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

A, B,

NGUYỄN TRẦN PHƯƠNG

BẢO VỆ BẢN QUYỀN CÁC CƠ SỞ DỮ LIỆU QUAN
HỆ TRONG HỆ THỐNG QUẢN LÝ GIÁO DỤC
BẰNG KỸ THUẬT THỦY VÂN

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

THÁI NGUYÊN - 2016


ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

NGUYỄN TRẦN PHƯƠNG

BẢO VỆ BẢN QUYỀN CÁC CƠ SỞ DỮ LIỆU QUAN
HỆ TRONG HỆ THỐNG QUẢN LÝ GIÁO DỤC
BẰNG KỸ THUẬT THỦY VÂN
Chuyên ngành:

KHOA HỌC MÁY TÍNH

Mã số:



60 48 01 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS.TS Bùi Thế Hồng

THÁI NGUYÊN - 2016


i

LỜI CẢM ƠN
Để thực hiện đề tài, ngoài nỗ lực của cá nhân thì rất cần đến sự hỗ trợ về nhiều
mặt, đó là nỗ lực của bản thân; tận tâm của các Thầy; chia sẻ kinh nghiệm của đồng
nghiệp; tạo điều kiện của lãnh đạo đơn vị về sự hỗ trợ về hạ tầng kỹ thuật, v.v…, bên
cạnh việc động viên khích lệ của gia đình trong quá trình học tập, nghiên cứu. Đây là
dịp, cá nhân tôi gửi lời cảm tạ đến các tổ chức, cá nhân đã tạo điều kiện trực tiếp cũng
như gián tiếp để luận văn được hoàn thành.
Với lý do như vậy, tác giả gửi lời cảm ơn đến các đồng nghiệp, lãnh đạo trường
Cao đẳng Kinh tế Kỹ thuật, lãnh đạo Ngành giáo dục tỉnh Hòa Bình. Đặc biệt em
cũng gửi lời tri ân tới các Thầy của trường Đại học Công nghệ thông tin & Truyền
thông - Đại học Thái Nguyên; Viện Công nghệ thông tin - Viện Hàn Lâm Khoa học
và Công nghệ Việt Nam đã nhiệt tình giảng dạy.
Cuối cùng, với lòng biết ơn sâu sắc học trò gửi đến PGS.TS Bùi Thế Hồng đã
tận tâm trong suốt thời gian hướng dẫn nghiên cứu, thực hiện đề tài và hoàn thiện
luận văn. Mặc dù rất cố gắng, nhưng lần đầu tiếp cận với công tác nghiên cứu khoa
học một cách bài bản, nên luận văn không thể tránh khỏi những thiếu sót mà bản thân
chưa nhận thức ra. Rất mong được sự góp ý của Thầy và các đồng nghiệp để luận văn
hoàn thiện hơn.

Xin chân thành cảm ơn!
Thái nguyên, ngày 10 tháng 05 năm 2016
Tác giả luận văn

Nguyễn Trần Phương


ii

LỜI CAM ĐOAN
Nội dung của luận văn chuyên ngành khoa học máy tính trình độ sau đại học
là sự thể hiện kết quả nghiên cứu của đề tài: “Bảo vệ bản quyền các cơ sở dữ liệu
quan hệ trong hệ thống quản lý giáo dục bằng kỹ thuật thủy vân”. Đây là nghiên cứu
của cá nhân dưới sự hướng dẫn khoa học của PGS.TS. Bùi Thế Hồng.
Những số liệu, kết quả đã được nêu trong luận văn đều được thực hiện trong
quá trình phân tích, thiết kế, xây dựng và thử nghiệm trong từng giai đoạn nghiên cứu
của đề tài. Vì vậy tôi xin cam đoan các kết quả này chưa từng được công bố trong bất
kỳ công trình nào khác trong chuyên ngành khoa học máy tính.
Tôi xin chịu trách nhiệm về nghiên cứu của mình.
Tác giả luận văn

Nguyễn Trần Phương


iii

MỤC LỤC
LỜI CẢM ƠN ........................................................................................................................i
LỜI CAM ĐOAN ................................................................................................................ ii
MỤC LỤC........................................................................................................................... iii

DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT ....................................................... vi
DANH MỤC CÁC BẢNG............................................................................................... viii
DANH MỤC CÁC HÌNH VẼ ............................................................................................ix
MỞ ĐẦU ...............................................................................................................................1
1.

Tính cấp thiết..........................................................................................................1

2.

Mục tiêu và phương pháp nghiên cứu ..................................................................2

3.

Những điểm mới trong luận văn ...........................................................................2

4.

Bố cục của luận văn ...............................................................................................2

CHƯƠNG 1. TỔNG QUAN THỦY VÂN .........................................................................4
1.1.

TỔNG QUAN VỀ ỨNG DỤNG THỦY VÂN HIỆN NAY ..............................4

1.1.1.

Xác thực và bảo vệ bản quyền đối với cơ sở dữ liệu quan hệ......................5

1.1.2.


Vài nét về hiện trạng việc xác thực nguồn cơ sở dữ liệu quan hệ trong hệ

thống lý giáo dục...................................................................................................................6
1.2.

MỘT SỐ KHÁI NIỆM VỀ THỦY VÂN VÀ CƠ SỞ DỮ LIỆU QUAN HỆ ...7

1.2.1.

Thủy vân ..........................................................................................................7

1.2.2.

Thủy vân cơ sở dữ liệu quan hệ .....................................................................8

1.2.3.

Khóa thủy vân .................................................................................................8

1.2.4.

Khái quát về hàm băm ....................................................................................9

1.2.5.

Cơ sở dữ liệu. ............................................................................................... 12

1.2.6.


Mô hình dữ liệu quan hệ.............................................................................. 13

1.2.7.

Thuộc tính và khóa ...................................................................................... 17

1.2.8.

Ngôn ngữ truy vấn ....................................................................................... 19

1.2.9.

Bảo mật và bảo vệ hệ thống thông tin ........................................................ 21

1.3.
1.3.1.

NHỮNG TẤN CÔNG TRÊN THUỶ VÂN CƠ SỞ DỮ LIỆU QUAN HỆ ... 22
Cập nhật thông thường ................................................................................ 22


iv

1.3.2.
1.4.

Tấn công có chủ đích................................................................................... 22
KẾT LUẬN CHƯƠNG ...................................................................................... 23

CHƯƠNG 2. KỸ THUẬT THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ ....................... 25

2.1.

MỘT SỐ KỸ THUẬT THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ............... 25

2.1.1.

Yêu cầu cơ bản của việc thủy vân cơ sở dữ liệu quan hệ.......................... 25

2.1.2.

Các kỹ thuật thủy vân cơ sở dữ liệu quan hệ ............................................. 27

2.1.2.1.

Kỹ thuật thủy vân sử dụng các bit ít ý nghĩa nhất .............................. 27

2.1.2.2.

Kỹ thuật thuỷ vân sử dụng các bit ý nghĩa nhất ................................. 28

2.1.2.3.

Kỹ thuật thuỷ vân dựa vào kỹ thuật tối ưu hoá ................................... 29

2.1.2.4.

Kỹ thuật thủy vân dựa vào các phép hoán vị...................................... 30

2.1.2.5.


Kỹ thuật thủy vân có các thuộc tính phân loại ................................... 31

2.2.

CÁC LƯỢC ĐỒ THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ ........................ 32

2.2.1.

Lược đồ thủy vân sử dụng các bit ít ý nghĩa nhất...................................... 33

2.2.2.

Lược đồ thủy vân sử dụng các bit ý nghĩa nhất ......................................... 33

2.2.3.

Lược đồ thủy vân dựa vào kỹ thuật tối ưu hóa .......................................... 34

2.2.4.

Lược đồ thủy vân dựa vào các phép hoán vị.............................................. 34

2.2.5.

Lược đồ thủy vân có các thuộc tính phân loại ........................................... 36

2.3.

THUẬT TOÁN THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ.......................... 38


2.3.1.

Thuật toán băm Message-Digest algorithm 5 ............................................ 38

2.3.2.

Thuật toán thủy vân sử dụng các bit ít ý nghĩa .......................................... 39

2.3.2.1.

Nhúng thủy vân LSB ............................................................................. 39

2.3.2.2.

Phát hiện thủy vân LSB ........................................................................ 40

2.3.3.

Thuật toán thủy vân sử dụng các bit ý nghĩa ............................................. 41

2.3.3.1.

Nhúng thủy vân MSB............................................................................ 41

2.3.3.2.

Phát hiện thủy vân MSB....................................................................... 41

2.3.4.


Thuật toán thủy vân dựa vào kỹ thuật tối ưu hóa ...................................... 42

2.3.4.1.

Nhúng thủy vân dựa vào kỹ thuật tối ưu hóa ...................................... 42

2.3.4.2.

Phát hiện thủy vân dựa vào kỹ thuật tối ưu hóa ................................. 43

2.3.5.
2.3.5.1.

Thuật toán thủy vân dựa vào các phép hoán vị.......................................... 44
Nhúng thủy vân dựa vào các phép hoán vị ......................................... 44


v

2.3.5.2.
2.3.6.

Phát hiện thủy vân dựa vào các phép hoán vị .................................... 45
Thuật toán thủy vân dựa vào các thuộc tính phân loại .............................. 46

2.3.6.1.

Nhúng thủy vân có các thuộc tính phân loại ...................................... 46

2.3.6.2.


Phát hiện thủy vân có các thuộc tính phân loại ................................. 47

2.4.

KẾT LUẬN CHƯƠNG ...................................................................................... 49

CHƯƠNG 3. THUẬT TOÁN VÀ CHƯƠNG TRÌNH MÔ PHỎNG............................ 50
3.1.

BẢO VỆ BẢN QUYỀN CƠ SỞ DỮ LIỆU QUAN HỆ TRONG HỆ THỐNG

QUẢN LÝ GIÁO DỤC..................................................................................................... 50
3.1.1.

Những yêu cầu cụ thể với việc bảo vệ bản quyền cơ sở dữ liệu quan hệ

trong hệ thống quản lý giáo dục........................................................................................ 50
3.1.1.1.

Những đặc điểm của cơ sở dữ liệu quan hệ trong quản lý giáo dục. 50

3.1.1.2.

Yêu cầu với thủy vân cơ sở dữ liệu quan hệ trong quản lý giáo dục 53

3.1.2.

Xây dựng lược đồ thủy vân cơ sở dữ liệu .................................................. 53


3.1.2.1.

Nhúng thủy vân ..................................................................................... 54

3.1.2.2.

Lược đồ phát hiện thủy vân.................................................................. 54

3.1.3.

Xây dựng thuật toán thủy vân cơ sở dữ liệu quan hệ ................................ 54

3.1.3.1.

Thuật toán nhúng thủy vân .................................................................. 54

3.1.3.2.

Thuật toán phát hiện thủy vân ............................................................. 56

3.2.

THIẾT KẾ CÀI ĐẶT ......................................................................................... 57

3.2.1.

Những modul chính của thuật toán nhúng thủy vân.................................. 57

3.2.2.


Những modul chính thuật toán phát hiện thủy vân.................................... 59

3.3.

THỬ NGHIỆM ................................................................................................... 60

3.4.

ĐÁNH GIÁ KẾT QUẢ ...................................................................................... 62

3.4.1.

Đánh giá thuật toán nhúng và phát hiện thủy vân ..................................... 63

3.4.2.

Độ phức tạp của thuật toán.......................................................................... 64

3.5.

KẾT LUẬN CHƯƠNG ...................................................................................... 64

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ....................................................................... 65
TÀI LIỆU THAM KHẢO................................................................................................. 66
Tài liệu tiếng Việt .............................................................................................................. 66
Tài liệu tiếng Anh .............................................................................................................. 66


vi


DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT

Ý nghĩa

Ký hiệu
l

Độ dài của chuỗi thuỷ vân



Số thuộc tính của quan hệ



Tổng số bit trong thủy vân



Số các bit LSB sẵn sàng để đánh dấu trong một thuộc tính



Số các bộ của quan hệ



mức ý nghĩa của phép thử để phát hiện một thủy vân




Tham số phát hiện thủy vân



Tham số tạo thủy vân

||

Phép ghép nối

|S i|

Độ dài của vectơ S i

ANSI

Viện tiêu chuẩn quốc gia Hoa Kỳ - American National
Standards Institute

CNTT

Công nghệ thông tin

CRHF

Hàm băm khó xung đột - Collision Resistant Hash Function

CSDL


Cơ sở dữ liệu

Gi

Nhóm thứ i

H()

Hàm băm

K

Khóa thủy vân

LSB

Bit ít ý nghĩa nhất - Least Significant Bit

M

Số phần phân hoạch dữ liệu

MAC

Mã xác thực thông điệp - Message Authentication Code

MD5

Thuật toán băm Message - Digest algorithm 5


MDC

Mã phát hiện sự sửa đổi - Manipulation Detection Code

MSB

Bit ý nghĩa nhất - Most Significant Bit

OWHF

Hàm băm một chiều - One-Way Hash Function


vii

Ý nghĩa

Ký hiệu
R

Lược đồ quan hệ

R

Quan hệ thuộc lược đồ R

RDB

Cơ sở dữ liệu quan hệ - Relation database


ri

Bộ thứ i trong quan hệ r

riAj

Giá trị thuộc tính thứ j của bộ thứ i

SQL

Structured Query Language

SWOT

Điểm mạnh (Strengths) - Điểm yếu (Weaknesses) - Cơ hội (Op
portunities) - Thách thức (Threats)

T*

Ngưỡng giải mã tối ưu

W

Thông tin thủy vân ở dạng chuỗi bit nhị phân

WRDB

Thủy vân cơ sở dữ liệu quan hệ - Watermark RDB

Xmax


Các thống kê nhúng cực đại

Xmin

Các thống kê nhúng cực tiểu

Δi

Vectơ thao tác trong Rn

tH

Chi phí sinh một số ngẫu nhiên của hàm băm

tmod

Chi phí của phép mod

tif

Chi phí của phép if

tdelA

Chi phí cho phép xóa một thuộc tính

tbit

Chi phí cho việc gán hoặc so sánh một bit


tcount

Chi phí gán hoặc cập nhật một con đếm

mcount

Số bit cần thiết để ghi một con đếm

mtuple

Số bit để ghi một bản sao của một bộ

mwkey

Số bit ghi khóa thủy vân

mpkey

Số bit ghi giá trị khóa chính


viii

DANH MỤC CÁC BẢNG

Bảng 1.1.

Một số hàm băm ................................................................................ 12


Bảng 1.2.

Quan hệ biểu diễn thành bảng ......................................................... 14

Bảng 1.3.

Các loại dữ liệu cơ sở thường dùng của SQL................................ 20

Bảng 2.1.

Phân tích khả năng áp dụng của kỹ thuật LSB.............................. 27

Bảng 2.2.

Phân tích khả năng áp dụng của kỹ thuật MSB. ........................... 28

Bảng 2.3.

Phân tích khả năng áp dụng của kỹ thuật tối ưu hóa. ................... 29

Bảng 2.4.

Phân tích khả năng áp dụng kỹ thuật dựa vào phép hoán vị. ...... 30

Bảng 2.5.

Phân tích khả năng áp dụng của kỹ thuật thủy vân cơ sở dữ liệu

quan hệ có các thuộc tính phân loại.. ............................................................................. 31



ix

DANH MỤC CÁC HÌNH VẼ

Hình 1.1.

Phân loại các kiểu hàm băm .............................................. 10

Hình 1.2.

Cấu trúc tổng quát của hàm băm ........................................ 11

Hình 1.3.

Một ví dụ về mối quan hệ.................................................. 15

Hình 1.4.

Mô hình dữ liệu quan hệ.................................................... 17

Hình 2.1.

Lược đồ WRDB tổng quát................................................. 32

Hình 2.2.

Lược đồ WRDB sử dụng bit ít ý nghĩa nhất (LSB)............... 33

Hình 2.3.


Lược đồ WRDB sử dụng bit ý nghĩa nhất (MSB) ................ 33

Hình 2.4.

Lược đồ WRDB sử dụng kỹ thuật tối ưu hóa....................... 34

Hình 2.5.

Lược đồ WRDB dựa vào phép hoán vị ............................... 35

Hình 2.6.

Lược đồ WRDB dựa vào các thuộc tính phân loại ............... 37

Hình 3.1.

Lược đồ nhúng thủy vân trong hệ thống quản lý giáo dục ..... 54

Hình 3.2.

Lược đồ phát hiện thủy vân trong hệ thống quản lý giáo dục. 54

Hình 3.3.

Giao diện nhúng thủy vân.................................................. 60

Hình 3.4.

Giao diện phát hiện thủy vân ............................................. 61


Hình 3.5.

Kiểm tra số lượng thủy vân và kết luận ............................... 61


Trang 1

MỞ ĐẦU
1. Tính cấp thiết
Với sự phát triển và ứng dụng CNTT trong các lĩnh vực đời sống xã hội, bảo
vệ và xác minh quyền sở hữu trí tuệ là việc hết sức khẩn thiết để khẳng định tác quyền
sản phẩm: văn bản, âm thanh, hình ảnh, video, phần mềm ứng dụng (dựa trên các
nền tảng cơ sở dữ liệu, v.v...). Theo một báo cáo số liệu của BSA1 đến hết năm 2013,
Việt Nam nằm trong top các quốc gia có tỉ lệ xâm phạm bản quyền phần mềm cao
Châu Á - Thái Bình Dương, mức độ vi phạm lên tới 81%. Tổng thiệt hại xét về mặt
tài chính lên tới 620 triệu USD, nguy cơ mất an toàn thông tin, mất dữ liệu rất cao.
Vi phạm bản quyền các sản phẩm CNTT trong lĩnh vực giáo dục cũng không
ngoài những nguy cơ trên. Các phần mềm hệ thống quản lý giáo dục cũng vậy và
CSDL sẽ là đối tượng bị sao chép, xuyên tạc, giả mạo, làm sai lệch với nguyên bản
và có thể phát tán trên Internet hoặc trên kênh truyền dẫn khác với mục đích trục lợi.
Để chống lại các nguy cơ trên phải cần đến kỹ thuật đặc biệt cho việc đảm bảo an
toàn thông tin, các kỹ thuật đó có thể là: Kỹ thuật mật mã (Cryptography); kỹ thuật
ngụy trang (Steganography); kỹ thuật thủy vân.
Hệ thống quản trị giáo dục là một hệ thống dành cho nhiều người tham gia
được truyền tải trên các kênh thông tin, Internet. Vậy thì giải pháp phù hợp nhất cho
việc bảo vệ bản quyền cơ sở dữ liệu quan hệ là WRDB. Giải pháp này vừa khắc phục
được nhược điểm của việc bảo mật hạn chế người truy cập, lại có thể xác thực quyền
sở hữu đối với các nguồn cơ sở dữ liệu.
Vì vậy học viên chọn nghiên cứu đề tài “Bảo vệ bản quyền các cơ sở dữ liệu

quan hệ trong hệ thống quản lý giáo dục bằng kỹ thuật thủy vân”. Để bảo vệ và
chứng minh bản quyền CSDL của một cơ sở giáo dục trong quá trình vận hành quản
lý, truyền tải và xác thực dữ liệu, tài liệu với các đối tác ngoài trường Cao đẳng Kinh
tế Kỹ thuật Hòa Bình. Báo cáo kết quả quá trình đào tạo đến các cấp quản lý theo

quy định của ngành.
1

Business Software Alliance - BSA, 2015


Trang 2

2. Mục tiêu và phương pháp nghiên cứu
Thủy vân cơ sở dữ liệu quan hệ có hai tác dụng quan trọng nhất là bảo vệ bản
quyền và đảm bảo sự toàn vẹn của cơ sở dữ liệu quan hệ. Do mỗi kiểu dữ liệu của cơ
sở dữ liệu quan hệ có những đặc điểm riêng, cho nên đòi hỏi khi thủy vân các kỹ thuật
thủy vân phải phù hợp với những đặc điểm của dữ liệu được thủy vân.
Xuất phát từ thực tế đó, mục tiêu nghiên cứu chính của luận văn là nghiên cứu,
xây dựng và phát triển các kỹ thuật thủy vân trong ứng dụng bảo vệ bản quyền với
các cơ sở dữ liệu quan hệ trong hệ thống quản lý giáo dục.
Trong luận văn này, tác giả sử dụng các phương pháp nghiên cứu chủ yếu:
Tìm kiếm, tiếp cận nghiên cứu, tổng hợp các tài liệu liên quan, tham vấn ý
kiến chuyên gia để tiến hành phân tích bằng việc sử dụng phương pháp SWOT để
đánh giá, lựa chọn và cải tiến thuật toán về mặt lý thuyết.
Kiểm chứng lại việc cải tiến từ việc cài đặt thuật toán trên một ngôn ngữ lập
trình cụ thể, căn cứ kết quả thử nghiệm để đưa ra kết luận và đề xuất các phương
pháp, kỹ thuật mới, cải tiến.
Luận văn chọn lọc bảng biểu đặc trưng các cơ sở dữ liệu quan hệ của một số
cơ sở giáo dục cao đẳng chuyên nghiệp nhằm phục vụ cho nghiên cứu; sử dụng ngôn

ngữ C và công cụ SQL để lập trình thử nghiệm lược đồ cải tiến.
3. Những điểm mới trong luận văn
Cải tiến đối với lược đồ thủy vân trong ứng dụng bảo vệ bản quyền can thiệp
gián tiếp đến các giá trị trong hệ thống, do vậy không làm ảnh hưởng trực tiếp đến
khả năng sử dụng của cơ sở dữ liệu quan hệ sau khi đã thủy vân.
Thiết kế và cài đặt thuật toán trên nền tảng của lược đồ thủy vân trong ứng
dụng bảo vệ bản quyền. Xác thực bản quyền có thể thực hiện ngay cả sau khi cơ sở
dữ liệu đã được đưa vào sử dụng, có thể chứng minh quyền của chủ sở hữu trong vấn
đề bản quyền.
4. Bố cục của luận văn
Bố cục của luận văn bao gồm: Phần mở đầu, ba chương nội dung, kết luận và
tài liệu tham khảo.


Trang 3

Phần mở đầu. Trình bày về tính cấp thiết, mục tiêu, phương pháp và dự kiến
kết quả đạt được của đề tài.
Chương 1. Tổng quan về các nghiên cứu và ứng dụng của thủy vân cơ sở dữ
liệu quan hệ hiện nay; các khái niệm về thủy vân, về cơ sở dữ liệu, phân biệt khái
niệm bảo mật và bảo vệ; Các tấn công trên thuỷ vân cơ sở dữ liệu quan hệ.
Chương 2. Một số phương pháp tiếp cận bài toán thủy vân cơ sở dữ liệu quan
hệ; các khả năng có thể áp dụng về mặt kỹ thuật, về lược đồ và về thuật toán thủy vân
RDB trong hệ thống quản lý giáo dục để kế thừa và xây dựng nội dung Chương 3.
Chương 3. Phân tích, cải tiến thuật toán nhúng, phát hiện WRDB. Cài đặt, thử
nghiệm thể hiện kết quả trên hệ thống phần mềm quản lý giáo dục trường Cao đẳng
Kinh tế Kỹ thuật Hòa Bình.


Trang 4


CHƯƠNG 1. TỔNG QUAN THỦY VÂN
1.1. TỔNG QUAN VỀ ỨNG DỤNG THỦY VÂN HIỆN NAY
Ứng dụng các kỹ thuật thủy vân2 trong thực tế cuộc sống không phải là mới,
lần đầu tiên nó xuất hiện ở Ý vào thế kỷ thứ 13 (có tài liệu cho rằng khởi phát ở
Trung Quốc hoặc ở Ấn Độ thế kỷ thứ 3). Thủy vân cổ xưa bắt nguồn từ việc dùng
một loại mực vô hình viết lên sản phẩm và chỉ hiện lên khi nhúng vào nước.
Thủy vân số được coi là ra đời từ năm 1954 với bằng sáng chế của Emile
Hembrooke. Tuy nhiên, nghiên cứu thủy vân lúc này vẫn chưa được đặt ra như một
lĩnh vực nghiên cứu độc lập cho tới thập niên 90 của thế kỷ 20. Thuật ngữ “Thủy vân
kỹ thuật số ” lần đầu tiên được đặt ra vào năm 1992 bởi Andrew Tirkel và Charles
Osborne. Thủy vân kỹ thuật số là một công cụ bảo vệ thụ động. Nó chỉ đánh dấu dữ
liệu, nhưng không làm suy giảm hay kiểm soát quyền truy cập vào dữ liệu. Thủy vân
tiếp tục được sử dụng đến nay như là nhãn hiệu của nhà sản xuất và để ngăn chặn giả
mạo hàng hóa trong thương mại. Kỹ thuật thủy vân được ứng dụng để bảo vệ bản
quyển với rất nhiều lĩnh vực của xã hội.
Trong CNTT, kỹ thuật thủy vân đã được ứng dụng để xác thực các loại dữ liệu
đa phương tiện như ảnh, video clip, âm nhạc, v.v…; bảo vệ tác quyền văn bản, tác
phẩm số hóa, các chương trình, phần mềm và cơ sở dữ liệu. Năm 2002, Agrawal và
Kiernan đã đưa ra những đề xuất đầu tiên về kỹ thuật thủy vân trên cơ sở dữ liệu quan
hệ bởi nhu cầu cấp thiết của người chủ dữ liệu muốn bảo vệ sản phẩm của mình trước
những tấn công bên ngoài. Các tác giả trên đã đề xuất một lược đồ thủy vân trong đó
dữ liệu có thể chấp nhận những thay đổi nhỏ mà không ảnh hưởng đến giá trị sử dụng
của chúng.
Từ năm 2002 đến nay, nghiên cứu về WRDB đã có bước tiến đáng kể về kỹ
thuật, các nghiên cứu về vấn đề này (được trình bày mục 2.1.2 của luận văn) đã chỉ
ra rằng có nhiều cách tiếp cận khác nhau, nhưng ứng dụng vào thực tiễn lại khá nghèo
nàn vì tính đa dạng, phức tạp cũng như tính bảo toàn của RDB.

2


Watermark: Một số tài liệu được dịch là thủy ấn hoặc là tạo bóng mờ hoặc là dấu tin


Trang 5

1.1.1. Xác thực và bảo vệ bản quyền đối với cơ sở dữ liệu quan hệ
Trước nghiên cứu này, đã có khá nhiều các kỹ thuật thủy vân đã được sử dụng trong
việc xác thực và bảo vệ bản bản quyền đối với các cơ sở dữ liệu quan hệ nói riêng và
dữ liệu đa phương tiện nói chung. Có một số điểm chung trong kỹ thuật thủy vân:
Dựa vào khóa bí mật: Về cơ bản, tất cả các phương pháp để xác thực và bảo
vệ bản quyền cho một cơ sở dữ liệu quan hệ là những lược đồ WRDB dựa vào khóa,
vì thế đòi hỏi phải có một khóa bí mật để minh chứng bản quyền. Điểm then chốt của
các kỹ thuật này là đều dựa vào một khóa bí mật trong thuật toán nhúng thủy vân và
thuật toán phát hiện thủy vân. Nhờ vào khóa này, người chủ của sản phẩm sẽ có thể
chứng minh chủ quyền của mình đối với sản phẩm.
Sai lệch về dữ liệu: Hầu hết các kỹ thuật thủy vân hiện nay đều làm sai lệch
dữ liệu trong quá trình thủy vân, có thể là thay đổi các giá trị thực hoặc ít ra là không
nhận thức được bằng các giác quan. Mặc dù sự sai lệch này có thể trong ngưỡng chấp
nhận được. Nhưng những sai lệch này chắc chắn sẽ làm giảm giá trị trong quá trình
khai thác dữ liệu của người dùng cuối.
Với hai đặc điểm nêu trên có thể ảnh hưởng đến tiềm năng ứng dụng của các kỹ thuật
thủy vân cơ sở dữ liệu:
Thứ nhất, cách tiếp cận dựa vào khóa bí mật là không phù hợp cho việc chứng
minh trước công chúng (ví dụ trước tòa án). Để chứng minh bản quyền của dữ liệu
đáng ngờ, người chủ sở hữu phải tiết lộ khóa bí mật của mình ra công chúng để phát
hiện thủy vân. Sau khi đã sử dụng một lần, khóa này không còn bí mật nữa. Với khóa
này, một người sử dụng không bản quyền có thể vô hiệu hóa việc phát hiện thủy vân
gốc bằng cách gỡ bỏ thủy vân gốc khỏi dữ liệu được bảo vệ hoặc thêm thủy vân giả
vào dữ liệu không chưa được thủy vân trong quá trình cập nhật WRDB.

Thứ hai, những sai lệch được đưa vào trong quá trình thủy vân có thể ảnh
hưởng đến giá trị sử dụng của dữ liệu. Ngay cả khi có thể ấn định một số kiểu ràng
buộc nhất định để hạn chế sai sót (ví dụ như các giá trị trung bình và các phương sai
của những thuộc tính được thủy vân) trước hoặc trong khi thủy vân thì cũng rất khó,
thậm chí không thể đảm bảo có thể lượng hóa được tất cả các ràng buộc.


Trang 6

Song song với hai điểm trên, thì thủy vân phải đủ khó đối với những người
muốn phát hiện ra nó một cách bất hợp pháp. Đồng thời nếu có sự tham gia của bên
thứ ba (có thể là một tổ chức thuộc chính phủ hoặc một tổ chức cá nhân làm việc
trong ngành chứng thực có uy tín và được cấp phép chứng thực). Nếu giải quyết được
các vấn đề này, thủy vân có thể giúp ngăn chặn việc sao chép trái phép bằng cách
cung cấp một phương tiện chứng minh bản quyền gốc của một bản sao tái phân phối.
1.1.2. Vài nét về hiện trạng việc xác thực nguồn cơ sở dữ liệu quan hệ trong hệ
thống lý giáo dục
Hiện nay, các học viện, trường đại học, cao đẳng và trung cấp chuyên nghiệp
(gọi tắt là cơ sở giáo dục chuyên nghiệp) đều sử dụng các phần mềm “Quản trị đào
tạo” để quản lý tiến trình giáo dục và đào tạo. Các phần mền này được phát triển từ
nhiều nguồn khác nhau, có thể là do đội ngũ cán bộ giảng viên của cơ sở giáo dục
phát triển, hoặc có thể được mua từ các đơn vị cung ứng dịch vụ. Môi trường triển
khai cũng khá đa dạng phong phú (Internet, LAN, v.v…). Mặc dù vậy, chúng đều có
những nét chính như sau:
Đầu vào: Thông tin về người dạy, người học, khóa học, môn học. học phí,
v.v… các quan hệ theo mô hình tổ chức và các quy định khác được chia thành các
phân hệ nhưng tất cả đều được lưu trữ trong RDB.
Đầu ra: Các thông tin trong RDB được kết xuất thể hiện trên kết quả của tiến
trình đào tạo gồm thông tin khóa học, người học, số lượng và chất lượng (như một số
thống kê, báo cáo với nhà quản lý và cấp phát văn bằng), v.v...

Về cơ bản là RDB được phát triển và quản trị bởi một số công cụ phổ biến như
MySQL, Oracle, PostgreSQL, SQL Server 3 , v.v… và đều có chung đặc điểm là sử
dụng ngôn ngữ truy vấn theo chuẩn cấu trúc SQL.
Độ phức tạp của RDB tùy thuộc vào cơ cấu tổ chức, môi trường ứng dụng,
cũng như trình độ quản lý của cơ sở giáo dục. Nhưng điều quan trọng nhất là RDB
chứa các thông tin phục vụ công tác quản lý và cũng là một trong những tài sản của
quan trọng của cơ sở giáo dục. Thế nên khi RDB lọt vào tay người sử dụng không
3

Chỉ dùng trong môi trường ứng dụng Windows của tập đoàn Microsoft.


Trang 7

thân thiện, họ dễ ràng vượt qua mật khẩu, thay đổi và giả mạo thông tin. Việc xác
minh rất phức tạp và tốn kém thời gian cũng như tiền bạc.
Ngoài ra, RDB trong hệ thống quản lý của cơ sở giáo dục hiện nay rất dễ bị
giả mạo mà khó có thể xác minh còn có những nguyên nhân khác nữa đó là:
▪ Nội dung các thông tin của các thuộc tính quan trọng không được mã hóa,
dễ ràng bị cập nhật và lợi dụng có chủ ý.
▪ Thay đổi, phần mềm, thay đổi người quản trị có thể dẫn tới việc truy cập
bất hợp pháp.
▪ Quá trình trao đổi dữ liệu cho phép người dùng có thể tìm kiếm và truy cập
cơ sở dữ liệu từ xa hoặc trong các dịch vụ thuê khoán bên ngoài.
▪ Các cuộc tấn công đánh cắp bí mật thông tin bởi các tổ chức tội phạm CNTT
chuyên nghiệp.
Tất cả các vấn đề trên đang bộc lộ những mối nguy hiểm tiềm tàng cho hệ
thống quản trị giáo dục (đóng vai trò là nhà cung cấp dữ liệu) trước những kẻ trộm
cắp và giả mạo dữ liệu. Do đó, những nhà cung cấp dữ liệu đòi hỏi phải có các công
cụ hỗ trợ cho việc bảo vệ bản quyền sản phẩm của họ, nhận dạng được những bản

sao các CSDL bị đánh cắp hoặc bị xuyên tạc với ý đồ xấu. Đồng thời minh định, phân
biệt sản phẩm thật và giả theo yêu cầu công tác, WRDB là một trong các công cụ có
thể thực hiện được điều đó.
1.2.

MỘT SỐ KHÁI NIỆM VỀ THỦY VÂN VÀ CƠ SỞ DỮ LIỆU QUAN HỆ
Khái niệm về thủy vân cũng như cơ sở dữ liệu quan hệ được nhiều tác giả đưa

ra trước đây khá đa dạng, phong phú được đặt vấn đề từ nhiều khía cạnh khác nhau.
Tuy nhiên trong phạm vi của nghiên cứu, tác giả đã chọn lọc ra một số khái niệm cơ
bản có liên quan đến kỹ thuật WRDB trong nghiên cứu và phát triển của đề tài.
1.2.1. Thủy vân
Thuỷ vân là kỹ thuật đánh dấu nước cổ xưa làm dấu chìm hình ảnh, logo, hay
dữ liệu nào đó lên trên giấy hoặc lên trên một số chất liệu khác nhằm mục đích trang
trí và phân biệt được nguồn gốc xuất xứ, thương hiệu của sản phẩm. Trong CNTT,
thông tin cần giấu được gọi là thuỷ vân, kỹ thuật để đánh dấu nước còn gọi là kỹ thuật


Trang 8

thủy vân (giấu tin). Tác dụng chính của thủy vân là chứng minh quyền sở hữu, chống
xuyên tạc và đảm bảo tính toàn vẹn của dữ liệu. Thuỷ vân được chia thành hai loại
chính [1], đó là:
Thuỷ vân bền vững (robust watermark): Là thuỷ vân tồn tại bền vững cùng
với dữ liệu, không dễ dàng bị phá huỷ trước những biến đổi, tấn công lên dữ liệu. Các
kỹ thuật này thường được dùng trong các ứng dụng bảo vệ bản quyền, chứng minh
quyền sở hữu.
Thuỷ vân dễ vỡ (fragile watermark): Là thuỷ vân bị biến đổi trước các thay
đổi hay tấn công lên dữ liệu. Các kỹ thuật này thường được dùng trong các ứng dụng
nhận thực thông tin, đảm bảo sự toàn vẹn dữ liệu.

1.2.2. Thủy vân cơ sở dữ liệu quan hệ
Rất nhiều cách để định nghĩa về WRDB, dưới đây là một số định nghĩa về vấn
đề này được tác giả đã chọn lọc và biên tập.
Định nghĩa 1.1.

Thuỷ vân cơ sở dữ liệu quan hệ [2]

Là phương pháp nhúng một lượng thông tin nào đó vào trong dữ liệu quan hệ.
Thuỷ vân cơ sở dữ liệu quan hệ là thuỷ vân ẩn, bền vững.
Định nghĩa 1.2.

Thủy vân cơ sở dữ liệu quan hệ [4]

Là một kỹ thuật nhúng một số thông tin nào đó (được gọi là thông tin thủy vân
W) vào cơ sở dữ liệu quan hệ nhằm mục đích bảo vệ bản quyền hoặc đảm bảo sự toàn
vẹn cho cơ sở dữ liệu này. Thủy vân có thể ở dạng ẩn hoặc hiện và có thể là bền vững
hoặc dễ vỡ.
Từ [1], [2], [4], [9] tác giả cho rằng có thể định nghĩa lại một cách ngắn gọn lại là:
Định nghĩa 1.3.

Thủy vân cơ sở dữ liệu quan hệ

Là kỹ thuật dấu một lượng thông tin vào cơ sở dữ liệu quan hệ ở dạng ẩn, bền
vững. Ký hiệu là W.
1.2.3. Khóa thủy vân
Với mục đích giữ bí mật cho thông tin thủy vân W và là người duy nhất có thể
tìm lại được thông tin này thì chủ sở hữu của cơ sở dữ liệu cần phải trộn W với một
dữ liệu được gọi là khóa thủy vân. Khóa thủy vân do chủ cơ sở dữ liệu chọn.



Trang 9

Định nghĩa 1.4.

Khóa thủy vân

Là một lượng dữ liệu do chủ sở hữu cơ sở dữ liệu lựa chọn và để xác định thủy
vân trong lược đồ thủy vân. Ký hiệu là K.
Khóa K sẽ được kết hợp với thủy vân W để đưa vào cơ sở dữ liệu. Khóa thủy
vân chính là mấu chốt của lược đồ RDB có sử dụng khóa thủy vân. Khóa thủy vân sẽ
được nhúng vào trong RDB bằng nhiều cách. Thông thường khóa thủy vân sẽ được
kết hợp với khóa chính của bảng dữ liệu trong RDB bằng một thuật toán xử lý truy
vấn dữ liệu.
Điều quan trọng ở đây chính là việc giấu khóa thủy vân vào trong thuật toán
như thế nào để không bị phát hiện hoặc dễ phát hiện nhưng khó thay đổi, đồng thời
có thể chứng minh được đây chính là cơ sở dữ liệu quan hệ của chủ sở hữu. Như vậy,
việc đưa khóa vào trong cơ sở dữ liệu quan hệ là một trong những điểm quan trọng
của bài toán bảo vệ bản quyền và đảm bảo sự toàn vẹn dữ liệu trong RDB có sử dụng
khóa thủy vân. Một trong những cách để giải quyết việc giấu khóa hữu hiệu nhất là
sử dụng hàm băm vì kỹ thuật này đảm bảo được các yêu cầu bảo mật cũng như chi
phí tính toán. Ngoài khóa thủy vân còn có thể đưa thông tin khác vào cơ sở dữ liệu:
thông điệp, ảnh nhị phân, tham số điều khiển để tăng tính bền vững của thủy vân.
1.2.4. Khái quát về hàm băm
Hàm băm (Hash function) là một hàm chuyển đổi một thông điệp đầu vào có
độ dài bất kỳ thành một dãy bit có độ dài cố định (tuỳ thuộc vào thuật toán băm). Dãy
bit này được gọi là thông điệp rút gọn (message digest) hay giá trị băm (hash value),
đại diện cho thông điệp ban đầu.
Hàm băm là hàm toán học một chiều mà nếu đưa một lượng dữ liệu bất kì qua
hàm này sẽ cho ra một chuỗi có độ dài cố định ở đầu ra. Mỗi giá trị đầu vào thì chỉ
có được một giá trị đầu ra duy nhất; Nếu dữ liệu đầu vào thay đổi thì giá trị đầu ra

cũng thay đổi và các giá trị là hoàn toàn khác nhau.
Các giá trị kết quả của hàm băm không thể bị suy ngược từ giá trị băm. Hàm
băm có vai trò quan trọng trong việc mã hóa để xác thực tính toàn vẹn của dữ liệu


Trang 10

cũng chứng thực nguồn gốc dữ liệu. Sử dụng phổ biến nhất trong quá trình tạo chữ kí
số, quá trình giấu tin và trong các giao dịch điện tử.
Nói một cách chính xác hơn, hàm băm sẽ tạo ra ánh xạ các xâu bit có độ dài
hữu hạn tuỳ ý thành các xâu bit có độ dài n cố định.
Phân loại hàm băm:
Hàm băm
(Hash function)

Hash không
khóa

Phát hiện sửa
đổi
(MDC)

OWHF

Hash có khóa

Các ứng dụng
khác

Các ứng dụng

khác

Xác thực thông
tin
(MAC)

CRHF

Hình 1.1. Phân loại các kiểu hàm băm
Từ sơ đồ của Hình 1.1 cho ta thấy, hàm băm gồm loại có khóa và loại không
khóa. Hàm băm có khóa là loại có các dữ liệu đầu vào: thông điệp và một khóa bí
mật. Hash có khoá được sử dụng để xác thực thông báo và được gọi là thuật toán tạo
mã xác thực thông báo (MAC).
Hàm băm không khóa là hàm băm mà đầu vào chỉ là thông điệp không chứa
khóa, được gọi là thuật toán phát hiện sửa đổi (MDC). Hash không khoá sử dụng để
tạo ra thông điệp kết quả đặc trưng và đảm bảo sự toàn vẹn của dữ liệu. Trong MDC
gồm hàm băm một chiều (OWHF) và hàm băm khó va chạm (CRHF). OWHF thì từ
thông điệp kết quả, khó tìm lại thông điệp ban đầu với mã băm tương ứng; CRHF thì
khó có thể tìm lại hai thông điệp khác nhau mà có cùng một giá trị của mã băm.


Trang 11

Cấu trúc chung của một hàm băm:

Thông điệp chiều dài tùy ý

Hàm nén

Hình 1.2.


Mã băm chiều dài cố định

Cấu trúc tổng quát của hàm băm

B 1 : Phân chia thông điệp đầu vào chiều dài hữu hạn thành các khối thông điệp
con liên tiếp có chiều dài cố định r (giả sử là m1 , m2 , m3 ,.., mk)
B 2 : Do m có độ dài bất kỳ nên luôn có một bước thêm các bit phụ sao cho
chiều dài chuỗi mới m’ chia hết cho r. (trong các bit thêm thường thêm 64 bit để lưu
lại chiều dài ban đầu của chuỗi trước khi chèn).
B 3 : Đưa khối thông điệp con m1, m2, m3,.., mk sẽ lần lượt đi qua một hàm nén
f của hàm băm h(m).
B 4 : Kết quả của khối thứ mi-1 sau khi đi qua hàm nén f sẽ là nguồn dữ liệu đầu
vào cho bước thứ i tiếp theo.
Một số hàm băm hay dùng:
TT

Tên thuật toán

Kích thước đầu ra (bit)

Xung đột

1

HAVAL

256 | 224 | 192 | 160 | 128




2

MD2

128

Khả năng lớn

3

MD4

128



4

MD5

128



5

PANAMA

256


Có lỗi

6

RIPEMD

128



7

RIPEMD-128|256

128 | 256

Không

8

RIPEMD-160|256

160 | 256

Không


Trang 12


TT

Kích thước đầu ra (bit)

Tên thuật toán

Xung đột

9

SHA-0

160

Có lỗi

10

SHA-1

160

Có lỗi

11

SHA-256|224

256 | 244


Không

12

SHA-512|384

512 | 384

Không

13

Tiger 192|160|128

192 |160 |128

Không

14

VEST-4|8

160 | 256

Không

15

VEST-16|32


320 | 256

Không

16

WHIRLPOOL

512

Không

Bảng 1.1.

Một số hàm băm

Các thuật toán băm SHA-1, MD5, và RIPEMD-160 được dùng rộng rãi nhất.
Tuy nhiên năm 2004 một số nhà nghiên cứu đã tìm được các điểm yếu của một loạt
các hàm băm, trong đó có MD5, SHA-0, PANAMA và RIPEMD. Năm 2005, giáo sư
Xiaoyun Wang đã thông báo một tấn công lượng sai lên hàm băm SHA-1, tạo ra xung
đột4. Mặc dù vậy tới năm 2015, một số tập đoàn công nghệ hàng đầu thế giới mới chỉ
bắt đầu khởi động lộ trình chuyển đổi các ứng dụng liên quan đến vấn đề này sang
các thuật toán khác an toàn hơn. Tuy nhiên để cho đơn giản hóa thử nghiệm, tác giả
sử dụng MD5 trong các thuật toán của lược đồ thủy vân cơ sở dữ liệu sẽ cài đặt được
tại mục 2.3.1 của luận văn này.
1.2.5. Cơ sở dữ liệu.
Những khái niệm cơ bản nhất về lý thuyết cơ sở dữ liệu quan hệ do Edgar
F.Codd đề xuất năm 1970, đó là các khái niệm về quan hệ, về khóa của lược đồ quan
hệ. Những khái niệm này có vai trò quan trọng trong việc thiết kế các cơ sở dữ liệu
quan hệ và cài đặt trên hệ quản trị cơ sở dữ liệu


4

– Ban cơ yếu chính phủ


Trang 13

Định nghĩa 1.5.

Cơ sở dữ liệu (database)

Cơ sở dữ liệu là một tập hợp các dữ liệu có liên quan với nhau, được lưu trữ
trên máy tính, có nhiều người sử dụng và được tổ chức theo một mô hình. Dữ liệu là
những sự kiện có thể ghi lại được và có ý nghĩa.
Như vậy, cơ sở dữ liệu là một tập hợp các bảng dữ liệu có quan hệ với nhau
sao cho cấu trúc của chúng cũng như các mối quan hệ bên trong giữa chúng là tách
biệt với chương trình ứng dụng bên ngoài. Điều này có nghĩa là các dữ liệu của bảng
trên độc lập với các xử lý tác động lên chúng, và được tổ chức thành từng bảng một.
Mỗi bảng gồm các cột và các dòng, mỗi cột được gọi là một thuộc tính (attributes)
hay còn gọi là một trường (fields), mỗi hàng (dòng) được gọi là một thể hiện (instance) một bộ (tuple) hay là một bản ghi (record) của bảng dữ liệu.
Cơ sở dữ liệu dùng để quản lý thông tin, giảm sự trùng lặp thông tin. Đảm bảo
thông tin có tính nhất quán và truy xuất theo nhiều cách khác nhau bởi nhiều người
sử dụng cùng lúc. Cơ sở dữ liệu đảm bảo tính chủ quyền của dữ liệu (an toàn dữ liệu)
và khả năng biểu diễn mỗi liên hệ ngữ nghĩa cũng như tính chính xác của dữ liệu. Cơ
sở dữ liệu được khai thác với nhiều mục đích khác nhau.
1.2.6. Mô hình dữ liệu quan hệ
Mô hình dữ liệu quan hệ là các dữ liệu được lưu dưới dạng bảng được sử dụng rộng
rãi trong đời sống kinh tế xã hội nhằm để quản lý và xử lý thông tin. Mô hình được
phát triển trên lý thuyết tập hợp và đại số quan hệ. Vì thế mặt hình thức trong mô

hình cơ sở dữ liệu, mỗi quan hệ là một bảng. Vậy cần có phải định nghĩa quan hệ
dưới dạng toán học.
Định nghĩa 1.6.

Quan hệ

Cho U = {A1 , A2 ,…, An} một tập hữu hạn các thuộc tính, khác rỗng và các
phần tử không nhất thiết phân biệt nhau. Mỗi một thuộc tính Ai ∈ U, i =1÷n có một
miền giá trị xác định, (Domain), ký hiệu D(Ai) = Dom(Ai). Tích Đề các của các miền
Dom(A1), Dom(A2)…Dom(An) được biểu diễn như sau:
Dom(A1) × Dom(A2) ×…× Dom(An) : = {(a 1, a2 ,.., a n) | ai ∈ Ai, i = 1÷ n}


Trang 14

Nói rằng R là một quan hệ trên tập U khi và chỉ khi nó là một tập con của tích
Đề các của: D(a1) × D(a2 ) ×…× D(a n). Ký hiệu R(U) = R(A1, A2,…, An ). Tức là R(U)
⊆ D(a 1) × D(a2) ×…× D(an). Như vậy quan hệ R trên tập U là tập các hàm:
R(U) = { r | r : U → ∪ D(A), A ∈ U}
Mỗi một hàm trong quan hệ được gọi là một dòng của quan hệ. Vì vậy trong
cách tiếp cận mô hình CSDL quan hệ, người ta thường biểu diễn một quan hệ trên tập
các thuộc tính U bằng một bảng 2 chiều. Các thuộc tính của quan hệ là các cột A1,
A2 ,…, An , không nhất thiết phân biệt nhau và các hàng của quan hệ được gọi là các
bộ (tuple), hay còn được gọi là các bản ghi của quan hệ, ký hiệu là r ∈ R(U).
Giá trị của mỗi một bộ gồm n thành phần giá trị r = (d1 , d2,…, d n) được rút ra
giá trị từ các miền xác định tương ứng, tức là r(A1) = d 1 ∈ D(A1), r(A2) = d 2 ∈
D(A2),…, r(An) = dn ∈ D(An ), trong đó các ký hiệu D(Ai) := Dom(Ai) là miền xác
định của Ai ∈ U, i = 1÷ n. Một định nghĩa trực quan khác dưới đây.
Định nghĩa 1.7.


Quan hệ [4]

R(U) = {(d1, d 2,…, d n) | di ∈ D(Ai), Ai ∈ U, i =1÷ n}.
A1

A2

...........................

An

r1

r1.(A1)

r1.(A2)

...........................

r1.(An)

r2

r2.(A1)

r2.(A2)

...........................

r2.(An)


..............

..............

..............

...........................

..............

rn

rn.(A1)

rn.(A2)

...........................

rn.(An)

R(U) =

Bảng 1.2.

Quan hệ biểu diễn thành bảng

Như vậy có thể định nghĩa lại quan hệ R(U) một cách ngắn gọn như sau:
Định nghĩa 1.8.


Quan hệ

Gọi U ={A1, A2, ..., An} là tập hữu hạn các thuộc tính, mỗi thuộc tính Ai (i =
1÷ n) có miền giá trị tương ứng là Dom(Ai). Người ta gọi r là quan hệ trên tập thuộc
tính U nếu r là tập con của tích Đề các của n miền Dom(Ai):
r ⊆ Dom(A1) × Dom(A2) ×...× Dom(An).
Từ Hình 1.3 ta xác định U của quan hệ SODIEM và quan hệ MONHOC như sau:


×