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

Tìm kiếm văn bản dựa vào cụm từ và chuyển vào cơ sở dữ liệu : Luận văn ThS. Công nghệ thông tin: 60 48 01 03

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 (1.89 MB, 59 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

ĐỖ THỊ LOAN

TÌM KIẾM VĂN BẢN DỰA VÀO CỤM TỪ VÀ
CHUYỂN VÀO CƠ SỞ DỮ LIỆU

LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN

Hà Nội - 2015


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

ĐỖ THỊ LOAN

TÌM KIẾM VĂN BẢN DỰA VÀO CỤM TỪ VÀ
CHUYỂN VÀO CƠ SỞ DỮ LIỆU
Ngành: Công nghệ Thông tin
Chuyên ngành: Kỹ Thuật Phần Mềm
Mã số: 60.48.01.03

LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. LÊ HUY THẬP

Hà Nội - 2015



LỜI CẢM ƠN
Để hoàn thành luận văn Thạc sĩ này tôi xin được gửi lời cảm ơn sâu sắc đến thầy
PGS.TS. Lê Huy Thập về định hướng khoa học, luôn quan tâm và tạo điều kiện thuận
lợi trong suốt quá trình nghiên cứu hoàn thành luận văn này.
Tôi xin được gửi lời cảm ơn đến các thầy, cô trong Bộ môn Kỹ thuật Phần Mềm
Khoa Công nghệ Thông tin đã truyền đạt cho tôi những kiến thức quý giá và bổ ích
trong quá trình theo học tại trường.
Tôi cũng xin chân thành cảm ơn đến gia đình tôi về sự quan tâm, động viên của bố mẹ, chồng và các em đã giúp tôi có thêm nghị lực, cố gắng để hoàn thành luận văn.
Cuối cùng, xin gửi lời cảm ơn chân thành nhất đến các bạn cùng học K19, K20 đã
giúp đỡ tôi trong suốt 3 năm học tập.
Do thời gian và kiến thức có hạn nên luận văn chắc không tránh khỏi những thiếu
sót nhất định. Tôi rất mong nhận được những sự góp ý quý báu của thầy cô và các bạn.
Hà Nội, ngày 18 tháng 11 năm 2015
Đỗ Thị Loan


1

LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “Tìm kiếm văn bản dựa vào cụm từ và chuyển vào
cơ sở dữ liệu” là công trình nghiên cứu của cá nhân tôi dưới sự hướng dẫn của PGS.
TS. Lê Huy Thập, trung thực và không sao chép của tác giả khác. Trong toàn bộ nội
dung nghiên cứu của luận văn, các vấn đề được trình bày đều là những tìm hiểu và
nghiên cứu của chính cá nhân tôi hoặc là được trích dẫn từ các nguồn tài liệu có ghi
tham khảo rõ ràng, hợp pháp.
Tôi xin chịu mọi trách nhiệm và mọi hình thức kỷ luật theo quy định cho lời cam
đoan này.
Hà Nội, ngày 18 tháng 11 năm 2015

Đỗ Thị Loan



2

MỤC LỤC
LỜI CAM ĐOAN ............................................................................................................ 1
MỤC LỤC ....................................................................................................................... 2
DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT .................................................... 4
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ ......................................................................... 5
DANH SÁCH BẢNG BIỂU ........................................................................................... 5
MỞ ĐẦU ......................................................................................................................... 6
Chương 1. TỔNG QUAN................................................................................................ 7
1.1. Cơ sở dữ liệu......................................................................................................... 7
1.1.1. Khái niệm văn bản phi cấu trúc và có cấu trúc ............................................. 8
1.1.2. Giới thiệu cơ sở dữ liệu quan hệ.................................................................. 10
1.2. Toán rời rạc......................................................................................................... 16
1.2.1. Mệnh đề đơn giản trong CSDL ................................................................... 16
1.2.1.1. Định nghĩa mệnh đề toán học ................................................................. 16
1.2.1.2. Các phép toán trên mệnh đề ................................................................... 16
1.2.2. Mệnh đề hội và tuyển sơ cấp, mệnh đề chuẩn hội và chuẩn tuyển ........... 18
1.2.3. Tính tương đương giữa các biểu thức logic và mệnh đề chuẩnhội/chuẩn
tuyển. ..................................................................................................................... 21
1.3. Các phần mềm tìm kiếm cơ bản ......................................................................... 21
1.3.1. Google search .............................................................................................. 22
1.3.2. Yahoo search ............................................................................................... 22
Chương 2. TÌM KIẾM VĂN BẢN DỰA VÀO CỤM TỪ VÀ CHUYỂN VÀO CSDL
....................................................................................................................................... 24
2.1. Tạo các xâu tìm kiếm ......................................................................................... 24
2.1.1. Tạo các xâu tìm kiếm dựa vào mode của xâu ............................................. 24
2.1.2. Tạo các xâu tìm kiếm dựa vào toán tử OR hoặc AND ................................ 27

2.2.Cơ sở dữ liệu quan hệ .......................................................................................... 28
2.3. Các thuật toán ..................................................................................................... 31
2.3.1. Thuật toán 1(Gom địa chỉ các Website có chứa cùng “cụm từ” vào trong
cùng một Collection) ............................................................................................. 31
2.3.2. Thuật toán 2(Truy cập các Website và đưa về các đoạn văn bản có "cụm
từ") ......................................................................................................................... 33
2.3.3. Tinh chế lại bảng TongHop.dbf .................................................................. 36


3
2.3.4. Thống kê tổng hợp dữ liệu từ số liệu của bảng TongHop.dbf .................... 36
2.4. Tiền xử lý thông tin và các thao tác hỗ trợ thuật toán ........................................ 37
2.4.1. Máy chủ và Công nghệ sử dụng ...................................................................... 37
2.4.1.1. Máy chủ Apache ....................................................................................... 37
2.4.1.2. Ngôn ngữ PHP (Hypertext Preprocessor) ................................................ 37
2.4.1.3. MySQL ..................................................................................................... 37
2.4.2. Web Crawler và phương pháp tìm kiếm dữ liệu trên Internet ........................ 38
2.4.2.1. Dữ liệu trong thu thập thông tin trên Internet .......................................... 38
2.4.2.2. Phân loại nguồn thông tin từ Internet ....................................................... 39
2.4.2.3. Module Crawler ........................................................................................ 41
Chương 3. THỬ NGHIỆM CHƯƠNG TRÌNH TÌM KIẾM CÁC ĐOẠN VĂN BẢN
TRÊN MỘT MÁY TÍNH DỰA VÀO CỤM TỪ VÀ CHUYỂN VÀO CƠ SỞ DỮ
LIỆU .............................................................................................................................. 47
3.1. Quản lý chủ đề ................................................................................................ 47
3.2. Tìm kiếm và thu thập dự liệu theo chủ đề ...................................................... 49
3.3. Nội dung tổng hợp .......................................................................................... 50
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .................................................................... 55
a, Tầm quan trọng của vấn đề lấy tin tự động trên Internet ...................................... 55
b, Các vấn đề đã được tìm hiểu trong đề tài .............................................................. 55
Luận văn đạt được hai kêt quả chính: ........................................................................ 55

TÀI LIỆU THAM KHẢO ............................................................................................. 56


4

DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

Thuật ngữ

Diễn giải

CSDL

Cơ sở dữ liệu

KQTC

Kết quả tài chính

BCTN

Báo cáo thường niên

BCTC

Báo cáo tài chính

HĐQT

Hội đồng quản trị


URL

Uniform Resource Locator, được
dùng đề tham chiếu tới tài nguyên
trên Internet

HTTP

HyperText Transfer Protocol


5

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 2.1. Lớp mode các cụm từ .................................................................................... 27
Hình 2.2. Mối quan hệ giữa các thực thể trong mô hình dữ liệu................................... 31
Hình 2.3. Kết quả tìm kiếm ........................................................................................... 33
Hình 2.4. Danh sách URL đã tìm được ......................................................................... 35
Hình 2.5. Danh sách các bài báo cần xử lý chuẩn hóa dữ liệu ...................................... 36
Hình 2.6. Quá trình tìm kiếm và xử lý thông tin ........................................................... 41
Hình 2.7. Sơ đồ thu thập thông tin ................................................................................ 44
Hình 2.8. Sơ đồ xử lý dữ liệu từ hàng đợi ..................................................................... 45
Hình 2.9. Sơ đồ bóc tách dữ liệu ................................................................................... 46
Hình 3.1. Quản lý chủ đề ............................................................................................... 47
Hình 3.2. Thêm chủ đề .................................................................................................. 48
Hình 3.3. Sửa chủ đề ..................................................................................................... 49
Hình 3.4. Màn hình quét và thu thập thông tin từ Internet ............................................ 50
Hình 3.5. Quản lý bài viết thu thập được ...................................................................... 51
Hình 3.6. Thêm bài viết ................................................................................................. 52

Hình 3.7. Sửa bài viết .................................................................................................... 53
Hình 3.8. Xem chi tiết một bài viết ............................................................................... 54

DANH SÁCH BẢNG BIỂU
Bảng 1.1. Chân trị của các phép toán mệnh đề ............................................................. 17
Bảng 1.2. Bảng ưu tiên các phép toán mệnh đề ............................................................ 17
Bảng 2.1. Quan hệ giữa cụm từ và bài viết ................................................................... 26
Bảng 2.2. Tần số và tần số tích lũy................................................................................ 26
Bảng 2.3. Các ký hiệu biến mệnh đề ............................................................................. 28
Bảng 2.5. Nội dung bảng chủ đề tìm kiếm .................................................................... 29
Bảng 2.6. Cấu trúc bảngtổng hợp tin tức ....................................................................... 30
Bảng 2.7. Ví dụ nội dung thu thập................................................................................. 30


6

MỞ ĐẦU
Ngày nay cuộc cách mạng Khoa học – Công nghệ đang phát triển một cách chóng
mặt, nó đã làm thay đổi nền kinh tế toàn cầu và trở thành lực lượng sản xuất trực tiếp.
Khoa học – Công nghệ đã đưa nhân loại chuyển dần từ nền văn minh công nghiệp sang
nền kinh tế tri thức; trong đó công nghệ thông tin là một trong các ngành mũi nhọn. Nó
có tầm quan trọng cho mọi quốc gia nhất là đối với các nước đang phát triển muốn hòa
nhập với nền kinh tế thế giới.
Một ứng dụng quan trọng của công nghệ thông tin là việc áp dụng vào quản lý, đặc
biệt trong lĩnh vực quản lý nhà nước, quản lý kinh tế -xã hội. Nó giúp cho các nhà quản
lý đưa ra những quyết định chính xác, kịp thời, xử lý nhanh chóng các tình huống nhằm
nâng cao hiệu quả quản lý.
Với sự phát triển mạnh mẽ của internet, World Wide Web và các phương pháp tìm
kiếm thì hầu như chúng ta có thể tìm thấy các thông tin cần thiết cho mục đích sử dụng
cho cá nhân và tập thể. Tuy nhiên, với khối lượng thông tin khổng lồ trong đó thông tin

hữu ích không phải là tất cả và số website ngày càng nhiều nên nội dung ngày càng
phong phú và đa dạng. Làm thế nào để chúng ta có thể tìm kiếm các thông tin có ích cho
lĩnh vực mà chúng ta quan tâm trong khối lượng thông tin đồ sộ trên Internet bao gồm:
Kinh tế, chính trị, khoa học kỹ thuật, giáo trình,… Chúng ta sẽ tìm trên mạng các đoạn
văn bản hay bài viết có chứa “cụm từ” thuộc chủ đề mà chúng ta quan tâm cho trước.
Mục đích của luận văn:
-

Tổng hợp nhanh các thông tin theo chủ đề để hỗ trợ cho các nhà lãnh đạo ra quyết
định kịp thời “Thời gian đắt hơn vàng”.

-

Ngăn chặn không cho các văn bản độc hại chuyển vào mạng hoặc ra khỏi mạng.

-

Ghi lại nội dung đoạn văn bản hay toàn bộ bài viết cùng với tác giả, ngày upload, địa
chỉ kết nối,…. Các dữ liệu trên được lưu vào cơ sở dữ liệu quan hệ có cấu trúc tiền
định nhằm hỗ trợ cho công tác lưu trữ và sử dụng.
Có thể sử dụng các thuật toán trong đề tài này để tạo ra nhanh chóng các báo cáo

tổng quan về một chuyên đề nào đó và đặc biệt hữu dụng để chọn lựa tài liệu khi xây
dựng giáo trình và giáo trình điện tử.


7

Chương 1. TỔNG QUAN
Chương này trình bày về các khái niệm văn bản phi cấu trúc và có cấu trúc... Giới

thiệu về cơ sở dữ liệu quan hệ, các mệnh đề đơn giản trong cơ sở dữ liệu, mệnh đề hội
và tuyển sơ cấp, các dạng chuẩn tắc, tính tương đương giữa các biểu thức logic và mệnh đề
chuẩn hội, chuẩn tuyển, sau đó là các công cụ tìm kiếm cơ bản Google search, Yahoo search,
một số lệnh tìm kiếm trong các ngôn ngữ lập trình bậc cao
1.1. Cơ sở dữ liệu [2][9][10]
Nếu dữ liệu được lưu trong máy theo một quy định nào đó (để có thể cập nhật: truy
nhập, truy xuất) sẽ được gọi là Cơ Sở Dữ Liệu - Database (sẽ viết tắt là CSDL)
Các mô hình Cơ Sở Dữ Liệu:
i- Mô hình đẳng cấp
Mô hình đẳng cấp được thiế tkế theo dạng hình cây (Tree) nên đôi khi còn gọi là
mô hình cây.
ii- Mô hình mạng
Một Cơ Sở Dữ Liệu mạng là một tập hợp các mắt xích (nodes) và các mối nối
(links), như thế một mắt xích bất kỳ có thể được nối với một mắt xích khác, và có thể
nối nhiều lần. Tuy nhiên các tác vụ như nhập dữ liệu và xuất dữ liệu trong trường hợp
này sẽ rất phức tạp.
iii- Mô hình quan hệ
Các dữ liệu của cùng cấp sẽ được tổ chức thành một bảng, các bảng sẽ được đặt
quan hệ bởi các khoá. Khi gọi đến một khoá của bảng mẹ, dữ liệu của các bảng con
tương ứng với khoá đó sẽ được tham chiếu đến.
Kiến trúc một hệ Cơ Sở Dữ Liệu
Một Cơ Sở Dữ Liệu được phân thành các mức:
-

Phần Cơ Sở Dữ Liệu Vật lý (mức Vật lý) là các tệp dữ liệu theo một cấu trúc nào
đó và được lưu trên các thiết bị nhớ thứ cấp (đĩa từ, băng từ,...)
Phần Cơ Sở Dữ Liệu khái niệm là sự biểu diễn trừu tượng của Cơ Sở Dữ Liệu
Vật lý,
Phần Khung nhìn là cách nhìn, là quan niệm sử dụng đối với Cơ Sở Dữ Liệu mức
khái niệm



8
Một Cơ Sở Dữ Liệu đã được thiết kế, người ta thường quan tâm đến bộ khung (cấu
trúc – Structure) của Cơ Sở Dữ Liệu đó (ví dụ cấu trúc của bảng DBF trong FOXPRO
chẳng hạn).
1.1.1. Khái niệm văn bản phi cấu trúc và có cấu trúc
Văn bản dạng có cấu trúc là loại văn bản mà khi cập nhật bằng thủ công hay máy
tính đều có khuôn mẫu sẵn ví dụ như các công văn, quyết định, các mẫu biểu thống kê,
điều tra dân số, …Đặc điểm của loại văn bản này là chúng ta có thể cơ sở dữ liệu hóa
theo các chuẩn Cơ sở dữ liệu quan hệ, Cơ sở dữ liệu hướng đối tượng và Cơ sở dữ liệu
dạng khối,…. Các văn bản ngược với loại văn bản trên được gọi là phi cấu trúc. Trong
thời đại bùng nổ công nghệ thông tin, nhiều linh vực trên thế giới đã và đang tận dụng
giá trị thông diệp của nguồn dữ liệu phi cấu trúc khổng lồ mà linh vực kinh tế tài chính
cũng không là ngoại lệ. Theo Turner (2013, tr.1), “Thông tin phi cấu trúc, một cách thừa
nhận, truyền đạt nhiều tri thức ý nghĩa cho con nguời…không còn gói gọn trong lĩnh
vực công nghệ thông tin mà còn lan rộng trong lĩnh vực tài chính ngân hàng. Nghiên
cứu sử dụng nguồn dữ liệu văn bản trên Báo cáo thuờng niên và nguồn tin tức trực tuyến
của các doanh nghiệp Việt Nam, một cách tiếp cận mới dựa trên nguồn dữ liệu phi cấu
trúc, vào việc dự báo kiệt quệ tài chính. Thông tin phi cấu trúc được sử dụng riêng biệt
hoặc kết hợp với các yếu tố dự báo khác dựa trên dữ liệu cấu trúc truyền thống, huớng
tới mục tiêu cải thiện khả năng dự báo của các mô hình. Kết quả nghiên cứu cho thấy
xét một cách độc lập thông tin phi cấu trúc có khả năng truyền tải nhiều thông điệp có ý
nghia trong dự báo tình trạng kiệt quệ tài chính của các công ty niêm yết tại Việt Nam,
đồng thời việc kết hợp giữa dữ liệu này và dữ liệu cấu trúc đại diện bởi các nhân tố
truyền thống (tỷ số tài chính, đặc điểm quản trị công ty, chỉ số vi mô) giúp cải thiện độ
chính xác của dự báo.
Theo Petersen (2004), dữ liệu được chia thành dữ liệu cấu trúc (dữ liệu cứng) và
dữ liệu phi cấu trúc (dữ liệu mềm). Dữ liệu có cấu trúc, thuờng là số liệu kế toán, giá cổ
phiếu, dòng tiền, chỉ số thị truờng, là dạng thông tin có khả năng lưu trữ trong các cơ sở

dữ liệu quan hệ (Relational Database), trong đó các thực thể và thuộc tính đã được định
nghĩa sẵn, thuờng được thu thập trên Báo cáo tài chính (BCTC). Nguợc lại với dữ liệu
cấu trúc, dữ liệu phi cấu trúc được định nghĩa là dạng dữ liệu không có cấu trúc định
nghĩa sẵn và không thể biểu diễn duới dạng bảng số liệu quan hệ. Phổ biến nhất là các
dạng dữ liệu văn bản dạng chữ (Text), ngoài ra còn có các dạng khác như tập tin video,
tập tin ảnh, tập tin âm thanh. Theo Healy và Palepu (2001), thông tin văn bản phi cấu
trúc của doanh nghiệp được chia thành hai nguồn thông tin nội bộ và đại chúng. Nguồn
thông tin nội bộ của doanh nghiệp được phân định thành các công bố phi tài chính bằng


9
văn bản dạng bắt buộc theo quy định hoặc tự nguyện, hầu hết thuộc Báo cáo thuờng niên
(BCTN). Nguồn thông tin phi cấu trúc bên ngoài doanh nghiệp tồn tại đa dạng hơn, bao
gồm các nguồn như tin đồn, các tin vắn công bố về cổ phiếu trên các Sở giao dịch và
các diễn đàn cổ phiếu, các phân tích tài chính độc lập, bình luận của các chuyên gia kinh
tế, tạp chí tài chính, công bố của bên thứ ba (công ty kiểm toán) hoặc các bên
Với khả năng hàm chứa các thông điệp có giá trị, thông tin phi cấu trúc có thể được
sử dụng trong nhiều lĩnh vực nghiên cứu bao gồm cả việc cảnh báo sớm kết quả tài chính
(KQTC) cũng như các sự kiện tiêu cực khác. Quá trình phát hiện tri thức từ nguồn dữ
liệu văn bản này được gọi là Phân tích thông điệp văn bản hoặc Phân tích văn bản
(Textual analysis), tương ứng với kĩ thuật khai thác văn bản (Text mining). Trong đó,
nhiều tác giả sử dụng quy trình này trên nguồn thông tin phi cấu trúc nội bộ của doanh
nghiệp trong xây dựng mô hình dự báo như Shirata và Sakagami (2009) dự báo KQTC
theo quá trình phân tích thông tin phi cấu trúc dựa trên Báo cáo thuờng niên của các
doanh nghiệp Nhật Bản ứng dụng kĩ thuật phân tích hình thái học cho bộ ký tự Kanji.
Nghiên cứu cũng đưa ra những nhóm từ mới có tính đại diện cao cho nhóm công ty
không kiệt quệ nhu “R&D”, “đầu tư vốn”, “ kinh doanh mới”…Cecchini (2010) phát
triển phương pháp phân tích nội dung thông điệp dạng từ điển từ nhằm dự báo KQTC
trên phần thông tin văn bản trong mục Thảo luận và Phân tích của Ban quản trị thuộc
BCTN. Tác giả tìm thấy việc dùng riêng các thông tin phi cấu trúc nhằm dự báo các sự

kiện tài chính đạt được những kết quả tích cực (dự báo chính xác 75% cho nhóm công
ty kiệt quệ), đồng thời trích lập được nhóm từ khóa đặc trưng cho phần thông tin mềm
của nhóm công ty KQTC như “giảm lợi nhuận gộp”, “ảnh huởng lạm phát”, “lợi ích”,
“nỗ lực công ty”. Ngoài ra, Lu, Shen và Wei (2013) sử dụng nguồn thông tin mềm đại
Lựa chọn nguồn dữ liệu phi cấu trúc
Nguồn dữ liệu văn bản phi cấu trúc nội bộ đuợc thu thập trong các phần phản ánh
các nội dung về kế hoạch, triến luợc phát triển hoặc dự báo tương lai của doanh nghiệp
trên BCTN. Các phần chi tiết được thu thập bao gồm:
Những thông tin phải công bố theo quy định của Thông tu 52/2012/TT-BTC bao
gồm:
-

Triển vọng và kế hoạch phát triển tương lai thuộc báo cáo của Hội đồng quản trị

-

(HÐQT)
Kế hoạch phát triển trong tương lai thuộc báo cáo của Ban giám đốc.

Những thông tin công bố tự nguyện gồm các phát biểu dự báo tương lai của công
ty trong các BCTN được lựa chọn theo tiêu chí của Vu, Tower và Scully (2011) bao
gồm:


10
-

Dự báo doanh thu, phần diễn giải văn bản định tính.

-


Dự báo thu nhập, phần diễn giải văn bản định tính.

-

Thảo luận về các nhân tố bên ngoài ảnh huởng đến tình trạng hoạt động tương lai
của công ty (kinh tế, chính trị và công nghệ).

-

Thảo luận về các nguồn quỹ và kinh phí của công ty trong tương lai.

1.1.2. Giới thiệu cơ sở dữ liệu quan hệ
1.1.2.1. Các khái niệm của mô hình quan hệ
a) Miền, thuộc tính, bộ và quan hệ
Một miền D là một tập hợp các giá trị nguyên tử, điều đó có nghĩa là mỗi giá trị
trong miền là không thể phân chia được trong phạm vi mô hình quan hệ. Để đặc tả một
miền, người ta chỉ ra một tên, một kiểu dữ liệu và khuôn dạng dữ liệu.
Một lược đồ quan hệ R, ký hiệu là R(A1,A2,..., An), được tạo nên từ một quan hệ
R gồm danh sách các thuộc tính A1,A2,…, An. Mỗi một thuộc tính Ai là tên vai trò của
một miền D nào đó trong lược đồ quan hệ R. D được gọi là miền giá trị của Ai và được
ký hiệu là Dom(Ai). Một lược đồ quan hệ được sử dụng để mô tả một quan hệ; R được
gọi là tên của quan hệ đó. Cấp của một quan hệ là số các thuộc tính của lược đồ quan hệ
của nó. Ví dụ, ta có lược đồ cho quan hệ cấp 5: SINHVIEN(Maso, Hoten, Ngaysinh,
Gioitinh, Diachi). Với lược đồ quan hệ này, SINHVIEN là tên của quan hệ.
Một quan hệ (hoặc trạng thái quan hệ) r của lược đồ quan hệ R(A1,A2,…, An) được
ký hiệu là r(R), là tập hợp các n-bộ r(R) = {t1, t2,..., tn }. Mỗi n-bộ t là một danh sách có
thứ tự của n giá trị, t = < v1, v2, …, vn>, trong đó mỗi vi,1<= i <= n, là một phần tử của
Dom(Ai) hoặc là một giá trị không xác định (null value). Giá trị thứ i của bộ t, tương
ứng với thuộc tính Ai được ký hiệu là t[Ai].

Định nghĩa quan hệ ở trên có thể phát biểu lại như sau: Một quan hệ r(R) là một
quan hệ toán học cấp n trên các miền giá trị dom(A1), dom(A2),…, dom(An), đó là tập
con của tích Đề các của các miền giá trị xác định R:
r(R)  (dom(A1) x dom(A2) x …dom(An))
b) Các đặc trưng của các quan hệ
Thứ tự của các bộ trong một quan hệ:
Một quan hệ được định nghĩa như một tập hợp các bộ. Các phần tử trong một tập
hợp không có thứ tự, vì vậy các bộ trong một quan hệ không có một thứ tự cụ thể. Tuy
nhiên, trong một tệp, các bản ghi được lưu trữ một cách vật lý trên đĩa vì vậy luôn có
một thứ tự giữa các bản ghi. Thứ tự này chỉ rõ bản ghi thứ nhất, bản ghi thứ hai,…, bản


11
ghi thứ n. Một cách tương tự, khi ta biểu diễn một quan hệ như là một bảng, các hàng
được hiển thị theo một thứ tự nhất định.
Thứ tự của các giá trị bên trong một bộ
Theo định nghĩa quan hệ ở trên, một n-bộ là một danh sách có thứ tự của n giá trị.
Như vậy thứ tự của các giá trị trong một bộ là quan trọng, từ đó suy ra thứ tự của các
thuộc tính trong một lược đồ quan hệ cũng quan trọng. Tuy nhiên, ở mức lô gic, thứ tự
của các thuộc tính và các giá trị của nó là không thực sự quan trọng khi giữ được sự
tương ứng giữa các thuộc tính và các giá trị.
Có thể đưa ra một định nghĩa khác về quan hệ, định nghĩa này sẽ làm cho thứ tự
của các giá trị trong một bộ là không cần thiết. Theo định nghĩa này, một lược đồ quan
hệ R = (A1, A2,…,An) là một tập hợp các thuộc tính và một quan hệ r(R) là một tập hợp
hữu hạn các ánh xạ r = {t1, t2, …., tm}, trong đó mỗi ti là một ánh xạ từ R vào D, trong đó
D = dom(A1)dom(A2) …dom(An). Trong định nghĩa này, t[Ai] phải ở trong dom(Ai)
với 1<= i <= n với mỗi ánh xạ ti trong r. Mỗi ánh xạ ti được gọi là một bộ.
Các giá trị trong một bộ
Mỗi giá trị của thuộc tính trong một bộ là một giá trị nguyên tử; điều đó có nghĩa
là nó không phân chia được thành các thành phần trong phạm vi của mô hình quan hệ.

Như vậy, trong mô hình quan hệ không cho phép có các thuộc tính phức hợp và các
thuộc tính đa trị. Các thuộc tính đa trị phải được biểu diễn bằng các quan hệ còn các
thuộc tính phức hợp chỉ được biểu diễn bằng các thuộc tính thành phần đơn của nó.
Các giá trị của một vài thuộc tính trong một bộ cụ thể có thể không biết được hoặc
không thích ứng cho nó. Trường hợp đó, người ta sử dụng một giá trị đặc biệt gọi là giá
trị null.
Thể hiện của một quan hệ
Một lược đồ quan hệ có thể được thể hiện như là một tuyên bố hoặc một khẳng
định. Mỗi bộ trong quan hệ được thể hiện như là một sự kiện hoặc như một thể hiện cụ
thể của một khẳng định. Ngoài các quan hệ biểu diễn các sự kiện về các thực thể, một
số quan hệ có thể biểu diễn các sự kiện về mối liên kết.
Như vậy, mô hình quan hệ biểu diễn các sự kiện về thực thể và các sự kiện về liên
kết dưới dạng duy nhất là các quan hệ.
1.1.2.2. Các ràng buộc quan hệ, lược đồ CSDL quan hệ
a) Các ràng buộc miền


12
Các ràng buộc miền chỉ ra rằng giá trị của mỗi thuộc tính A phải là một giá trị
nguyên tử thuộc miền giá trị dom(A). Các kiểu dữ liệu liên kết với các miền bao gồm:
các kiểu dữ liệu số chuẩn cho các số nguyên (short integer, integer, long integer), các số
thực (float, double precision float). Ngoài ra còn các kiểu dữ liệu ký tự (dãy ký tự với
độ dài cố định, dãy ký tự với độ dài thay đổi), ngày, thời gian và tiền tệ. Các loại miền
khác có thể là các miền con của một kiểu dữ liệu hoặc một kiểu dữ liệu đếm được trong
đó mọi giá trị có thể được liệt kê rõ ràng
b) Ràng buộc khoá và ràng buộc trên các giá trị không xác định (null)
Một quan hệ được định nghĩa như một tập hợp các bộ. Theo định nghĩa, các phần
tử của một tập hợp là khác nhau, vì vậy, mọi bộ trong quan hệ phải khác nhau. Điều đó
có nghĩa là không có hai bộ có cùng một tổ hợp giá trị cho tất cả các thuộc tính của
chúng.

Thông thường, có tồn tại các tập con của các thuộc tính của một lược đồ quan hệ
có tính chất là không có hai bộ nào ở trong mọi trạng thái quan hệ r của R có cùng một
tổ hợp giá trị cho các thuộc tính của nó. Giả sử chúng ta ký hiệu một tập con như vậy là
SK; khi đó với hai bộ khác nhau bất kỳ t1 và t2 trong một trạng thái quan hệ r của R
chúng ta có ràng buộc là t1[SK]  t2[SK]. Tập hợp thuộc tính SK như vậy được gọi là
một siêu khoá (superkey) của lược đồ quan hệ R. Một siêu khoá SK xác định rõ một
ràng buộc về tính duy nhất, phát biểu rằng không có hai bộ khác nhau trong một trạng
thái r của R có cùng một giá trị cho SK. Mỗi quan hệ có ít nhất là một siêu khoá mặc
định, đó là tập hợp tất cả các thuộc tính của nó.
Nói chung, một lược đồ quan hệ có thể có nhiều hơn một thuộc tính khoá và hơn
nếu có thể có nhiều hơn một tập thuộc tính khóa. Trong trường hợp đó, mỗi một khoá
được gọi là một khoá dự tuyển (candidate key). Thông thường ta phải chỉ định một trong
các khoá dự tuyển làm khoá chính (primary key) của quan hệ. Khoá chính là một khoá
dự tuyển mà các giá trị của chúng được dùng để xác định các bộ trong quan hệ. Ta quy
ước rằng, các thuộc tính tạo nên khoá chính của một lược đồ quan hệ được gạch dưới.
Ví dụ:
SINHVIEN (Maso, Hoten, Ngaysinh, Gioitinh, Diachi).
Chú ý rằng khi một lược đồ quan hệ có nhiều khoá dự tuyển, việc lựa chọn một
khoá dự tuyển để làm khoá chính là tuỳ ý; tuy nhiên tốt nhất là chọn khoá chính gồm
một thuộc tính hoặc có số các thuộc tính ít nhất.
Một ràng buộc khác trên các thuộc tính chỉ rõ khi nào thì cho phép các giá trị null.
Những thuộc tính luôn luôn phải có một giá trị xác định và hợp lệ thì bị ràng buộc là
NOT NULL.
c) Cơ sở dữ liệu quan hệ và lược đồ cơ sở dữ liệu quan hệ


13
Ở trên, chúng ta đã nói đến các lược đồ quan hệ đơn lẻ và các quan hệ đơn lẻ. Một
cơ sở dữ liệu quan hệ thường gồm nhiều quan hệ với các bộ giá trị trong các quan hệ
được liên kết với nhau theo nhiều cách. Trong phần này chúng ta sẽ định nghĩa một cơ

sở dữ liệu quan hệ và một lược đồ cơ sở dữ liệu quan hệ.
Một lược đồ cơ sở dữ liệu quan hệ S là một tập hợp các lược đồ quan hệ:
S = {R1, R2,…, Rn} và một tập các ràng buộc toàn vẹn.
Một cơ sở dữ liệu quan hệ DB của S là một tập hợp các trạng thái quan hệ:
DB = {r1, r2, …, rn}
sao cho mỗi ri là một trạng thái của Ri và sao cho các trạng thái quan hệ ri thoả mãn các
ràng buộc toàn vẹn chỉ ra trong tập các ràng buộc toàn vẹn.
Trong một lược đồ cơ sở dữ liệu quan hệ, các thuộc tính biểu diễn cùng một khái
niệm thế giới thực có thể (hoặc không) có cùng tên như nhau trong các quan hệ khác
nhau. Ngược lại, các thuộc tính biểu diễn các khái niệm khác nhau có thể có tên như
nhau trong các quan hệ khác nhau.
Trong một số phiên bản trước của mô hình quan hệ, người ta yêu cầu rằng các
thuộc tính biểu diễn cùng một khái niệm của thế giới thực thì phải có tên như nhau trong
mọi quan hệ. Điều đó sẽ gây ra khó khăn khi cùng một khái niệm thế giới thực được sử
dụng trong các vai trò khác nhau.
Một hệ quản trị cơ sở dữ liệu phải có ngôn ngữ định nghĩa dữ liệu (Data definition
language DDL) để định nghĩa lược đồ cơ sở dữ liêu quan hệ. Các hệ quản trị cơ sở dữ
liệu hiện nay hầu như sử dụng SQL cho mục đích này.
Các ràng buộc toàn vẹn được chỉ ra trên một lược đồ cơ sở dữ liệu và được tôn
trọng làm thoả mãn trên mỗi trạng thái cơ sở dữ liệu của lược đồ này. Ngoài các ràng
buộc miền và ràng buộc khoá còn có thêm các ràng buộc được xem như một phần của
mô hình quan hệ, đó là ràng buộc toàn vẹn thực thể và ràng buộc toàn vẹn tham chiếu.
d) Toàn vẹn thực thể, toàn vẹn tham chiếu và khoá ngoài
Ràng buộc toàn vẹn thực thể được phát biểu là: khoá chính phải luôn luôn có giá
trị xác định, nghĩa là không được phép có giá trị null. Sở dĩ có điều đó là do giá trị của
khoá chính được sử dụng để xác định các bộ giá trị riêng biệt trong một quan hệ. Việc
có giá trị null cho khoá chính kéo theo việc chúng ta không thể xác định được một số bộ
giá trị. Ví dụ, nếu có hai hay nhiều hơn các bộ giá trị có giá trị null cho khoá chính thì
chúng ta có khả năng phân biệt chúng.
Các ràng buộc khoá và ràng buộc toàn vẹn thực thể được chỉ ra trên các quan hệ

riêng rẽ. Ràng buộc toàn vẹn tham chiếu được chỉ ra giữa hai quan hệ để duy trì sự tương
ứng giữa các bộ của hai quan hệ. Một cách không hình thức, ràng buộc toàn vẹn tham


14
chiếu được phát biểu là: một bộ giá trị trong một quan hệ có liên kết đến một quan hệ
khác phải liên kết đến một bộ giá trị tồn tại trong quan hệ đó.
Để định nghĩa toàn vẹn tham chiếu một cách hình thức hơn, trước tiên chúng ta
đưa ra khái niệm khoá ngoài: Một tập hợp các thuộc tính FK trong một lược đồ quan hệ
R1 là một khoá ngoài (foreign key) của R1 tham chiếu đến quan hệ R2 nếu nó thoả mãn
hai quy tắc sau:
-

qt1. Các thuộc tính trong FK có cùng miền giá trị như các thuộc tính của khoá
chính PK của R2. Các thuộc tính FK được gọi là tham chiếu đến (hoặc là liên hệ
đến) quan hệ R2.

-

qt2. Một giá trị của FK trong một bộ t1 của trạng thái hiện tại r1(R1) hoặc có mặt
như một giá trị của khoá chính của một bộ t2 nào đấy trong trạng thái hiện tại
r2(R2), hoặc là null. Trong trường hợp này ta có t1[FK] = t2[PK] và ta nói rằng bộ
t1 liên hệ (tham chiêú) đến bộ t2. R1 được gọi là quan hệ tham chiếu và R2 được
gọi là quan hệ bị tham chiếu.

Trong một cơ sở dữ liệu có nhiều quan hệ thường có nhiều ràng buộc toàn vẹn
tham chiếu. Để chỉ ra các ràng buộc này, trước tiên ta phải có một hiểu biết rõ ràng về
ý nghĩa hoặc vai trò của mỗi tập thuộc tính ở trong các lược đồ quan hệ khác nhau của
cơ sở dữ liệu. Các ràng buộc toàn vẹn quy chiếu thường nảy sinh từ các mối liên kết
giữa các thực thể được biểu diễn bằng các lược đồ quan hệ.

Chú ý rằng một khoá ngoài có thể tham chiếu đến quan hệ của chính nó. Trong
trường hợp đó, khoá ngoài biểu thị một liên kết đệ quy.
Chúng ta có thể biểu diễn các ràng buộc tham chiếu bằng sơ đồ. Để làm điều đó ta
vẽ một cạnh có hướng từ mỗi khoá ngoài đến quan hệ mà nó tham chiếu đến.
Ngoài các ràng buộc toàn vẹn ở trên, cơ sở dữ liệu còn phải thoả mãn một số ràng
buộc khác, như ràng buộc trạng thái, ràng buộc chuyển tiếp,…. Các ràng buộc trạng thái
xác định các ràng buộc mà một trạng thái vững chắc của cơ sở dữ liệu phải thoả mãn.
Ví dụ về các ràng buộc đó là: “lương của một nhân viên không được vượt quá lương của
người giám sát nhân viên đó” hoặc “số giờ nhiều nhất mà một nhân viên có thể làm việc
trong một tuần trên tất cả các dự án là 56 giờ”. Các ràng buộc như vậy có thể được đặc
tả và bắt tuân theo bằng cách sử dụng một ngôn ngữ đặc tả ràng buộc. Người ta có thể
sử dụng các cơ cấu như là kích hoạt (trigger) hoặc khẳng định (assertion). Các ràng buộc
chuyển tiếp có thể được định nghĩa để làm việc với những thay đổi trạng thái trong cơ
sở dữ liệu. Ví dụ về ràng buộc này là: “lương của một nhân viên chỉ có thể tăng”. Các
ràng buộc như vậy thường được định nghĩa bằng cách sử dụng các quy tắc hoặc bằng
các trigger.


15
1.1.2.3. Các phép toán trên mô hình quan hệ
a) Các phép toán cập nhật
Phép chèn (Insert)
Phép chèn cung cấp một danh sách các giá trị cho một bộ mới t được chèn vào
trong một quan hệ R. Phép chèn có thể vi phạm các kiểu ràng buộc được mô tả ở trên.
Các ràng buộc miền có thể bị vi phạm nếu một giá trị thuộc tính được cho không thuộc
vào miền tương ứng. Các ràng buộc khoá có thể bị vi phạm nếu một giá trị khoá trong
bộ mới t đã tồn tại trong một bộ khác ở trong quan hệ r(R). Sự toàn vẹn thực thể có thể
bị vi phạm nếu khoá chính của bộ mới t là null. Sự toàn vẹn tham chiếu có thể bị vi
phạm nếu một giá trị của một khoá ngoài trong t tham chiếu đến một bộ không tồn tại
trong một quan hệ được tham chiếu.

Nếu một phép chèn vi phạm một hoặc nhiều ràng buộc, tuỳ chọn mặc định là loại
bỏ phép chèn. Trong trường hợp này, thường là các hệ quản trị cơ sở dữ liệu có thể thông
báo cho người sử dụng nguyên nhân của việc loại bỏ phép chèn.
Phép xoá (Delete)
Phép xoá được sử dụng để xoá một hoặc nhiều bộ giá trị của một quan hệ. Phép
xoá chỉ có thể vi phạm ràng buộc tham chiếu trong trường hợp bộ bị xoá được tham
chiếu bởi một khoá ngoài từ các bộ khác trong cơ sở dữ liệu. Để chỉ rõ một phép xóa,
cần phải đưa ra một điều kiện trên các thuộc tính của quan hệ để chọn các bộ sẽ bị xóa.
Ba tuỳ chọn được sẵn sàng được sử dụng nếu một phép xoá gây ra sự vi phạm. Tuỳ
chọn thứ nhất là loại bỏ phép xoá. Tuỳ chọn thứ hai là cố gắng lan truyền phép xoá
(cascade the deletion) bằng cách xoá đồng thời các bộ tham chiếu đến bộ bị xoá. Tuỳ
chọn thứ ba là sửa đổi các giá trị của các thuộc tính tham chiếu gây ra sự vi phạm; mỗi
giá trị như vậy hoặc là làm cho bằng null hoặc được thay đổi thành bộ có hiệu lực tham
chiếu khác. Chú ý rằng, nếu một thuộc tính tham chiếu gây ra sự vi phạm là một phần
của khoá chính thì không thể làm cho thành null, bởi vì nếu làm vậy thì sẽ vi phạm ràng
buộc toàn vẹn thực thể. Có thể kết hợp cả ba tuỳ chọn ở trên.
Phép sửa đổi (Update)
Phép toán sửa đổi được dùng để thay đổi các giá trị của một hoặc nhiều thuộc tính
trong một (hoặc nhiều) bộ của một quan hệ R nào đấy. Để lựa chọn các bộ cần được
thay đổi, người sử dụng phải chỉ ra một điều kiện trên các thuộc tính.
Việc sửa đổi một thuộc tính không phải là một khoá chính hoăc một khoá ngoài
thường không gây ra các vi phạm ràng buộc; hệ quản trị cơ sở dữ liệu chỉ cần kiểm tra
để khẳng định rằng giá trị mới là thuộc miền và kiểu giá trị đúng đắn. Việc sửa đổi giá
trị một khoá chính tương tự như việc xoá một bộ và chèn bộ khác vào chỗ của nó. Như
vậy chúng ta trở về trường hợp đã thảo luận với phép chèn và phép xoá. Nếu một thuộc


16
tính khoá ngoài bị sửa đổi thì hệ quản trị cơ sở dữ liệu phải đảm bảo rằng giá trị mới
tham chiếu đến một bộ có tồn tại trong quan hệ được tham chiếu (hoặc là null).

b) Các phép toán đại số quan hệ
Các phép toán đại số quan hệ được chia thành hai nhóm. Một nhóm bao gồm các
phép toán tập hợp lấy từ lý thuyết tập hợp toán học. Các phép toán đó là phép hợp, phép
giao, phép trừ tập hợp và phép tích Đề các. Nhóm kia bao gồm các phép toán được xây
dựng đặc biệt cho các cơ sở dữ liệu quan hệ. Các phép toán đó là phép chọn, phép chiếu,
phép nối và một số các phép toán khác.
1.2. Toán rời rạc [3][8]
Các quy tắc của logic cho ý nghĩa chính xác của các mệnh đề. Các quy tắc này
được sử dụng để phân biệt giữa các lập luận toán học đúng và không đúng. Cùng với
tầm quan trọng của nó trong việc hiểu sự suy luận toán học, logic học còn có nhiều ứng
dụng trong tin học. Các quy tắc của logic được dùng để thiết kế các mạng trong máy
tính, để xây dựng các chương trình của máy tính, để kiểm tra tính đúng đắn của các
chương trình và nhiều ứng dụng khác.
1.2.1. Mệnh đề đơn giản trong CSDL
1.2.1.1. Định nghĩa mệnh đề toán học
Định nghĩa:
 Mệnh đề logic là một phát biểu để diễn tả một ý tưởng trọn vẹn và khẳng định một
cách khách quan là phát biểu đó đúng hoặc sai (không thể vừa đúng lại vừa sai,
hay mang tính chất mập mờ).
 Giá trị trị đúng hay sai của mệnh đề được gọi là chân trị của mệnh đề. Chân trị
đúng của mệnh đề thường được kí hiệu là 1 hoặc T hoặc True, còn chân trị sai
được kí hiệu là 0 hoặc F hoặc False
Một mệnh đề là một câu đúng hoặc sai, chứ không thể vừa đúng vừa sai.
Mệnh đề chỉ có một giá trị đơn (luôn đúng hoặc sai) được gọi là mệnh đề nguyên
từ (atomic proposition). Các mệnh đề không phải là mệnh đề nguyên từ được gọi là
mệng đề phức hợp (compound propositions). Thông thường, tất cả mệnh đề phức hợp
là mệnh đề liên kết (có chứa phép tính mệnh đề).
1.2.1.2. Các phép toán trên mệnh đề
Ðiều mà chúng ta quan tâm ở đây không phải là xác định tính đúng hoặc sai của
một mệnh đề sơ cấp. Bởi vì những mệnh đề này thường là những phát biểu nói lên một

ý tưởng nào đó trong một phạm vi chuyên môn nhất định. Vấn đề mà ta quan tâm ở đây


17
là làm thế nào để tính toán chân trị của các mệnh đề phức hợp theo các mệnh đề sơ cấp
cấu thành mệnh đề phức hợp đó nhờ vào các phép toán logic. Các phép toán logic ở đây
là các ký hiệu được dùng thay cho các từ liên kết logic như "không", "và", "hay", "hoặc",
"suy ra" hay "nếu... thì...", "nếu và chỉ nếu": Bảng chân trị của các phép toán mệnh đề
(Xem bảng 1.1)
p

q

p

pq

pq

p q

pq

pq

0

0

1


0

0

0

1

1

0

1

1

0

1

1

1

0

1

0


0

0

1

1

0

0

1

1

0

1

1

0

1

1

Bảng 1.1. Chân trị của các phép toán mệnh đề

Chú ý:Một biểu thức logic có m biến sẽ có 2m bộ giá trị.
Mức ưu tiên của các phép toán logic (Xem bảng 1.2):
Ký hiệu phép toán

Nghĩa của phép toán

(hoặchoặc)

Phủ định

,

Hội, tuyển

,

Kéo theo, tương đương

Bảng 1.2. Bảng ưu tiên các phép toán mệnh đề
Thứ tự ưu tiên của các phép toán logic được liệt kê theo mức yếu dần từ trái sang
phải, từ trên xuống dưới.
Các phép toán logic được định nghĩa bằng bảng chân trị (truth table). Bảng chân
trị chỉ ra rõ ràng chân trị của mệnh đề phức hợp theo từng trường hợp của các chân trị
của các mệnh đề sơ cấp tạo thành mệnh đề phức hợp. Bảng chân trị của các phép toán
logic tất nhiên là phản ánh ngữ nghĩa tự nhiên của các từ liên kết tương ứng. Bảng chân
trị không chỉ dùng để liệt kê ra sự liên hệ chân trị giữa mệnh đề phức hợp với chân trị
của các mệnh đề sơ cấp cấu thành nó, mà bảng chân trị còn được dùng với mục đích


18

rộng hơn: liệt kê sự liên hệ chân trị giữa các mệnh với các mệnh đề đơn giản hơn cấu
thành chúng.
Phép tương đương (BICONDITIONAL):
Cho P và Q là hai mệnh đề. Câu "P nếu và chỉ nếu Q" là một mệnh đề mới được
gọi là P tương đương Q. Kí hiệu P ↔ Q. Mệnh đề tương đương là đúng khi P và Q có
cùng chân trị.
P ↔ Q = (P → Q) ∧ (Q → P)
Đọc là: P nếu và chỉ nếu Q, P là cần và đủ đối với Q, Nếu P thì Q và ngược lại.
1.2.1.3. Ðộ ưu tiên của các toán tử logic
Tương tự như đối với các phép toán số học, để tránh phải dùng nhiều dấu ngoặc
trong các biểu thức logic, ta đưa ra một thứ tự ưu tiên trong việc tính toán.
Ở trên ta có 5 toán tử logic:  (không),  (và),  (hay),  (kéo theo),  (tương
đương)
 ưu tiên mức 1 (cao nhất)
,  ưu tiên mức 2 (thấp hơn)
,  ưu tiên mức 3 (thấp nhất)
trong đó, các toán tử liệt kê trên cùng dòng có cùng độ ưu tiên.
1.2.2. Mệnh đề hội và tuyển sơ cấp, mệnh đề chuẩn hội và chuẩn tuyển
Dạng chuẩn tắc (chính tắc) của 1 biểu thức là biểu diễn biểu thức về dạng đơn giản,
chỉ bao gồm các phép toán phủ định, hội tuyển của các mệnh đề.
1.2.2.1. Chuẩn tắc tuyển
Giả sử p1, p2, …, pn là các biến mệnh đề. Một biểu thức logic F theo các biến mệnh
đề p1, p2, …, pn được gọi là một biểu thức hội cơ bản (hội sơ cấp) nếu nó có dạng sau:
F = q1 q2  …  qn với qj = pj hoặc qj =  pj (j = 1, …, n).
Ví dụ: Biểu thức x  y  z là một biểu thức hội cơ bản theo 3 biến mệnh đề x, y,
z.
Biểu thức logic E(p1, p2, …, pn) theo các biến mệnh đề p1, p2, …, pn được nói là có
dạng chính tắc tuyển khi E có dạng: E = E1 E2  …  Em Trong đó mỗi biểu thức con
Ei đều có dạng chính tắc tuyển theo các biến p1, p2, …, pn.
Ví dụ: Các biểu thức sau đây có dạng chính tắc tuyển:

E(x,y,z) = (x  y  z)  ( x  y  z)  (x  y  z)
F(p1,p2,p3,p4) = (p1  p2  p3  p4)  (p1  p2  p3 p4)
Ðịnh lý: Mọi biểu thức logic E(p1, p2, …, pn) đều có thể viết dưới dạng chính tắc
tuyển (chuẩn tắc tuyển) duy nhất, không kể sự sai khác về thứ tự trước sau của các biểu


19
thức hội cơ bản trong phép tuyển). Nói một cách khác, ta có duy nhất một tập hợp các
biểu thức hội cơ bản  E1, E2, …, Em sao cho biểu thức E(p1, p2, …, pn) tương đương
logic với biểu thức:
E1  E2  …  Em.
1.2.2.2. Chuẩn tắc hội
Giả sử p1, p2, …, pn là các biến mệnh đề. Một biểu thức logic F theo các biến mệnh
đề p1, p2, …, pn được gọi là một biểu thức tuyển cơ bản (tuyển sơ cấp) nếu nó có dạng
sau:
F = q1 q2  … qn
với qj = pj hoặc qj = pj (j = 1, …, n).
Ví dụ: Biểu thức x y z là một biểu thức tuyển cơ bản theo 3 biến mệnh đề x,
y, z.
Biểu thức logic E(p1, p2, …, pn) theo các biến mệnh đề p1, p2, …, pn được nói là
có dạng chính tắc hội khi E có dạng: E = E1 E2  … Em
Trong đó mỗi biểu thức con Ei đều có dạng chính tắc tuyển theo các biến p1, p2,
…, pn.
Ví dụ: Các biểu thức sau đây có dạng chuẩn tắc hội (chính tắc hội): E(x,y,z) = (x y
 z) (x  y z) (x  y z)
F(p1,p2,p3,p4) = (p1 p2  p3 p4)  (p1 p2 p3  p4)
Ðịnh lý: Mọi biểu thức logic E(p1, p2, …, pn) đều có thể viết dưới dạng chính tắc hội
duy nhất, không kể sự sai khác về thứ tự trước sau của các biểu thức tuyển cơ bản trong
phép hội). Nói một cách khác, ta có duy nhất một tập hợp các biểu thức tuyển cơ bản 
E1, E2, …, Em sao cho biểu thức E(p1, p2, …, pn) tương đương logic với biêu thức

E1 E2 … Em.
Chuẩn hoá
Mục đích chuẩn hoá là biến đổi biểu thức logic thông thường thành biểu thứcdạng
chuẩn để tiếp tục xử lý với các ngôn ngữ tìm kiếm nhất là lượng từ hoá vấn tin cho vị từ
phi lượng từ với độ phức tạp nào đó khi dùng các lượng từ cần thiết như : với mọi, :
tồn tại, chúng được đặt phía trước.
Dạng chuẩn hội (Conjunctive normal form) là hội (^) của các tuyển (v)
Ví dụ: (p11v p12v … v p1n)^…^(pm1 vpm2 v …pnm)
Trong đó: pnm là vị trí đơn giản.
Dạng chuẩn tuyển (disjunction normal from) là tuyển (v) của các hội (^).
Ví dụ: (p11p12…p1n) v …v(pm1pm2…pmn)


20
Các quy tắc (^là AND, v là OR, và ┐là NOT)
1.

p1 p2 ↔p2  p1

2.

p1 p2 ↔ p2 p1

3.

p1 (p2  p3) ↔ (p1  p2)  p3

4.

p1  (p2 p3) ↔ (p1 p2)  p3


5.

p1 ^ (p2 p3) ↔ (p1  p2)  (p1  p3)

6.

p1 v (p2 ^ p3) ↔ (p1v p2) ^(p1 v p3)

7.

(p1 p2) ↔ p1p2

8.

 (p1  p2) ↔p1p2

9.

 (p)↔p

Dạng chuẩn hội thường được sử dụng trong thực tế bởi vì các lượng từ hoá vấn tin
thường chứa nhiều vị từ AND hơn vị từ OR. Tuy nhiên nó cũng có thể thực hiện cho
các vị từ chuẩn tuyển.
Quy tắc chuyển biểu thức logic bất kỳ về dạng chuẩn hội:
 Khử các phép tương đương: ab  (ab)  (b  a)
 Khử các phép kéo theo: ab  ( a b)
 Chuyển các phép phủ định vào sát các ký hiệu mệnh đề bằngcách áp dụng luật
De Morgan (a b) ab) và (a  b) a b)
 Khử phủ định kép: a  a

 Áp dụng luật phân phối: a (b  c) ≡ (a  b)  (a  c)
Chú ý: Chúng ta thực hiện tương tự để chuyển biểu thức logic bất kỳ về dạng chuẩn
tuyển.


21
1.2.3. Tính tương đương giữa các biểu thức logic và mệnh đề chuẩnhội/chuẩn
tuyển.
Sự tương đương lôgic
Cho P và Q là hai công thức. Ta nói rằng hai công thức P, Q tương đương lôgicvới
nhau, kí hiệu là P ≡ Q, nếu với mọi hệ chân lí gán cho các mệnh đề có mặt trong hai
công thức đó thì chúng luôn nhận giá trị chân lí như nhau.
Đặc biệt, hai mệnh đề a, b gọi là tương đương lôgic, kí hiệu là a ≡ b, nếu chúng
cùng đúng hoặc cùng sai.
Chú ý:
1. Kí hiệu a ≡ b là để chỉ hai mệnh đề tương đương lôgic chứ không phải là hai mệnh
đề bằng nhau.
2. Hai mệnh đề tương đương lôgic có thể về nội dung chúng hoàn toàn không có liên
quan.
1.3. Các phần mềm tìm kiếm cơ bản
Các phần mềm tìm kiếm là “chìa khóa” rất quan trọng giúp bạn tìm thấy thông tin
mà bạn cần trong kho dữ liệu khổng lồ từ các máy chủ và liên mạng máy tính toàn
cầu.Các công cụ tìm kiếm dựa trên chương trình tự động. Những công cụ tìm kiếm tự
động, ví dụ Google sẽ tạo ra những danh sách của họ tự động. Các chương trình tự động
như crawler hay spider sẽ bắt đầu làm việc, sau đó mọi người có thể tìm kiếm thông qua
những gì mà các chương trình tự động dò tìm được.
Nếu thay đổi những trang web của bạn, những công cụ tìm kiếm tự động dựa vào
crawler sẽ tìm thay sự thay đổi này và điều đó có thể ảnh hưởng đến cách bạn được liệt
kê như thế nào. Những tiêu đề trang, nội dung văn bản và các phần tử khác đều giữ vai
trò nhất định.

Bên cạnh đó, crawler sẽ dùng phần mềm tự động để dò tìm thông tin trên mạng
qua meta tag (thẻ cung cấp thông tin ngắn gọn của trang web) và cũng theo các link để
kết nối đến các chỉ mục trên tất cả link của các trang web. Crawler sẽ quay lại thường
xuyên để cập nhật bất cứ sự thay đổi nào.
Các thành phần của công cụ tìm kiếm tự động: Công cụ tìm kiếm tự động có 3
thành phần chính. Đầu tiên, spider hay crawler sẽ dò tìm một trang web, đọc và sau
đó spider đi theo những đường liên kết đến các trang khác bên trong trang web. Điều
này có nghĩa là khi một người nào đó tìm đến một trang web, các spider sẽ ghi nhớ.
Nó sẽ quay lại trang đó theo chu kỳ, thường từ 1 - 2 tháng để xem có sự thay đổi trên
trang web.


22
Thứ hai, mọi thứ spider tìm thấy trong công cụ tìm kiếm đó chính là chỉ mục
(index). Đôi lúc, chỉ mục còn được gọi là danh mục (catalog) – là kho lưu trữ khổng lồ
chứa mọi sao chép của các trang web mà spider tìm thấy. Nếu một trang web thay đổi,
sau đó danh mục sẽ được cập nhật với thông tin mới. Thỉnh thoảng, spider cũng cần có
thời gian để lập chỉ mục cho trang mới hay cập nhật thay đổi. Do đó, cũng có trường
hợp một trang web đã được spider dò tìm, nhưng vẫn chưa lập chỉ mục, nghĩa là trong
khoảng thời gian này trang web sẽ không được tìm thấy trên công cụ tìm kiếm. Cuối
cùng, đó là phần mềm của công cụ tìm kiếm. Đây là chương trình có thể lọc thông tin
từ hàng triệu trang web được lưu trong chỉ mục và có thể so sánh, đối chiếu để đưa ra
kết quả phù hợp.
1.3.1. Google search
Bằng cách sử dụng các Bot dò tìm và tạo chỉ mục (index) các trang Web trên
Internet, xây dựng cơ sở dữ liệu tìm kiếm cho các máy chủ của mình, khi có người
truy cập và thực hiện tìm kiếm, kết quả tìm kiếm sẽ được lấy ra từ đây. Google search
cũng cho phép người sử dụng khai báo trang web của họ với máy chủ của google, sau
đó các máy chủ này sẽ sắp xếp thời gian để tạo chỉ mục cho các trang web được khai
báo.

Để tìm kiếm, người sử dụng gõ vào ô tìm kiếm một hoặc một vài cụm từ gọi là từ
khóa tìm kiếm (keywords). Dựa trên từ khóa tìm kiếm này, Google search sẽ thực hiện
tìm kiếm và hiển thị ra kết quả cho người sử dụng.
Việc sắp xếp thứ tự kết quả tìm kiếm phụ thuộc vào thứ hạng của nó theo phân cấp
của Google search nhờ tổng hợp phức tạp từ keyword, pagerank, sitemap... . Kết quả
tìm kiếm cũng được phân loại theo đối tượng sử dụng khác nhau, nó phụ thuộc vào vị
trí địa lý (lấy theo IP truy cập của người truy cập). Ngoài ra, Google search cũng sử
dụng cookies và tính năng lưu trữ thói quen tìm kiếm của người dùng (cá nhân hóa kết
quả tìm kiếm) để tạo ra kết quả tìm kiếm. Nói chung, việc sắp sếp và hiển thị kết quả
của Google search khá phức tạp và nó là bí mật công nghệ mà nhờ đó Google có thể
chiếm lĩnh thị trường.
1.3.2. Yahoo search
Là một trong những công cụ tìm kiến hàng đầu trên thế giới và đang phát triển rất
mạnh tại Việt Nam, Website chính của Yahoo có lượt truy cập hằng ngày đứng đầu tại
Việt Nam.


×