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

Truy vấn thống kê cơ sở dữ liệu một cách mềm dẻo dựa trên logic mờ

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.23 MB, 72 trang )

i

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn này của tự bản thân tôi tìm hiểu, nghiên cứu.
Các tài liệu tham khảo được trích dẫn và chú thích đầy đủ. Nếu không
đúng tôi xin hoàn toàn chịu trách nhiệm.

Tác giả luận văn

Đặng Bình Ninh


ii

LỜI CẢM ƠN
Trong thời gian nghiên cứu và thực hiện luận văn này, tôi đã nhận được sự
giúp đỡ nhiệt tình của cơ quan, gia đình và các cá nhân. Tôi xin bày tỏ lời cảm
ơn sâu sắc nhất tới tất cả các tập thể, cá nhân đã tạo điều kiện giúp đỡ tôi trong
suốt quá trình thực hiện nghiên cứu luận văn này.
Trước hết tôi xin trân trọng cảm ơn Ban Giám Hiệu, các thầy giáo, cô giáo
phòng Sau đại học trường Đại học Công Nghệ Thông Tin & Truyền Thông,
cùng các thầy cô giáo, những người đã trang bị kiến thức cho tôi trong suốt quá
trình học tập.
Đặc biệt, tôi xin bày tỏ sự kính trọng và lòng biết ơn chân thành nhất đến
cô giáo - PGS. TS. Hồ Cẩm Hà, người cô đã tận tình hướng dẫn khoa học và
giúp đỡ tôi trong suốt quá trình học tập, nghiên cứu và hoàn thành luận văn.
Tôi chân thành gửi lời cảm ơn đến các cán bộ, giảng viên khoa Giáo dục
Mầm Non, trường Đại học Hồng Đức, Thanh Hóa, nơi tôi đang công tác đã tạo
mọi điều kiện trong công việc để tôi có thể hoàn thành luận văn này.
Xin chân thành cảm ơn đến gia đình, người thân, bạn bè đã giúp đỡ và


động viên tôi trong suốt thời gian học tập cũng như trong thời gian thực hiện
luận văn.
Do thời gian nghiên cứu có hạn, luận văn của tôi không tránh khỏi thiếu
sót, rất mong nhận được sự đóng góp của các thầy cô giáo cùng toàn thể bạn
đọc.
Xin chân trọng cảm ơn!
Thanh Hóa, ngày 08 tháng 10 năm 2015
TÁC GIẢ LUẬN VĂN

Đặng Bình Ninh


iii

MỤC LỤC
LỜI CAM ĐOAN ............................................................................................... i
LỜI CẢM ƠN .................................................................................................... ii
MỤC LỤC ........................................................................................................ iii
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT ...................................... v
DANH MỤC CÁC BẢNG VÀ HÌNH VẼ ........................................................ vi
MỞ ĐẦU ........................................................................................................... 1
CHƯƠNG I: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU............................................ 4
1.1 Cơ sở dữ liệu và các truy vấn .................................................................... 4
1.1.1 Khái niệm cơ sở dữ liệu ...................................................................... 4
1.1.2 Mô hình CSDL quan hệ....................................................................... 6
1.1.2.1 Khóa của quan hệ [1] .................................................................. 7
1.1.2.2 Phụ thuộc hàm .............................................................................. 8
1.1.2.3 Đại số quan hệ.............................................................................. 8
1.1.3 Các truy vấn trên mô hình quan hệ ................................................... 11
1.1.3.1 SQL ............................................................................................ 11

1.1.3.2 MySQL ....................................................................................... 13
1.1.3.3 SQL server. ................................................................................. 13
1.2 Ứng dụng lý thuyết tập mờ trong truy vấn CSDL .................................... 15
1.2.1 Tập mờ và thông tin không chắc chắn ............................................... 15
1.2.1.1 Tập mờ [5] ................................................................................. 15
1.2.1.2 Các kiểu hàm thuộc .................................................................... 16
1.2.2 Logic mờ ........................................................................................... 18
1.2.3 Lượng từ mờ ..................................................................................... 19
1.2.4 Ứng dụng logic mờ trong truy vấn CSDL.......................................... 20
1.2.4.1 Cơ sở dữ liệu mờ ........................................................................ 21
1.2.4.2 Cơ sở dữ liệu quan hệ ................................................................. 23
CHƯƠNG 2 MỘT PHƯƠNG PHÁP TRUY VẤN THỐNG KÊ MỀM DẺO .. 25
2.1 Quan niệm truy vấn mềm dẻo trên logic mờ............................................ 25
2.1.1 Khái niệm truy vấn mềm dẻo............................................................. 25


iv

2.1.2 Một số ngôn ngữ truy vấn CSDL mềm dẻo [7] .................................. 26
2.2 Lượng từ hóa với ngôn ngữ tự nhiên ....................................................... 29
2.2.1 Lượng từ ngôn ngữ ........................................................................... 29
2.2.2 Tóm tắt ngôn ngữ sử dụng logic mờ với lượng hóa ngôn ngữ tự nhiên ..... 30
2.2.2.1 Giới thiệu mô hình tón tắt SAITETIQ [7] .................................... 30
2.2.2.2 Tóm tắt ngôn ngữ theo phương pháp tiếp cận của Yager. ........... 33
2.3 Protoforms – Một phương pháp xây dựng thống kê mềm dẻo ................. 38
2.4 Một truy vấn mờ thêm vào như một phương tiện để thực hiện thống kê
bằng ngôn ngữ tự nhiên................................................................................. 40
2.5 Mô tả quá trình truy vấn .......................................................................... 42
2.5.1. Biểu thức của truy vấn ..................................................................... 43
2.5.2 Đánh giá truy vấn ............................................................................. 45

2.5.3 Thuật toán lựa chọn .......................................................................... 45
2.5.4 Phân loại .......................................................................................... 47
2.5.5 Từ tóm tắt đến các bộ trong một câu trả lời. ..................................... 48
CHƯƠNG 3 CÀI ĐẶT THỬ NGHIỆM ........................................................... 50
3.1 Mô tả mô hình và giải pháp sử dụng trong truy vấn mềm dẻo ................. 50
3.1.1 Mô hình truy vấn mềm dẻo ................................................................ 50
3.1.2 Giải pháp được sử dụng trong truy vấn mềm dẻo ............................. 51
3.2 Nội dung thử nghiệm .............................................................................. 52
3.2.1 Xác định miền tham chiếu và xác định điều kiện mờ ......................... 52
3.2.2 Xử lý truy vấn. .................................................................................. 53
3.2.3 Lọc dữ liệu ........................................................................................ 54
3.3 Thuật toán ............................................................................................... 54
3.4 Kết quả thực hiện .................................................................................... 58
KẾT LUẬN...................................................................................................... 64
TÀI LIỆU THAM KHẢO ................................................................................ 65
Tiếng việt ......................................................................................................... 65
Tiếng anh ......................................................................................................... 65


v

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

Từ viết tắt

Nghĩa tiếng anh

Nghĩa tiếng việt

DBMS


Database Managemet System

Hệ quản trị cơ sở dữ liệu

FQUERY

Fuzzy Query

Công cụ truy vấn mờ

LL

Lower Limit

Giới hạn dưới

UL

Upper Limit

Giới hạn trên

CSDL

Cơ sở dữ liệu

CNTT

Công nghệ thông tin



vi

DANH MỤC CÁC BẢNG VÀ HÌNH VẼ

Bảng 2.1: Năm loại tóm tắt cơ bản. .................................................... 39
Bảng 2.2 Bảng quan hệ ....................................................................... 48

Hình 1.1. Hàm thuộc hình thang ...................................................................... 17
Hình 1.2 Hàm thuộc hình tam giác ................................................................... 17
Hình 1.3 Tập mờ Q và Q* ................................................................................ 19
Hình 2.1 Biến ngôn ngữ cho bảng VẬT LIỆU................................................... 31
Hình 2.2 Một phần của bảng VẬT LIỆU .......................................................... 32
Hình 2.3 Một phần của bản tóm tắt hệ thống phân cấp cho VẬT LIỆU ............ 32
Hình 2.4 Ví dụ về hàm thành viên của một giá trị mờ ....... Error! Bookmark not
defined.
Hình 2.5 Thành phần của một truy vấn mờ [8] ................................................. 42
Hình 2.6 đoạn chương trình mô phỏng [7] ....................................................... 47
Hình 3.1 Mô hình truy vấn mềm dẻo ................................................................ 50
Hình 3.2 Hình minh họa việc nhập khái niệm mờ ............................................. 53
Hình 3.3 Sơ đồ khối thuật toán thiết lập thuộc tính mờ..................................... 55
Hình 3.4 Sơ đồ khối thuật toán cập nhật các giá trị mờ.................................... 56
Hình 3.5 Sơ đồ khối thuật toán thực hiện câu lệnh truy vấn ............................. 57
Hình 3.6 Màn hình menu chính ........................................................................ 58
Hình 3.7 Xác định miền tham chiếu .................................................................. 59
Hình 3.8 Nhập khái niệm mờ cho thuộc tính trẻ ............................................... 59
Hình 3.9 Nhập khái niệm mờ cho thuộc tính cao .............................................. 60
Hình 3.10 Chọn điều kiện để thực hiện thống kê CSDL .................................... 61
Hình 3.11 Thực hiện truy vấn và hiển thị kết quả ............................................. 62



1

MỞ ĐẦU
1. Lý do chọn đề tài
Mô hình cơ sở dữ liệu quan hệ do Codd E.F đề xuất từ năm 1970 đã đạt
được những kết quả hoàn chỉnh về lý thuyết và ứng dụng, cho đến nay các mô
hình cơ sở dữ liệu quan hệ vẫn được dùng rất phổ biến.
Với lượng dữ liệu được lưu trữ trong cơ sở dữ liệu, để có thể tìm kiếm được
những thông tin hữu ích và cần thiết chúng ta cần phải sử dụng đến hệ thống tìm
kiếm tự động dựa trên mô hình cơ sở dữ liệu quan hệ với các câu lệnh truy vấn
cho phép người dùng truy xuất dữ liệu trong cơ sở dữ liệu. Nếu như không có
truy vấn thì dữ liệu lưu trữ đó không thể sử dụng được, giống như việc chúng ta
cất giữ một món đồ nhưng không thể tìm thấy hoặc không dùng đến thì việc lưu
trữ đó trở nên vô nghĩa.
Tuy nhiên mô hình đó sẽ gặp một số hạn chế trong trường hợp tìm kiếm
những thông tin mơ hồ, không đầy đủ, không chắc chắn (gọi chung là dữ liệu
mờ), loại dữ liệu này được con người sử dụng thường xuyên trong thực tế. Ví dụ
như thay vì muốn có “Danh sách nhân viên có độ tuổi từ 25 đến 30 trong công
ty” thì chúng ta lại cần biết “Danh sách những nhân viên trẻ có công trình khoa
học được công bố trên tạp chí uy tín thế giới”, hoặc là, thay vì kiểm tra xem “Có
bao nhiêu nhân viên được khen thưởng” thì chúng ta cần biết “Có phải hầu hết
những nhân viên có tiềm năng đều được đào tạo ở nước ngoài hay không”…
Đã có rất nhiều công trình nghiên cứu đưa ra nhiều cách tiếp cận với các
câu hỏi liên quan đến thông tin không đầy đủ, không chính xác trên các cơ sở dữ
liệu kinh điển (thường được gọi là hỏi mềm dẻo cơ sở dữ liệu) nhằm giải quyết
nhu cầu truy vấn trong những tình huống nêu trên, đặc biệt là những câu hỏi
mang tính thống kê để nhận định tình hình của người làm quản lý. Các cách xử
lý loại truy vấn như vậy được đề xuất chủ yếu dựa trên cơ sở tiếp cận của lý

thuyết tập mờ, hầu hết cách tác giả đều xây dựng ngôn ngữ truy vấn với mong
muốn thao tác mềm dẻo, chính xác với dữ liệu mờ. Và người đi tiên phong trong


2

lĩnh vực này là Lotfi A.Zadeh, ông đã đề xuất khái niệm mờ từ những khái niệm
mơ hồ, không rõ ràng, không chắc chắn và hình thức toán học nó bằng tập mờ
(Fuzzy set), trên cơ sở đó lý thuyết tập mờ được hình thành. Dựa trên lý thuyết
tập mờ của Lotfi A.Zadeh các nhà khoa học đã tiếp cận và phát triển theo nhiều
hướng khác nhau. Chúng ta có thể tìm thấy các kết quả này qua các công trình
của D. Dubois, H. Prade, C.S. George Lee, H.J. Zimmermann, T.J. Ross, R.
Fuller, J.J. Buckley, R. Kruse, D. Nauck, N.K. Kasabov, W. Pedrycz,... Và rất
nhiều bài báo đã được đăng trên các tạp chí uy tín quốc tế như: “Querying a
summary of database” của W. A. Voglozin, G. Raschia, L. Ughetto, N.
Mouaddib, và một bài báo khác là “Linguistic database summaries and their
protoforms: towards natural language based knowledge discovery tools” của
Janusz Kacprzyk, Sławomir Zadrozny.
Trên những cơ sở về lý thuyết và thực tiễn nói trên, với ý nghĩa khoa học và
khả năng ứng dụng của chủ đề đã đề cập trên đây, em chọn đề tài “Truy vấn
thống kê cơ sở dữ liệu một cách mềm dẻo dựa trên logic mờ” làm đề tài cho
luận văn tốt nghiệp của mình.
2. Đối tượng, phạm vi nghiên cứu
* Đối tượng nghiên cứu:
- Lý thuyết logic mờ và các mô hình ứng dụng của logic mờ.
- Truy vấn kết tập và CSDL quan hệ.
* Phạm vi nghiên cứu:
- Về mặt lý thuyết: Luận văn tập trung nghiên cứu các kiến thức có liên
quan đến logic mờ đặc biệt là những truy vấn mềm dẻo (mang tính ngôn
ngữ) - truy vấn mờ.

- Về mặt ứng dụng: Cài đặt thử nghiệm một module xử lý truy vấn mềm
dẻo khi khai thác một CSDL được quản trị bởi MS. Access .
3. Hướng nghiên cứu của đề tài.
- Tìm hiểu các cách tiếp cận, các quan điểm về truy vấn mềm dẻo CSDL đã có.


3

- Tìm hiểu những kiến thức về logic mờ đã tham gia vào việc biểu diễn và
xử lý truy vấn mềm dẻo CSDL, đặc biệt là những truy vấn kết tập.
4. Nội dung luận văn
Luận văn được chia làm 3 chương:
Chương 1: Tổng quan về cơ sở dữ liệu và các truy vấn.
Chương 2: Một phương pháp truy vấn thống kê mềm dẻo
Chương 3: Cài đặt thử nghiệm
5. Phương pháp nghiên cứu
- Nghiên cứu tài liệu.
- Thiết kế và cài đặt module phần mềm
- Thử nghiệm.
6. Ý nghĩa khoa học của đề tài
Trong thời đại hiện nay chúng ta thường phải đối mặt với sự phong phú của
dữ liệu và vượt ra ngoài nhận thức của con người, để xử lý sự tăng trưởng về
kích thước của cơ sở dữ liệu, nhiều cách tiếp cận đã được phát triển để có thể
trích xuất từ cơ sở dữ liệu với lượng kiến thức rất lớn. Thống kê và phân tích dữ
liệu là một trong những khả năng cơ bản mà bây giờ là cần thiết của bất kỳ hệ
thống thông minh nào để đáp ứng được các hoạt động trong cuộc sống thực.
Kỹ thuật tổng hợp dữ liệu đã được phát triển để đáp ứng sự phát triển của
cơ sở dữ liệu. Đề tài này trình bày một phương pháp phát triển một công cụ cho
truy vấn kết tập linh hoạt mềm dẻo hơn các công cụ truy vấn đang có của các hệ
quản trị CSDL quan hệ.



4

CHƯƠNG I: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
VÀ CÁC TRUY VẤN
1.1 Cơ sở dữ liệu và các truy vấn
1.1.1 Khái niệm cơ sở dữ liệu
Một cơ sở dữ liệu là một tập hợp các dữ liệu có liên quan với nhau chứa
thông tin về một tổ chức nào đó (như một trường đại học, một ngân hàng, một
công ty, một nhà máy…), được lưu trữ trên các thiết bị nhớ thứ cấp (như băng
từ, đĩa từ…) để đáp ứng nhu cầu khai thác thông tin của nhiều người sử dụng
với nhiều mục đích khác nhau [1]
Theo cách hiểu trên, thì cơ sở dữ liệu phản ảnh trung thực một khía cạnh
nào đó của thế giới dữ liệu hiện thực khách quan, những thay đổi của thế giới
thực phải được phản ánh một cách trung thực vào trong CSDL, vì thế những
thông tin đưa vào trong CSDL phải được cập nhập thường xuyên.
Cơ sở dữ liệu (CSDL) là tài nguyên thông tin chung được chia sẻ cho nhiều
người cùng sử dụng và cho nhiều ứng dụng khác nhau. Một CSDL được thiết kế
và được phổ biến cho mục đích riêng. Nó có một nhóm người sử dụng có chủ
định và có một số ứng dụng phù hợp với mối quan tâm của người sử dụng.
Cơ sở dữ liệu được các hệ ứng dụng khai thác bằng ngôn ngữ con dữ liệu
hoặc bằng các chương trình ứng dụng để xử lý, tìm kiếm, tra cứu, sửa đổi, bổ
sung hay loại bỏ dữ liệu. Tìm kiếm và tra cứu thông tin là một trong những chức
năng qua trọng và phổ biến nhất của các dịch vụ CSDL.
Trước kia để quản lý thông tin người ta áp dụng phương pháp tệp (file),
mỗi file được xem là một cặp hồ sơ lưu trữ thông tin liên quan đến từng công
việc riêng lẻ. Ví dụ: Trong một công ty, mỗi bộ phận sẽ quản lý hồ sơ theo chức
năng của mình, như phòng tài chính có một cặp hồ sơ liên quan đến quản lý
lương, phòng tổ chức có một cặp hồ sơ liên quan đến quản lý nhân sự… việc

quản lý theo hệ thống tệp này dẫn đến tình trạng dư thừa thông tin (cùng một
thông tin nhưng được lưu trữ nhiều lần) tốn kém, lãng phí bộ nhớ và các thiết bị


5

lưu trữ, nhiều chương trình ứng dụng khác nhau cùng xử lý các dữ liệu như
nhau, gây khó khăn cho việc bảo trì mỗi khi có sự thay đổi dữ liệu trong tệp thì
lại phải thay đổi chương trình ứng dụng cho tệp đó. Giải pháp CSDL ra đời đã
giải quyết được những nhược điểm trên.
Nếu tổ chức lưu trữ theo CSDL thì có thể hợp nhất các tệp lưu trữ, các
chương trình ứng dụng có thể cùng chia sẻ tài nguyên trên cùng một hệ CSDL.
Tổ chức lưu trữ dữ liệu theo CSDL sẽ tránh được sự không nhất quán trong lưu
trữ dữ liệu và bảo đảm được tính toàn vẹn của dữ liệu
Để có được CSDL tốt, trên cơ sở đó đưa ra những ứng dụng tốt thì phải
thiết kế được các mô hình CSDL tốt, và việc xây dựng CSDL cũng đơn giản hơn
nhiều khi sử dụng mô hình.
Mô hình CSDL là một tập hợp các khái niệm dùng để biểu diễn các cấu
trúc của CSDL, các mối liên kết và các ràng buộc phải tuân theo trên các dữ
liệu. Nhiều mô hình cón có thêm một tập hợp các phép toán cơ bản để đặc tả các
thao tác trên CSDL.
Có rất nhiều mô hình CSDL đã được nghiên cứu như:
+ Mô hình CSDL phân cấp.
+ Mô hình CSDL mạng.
+ Mô hình CSDL quan hệ
+ Mô CSDL phân tán.
+ Mô hình CSDL hướng đối tượng….
Tổ chức lưu trữ theo mô hình nào là tốt nhất, trên thực tế điều đó rất khó
xác định. Tốt nhất còn phụ thuộc vào nhu cầu truy xuất và khai thác thông tin
của đơn vị quản lý nó, nó được sử dụng ở đâu và vào lúc nào là tốt nhất. Tuy

nhiên trong các mô hình CSDL trên thì mô hình CSDL quan hệ được sử dụng
phổ biến hơn. Cấu trúc dữ liệu có tính đơn giản, linh hoạt, dễ sử dụng, người
dùng có thể quan sát cũng như thao tác một cách trực quan, hiệu quả. Mặc dù


6

mô hình cơ sở dữ liệu phân cấp và mô hình cơ sở dữ liệu mạng không có những
mặt hạn chế như hệ thống file truyền thống, song lại không dễ dùng như mô
hình cơ sở dữ liệu quan hệ. Cụ thể, mỗi chương trình sử dụng cơ sở dữ liệu phân
cấp và cơ sở dữ liệu mạng sẽ phải điều hướng thông qua cách thức sắp đặt vật lý
của bảng mà chúng sử dụng. Ngược lại, trong cơ sở dữ liệu quan hệ, DBMS
cung cấp việc tự động điều hướng. Ngoài ra, chương trình có thể sử dụng các
quan hệ không được định nghĩa trong DBMS. Đó là điều bất khả thi đối với cơ
sở dữ liệu phân cấp và cơ sở dữ liệu mạng. Do tính ưu việt của nó mô hình
CSDL quan hệ dần thay thế các mô hình mạng và phân cấp
1.1.2 Mô hình CSDL quan hệ
Mô hình CSDL quan hệ được xây dựng theo lý thuyết do E.F Codd đề
xuất. Thuật ngữ quan hệ là do bảng dữ liệu hai chiều được Codd gọi là bảng
quan hệ. Mô hình quan hệ là mô hình khác hẳn với các mô hình trước nó, và từ
năm 1980 đã trở thành mô hình được dùng rộng rãi để phát triển hệ quản trị
CSDL.
Theo mô hình quan hệ, dữ liệu được thể hiện trong bảng hai chiều gồm các
dòng và cột. Các bảng gọi là các “quan hệ”, các dòng gọi là “bộ” và các cột là
“thuộc tính”. Theo cách nhìn của các mô hình trước thì mỗi dòng là một bản ghi,
các thuộc tính cho biết ý nghĩa của các giá trị trong bản ghi.
Ví dụ 1.1:
KHÁCH HÀNG

ĐƠN HÀNG


MKH

Tên

Tuổi

Địa chỉ

KH 001



16

Ninh Bình

KH 002

Mận

19

Thanh Hóa

KH 003

Đào

22


Hà Nội

MKH

Đơn hàng


7

KH 001

Đơn hàng 1

KH 002

Đơn hang 2

KH 001

Đơn hang 3

KH 003

Đơn hang 4

1.1.2.1 Khóa của quan hệ [1]
Một quan hệ là một tập hợp các bộ. Các phần tử của một tập hợp là phân
biệt, do vậy trong một qua hệ không thể có hai bộ giống nhau (bằng nhau trên
mọi thuộc tính). Với một lược đồ quan hệ R, tồn tại một tập các thuộc tính có

tính chất: với mỗi thể hiện r(R), không có hai bộ nào trong r giống nhau trên tập
các thuộc tính này, nói một cách khác là không có hai bộ nào trong r có cùng
một tổ hợp các giá trị cho các thuộc tính này. Nếu ta kí hiệu tập thuộc tính có
tính chất như vậy là SK thì có một ràng buộc trên r(R) là: t1[SK] ≠ t2[SK], với t1
và t2 là hai bộ khác nhau bất kì trong r.
Siêu khóa của một lược đồ quan hệ R là một tập hợp gồm một hay nhiều
thuộc tính của lược đồ R có tính chất xác định duy nhất một bộ trong mỗi thể
hiện của R.
Cho lược đồ quan hệ R = <, F>, nếu SK là siêu khóa của R thì SK và
trong một quan hệ bất kì của lược đồ R không thể có hai bộ khác nhau nhưng có
cùng một giá trị trên SK.
Khóa của một lược đồ quan hệ là một siêu khóa của lược đồ này sao cho
mọi tập con thực sự của nó không là siêu khóa
Như vậy một khóa là một siêu khóa tối thiểu, hiểu theo nghĩa đó là một
siêu khóa mà ta không thể bỏ bớt thuộc tính nào ra khỏi nó mà vẫn giữ được tính
chất xác định duy nhất cho mỗi bộ.
Ví dụ 1.2:


8

KHÁCH HÀNG

MKH

Tên

Tuổi

Địa chỉ


KH 001



16

Ninh Bình

KH 002

Mận

19

Thanh Hóa

KH 003

Đào

22

Hà Nội

Trong bảng KHÁCH HÀNG trên thì mã khách hàng (MKH) chính là khóa.
Mỗi MKH chỉ xác định duy nhất một loại khách hàng trong quan hệ KHÁCH
HÀNG.
Khóa ngoài của một lược đồ quan hệ là một tập hợp gồm một hay nhiều
thuộc tính là khóa của một lược đồ quan hệ khác.

1.1.2.2 Phụ thuộc hàm
Cơ sở lý thuyết về chuẩn hóa dữ liệu dựa trên các khái niệm phụ thuộc hàm
và khóa của quan hệ.
Định nghĩa 1.1.2.2:
Cho R là quan hệ trên tập  và cho X và Y là 2 tập con bất kỳ của . Nói
rằng X xác định hàm Y hay Y phụ thuộc vào hàm X, ký hiệu f: X  Y đúng trên
lược đồ quan hệ R () nếu như với mọi r là một thể hiện của R () (tức giá trị
hiện thời của R), r không thể chứa hai bộ giống nhau trên X nhưng lại khác
nhau trên Y.
Nói cách khác:  t1, t2  r (t1[X] = t2[X]  t1[Y] = t2[Y])
Ký hiệu: F: {f: Lj  Rj  Lj, Rj  } là tập các phụ thuộc hàm trên các
thuộc tính .
1.1.2.3 Đại số quan hệ
Ngôn ngữ đại số quan hệ như là một ngôn ngữ bậc cao để thao tác trên các
quan hệ. Dưới đây là trình bày tóm tắt về các phép toán trong đại số quan hệ.
a) Phép chọn:


9

Phép chọn là phép tính để xây dựng một tập con của các bộ của quan hệ đã
cho thỏa mãn một biểu thức F xác định.
Cho r là một quan hệ trên lược đồ quan hệ; Một phép chọn trên r thỏa mãn
điều kiện F là một tập hợp được định nghĩa và ký hiệu:
F (r) = {t  r  F (t) = đúng}
F (t) được biểu diễn là các giá trị của các thuộc tính xuất hiện trong biểu
thức F tại bộ t thỏa mãn các điều kiện của F.
Biểu thức F được biểu diễn bằng tổ hợp Boolean của các toán hạng, mỗi
toán hạng là một phép so sánh đơn giản giữa 2 biến là hai thuộc tính hoặc giữa
một biến là một thuộc tính và một hằng, cho giá trị “đúng” hoặc “sai” đối với

mỗi bộ đã kiểm tra. Các phép toán so sánh: <, =, >, , ≤, ≥. Các phép toán logic:
&, , AND (và), , |, OR (hoặc), , !, NOT (phủ định).
b) Phép chiếu:
Phép chiếu trên một quan hệ thực chất là loại bỏ đi một số thuộc tính của
quan hệ đó.
Phép chiếu một quan hệ r trên tập các thuộc tính X của r, kí hiệu X (r) là
một tập các bộ, được xây dựng bằng cách loại bỏ đi từ các bộ t trong quan hệ r
những thuộc tính không thuộc X. Thực chất của phép chiếu là loại bỏ đi một số
thuộc tính và giữ lại những thuộc tính còn lại của quan hệ đó. Ðể thuận tiện cho
việc biểu diễn hình thức phép chiếu, quy ước một số ký hiệu như sau:
Gọi t là một bộ thuộc r, còn A  U, lúc đó t[A] là giá trị của hai bộ t tại
thuộc tính A.
Giả sử X  U, với X = {B1, B2, …, Bm} lúc đó t[X] = (t[B1], t[B2],.., t[Bm])
Vậy X (r) = {t[X]  t  r}.
c) Phép hợp:


10

Hợp của hai quan hệ khả hợp r và s, ký hiệu là r  s là tập tất cả các bộ
thuộc r hoặc s hoặc thuộc cả hai quan hệ. Biểu diễn hình thức phép hợp có dạng:
r  s = {t  t  r hoặc t  s hoặc (t  r và t  s)}
d) Phép giao:
Giao của hai quan hệ khả hợp r và s, ký hiệu r  s là tập tất cả các bộ
thuộc cả ra và s.
r  s = {t  t  r và t  s}
e) Phép trừ:
Hiệu của hai quan hệ khả hợp r và s, ký hiệu là r-s là tập tất cả các bộ
thuộc r nhưng không thuộc s.
r-s = {t  t  r và t  s}.

f) Phép chia:
Gọi r là quan hệ n ngôi, và s là quan hệ m ngôi (n > m, s  ). Phép chia r
cho s, ký hiệu r  s là tập tất cả bộ (n-m) ngôi sao cho:
r  s = { t  q  s: (q, t)  r}
(n-m) bộ
g) Phép kết nối tự nhiên:
Cho r1 (U1) và r2 (U2). Cho S = U1  U2 và U = U1  U2. Phép kết nối tự
nhiên trên hai quan hệ r1 và r2 là một quan hệ r trên U được ký hiệu và định
nghĩa:
r1*r2 = {t (U) t1  r1 và t2  r2 và t[U1] = t1, t[U2] = t2}.
Nếu S =  thì r1*r2 là tích Đề - các thông thường.
h) Phép kết nối :
Cho hai quan hệ r1 (U1), r2 (U2) trên U1 và U2, X  U1, Y  U2,  là một
trong các phép so sánh: <, >, ≤, ≥,  giữa các giá trị của Dom (X) và Dom (Y).


11

Phép kết nối  giữa r1 và r2 là một quan hệ trên R = R1R2 được ký hiệu và định
nghĩa như sau:

r = r1 r2 (R) = {t  r (R)  t.X  t.Y}
XY

i) Tích Đề-các:
Gọi r là quan hệ xác định trên tập thuộc tính {A1, A2,.., An} và s là quan hệ
xác định trên tập thuộc tính {B1, B2, …, Bm}. Tích Đề-các của r và s là tập các
(n+m) bộ sao cho n thành phần đầu là một bộ thuộc r và m thành phần sau là
một bộ thuộc s.
r x s = {t  t có dạng (a1, a2, …., an, b1, b2, …., bm)

Trong đó: (a1, a2, …., an)  r và (b1, b2, …., bm)  s.
1.1.3 Các truy vấn trên mô hình quan hệ
Trong cơ sở dữ liệu thiết kế chuẩn, dữ liệu bạn muốn trình bày thông qua
biểu mẫu hoặc báo cáo thường được đặt trong nhiều bảng. Truy vấn có thể kéo
thông tin từ nhiều bảng và kết nối chúng lại để hiển thị trong biểu mẫu hoặc báo
cáo. Truy vấn có thể là một yêu cầu cho kết quả dữ liệu từ cơ sở dữ liệu hoặc
cho hành động trên dữ liệu hoặc cả hai. Truy vấn có thể cho bạn câu trả lời cho
một câu hỏi đơn giản, thực hiện các phép toán, kết hợp dữ liệu từ các bảng khác
nhau, thêm, thay đổi hoặc xóa bỏ dữ liệu khỏi cơ sở dữ liệu. Sau khi thực hiện
truy vấn, dữ liệu thỏa yêu cầu sẽ được rút ra và tập hợp vào một bảng kết quả.
Dưới đây là một số phương pháp truy vấn CSDL đã có.
1.1.3.1 SQL
SQL là một ngôn ngữ dùng để truy xuất dữ liệu, cập nhật, thay đổi và quản
lý các CSDL quan hệ.
Khi tạo một truy vấn thì ACCESS tự động xây dựng các câu lệnh SQL
tương ứng.
Một số truy vấn của ngôn ngữ SQL như sau:


12

- Truy vấn hội (Union Query).
- Truy vấn chuyển nhượng (pass through Query).
- Truy vấn định nghĩa dữ liệu (Data Definition Query).
- Truy vấn con (Sub Query).
* SQL xử lý trên bảng dữ liệu.
- Tạo bảng mới.
- Thay đổi cấu trúc của bảng.
+ Thêm hoặc loại bỏ trường.
+ Loại bỏ chỉ mục.

- Xoá bảng
* SQL xử lý trên truy vấn.
- Truy vấn chọn (Select query).
- Truy vấn tình tổng (Total query).
- Truy vấn tham khảo chéo.
- Truy vấn tạo bảng.
- Truy vấn nối dữ liệu.
- Truy vấn cập nhật dữ liệu.
- Truy vấn xoá.
- Tạo mối quan hệ giữa các bảng.
- Truy vấn con (Sub query).
- Truy vấn hội (Union Query)
Chúng ta có thể đưa ra ý kiến từ việc xem danh sách các truy vấn này để có
thể sử dụng được nhiều hơn việc chỉ là những câu hỏi về dữ liệu. Các truy vấn
có thể làm được nhiều hơn nữa. Loại truy vấn mà chúng ta sử dụng dựa vào
những gì ta muốn hoàn thành.


13

1.1.3.2 MySQL
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới
và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì
MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển,
hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích
rất mạnh. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng
dụng có truy cập CSDL trên internet. MySQL miễn phí hoàn toàn cho nên bạn
có thể tải về MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều hành
khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac
OS X, Unix,FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,...

MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan
hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).
Một số đặc điểm của MySQL:
- MySQL là một phần mềm quản trị CSDL dạng server-based (gần tương
đương với SQL Server của Microsoft).
- MySQL quản lý dữ liệu thông qua các CSDL, mỗi CSDL có thể có nhiều
bảng quan hệ chứa dữ liệu.
- MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có
thể được quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một tên
truy cập (user name) và mật khẩu tương ứng để truy xuất đến CSDL.
Khi truy vấn tới CSDL MySQL, người dùng phải cung cấp tên truy cập và mật
khẩu của tài khỏan có quyền sử dụng CSDL đó. Nếu không, người dùng sẽ
không làm được gì cả giống như quyền chứng thực người dung trong SQL
Server vậy. MySQL không bao quát toàn bộ những câu truy vấn cao cấp như
SQL Server.
1.1.3.3 SQL server.
SQL server là một hệ quản trị CSDL quan hệ, mạng máy tính hoạt động
theo mô hình khách chủ, cho phép đồng thời cùng một lúc có nhiều người dùng


14

truy, xuất dữ liệu, quản lý việc truy nhập hợp lệ và các quyền hạn của từng
người dùng trên mạng.
Các chương trình ứng dụng và các công cụ quản trị CSDL cho phép người
sử dụng truy nhập tới CSDL mà không cần sử dụng trực tiếp SQL. Nhưng
những ứng dụng đó khi chạy phải sử dụng SQL.
- Đặc điểm của SQL server:
 SQL là ngôn ngữ tựa tiếng Anh.
 SQL là ngôn ngữ phi thủ tục, nó không yêu cầu ta cách thức truy

nhập CSDL như thế nào. Tất cả các thông báo của SQL đều rất dễ sử
dụng và ít khả năng mắc lỗi.
 SQL cung cấp tập lệnh phong phú cho các công việc hỏi đáp DL.
Chèn, cập nhật, xoá các hàng trong một quan hệ. Tạo, sửa đổi, thêm
và xoá các đối tượng trong của CSDL. Điều khiển việc truy nhập tới
CSDL và các đối tượng của CSDL để đảm bảo tính bảo mật của
CSDL.
 Đảm bảo tính nhất quán và sự ràng buộc của CSDL.
 Yêu cầu duy nhất để sử dụng cho các hỏi đáp là phải nắm vững được
các cấu trúc CSDL của mình.
- Đối tượng làm việc của SQL Server.
Là các bảng (tổng quát là các quan hệ) dữ liệu hai chiều. Các bảng này bao
gồm một hoặc nhiều cột và hàng. Các cột gọi là các trường, các hàng gọi là các
bản ghi. Cột với tên gọi và kiểu dữ liệu (kiểu dữ liệu của mỗi cột là duy nhất)
xác định tạo nên cấu trúc của bảng (Ta có thể dùng lệnh Desc [ribe] TABLEname để xem cấu trúc của bảng, phần tuỳ chọn có thể được bỏ trong Oracle).
Khi bảng đã được tổ chức hệ thống cho một mục đích nào đó có một CSDL.
Những phương pháp truy vấn dữ liệu được giới thiệu ở trên chỉ có thể giải
quyết những bài toán với loại câu hỏi mang tính rõ ràng, chính xác về mặt dữ


15

liệu. Càng ngày con người càng mong muốn có những hệ thống thông minh hơn,
linh hoạt hơn, có thể xử lý được những truy vấn với ngôn ngữ tự nhiên bằng
những câu hỏi với các thông tin không rõ ràng, không chính xác (gọi chung là
câu hỏi mờ). Ví dụ: “Hãy cho biết những nhân viên nữ còn trẻ và có lương cao”,
vậy hiểu như thế nào là “trẻ”, bao nhiêu tuổi là trẻ; Lương bao nhiêu mới là
“cao”; Điều đó đã gây khó khăn cho các phương pháp truy vấn truyền thống
trước đây. Để giải quyết vấn đề này đã có rất nhiều phương pháp được đề xuất,
trong đó có phương pháp tiếp cận dựa trên lý thuyết tập mờ. Phương pháp tiếp

cận này xây dựng một ngôn ngữ truy vấn mờ nhằm giải quyết những câu hỏi mơ
hồ, dữ liệu mập mờ một cách linh hoạt, mềm dẻo, trên cơ sở đó các nhà nghiên
cứu đã có nhiều hướng phát triển khác nhau.
1.2 Ứng dụng lý thuyết tập mờ trong truy vấn CSDL
1.2.1 Tập mờ và thông tin không chắc chắn
L.A. Zadeh là người sáng lập ra lý thuyết tập mờ với hàng loạt bài báo mở
đường cho sự phát triển và ứng dụng của lý thuyết này, khởi đầu là bài báo
“Fuzzy Sets” trên Tạp chí Information and Control, 8, 1965. Ý tưởng nổi bật của
khái niệm tập mờ của Zadeh là từ những khái niệm trừu tượng về ngữ nghĩa của
thông tin mờ, không chắc chắn như trẻ, nhanh, cao-thấp, xinh đẹp.., ông đã tìm
ra cách biểu diễn nó bằng một khái niệm toán học, được gọi là tập mờ, như là
một sự khái quát trực tiếp của khái niệm tập hợp kinh điển.
1.2.1.1 Tập mờ [5]
Khái niệm cơ sở lý của lý thuyết tập mờ là tập con mờ. Cho X là một tập
tham chiếu – tập vũ trụ các đối tượng. Một tập con cổ điển A của X được định
nghĩa bởi một hàm đặc trưng A lấy giá trị 0 với những phần tử của X không
thuộc A và lấy giá trị 1 với những phần tử của X thuộc A.
A: X  {0, 1}


16

Định nghĩa 1.2.1.1 Một tập con mờ A của X được định nghĩa bởi một
hàm thuộc, gán cho mỗi phần tử x của X độ thuộc fA(x) nằm giữa 0 và 1, theo đó
x thuộc A.
fA: X  [0, 1]
Trường hợp đặc biệt, trong đó fA chỉ lấy những giá trị bằng 0, hay 1, tập
con mờ A là một tập con cổ điển của X. Vậy một tập con cổ điển là một trường
hợp riêng của tập con mờ.
Ký hiệu F(X) là tập tất cả các tập con mờ của X. Ký pháp sau đây vẫn

được dùng để biểu diễn các tập con mờ A, mặc dù nó không liên quan gì tới ý
lấy tổng hoặc lấy tích phân. Nó chỉ ra với mọi phần tử x của X, độ thuộc fA(x)
của nó vào A:

Một thí dụ của tập con mờ A, với X=[1, 100] là vũ trụ các tuổi là:
A = {35/1.0, 36/1.0, 37/1.0, 38/0.7, 39/0.5, 40/0.2} có nghĩa là các phần
tử 35, 36, 37 thuộc F với cấp độ thuộc bằng 1.0 và các phần tử 38, 39, 40 có các
độ thuộc tương ứng bằng 0.7, 0.5, 0.2 còn tất cả các phần tử không được chỉ ra
có độ thuộc bằng 0 [5].
1.2.1.2 Các kiểu hàm thuộc
Một trong những vấn đề quan trọng đối với các tập mờ là làm thế nào để
xác định hàm thuộc mờ. Hàm thuộc định nghĩa đầy đủ các tập mờ. Một hàm
thuộc cung cấp độ thuộc của một phần tử vào tập mờ.
Hàm thuộc (MF: Membership Function) có thể hoặc được lựa chọn bất kỳ
bởi người sử dụng, dựa trên kinh nghiệm của người sử dụng (MF được lựa chọn
bởi hai người sử dụng khác nhau tùy thuộc vào kinh nghiệm của họ, quan điểm,
vv); hoặc được thiết kế sử dụng các phương pháp học máy (ví dụ, cá mạng
nơrron nhân tạo, thuật toán di truyền, vv)


17

Hàm thuộc có nhiều hình dạng khác nhau: hình tam giác, hình thang, tuyến
tính từng mảnh, vv. Để lưu trữ các tập con mờ trong máy cần lưu trữ các hàm
thuộc tương ứng trong hai dạng được sử dụng rộng rãi.
a) Dạng hàm thuộc hình thang:
Để lưu trữ hàm thuộc hình thang chỉ cần có bốn tọa độ của bốn đỉnh hình
thang ABCD.
µA(x)


D(d,1)

C(c,1)

1

0

x
A(a,0)

B (b,0)

Hình 1.1. Hàm thuộc hình thang
b) Dạng hàm thuộc hình tam giác:
Ba điểm a, b và c biểu diễn cho các tọa độ của ba đỉnh của µA(x) trong tập
mờ A (a: giới hạn dưới, và c: giới hạn trên mà mức độ thuộc là (0,b): ứng với
mức độ thuộc là 1).

Hình 1.2 Hàm thuộc hình tam giác


18

1.2.2 Logic mờ
Logic mờ (Fuzzy logic) được phát triển từ lý thuyết tập mờ để thực hiện lập
luận một cách xấp xỉ thay vì lập luận chính xác theo logic vị từ cổ điển. Logic mờ
có thể được coi là mặt ứng dụng của lý thuyết tập mờ để xử lý các giá trị trong thế
giới thực cho các bài toán phức tạp (Klir 1997).
Người ta hay nhầm lẫn mức độ đúng với xác suất. Tuy nhiên, hai khái niệm

này khác hẳn nhau; Độ đúng đắn của logic mờ biểu diễn độ liên thuộc với các tập
được định nghĩa không rõ ràng, chứ không phải khả năng xảy ra một biến cố hay
điều kiện nào đó.
Logic mờ cho phép độ liên thuộc có giá trị trong khoảng đóng 0 và 1, và ở
hình thức ngôn từ, các khái niệm không chính xác như “hơi hơi”, “khoảng”,
“rất”. Nó cho phép quan hệ thành viên không đầy đủ giữa thành viên và tập
hợp. Tính chất này có liên quan đến tập mờ và lý thuyết xác suất. Logic mờ đã
được đưa ra lần đầu vào năm 1965 bởi GS. Lotfi Zadeh tại đại học Califomia,
Berkeley.
Ví dụ minh họa cho việc mềm dẻo của logic mờ là việc xác định lứa tuổi.

Nhìn vào hình vẽ ta cỏ thể giải thích như sau:
Tập mờ biểu diễn những thông tin mà ranh giới của chúng không định
nghĩa được rõ ràng, ví dụ, “tuổi trẻ”, lương cao, thu nhập thấp..... nhìn ở hình
trên nếu như với Boolean logic quy định ở tuổi từ 0 đến 23 được gọi là “trẻ tuổi”
và hàm đặc trưng nhận giá trị là 1, từ 23 tuổi trở lên thì hàm đặc trưng nhận giá
trị là 0, thì ở logic mờ, quy định ở tuổi từ 0 đến 23, giá trị hàm thuộc = 1, được


19

gọi là chắc chắn “trẻ tuổi, còn có thể từ 23 đến 27 hàm thuộc nhận giá trị trong
khoảng từ 0 đến 1, nghĩa là “trẻ tuổi” ở một mức độ nào đó và từ 27 tuổi trở lên,
hàm thuộc nhận giá trị bằng 0, nghĩa là chắc chắn không “trẻ tuổi”.
1.2.3 Lượng từ mờ
Trong lôgic vị từ chúng ta có khái niệm lượng hóa tồn tại và lượng hóa
khái quát. Tương tự như vậy, trong lôgic mờ chúng ta cũng có những khái niệm
mang hàm ý như vậy như: khoảng 10 học sinh thi tốt nghiệp giỏi; nhiều hơn
nhiều 100 cá thể voọc mũi hếch đang sinh sống trong khu bảo tồn quốc gia; ít
nhất là 7 sinh viên đang làm thực tập tốt nghiệp ở Công ty Microsoft Việt Nam;

hầu hết nữ sinh viên khóa 2005 đều có nguyện vọng theo học khoa CNTT,
khoảng một nửa số sinh viên trong khóa 2006 là nữ, … Những từ in nghiêng
trong các ví dụ trên đều thể hiện ngữ nghĩa không chính xác, mờ về số lượng và
được gọi là các lượng hóa mờ.
Theo L.A. Zadeh, có hai loại lượng hóa mờ: Lượng hóa tuyệt đối với ngữ
nghĩa mờ được ấn định liên quan đến một giá trị (tuyệt đối) cụ thể trong tập các
số thực không âm.
Lượng hóa tương đối [2], xác định trên tập [0;1], chỉ tỷ lệ mờ số phần tử
thỏa một điều kiện hay mệnh đề nào đó, ví dụ như trong hai ví dụ sau cùng đề
cập ở trên. Chẳng hạn hầu hết chỉ có một số tỷ lệ mờ số phận tử thỏa một mệnh
đề mờ nào đó. Cũng tương tự như vậy ta hiểu cụm từ lượng hóa mờ khoảng một
nửa.

1,00

Giỏi

Q: khoảng 10

Q*: hầu hết

0,26
0

10

7

Hình 1.3 Tập mờ Q và Q*


10


×