Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
597,2 KB
Nội dung
1 BỘ GIÁO DỤC VÀ ĐÀO TẠO TẬP ĐOÀN BƯU CHÍNH VIỄN THƠNG VIỆT NAM HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG VIỆT NAM - LÊ THỊ THANH SƠN PHÉP PHÂN RÃ TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ ỨNG DỤNG CHUYÊN NGÀNH: TRUYỀN DỮ LIỆU VÀ MẠNG MÁY TÍNH MÃ SỐ: 60.48.15 TĨM TẮT LUẬN VĂN THẠC SỸ KỸ THUẬT HÀ NỘI – 2010 Luận văn hoàn thành tại: Học viện Cơng nghệ Bưu Viễn thơng Tập đồn Bưu Viễn thông Việt Nam Người hướng dẫn khoa học: PGS.TS NGUYỄN BÁ TƯỜNG Phản biện 1: …………………………………………………… …………………………………………………… Phản biện 2: …………………………………………………… …………………………………………………… Luận văn bảo vệ trước hội đồng chấm luận văn Học viện Công nghệ Bưu Viễn thơng Vào lúc: ngày tháng năm 2010 Có thể tìm hiểu luận văn tại: - Thư viện Học viện Công nghệ Bưu Viễn thơng CHƯƠNG TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN 1.1 THIẾT KẾ PHÂN TÁN LÀ GÌ Thiết kế phân tán bao gồm: - Thiết kế hệ thống mạng máy tính - Thiết kế CSDL phân tán cho mạng máy tính Khi thiết kế hệ thống mạng máy tính tức xác định vị trí đặt máy tính mạng Từ xác định vị trí đặt liệu mạng máy tính Tiếp theo xác định phần mềm ứng dụng cài đặt mạng Cuối cách khai thác liệu mạng Thiết kế CSDL phân tán nghiên cứu cách tổ chức liệu mạng máy tính Sắp xếp, phân nhóm, chia nhỏ liệu thành mảnh đặt chúng mạng máy tính 1.2 CSDL PHÂN TÁN LÀ GÌ CSDL phân tán CSDL phân thành nhiều mảnh cấp phát đến nút hệ thống mạng máy tính Trong đó: CSDL tập liệu có liên quan với toán quản lý 4 Phân tán, phân rã hay phân mảnh CSDL chia nhỏ CSDL thành phần phần phần gọi mảnh hay CSDL 1.3 YÊU CẦU DẪN ĐẾN PHÂN TÁN CSDL Trong thực tế cần phải phân tán CSDL phân tán CSDL đảm bảo: Tiết kiệm không gian nhớ lưu trữ hạn chế trùng lặp dư thừa thơng tin Đảm bảo tính qn, tính ổn đinh, tính tồn vẹn liệu Cho phép nhiều người chia sẻ CSDL làm tăng khả xử lý đồng thời Chia CSDL thành CSDL tăng hiệu quản trị Giải vấn đề phạm vi địa lý rộng tầm hoạt động lớn Giải vấn đề bảo mật liệu nên phải phân tán thành nhiều CSDL để dễ bảo vệ liệu 1.4 BẢN CHẤT CỦA PHÂN TÁN CSDL Phân tán chia làm loại: Phân tán dọc sơ đồ quan hệ Phân tán dọc sơ đồ quan hệ W = phân chia W thành sơ đồ W1 = < U1, F1>, W2 = < U2, F2>, , Wk = < Uk, Fk> Ký hiệu: W | -> {W1, W2, , Wk} k Trong đó: A = U1 U2 Uk = i 1 Ui; Fi πUi(F+)i = 1, 2, , k Vậy phân rã W = < A, F > trình phân rã đồng thời tập thuộc tính A tập phụ thuộc hàm F thành Fi Phân rã ngang R Phân rã ngang R chia ngang quan hệ R thành R1, R2, …, Rk với Ri quan hệ A Ri Rj = i k j; R = Ri i 1 Phân rã ngang R bắt buộc Ri phải rời Ri Rj = i j Tuy nhiên Ri có chung tập thuộc tính 1.5 PHÂN TÁN CSDL PHẢI ĐẢM BẢO YÊU CẦU GÌ Khi phân tán CSDL phải đảm bảo yêu cầu sau: Không tổn thất thông tin, phép phân tán không đem đến hậu thừa, thiếu, thông tin Đảm bảo truy xuất đắn, tránh xẩy tượng dị thường, mâu thuẫn, không mong muốn truy xuất liệu Từ mảnh phải tổng hợp CSDL ban đầu: phép phân tán ngang R thành R1, R2, , Rk khơi phục R k phép hợp quan hệ R = Ri i 1 ; phân tán dọc R thành R1, R2, , Rk khơi phục R phép nối R1|> {W1, W2, , Wk}; với Wi = < Ui, Fi > ; Ri = R[Ui] gọi phép phân tán có nối không tổn thất quan hệ R A có đẳng thức: R = R1|> ; k W | -> {W1, W2, , Wk}; Wi = < Ui, Fi > ; Ri = R[Ui] Fi ðUi(F+) A = i 1 Ui phân rã W Output: khẳng định (yes/no) phân rã bảo toàn phụ thuộc hay không? Algorithim X Y F XG+ Y ( bao đóng XG+ tính theo tập phụ thuộc hàm G) kết luận yes, phân rã bảo toàn phụ thuộc Ngược lại tồn phụ thuộc hàm X Y F mà XG+ khơng chứa Y kết luận no, phân rã khơng bảo tồn phụ thuộc 2.1.4 Phân rã thành BCNF Thuật toán kiểm tra phép phân rã thành BCNF hay không? Input: W = < A, F > = < A, {Xi Yi}>; i = 1, k Phép phân rã W | -> {W1, W2, , Wk}; Wi = < Ui, k Fi > ; Ri = R[Ui] Fi ðUi(F+) A = i 1 Ui Output: khẳng định (yes/no) phân rã thành BCNF hay khơng? Algorithm Nếu i Wi BCNF yes, phép phân rã thành BCNF Ngược lại tồn Wi mà Wi khơng BCNF no, phân rã khơng thành BCNF Thuật tốn phân rã W thành BCNF Input: W = < A, F > = < A, {Xi Yi}> ; i = 1, k Output: phân rã W | ->{W1, W2, , Wk}; với i Wi = < Ui, Fi > BCNF k k Algorithm Nếu A = sau: i 1 Xi Yi = i 1 Ui phân rã W thành k sơ đồ W1 = < X1Y1, X1 Y1> = < U1, F1 > W2 = < X2Y2, X2 Y2> = < U2, F2 > k k Wk = < XkYk, Xk Yk > = Nếu A i 1 Xi Yi đặt X = A - i 1 Xi Yi phân rã W thành k+ sơ đồ sau: W1 = < X1Y1, X1 Y1> = < U1, F1 > W2 = < X2Y2, X2 Y2> = < U2, F2 > Wk = < XkYk, Xk Yk > = Wk+1 = < X, > Ta dễ dàng thử lại sơ đồ quan hệ phân rã thuật toán sơ đồ quan hệ dạng BCNF 2.1.5 Phân rã thành BCNF, bảo tồn phụ thuộc, có nối khơng tổn thất Thuật tốn kiểm tra phép phân rã thành BCNF, bảo tồn phụ thuộc, có nối không tổn thất? Input: W = < A, F > = < A, {Xi Yi}>; i = 1, k Phép phân rã W | -> {W1, W2, , Wk}; Wi = < Ui, k Fi > ; Ri = R[Ui] Fi ðUi(F+) A = i 1 Ui Output: khẳng định (yes/no) phân rã thành BCNF, bảo tồn phụ thuộc, có nối tổn thất? Algorithm Nếu i Wi BCNF, phân rã bảo toàn phụ thuộc phân rã có nối khơng tổn thất yes, phép phân rã thỏa mãn điều kiện 10 Ngược lại tồn Wi mà Wi không BCNF hay phân tã khơng bảo tồn phụ thuộc hay phân rã có nối tổn thất no, phân rã khơng thỏa mãn điều kiện Thuật toán phân rã W thành BCNF, bảo tồn phụ thuộc, có nối không tổn thất Input: W = < A, F > = < A, {Xi Yi}> i = 1, k Output: phân rã W | -> {W1, W2, , Wk}; với i Wi = < Ui, Fi > BCNF, phép phân rã bảo toàn phụ thuộc, phép phân rã có nối khơng tổn thất Algorithm Bước Xác định key W Bước Phân rã W thành k+1 sơ đồ sau: W1 = < X1Y1, X1 Y1> = < U1, F1 > W2 = < X2Y2, X2 Y2> = < U2, F2 > Wk = < XkYk, Xk Yk > = Wk+1 = < key, > Ta dễ dàng thử lại sơ đồ quan hệ phân rã thuật toán sơ đồ BCNF, phép phân rã bảo toàn phụ thuộc phụ thuộc hàm cho vào sơ đồ con, phân rã có nối khơng tổn thất có sơ đồ chứa key, ta chứng minh bổ đề 5.2 2.1.6 Phân rã dọc theo độ liên đới thuộc tính Trong hầu hết toán quản lý phân rã thành tốn Mỗi tốn có chứa thuộc tính liên đới (liên kết) với Độ liên đới thuộc tính phụ thuộc vào chất, độ ứng dụng độ truy xuất thuộc tính 11 Sự gắn kết thuộc tính truy xuất, vấn tin thể lực liên đới chúng Gọi Q = {q1, q2, qq} tập vấn tin người dùng truy vấn tập thuộc tính A = {A1, A2, An} Mỗi câu vấn tin qi thuộc tính Aj có giá trị sử dụng thuộc tính (attribute usage value), ký hiệu use (qi, Aj) Bảng AQ = ( use (qi, Aj)) với j = 1, 2, n i = 1, 2, q gọi bảng giá trị sử dụng 2.2 MỘT SỐ Ý TƯỞNG PHÂN RÃ LƯỢC ĐỒ QUAN HỆ THEO LỰC LIÊN ĐỚI 2.2.1 Phương pháp dùng luật kết hợp Cho A tập thuộc tính, Q tập truy vấn: A = {A1, A2, , An}; Q = {q1, q2, , qq} tập truy vấn tập thuộc tính A Cho bảng giá trị giá trị sử dụng AQ = ( use(qi, AJ)) Bảng giá trị sử dụng AQ hệ khai thác liệu Khi độ liên đới hay độ thuộc thuộc tính b vào thuộc tính a ứng với bảng giá trị sử dụng AQ Độ thuộc thuộc tính b vào thuộc tính a ký hiệu cf(a,b) ứng với AQ, độ tin cậy luật kết hợp a b; tức cf(a,b) = CF( a b) Khi cần chia A thành nhóm Ta lấy thuộc tính làm đại diện cho bốn nhóm, SoHD, Manv, Masp, MaKH Mỗi thuộc tính b khác bốn thuộc tính ta tính có độ thuộc cf(SoHD,b), cf(Manv,b), cf(Masp,b), cf(MaKH,b) So 12 sánh cho vào nhóm với thuộc tính mà b có độ thuộc lớn nhất, trường hợp khơng phân nhóm ta xét thêm điều kiện cho b vào nhóm mà có nhiều thuộc tính a mà cf(a,b) lớn 2.2.2 Phương pháp dùng khoảng cách Giả sử ta có bảng giá trị sử dụng Bảng 2.9 Biến đổi hàng thành cột ta bảng Bảng 2.11: Bảng giá trị sử dụng q1 q2 q2 q4 q5 q6 q7 q8 q9 SL 0 0 0 0 TienHD 0 0 1 0 NHD 0 0 0 SoHD 0 0 0 0 Tennv 0 0 0 0 Manv 0 0 0 0 DS 0 0 0 TenKH 0 0 0 MaKH 0 0 1 Gia 1 0 0 NSX 0 1 0 0 DVT 0 0 0 0 Tensp 1 0 0 Masp 1 0 0 1 13 Coi thuộc tính điểm khơng gian chiều, ví dụ thuộc tính SoHD = (0, 0, 0, 0, 0, 0, 0, 0, 1); MaKH = ( 0, 0, 0, 0, 0, 1, 0, 1, 0); Masp =( 1, 1, 0, 0, 0, 0, 1, 0, 1); Manv=( 0, 0, 0, 0, 1, 0, 0, 0, 0); Độ liên đới a, b khoảng cách Oclic d(a,b) từ a đến b Begin Input: - n objects - k clusters Initial k cluster centers calculate objects-centers grouping based on the F No object move group recomput ci Hình 2.1 Sơ đồ thuật tốn K-means clustering T End 14 2.3 MỘT SỐ THUẬT TOÁN PHÂN TÁN NGANG HỆ TIN 2.3.2 Thuật toán Quinlan Thuật toán Quinlan từ hệ định S = ( U, C D), ta tìm cách phân rã tập đối tượng U thành nhóm pi mà nhóm pi, đối tượng có giá trị thuộc tính định D Cho hệ định S = ( U, C D ) Ta giả sử thuộc tính D có k giá trị khác Domain(D) = {d1, d2, d3, , dk} Ta thấy hệ định S thuộc tính điều kiện C thường định giá trị thuộc tính D Theo thuật tốn Quinlan tìm tập luật, với thuộc tính C thuộc tính định d1 hay d2 v.v 2.4 KẾT LUẬN CHƯƠNG Như q trình phân mảnh CSDL sử dụng phép phân mảnh dọc phép phân mảnh ngang Tùy theo toán mà sử dụng phương pháp cho thích hợp; đơi sử dụng kết hợp hai phương pháp Thông thường thiết kế CSDL phân tán sử dụng phép phân tán dọc để thiết kế quan hệ thành chuẩn, sau sử dụng phép phân rã ngang để phân mảnh liệu trình khai thác CSDL Sau phân mảnh việc cấp phát mảnh nút vấn đề cần phải giải quyết, trở thành tốn cấp phát mảnh mạng 15 CHƯƠNG ỨNG DỤNG PHÉP PHÂN RÃ ĐỂ PHÂN TÍCH DỮ LIỆU SINH VIÊN TRONG TRƯỜNG CAO ĐẲNG KINH TẾ KỸ THUẬT THƯƠNG MẠI 3.1 GIỚI THIỆU BÀI TOÁN ỨNG DỤNG Trong tất trường học công việc quản lý sinh viên, quản lý điểm, quản lý giảng dạy tin học hóa Điều giúp q trình quản lý nhanh chóng, đơn giản, hiệu Việc phân loại sinh viên ngày sử dụng hệ CSDL phân tán hệ thống mạng để phân loại Đối với cấp học, loại hình học khác lại có tiêu chí phân loại khác Trường Cao Đẳng Kinh tế - Kỹ thuật Thương mại phân loại sinh viên theo khóa học Từ năm học 2008 -2009 Nhà Trường chuyển loại hình đào tạo sang tín nên phân loại sinh viên theo nhóm (mức) A B, C, D Hiện khóa 10 chưa trường cịn đào tạo theo hình thức niên chế nên tiêu chí phân loại sinh viên theo nhóm: Xuất sắc, Giỏi, Khá, TB, Yếu Do tốn phân loại sinh viên có thay đổi theo hình thức đào tạo 3.2 PHÂN TÍCH BÀI TỐN 3.2.1 u cầu tốn 16 Để phân loại sinh viên có nhiều cách phân loại khác nhau, theo tiêu chí khác Bài toán phân loại sinh viên trường Cao đẳng Kinh tế - Kỹ thuật Thương mại luận văn phân loại theo điểm học tập sinh viên theo nhóm khác Sinh viên trường Cao đẳng Kinh tế - Kỹ thuật Thương Mại đào tạo theo loại hình thức: Đào tạo theo niên chế sinh viên xếp thành nhóm: Giỏi, khá, Trung bình khá, Trung bình, yếu Đào tạo theo tín sinh viên xếp thành nhóm: A, B, C, D Bài tốn đặt ra: Có liệu đầu vào điểm n sinh viên trường Cao đẳng Kinh tế - Kỹ thuật Thương Mại số k nhóm cần xếp loại u cầu: Phân tích để xếp điểm n sinh viên theo k nhóm 3.2.2 Giải toán Để thực yêu cầu toán, sử dụng thuật toán KMean để gom cụm liệu điểm n sinh viên theo k nhóm Bước 1: Thực kết nối đến CSDL phân tán hệ thống mạng cục để lấy danh sách điểm sinh viên số nhóm k cần xếp nhóm Bước 2: Khởi tạo k điểm làm trung tâm cho nhóm 17 Bước 3: Tính tổng khoảng cách đến k điểm trung tâm Bước 4: Nhóm sinh viên vào k nhóm Bước 5: Đặt lại k điểm trung tâm điểm trung bình nhóm Bước 6: Quay lên bước Bước 7: Đưa danh sách điểm sinh viên xếp theo k nhóm 3.3 LỰA CHỌN NGÔN NGỮ VÀ MÔI TRƯỜNG CÀI ĐẶT 3.3.1 Giới thiệu hệ quản trị CSDL SQL SERVER 2008 Microsoft SQL server hệ quản trị sở liệu quan hệ (Relational Database Management System – RDBMS) Microsoft phát triển SQL Server hệ quản trị sở liệu quan hệ mạng máy tính hoạt động theo mơ hình khách chủ cho phép đồng thời lúc có nhiều người dùng truy xuất đến liệu, quản lý việc truy nhập hợp lệ quyền hạn người dùng mạng 3.3.2 Giới thiệu ngơn ngữ lập trình VB.NET 2008 Visual Basic.NET (VB.NET) ngơn ngữ lập trình khuynh hướng đối tượng (Object Oriented Programming Language) Microsoft thiết kế Visual Basic.NET (VB.NET) không kế thừa VB6 hay bổ sung, phát triển từ VB6 mà ngơn ngữ lập trình hồn tồn Microsoft ’s NET Framework 18 Đây ngôn ngữ lập trình mạnh, khơng lập tảng vững theo kiểu mẫu đối tượng ngơn ngữ lập trình mạnh khác C++, Java mà dễ học, dễ phát triển tạo hội hoàn hảo để giúp ta giải đáp vấn đề, tốn lập trình Visual Basic.NET (VB.NET) giúp ta dễ làm việc Windows đó, ta tập trung cơng sức vào vấn đề liên quan đến dự án, công việc hay doanh nghiệp 3.4 MỘT SỐ GIAO DIỆN MINH HỌA Hình 3.1: Giao diện thiết kế phân nhóm sinh viên 19 Hình 3.2: Giao diện chạy chương trình phân nhóm sinh viên theo niên chế Hình 3.3: Giao diện chạy chương trình phân nhóm sinh viên theo tín 20 3.5 KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG NGHIÊN CỨU TIẾP Sau thực xong ứng dụng phép phân rã để phân tích liệu sinh viên trường Cao đẳng Kinh tế - Kỹ thuật Thương Mại Kết đạt được: Kết nối đến SQL Server để lấy CSDL phân tán mạng cục Nhà trường Đây việc truy xuất liệu truyền mạng Sử dụng phân rã ngang để lấy phần liệu sinh viên Ứng dụng sử dụng thuật toán K-Mean để gom cụm điểm n sinh viên theo k nhóm Số nhóm thay đổi theo loại hình đào tạo: niên chế tín Nhà Trường Tuy nhiên ứng dụng dừng lại mức đơn giản số điểm sinh viên cịn Bài tốn cịn giải mức phức tạp hơn, số lượng điểm sinh viên nhiều CSDL sinh viên phát triển nhiều Đây hướng phát triển chương trình sau 21 KẾT LUẬN Đối với hệ CSDL vấn đề thiết kế CSDL vấn đề quan trọng có ảnh hưởng trực tiếp đến hiệu hệ thống Thiết kế liệu vấn đề cần quan tâm Mục đích thiết kế CSDL quan hệ sinh tập sơ đồ quan hệ cho phép lưu trữ thông tin không bị dư thừa, đồng thời cho phép thực thao tác cách dễ dàng Các thuật toán phân rã nhằm ứng dụng vấn đề loại trừ dị thường liệu, giải vấn đề vẹn tồn liệu bảo mật thơng tin, ngồi cịn tránh dư thừa liệu tiết kiệm nhớ Đối với phân rã ngang ứng dụng nhiều việc truy xuất liệu, khai thác tìm kiếm liệu liệu phân rã phân tán mạng Các thuật toán phân rã đưa để giúp cho việc thiết kế CSDL tốt Khi thiết kế CSDL phân tán sử dụng số thuật toán để kiểm tra CSDL thiết kế tốt, thuật toán phân rã bảo tồn thơng tin, thuật tốn phân tán dọc, phân tán ngang Luận văn đưa số thuật toán phân tán ngang hệ tin ứng dụng Cụ thể luận văn nêu thuật toán K-Mean, thuật toán Quinlan số ứng dụng thực tế Bên cạnh luận văn đưa cài đặt chương trình ứng dụng thực tế cho thuật toán K- Mean phân loại sinh viên trường Cao Đẳng Kinh tế - Kỹ thuật Thương Mại 22 Bên cạnh đạt luận văn cịn số vấn đề cần phát triển thêm cho luận văn phía số lượng ứng dụng cài đặt, quy mơ tốn ứng dụng ... phương pháp phân mảnh CSDL đề cập đến chương II 7 CHƯƠNG PHÉP PHÂN RÃ TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN 2.1 CÁC PHƯƠNG PHÁP PHÂN TÁN DỌC 2.1.1 Phân tán dọc có nối khơng tổn thất Cho W= sơ đồ quan... tin, ngồi tránh dư thừa liệu tiết kiệm nhớ Đối với phân rã ngang ứng dụng nhiều việc truy xuất liệu, khai thác tìm kiếm liệu liệu phân rã phân tán mạng Các thuật toán phân rã đưa để giúp cho việc... CSDL phân tán sử dụng số thuật toán để kiểm tra CSDL thiết kế tốt, thuật toán phân rã bảo tồn thơng tin, thuật tốn phân tán dọc, phân tán ngang Luận văn đưa số thuật toán phân tán ngang hệ tin ứng