Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 79 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
79
Dung lượng
587,45 KB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CNTT & TRUYỀN THƠNG NGUYỄN LÊ HỒN LOẠI BỎ CÁC MẪU TIN NHÂN BẢN THỪA TRONG CƠ SỞ DỮ LIỆU QUAN HỆ LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên – 2012 i LỜI CAM ĐOAN Tôi xin cam đoan luận văn cơng trình nghiên cứu riêng tơi, khơng chép cơng trình khoa học trước Các kết nêu luận văn có nguồn gốc rõ ràng trích dẫn đầy đủ Nếu có sai, tơi xin chịu hoàn toàn trách nhiệm Học viên Nguyễn Lê Hoàn ii MỤC LỤC Trang MỞ ĐẦU CHƯƠNG 1: CƠ SỞ LÍ THUYẾT 1.1 Tổng quan CSDL quan hệ 1.1.1 Định nghĩa quan hệ 1.1.2 Phụ thuộc hàm 1.1.3 Khóa 1.1.3 Các loại chuẩn 1.2 Hệ chuyên gia 14 1.2.1 Thể dấu hiệu không chắn 16 1.2.2 Thể luật không chắn 19 1.2.3 Lan truyền chắn luật có nhiều giả thiết 22 CHƯƠNG 2: LOẠI BỎ CÁC MẪU TIN NHÂN BẢN THỪA 25 2.1 Các dạng lệnh SQL 25 2.2 Các loại mảnh cách phân mảnh quan hệ 32 2.2.1 Các lý phân mảnh 40 2.2.2 Các kiểu phân mảnh 40 2.3 Thể dấu hiệu khơng chắn cho thuộc tính khơng khóa 50 2.4 Thể luật không chắn cho thuộc tính có giá trị lặp 51 2.4.1 Thuật toán 52 2.4.2 Mệnh đề 53 2.5 Kết luận 54 CHƯƠNG 3: ỨNG DỤNG GIẢI MỘT SỐ BÀI TOÁN THỰC TẾ 55 3.1 Giới thiệu quan hệ CSDL quản lí nhân 55 3.1.1 Bài toán phân mảnh tối ưu 55 iii 3.1.2 Bài toán phân mảnh ứng dụng 55 3.2 Tư vấn 67 3.3 Kết luận hướng phát triển 67 3.3.1 Kết luận 67 3.3.2 Hướng phát triển 67 TÀI LIỆU THAM KHẢO 68 iv DANH MỤC CÁC KÍ HIỆU CÁC KÍ HIỆU Ý NGHĨA Phép giao Phép hợp Kí hiệu khơng thuộc Kí hiệu thuộc + Phép cộng - Phép trừ X Tích đề Phép nối Phép chiếu Tê ta > Phép so sánh lớn < Phép so sánh nhỏ Phép so sánh lớn hoăc Phép so sánh nhỏ hoăc \ Phép chia * Phép nhân v AND Phép OR Phép Tập rỗng Phủ định = Phép Phép chọn Kí hiệu với Pi vi DANH MỤC CÁC CHỮ VIẾT TẮT 1NF Fisrt Normal Form (Dạng chuẩn thứ nhất) 2NF Second Normal Form (Dạng chuẩn thứ hai) 3NF Third Normal Form (Dạng chuẩn thứ ba) 4NF Fourth Normal Form (Dạng chuẩn thứ bốn) 5NF Fifth Normal Form (Dạng chuẩn thứ năm) BCNF Boye Codd Normal Form (Dạng chuẩn BOYE CODD) CF Certainty Factor (Nhân tố chắn) CSDL Cơ sở liệu DDBM Distributed Database Managerment (Hệ quản trị CSDL phân tán) FD Functional Dependancy (Phụ thuộc hàm) GCS Global Conception Schema (lược đồ khái niệm toàn cục) LCS Local Conception Schema (lược đồ khái niệm địa phương) LTM Long Term Memory (bộ nhớ vĩnh cửu) MB Measure of Belief (Độ chắn chắn) MD Measure of Disbelief (Độ không chắn chắn) SQL Structured Query Langguage (Ngơn ngữ truy vấn có cấu trúc) STM Short Term Memory (bộ nhớ tạm thời) vii DANH MỤC CÁC BẢNG BIỂU Trang Bảng 1.1 HS Bảng 1.2 HangHoa Bảng 1.3 Khoa Bảng 1.4.Luong Bảng 1.5 TienLuong Bảng 1.6.XeMay Bảng 1.7 XeMay1 Bảng 1.8 XeMay2 Bảng 1.9 SV 10 Bảng 1.10 Xe 12 Bảng 1.11 R1 13 Bảng 1.12 R2 13 Bảng 1.13 R3 13 Bảng 1.14 Miêu tả giá trị CF 23 Bảng 2.1 So sánh lựa chọn nhân 39 Bảng 2.2 Truong 42 Bảng 2.3 Hocsinh 42 Bảng 2.4 Monhoc 42 Bảng 2.5.Diemthi 43 Bảng 2.6 Truong1 44 Bảng 2.7 Truong2 45 Bảng 2.8 Hocsinh1 46 Bảng 2.9 Hocsinh2 46 Bảng 2.10.Monhoc1 48 viii Bảng 2.11.Monhoc2 50 Bảng 3.1 Quan hệ R 56 Bảng 3.2 Mảnh ngang t1 56 Bảng 3.3 Mảnh ngang t2 56 Bảng 3.4 Mảnh ngang t3 57 Bảng 3.5 Mảnh ngang t4 57 Bảng 3.6 Mảnh ngang t5 57 Bảng 3.7 Mảnh ngang t6 57 Bảng 3.8 Mảnh ngang t7 58 Bảng 3.9 Mảnh ngang t8 58 Bảng 3.10 Mảnh ngang t9 58 Bảng 3.11 Mảnh ngang t10 58 Bảng 3.12 Mảnh ngang t11 59 Bảng 3.13 Mảnh ngang t12 59 Bảng 3.14 Mảnh ngang 60 Bảng 3.15 Mảnh ngang 60 Bảng 3.16 Mảnh ngang 61 Bảng 3.17 Mảnh ngang 61 Bảng 3.18 Mảnh ngang 61 Bảng 3.19 Mảnh ngang 61 Bảng 3.20 Mảnh ngang 62 Bảng 3.21 Mảnh HV1 62 Bảng 3.22 Mảnh HV2 62 Bảng 3.23 Mảnh HV3 63 Bảng 3.24 Mảnh HV4 63 Bảng 3.25 Mảnh HV5 63 Bảng 3.26 Mảnh HV6 63 ix Bảng 3.27 Mảnh HV7 63 Bảng 3.28 Mảnh R1 64 Bảng 3.30 Mảnh ngang tR21 65 Bảng 3.31 Mảnh ngang tR22 65 Bảng 3.32 Mảnh ngang tR23 65 Bảng 3.33 Mảnh ngang tR24 65 Bảng 3.34 Mảnh ngang R2a 65 Bảng 3.35 Mảnh HV8 66 Bảng 3.37 Mảnh R22 66 Bảng 3.38 Mảnh ngang tR22 66 54 2.5 Kết luận Thuật toán đảm bảo loại bỏ xác số ghi mảnh hỗn hợp có giá trị lặp lại thuộc tính (mà sở liệu cho), mảnh hỗn hợp có thuộc tính có độ chắn lặp lại khơng Ngồi ra, việc loại bỏ khơng loại bỏ số ghi cịn phụ thuộc vào độ chắn trùng lặp mà phương pháp chuyên gia 55 CHƯƠNG 3: ỨNG DỤNG GIẢI MỘT SỐ BÀI TOÁN THỰC TẾ 3.1 Giới thiệu quan hệ CSDL quản lí nhân 3.1.1 Bài toán phân mảnh tối ưu Giả sử việc phân mảnh hỗn hợp quan hệ R cho n mảnh HVi cho hệ số lợi ích hvi Gọi cri cai chi phí để đọc truy cập tương ứng đến mảnh HVi Như đặt vấn đề tìm chiến lược phân mảnh hỗn hợp từ quan hệ R cho để có n mảnh HVi làm cho hàm lợi ích: n U hvi cri cai i 1 Có giá trị lớn Các ràng buộc: n Size( HVi ) , C khả lưu trữ i 1 n Time Re ad ( HVi ) TRe ad , TRead thời gian đọc tối đa i 1 n TimeWrite( HVi ) TWrite , TWrite thời gian ghi tối đa i 1 3.1.2 Bài toán phân mảnh ứng dụng Để ứng dụng cho toán phân mảnh ta phân mảnh quan hệ R thành mảnh hỗn hợp với mục đích mảnh hỗn hợp gồm thuộc tính tuyển chọn kết hợp lại với nhau, thuộc tính nhận giá trị nguyên tắc thuộc tính mảnh nhận thay đại lượng thay cho miền D thuộc tính Trước hết ta tiến hành phân mảnh quan hệ R thành mảnh ngang có số thuộc tính có giá trị lặp (các mảnh giao nhau), sau tập hợp thuộc tính có giá trị lặp lại với để tạo mảnh hỗn hợp 56 Ví dụ: Cho quan hệ R(DiaChi, DanhHieu, Hang, DanhHieuKhen) có cấu trúc liệu mô tả qua bảng 3.1 DiaChi C(20) DanhHieu C(15) Hang C(10) DanhHieuKhen C(25) DiaChi DanhHieu Hang DanhHieuKhen Thái Nguyên Huân chương Hạng Thái Nguyên Huy chương Bắc Giang Huân chương Hạng Chống Pháp Bắc Giang Huân chương Hạng Chống Mỹ Bắc Giang Huân chương Hạng nhì Chống Pháp Bắc Giang Huân chương Hạng Chống Mỹ Chống Mỹ Chống Mỹ Bảng 3.1 Quan hệ R Các mảnh ngang có (trong mảnh giữ lại giá trị lặp) DiaChi DanhHieu Hang DanhHieuKhen … Thái Nguyên Thái Nguyên Bảng 3.2 Mảnh ngang t1 DiaChi DanhHieu Hang DanhHieuKhen Bắc Giang Bắc Giang Bắc Giang Bắc Giang Bảng 3.3 Mảnh ngang t2 … 57 DiaChi DanhHieu Hang DanhHieuKhen … Huân chương Huân chương Huân chương Huân chương Huân chương Bảng 3.4 Mảnh ngang t3 DiaChi DanhHieu Hang DanhHieuKhen … Hạng Hạng Hạng Hạng Bảng 3.5 Mảnh ngang t4 DiaChi DanhHieu Hang DanhHieuKhen … Chống Mỹ Chống Mỹ Chống Mỹ Chống Mỹ Bảng 3.6 Mảnh ngang t5 DiaChi DanhHieu Hang DanhHieuKhen Chống Pháp Chống Pháp Bảng 3.7 Mảnh ngang t6 … 58 DiaChi DanhHieu Hang DanhHieuKhen Thái Nguyên Huân chương Hạng Chống Mỹ Thái Nguyên Huy chương Chống Mỹ … Bảng 3.8 Mảnh ngang t7 DiaChi DanhHieu Bắc Giang Huân chương Bắc Giang Huân chương Bắc Giang Huân chương Bắc Giang Huân chương Hang DanhHieuKhen … Bảng 3.9 Mảnh ngang t8 DiaChi DanhHieu Hang Bắc Giang Huân chương Hạng Bắc Giang Huân chương Hạng Bắc Giang Huân chương Hạng DanhHieuKhen … Bảng 3.10 Mảnh ngang t9 DiaChi DanhHieu Hang DanhHieuKhen Bắc Giang Huân chương Hạng Chống Mỹ Bắc Giang Huân chương Hạng Chống Mỹ Bảng 3.11 Mảnh ngang t10 … 59 DiaChi DanhHieu Hang DanhHieuKhen … Huân chương Hạng Huân chương Hạng Huân chương Hạng Huân chương Hạng Bảng 3.12 Mảnh ngang t11 DiaChi DanhHieu Hang DanhHieuKhen Huân chương Hạng Chống Mỹ Huân chương Hạng Chống Mỹ Huân chương Hạng Chống Mỹ … Bảng 3.13 Mảnh ngang t12 Để việc phân mảnh hiệu quả, số mảnh ngang không tham gia vào phân mảnh dọc Điều thể định lý sau: Ký hiệu: hv Size( HV ) [Card ( HV ) 2]* Size( Aj ) j 1 Trong đó: Aj, j = 1, 2, …, hv thuộc tính khơng khóa HV Card(HV) số có HV Size(Aj) độ rộng thuộc tính Aj Định lý 1: Phân mảnh hỗn hợp HV hiệu Size(HV) > hay Card(HV) > hv Chứng minh: Do Size( A j 1 j ) nên Size(HV) > Card(HV) > 60 Như mảnh HV có bộ, dùng mảnh hai chiều hai hàng hv cột Một hàng để lưu trữ thuộc tính HV, hàng cịn lại lưu trữ giá trị tương ứng với thuộc tính Qua ta tiết kiệm giá trị lưu trữ Hệ 1: Ký hiệu Card( ij ) số thu phân mảnh ngang với mệnh đề đơn giản ij , i,j = 1, 2, …, n phân mảnh chúng không cần quan tâm đến thuộc tính Aj mà Card( ij ) với i , nghĩa loại tất mệnh đề đơn giản Pj P Theo định lý hệ từ đầu ta loại bỏ mảnh ngang có hai Theo mảnh ngang cịn lại là: DiaChi DanhHieu Hang DanhHieuKhen … Bắc Giang Bắc Giang Bắc Giang Bắc Giang Bảng 3.14 Mảnh ngang DiaChi DanhHieu Hang DanhHieuKhen Huân chương Huân chương Huân chương Huân chương Huân chương Bảng 3.15 Mảnh ngang … 61 DiaChi DanhHieu Hang DanhHieuKhen … Hạng Hạng Hạng Hạng Bảng 3.16 Mảnh ngang DiaChi DanhHieu Hang DanhHieuKhen … Chống Mỹ Chống Mỹ Chống Mỹ Chống Mỹ Bảng 3.17 Mảnh ngang DiaChi DanhHieu Bắc Giang Huân chương Bắc Giang Huân chương Bắc Giang Huân chương Bắc Giang Huân chương Hang DanhHieuKhen … Bảng 3.18 Mảnh ngang DiaChi DanhHieu Hang Bắc Giang Huân chương Hạng Bắc Giang Huân chương Hạng Bắc Giang Huân chương Hạng DanhHieuKhen Bảng 3.19 Mảnh ngang … 62 DiaChi DanhHieu Hang DanhHieuKhen … Huân chương Hạng Huân chương Hạng Huân chương Hạng Huân chương Hạng Bảng 3.20 Mảnh ngang Tiến hành phân mảnh hỗn hợp, phân mảnh dọc, tức phân mảnh dọc mảnh ngang giữ lại (tức lấy phần có chữ mảnh ngang trên) Định lý 2: Các mảnh hỗn hợp nhận từ việc phân mảnh dọc mảnh ngang có số lớn hai, với thuộc tính tham gia vào mệnh đề hội sơ cấp để có mảnh ngang với mảnh ngang Chứng minh: Như biết việc phân mảnh hỗn hợp trải qua hai bước, phân mảnh ngang, sau phân mảnh dọc ngược lại Theo định lý ta nhận kết số lơn Cịn thuộc tính mảnh hỗn hợp thuộc tính tham gia vào mệnh đề hội sơ cấp để có mảnh ngang với chúng Áp dụng định lý vào ta thu mảnh hỗn hợp qua bảng sau: DiaChi DanhHieu Bắc Giang Huân chương Bắc Giang Huân chương Bắc Giang Huân chương Bắc Giang Huân chương Bảng 3.21 Mảnh HV1 Huân chương Bảng 3.22 Mảnh HV2 63 Hang DanhHieuKhen Hạng Chống Mỹ Hạng Chống Mỹ Hạng Chống Mỹ Hạng Chống Mỹ Bảng 3.23 Mảnh HV3 Bảng 3.24 Mảnh HV4 DiaChi DanhHieu DiaChi DanhHieu Hang Bắc Giang Huân chương Bắc Giang Huân chương Hạng Bắc Giang Huân chương Bắc Giang Huân chương Hạng Bắc Giang Huân chương Bắc Giang Huân chương Hạng Bắc Giang Huân chương Bảng 3.26 Mảnh HV6 Bảng 3.25 Mảnh HV5 DanhHieu Hang Huân chương Hạng Huân chương Hạng Huân chương Hạng Bảng 3.27 Mảnh HV7 Định lý 3: Trong tất mảnh hỗn hợp nhận chọn mảnh HV cho Size(HV) lớn có hiệu tốt Chứng minh: Áp dụng công thức: hv Size( HV ) [Card ( HV ) 2]* Size( A j ) j 1 64 Với Size(Diachi) = 20; Size(DanhHieu) = 15; Size(Hang) =10; Size(DanhHieuKhen) = 25 * Kết Ta tính tốn cụ thể sau: Size(HV1) = [4 – 2] * Size(DiaChi) = 2*20 = 40 Size(HV2) = [5 – 2] * Size(DanhHieu) = 3*15 = 45 Size(HV3) = [4 – 2] * Size(Hang) = 2*10 = 20 Size(HV4) = [4 – 2] * Size(DanhHieuKhen) = 2*25 = 50 Size(HV5) = [4 – 2] * (Size(DiaChi) + Size(Hang)) = 2*(20+15) = 70 Size(HV6) = [3 – 2] * (Size(DiaChi) + Size(DanhHieu)+Size(Hang)) = 1*(20+15+10) = 45 Size(HV7) = [3 – 2] * (Size(DanhHieu) + Size(Hang)) = 1*(15+10) = 25 Chọn mảnh HV5 có Size(HV5) = 70 lớn Ghi lại mảnh HV5 nhãn Làm lại từ đầu với mảnh R1 R2 DiaChi DanhHieu Hang DanhHieuKhen Thái Nguyên Huân chương Hạng Chống Mỹ Thái Nguyên Huy chương … Chống Mỹ Bảng 3.28 Mảnh R1 Hang DanhHieuKhen Hạng Chống Pháp Hạng Chống Mỹ Hạng hai Chống Pháp Hạng Chống Mỹ … Bảng 3.29 Mảnh R2 + Tiến hành phân mảnh R1 R1 có nên theo định lý hệ ta giữ nguyên R1 + Tiến hành phân mảnh ngang R2 là: 65 Hang DanhHieuKhen … Hạng Hạng Hạng Bảng 3.30 Mảnh ngang tR21 Hang DanhHieuKhen … Chống Pháp Chống Pháp Bảng 3.31 Mảnh ngang tR22 Hang DanhHieuKhen … Chống Mỹ Chống Mỹ Bảng 3.32 Mảnh ngang tR23 Hang Hạng DanhHieuKhen … Chống Mỹ Chống Mỹ Bảng 3.33 Mảnh ngang tR24 Theo định lý hệ ta giữ lại mảnh ngang có số lớn lại mảnh ngang Hang DanhHieuKhen Hạng Hạng Hạng Bảng 3.34 Mảnh ngang R2a … 66 Áp dụng định lý ta có mảnh hỗn hợp sau: Hang Hạng Hạng Hạng Bảng 3.35 Mảnh HV8 Do cịn mảnh lên ta chọn ln mà khơng cần tính kích thước Và ta lại gán cho mảnh nhãn Tiến hành lại với mảnh R21 R22 Hang DanhHieuKhen Hạng hai Chống Pháp … Bảng 3.36 Mảnh R21 DanhHieuKhen … Chống Pháp Chống Mỹ Chống Mỹ Bảng 3.37 Mảnh R22 DanhHieuKhen … Chống Mỹ Chống Mỹ Bảng 3.38 Mảnh ngang tR22 + R21 có lên ta giữ nguyên + Tiến hành phân mảnh R22: Mảnh ngang bảng 3.38 Mà theo định lý số cần lớn ta loại bỏ mảnh ngang tR22 Vì R22 giữ nguyên 67 3.2 Tư vấn Trong CSDL phân tán, việc tiết kiệm không gian lưu trữ thông tin, rút ngắn thời gian truy nhập liệu cực tiểu hóa chi phí cấp phát liệu mục đích hàng đầu người lập trình người sử dụng Trong trình nghiên cứu đề tài này, việc giải tốn phương pháp phân mảnh dùng bí danh để đại diện cho mảnh với thuộc tính có giá trị lặp lại có tác dụng to lớn q trình giải lớp tốn CSDL phân tán 3.3 Kết luận hướng phát triển 3.3.1 Kết luận Đề tài giới thiệu phương pháp phân mảnh cở sở liệu quan hệ cho dựa vào lặp lại giá trị số thuộc tính Việc phân mảnh dựa phương pháp phân mảnh theo chiều ngang, phương pháp phân mảnh theo chiều dọc phương pháp phân mảnh hỗn hợp Các mảnh thu chứa thuộc tính chứa giá trị lặp có kích thước lớn nhất, sau mảnh thay bí danh.Việc phân mảnh sở liệu quan hệ cách gom nhóm giá trị lặp thuộc tính tiết kiệm thơng tin cần lưu lại không gian nhớ cục bộ, qua làm tăng tốc độ xử lý giảm khối lượng liệu truyền nút mạng Điều có ý nghĩa vơ to lớn trong trình sử lý song song 3.3.2 Hướng phát triển Nghiên cứu phân mảnh cách tối ưu cho quan hệ quan tâm giai đoạn Nghiên cứu mơ hình cấp phát làm giảm chi phí, giảm tối đa thời gian xử lý không gian lưu trữ, …, sở mảnh hỗn hợp tạo Nghĩa ta nghiên cứu mơ hình: Min(Total cost) với ràng buộc thời gian xử lý câu truy vấn, không gian lưu trữ, tốc độ đường truyền, … 68 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Đoàn Văn Ban, Nguyễn Mậu Hân (2006), Xử lí song song phân tán, NXB Khoa học kỹ thuật [2] Đỗ Xuân Lôi (1996), Cấu trúc liệu giải thuật, NXB Khoa học Kỹ thuật [3] Lê Huy Thập, Bảng câu vấn tin quan hệ xử lý câu vấn tin bảng, Kỷ yếu Hội thảo QG, Đại Học sư phạm Kỹ thuật Hưng Yên, 29-40, 2011 [4] Lê Huy Thập (2010), Cơ sở lý thuyết song song, NXB Thông tin truyền thơng [5] Lê Huy Thập (2008), Giáo trình Kỹ thuật lập trình, Tập 1, NXB Khoa học tự nhiên công nghệ [6] Đỗ Trung Tuấn (1998), Cơ sở liệu, NXB Giáo dục [7] Lê Tiến Vương (2000), Cơ sở liệu quan hệ, NXB Thống kê [8] Robert Sedgewick (2001), Cẩm nang thuật toán Vol.1 and Vol.2, NXB Khoa học Kỹ thuật [9] M.Tamer Özsu Patrick Valduriez (1999), Nguyên lý hệ liệu phân tán, Trần Đức Quang biên dịch NXB Thống kê Tiếng Anh [10] Barry Wilkingson, Michael Allen (1999), Parallel Programming, Technique and Applications Using Networked Workstations and Parallel Computers, Prentice Hall New Jersey [11] Japan Information Processing Development Corporation, Central Academy of Information Technology (1978), Internal Design And Programming ... 22 CHƯƠNG 2: LOẠI BỎ CÁC MẪU TIN NHÂN BẢN THỪA 25 2.1 Các dạng lệnh SQL 25 2.2 Các loại mảnh cách phân mảnh quan hệ 32 2.2.1 Các lý phân mảnh 40 2.2.2 Các kiểu phân... hình nhân phân tán.…Vì cần phải loại bỏ tất nhân thừa CSDL quan hệ Để làm việc dựa vào phương pháp heuristics 2 CHƯƠNG 1: CƠ SỞ LÍ THUYẾT 1.1 Tổng quan CSDL quan hệ Một số khái niệm hệ sở liệu: ... nút mạng Một quan hệ truy xuất liệu tốt Ví dụ ứng dụng thực phần quan hệ mà quan hệ lại nằm vị trí khác gây truy xuất thừa việc nhân quan hệ làm tốn không gian nhớ Việc phân rã quan hệ thành nhiều