TÌM HIỂU CHỨC NĂNG KHAI PHÁ DỮ LIỆU TRONG MS SQL SERVER 2008 ỨNG DỤNG BÀI TOÁN HỖ TRỢ SINH VIÊN CHỌN MÔN CHUYÊN NGÀNH PHÙ HỢP - Pdf 26

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
  
BÁO CÁO THU HOẠCH MÔN HỌC
KHAI THÁC DỮ LIỆU VÀ KHO DỮ LIỆU
ĐỀ TÀI:
TÌM HIỂU CHỨC NĂNG KHAI PHÁ DỮ LIỆU TRONG
MS SQL SERVER 2008
ỨNG DỤNG BÀI TOÁN HỖ TRỢ SINH VIÊN CHỌN MÔN
CHUYÊN NGÀNH PHÙ HỢP
Giảng viên hướng dẫn : PGS. TS Đỗ Phúc
Sinh viên thực hiện: Đỗ Thị Nhung
Mã số SV: CH1101117
TP. Hồ Chí Minh, tháng 11 năm 2012
LỜI CẢM ƠN

Sau hơn 1 tháng nghiên cứu và tìm tòi, em đã hoàn thành bài thu hoạch này. Để đạt
được kết quả này, em đã nỗ lực hết sức đồng thời cũng nhận được rất nhiều sự quan tâm, giúp
đỡ, ủng hộ của các quí Thầy Cô và các bạn.
Trước hết, chúng em xin gửi lời cảm ơn chân thành đến Khoa Công Nghệ Phần Mềm,
Khoa Mạng Máy Tính, trường Đại học Công Nghệ Thông Tin và các quí Thầy Cô đặc biệt là
PGS. TS Đỗ Phúc đã tận tình hướng dẫn, giảng giải và cho em nguồn cảm hứng đến với
môn học và rộng hơn là cảm hứng trong nghiên cứu khoa học.
Tôi cũng rất cảm ơn bạn bè trong Khoa đã luôn bên cạnh và ủng hộ, đóng góp ý kiến giúp
tôi có thể giải quyết các vấn đề khó khăn gặp phải trong quá trình thực hiện báo cáo cuối kì này.
Mặc dù đã rất nỗ lực, cố gắng nhưng kiến thức còn hạn chế nên chắc chắn báo cáo cuối kì
này vẫn còn nhiều thiếu sót, và thực sự chưa phải là một báo cáo hoàn thiện. Tôi rất mong nhận
được sự góp ý đánh giá của quí Thầy Cô, của các bạn để tôi có thể phát triển báo cáo này thêm
hoàn chỉnh hơn.
Một lần nữa, em xin chân thành cảm ơn!
TPHCM, Tháng 11 năm 2012

Hiện nay, cùng với sự phát triển ấy, các phần mềm hỗ trợ phân tích dữ liệu, ra quyết định
xuất hiện ngày càng nhiều. Đơn cử như hệ quản trị Cơ sở dữ liệu SQL Server, Oracle,…
Trong phạm vi khóa luận của môn học này, em xin trình bày sâu hơn về môn học Nhà
kho dữ liệu và khai phá dữ liệu, cụ thể là mảng nghiên cứu các chức năng khai phá dữ
liệu trong hệ quản trị cơ sở dữ liệu Microsoft Sql server 2008 (nghiên cứu luật kết hợp,
gom cụm, text mining,…). Ngoài ra, em cũng viết một ứng dụng đơn giản ứng dụng cho
phần nghiên cứu của mình.
II. Một số khái niệm cơ bản
1) Khái niệm về khai phá dữ liệu (datamining) và ứng dụng
Trong môi trường cạnh tranh, người ta ngày càng cần có nhiều thông tin với tốc độ
nhanh để trợ giúp việc ra quyết định và ngày càng có nhiều câu hỏi mang tính chất định
tính cần phải trả lời dựa trên một khối lượng dữ liệu khổng lồ đã có. Với những lý do như
vậy, các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày càng không
đáp ứng được thực tế đã làm phát triển một khuynh hướng kỹ thuật mới đó là Kỹ thuật
phát hiện tri thức và khai phá dữ liệu (KDD - Knowledge Discovery and Data
Mining).Với những ưu điểm đó, khai phá dữ liệu đang được áp dụng một cách rộng rãi
trong nhiều lĩnh vực kinh doanh và đời sống khác nhau: marketing, tài chính, ngân hàng
và bảo hiểm, khoa học, y tế, an ninh, internet… Kỹ thuật phát hiện 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 định nghĩa
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ư: khai phá tri thức từ CSDL
(knowlegde mining from databases), trích lọc dữ liệu (knowlegde extraction), phân tích
dữ liệu/mẫu (data/pattern analysis), khảo cổ dữ liệu (data archaeology),nạo vét dữ liệu
(data dredging).
Quá trình này bao gồm các bước sau:
a) Làm sạch dữ liệu (data cleaning): loại bỏ nhiễu hoặc các dữ liệu không thích
hợp.

Sử dụng các kĩ thuật trình diễn và trực quan hoá dữ liệu để biểu diễn tri thức khai
phá được cho người sử dụng. Khai phá dữ liệu là một lĩnh vực liên quan tới rất nhiều
ngành học khác như: hệ CSDL, thống kê, trực quan hóa Hơn nữa, tuỳ vào cách tiếp cận
được sử dụng, khai phá dữ liệu còn có thể áp dụng một số kĩ thuật như mạng nơ ron, lí
thuyết tập thô hoặc tập mờ, biểu diễn tri thức… So với các phương pháp này, khai phá dữ
liệu có một số ưu thế rõ rệt:
So với phương pháp học máy, khai phá dữ liệu có lợi thế hơn ở chỗ, khai phá dữ
liệu có thể sử dụng với các CSDL chứa nhiều nhiễu, dữ liệu không đầy đủ hoặc biến đổi
liên tục. Trong khi đó phương pháp học máy chủ yếu được áp dụng trong các CSDL đầy
đủ, ít biến động và tập dữ liệu không quá lớn. Phương pháp hệ chuyên gia: phương pháp
này khác với khai phá dữ liệu ở chỗ các ví dụ của chuyên gia thường ở mức chất lượng
cao hơn nhiều so với các dữ liệu trong CSDL, và chúng thường chỉ bao hàm được các
trường hợp quan trọng. Hơn nữa các chuyên gia sẽ xác nhận giá trị và tính hữu ích của
các mẫu phát hiện được Phương pháp thống kê là một trong những nền tảng lí thuyết của
Khai phá dữ liệu, nhưng khi so sánh hai phương pháp với nhau ta có thể thấy các phương
pháp thống kê còn tồn tại một số điểm yếu mà Khai phá dữ liệu đã khắc phục được: Các
phương pháp thống kê chuẩn không phù hợp với các kiểu dữ liệu có cấu trúc trong rất
nhiều các CSDL. Các phương pháp thống kê hoạt động hoàn toàn theo dữ liệu, nó không
sử dụng tri thức sẵn có về lĩnh vực. Kết quả phân tích của thống kê có thể sẽ rất nhiều và
khó có thể làm rõ được. Phương pháp thống kê cần có sự hướng dẫn của người dùng để
xác định phân tích dữ liệu như thế nào và ở đâu…
2) Các hướng tiếp cận khai phá dữ liệu (datamining)
- 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 thọai.v.v
Hướng tiếp cận phân lớp có giám sát (supervised learning) 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) .v.v
- Luật kết hợp (association rules) : là dạng luật biểu diễn tri thức ở dạng tương đối

liệu. Phương pháp này liên quan đến việc tìm kiếm các mẫu trong cơ sở dữ liệu.
Trong khai phá dữ liệu, quy nạp được sử dụng trong cây quyết định và tạo luật.
2. Cây quyết định và luật:
Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo (predictive model),
nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng tới các kết luận về giá trị
mục tiêu của sự vật/hiện tượng. Mỗi một nút trong (internal node) tương ứng với một
biến; đường nối giữa nó với nút con của nó thể hiện một giá trị cụ thể cho biến đó. Mỗi
nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị của các biến
được biểu diễn bởi đường đi từ nút gốc tới nút lá đó. Kỹ thuật học máy dùng trong cây
quyết định được gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây
quyết định.
Học bằng cây quyết định cũng là một phương pháp thông dụng trong khai phá dữ liệu.
Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đại diện cho các phân loại
còn cành đại diện cho các kết hợp của các thuộc tính dẫn tới phân loại đó[1]. Một cây
quyết định có thể được học bằng cách chia tập hợp nguồn thành các tập con dựa theo một
kiểm tra giá trị thuộc tính [1]. Quá trình này được lặp lại một cách đệ qui cho mỗi tập con
dẫn xuất. Quá trình đệ qui hoàn thành khi không thể tiếp tục thực hiện việc chia tách
được nữa, hay khi một phân loại đơn có thể áp dụng cho từng phần tử của tập con dẫn
xuất. Một bộ phân loại rừng ngẫu nhiên (random forest) sử dụng một số cây quyết định
để có thể cải thiện tỉ lệ phân loại.
Cây quyết định cũng là một phương tiện có tính mô tả dành cho việc tính toán các xác
suất có điều kiện.
Cây quyết định có thể được mô tả như là sự kết hợp của các kỹ thuật toán học và tính
toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát hóa một tập dữ liệu cho trước.
Dữ liệu được cho dưới dạng các bản ghi có dạng:
(x, y) = (x
1
, x
2
, x

3. Phân nhóm và phân đoạn (clustering and segmentation):
Kỹ thuật phân nhóm và phân đoạn là những kỹ thuật phân chia dữ liệu sao cho mỗi phần
hoặc mỗi nhóm giống nhau theo một tiêu chuẩn nào đó. Mối quan hệ thành viên của các
nhóm có thể dựa trên mức độ giống nhau của các thành viên và từ đó xây dựng nên các
luật ràng buộc giữa các thành viên trong nhóm. Một kỹ thuật phân nhóm khác là xây
dựng nên các hàm đánh giá thuộc tính của các thành phần như là hàm của các tham số
của các thành phần. Phương pháp này được gọi là phương pháp phân hoạch tối ưu
(optimal partitioning). Một ví dụ ứng dụng của phương pháp phân nhóm theo độ giống
nhau là cơ sở dữ liệu khách hàng, ứng dụng của phương pháp tối ưu ví dụ như phân
nhóm khách hàng theo số các tham số và các nhóm thuế tối ưu có được khi thiết lập biểu
thuế bảo hiểm.
Mẫu đầu ra của quá trình khai phá dữ liệu sử dụng kỹ thuật này là các tập mẫu chứa các
dữ liệu có chung những tính chất nào đó được phân tách từ cơ sở dữ liệu. Khi các mẫu
được thiết lập, chúng có thể được sử dụng để tái tạo các tập dữ liệu ở dạng dễ hiểu hơn,
đồng thời cũng cung cấp các nhóm dữ liệu cho các hoạt động cũng như công việc phân
tích. Đối với cơ sở dữ liệu lớn, việc lấy ra các nhóm này là rất quan trọng.
III. Luật kết hợp
1) Khái niệm về luật kết hợp
Gọi I = {I
1
, I
2,
, I
m
} là tập m thuộc tính riêng biệt, mỗi thuộc tính gọi là một mục. Gọi D
là một cơ sở dữ liệu, trong đó mỗi bản ghi T là một giao dịch và chứa các tập mục, T

I.
Định nghĩa: Một luật kết hợp là một quan hệ có dạng X


Nếu X ⇒ Z và Y⇒ Z trong D thì không nhất thiết (X∪Y)⇒ Z là đúng.
Xét trường hợp X∩Y=∅ và các tác vụ trong D hỗ trợ Z nếu chỉ nếu chúng hỗ trợ mỗi
X hoặc Y, khi đó luật X∪Y⇒ Z có độ tin cậy là 0%.
Tương tự: X ⇒ Y và X ⇒ Z thì không nhất thiết X ⇒Y ∪ Z
Tính chất 2 : Không tách luật.
Nếu X ∪ Y⇒Z thì X ⇒Y và Y ⇒ Z chưa chắc xảy ra. Nhưng nếu X ⇒Y ∪ Z thì kéo
theo X

Y

X

Z
Ví dụ: Trường hợp Z có mặt trong một tác vụ chỉ khi cả hai X và Y cũng có mặt, tức là
supp(X∪Y)=supp(Z). Nếu độ hỗ trợ của X và Y đủ lớn hơn supp(X∪Y) hay
supp(X)>supp(X∪Y) và supp(Y)>supp(X∪Y) thì hai luật riêng biệt sẽ không đủ độ
tin cậy
Tuy nhiên, đảo lại: X → Y ∪ Z ⇒ X → Y ∧ X → Z
Tính chất 3 : Các luật kết hợp không có tính chất bắc cầu.
Nếu X → Y và Y → Z chúng ta không thể suy ra X →Z.
Ví dụ: Giả sử T(X)⊂(T(Y)⊂(T(Z) tương ứng là tập các tác vụ chứa X,Y,Z và độ tin cậy
cực tiểu là minconf, conf(X→Y)=conf(Y→Z)=minconf
thế thì: conf(X→Z)=minconf
2
<minconf vì minconf<1, do đó luật X→Z không đủ độ
tin cậy.
Tính chất 4:
Nếu luật A→(L-A) không thỏa mãn độ tin cậy cực tiểu thì luật B→(L-B) cũng không
thỏa mãn, với các tập mục L,B,A và B⊆A⊆L.
Vì supp(B)≥(supp(A) (Theo tính chất 1 và định nghĩa độ tin cậy, chúng ta


Tức là: conf((L-D)→D ≥ conf((L- C) → C) ≥ minconf.
Các tính chất này sẽ được sử dụng trong thuật toán mô tả ở các phần sau.
5. Độ hỗ trợ
Một tập mục có khả năng là phổ biến và cần phải xác định độ hỗ trợ của nó trong quá
trình duyệt dàn được gọi là một tập mục ứng cử viên. Một hướng tiếp cận phổ biến để
xác định giá trị hỗ trợ của một tập mục là đếm các thể hiện của nó trong CSDL. Với mục
đích đó, một biến đếm được tạo ra và khởi tạo bằng 0 cho mỗi tập mục đang duyệt. Sau
đó, quét qua tất cả các tác vụ và khi tìm được một ứng cử viên là tập con của một tác vụ
thì tăng biến đếm của nó lên. Thông thường, tập con tạo ra và bảng tìm kiếm ứng cử viên
được tích hợp và cài đặt bằng một cây băm hay một cấu trúc dữ liệu tương ứng.
Như vậy, không phải tất cả các tập con của mỗi tác vụ đều được tạo ra mà chỉ
những tác vụ có chứa trong các ứng cử viên hoặc có một tiền tố chung với ít nhất một
ứng cử viên mới được tạo ra.
Một hướng tiếp cận khác để xác định giá trị hỗ trợ của các ứng cử viên là sử dụng
giao tập hợp. Một TID là một khoá-biến nhận dạng tác vụ duy nhất. Với một phần tử đơn
giản, tidlist là tập hợp của các biến nhận dạng tương ứng với các tác vụ có chứa phần tử
này. Do đó, các tidlist cũng tồn tại cho mỗi tập mục X và được biểu diễn bởi X.tidlist.
Phần tử tidlist của một ứng cử viên C=X∪Y xác định bởi: C.tidlist=X.tidlist ∪Y.tidlist.
Trong đó các tidlist được sắp xếp theo thứ tự tăng dần để các phép giao được hiệu quả.
Bằng cách dùng vùng đệm cho tidlist của các ứng cử viên phổ biến như là các kết
quả trung gian, có thể tăng đáng kể tốc độ phát sinh tidlist cho các ứng cử viên tiếp theo.
Cuối cùng các độ hỗ trợ thực sự của ứng cử viên chính là |C.tidlist|
5) Ý tưởng về tìm luật kết hợp:
- Rất tự nhiên, khi tìm kiếm các luật kết hợp trên cơ sở dữ liệu, người ta thường
đặt ra một giới hạn về độ support và confidence của các luật tìm được gọi là
minsup và minconf. Chỉ những luật nào có độ support lớn hơn minsup và độ
confidence lớn hơn minconf mới được quan tâm. Như vậy bài toán tìm luật kết
hợp dương sẽ được phát biểu là :
Tìm tất cả các luật R : X → Y sao cho support(R) > minsup và confidence(R)

ánh xạ trước đó. Trong trường hợp tìm thấy biến đếm được tăng lên 1.
- Ký hiệu: Giả sử các mục trong mỗi giao dịch được lưu giữ theo trật tự từ điển.
Gọi số các mục trong một tập mục là kích thước của nó và gọi tập mục có kích
thước k là tập k-mục (tập k mục). Các mục trong mỗi tập mục cũng được giữ ở trật
tự từ điển. Ta sử dụng các ký hiệu sau:
o L
k
: Tập các tập k-mục phổ biến (với độ hỗ trợ cực tiểu minsup nào đó)
o C
k
: Tập các tập k-mục ứng cử (các tập mục phổ biến tiềm năng)
• Thuật toán:
Input: CSDL D, minsup.
Output: Tập các tập mục phổ biến.
1. L
1
= {Các 1 - itemset phổ biến};
2. k=2;
3. While( L
k-1
! =

)
4. { C
k
= apriori_gen(L
k-1
, minsup);// các ứng cử mới theo chương trình con ở
dưới đây.
5. for( ∀ giao dịch t∈ D)

k-1
, minsup )
1. { for (

itemset l
1

L
k-1
)
2. for (

itemset l
2

L
k-1
)
3. if((L
1
(1)== L
2
(1)&& L
1
(2) == L
2
(2)&& && L
1
(k-2) == L
2

k-1
) return TRUE;
3. else return FALSE ;
4. }
• Giải thích:
- Lần duyệt đầu tiên, sẽ tính số lần xuất hiện của mỗi mục để xác định các 1-
itemset phổ biến. Lần duyệt thứ k (k ≥ 2) sẽ bao gồm 2 giai đoạn:
o Tập phổ biến L
k-1
đã tìm thấy ở lần duyệt thứ k-1 được sử dụng để sinh
ra các tập ứng cử viên C
k
bằng việc sử dụng hàm Apriori_gen. Dựa vào CSDL,
tính độ hỗ trợ của các ứng của viên trong C
k
. Các ứng cử viên trong C
k

được chứa trong giao dịch t có thể được xác định một cách hiệu quả bằng việc
sử dụng cây băm được mô tả như sau:
o Trong giai đoạn 2 (giai đoạn sửa, tỉa): xoá bỏ các tập c

C
k
sao cho một
vài (k-1) – tập con của c không nằm trong L
k-1
. Thủ tục này là đầy đủ bởi đối
với bất kì tập nào L
k

thể nằm trong L
k
.
- Hàm Subset: Các tập ứng cử viên C
k
được lưu trữ trong một cây băm. Một nút
của cây này hoặc là chứa một danh sách của các tập (nút lá) hoặc bảng băm ( một
nút trong). Trong mỗi một nút trong, mỗi cụm (bucket) của bảng băm chỉ đến một
nút khác. Gốc của cây băm được xem ở độ sâu là 1. Một nút trong ở độ sâu d sẽ
dẫn đến nút ở độ sâu d+1. Các tập được lưu trữ trong các lá. Khi ta bổ sung thêm
một tập c, ta bắt từ nút gốc và đi xuống cây cho đến khi ta chạm vào một lá. Tại
một nút ở độ sâu d, ta quyết định sẽ đi theo cành nào bằng việc áp dụng hàm băm
đối với mục thứ d của tập đó và theo con trỏ trong Bucket tương ứng. Tất cả các
nút ban đầu được tạo ra như là nút lá. Khi số các tập trong một nút lá vượt quá
ngưỡng được chọn, nút lá này được chuyển thành một nút trong.
- Bắt đầu từ nút gốc, hàm Subset tìm tất cả các ứng cử viên được chứa trong giao
dịch t như sau: Nếu ta bắt đầu tại một lá, ta tìm những tập trong nút lá này được
chứa trong giao dịch t và bổ sung các mối quan hệ với chúng đối với tập kết quả
mong muốn. Nếu ta đang ở một nút trong và ta đến được nó bằng việc băm mục i,
ta băm trên mỗi mục đi sau i trong t và áp dụng một cách đệ quy thủ tục đó đối với
nút này trong Bucket tương ứng. Đối với nút gốc, ta băm theo mỗi mục trong t.
- Để thấy được tại sao hàm Subset trả lại tập các tham khảo mong muốn hãy để ý
đến những gì sẽ xảy ra tại nút gốc. Đối với bất kỳ tập c nào được chứa trong giao
dịch t, mục đầu tiên cần phải có trong t. Tại nút gốc, việc băm mọi mục trong t
đảm bảo được rằng ta chỉ không biết các tập mà nó bắt đầu với một mục không
nằm trong t. Những lí luận tương tự áp dụng cho các mức sâu hơn. Vì các mục
trong bất kì tập nào cũng được sắp thứ tự, nếu ta đến được một nút hiện tại bằng
việc băm mục i, ta chỉ cần quan tâm đến những mục trong t nó xuất hiện sau i.
- Bước tỉa: Xoá bớt tất cả các tập mục c ∈ C
k

nhằm phát hiện các luật kết hợp giữa các đối tượng với độ hỗ trợ và độ tin cậy tối
thiểu.
PHẦN II. TÌM HIỂU CÁC CHỨC NĂNG KHAI PHÁ DỮ LIỆU TRONG MS SQL
SERVER 2008
I. Tổng quan về hệ quản trị cơ sở dữ liệu Microsoft SQL Server
2008.
1) Tổng quan về hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2008.
Hệ quản trị cơ sở dữ liệu Microsoft SQL Server (MSSQL) là một trong những
hệ quản trị cơ sở dữ liệu thông dụng hiện nay. Đây là hệ quản trị cơ sở dữ liệu thường
được sử dụng với các hệ thống trung bình, với ưu điểm có các công cụ quản lý mạnh
mẽ giúp cho việc quản lý và bảo trì hệ thống dễ dàng , hỗ trợ nhiều phương pháp lưu
trữ, phân vùng và đánh chỉ mục phục vụ cho việc tối ưu hóa hiệu năng . Với phiên
bản MSSQL 2008 Microsoft đã có những cải tiến đáng kể nâng cao hiệu năng, tính
sẵn sàng của hệ thống , khả năng mở rộng và bảo mật . Phiên bản mới này còn cung
cấp nhiều công cụ cho người phát triển ứng dụng được tích hợp với bộ Visual Studio
do Microsoft cung cấp. Dưới đây là mô hình về các dịch vụ của SQL server 2008.
Các dịch vụ của SQL Server 2008
MSSQL 2008 có 4 dịch vụ lớn : Database Engine, Intergration Service, Reporting
service, Analysis Services. Trong phiên bản MSSQL 2008 này đã có những cải tiến
đáng kể như sau.
• DataBase Engine : được phát triển để thực thi tốt hơn với việc hỗ trợ cả dữ liệu
có cấu trúc và dữ liệu phi cấu trúc( XML).
• Khả năng sẵn sàng của hệ thống được nâng cao hơn vì MSSQL 2008 hỗ trợ các
chức năng : cơ sở dữ liệu gương (Database mirroring), failover clustering , snapshots
và khôi phục dữ liệu nhanh.
• Việc quản lý chỉ mục được thực hiện song song với việc hoạt động của hệ
thống. Người dùng có thể thêm chỉ mục, xây dựng lại chỉ mục hay xóa một chỉ mục
đi trong khi hệ thống vẫn được sử dụng.
• Chức năng phân vùng dữ liệu được hỗ trợ: Trong phiên bản này người dùng có
thể phân vùng các bảng và chỉ mục cũng như quản lý phân vùng dữ liệu một cách dễ

Các đối tượng của SSIS bao gồm
- Các kết nối : chứa đựng những thông tin để kết nối tới nguồn dữ liệu
- Các nhiệm vụ : Đây là một đơn vị thực thi trong SSIS , dùng để thực thi
một nhiệm vụ như: truy vấn, chạy một chương trình ứng dụng , hay thực thi công việc
bảo trì hệ thống.
- Các ràng buộc: Các nhiệm vụ liên kết với nhau bằng các ràng buộc, các
ràng buộc chỉ định nhiệm vụ nào được thực hiện sau khi một nhiệm vụ kết thúc tùy
theo kết quả của nhiệm vụ vừa hoàn thành.
- Các xử lý sự kiện: SSIS cho phép thực thi một số thao tác để xử lý khi có
một sự kiện xảy ra. Ví dụ như việc làm sạch dữ liệu khi có lỗi xảy ra.
- Các biến: các nhiệm vụ có thể liên kết với các biến để lưu trữ kết quả, thực
hiện việc quyết định (như trong ràng buộc, hay ở một nhiệm vụ khác), hay thực thi
một số cấu hình.
SSIS cung cấp công cụ để thiết lập luồng dữ liệu(DataFlow), các thành phần của
luồng dữ liệu dùng để tạo ra tiến trình ETL. DataFlow là thành phần quan trọng nhất
trong một package của SSIS, bao gồm rất nhiều thành phần để thiết lập việc trích
xuất, biến đổi dữ liệu, và nạp dữ liệu vào kho dữ liệu. Đây là công cụ rất mạnh cho
việc xây dựng tiến trình ETL.
8) Tổng quan về SQL Server Analysis Service
SSAS trong là một trong những dịch vụ chính của SQL Server 2008 dùng để xây
dựng các chiều và cubes cho DWH, trong phiên bản mới này còn hỗ trợ một số thuật
toán khai phá dữ liệu điều này cung cấp cho người quản lý có cái nhìn sâu sắc về dữ
liệu của họ hơn. SSAS là một phần của nền tảng quản lý doanh nghiệp thông minh
(BI), nó không chỉ là một thành phần của SQL Server, nó còn được sử dụng trên
.NET Framework và môi trường phát triển Visual Studio.
SSAS trong SQL Server 2008 đã được tái kiến trúc nhằm nâng cao khả năng
mở rộng và tính tin cậy, trong môi trường doanh nghiệp, và khả năng bảo mật dữ
liệu. SSAS cung cấp khả năng tích hợp nhiều đối tượng (instance) của SSAS điều
này tăng khả năng mở rộng ngoài ra dịch vụ này còn cung cấp các thuật toán để quản
lý hiệu quả các cubes lớn trong một đối tượng. SSAS 2008 cung cấp đa dạng các công

9) Tổng quan về ngôn ngữ truy vấn MDX.
Ngôn ngữ MDX(MultiDemensional eXpression ) là ngôn ngữ truy vấn cho cơ
sở dữ liệu nhiều chiều, nó tương tự ngôn ngữ SQL cho cơ sở dữ liệu dạng quan hệ ,
tuy nhiên đây là ngôn ngữ tính toán vì thế nó tương có cú pháp giống công thức của
bảng tính. MDX do Microsoft giới thiệu vào năm 1997 cùng với SQL Server 7.0
nhanh chóng được các nhà phát triển chấp nhận đã trở thành chuẩn cho hệ thống
OLAP. Từ năm 2001 khi XMLA ra đời MDX được mở rộng và hỗ trợ truy vấn với
MDX (MDXML).
Ngôn ngữ MDX hỗ trợ mạnh cho tính toán trên khối dữ liệu nhiều chiều, nó hỗ
trợ việc truy cập dữ liệu một cách trực quan và dễ dàng. Người dùng có thể trích xuất
dữ liệu từ cube với số chiều bất kỳ. MDX có thể trả lời được các câu hỏi phức tạp
trong kinh doanh ở thế giới thực như: trong các khu vực bán được nhiều sản phẩm
nhất đâu là dòng sản phẩm bán chạy nhất? .
MDX được xây dựng cho các hệ thống phân tích dữ liệu chính vì thế nó có thể
xử lý được những truy vấn một cách dễ dàng. MDX có thể xử lý dữ liệu một cách
mềm dẻo, kết quả trả về của MDX cũng rất linh hoạt. Các phép truy vấn phức tạp
trong SQL như pivot được sử dụng một cách dễ dàng trong MDX.
MDX không hỗ trợ các ngôn ngữ định nghĩa dữ liệu (DDL) tuy nhiên ngôn
ngữ thao tác dữ liệu (DML) của MDX có hỗ trợ thực thi một số thao tác định nghĩa
dữ liệu.
Cấu trúc của MDX giống như SQL nhưng mở rộng hơn để thao tác với cơ sở
dữ liệu nhiều chiều. Câu truy vấn MDX có cấu trúc như sau :
SELECT [Mô tả về chiều thứ nhất],
[Mô tả về chiều thứ hai]…
FROM [Mô tả về khối dữ liệu]
WHERE [điều kiện cắt các lớp]
Mệnh đề SELECT dùng để xác định các chiều cảu tập hợp kết quả.
Mệnh đề FROM xác định nguồn dữ liệu(cube) dùng để lấy dữ liệu
Mệnh đề WHERE dùng để xác định chiều cắt dữ liệu , nhằm lọc dữ liệu đầu ra.
Ví dụ:


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status