1. Trang chủ
  2. » Luận Văn - Báo Cáo

Các thuật toán xử lý phụ thuộc hàm nới lỏng

71 30 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 71
Dung lượng 1,3 MB

Nội dung

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG NGUYỄN THỊ LINH CÁC THUẬT TỐN XỬ LÝ PHỤ THUỘC HÀM NỚI LỎNG Chuyên ngành: Khoa học Máy tính Mã số: 48 01 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TSKH NGUYỄN XUÂN HUY Thái Nguyên năm 2020 LỜI CAM ĐOAN Tên là: Nguyễn Thị Linh Sinh ngày: 18/08/1989 Học viên lớp Cao học CK17A - Trường Đại học Công nghệ Thông tin Truyền thông - Thái Ngun Tơi xin cam đoan tồn nội dung liên quan tới đề tài trình bày luận văn thân tơi tìm hiểu nghiên cứu, hướng dẫn khoa học Thầy giáo PGS TSKH Nguyễn Xuân Huy Các nội dung luận văn nội dung đề cương yêu cầu thầy giáo hướng dẫn Tất tài liệu tham khảo có nguồn gốc, xuất xứ rõ ràng Nếu sai tơi hồn tồn chịu trách nhiệm trước hội đồng khoa học trước pháp luật Tác giả luận văn Nguyễn Thị Linh LỜI CẢM ƠN Lời đầu tiên, em xin bày tỏ lòng cảm ơn kính trọng sâu sắc Thầy PGS.TS Nguyễn Xuân Huy, người tận tình hướng dẫn em suốt trình làm luận văn Thầy giúp em hiểu tiếp cận vấn đề khoa học lý thú, hướng em vào nghiên cứu lĩnh vực thiết thực bổ ích Em học hỏi nhiều Thầy phong cách làm việc, phương pháp tiếp cận tri thức Em Thầy bảo tận tình suốt trình làm luận văn Em xin thể kính trọng biết ơn đến Quý Thầy Cô Trường ĐH CNTT&TT, trang bị cho chúng em đầy đủ sở vật chất tri thức để em hoàn thành khóa học Cuối em xin cảm ơn bạn học viên lớp Cao học, người bên cạnh cung cấp thông tin quý báu suốt q trình học tập, nghiên cứu để hồn thành luận văn Thái Nguyên, ngày 26 tháng năm 2020 Học viên Nguyễn Thị Linh MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH 10 LỜI NÓI ĐẦU 11 CHƯƠNG CÁC KIẾN THỨC CƠ SỞ 16 1.1 Giới thiệu chung 16 1.2 Định nghĩa quan hệ, bộ, thuộc tính 16 1.3 Bao đóng tập thuộc tính 17 1.4 Các kí hiệu số quy ước 18 1.5 Lược đồ quan hệ khóa lược đồ quan hệ 19 1.5.1 Định nghĩa lược đồ quan hệ 19 1.5.2 Khóa lược đồ quan hệ 19 1.6 Các phép toán quan hệ 21 1.6.1 Phép chọn (phép lọc, Selection) 21 1.6.2 Phép chiếu (Projection) 21 1.6.3 Phép kết nối tự nhiên (Natural Join) 21 1.6.4 Phép cộng (hợp, Union) 22 1.6.5 Phép trừ (hiệu, Substraction/Minus) 22 1.6.6 Phép giao (Intersection) 22 1.6.7 Phép chia (Division) 22 1.6.8 Thứ tự thực phép toán quan hệ 22 1.6.9 Một số hàm tiện ích 23 1.6.10 Một số ví dụ 23 1.7 Phụ thuộc hàm 25 1.7.1 Các tính chất phụ thuộc hàm 27 1.7.2 Suy dẫn theo tiên đề (suy dẫn logic) 27 1.7.3 Phủ 28 1.8 Chuẩn hóa 30 CHƯƠNG CÁC THUẬT TOÁN QUẢN LÝ LƯỢC ĐỒ QUAN HỆ 32 2.1 Thuật toán tập hợp 32 2.1.1 Thuật tốn tìm hợp hai tập hợp 32 2.1.2 Thuật tốn tìm giao hai tập hợp 33 2.1.3 Thuật tốn tìm hiệu hai tập hợp 34 2.3 Thuật tốn tìm phủ khơng dư 36 2.4 Thuật toán tìm phủ tối tiểu 36 2.5 Thuật tốn kiểm tra tính tổn thất phép tách kỹ thuật bảng 37 CHƯƠNG CHƯƠNG TRÌNH THỬ NGHIỆM 41 3.1 Lớp tập hợp Set 41 3.1.1 Cấu tử Set 42 3.1.2 Hàm Reset 42 3.1.3 Hàm Card 43 3.1.4 Hàm Empty 43 3.1.5 Hàm IsIn 43 3.1.6 Toán tử gán tập hợp 43 3.1.7 Toán tử lấy hợp hai tập hợp 43 3.1.8 Toán tử lấy giao hai tập hợp 44 3.1.9 Toán tử lấy hiệu hai tập hợp 44 3.1.10 Toán tử in tập hợp 44 3.1.11 Toán tử so sánh 44 3.2 Lớp phụ thuộc hàm FD 45 3.2.1 Cấu tử khởi tạo phụ thuộc hàm 46 3.2.2 Hàm đặt vào phụ thuộc hàm 46 3.2.3 Hàm lấy vế trái phụ thuộc hàm 46 3.2.4 Hàm lấy vế phải phụ thuộc hàm 46 3.2.5 Hàm thêm vào vế trái phụ thuộc hàm 47 3.2.6 Hàm thêm vào vế phải phụ thuộc hàm 47 3.2.7 Toán tử gán phụ thuộc hàm 47 3.2.8 Toán tử in phụ thuộc hàm 47 3.3 Lớp lược đồ quan hệ RSC 47 3.3.1 Cấu tử khởi tạo lược đồ quan hệ 48 3.3.2 Hủy tử lược đồ quan hệ 49 3.3.3 Hàm gán giá trị rỗng cho lược đồ quan hệ 49 3.3.4 Hàm gán giá trị cho lược đồ quan hệ 49 3.3.5 Hàm trả khóa lược đồ quan hệ 50 3.3.6 Hàm mở rộng để đưa thêm phụ thuộc hàm 50 3.3.7 Toán tử gán lược đồ quan hệ 50 3.3.8 Hàm chèn thêm lược đồ quan hệ 50 3.3.9 Hàm chuẩn hóa tự nhiên 51 3.3.10 Hàm tìm bao đóng 51 3.3.11 Hàm tìm khóa 52 3.3.12 Hàm kiểm tra siêu khóa 52 3.3.13 Hàm kiểm tra khóa 53 3.3.14 Hàm kiểm tra chuẩn BCNF 53 3.3.15 Hàm kiểm tra dẫn xuất 53 3.3.16 Hàm tìm phủ khơng dư 54 3.3.17 Toán tử in lược đồ quan hệ 54 3.4 Minh họa chương trình 54 KẾT LUẬN 63 TÀI LIỆU THAM KHẢO 63 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT K Ý í CSC ngh Đ iG áo H cH Lc L Lư ự DANH MỤC CÁC BẢNG Bảng 3.1 Một số hàm toán tử lớp tập hợp 42 Bảng 3.2 Một số hàm toán tử lớp phụ thuộc hàm 46 Bảng 3.3 Một số hàm toán tử lớp lược đồ quan hệ 48 DANH MỤC CÁC HÌNH Hình 3.1 Thử nghiệp với lớp Set 56 Hình 3.2 Thử nghiệm với lớp FD 57 Hình 3.3 Thử nghiệm với lớp RSC 58 Hình 3.4 Thử nghiệm lớp RSC với sở liệu học sinh 60 Hình 3.5 Thử nghiệm lớp RSC với sở liệu thời khóa biểu 61 Hình 3.6 Thử nghiệm lớp RSC với sở liệu thiết bị 62 10 3.3.5 Hàm trả khóa lược đồ quan hệ GetKey method: Set GetKey() return Key; 3.3.6 Hàm mở rộng để đưa thêm phụ thuộc hàm Extend method: void Extend() int newCap = Cap + UNIT; FD *g = new FD[newCap]; for(int i = 0; i < FDNum; ++i) g[i] = F[i]; Cap = newCap; delete [] F; F = g; 3.3.7 Toán tử gán lược đồ quan hệ Signed operator: operator =(const RSC & r) Copy(r); 3.3.8 Hàm chèn thêm lược đồ quan hệ Ins method: void Ins(const Set & ls, const Set & rs) if (F == NULL) { Cap = UNIT; F = new FD[Cap]; F[0].Put(ls,rs); FDNum = 1; Attr = F[0].GetLR(); return; } 50 if (FDNum == Cap) Extend(); F[FDNum].Put(ls,rs); ++FDNum; Attr += (ls + rs); 3.3.9 Hàm chuẩn hóa tự nhiên Norm method: void Norm() int j = -1; int k; for (int i = 0; i < FDNum; ++i) { if (F[i].GetRS().Empty()) continue; ++j; F[j] = F[i]; for (int k = 0; k < j; ++k) { if (F[k].GetLS() == F[i].GetLS()) { F[k].AddRS(F[i].GetRS()); j; break; } // if } // for k } // for i FDNum = j+1; Attr.Reset(); for (int i = 0; i < FDNum; ++i) Attr += F[i].GetLR(); } 3.3.10 Hàm tìm bao đóng Closure method: Set Closure(const Set & x, int k = -1) bitset mark; //danh dau cac FD da dung Set y = x; int used = 0; 51 while(true) { used = 0; for (int i = 0; i < FDNum; ++i) { if (i == k) continue; if (mark[i] == 0) { if (F[i].GetLS()

Ngày đăng: 27/12/2020, 00:53

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2]. Nguyễn Xuân Huy (2006), Các phụ thuộc logic trong cơ sở dữ liệu, Viện Khoa học và Công nghệ Việt Nam Sách, tạp chí
Tiêu đề: Các phụ thuộc logic trong cơ sở dữ liệu
Tác giả: Nguyễn Xuân Huy
Năm: 2006
[3]. Vũ Đức Thái (2016), Thiết kế cơ sở dữ liệu, NXB Đại học Thái Nguyên Sách, tạp chí
Tiêu đề: Thiết kế cơ sở dữ liệu
Tác giả: Vũ Đức Thái
Nhà XB: NXB Đại học Thái Nguyên
Năm: 2016
[4]. Vũ Đức Thi (1997), Cơ sở dữ liệu: Kiến thức và thực hành, NXB Thống Kê Sách, tạp chí
Tiêu đề: Cơ sở dữ liệu: Kiến thức và thực hành
Tác giả: Vũ Đức Thi
Nhà XB: NXB ThốngKê
Năm: 1997
[5]. Lê Tiến Vương (2000), Nhập môn cơ sở dữ liệu quan hệ, NXB Thống Kê.Tiếng Anh Sách, tạp chí
Tiêu đề: Nhập môn cơ sở dữ liệu quan hệ
Tác giả: Lê Tiến Vương
Nhà XB: NXB Thống Kê.Tiếng Anh
Năm: 2000
[7]. Loredana Caruccio, Vincenzo Deufemia, and Giuseppe Polese (2016), Relaxed Functional Dependencies - A Survey of Approaches, IEEE Trans. on Knowledge and Data Engineering, Vol. 28, No. 1, pp 147-165 Sách, tạp chí
Tiêu đề: IEEETrans. on Knowledge and Data Engineering
Tác giả: Loredana Caruccio, Vincenzo Deufemia, and Giuseppe Polese
Năm: 2016
[8]. Maier D. (1983), The Theory of Relational Database, Computer Science Press, Rockville Sách, tạp chí
Tiêu đề: The Theory of Relational Database
Tác giả: Maier D
Năm: 1983
[9]. Ullman, J. (1982), Principles of Data-base and Knowledge-base Systems, Second Edition, Computer Science Press, Potomac. (Có bản dịch tiếng Việt của Trần Đức Quang) Sách, tạp chí
Tiêu đề: Principles of Data-base and Knowledge-base Systems
Tác giả: Ullman, J
Năm: 1982
[10]. Garcia-Molina H., Ullman J., Widom J. (2002), Database System: The Complete Book, Prentice Hall Sách, tạp chí
Tiêu đề: Database System: TheComplete Book
Tác giả: Garcia-Molina H., Ullman J., Widom J
Năm: 2002

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w