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

Phát triển mô hình truy vấn dữ liệu tùy chọn dựa trên ngữ nghĩa của câu truy vấn NL2SQL SPARQL

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 (3.36 MB, 86 trang )

ỌC
TRƢỜN

N N

I HỌC SƢ P

NGUYỄN THỊ P ƢƠN

M

T ẢO

PHÁT TRIỂN MƠ HÌNH TRUY VẤN DỮ LIỆU
TÙY CHỌN DỰA TRÊN NGỮ N

ĨA CỦA

CÂU TRUY VẤN NL2SQL-SPARQL: TRƢỜNG HỢP
CÂU TRUY VẤN INSERT, UPDATE

LU N V N T

C SĨ HỆ THỐNG THÔNG TIN

N n - Năm 2017


ỌC
N N
I HỌC SƢ P



TRƢỜN

NGUYỄN THỊ P ƢƠN

M

T ẢO

PHÁT TRIỂN MƠ HÌNH TRUY VẤN DỮ LIỆU
TÙY CHỌN DỰA TRÊN NGỮ N
ĨA CỦA
CÂU TRUY VẤN NL2SQL-SPARQL: TRƢỜNG HỢP
CÂU TRUY VẤN INSERT, UPDATE

C
M

nn


LU N V N T

N ƣờ

ƣớn

n

n : Hệ thống thông tin

: 61.49.01.04

C SĨ HỆ THỐNG THƠNG TIN

o

ọ : TS. HỒNG THỊ THANH HÀ

N n - Năm 2017


i

LỜ CAM OAN
Tơi cam đoan đây là cơng trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng
được ai công bố trong bất kỳ cơng trình nào khác.
Tác giả luận văn

Nguyễn Thị Phƣơng Thảo


ii

MỤC LỤC
DANH MỤC CÁC CHỮ VIẾT TẮT .................................................................... iv
DANH MỤC CÁC BẢNG .......................................................................................v
DANH MỤC CÁC HÌNH ....................................................................................... vi
MỞ ẦU ....................................................................................................................1
1. Lý do chọn đề tài ..............................................................................................1

2. Mục tiêu nghiên cứu của đề tài .........................................................................2
3. Đối tƣợng và phạm vi nghiên cứu ....................................................................3
4. Phƣơng pháp nghiên cứu ..................................................................................3
5. Đóng góp của luận văn .....................................................................................3
6. Kết quả dự kiến.................................................................................................4
7. Bố cục của luận văn ..........................................................................................4
C ƢƠN

1. TỔNG QUAN VỀ CÁC MƠ

ÌN

CƠ SỞ DỮ LIỆU ..................5

1.1. CƠ SỞ DỮ LIỆU LÀ GÌ? ....................................................................................5
1.2. PHÂN LOẠI CÁC MƠ HÌNH CƠ SỞ DỮ LIỆU ...............................................7
1.2.1. Cơ sở dữ liệu ngữ nghĩa .............................................................................7
1.2.2. Cơ sở dữ liệu quan hệ .................................................................................9
1.2.3. Cơ sở dữ liệu hƣớng đối tƣợng .................................................................13
1.3. KẾT CHƢƠNG ..................................................................................................14
C ƢƠN

2. NGÔN NGỮ TRUY VẤN CƠ SỞ DỮ LIỆU QUAN HỆ VÀ

CƠ SỞ DỮ LIỆU NGỮ N

ĨA ............................................................................15

2.1. NGÔN NGỮ TRUY VẤN TRONG Cơ sở dữ liệu quan hệ ..............................15
2.1.1. Giới thiệu ..................................................................................................15

2.1.2. Câu truy vấn SQL .....................................................................................16
2.2. NGÔN NGỮ TRUY VẤN TRONG Cơ sở dữ liệu ngữ nghĩa ..........................31
2.2.1. Giới thiệu ..................................................................................................31
2.2.2. Mơ hình RDF ............................................................................................31
2.2.3. RDF Dataset .............................................................................................33


iii

2.3. KẾT CHƢƠNG ..................................................................................................36
C ƢƠN

3. PHÁT TRIỂN HỆ THỐNG TRUY VẤN DỮ LIỆU TÙY

CHỌN DỰA TRÊN NGỮ N

ĨA CỦA CÂU TRUY VẤN ..............................38

3.1. ĐẶT VẤN ĐỀ....................................................................................................38
3.2. MƠ HÌNH CHUYỂN ĐỔI CÂU TRUY VẤN NNTN SANG SQL VÀ
SPARQL....................................................................................................................39
3.2.1. Cấu trúc câu truy vấn bằng NNTN và kỹ thuật xử lý ...............................41
3.2.2. Chuyển đổi sang câu truy vấn Insert ........................................................43
3.2.3. Chuyển đổi câu truy vấn UPDATE ..........................................................46
3.3. GIỚI THIỆU VỀ FRAMEWORK APACHE OPENNLP VÀ GENERAL
SQL PARSER ...........................................................................................................50
3.3.1. Framework Apache Opennlp ....................................................................50
3.3.2. General SQL Parser ..................................................................................53
3.4. CÀI ĐẶT MƠ HÌNH ĐÃ ĐỀ XUẤT ................................................................56
3.5. KẾT QUẢ CHƢƠNG TRÌNH ...........................................................................57

3.5.1. Cơ sở dữ liệu dùng cho thực nghiệm........................................................57
3.5.2. Hệ thống thực nghiệm NL2SQL-SPARQL ..............................................57
3.5. KẾT CHƢƠNG ..................................................................................................65
KẾT LU N V

ƢỚNG PHÁT TRIỂN .............................................................66

TÀI LIỆU THAM KHẢO
QUYẾT ỊN

AO Ề TÀI LU N V N (bản sao)


iv

DAN

MỤC CÁC TỪ V ẾT TẮT

Từ viết tắt

Ýn

ĩ

NNTN

Ngôn ngữ tự nhiên

AST


Abstract syntax tree

MT

Machine translation

CSDL

Cơ sở dữ liệu

SQL

Structured Query Language

SPARQL

SPARQL Protocol And RDF Query Language

SBD

Sentence boundary disambiguation

POS

Part of Speech

NLP

Natural Language Process



v

DAN
Số hiệu

MỤC CÁC BẢN

Tên bảng

bảng

Trang

3.1.

Danh sách từ và giá trị tƣơng trong thành phần câu INSERT

43

3.2.

Danh sách từ và giá trị tƣơng trong thành phần câu SELECT

46

3.3.

Danh sách từ và kết quả tƣơng ứng của toán tử so sánh và

logic

47


vi

DAN

MỤC CÁC

Số hiệu

ÌN

Tên hình

hình

Trang

1.1.

Vị trí của CSDL trong hệ thống

6

1.2.

Kiến trúc các lớp của Web ngữ nghĩa


8

2.1.

Các nút con của nút AST

16

2.2.

Thuộc tính phụ của sql:clause

17

2.3.

Vị từ của SQL

18

2.4.

Tốn tử SQL

18

2.5.

Hàm trong SQL


19

2.6.

Danh mục các đối tƣợng

19

2.7.

Sơ đồ của câu lệnh SELECT

20

2.8.

Sơ đồ cú pháp của câu lệnh INSERT sử dụng mệnh đề
VALUES

25

2.9.

Sơ đồ cú pháp câu lệnh INSERT sử dụng biểu thức SELECT

26

2.10.


Sơ đồ cấu trúc câu lệnh UPDATE

28

2.11.

Sơ đồ cấu trúc của giá trị biểu thức trong câu lệnh UPDATE

28

2.12.

Sơ đồ cấu trúc câu lệnh DELETE

29

3.1.

Mơ hình hệ thống tổng quan

40

3.2.

Tên đầy đủ và ký hiệu viết tắt của từ loại trong Tiếng Anh

42

3.3.


Cây phân tích cú pháp

53

3.4.

Kiến trúc của General SQL Parser

54

3.5.

Sơ đồ dịch câu truy vấn sang cây phân tích cú pháp có định
dạng

55

3.6.

Luồng dữ liệu trong General SQL Parser

55

3.7.

Sơ đồ cài đặt mơ hình chi tiết

56

3.8.


Sơ đồ ca sử dụng của chƣơng trình

58

3.9.

Giao diện cấu hình cơ sở dữ liệu mySQL

59


vii

Số hiệu
hình

Tên hình

Trang

3.10.

Giao diện cấu hình cơ sở dữ liệu RDF

59

3.11.

Giao diện chuyển đổi sang SQL


60

3.12.

Giao diện chuyển đổi sang SQL

61

3.13.

Giao diện chuyển đổi sang SPARQL

62

3.14.

Giao diện chuyển đổi sang SQL với câu lệnh Update

63

3.15.

Giao diện chuyển đổi sang SPARQL

64

3.16.

Giao diện kiểm tra lại dữ liệu


64


1

MỞ ẦU
1. Lý o

ọn đề t

Workflow hay tiến trình là một q trình tự động hóa cơng việc, một phần
hoặc tồn bộ. Trong q trình đó, các tài liệu, thơng tin hay các nhiệm vụ đƣợc
truyền từ đối tƣợng tham gia này sang đối tƣợng khác để hành động tuân theo một
tập hợp quy tắc nhất định.
Một vấn đề đặt ra trong nghiên cứu về tiến trình đó là sự cô lập dữ liệu cá
nhân trong việc thực thi phân tán của một tiến trình trong đó bao gồm nhiều công cụ
thực thi cục bộ, đƣợc gọi là máy thực thi. Nguyên tắc cô lập này không cho phép
truy cập vào dữ liệu cá nhân của một máy thực thi của ngƣời khác. Lấy một ví dụ
trong lĩnh vực y tế, khi xem xét một tiến trình điều trị bệnh tim mạch, tiến trình này
có nhiều đối tƣợng tham gia nhƣ bệnh nhân, bác sĩ điều trị, bác sĩ phẩu thuật, trung
tâm xét nghiệm, trung tâm chẩn đốn hình ảnh...Các đối tƣợng này có thể khơng tập
trung tại một địa điểm, không chia sẻ cùng một hạ tầng thông tin và vì thế dữ liệu
điều trị của họ có thể phân tán. Dữ liệu điều trị có thể nằm tại nhiều địa điểm khác
nhau và cũng có thể dƣới nhiều hình thức khác nhau, ví dụ nhƣ có có thể là một cơ
sở dữ liệu MySQL, có thể là dữ liệu ngữ nghĩa RDF, hay tổ chức bằng MongoDB.
Nhiều hình thức cơ sở dữ liệu sẽ gây khó khăn cho hệ thống của ngƣời dùng khi
muốn truy vấn vào các kho dữ liệu mà họ cần tra cứu, chẳng hạn bác sĩ điều trị
muốn truy vấn dữ liệu từ trung tâm xét nghiệm chẳng hạn.
Để giúp ngƣời dùng có thể truy vấn một cách dễ dàng với các mơ hình cơ sở

dữ liệu, mà phổ biến hiện nay là cơ sở dữ liệu ngữ nghĩa và cơ sở dữ liệu quan hệ,
trong [5] các tác giả đã đề xuất mô hình truy vấn dữ liệu tùy chọn dựa trên ngữ
nghĩa của câu truy vấn, mơ hình này đề xuất giải pháp truy vấn cả hai mơ hình
CSDL là CSDL quan hệ và CSDL ngữ nghĩa chỉ với câu truy vấn bằng ngôn ngữ tự
nhiên. Tuy nhiên bài báo [5] chỉ mới phát triển mơ hình với bộ từ điển ngữ nghĩa
giới hạn cho câu truy vấn SELECT, vì vậy để mở rộng khả năng ứng dụng của mơ
hình này trong thực tế, tôi đề xuất lựa chọn đề tài:


2

“P ÁT TR ỂN MƠ HÌNH TRUY VẤN DỮ LIỆU TÙY CHỌN DỰA
TRÊN NGỮ N

ĨA CỦA CÂU TRUY VẤN NL2SQL-SPARQL: TRƢỜNG

HỢP CÂU TRUY VẤN NSERT, UPDATE”
2. Mụ t

n

n ứ

ủ đề t

2.1. Mục tiêu nghiên cứu
- Mục tiêu chính của đề tài là phát triển và hồn thiện mơ hình NL2SQLSPARQL để có thể thực thi các truy vấn đa dạng nhƣ INSERT, UPDATE,
CREATE,...khi truy vấn bằng ngôn ngữ tự nhiên.
Để thoả mãn mục tiêu này thì cần đạt đƣợc những mục tiêu cụ thể sau:
- Nắm vững cách tổ chức & truy vấn của các mơ hình cơ sở dữ liệu: câu lệnh

Insert và Update.
- Nắm vững ngôn ngữ truy vấn SPARQL trong cơ sở dữ liệu ngữ nghĩa
RDF: câu lệnh Insert và Update.
- Nắm vững cách chuyển đổi từ câu truy vấn ngôn ngữ tự nhiên theo cấu trúc
cho trƣớc sang câu truy vấn của các mơ hình cơ sở dữ liệu.
- Nền tảng có khả năng đƣa ra những câu truy vấn đề nghị tƣơng ứng với cấu
trúc của loại cơ sở dữ liệu lựa chọn.
2.2. Nhiệm vụ chính của đề tài
- Để đạt đƣợc những mục tiêu trên thì nhiệm vụ đặt ra của đề tài là:
- Tìm hiểu cách tổ chức dữ liệu và cấu trúc truy vấn của mơ hình cơ sở dữ
liệu phổ biến.
- Tìm hiểu cách mơ tả dữ liệu theo ngữ nghĩa, cấu trúc câu truy vấn CSDL
quan hệ.
- Tìm hiểu cách mô tả dữ liệu theo ngữ nghĩa, cấu trúc câu truy vấn
SPARQL
- Xây dựng bộ từ điển ngữ nghĩa cho các loại truy vấn.
- Mở rộng hệ thống chuyển đổi câu truy vấn bằng ngơn ngữ tự nhiên có cấu
trúc sang câu truy vấn của các mơ hình cơ sở dữ liệu tùy chọn.


3

3. ố tƣợn v p ạm v n

n ứ

 Đối tƣợng nghiên cứu
- Cách tổ chức và cú pháp truy vấn dữ liệu của các mơ hình cơ sở dữ liệu
phổ biến nhƣ: Cơ sở dữ liệu ngữ nghĩa, cơ sở dữ liệu quan hệ.
- Cách chuyển đổi từ câu truy vấn bằng ngôn ngữ tự nhiên sang câu truy vấn

ngữ nghĩa.
- Ngơn ngữ truy vấn SQL trong mơ hình cơ sở dữ liệu quan hệ.
- Ngôn ngữ truy vấn SPARQL trong Web ngữ nghĩa.
 Phạm vi nghiên cứu
Trong khuôn khổ của luận văn thuộc loại nghiên cứu, tôi chỉ giới hạn nghiên
cứu các vấn đề sau:
- Giới hạn chuyển đổi các câu truy vấn INSERT và UPDATE từ ngôn ngữ
tự nhiên sang hai loại cơ sở dữ liệu quan hệ và ngữ nghĩa.
4. P ƣơn p áp n

n ứ

 Phƣơng pháp lý thuyết
- Tiến hành thu thập và nghiên cứu các tài liệu có liên quan đến đề tài.
 Phƣơng pháp thực nghiệm
- Thực hiện xây dựng hệ thống từ các kết quả nghiên cứu lý thuyết đáp ứng
mục tiêu đặt ra.
- Kiểm tra, thử nghiệm, nhận xét và đánh giá kết quả.
5. ón

óp ủ l ận văn

 Ý nghĩa khoa học
Tìm hiểu rõ hơn cách tổ chức & truy vấn của các mơ hình cơ sở dữ liệu
phổ biến. Hiểu hơn về cách chuyển đổi từ câu truy vấn tự nhiên theo cấu trúc cho
trƣớc sang câu truy vấn của các mơ hình cơ sở dữ liệu
 Ý nghĩa thực tiễn
- Đề tài trình bày hƣớng phát triển và hồn thiện hơn của mơ hình NL2SQLSPARQL để có thể thực thi các truy vấn đa dạng nhƣ INSERT, UPDATE,...khi truy
vấn bằng ngôn ngữ tự nhiên.



4

6. Kết q ả ự

ến

6.1. Lý thuyết
- Hoàn thiện đƣợc mơ hình NL2SQL-SPARQL để có thể thực thi các truy
vấn đa dạng nhƣ INSERT, UPDATE ...khi truy vấn bằng ngôn ngữ tự nhiên.
6.2. Thực tiễn
- Mơ hình thực nghiệm cho kết quả nhƣ dự kiến.
7. Bố ụ

ủ l ận văn

Ngoài phần mở đầu, kết luận. Luận văn gồm 3 chƣơng:
Chƣơng 1: Tổng quan về các mơ hình cơ sở dữ liệu
Chƣơng 2: Ngôn ngữ truy vấn cơ sở dữ liệu quan hệ và cơ sở dữ liệu ngữ
nghĩa
Chƣơng 3: Phát triển hệ thống truy vấn dữ liệu tùy chọn dựa trên ngữ nghĩa
của câu truy vấn


5

C ƢƠN
TỔN

QUAN VỀ CÁC MƠ


1
ÌN

CƠ SỞ DỮ L ỆU

Chƣơng này trình bày tổng quan về: khái niệm của cơ sở dữ liệu và các mơ
hình cơ sở dữ liệu liên quan trực tiếp tới luận văn, tổ chức và cấu trúc câu truy vấn
của cơ sở dữ liệu quan hệ SQL và cơ sở dữ liệu ngữ nghĩa SPARQL.
1.1. CƠ SỞ DỮ L ỆU L

Ì?

Cơ sở dữ liệu (Database), viết tắt là CSDL hoặc DB, là một tập hợp các dữ
liệu có quan hệ logic với nhau, có thể dễ dàng chia sẻ và đƣợc thiết kế nhằm đáp
ứng các nhu cầu sử dụng của một tổ chức, cá nhân nào đó.
Một cách định nghĩa khác dễ hiểu hơn, CSDL là một tập hợp có cấu trúc của
những dữ liệu có liên quan với nhau đƣợc lƣu trữ trong máy tính (bảng chấm cơng
nhân viên, danh sách các đề án, niên giám điện thoại…). Một CSDL đƣợc thiết kế,
xây dựng và lƣu trữ với một mục đích xác định nhƣ phục vụ lƣu trữ, truy xuất dữ
liệu cho các ứng dụng hay ngƣời dùng.
Khi phân tích các thơng tin cần lƣu trữ về một tổ chức bất kỳ, chúng ta cần
phải nhận ra các entity (thực thể) thuộc về tổ chức đó. Với mỗi entity lại có nhiều
attribute (thuộc tính) khác nhau. Ngồi ra, giữa các entity lại có các mối quan hệ
qua lại mà ta gọi là relationship. Tất cả các CSDL đều có thể đƣợc biểu diễn bởi hệ
thống các entity, các attribute và các relationship. Các mối quan hệ giữa entity,
attribute, relationship đƣợc gọi là quan hệ logic.
* Vai trò của CSDL?
Ngày nay, CSDL đã trở thành một phần không thể thiếu trong các hoạt động
đời sống hàng ngày. Mỗi ngày, có thể bạn sử dụng nhiều CSDL khác nhau, nhiều

lần khác nhau nhƣng lại không nhận ra điều đó.
Nếu bạn là bạn đọc của một hệ thống thƣ viện nào đó, mỗi khi bạn đăng ký
mƣợn sách, trả sách hay tìm kiếm sách thơng qua hệ thống quản lý điện tử của thƣ
viện là bạn đang sử dụng CSDL của thƣ viện đó.
Nếu bạn có một chiếc máy vi tính và sử dụng chúng hằng ngày, điều đó cũng


6

có nghĩa là bạn sử dụng CSDL hằng ngày thơng qua việc sử dụng các ứng dụng cài
đặt trong chiếc máy của mình.
Trong lĩnh vực lập trình ứng dụng nói riêng và Cơng nghệ Thơng tin nói
chung, việc sử dụng CSDL ngày càng phổ biến. Việc sử dụng CSDL giúp tạo ra các
sản phẩm phần mềm chuyên nghiệp hơn, lƣu trữ có hệ thống, ít tốn chỗ và dễ dàng
quản lý hơn. Các công ty, tổ chức ngày nay hầu nhƣ đều tích hợp CSDL với hệ
thống website của họ. Điều này cho phép tổ chức, cơng ty đó gửi và thu thập thông
tin với ngƣời dùng một cách hết sức tinh vi. Hệ thống đặt vé máy bay của Vietnam
Airlines hay hệ thống đặt vé xe lửa của ga Sài Gịn là một ví dụ. Tại một thời điểm
bất kỳ có thể có nhiều ngƣời cùng truy cập và đặt vé một lúc. Ứng dụng CSDL vào
hệ thống này là cách để tránh những sai sót nhƣ: nhiều ngƣời cùng mua một vé,
mua phải vé đã bán cho ngƣời khác, trả tiền nhƣng khơng mua đƣợc vé ….

Hình

Vị trí của CSDL trong hệ thống

Để giúp ngƣời dùng giao tiếp với cơ sở dữ liệu một cách dễ dàng, cung cấp
một mơi trƣờng thuận lợi và hiệu quả để tìm kiếm và khai thác thông tin của cơ sở
dữ liệu, cần có một hệ quản trị cơ sở dữ liệu. Và để chỉ một cơ sở dữ liệu và một hệ
quản trị cơ sở dữ liệu, ngƣời ta dùng thuật ngữ “Hệ cơ sở dữ liệu”.



7

1.2. P ÂN LO

CÁC MƠ

ÌN

CƠ SỞ DỮ L ỆU

Mơ hình dữ liệu là một tập hợp tích hợp các khái niệm để mô tả và thao tác
dữ liệu, mối quan hệ giữa các mơ hình dữ liệu và các ràng buộc trên dữ liệu trong
một tổ chức.
1.2.1. Cơ ở ữ l ệ n ữ n

ĩ

A. Hammer và D. McLeod đƣa ra mơ hình cơ sở dữ liệu ngữ nghĩa năm
1981. Mơ hình dữ liệu ngữ nghĩa dựa trên ngữ nghĩa mức cao và các hình thức cấu
trúc cho CSDL. Trong mơ hình dữ liệu ngữ nghĩa, thực thể dùng để biểu diễn các
đối tƣợng thực sự của môi trƣờng ứng dụng. Các thực thể đƣợc tổ chức thành các
lớp. Các lớp có liên hệ với các lớp khác gọi là quan hệ xuyên lớp. Lớp và thực thể
có các thuộc tính. Các thuộc tính dùng để mơ tả đặc tính của lớp và thực thể cũng
nhƣ liên hệ với các thực thể khác.
Ý tƣởng này làm tiền đề để Tim Berners-Lee cho ra đời thế hệ mới của Web
là Web ngữ nghĩa (Semantic Web). Mục đích chính của Web ngữ nghĩa là điều
khiển q trình tiến hóa của web hiện tại bằng cách cho ngƣời dùng tìm kiếm, chia
sẻ và kết hợp để việc hình thành một cách dễ dàng hơn. Web ngữ nghĩa, nhƣ ý

tƣởng ban đầu, là một hệ thống cho phép máy có thể “hiểu” và trả lời các yêu cầu
phức tạp của ngƣời dùng dựa trên nghĩa của chúng. Nhƣ một “sự hiểu biết” đòi hỏi
các nguồn thơng tin có liên quan đƣợc cấu trúc ngữ nghĩa.
Tim Berners-Lee đã đề xuất một kiến trúc các lớp cho web ngữ nghĩa mà
thƣờng đƣợc biểu diễn bằng sơ đồ.


8

Hình

. Kiến trúc các lớp của Web ngữ nghĩa

Hình 1.2 cho thấy các lớp của web ngữ nghĩa, trong đó mơ tả các lớp chính
của thiết kế Web ngữ nghĩa và tầm nhìn của nó.
- Unicode và URI: Unicode đƣợc sử dụng để đại diện cho một kí tự duy
nhất, mà kí tự này đã đƣợc viết bằng ngơn ngữ bất kì. Uniform Resource Identifier
(URL) là định danh duy nhất cho tất cả tài nguyên. Các chức năng của Unicode và
URI có thể đƣợc mơ tả nhƣ là việc cung cấp một cơ chế nhận dạng duy nhất bên
trong một nhóm các ngơn ngữ cho web ngữ nghĩa.
- XML: là một ngơn ngữ cung cấp một cách viết có cấu trúc các Web văn
bản với từ vựng định nghĩa ngƣời dùng. XML đặc biệt thích hợp cho việc gởi văn
bản trên Web. XML khơng có cơ chế xây dựng để truyền tải ý nghĩa các thẻ mới
của ngƣời dùng cho ngƣời khác.
- RDF: Resource Description Framework là một mơ hình dữ liệu cơ bản,
giống nhƣ mơ hình thực thể - quan hệ, để viết các báo cáo đơn giản về các đối
tƣợng Web (tài nguyên). RDF cung cấp công nghệ này để diễn tả ý nghĩa của quan
hệ và khái niệm trong một dạng mà máy tính có thể dễ dàng xử lý.
- RDF Schema: Cung cấp một định nghĩa trƣớc, hệ thống khn mẫu cơ bản
cho mơ hình RDF. RDF Schema cung cấp ngun mẫu mơ hình tổ chức các đối



9

tƣợng Web vào hệ thống phân cấp. Mấu chốt của nguyên mẫu chính là các lớp và
thuộc tính, lớp con và các mối quan hệ sở hữu, miền và phạm vi hạn chế.
- Ontology: Lớp ontology mô tả các thuộc tính và các mối quan hệ giữa
thuộc tính và thành phần khác. Ontology có thể đƣợc định nghĩa là một tập hợp các
thuật ngữ đƣợc dùng để mô tả một miền cụ thể với khả năng suy luận.
- Logic layer: nó đƣợc sử dụng để nâng cao ngơn ngữ ontology và cho phép
viết ứng dụng cụ thể khai báo tri thức.
- Proof layer: nó liên quan đến q trình xử lý thực tế cũng nhƣ các đại diện
của các chứng minh trong ngôn ngữ web (từ cấp thấp hơn) và chứng minh đƣợc
thẩm định.
- Trust layer: nó đƣợc dùng cho việc sử dụng chữ ký số và các loại tri thức
dựa trên các khuyến nghị của các tác tử tin cậy hoặc xếp hạng và chứng nhận của
các tổ chức.
1.2.2. Cơ ở ữ l ệ q

n ệ

Cơ sở dữ liệu quan hệ là một tập hợp các quan hệ được tiêu chuẩn hóa với
những tên gọi quan hệ riêng biệt [15].
Vào năm 1970, tiến sĩ E. F. Codd đã trình bày mơ hình cơ sở dữ liệu quan hệ
với thế giới. Ngay sau thời điểm bƣớc ngoặt này, các tổ chức nhƣ các trƣờng đại
học và phịng thí nghiệm nghiên cứu bắt đầu nỗ lực phát triển một số ngôn ngữ
đƣợc sử dụng nhƣ là nền tảng cho một hệ thống cơ sở dữ liệu hỗ trợ các mơ hình
quan hệ. Công việc ban đầu đã dẫn đến sự phát triển của SQL và cơ sở dữ liệu SQL
cơ bản đƣợc sử dụng ngày nay. IBM đã bắt đầu một dự án nghiên cứu lớn trong
năm 1970, đƣợc gọi là System/R. Mục tiêu của dự án này là chứng minh tính khả

thi của mơ hình quan hệ và đạt đƣợc một số kết quả trong việc thiết kế và thực hiện
một cơ sở dữ liệu quan hệ. Những nỗ lực của các nhà nghiên cứu giữa năm 1974 và
1975 đã thành công, và họ quản lý để tạo ra một nguyên mẫu tối thiểu của một cơ
sở dữ liệu quan hệ.
Ngoài các nỗ lực để phát triển một cơ sở dữ liệu quan hệ, các nhà nghiên cứu
cũng đang làm việc để xác định một ngôn ngữ cơ sở dữ liệu. Các công việc thực


10

hiện tại phịng thí nghiệm này đƣợc cho là mục đích thƣơng mại quan trọng nhất
của những nỗ lực ban đầu để xác định một ngôn ngữ nhƣ vậy. Năm 1974, tiến sĩ
Donald Chamberlin và các động nghiệp của ông đã phát triển Structured English
Query Language (SEQUEL). Ngôn ngữ cho phép truy vấn cơ sở dữ liệu quan hệ sử
dụng kiểu câu tiếng Anh đƣợc định nghĩa rõ ràng. Tiến sĩ Chamberlain và nhân viên
của ông đầu tiên thực hiện ngôn ngữ mới này trong một cơ sở dữ liệu mẫu, đƣợc gọi
là SEQUEL-XRM.
Các phản hồi ban đầu và thành công của SEQUEL-XRM đã tạo động lực cho
tiến sĩ Chamberlain và nhân viên của mình để họ tiếp tục nghiên cứu. Họ hoàn toàn
chỉnh sửa SEQUEL từ năm 1976 đến năm 1977 và đặt tên là phiên bản mới
SEQUEL/2. Tuy nhiên, sau đó họ đã phải thay đổi tên SEQUEL to SQL (Structured
Query Language hoặc SQL Query Language) do vấn đề pháp lý vì có một ngƣời
khác đã sử dụng từ viết tắt SEQUEL. SQL cung cấp một số tính năng mới, nhƣ hỗ
trợ các truy vấn nhiều bảng và truy cập dữ liệu đƣợc chia sẻ bởi nhiều ngƣời dùng.
Ngay sau khi sự xuất hiện của SQL, IBM đã bắt đầu một dự án mới và tham
vọng hơn nhằm tạo ra một cơ sở dữ liệu mẫu và chứng minh tính khả thi của mơ
hình quan hệ. Họ đã gọi mẫu System R mới và dựa trên tập hợp con của SQL. Sau
nhiều công việc phát triển ban đầu đã đƣợc hoàn thành, IBM cài đặt System R vào
trong trang web nội bộ và một số trang web của khách hàng đƣợc chọn để thử
nghiệm và đánh giá. Nhiều thay đổi đã đƣợc thực hiện để System R và SQL dựa

trên kinh nghiệm và ý kiến phản hồi của ngƣời sử dụng tại các trang web này. IBM
đóng dự án trong năm 1979 và kết luận rằng mơ hình quan hệ thực sự là một công
nghệ cơ sở dữ liệu hữu hiệu đối với tiềm năng thƣơng mại.
* Các dạng chuẩn hóa cơ sở dữ liệu quan hệ
- Chuẩn hố là q trình tách bảng (phân rã) thành các bảng nhỏ hơn dựa vào
các phụ thuộc hàm.
- Các dạng chuẩn là các chỉ dẫn để thiết kế các bảng trong CSDL.
- Mục đích của chuẩn hố là loại bỏ các dƣ thừa dữ liệu và các lỗi khi thao
tác dƣ thừa và các lỗi khi thao tác dữ liệu (Insert, Delete, Update).


11

- Nhƣng chuẩn hoá làm tăng thời gian truy vấn

a. Dạng chuẩn 1 – 1NF (First Normal Form)
Định nghĩa: Một bảng (quan hệ) đƣợc gọi là ở dạng chuẩn 1NF nếu và chỉ
nếu toàn bộ các miền giá trị của các cột có mặt trong bảng (quan hệ) đều chỉ chứa
các giá trị nguyên tử (nguyên tố)
Ví dụ:
Một bảng (quan hệ) chƣa ở 1NF:
MASV

HOTEN

A01

Lê Na

A02


Trần An

A03

Hà Nam

DIACHI

MAMON

12 Thái Hà M01M02
56



Mây
24 Cầu Gỗ

M01

TENMON

DIEM

CSDLAnh

89

CSDL


8

M01M02M03 CSDLAnhToán 1

689

b. Dạng chuẩn 2 – 2NF
ịn n

ĩ

Một quan hệ ở dạng chuẩn 2NF nếu quan hệ đó:
+ Là 1NF
+ Các thuộc tính khơng khố phải phụ thuộc hàm đầy đủ vào khố chính


12

Ví dụ
- Ví dụ1: Cho quan hệ R = (ABCD) , khoá là AB và tập phụ thuộc hàm F =
{AB -> C, AB -> D}là quan hệ đạt chuẩn 2NF.
- Ví dụ2: Cho quan hệ R = (ABCD) , khoá là AB và tập phụ thuộc hàm
F = {AB -> C, AB -> D, B -> DC} là quan hệ khơng đạt chuẩn 2NF vì có
phụ thuộc hàm
B -> DC là phụ thuộc hàm bộ phận (phụ thuộc hàm khơng đầy đủ) vào khố.
Khi đó ta đƣa về dạng chuẩn 2NF nhƣ sau:

Một quan hệ ở dạng chuẩn 2NF nếu thoả mãn 1 trong các đièu kiện sau:



Khố chính chỉ gồm một thuộc tính



Bảng khơng có các thuộc tính khơng khố



Tất cả các thuộc tính khơng khố phụ thuộc hồn tồn vào tập các

thuộc tính khố chính
c. Dạng chuẩn 3 – 3NF
Định nghĩa: Một quan hệ ở dạng chuẩn 3NF nếu quan hệ đó:
+ Là 2NF
+ Các thuộc tính khơng khố phải phụ thuộc trực tiếp vào khố chính
Ví dụ
- Ví dụ1: Cho quan hệ R = (ABCDGH, khố là AB và tập phụ thuộc hàm F
= {AB -> C, AB -> D, AB -> GH} là quan hệ đạt chuẩn 3NF.
- Ví dụ2: Cho quan hệ R = (ABCDGH) , khoá là AB và tập phụ thuộc hàm
F = {AB -> C, AB -> D, AB -> GH, G -> DH} là quan hệ khơng đạt chuẩn
3NF vì có phụ thuộc hàm G ® DH là phụ thuộc hàm gián tiếp vào khố. Khi đó ta
đƣa về dạng chuẩn 3NF nhƣ sau:


13

d. Dạng chuẩn BCNF (Boyce Codd Normal Form)
Định nghĩa
Một quan hệ ở dạng chuẩn BCNF nếu quan hệ đó:

+ Là 3NF
+ Khơng có thuộc tính khố mà phụ thuộc hàm vào thuộc tính khơng khố.
Ví dụ
- Ví dụ1: Cho quan hệ R = (ABCDGH, khoá là AB và tập phụ thuộc hàm F
= {AB -> C, AB -> D, AB -> GH} là quan hệ đạt chuẩn BCNF.
- Ví dụ2: Cho quan hệ R = (ABCDGH) , khoá là AB và tập phụ thuộc hàm
F = {AB -> C, AB -> D, AB -> GH, H -> B} là quan hệ khơng đạt chuẩn
BCNF vì có thuộc tính khố B phụ thuộc hàm vào thuộc tính khơng khố H. Khi đó
ta đƣa về dạng chuẩn BCNF nhƣ sau:

1.2.3. Cơ ở ữ l ệ

ƣớn đố tƣợn

Dù có nhiều ngơn ngữ hƣớng đối tƣợng, đa số CSDL hƣớng đối tƣợng dựa
trên C++. Lựa chọn này là do tính hiệu quả và thơng dụng của C++. Thực tế CSDL
hƣớng đối tƣợng có các ƣu điểm:
- Cho phép xét các liên kết đối tƣợng dƣới dạng các phép lƣu trữ với các đối

tƣợng.


Các đối tƣợng đƣợc phép dùng chung cho nhiều ngƣời sử

dụng.
- Khả năng phát triển kho tri thức bằng cách thêm các đối tƣợng mới và các

phép xử lý kèm theo.
- Phát triển hệ quản trị CSDL dựa trên việc xử lý các đối tƣợng phức tạp,


thiết kế giao diện chƣơng trình, mô tả đối tƣợng động và trừu tƣợng.


14

Trong hệ thống CSDL hƣớng đối tƣợng, các đối tƣợng là bền vững hơn.. Hệ
thống CSDL hƣớng đối tƣợng có các nét đặc trƣng sau:
- Ngơn ngữ CSDL có khả năng mô tả lớp đối tƣợng, tao sinh, lƣu trữ và xóa

đối tƣợng.
- Các đối tƣợng cho phép chƣơng trình ứng dụng truy cập. Mỗi đối tƣợng

trong kho các đối tƣợng có tên duy nhất OID. Khái niệm OID khác với khái niệm
khóa chính trong cơ sở dữ liêu quan hệ. Khóa chính là tập các thuộc tính xác định
duy nhất bộ dữ liệu, mang giá trị có thể thay đổi đƣợc. Trong hệ thống hƣớng đối
tƣợng, OID thƣờng là chuỗi 64, 128bit hoặc cao hơn và mang giá trị khơng thay
đổi.. Một đối tƣợng cũng có thể có các thuộc tính mang vai trị nhƣ khóa chính
trong CSDL quan hệ. Điều này hoàn toàn phụ thuộc vào việc xác định lớp. Việc gán
OID hoàn toàn do hệ quản trị CSDL hƣớng đối tƣợng thực hiện.
Kho đối tƣợng là nơi chứa dữ liệu tạo nên CSDL hƣớng đối tƣợng. Hệ quản
trị CSDL hƣớng đối tƣợng cần có các chức năng cơ bản nhƣ hệ quản trị CSDL bình
thƣờng, nhƣ điều khiển tƣơng tranh, an toàn dữ liệu, toàn vẹn dữ liệu… Thực ra, hệ
quản trị CSDL hƣớng đối tƣợng hoạt động nhƣ hệ quản trị thƣờng, với sự tham giá
của phần mềm hƣớng đối tƣợng để truy cập các đối tƣợng.
1.3. KẾT C ƢƠN
Chƣơng này đã trình bày tổng quan về các mơ hình CSDL, giới thiệu về mơ
hình CSDL quan hệ, mơ hình CSDL ngữ nghĩa và CSDL hƣớng đối tƣợng thơng
qua đó có cái nhìn tổng quan hơn về các mơ hình.. Trong chƣơng tiếp theo, luận
văn sẽ giới thiệu về truy vấn cơ sở dữ liệu quan hệ và cơ sở dữ liệu ngữ nghĩa.



15

C ƢƠN

2

NGÔN NGỮ TRUY VẤN CƠ SỞ DỮ L ỆU QUAN
CƠ SỞ DỮ L ỆU N Ữ N

ỆV

ĨA

Chƣơng này tìm hiểu kĩ hơn về tổ chức và cấu trúc câu truy vấn của cơ sở dữ
liệu quan hệ SQL và cơ sở dữ liệu ngữ nghĩa SPARQL.
2.1. N ÔN N Ữ TRUY VẤN TRON

CƠ SỞ DỮ L ỆU QUAN



2.1.1. Giới thiệu
Ngôn ngữ truy vấn dữ liệu (Structured Query Language - SQL) cho phép
những ngƣời khai thác CSDL (chuyên nghiệp hoặc không chuyên) sử dụng để truy
vấn các thông tin cần thiết trong CSDL.
Ngôn ngữ quản lý dữ liệu (Data Control Language - DCL) cho phép những
ngƣời quản trị hệ thống thay đổi cấu trúc của các bảng dữ liệu, khai báo bảo mật
thông tin và cấp quyền hạn khai thác CSDL cho ngƣời sử dụng.
Những năm 1975-1976, IBM lần đầu tiên đƣa ra hệ quản trị CSDL kiểu quan

hệ mang tên SYSTEM-R với ngôn ngữ giao tiếp CSDL là SEQUEL (Structured
English QUEry Language), đó một ngơn ngữ con để thao tác với CSDL.
Năm 1976 ngôn ngữ SEQUEL đƣợc cải tiến thành SEQUEL2. Khoảng năm
1978-1979 SEQUEL2 đƣợc cải tiến và đổi tên thành Ngơn Ngữ Truy Vấn Có Cấu
Trúc (Structured Query Language - SQL) và cuối năm 1979 hệ quản trị CSDL đƣợc
cải tiến thành SYSTEM-R*.
Năm 1986 Viện Tiêu Chuẩn Quốc Gia Mỹ (American National Standards
Institute - ANSI) đã công nhận và chuẩn hóa ngơn ngữ SQL, và sau đó Tổ chức Tiêu
chuẩn Thế giới (International Standards Organization - ISO) cũng đã cơng nhận
ngơn ngữ này. Đó là chuẩn SQL-86.
Tới nay SQL đã qua 3 lần chuẩn hóa lại (1989, 1992, 1996) để mở rộng các
phép toán và tăng cƣờng khả năng bảo mật và tính tồn vẹn dữ liệu. Tài liệu này
trình bày Ngơn ngữ truy vấn CSDL dựa trên chuẩn SQL-92 và có tham khảo với


16

SQL, SQL*PLUS, PL/SQL của Oracle Server Release 7.3 (1996) và MicroSoft
SQL Server 7.1 với các phạm trù nêu trên.
2.1.2. Câu truy vấn SQL
Cây cú pháp trừu tƣợng1 (Abstract syntax tree – AST) cho phép xây dựng
các cấu trúc của mã cho bất kỳ ngôn ngữ với ngữ pháp: các nút AST mang nhãn có
thể chứa giá trị là các từ khóa, các đối tƣợng, các biến, hằng số và bất kỳ yếu tố
ngôn ngữ trong khi cây cấu trúc cho phép để trừu tƣợng đi những ngôn ngữ khái
niệm về phạm vi hoặc phụ thuộc. AST là định dạng máy có thể đọc mã cú pháp cụ
thể, và có thể gán với tri thức tìm ẩn hoặc theo ngữ cảnh từ ngữ pháp.
Tất cả các nút AST đƣợc gán với một trong những lớp trừu tƣợng của ngôn ngữ là
biểu thức, tốn tử, hàm, câu lệnh, danh mục, đối tƣợng.

Hình 2.1. Các nút con của nút AST

Tập hợp các câu lệnh truy vấn SQL đƣợc chia ra thành các nhóm với những
mục đích nhƣ sau:
- Kiểm sốt truy cập: GRANT, REVOKE
- Quản lý phiên làm việc: CONNECT, SET
- Định nghĩa dữ liệu: CREATE, ALTER, DROP
- Thao tác dữ liệu: UPDATE, SELECT, INSERT, DELETE
- Quản lý giao dịch: COMMIT, ROLLBACK, LOCK TABLE
- Câu lệnh nhập xuất
- Câu lệnh thủ tục: CALL
Câu lệnh SQL đƣợc phân đoạn theo các mệnh đề, đƣợc đại diện bằng thuộc
1

/>

×