MỤC LỤC I. LỜI MỞ ĐẦU 2 II. CƠ SỞ LÝ THUYẾT TẬP THÔ LIÊN QUAN 3 1. Khai phá trí thức trong csdl (Knowdlege Discovery in Databases – KDD) 3 2. Tập thô trong khai phá trí thức 3 3. Mô tả các bước khai phá dữ liệu sử dụng lý thuyết tập thô 4 3.1. Hiệu chỉnh dữ liệu: 4 3.2. Rút gọn tập thuộc tính: 4 3.3. Rút trích tập luật: 4 III. KỸ THUẬT KHAI PHÁ DỮ LIỆU SỬ DỤNG LUẬT KẾT HỢP 5 1. Tổng quan 5 2. Các khái niệm và công thức thể hiện: 6 2.1. Độ hỗ trợ: 6 2.2. Độ hỗ trợ tối thiểu: (minsupp) 6 2.3. Độ tin cậy: 6 2.4. Độ tin cậy tối thiểu: (minconf) 6 3. Các bước khai phá luật kết hợp 6 4. Thuật toán sinh các luật kết hợp Apriori (ý tưởng của Agrawal and Srikant 1994) 6 4.1. Định nghĩa 6 4.2. Tư tưởng chính của thuật toán Apriori 7 4.3. Trình tự cài đặt thuật toán 7 4.4. Mã giải 10 IV. BÀI TOÁN THỰC TẾ 11 1. TỔNG QUAN BÀI TOÁN ỨNG DỤNG 11 2. GIẢI QUYẾT BÀI TOÁN SỬ DỤNG TẬP THÔ THUẬT TOÁN APRIORI 12 2.1. Bước 1: Chọn bảng thuộc tính ban đầu: 12 2.2. Bước 2: Hiệu chỉnh dữ liệu, rút gọn tập thuộc tính 12 2.3. Bước 3: Rút trích tập luật tìm các tập phổ biến 14 2.4. Bước 4: Dùng các tập phổ biến để tạo ra luật kết hợp 17 2.5. Kết quả cuối cùng 20 3. CÁC HẠN CHẾ CỦA THUẬT TOÁN APRIORI 21 V. KẾT LUẬN 21 VI. TÀI LIỆU THAM KHẢO 21 I. LỜI MỞ ĐẦU Trong thời gian gần đây, để xử lý các hệ thống thông tin bao hàm yếu tố mơ hồ, không đầy đủ và rời rạc, các nhà nghiên cứu đã đề xuất nhiều phương pháp khác với phương pháp logic cổ điển, ví dụ lý thuyết tập mờ (Fuzzy set theory), lý thuyết tập thô (Rough set theory), tính toán hạt (Granular computing) hay phân tích khái niệm hình thức (Formal concept analysis) … Trong các phương pháp này, phương pháp tập thô được nhiều nhóm khoa học trên thế giới quan tâm nghiên cứu và phát triển. Điều này có thể lý giải là do lý thuyết tập thô được xây dựng trên một nền toán học vững chắc, cung cấp những công cụ hữu ích để giải quyết các bài toán phân lớp dữ liệu, phát hiện luật …, đặc biệt là phục vụ cho việc nghiên cứu các hệ thống thông minh, khai phá dữ liệu. Hiện nay, việc nắm bắt được thông tin được coi là cơ sở của mọi hoạt động sản xuất, kinh doanh. Cá nhân hoặc tổ chức nào thu thập và hiểu được thông tin và hành động dựa trên các thông tin được kết xuất từ các thông tin đã có sẽ đạt được thành công trong mọi hoạt động. Chính vì lý do đó, việc tạo ra thông tin, tổ chức lưu trữ và khai thác ngày càng trở nên quan trọng và gia tăng không ngừng. Sự tăng trưởng vượt bậc của các cơ sở dữ liệu (CSDL) trong cuộc sống như: thương mại, quản lý và khoa học đã làm nảy sinh và thúc đẩy sự phát triển của kỹ thuật thu thập, lưu trữ, phân tích và khai phá dữ liệu… không chỉ bằng các phép toán đơn giản thông thường như: phép đếm, thống kê… mà đòi hỏi cách xử lý thông minh hơn, hiệu quả hơn. Từ đó các nhà quản lý có được thông tin có ích để tác động lại quá trình sản xuất, kinh doanh của mình… đó là tri thức. Các kỹ thuật cho phép ta khai thác được tri thức hữu dụng từ CSDL (lớn) được gọi là các kỹ thuật khai phá dữ liệu (DM – Data Mining). Khai phá luật kết hợp là một nội dung quan trọng trong khai phá dữ liệu. Kỹ thuật khám phá tri thức và khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuật này tương đối còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứng dụng. Khai phá dữ liệu (Data Mining) được coi là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu được lưu trữ trong các CSDL, kho dữ liệu… Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng một số thuật ngữ khác có ý nghĩa tương tự như: Khám phá tri thức từ cơ sở dữ liệu (Knowledge Discovery in DatabaseKDD), trích lọc dữ liệu (knowlegde extraction), phân tích dữ liệumẫu (datapattern analysis), khảo cổ dữ liệu (data archaeology), nạo vét dữ liệu (data dredging).
Trang 1
Hà Nội, 02/03/2012
Môn: Lý thuyết tập thô và ứng dụng
Tên đề tài: Nghiên cứu cách thể hiện Data Mining sử dụng lý thuyết tậpthô, tìm hiểu luật kết hợp trong khai thác dữ liệu, demo quá trình khai
phá dữ liệu sử dụng thuật toán Apriori
Giáo viên hướng dẫn: Th.S Vũ Anh Tú
LỚP: KHMT4 – K5
Sinh viên: Nguyễn Ngọc Tuấn
MỤC LỤC
Trang 2I.LỜI MỞ ĐẦU 2
II CƠ SỞ LÝ THUYẾT TẬP THÔ LIÊN QUAN 3
1 Khai phá trí thức trong csdl (Knowdlege Discovery in Databases – KDD) 3
2 Tập thô trong khai phá trí thức 3
3 Mô tả các bước khai phá dữ liệu sử dụng lý thuyết tập thô 4
2.4.Độ tin cậy tối thiểu: (minconf) 6
3 Các bước khai phá luật kết hợp 6
4 Thuật toán sinh các luật kết hợp Apriori (ý tưởng của Agrawal and Srikant - 1994) 6
4.1.Định nghĩa 6
4.2.Tư tưởng chính của thuật toán Apriori 7
4.3.Trình tự cài đặt thuật toán 7
4.4.Mã giải 10
IV BÀI TOÁN THỰC TẾ 11
1 TỔNG QUAN BÀI TOÁN ỨNG DỤNG 11
2 GIẢI QUYẾT BÀI TOÁN SỬ DỤNG TẬP THÔ & THUẬT TOÁN APRIORI 12
2.1.Bước 1: Chọn bảng thuộc tính ban đầu: 12
2.2.Bước 2: Hiệu chỉnh dữ liệu, rút gọn tập thuộc tính 12
2.3.Bước 3: Rút trích tập luật - tìm các tập phổ biến 14
2.4.Bước 4: Dùng các tập phổ biến để tạo ra luật kết hợp 17
Trang 3I.LỜI MỞ ĐẦU
Trong thời gian gần đây, để xử lý các hệ thống thông tin bao hàm yếu tố mơhồ, không đầy đủ và rời rạc, các nhà nghiên cứu đã đề xuất nhiều phương phápkhác với phương pháp logic cổ điển, ví dụ lý thuyết tập mờ (Fuzzy set theory), lýthuyết tập thô (Rough set theory), tính toán hạt (Granular computing) hay phântích khái niệm hình thức (Formal concept analysis) … Trong các phương phápnày, phương pháp tập thô được nhiều nhóm khoa học trên thế giới quan tâmnghiên cứu và phát triển Điều này có thể lý giải là do lý thuyết tập thô được xâydựng trên một nền toán học vững chắc, cung cấp những công cụ hữu ích để giảiquyết các bài toán phân lớp dữ liệu, phát hiện luật …, đặc biệt là phục vụ choviệc nghiên cứu các hệ thống thông minh, khai phá dữ liệu.
Hiện nay, việc nắm bắt được thông tin được coi là cơ sở của mọi hoạt độngsản xuất, kinh doanh Cá nhân hoặc tổ chức nào thu thập và hiểu được thông tinvà hành động dựa trên các thông tin được kết xuất từ các thông tin đã có sẽ đạtđược thành công trong mọi hoạt động Chính vì lý do đó, việc tạo ra thông tin, tổchức lưu trữ và khai thác ngày càng trở nên quan trọng và gia tăng không ngừng.
Sự tăng trưởng vượt bậc của các cơ sở dữ liệu (CSDL) trong cuộc sốngnhư: thương mại, quản lý và khoa học đã làm nảy sinh và thúc đẩy sự phát triểncủa kỹ thuật thu thập, lưu trữ, phân tích và khai phá dữ liệu… không chỉ bằng cácphép toán đơn giản thông thường như: phép đếm, thống kê… mà đòi hỏi cách xửlý thông minh hơn, hiệu quả hơn Từ đó các nhà quản lý có được thông tin có íchđể tác động lại quá trình sản xuất, kinh doanh của mình… đó là tri thức Các kỹthuật cho phép ta khai thác được tri thức hữu dụng từ CSDL (lớn) được gọi là cáckỹ thuật khai phá dữ liệu (DM – Data Mining) Khai phá luật kết hợp là một nộidung quan trọng trong khai phá dữ liệu.
Kỹ thuật khám phá tri thức và khai phá dữ liệu đã và đang được nghiên cứu,ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Namkỹ thuật này tương đối còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dầnđưa vào ứng dụng
Khai phá dữ liệu (Data Mining) được coi là quá trình trích xuất các thôngtin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu được lưu trữ trong các CSDL,kho dữ liệu… Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng mộtsố thuật ngữ khác có ý nghĩa tương tự như: Khám phá tri thức từ cơ sở dữ liệu(Knowledge Discovery in Database-KDD), trích lọc dữ liệu (knowlegdeextraction), phân tích dữ liệu/mẫu (data/pattern analysis), khảo cổ dữ liệu (dataarchaeology), nạo vét dữ liệu (data dredging).
Trang 4Báo cáo trình bày một số vấn đề về khám phá tri thức, khai phá dữ liệu, vàtrình bày rõ vấn đề khai phá luật kết hợp và ứng dụng một số thuật toán khai pháluật kết hợp trong CSDL có sử dụng lý thuyết tập thô.
1.Khai phá trí thức trong csdl (Knowdlege Discovery in Databases – KDD)
Khai phá dữ liệu được coi như là một thành phần cốt yếu trong khái niệmkhai phá trí thức trong CSDL KDD không phải là một kỹ thuật mới Đây là mộtkhu vực đa ngành, trong đó khoa học máy tính, thống kê, công nghệ CSDL, hệthống chuyên gia và dữ liệu trực quan cùng tham gia vào Quá trình khai phá tríthức trong CSDL bao gồm 6 giai đoạn: Lựa chọn dữ liệu (Raw Data), Làm sạchdữ liệu (Data Selection), Làm giàu dữ liệu (Pre-Processing), mã hóa, khai thác dữliệu (DATA MINING) và báo cáo (Evaluation/Interpretation) Trong quá trìnhlàm sạch, những sai sót rõ ràng trong các dữ liệu được điều chỉnh Trong quátrình mã hóa, dữ liệu được mã hóa như vậy nó có thể được sử dụng trong cácthuật toán khai phá dữ liệu Trong quá trình khai phá dữ liệu, suy luận thực tếdiễn ra Trong quá trình báo cáo, một kết quả cuối cùng tất nhiên sẽ được báocáo, và thường hiển thị dưới dạng trực quan và hấp dẫn
Sơ đồ tiến trình khai phá trí thức trong CSDL
2.Tập thô trong khai phá trí thức
Dữ liệu được chứa trong các cơ sở dữ liệu ở thế giới thực không được thuthập với việc tự học hỏi Dữ liệu không chắc chắn giống với tự nhiên, không xácđịnh và chứa nhiễu, dẫn đến các sai sót trong quá trình đo đạc, truyền dữ liệu vàcác lỗi gây ra bởi con người trong quá trình thu thập dữ liệu Tất cả các đặc tínhtrình bày ở trên đóng góp vào sự không chắc chắn của dữ liệu Sự không chắc
Trang 5chắn trong kiến thức là không thể tránh khỏi trong các tình huống của cuộc sống,và một vài nền tảng khác nhau cho việc lý giải, khai phá với kiến thức khôngchắc chắn đã được giới thiệu.
Lý thuyết tập thô tạo thành một nền tảng cơ sở cho vấn đề khai phá trí thức,cung cấp các công cụ hữu ích cho việc khai phá cho các mẫu ẩn trong CSDL ởnhiều khía cạnh (Lin và Cercone, 1997; Pal và Skowron, 1999; Pawlak, 1982;1991; Skowron và Rauszer, 1992), được sử dụng trong các giai đoạn khác nhaucủa quá trình khai phá trí thức, như là chọn lọc thuộc tính, khai thác thuộc tính,rút gọn tập dữ liệu, sinh ra bảng quyết định và rút trích tập luật (mẫu, luật kếthợp) (Komorowski et al., 1999)
3.Mô tả các bước khai phá dữ liệu sử dụng lý thuyết tập thô3.1 Hiệu chỉnh dữ liệu:
Khi nhận dạng dữ liệu có thể có những bản ghi trong bảng thuộc tính khôngthể nhận biết được do lỗi nhập liệu
Để xử lý trường hợp này, chúng ta có thể xem dữ liệu sau định dạng như làmột hệ thống thông tin không đầy đủ, và điền giá trị thích hợp theo thuậttoán của nhóm tác giả Dai Dai, Jiangpeng Wang.
3.2 Rút gọn tập thuộc tính:
Như đã biết, từ một bảng quyết định có nhiều đối tượng, tập luật quyết địnhrút trích được là rất lớn Để thu gọn tập luật quyết định mà không làm mất đi tínhđặc trưng của bảng quyết định, một trong những phương án là thu gọn tập thuộctính
3.3 Rút trích tập luật:
Sinh luật quyết định là một kết quả quan trọng của phần mềm Thuật toánsử dụng để sinh luật dựa tiếp cận tính toán hạt của các tác giả Haiyan Yu vàDaoping Wang Thuật toán đã được công bố và so sánh với các thuật toán rúttrích dữ liệu khác Tính ưu việt của thuật toán là việc kết xuất dữ liệu được phânlớp, tổ hợp đơn giản) Trong phần mềm demo, luật kết hợp với thuật toán aprioriđược dùng để rút trích tập luật.
Trang 6III KỸ THUẬT KHAI PHÁ DỮ LIỆU SỬ DỤNG LUẬT KẾT HỢP
1.Tổng quan
Phương pháp này nhằm phát hiện ra các luật kết hợp giữa các thành phầndữ liệu trong CSDL Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kếthợp tìm được Các ứng dụng chủ yếu liên quan đến luật kết hợp có thể kể ra:
Phân tích bán hàng trong siêu thị, cross-marketing, thiết kế catalog, leader analysis, gom cụm, phân lớp,
loss-Có thể lấy một ví dụ đơn giản về luật kết hợp như sau: phân tích CSDL bánhàng nhận được thông tin về những khách hàng mua máy tính cũng có khuynhhướng mua phần mềm quản lý tài chính trong cùng lần mua được miêu tả trongluật kết hợp sau:
“Mua máy tính Mua phần mềm quản lý tài chính” Mua phần mềm quản lý tài chính”
[Độ hỗ trợ: 4%, độ tin cậy: 70%].
Độ hỗ trợ và độ tin cậy là hai độ đo của sự đáng quan tâm của luật Chúngtương ứng phản ánh sự hữu ích và sự chắc chắn của luật đã khám phá Độ hỗ trợ4% có nghĩa là: 4% của tất cả các tác vụ đã phân tích chỉ ra rằng máy tính vàphần mềm quản lý tài chính là đã được mua cùng nhau Còn độ tin cậy 70% cónghĩa là 70% các khách hàng mua máy tính cũng mua phân mềm quản lý tàichính.
Trang 72.Các khái niệm và công thức thể hiện:2.1 Độ hỗ trợ:
Là tần suất xuất hiện đồng thời của một hoặc một nhóm các phần tử trêntổng số các giao tác
support(A B [ s, c ]) = p(AB) = support ({A,B})
2.2 Độ hỗ trợ tối thiểu: (minsupp)
Là tần suất tối thiểu quy ước sự phổ biến của luật trong giao tác.
Nếu minsupp cao, số phần tử phổ biến ít, ít luật hợp lệ “rất thường xuất
Nếu minsupp thấp, nhiều luật lệ “hiếm” xuất hiện
2.3 Độ tin cậy:
Là số phần trăm giao tác có chứa tập B trong số những thao tác chứa tập A
confidence(A B [ s, c ]) = p(B|A) = p(AB) / p(A) = support({A,B}) /support({A})
2.4 Độ tin cậy tối thiểu: (minconf)
Là phần trăm tối thiểu giao tác có chứa tập B trong số những thao tác chứatập A.
Nếu minconf cao, ít luật nhưng tất cả “gần như đúng”
Nếu minconf thấp, nhiều luật nhưng phần lớn là không chắc chắn
3.Các bước khai phá luật kết hợp
Bước 1: Tìm các tập phổ biến: các tập các phần tử có độ support tối thiểuBước 2: Dùng các tập phổ biến để tạo ra luật kết hợp
4.Thuật toán sinh các luật kết hợp Apriori (ý tưởng của Agrawal and Srikant - 1994)
4.1 Định nghĩa
Phương pháp sinh ứng viên để tìm tập phổ biến được Agrawal [13] đề xuấttừ năm 1993 với thuật toán Apriori Ý tưởng của thuật toán Apriori dựa trên kết
luận: nếu một tập danh mục là phổ biến thì tất cả tập con của nó cũng phải phổ
biến (tính chất 2 – tập phổ biến) Do vậy không thể có trường hợp một tập phổ
biến có tập con là không phổ biến hay nói cách khác tập phổ biến nhiều danhmục hơn chỉ có thể được tạo ra từ các tập phổ biến ít danh mục hơn
Trang 84.2 Tư tưởng chính của thuật toán Apriori
Tư tưởng chính của thuật toán Apriori là: Tìm tất cả frequent itemsets: itemset (itemsets gồm k items) được dùng để tìm (k+1)- itemset.
k-Đầu tiên tìm 1-itemset (ký hiệu L1) L1 được dùng để tìm L2 (2-itemsets).L2 được dùng để tìm L3 (3-itemset) và tiếp tục cho đến khi không có k-itemsetđược tìm thấy.
Từ frequent itemsets sinh ra các luật kết hợp mạnh (các luật kết hợp thỏamãn 2 tham số min_sup và min_conf)
4.3 Trình tự cài đặt thuật toán
Duyệt (Scan) toàn bộ transaction database để có được support S của itemset, so sánh S với min_sup, để có được 1-itemset (L1)
1- Sử dụng Lk-1 nối (join) Lk-1 để sinh ra candidate k-itemset Loại bỏ cácitemsets không phải là frequent itemsets thu được k-itemset
Scan transaction database để có được support của mỗi candidate itemset, so sánh S với min_sup để thu được frequent k –itemset (Lk)
k- Lặp lại từ bước 2 cho đến khi Candidate set (C) trống (không tìm thấyfrequent itemsets)
Với mỗi frequent itemset I, sinh tất cả các tập con s không rỗng của I
Với mỗi tập con s không rỗng của I, sinh ra các luật s => (I-s) nếu độ tin
cậy (Confidence) của nó > =min_conf
Chẳng hạn với I= {A1,A2,A5},các tập con của I: {A1}, {A2}, {A5},{A1,A2},{A1,A5},{A2,A5} sẽ có các luật sau:
{A1} => {A2,A5},{A2} =>{A1,A5},{A5} =>{A1,A2}{A1,A2} =>{A5},{A1,A5} =>{A2},{A2,A5} => {A1}
Ví dụ: Giả sử ta có có sở dữ liệu giao dịch (Transaction Database -TDB)
như sau :
Thuật toán Apriori khai phá luật kết hợp được mô tả qua các bước sau:
Trang 9Ta có frequent itemsets I ={B,C,E}, với min_conf =80% ta có 2 luật kếthợp là {B,C} => {E} và {C,E} => {B}
Giả sử có cơ sở dữ liệu giao dịch bán hàng gồm 5 giao dịch như sau:
Thuật toán Apriori tìm các luật kết hợp trong giao dịch bán hàng trên nhưsau:
Trang 10Kết quả ta có các luật kết hợp sau (với min_sup= 40%, min_conf=70%):
R1: Beer => Diaper (support =60%, confidence = 75%)R2: Diaper =>Beer (support =60%,confidence = 75%)R3: Milk =>Beer (support =40%, confidence = 100%)
R4: Baby Powder => Diaper (support =40%,confidence = 100%)
Từ kết quả các luật được sinh ra bởi giao dịch bán hàng trên, ta thấy rằngcó luật có thể tin được (hợp lý) như Baby Powder => Diaper, có luật cần phải
Trang 11phân tích thêm như Milk =>Beer và có luật có vẻ khó tin như Diaper =>Beer.Vídụ này sinh ra các luật có thể không thực tế vì dữ liệu dùng để phân tích(transaction database) hay còn gọi là tranining data rất nhỏ.
Thuật toán Apriori được dùng để phát hiện các luật kết hợp dạng khẳngđịnh (Positive Rule X=>Y) nhị phân (Binary Association Rules) chứ không thểphát hiện các luật kết hợp ở dạng phủ định (Negative Association Rule) chẳn hạnnhư các kết hợp dạng “Khách hàng mua mặt hàng A thường KHÔNG mua mặthàng B” hoặc “Nếu ủng hộ quan điểm A thường KHÔNG ủng hộ quan điểm B”.Khai phá các luật kết hợp dạng phủ định (Mining Negative Association Rules) cóphạm vi ứng dụng rất rộng và thú vị nhất là trong Marketing, Health Care vàSocial Network Analysis.
4.4 Mã giải
Bước kết hợp : Ck được tạo bằng cách kết Lk-1 với chính nó
Bước rút gọn : Những tập kích thước (k-1) không phổ biến không thể là tập con của tập phổ biến kích thước k
Mã giả :
Ck: Tập ứng viên có kích thước k; Lk : Tập phổ biến có kích thước k
L1 = {các phần tử phổ biến};
for (k = 1; Lk !=; k++) do begin
Ck+1 = {các ứng viên được tạo từ Lk };
for each giao tác t trong database do
tăng số đếm của tất cả các ứng viên trong Ck+1 mà được chứa trong t
Lk+1 = {các ứng viên trong Ck+1 có độ ủng hộ tối tiểu}
endreturn k Lk;
Trang 12IV BÀI TOÁN THỰC TẾ
1.TỔNG QUAN BÀI TOÁN ỨNG DỤNG
Một tổ chức đào tạo cho các phòng khám về kiến thức và kỹ năng chăm sócngười bệnh đã tạo ra một ứng dụng để lưu lại các thông tin về các khóa đào tạo,trong đó có thông tin quan trọng là tên những phòng khám đã tham gia đào tạo.Dựa vào nguồn dữ liệu đó, tổ chức đào tạo muốn dùng luật kết hợp để khai thácđộ ủng hộ và độ tin cậy của các tập các phòng khám, giúp tổ chức định hướng tốtcác đối tượng tham gia chương trình lâu dài, bền vững
Mô hình bảng CSDL trong SQL SERVER:
Trang 132.GIẢI QUYẾT BÀI TOÁN SỬ DỤNG TẬP THÔ & THUẬT TOÁN APRIORI
Sử dụng lý thuyết tập thô và thuật toán Apiori cài đặt trực tiếp trên storeprocedure của SQL server
Các bước xây dựng thuật toán như sau:
2.1 Bước 1: Chọn bảng thuộc tính ban đầu:
CREATE PROCEDURE [dbo].[getTraining_Attendees_SourceData]AS
SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY TrainingId) AS
'RowNum', * FROM TRAINING_ATTENDEES) A
Bảng thuộc tính ban đầu sẽ bao gồm 5 cột (No, TrainingID, ProvinceID,OPCID, NumberOfParticipants) với 603 dòng (bản ghi)
2.2 Bước 2: Hiệu chỉnh dữ liệu, rút gọn tập thuộc tính
CREATE PROCEDURE [dbo].[getTraining_Attendees_ProcessData]AS
DELETE FROM Training_Attendees_ReduceINSERT INTO Training_Attendees_Reduce
/* Loại các bản ghi không phù hợp, bỏ 2 thuộc tính không cần thiết là ProvineID, NumberOfAttendees */
SELECT TrainingID, OPCID FROM Training_Attendees WHERE OPCID isnotnulland
ProvinceID isnotnulland NumberOfParticipant > 0
SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY TrainingId) AS
'RowNum', * FROM Training_Attendees_Reduce) A
Trang 14Bảng thuộc tính rút gọn sẽ bao gồm 3 cột (No, TrainingID, OPCID)với 571 dòng (bản ghi)