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

Phát hiện mối quan hệ trong cơ sở dữ liệu và ứng dụng trong y học

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.22 MB, 78 trang )

i

Lời cảm ơn
Trước tiên, tôi xin được gửi lời cảm ơn đến tất cả quý thầy cô đã giảng dạy
trong chương trình Cao học do Trường Đại học Công nghệ thông tin và truyền thông
tổ chức, những người đã truyền đạt cho tôi những kiến thức hữu ích về khoa học máy
tính làm cơ sở cho tôi thực hiện tốt luận văn này.
Tôi xin chân thành cảm ơn PGS. TS. Đỗ Trung Tuấn đã tận tình hướng dẫn cho
tôi trong thời gian thực hiện luận văn. Mặc dù trong quá trình thực hiện luận văn có
giai đoạn không được thuận lợi nhưng những gì Thầy đã hướng dẫn, chỉ bảo đã cho tôi
nhiều kinh nghiệm trong thời gian thực hiện đề tài.
Tôi cũng xin gửi lời cảm ơn đến tất cả các Thầy Cô đang làm việc tại Phòng
khám đa khoa trường Cao đẳng Y tế Phú Thọ đã tận tình giúp đỡ trong việc thu thập
thông tin, lấy số liệu về bệnh và thuốc làm cơ sở dữ liệu cho luận văn.
Sau cùng tôi xin gửi lời biết ơn sâu sắc đến các anh chị trong lớp và gia đình đã
luôn tạo điều kiện tốt nhất cho tôi trong suốt quá trình học cũng như thực hiện luận
văn.
Do thời gian có hạn và kinh nghiệm nghiên cứu khoa học chưa nhiều nên luận
văn còn nhiều thiếu sót, rất mong nhận được ý kiến góp ý của Thầy/Cô và các anh chị
học viên.

Phú Thọ, tháng 7 năm 2015
Học viên

Vy Đại Nghĩa


ii

Lời cam đoan


Tôi cam đoan những kết quả trong luận văn là của việc tìm hiểu, có trích dẫn và
tham chiếu đến các nguồn tư liệu tin cậy. Nội dung luận văn không sao chép từ các kết
quả của các luận văn, luận án khác.


iii

MỤC LỤC
Lời cảm ơn .................................................................................................................. i
Lời cam đoan .............................................................................................................ii
MỤC LỤC ................................................................................................................ iii
DANH MỤC CÁC TỪ VIẾT TẮT............................................................................ v
DANH MỤC CÁC BẢNG, HÌNH VẼ ...................................................................... vi
MỞ ĐẦU .................................................................................................................... 1
CHƯƠNG 1 ................................................................................................................ 6
TỔNG QUAN VỀ PHÁT HIỆN MỐI QUAN HỆ GIỮA CÁC DỮ LIỆU TRONG
CƠ SỞ DỮ LIỆU ....................................................................................................... 6
1. 1. Mục tiêu của việc phát hiện mối quan hệ giữa các dữ liệu ......................... 6
1. 2. Các bước chính của quá trình khai phá tri thức .......................................... 6
1. 3. Các dạng dữ liệu có thể khai phá ............................................................... 7
1. 4. Các hướng tiếp cận chính trong khai phá dữ liệu ....................................... 8
1. 5. Phân loại và ứng dụng các hệ thống khai phá dữ liệu ............................... 11
1. 5. 1. Phân loại các hệ thống khai phá dữ liệu ....................................... 11
1. 5. 2. Ứng dụng của khai phá dữ liệu .................................................... 11
1. 6. Kết luận chương ...................................................................................... 12
CHƯƠNG 2 .............................................................................................................. 13
MỘT SỐ MỐI QUAN HỆ DỮ LIỆU ĐƯỢC PHÁT HIỆN THÔNG QUA NGÔN
NGỮ TRUY VẤN .................................................................................................... 13
2. 1. Luật kết hợp ............................................................................................ 13
2. 1. 1. Các khái niệm cơ bản .................................................................. 13

2. 1. 2. Bài toán khai phá luật kết hợp...................................................... 16
2. 2. Khai thác tập phổ biến dựa trên ngôn ngữ truy vấn .................................. 17
2. 2. 1. Ngôn ngữ truy vấn ....................................................................... 17
2. 2. 2. Tìm tập phổ biến bằng K-way join............................................... 19
2. 2. 3. Kết quả thử nghiệm 3 phương pháp đếm độ hỗ trợ ...................... 26


iv

2. 2. 4. Phân tích các cải tiến của thuật toán k-way join ........................... 31
2. 2. 5. Phát sinh luật kết hợp .................................................................. 36
2. 2. 6. Rút ngọn luật kết hợp .................................................................. 40
2. 3. Kết luận chương ...................................................................................... 47
CHƯƠNG 3 .............................................................................................................. 48
ỨNG DỤNG TRONG TÍNH TOÁN THỬ NGHIỆM ............................................ 48
3. 1. Các bài toán............................................................................................. 48
3. 1. 1. Bài toán tìm luật kết hợp dạng X Y .......................................... 48
3. 1. 2. Bài toán tìm độ hỗ trợ và độ tin cậy của luật ................................ 49
3. 1. 3. Bài toán đánh giá độ tin cậy của luật theo ngưỡng ....................... 50
3. 1. 5. Giải pháp giúp thực hiện các bài toán .......................................... 51
3. 2. Chương trình thử nghiệm ........................................................................ 53
3. 2. 1. Cơ sở dữ liệu của bài toán............................................................ 54
3. 2. 2. Kết quả khai phá dữ liệu khi thực hiện các bài toán ..................... 55
3. 3. Kết luận chương ...................................................................................... 61
KẾT LUẬN .............................................................................................................. 63
PHỤ LỤC ................................................................................................................. 64
TÀI LIỆU THAM KHẢO ....................................................................................... 71


v


DANH MỤC CÁC TỪ VIẾT TẮT
ADO

Active X Data Object

ANSI

Chuẩn quốc gia Hoa Kì

Client/ server

Khách/ chủ

confidence

Độ tin cậy

CSDL

Cơ sở dữ liệu

DB2

Tên hệ quản trị cơ sở dữ liệu của IBM

DBMS

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


HQTCSDL

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

ISO

Tổ chức tiêu chuẩn hóa quốc tế

MOLAP

multidimensional OLAP

OLAP

Online Analysis Processing

ORACLE

Tên công ty ORACLE, tên hệ quản trị
cơ sở dữ liệu

ROLAP

Relational OLAP

SQL

Ngôn ngữ truy vấn

support


Độ hỗ trợ, trợ giúp


vi

DANH MỤC CÁC BẢNG, HÌNH VẼ
Hình. Thí dụ về xử lí dữ liệu y tế tại trường Cao đẳng Y tế Phú Thọ............................ 2
Hình 1. 1: Các bước trong quá trình khai phá tri thức................................................... 6
Hình 1. 2: Các kiến trúc khai phá tích hợp với cơ sở dữ liệu ........................................ 9
Hình 1. 3: Kiến trúc gắn kết lỏng ................................................................................. 9
Hình 1. 4: Kiến trúc thủ tục nội và hàm do người dùng định nghĩa ............................ 10
Hình 1. 5: Kiến trúc dựa trên truy vấn SQL ............................................................... 10
Hình 2. 1: Minh họa luật kết hợp ............................................................................... 15
Bảng 2. 1: Cấu trúc bảng ban đầu .............................................................................. 20
Bảng 2. 2: Cấu trúc bảng dùng để khai khác .............................................................. 20
Hình 2. 2: Tiến trình phát sinh tập ứng viên Ck .......................................................... 22
Hình 2. 2: Đếm độ hỗ trợ bằng cách tiếp cận K-way Join .......................................... 23
Hình 2. 3: Biểu đồ hình cây cho Sub Query Qi ........................................................... 25
Hình 2. 4: Đồ thị thời gian thực thi của 3 thuật toán khi minsup=10% và D=100000 . 27
Hình 2. 5: Đồ thị thời gian thực thi 3 thuật toán khi minsup=10% và D=50000 ......... 27
Hình 2. 7: Đồ thị thời gian thực thi của 3 thuật toán khi minsup=10% và D=10000 ... 28
Hình 2. 6: Đồ thị tổng hợp thời gian thực thi của 3 thuật toán khi minsup lớn ............ 28
Hình 2. 7: Đồ thị thời gian thực thi 3 thuật toán khi minsup=5% và D=100000 ......... 29
Hình 2. 8: Đồ thị thời gian thực thi 3 thuật toán khi minsup=5% và D=50000 ........... 29
Hình 2. 9: Đồ thị thời gian thực thi 3 thuật toán khi minsup=5% và D=10000 ........... 29
Hình 2. 10: Đồ thị tổng hợp thời gian thực thi 3 thuật toán khi minsup trung bình ..... 29
Hình 2. 11: Đồ thị thời gian thực thi 3 thuật toán khi minsup = 1% và D = 100000 ... 30
Hình 2. 12: Đồ thị thời gian thực thi 3 thuật toán khi minsup = 1% và D= 50000 ...... 30
Hình 2. 13: Đồ thị thời gian thực thi của 3 thuật toán khi minsup =1% và D=10000 .. 30

Hình 2. 154: Đồ thị tổng hợp thời gian thực thi của 3 thuật toán khi minsup nhỏ ....... 31


vii

Bảng 2. 3: Cơ sở dữ liệu ban đầu D ........................................................................... 42
Bảng 2. 4: Cơ sở dữ liệu sau khi chuyển đổi .............................................................. 42
Bảng 2. 5: Kết quả F1 ................................................................................................. 43
Bảng 2. 6: Kết quả F2 ................................................................................................. 43
Bảng 2. 7: Kết quả C3 ................................................................................................ 44
Bảng 2. 8: Kết quả Comb3 ......................................................................................... 45
Bảng 2. 9: Kết quả F3 ................................................................................................. 45
Bảng 2. 10: Kết quả C4 .............................................................................................. 46
Bảng 2. 11: Kết quả Comb4 ....................................................................................... 46
Bảng 2. 12: Kết quả F4 ............................................................................................... 47
Bảng 2. 13. Kết quả ................................................................................................... 47
Bảng 3. 1. Cấu trúc bảng dữ liệu ban đầu ................................................................... 52
Bảng 3. 2. Cấu trúc bảng dùng để khai phá dữ liệu .................................................... 53
Hình 3. 1. Mẫu đơn thuốc của Phòng khám đa khoa Trường cao đẳng Y Phú Thọ ..... 54
Hình 3. 2. Minh họa cấu trúc dữ liệu ban đầu............................................................. 54
Hình 3. 3. Cấu trúc dữ liệu dùng để khai phá ............................................................. 55
Hình 3. 4. Tính độ hỗ trợ và độ tin cậy của luật {Cefalecin} => {Paracetamol} ......... 57
Hình 3. 5. Tính độ hỗ trợ và độ tin cậy của một luật {Decolgen}=>{Vitamin C} ....... 58
Hình 3.6. Đánh giá độ tin cậy của luật {Decolgen}=>{Vitamin B1}.......................... 61
Hình 3.7. Đánh giá độ tin cậy của luật {Cefalecin}=>{Vitamin C}............................ 61
Hình PL1: Minh họa dữ liệu đầu vào ......................................................................... 64


1


MỞ ĐẦU
1. Lý do chọn đề tài
Theo [1] người ta thấy với sự phát triển rất mạnh mẽ về công nghệ lưu trữ,
và khả năng đáp ứng của máy tính đã cho phép ta lưu trữ và xử lý khối lượng dữ
liệu khổng lồ. Hầu hết các tổ chức, cơ quan đang lưu trữ dữ liệu theo thời gian. Kết
quả là, sau một thời gian dài, lượng dữ liệu ngày càng nhiều. Tuy nhiên, những nhà
quản lý lại chưa chú tâm lắm về giá trị tiềm ẩn bên trong khối dữ liệu này. Những
tri thức có ích ẩn bên trong đó không dễ dàng để lấy hay rút trích ra. Ngày này, tính
cạnh trạnh trên thị trường rất cao, đòi hỏi người ra quyết định cần phải đưa ra quyết
định, chính sách một cách thận trọng, chính xác và hiệu quả. Những thông tin để
giúp cho họ đạt hiệu quả hơn trong việc ra quyết định có thể được phân tích, rút
trích từ những dữ liệu lưu trữ hiện tại (dữ liệu thô).
Khai phá dữ liệu sẽ giúp ta giải quyết được vấn đề trên. Công việc khai phá
sẽ phân tích, rút trích một cách tự động thông tin trong khối dữ liệu lớn nhằm tóm
tắt dữ liệu theo cách mới để tiện cho người dùng khai phá, tìm ra các mẫu mới,
những mối liên hệ và những dự đoán, xu hướng thông tin trong tương lai.
Về cơ bản, khai phá dữ liệu là về xử lý dữ liệu và nhận biết các mẫu và các
xu hướng trong thông tin đó để bạn có thể quyết định hoặc đánh giá. Các nguyên tắc
khai phá dữ liệu đã được dùng nhiều năm rồi, nhưng với sự ra đời của big data (dữ
liệu lớn), nó lại càng phổ biến hơn.
Những nhu cầu hướng kinh doanh này đã thay đổi cách lấy ra và thống kê dữ
liệu đơn giản sang việc khai phá dữ liệu phức tạp hơn. Vấn đề kinh doanh hướng tới
việc xem xét dữ liệu để giúp xây dựng một mô hình để mô tả các thông tin mà cuối
cuộc sẽ dẫn đến việc tạo ra báo cáo kết quả.


2

Hình. Thí dụ về xử lí dữ liệu y tế tại trường Cao đẳng Y tế Phú Thọ


Quá trình phân tích dữ liệu, khám phá dữ liệu và xây dựng mô hình dữ liệu
thường lặp lại khi bạn tập trung vào và nhận ra các thông tin khác nhau để bạn có
thể trích ra. Bạn cũng phải hiểu cách thiết lập quan hệ, ánh xạ, kết hợp và phân cụm
thông tin đó với dữ liệu khác để tạo ra kết quả. Quá trình nhận ra dữ liệu nguồn và
các định dạng nguồn, rồi ánh xạ thông tin đó tới kết quả đã cho của chúng tôi có thể
thay đổi sau khi bạn phát hiện ra các yếu tố và các khía cạnh khác nhau của dữ liệu.
Khai phá dữ liệu không phải là tất cả về các công cụ hay phần mềm cơ sở dữ
liệu mà bạn đang sử dụng. Bạn có thể thực hiện khai phá dữ liệu bằng các hệ thống
cơ sở dữ liệu bình thường và các công cụ đơn giản, bao gồm việc tạo và viết phần
mềm riêng của bạn hoặc sử dụng các gói phần mềm bán ngoài cửa hàng. Khai phá
dữ liệu phức tạp được hưởng lợi từ kinh nghiệm trong quá khứ và các thuật toán đã
định nghĩa với phần mềm và các gói phần mềm hiện có, với các công cụ nhất định
để thu được một mối quan hệ hoặc uy tín lớn hơn bằng các kỹ thuật khác nhau.
Liên quan đến xử lí dữ liệu trong các bài toán với dữ liệu lớn, trên các hệ
quản trị cơ sở dữ liệu như Oracle, DB2, người ta đã sử dụng tiếp cận nối K-way join
[10] để tăng tốc độ xử lí dữ liệu, và để thuận tiện cho việc phát hiện các mối quan
hệ giữa các dữ liệu, chẳng hạn như luật kết hợp. Do đó, tôi đã chọn đề tài về xử lí


3

dữ liệu y tế, trong cơ sở dữ liệu về y tế tại trường Cao đẳng Y tế Phú Thọ áp dụng kĩ
thuật của tiếp cận K-way join để phát hiện các mối quan hệ.
Trong luận văn này, tôi sử dụng ngôn ngữ truy vấn SQL và chọn cách tiếp
cận K-way join làm trọng tâm để đưa ra được các tri thức về thuốc theo nhiều bệnh
lý khác nhau nhằm hỗ trợ cho y, bác sỹ và người quản lý trong công việc khám
chữa bệnh, kinh doanh dược. . . . Dựa trên bài toán đề ra, tôi đã tính toán một bài
toán thực tế lấy dữ liệu từ các đơn thuốc của phòng khám trường Cao đẳng Y tế Phú
Thọ, đơn thuốc mẫu trong các tài liệu giáo trình của nhà trường theo các bệnh khác
nhau. . .

2. Tính thực tiễn của đề tài
Y học là môn khoa học không ngừng phát triển. Tiếp cận và cập nhật hóa
thông tin y học từ những cơ sở dữ liệu, để nâng cao chất lượng chăm sóc sức khỏe
cho nhân dân là điều không thể thiếu trong thực hành lâm sàng. Với sự phát triển
mạnh mẽ của ngành Công nghệ thông tin, một trong những ngành mũi nhọn của
nhiều quốc gia trên thới giới. Sự phát triển vượt bậc đó là kết quả tất yếu của việc
ứng dụng của nó trong nhiều lĩnh vực khác nhau trong cuộc sống như: giáo dục, y
tế, kinh tế, khoa học, xây dựng nó đã trở thành một phần không thể thiếu được trong
cuộc sống hàng ngày của con người. Trong kỷ nguyên bùng nổ thông tin, việc áp
dụng các phương pháp tìm kiếm thông tin từ những nguồn dữ liệu khác nhau là nhu
cầu thiết thực cho toàn xã hội. Trong các phương pháp tìm kiếm thông tin đó, khai
phá dữ liệu để tìm ra tri thức, phục vụ đời sống xã hội là một phương pháp mới,
đang được các nhà nghiên cứu khoa học quan tâm. Tuy nhiên, khai phá dữ liệu
trong lĩnh vực y học ở nước ta quả thật còn rất ít, gặp nhiều khó khăn, do hiện nay
nhiều bệnh viện ở nước ta chưa có bệnh án điện tử. Việc khai phá trong lĩnh vực
này thực sự mang lại nhiều ý nghĩa cho y học để hỗ trợ cho các bác sĩ kê đơn, chẩn
đoán bệnh sớm và điều trị bệnh có hiệu quả, giảm bớt tử vong cũng như chi phí điều
trị, đây là một nhu cầu thiết thực trong các bệnh viện. Xuất phát từ những thực tế
trên, tôi đã chọn đề tài “Phát hiện mối quan hệ trong cơ sở dữ liệu và ứng dụng
trong y học” để nghiên cứu cho luận văn thạc sĩ của mình.
3. Mục tiêu nghiên cứu


4

Mục tiêu và nội dụng của luận văn này là tìm hiểu các phương pháp khai
thác dữ liệu dựa trên ngôn ngữ truy vấn SQL và chọn tiếp cận K-way join làm trọng
tâm. Dựa trên cách tiếp cận này chúng ta sẽ phân tích và đánh giá các cải tiến cho
K-way join, đề xuất phương pháp phát sinh và rút gọn luật kết hợp dựa trên tập luật
mẫu.

4. Đối tượng và phạm vi nghiên cứu
 Tìm hiểu các khái niệm cơ bản về luật kết hợp, các cách tiếp cận khai phá
dữ liệu, đặc biệt là cách tiếp cận K-way join
 Đề xuất phương pháp phát sinh và rút gọn luật kết hợp trên tập luật mẫu
 Tính toán thử nghiệm để đưa ra các tri thức về thuốc cho trường Cao
đẳng Y tế Phú Thọ, so sánh và đánh giá hiệu năng, độ tối ưu của cách tiếp
cận K-way join với các cách tiếp cận khác.
5. Phương pháp nghiên cứu
 Tìm hiểu các tài liệu về các vấn đề liên quan.
 Tham gia thảo luận và trình bày xemina.
 Tính toán thử nghiệm.
6. Bố cục luận văn
Luận văn bao gồm: mục lục, phần mở đầu, phụ lục.
 Chương I: Tổng quan về phát hiện mối quan hệ giữa các dữ liệu trong cơ
sở dữ liệu.
 Chương II: Một số mối quan hệ dữ liệu được phát hiện thông qua ngôn
ngữ truy vấn
 Chương III: Ứng dụng trong tính toán thử nghiệm.
Kết luận và hướng phát triển.


6

CHƯƠNG 1
TỔNG QUAN VỀ PHÁT HIỆN MỐI QUAN HỆ GIỮA CÁC DỮ LIỆU
TRONG CƠ SỞ DỮ LIỆU
1. 1. Mục tiêu của việc phát hiện mối quan hệ giữa các dữ liệu
Mục tiêu của việc khai khác dữ liệu có các nhiệm vụ chính như sau [2]:



Khám phá dữ liệu, khám phá mẫu, và dự đoán mẫu nhằm khám phá tri
thức trong kho dữ liệu;



Rút trích các thông tin có giá trị tiềm ẩn trong kho dữ liệu;



Phân tích tự động trong kho dữ liệu;



Biểu diễn dữ liệu để thân thiện với người dùng hơn;



Dự báo các thông tin mới dựa trên dữ liệu hiện tại để từ đó hỗ trợ, và ra
quyết định.

1. 2. Các bước chính của quá trình phát hiện tri thức
Quá trình phát hiện tri thức được chia thành các bước như sau [1, 2]:

Hình 1. 1: Các bước trong quá trình khai phá tri thức

 Trích chọn dữ liệu (data selection): Là bước trích chọn những tập dữ liệu
cần được khai phá từ các tập dữ liệu lớn (databases, data warehouses).
 Tiền xử lý dữ liệu (data preprocessing): Là bước làm sạch dữ liệu (xử lý
dữ liệu không đầy đủ, dữ liệu nhiễu, dữ liệu không nhất quán, . . . ), rút
gọn dữ liệu (sử dụng các phương pháp thu gọn dữ liệu, histograms, lấy

mẫu, . . . ), rời rạc hoá dữ liệu (dựa vào histograms, entropy, phân


7

khoảng, . . . ). Sau bước này, dữ liệu sẽ nhất quán, đầy đủ, được rút gọn,
và được rời rạc hoá.
 Biến đổi dữ liệu (data transformation): Là bước chuẩn hoá và làm mịn dữ
liệu để đưa dữ liệu về dạng thuận lợi nhất nhằm phục vụ cho các kỹ thuật
khai thác ở bước sau.
 Khai phá dữ liệu (data mining): Đây là bước quan trọng và tốn nhiều thời
gian nhất của quá trình khám phá tri thức, áp dụng các kỹ thuật khai phá
(phần lớn là các kỹ thuật của học máy) để khai phá, trích chọn được các
mẫu (pattern) thông tin, các mối liên hệ đặc biệt trong dữ liệu.
 Đánh giá và biểu diễn tri thức (knowledge representation & evaluation):
Dùng các kỹ thuật hiển thị dữ liệu để trình bày các mẫu thông tin (tri
thức) và mối liên hệ đặc biệt trong dữ liệu đã được khai phá ở bước trên
biểu diễn theo dạng gần gũi với người sử dụng như đồ thị, cây, bảng biểu,
luật, . . . Đồng thời bước này cũng đánh giá những tri thức khám phá
được theo những tiêu chí nhất định.
Trong giai đoạn khai phá dữ liệu, có thể cần sự tương tác của người dùng để điều
chỉnh và rút ra các tri thức cần thiết nhất. Các tri thức nhận được cũng có thể được
lưu và sử dụng lại.
1. 3. Các dạng dữ liệu có thể khai phá
Khai phá dữ liệu có khả năng chấp nhận một số kiểu dữ liệu khác nhau điển
hình như sau [3, 4]:


Cơ sở dữ liệu quan hệ (relational databases): Là các dữ liệu tác nghiệp
được tổ chức theo mô hình dữ liệu quan hệ rất phổ biến trong hệ thống

quản lý và quán lý bán hàng nói riêng, do hầu hết các hệ quản trị cơ sở dữ
liệu đều hỗ trợ dạng cơ sở dữ liệu quan hệ như Oracle, MS SQL Server,
IBM DB2, MS Access, . . .



Cơ sở dữ liệu đa chiều (multidimention structures, data warehouses, data
mart): Là các kho dữ liệu được tập hợp và chọn lọc từ nhiều nguồn dữ liệu
khác nhau. Dạng dữ liệu này chủ yếu phục vụ cho quá trình phân tích cũng
như khai phá tri thức và hỗ trợ quá trình ra quyết định.


8



Cơ sở dữ liệu giao tác (transactional databases): Đây cũng là dạng dữ
liệu tác nghiệp có các bản ghi thường là các giao tác. Dạng dữ liệu này
cũng phổ biến hiện nay trong đó có ngành thương mại.



Cơ sở dữ liệu quan hệ – hướng đối tượng (object relational databases):
Là dạng dữ liệu lai giữa hai mô hình quan hệ và hướng đối tượng.



Dữ liệu không gian và thời gian (spatial, temporal, and time-series data):
Là dạng dữ liệu có tích hợp thuộc tính về không gian như dữ liệu bản đồ
mạng cáp điện thoại hoặc thời gian như dữ liệu cước điện thoại, phát hành

báo chí.



Cơ sở dữ liệu đa phương tiện (Multimedia database): Là dạng dữ liệu âm
thanh (audio), hình ảnh (video), văn bản và WWW, . . . Dạng dữ liệu này
đang rất phổ biến trên Internet và lưu tại các web server của các đơn vị
trực thuộc doanh nghiệp hoặc tổ chức.

1. 4. Các hướng tiếp cận chính trong khai phá dữ liệu
Một số hướng tiếp cận chính của khai phá dữ liệu được phân chia theo chức
năng hay lớp các bài toán khác nhau [2, 4]:


Phân lớp và dự đoán (classification & prediction): Xếp đối tượng vào
một trong các lớp đã biết trước. Ví dụ: phân lớp loại cước hoặc loại dịch
vụ dựa trên số máy bị gọi của cuộc gọi, phân lớp khu vực dựa trên số máy
chủ gọi, phân lớp giờ cao điểm, thấp điểm dựa trên giờ bắt đầu đàm thoại.
. . . Phân lớp là một lĩnh vực rất quan trọng trong khai phá dữ liệu. Phân
lớp còn được gọi là học có giám sát (supervised learning), hướng tiếp cận
này thường sử dụng một số kỹ thuật của học máy như cây quyết định
(decision tree), mạng nơ ron nhân tạo (neural network). . .

Trong việc khai phá dữ liệu, một số kiến trúc đã được đề xuất cho việc tích
hợp tiến trình khai phá với hệ quản trị cơ sở dữ liệu (HQTCSDL). Những kiến trúc
này được biểu diễn như sau:


9


Hình 1. 2: Các kiến trúc khai thác tích hợp với cơ sở dữ liệu



Sự gắn kết lỏng hay khai phá dựa trên việc lưu trữ (Loose coupling or
Cache based mining): Đây là kiến trúc dạng Client/Server. Phần khai phá
được xem là ứng dụng phía server. Theo kiến trúc này, đầu tiên dữ liệu
được đọc từ database bằng cursor, sau đó nó sẽ đưa vào nhân khai phá
(mining kernel). Khai phá xong sẽ đưa kết quả vào cơ sở dữ liệu. Điều này
dẫn đến hiệu năng chậm. Kiến trúc được mô tả như hình vẽ bên dưới:

Hình 1. 3: Kiến trúc gắn kết lỏng



Thủ tục nội và hàm do người dùng định nghĩa (Stored procedure and
user defined functions): Theo kiến trúc này, công việc khai phá được xem
như là một ứng dụng trên máy chủ cơ sở dữ liệu. Các xử lý được thực thi
trên cùng không gian địa chỉ là HQTCSDL. Thuật toán khai phá được viết
dưới dạng thủ tục nội (stored procedure) nên việc lập trình khá uyển
chuyển, và có thể tái sử dụng.


10

Hình 1. 4: Kiến trúc thủ tục nội và hàm do người dùng định nghĩa



Cách tiếp cận dựa trên SQL (SQL based approach): Theo kiến trúc này,

sử dụng các câu truy vấn SQL để khai phá. Bộ xử lý tối ưu của HQTCSDL
(query optimizer) được dùng để tối ưu các truy vấn phức tạp, những truy
vấn xử lý với thời gian dài dựa trên ngữ nghĩa. Khai phá được tính xử lý
song song những câu truy vấn SQL.

Hình 1. 5: Kiến trúc dựa trên truy vấn SQL



Cách tiếp cận tích hợp (Intergrated approach): Đây là kiến trúc chặt chẽ
nhất, không có giới hạn giữa việc truy vấn, OLAP, hay khai phá. Các toán
tử khai phá hay SQL được mở rộng cho việc khai phá được tối ưu dựa trên
hệ thống bên trong mà không có sự tác động của người dùng.



Khai phá mẫu tuần tự (sequential/temporal patterns): Tương tự như khai
phá luật kết hợp nhưng có thêm tính thứ tự và tính thời gian. Một luật mô
tả mẫu tuần tự có dạng tiêu biểu X  Y phản ánh sự xuất hiện của biến cố
X sẽ dẫn đến việc xuất hiện kế tiếp biến cố Y. Hướng tiếp cận này có tính
dự báo.



Phân cụm (clustering/segmentation): Sắp xếp các đối tượng theo từng
cụm (số lượng và tên của cụm chưa được biết trước). Các đối tượng được
gom cụm sao cho mức độ tương tự giữa các đối tượng trong cùng một cụm
là lớn nhất và mức độ tương tự giữa các đối tượng nằm trong các cụm
khác nhau là nhỏ nhất. Phân cụm còn được gọi là học không có giám sát
(unsupervised learning).



11

1. 5. Phân loại và ứng dụng các hệ thống khai phá dữ liệu
1. 5. 1. Phân loại các hệ thống khai phá dữ liệu
Phân loại khai phá dữ liệu dựa trên các tiêu chí khác nhau [3]:


Phân loại dựa trên kiểu dữ liệu được khai phá: Cơ sở dữ liệu quan hệ,
kho dữ liệu, cơ sở dữ liệu giao tác, cơ sở dữ liệu hướng đối tượng, cơ sở
dữ liệu không gian, cơ sở dữ liệu đa phương tiện, cơ sở dữ liệu văn bản. . .



Phân loại dựa trên dạng tri thức được khám phá: Tóm tắt và mô tả, luật
kết hợp, phân lớp, phân cụm, khai phá chuỗi. . .



Phân loại dựa trên lĩnh vực được áp dụng: Thương mại, viễn thông, tài
chính, y học, web mining, . . .



Phân loại dựa trên kỹ thuật được áp dụng: Phân tích trực tuyến (Online
Analytial Processing - OLAP), học máy (cây quyết định, mạng nơ ron
nhân tạo, K-Means, giải thuật di truyền, tập thô, tập mờ. . . ). Thông
thường sử dụng tập mờ là thích hợp cho việc tìm ra và hiểu được sự liên
quan của các mô hình dữ liệu chưa đầy đủ, tạp nhiễu, thông tin hỗn tạp và

tác động của con người, và từ đó có thể cung cấp giải pháp xấp xỉ nhanh
hơn. Mạng nơ ron có khả năng tổng quát, không giới hạn, mạnh và học tốt
trong môi trường dữ liệu giàu (data-rich). thuật toán di truyền cung cấp
khả năng tìm các thuật toán để chọn mẫu từ các dữ liệu hỗn tạp dựa trên
một số hàm tiêu chuẩn/ mục tiêu thường dùng. Tập thô thì phù hợp cho
tìm ra các mẫu khác nhau của tình trạng không rõ ràng trong dữ liệu. Một
số yêu cầu khai phá dữ liệu cần phải áp dụng phương pháp tính toán mềm
(Tính toán mềm là sự kết hợp của các phương pháp logic mờ, thuật toán di
truyền, khám phá tri thức, mạng nơ ron, tính toán neuro- fuzzy, tập thô, rút
ra luật. )

1. 5. 2. Ứng dụng của khai phá dữ liệu
Khai phá dữ liệu có nhiều ứng dụng trong thực tế. Một số ứng dụng điển
hình như [3, 4]:


Bảo hiểm.


12



Tài chính và thị trường chứng khoán: phân tích tình hình tài chính và dự
báo giá của các loại cổ phiếu trong thị trường chứng khoán. Danh mục vốn
và giá, lãi suất, dữ liệu thẻ tín dụng, phát hiện gian lận.



Phân tích dữ liệu và hỗ trợ ra quyết định.




Điều trị y học và Chăm sóc y tế: Một số thông tin về chuẩn đoán bệnh lưu
trong các hệ thống quản lý bệnh viện. Phân tích mối liên hệ giữa triệu
chứng bệnh, chuẩn đoán và phương pháp điều trị (chế độ dinh dưỡng,
thuốc. . ).



Sản xuất và chế biến: Qui trình, phương pháp chế biến và xử lý sự cố;



Text mining & Web mining: phân lớp văn bản và các trang web, tóm tắt
văn bản, . . .



Lĩnh vực khoa học: Quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật học,
tìm kiếm, so sánh các hệ gene và thông tin di truyền, mối liên hệ gene và
một số bệnh di truyền. .



Mạng viễn thông: Phân tích các cuộc gọi điện thoại và hệ thống giám sát
lỗi, sự cố, chất lượng dịch vụ.

1. 6. Kết luận chương
Chương 1 trình bày chi tiết các khái niệm cơ bản, mục tiêu của việc phát hiện

mối quan hệ dữ liệu, các bước chính khai phá tri thức, các dạng dữ liệu có thể khai
phá, các hướng tiếp cận, phân loại và ứng dụng khai phá dữ liệu. Giúp chúng ta có
cái nhìn tổng quan về các mối quan hệ trong cơ sở dữ liệu, từ đó làm cơ sở để phát
triển chương 2, chương 3 của luận văn.
Chương hai và chương ba của luận văn trình bày về thuật toán k-way join
tìm tập phổ biến, các đề xuất tối ưu để thuật toán chạy đạt hiệu quả cao hơn và ứng
dụng thử nghiệm đối với cơ sở dữ liệu y khoa.


13

CHƯƠNG 2
MỘT SỐ MỐI QUAN HỆ DỮ LIỆU ĐƯỢC PHÁT HIỆN THÔNG QUA
NGÔN NGỮ TRUY VẤN
2. 1. Luật kết hợp
2. 1. 1. Các khái niệm cơ bản
Khai phá luật kết hợp là một kỹ thuật quan trọng của khai phá dữ liệu. Mục
tiêu khai phá là phát hiện những mối quan hệ giữa các giá trị dữ liệu trong cơ sở dữ
liệu. Mô hình đầu tiên của bài toán khai phá luật kết hợp là mô hình nhị phân (hay
còn gọi là mô hình cơ bản) được R. Agrawal, T. Imielinski và A. Swami đề xuất
vào năm 1993, xuất phát từ nhu cầu phân tích dữ liệu của cơ sở dữ liệu giao tác,
phát hiện các mối quan hệ giữa các tập mục hàng hóa (Itemsets) đã bán được tại các
siêu thị [15]. Việc xác định các quan hệ này không phân biệt vai trò khác nhau cũng
như không dựa vào các đặc tính dữ liệu vốn có của các thuộc tính mà chỉ dựa vào sự
xuất hiện cùng lúc của chúng. Dưới đây là một số các khái niệm cơ bản của luật kết
hợp [6]:
2. 1. 1. 1. Cơ sở dữ liệu giao tác
Cho tập các mục (item) I  i1 , i2 ,..., in  . Một giao tác (transaction) T là một
tập con của I, TI. Cơ sở dữ liệu giao tác là một tập các giao tác


DB  T1 , T2 ,..., Tm  . Mỗi giao tác được gán một định danh TID. Một tập mục con

X  I , gồm k mục phân biệt được gọi là một k-tập mục. Giao tác T gọi là chứa tập
mục X nếu X  T .
2. 1. 1. 2. Tập mục phổ biến và luật kết hợp
Độ hỗ trợ tập mục: Cho tập mục X  I. Ta gọi độ hỗ trợ (Support) của X
trong cơ sở dữ liệu giao tác DB, ký hiệu sup(X), là tỷ lệ phần trăm các giao tác chứa
X trên tổng số các giao tác trong DB, tức là:

sup( X ) 

{T  DB | T  X }
DB

Ta có: 0 ≤ sup(X) ≤ 1 với mọi tập mục X  I.
Tập mục phổ biến: Cho tập mục X  I và ngưỡng hỗ trợ tối thiểu
(minimum support) minsup   0,1 (được xác định trước bởi người sử dụng). X


14

được gọi là tập phổ biến (frequent itemset hoặc large itemset) với độ hỗ trợ tối thiểu
minsup nếu sup( X )  minsup , ngược lại X gọi là tập mục không phổ biến.
Luật kết hợp: Một luật kết hợp là một biểu thức dạng X  Y , trong đó X
và Y là các tập con của I, X  Y= Ø ; X gọi là tiền đề, Y gọi là kết luận của luật.
Luật kết hợp có hai thông số quan trọng là độ hỗ trợ và độ tin cậy.
Độ hỗ trợ của luật: Độ hỗ trợ (Support) của một luật kết hợp X  Y , ký
hiệu là sup( X  Y ) , là độ hỗ trợ của tập mục X  Y , sup (X  Y) = sup (X  Y) .
Như vậy độ hỗ trợ của luật kết hợp X  Y chính là xác suất P(XY) của sự
xuất hiện đồng thời của X và Y trong một giao tác.

Ta có: 0  sup (X  Y)  1 .
Độ tin cậy của luật: Độ tin cậy (Confidence) của một luật X  Y , ký hiệu

conf ( X  Y ) , là tỷ lệ phần trăm giữa số giao tác chứa X  Y và số giao tác chứa
X trong cơ sở dữ liệu DB.

conf(X  Y ) =

sup(X  Y )
sup(X )

Độ tin cậy của luật kết hợp X  Y chính là xác suất có điều kiện P(Y/X) :

P(Y / X ) 

{T  DB | X  T  Y  T } {T  DB | X  Y  T } sup(X  Y )


{T  DB | X  T }
{T  DB | X  T }
sup(X )

và ta có 0  conf(X  Y )  1.
Các luật thoả mãn cả hai ngưỡng độ hỗ trợ tối thiểu (minsup) và độ tin cậy tối thiểu
(minconf), tức thỏa mãn sup(X  Y )  minsup và conf(X  Y )  minconf ,
được gọi là luật kết hợp mạnh.
Tính chất cơ bản của tập phổ biến :
Cho cơ sở dữ liệu giao tác DB và ngưỡng độ hỗ trợ tối thiểu minsup. Tập
mục phổ biến có các tính chất sau:
(1) Nếu X, Y là các tập mục và X  Y thì sup( X )  sup(Y ) .



15

(2) Nếu một tập mục là không phổ biến thì mọi tập cha của nó cũng không
phổ biến.
(3) Nếu một tập mục là phổ biến thì mọi tập con khác rỗng của nó cũng là
tập mục phổ biến.

Ví dụ:
Luật kết hợp là những luật có dạng như “ 80% khách hàng mua máy điện
thoại di động thì mua thêm simcard, 30% có mua cả máy máy điện thoại di động lẫn
simcard”. “mua máy điện thoại di động” ở đây được xem là vế trái (tiền đề) của
luật, còn “mua simcard” là vế phải (kết luận) của luật. Các con số 30% là độ hỗ trợ
của luật (support – số phần trăm các giao tác chứa cả vế trái và vế phải), còn 80% là
độ tin cậy của luật (confidence – số phần trăm các giao tác thoả mãn vế trái thì cũng
thoả mãn vế phải

Hình 2. 1: Minh họa luật kết hợp

Độ hỗ trợ (support) và Độ tin cậy (confidence) là hai thước đo cho một luật
kết hợp. Chẳng hạn phân tích cơ sở dữ liệu bán hàng nhận được thông tin về những
khách hàng mua máy tính có khuynh hướng mua phần mềm quản lý tài chính trong
cùng lần mua được mô tả trong luật kết hợp sau


“Máy tính => Phần mềm quản lý tài chính ” [Độ hỗ trợ: 2%, độ tin cậy:
60%]




Độ hỗ trợ 2% có nghĩa là 2% của tất cả các khách hàng mua máy tính
kèm theo phần mềm quản lý tài chính.


16



Độ tin cậy 60% có nghĩa là 60% các khách hàng mua máy tính cũng mua
phần mềm.

Chúng ta nhận thấy rằng tri thức đem lại bởi luật kết hợp ở dạng trên có sự
khác biệt cơ bản so với thông tin thu được từ các câu lệnh truy vấn dữ liệu thông
thường như ngôn ngữ SQL. Đó là những tri thức, những mối liên hệ chưa biết trước
và mang tính dự báo đang tiềm ẩn trong dữ liệu. Những tri thức này không đơn giản
chỉ là kết quả của phép nhóm, tính tổng hay sắp xếp mà là kết quả của một quá trình
tính toán khá phức tạp và tốn nhiều thời gian. Thông tin mà dạng luật này đem lại là
rất đáng kể và hỗ trợ không nhỏ trong quá trình ra quyết định. Tìm kiếm được các
luật kết hợp “quý hiếm” và mang nhiều thông tin từ Cơ sở dữ liệu tác nghiệp là một
trong những hướng tiếp cận chính của lĩnh vực khai phá dữ liệu.
2. 1. 2. Bài toán khai phá luật kết hợp
Cho cơ sở dữ liệu giao tác DB, ngưỡng độ hỗ trợ tối thiểu minsup và ngưỡng
độ tin cậy tối thiểu minconf.
Yêu cầu: Tìm tất cả các luật kết hợp X  Y trên cơ sở dữ liệu DB sao cho

sup(X  Y )  minsup và conf (X  Y)  minconf .
Bài toán khai phá luật kết hợp này được gọi là bài toán cơ bản hay bài toán
nhị phân, vì ở đây, giá trị của mục dữ liệu trong cơ sở dữ liệu là 0 hoặc 1 (xuất hiện
hay không xuất hiện).

Bài toán khai phá luật kết hợp được chia thành hai bài toán con. Bài toán thứ
nhất là tìm tất cả các tập mục thỏa mãn độ hỗ trợ tối thiểu cho trước, tức là tìm tất
cả các tập phổ biến. Bài toán thứ hai là sinh ra các luật kết hợp từ các tập phổ biến
đã tìm được thỏa mãn độ tin cậy tối thiểu cho trước.
Bài toán thứ hai được giải quyết như sau : giả sử đã tìm được X là tập phổ
biến, ta sinh ra các luật kết hợp bằng cách tìm Y  X , kiểm tra độ tin cậy của luật

X \ Y  Y có thỏa mãn độ tin cậy tối thiểu không. Bài toán thứ hai này đơn giản,
mọi khó khăn nằm ở bài toán thứ nhất, hầu hết các nghiên cứu về luật kết hợp đều
tập trung giải quyết bài toán thứ nhất là tìm các tập phổ biến.


17

2. 2. Khai thác tập phổ biến dựa trên ngôn ngữ truy vấn
2. 2. 1. Ngôn ngữ truy vấn
2. 2. 1. 1. Khái niệm về ngôn ngữ truy vấn
Theo [4, 10] ngôn ngữ xử lý dữ liệu quan hệ là ngôn ngữ bao gồm tập các chỉ
thị cho phép hỏi, thay đổi, thêm bớt và sửa thông tin của một CSDL.
Trong các ngôn ngữ thao tác dữ liệu SQL, SEQUEL, QUEL, QBE. . . thì
ngôn ngữ SQL (Structure Query Language) là ngôn ngữ hỏi đáp dữ liệu có cấu trúc,
phi thủ tục, chuẩn mực và điển hình được xác nhận là mạnh, phổ dụng lại dễ sử
dụng.
Ngôn ngữ này được phát triển từ ngôn ngữ SEQUEL-2, thử nghiệm và cài
đặt tại trung tâm nghiên cứu của hãng IBM (tại SALJOISE, CALIFONIA) cho hệ
thống quản trị cơ sở dữ liệu lớn điển hình là SYSTEM-R. Trong SYSTEM-R, SQL
vừa đóng vai trò là một ngôn ngữ có thể thao tác độc lập của người dùng đầu cuối,
đồng thời lại có khả năng là một ngôn ngữ con được nhúng trong ngôn ngữ chủ
PL/1.
Hiện nay ngôn ngữ SQL đã được chuyển thành chuẩn chính thức của ANSI

và ISO (Cơ quan tiêu chuẩn quốc tế) và được rất nhiều các phần mềm Quản trị hệ
CSDL hỗ trợ cho ngôn ngữ này như Oracle, NGRESS, DB2, SYBASE, INFOMIC.
. . v. v.
2. 2. 1. 2. Các đặc điểm của ngôn ngữ SQL
Đây là một ngôn ngữ rất phù hợp cho CSDL phân tán theo mô hình ClientServer, nó cho phép nhiều người dùng cùng truy nhập đến một cơ sở dữ liệu với độ
an toàn ổn định và tính bảo mật cao. Ngôn ngữ SQL đảm bảo lưu lượng truyền
thông tin trên mạng tối thiểu vì Client chỉ gửi câu hỏi và nhận về kết quả từ Server
chứ không phải gửi cả CSDL đi để xử lý. Đặc biệt là do được các hệ quản trị CSDL
hỗ trợ nên phương thức chung để giao tiếp giữa các phần mềm quản trị CSDL (như
dùng ODBC) và điều này làm cho hệ thống có tính mở. Thật vậy, có thể sử dụng
một hệ quản trị CSDL tốt (đòi hỏi cấu hình phần cứng mạnh) nhưng có thể vẫn
dùng phần mềm yêu cầu phần cứng thấp trên các Client hoặc có thể dùng các máy
Net computer. Mặt khác cũng có thể dùng nhiều hệ quản trị CSDL trong cùng một


18

hệ thống để khai thác các thế mạnh của chúng, ví dụ có thể dùng Lotus Notes trên
các Client (giao diện người dùng thân thiện, ưu việt về truyền thông, xử lý tốt văn
bản) và kết nối vào CSDL Oracle trên Server (tính bảo mật cao, đa người dùng,
quản lý tốt các giao tác-Transaction).
Ngôn ngữ SQL còn có khả năng thực hiện được những câu hỏi phức tạp mà
các dạng ngôn ngữ khác không đáp ứng được và một câu lệnh SQL có thể thay thế
cho một tập hợp các câu lệnh lập trình CSDL thông thường.
Ngoài cơ cấu xử lý dữ liệu SQL còn có các công cụ để xây dựng các ứng
dụng WEB, có khả năng xử lý dữ liệu, tạo báo cáo, thiết kế mô hình dữ liệu và quản
trị hệ thống.
2. 2. 1. 3. Các loại câu lệnh SQL thao tác với dữ liệu
Trong ngôn ngữ SQL có hai loại lệnh thao tác với dữ liệu, đó là:



Các lệnh định nghĩa dữ liệu DDL (Data Defined Language): là các lệnh
tạo bảng, tạo Index. . . v. v



Các lệnh cập nhật dữ liệu DML (Data Manipulation Language) như
SELECT, UPDATE, INSERT, DROP.



Các lệnh cập nhật dữ liệu được sử dụng thường xuyên cho nên cần thiết
phải tìm ra phương án chọn cách viết câu lệnh, cách thực hiện câu lệnh sao
cho có hiệu quả nhất về mặt thời gian cũng như là về không gian lưu trữ.

Hệ thống cơ sở dữ liệu dùng các câu lệnh SQL [7, 8]:
1. Câu lệnh đơn: Một câu lệnh đơn là một câu lệnh INSERT, UPDATE,
DELETE hoặc SELECT thao tác duy nhất trên một bảng.
2. Query đơn: thực chất là một câu lệnh SELECT (có thể với nhiều bảng).
3. Kết nối: Một kết nối là một truy vấn dữ liệu nhiều hơn một bảng và từ kết
nối giữa các bảng nằm trong mệnh đề FROM. Phép kết nối kéo dữ liệu từ
các bảng khác nhau và so sánh chúng từng đôi tại dòng chung ở tất cả các
bảng. Có các kiểu kết nối sau (i) Liên kết ngang bằng (Equijoins): liên kết
này dựa vào sự cân bằng của điều kiện tìm kiếm mà chỉ ra mối quan hệ
giữa 2 bảng; (ii) Liên kết không ngang bằng (Non-Equijoins) là liên kết 1
bảng này với một bảng khác dựa trên sự so sánh không bằng như toán tử


19


<=, >=, BETWEEN; (iii) Liên kết ngoài (Outer joins): Giả sử có 2 bảng
KháchHàng và HoáĐơn cùng có 2 cột là MãKháchHàng. Khi liên kết 2
bảng cho hiện lên tên của những khách hàng có số thứ tự trùng nhau. Nếu
muốn hiện lên cả những khách hàng không thoả mãn trong bảng
KháchHàng cũng được hiện lên thì cần dùng liên kết ngoài; (iv) Liên kết
với chính nó (Self joins): Đây là kiểu liên đặc biệt giữa một bảng với
chính nó như 2 bảng riêng biệt. Để làm được việc này thì bảng đó phải có
một tên quan hệ.
4. Tích Đề-các: là kết quả của việc nhân hai tập hợp.
5. Câu lệnh phức: Một câu lệnh phức như là một câu lệnh SELECT, INSER,
UPDATE, hoặc DELETE có chứa một câu lệnh SELECT khác (được gọi
là subquery).
6. Các query kết hợp: Một query kết hợp là một query có sử dụng các toán
tử tập hợp như UNION, UNION ALL, INTERSECT hoặc MINUS.
7. Câu lệnh sử dụng View: View là một bảng logic mà thực chất là một câu
lệnh SELECT mà có thể thao tác giống như đối với bảng.
8. Câu lệnh phân tán: nghĩa là câu lệnh truy nhập dữ liệu từ xa.
2. 2. 2. Tìm tập phổ biến bằng K-way join
2. 2. 2. 1. Cấu trúc bảng dữ liệu
Do số item trong một giao tác không thể biết trước và có thể khác nhau nên
cấu trúc bảng dạng D (tid, item1, item2, …, itemn) là không thực tế. Ngoài ra, trong
thực tế, số item tối đa trong một giao tác có thể vượt quá số cột mà HQTCSDL (Hệ
quản trị cơ sở dữ liệu) hỗ trợ. Chẳng hạn đối với SQL 2000/2005, số cột tối đa cho
phép trong một bảng là 1024. Trong trường hợp này, cấu trúc bảng có dạng D (tid,
item1, item2, …, itemn) là không khả thi vì n phải nhỏ hơn 1024. Ngoài ra, nếu lưu
trữ bảng có nhiều cột, thì rất có thể sẽ lãng phí bộ nhớ khi mà số item trong các giao
tác khác nhau qua nhiều. Do đó, để không phụ thuộc vào số item trong một giao tác,
không phụ thuộc vào giới hạn cột trong một bảng của HQTCSDL, và để tiết kiệm
bộ nhớ, cấu trúc dữ liệu đề xuất cho việc khai thác có dạng D (Tid, item) [8, 9, 10,
11]. Trong đó:



×