Phép tách không mất thông tin trong mô hình dữ liệu dạng khối

51 362 0
Phép tách không mất thông tin trong mô hình dữ liệu dạng khối

Đ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

B ộ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC s PHẠM HÀ NỘI • • • • PHAN THỊ THU HÀNG PHÉP TÁCH KHÔNG MẤT THÔNG TIN TRONG MÔ HÌNH DỮ LIỆU DẠNG KHỐI LUẬN VĂN THẠC Sĩ KHOA HỌC MÁY TÍNH • • • HÀ NỘI, 2015 B ộ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỘC S PHẠM HÀ NỘI • • • • PHAN THỊ THU HẰNG ■ PHÉP TÁCH KHÔNG MẤT THÔNG TIN TRONG MÔ HÌNH DỮ LIỆU DẠNG KHÓI Chuyên ngành: Khoa học máy tính Mã số: 60 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: TS Lê Văn Phùng HÀ NỘI, 2015 LỜI CẢM ƠN Để hoàn thành luận văn nhận giúp đỡ tận tình thầy hướng dẫn khoa học, thầy cô trường Đại học Sư phạm Hà Nội Tôi xin chân thành cảm ơn thầy cô trường Đại học Sư phạm Hà Nội tạo điều kiện học tập, nghiên cứu giúp đỡ nhiều trình làm luận văn Đặc biệt xin cảm ơn thầy TS Lê Văn Phùng tận tình hướng dẫn, bảo ưong suốt trình học tập, nghiên cứu đề tài giúp đỡ hoàn thành luận văn Vĩnh Phúc, ngày 10 tháng 12 năm 2015 Học viên Phan Thị Thu Hằng LỜI CAM ĐOAN Tôi xin cam đoan kết nghiên cứu hướng dẫn khoa học TS Lê Văn Phùng Các số liệu, kết nêu luận văn trung thực chưa công bố công trình khác.Tôi xin cam đoan giúp đỡ cho việc thực luận văn cảm ơn thông tin trích dẫn luận văn rõ nguồn gốc Học viên Phan Thị Thu Hằng MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN DANH MỤC CÁC BẢNG BIỂU, HÌNH VẼ DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT MỞ ĐẦU 1 Lý chọn đề tài Mục đích nghiên cứu Nhiệm vụ nghiên cứu Đối tượng phạm vi nghiên u .2 Phương pháp nghiên cứu Những đóng góp đề tà i Cấu trúc luận văn CHƯƠNG CÁC MÔ HÌNH DỮ LIỆU 1.1 Mô hình thực thể - liên k ết .4 1.2 Mô hình liệu quan hệ 1.3 Mô hình liệu dạng khối 1.3.1 Các khái niệm chung khối lược đồ khối 1.3.2 Đại số quan hệ khối 1.3.3.Các thuật toán cài đặt 15 Kết luận chương 21 CHƯƠNG PHÉP TÁCH KHÔNG MẤT THÔNG TIN TRONG MÔ HÌNH DỮ L Ệ U DẠNG KHỐI 22 2.1 Các dạng chuẩn cho lược đồ khối 22 2.1.1 Dạng chuẩn 22 2.1.2 Dạng chuẩn .22 2.1.3 Dạng chuẩn .23 2.1.4 Dạng chuẩn Boye-Codd 23 2.2 Các dạng tựa chuẩn 24 2.2.1 Dạng tựa chuẩn 24 2.2.2 Dạng tựa chuẩn 24 2.2.3 Dạng tựa chuẩn boye - Codd 25 2.3 Phép tách không thông tin 26 2.3.1 Khái niệm phép tách không thông tin .26 2.3.2 Phương pháp tách không thông tin 26 2.3.3 Thuật toán tách bảo toàn tập phụ thuộc hàm chuyển dạng tựa chuẩn b a 30 Kết luận chương 31 CHƯƠNG CHƯƠNG TRÌNH THỬ NGHỆM PHÉPTÁCH KHÔNG MẤT THÔNG TIN TRONG MÔ HÌNH DỮ L Ệ U DẠNG KHỐI 32 3.1 Mô tả toán .32 3.2.Kết thử nghiệm đánh giá 35 3.2.1 Môi trường thử nghiệm 35 3.2.2 Chương trình thử nghiệm kiểm tra phép tách có thông tin hay không 35 KẾT LUẬN 42 TÀI LIỆU THAM KHẢO 43 DANH MỤC CÁC BẢNG BIỂU HÌNH VẼ DANH MỤC HÌNH Hình 1.1 Biểu diễn khối điểm học viên DiemHV Hình 1.2 Biểu diễn khối r, s khả hợp Hình 1.3 Biểu diễn khối r, s, r^J s Hình 1.4 Biểu diễn khối r, s, r Pi s 10 Hình 1.5 Biểu diễn khối: r , s , s \ r 11 Hình 3.1 Minh họa toán với 10 phân xưởng (n=10) 33 DANH MỤC BẢNG Bảng 1.1 Biểu diễn lát cắt r(RHọckỳi)- DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIÉT TẮT Luận văn dùng thống ký hiệu chữ viết tắt sau: Ký hiệu Ý nghĩa Dom(A) miền giá trị thuộc tính A r r(R) khối r tập R Rx lát cắt r(R) điểm X x(i) = (x, Ai) thuộc tính số lược đồ khối (x e id, i = id(i)= {x(i)lx Fh e id} tập thuộc tính số lược đồ khối Tập phụ thuộc hàm R M Ở ĐÀU Lý chọn đề tài Trong năm gần đây, việc nghiên cứu nhằm mở rộng mô hình quan hệ nhiều nhà khoa học quan tâm Theo hướng nghiên cứu mô hình liệu đề xuất, mô hình liệu dạng khối Mô hình liệu xem phần mở rộng mô hình liệu quan hệ Đã có số loại mô hình sử dụng hệ thống sở liệu mô hình quan hệ quan tâm Sở dĩ mô hình quan hệ quan tâm xây dựng sở toán học chặt chẽ lí thuyết toán học quan hệ có áp dụng rộng rãi công cụ đại số logic Tôi mạnh dạn chọn đề tài cho luận văn thạc sĩ “Phép tách không thông tin mô hình liệu dạng khối” để phần mô tả chi tiết mô hình liệu dạng khối Trên sở đưa mô hình ứng dụng vào toán quản lý hệ thống thông tin quản lý theo mô hình liệu dạng khối Mục đích nghiên cứu Nghiên cứu phép tách đảm bảo không thông tin mô hình liệu dạng khối Nhiệm vụ nghiên cứu Tổng quan lý thuyết phép phân rã sơ đồ quan hệ mô hình liệu quan hệ Nghiên cứu dạng chuẩn tựa chuẩn mô hình liệu dạng khối Nghiên cứu phép tách lược đồ khối bảo đảm không thông tin Vận dụng kết nghiên cứu cho toán quản lý hệ thống thông tin quản lý theo mô hình liệu dạng khối Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu đề tài sơ đồ khối mô hình liệu dạng khối Phạm vi nghiên cứu đề tài phép tách sơ đồ khối bảo đảm không thông tin Phương pháp nghiên cứu - Phương pháp tổng hợp phân tích vấn đề liên quan đến đề tài, - Phương pháp thống kê kết hợp với phương pháp chuyên gia - Phương pháp kết hợp lý thuyết vói thực nghiệm máy tính Những đóng góp mói đề tài - Tổng quan mô hình liệu dạng khối - Tổng hợp loại chuẩn, tựa chuẩn mô hình liệu dạng khối - Xây dựng quy trình tách lược đồ khối phức tạp thành nhiều lược đồ khối đơn giản bảo toàn liệu - Góp phần làm đơn giản trình giải toán thực tế có mô hình liệu khối Cấu trúc luân văn Luận văn gồm: Lời mở đầu, ba chương nội dung, phần kết luận tài liệu tham khảo Chương 1: Trình bày khái niệm mô hình liệu: Mô hình thực thể - liên kết, mô hình liệu quan hệ, mô hình liệu dạng khối, khái niệm chung khối lược đồ khối, đại số quan hệ ưên khối, thuật toán cài đặt Chương 2: Trình bày phép tách không thông tin mô hình liệu 29 Tương tự xét tiếp phụ thuộc hàm bc—>d ta thấy bảng không thay đổi Xét phụ thuộc hàm ae—»g, tacó bảng sau (các hàng 4,5 cột ae (bằng A1,A5) nên cột g chúng làm A a b c d e g SI AI A2 bl3 bl4 bl5 b l6 S2 AI A2 A3 A4 b25 b26 S3 AI A2 A3 A4 b35 b36 S4 AI A2 b43 b44 A5 A6 S5 AI b52 A3 A4 A5 A6 Xét phụ thuộc hàm ce —» d ta thấy bảng không thay đổi - Quay lại xét phụ thuộc hàm a —» b, tacó bảng sau (bảng *): a b c d e g SI AI A2 bl3 bl4 bl5 b l6 S2 AI A2 A3 A4 b25 b26 S3 AI A2 A3 A4 b35 b36 S4 AI A2 b43 b44 A5 A6 S5 AI A2 A3 A4 A5 A6 - Tiếp tục xét phụ thuộc hàm cd —> a, bc —>d, ae—»g, ce—>d lại ta thấy bảng không thay đổi Vậy bảng kết bảng ưên (bảng *) Ta nhận thấy bảng hàng thứ có đủ A I, A , A không thông tin nên ta kết luận phép tách 30 2.3.3 Thuật toán tách bảo toàn tập phụ thuộc hàm chuyển dạng tựa chuẩn ba Ta chuyển thành phép tách không thông tin dạng chuẩn lát cắt Vào: Lược đồ khối R = ịỉd; A ị, A2, An), tập đầy đủ phụ thuộc hàm ưên Fh R, không tính tổng quát ta giả sử Fh phủ tối thiểu Ra: Phép tách p = { Rj, R 2, , Rk } bảo toàn tập phụ thuộc hàm, Rị với i=l,2, , k dạng tựa chuẩn với phụ thuộc hàm hình chiếu Fh lên Rị Phương pháp Xây dựng phép tách px đổi với T^theo cách sau: Nếu có thuộc tính thuộc Rx không xuất vế trái phải phụ thuộc hàm Fhx tạo lược đồ riêng xác định thuộc tính loại khỏi Rx Nếu có phụ thuộc hàm liên quan tới tất thuộc tính Rx kết Rx Ngoài ra, kết bao gồm lược đồ (x, X A ) phụ thuộc hàm (x,X) —» (x,A) ưong Phx Trong trường hợp có phụ thuộc hàm X -> A u X—» A2, X —> A n ta sử dụng lược đô (x, X A iA A n) thay cho (x, XAị) vói i = , , n Phép tách Px = { Rjx, R 2x,—y R k x } vừa xây dựng chuẩn hóa Rx dạng chuẩn Khi phép tách p = Ị R ị , R2 , -, Rk ỉ , với R ị = Li x& d phép tách cần tìm, khối Rị dạng tựa chuẩn 31 Kết luận chương Nội dung chương trình bày phép tách không thông tin mô hình liệu dạng khối: có số vấn đề dạng chuẩn, dạng tựa chuẩn, khái niệm phép tách không thông tin, thuật toán tách bảo toàn tập phụ thuộc hàm chuyển dạng tựa chuẩn 32 CHƯƠNG CHƯƠNG TRÌNH THỬ NGHIỆM PHÉP TÁCH KHÔNG MẤT • THÔNG TIN TRONG MÔ HÌNH DỮ LIỆU DẠNG KHỐI 3.1 Mô tả toán Một đơn vị sản xuất có n phân xưởng Hàng ngày phân xưởng đến phòng kế hoạch nhận lệnh sản xuất (đánh số từ , , thiết số lệnh theo số thứ tự phân xưởng) để đến 01 n) (không kho (đơn vị có m kho) nhận lượng vật tư theo loại để sản xuất Lệnh sản xuất có dạng: LỆNH SẢN XUẤT ■ Số: Mã phân xưởng: Tên phân xưởng: Ngày: Mã kho: Đ/ckho: Số lượng nhân công: STT TênVT VT1 VT2 VT3 VT4 VT5 ĐVtính Sô lượng Người quản lý xây dựng liệu dạng khối sau để quản lý vật tư phát hàng ngày cho phân xưởng 33 А в С Mã Tên FX EX SỐ NC D E F G H I , , M v M Tên DC So 1kho * TVO LXS Bl y j , y j , J DV К ^ M N SL SL V T l VT2 VT3 SL VT4 p SL VT5 Hình 3.1 Minh họa toán với 10 phân xưởng (n=10) Như vậy, với toán ưên ta biểu diễn lược đồ quan hệ với thành phần sau: Ký hiêu: - Ma PX: Mã phân xưởng - Ten PX: Tên phân xưởng - SoNC: Số nhân công - SoLSX: Số lệnh sản xuất - Ngay: ngày lệnh sản xuất - MaKho: Mã kho DCKho: Địa kho - MaVT: Mã VT - TenVT: Tên VT - DonViTinh: Đơnvị tính - SLVT1 : Số lượng vật tư - SLVT2: Số lượng vật tư - SLVT3 : Số lượng vật tư 34 - SLVT4: Số lượng vật tư - SLVT5: Số lượng yật tư Ta có lược đồ khối QUANLYVT(id, MaPX, TenPX, SoNC, MaKho, DCKho, SoLSX, ngay, MaVT, TenVT, DonViTinh, SLVT1, SLVT2, SLVT3, SLVT4, SLVT5) Tập phụ thuộc hàm F= { MaPX —» TenPX, SoNC; MaKho ->« DCKho; SoLSX -> Ngày, MaPX, MaKho, TenPX, SoNC, DCKho; MaVT —» tên VT, DonViTinh SoLSX, MaVT ->Ngay, MaPX, MaKho, TenVT, DonViTinh, SLVT1, SLVT2, SLVT3, SLVT4, SLVT5 } Và phép tách R=(id, Ri, R2, R3, R4, R5), vói: Ri=(id, MaPX, TenPX, SoNC), R2=(id, MaKho, DCKho), R3=(id, SoLSX, ngày, MaPX, MaKho), R4=( id,MaVT, tên VT, DonViTinh) R5=(id, SoLSX, MaVT, SLVT1, SLVT2, SLVT3, SLVT4, SLVT5) id=(l/l/2015, 2/1/2015, 3/1/2015,30/9/2015) Bài toán đặt kiểm ưa xem phép tách R=(id, Ri, R2, R 3, R4, R 5) có ứiông tin hay không? Ta biểu diễn thuộc tính chữ sau: {MaPX, TenPX, SoNC, MaKho, DCKho, SoLSX, ngay, MaVT, Tên VT, DonViTinh, SLVT1, SLVT2, SLVT3, SLVT4, SLVT5} 35 u = {A, B, c, D, E, F, G, H, I, J, K, M, N, o, P} tương ứng vói thuộc tính Tức {MaPX/A, TenPX/B, SoNC/C, MaKho/D, DCKho/E, SoLSX/F, ngay/G, MaVT/H, TenVT/I, DonViTinh/J, SLVT1/K, SLVT2/M, SLVT3/N, SLVT4/0, SLVT5/P} Tập phụ thuộc hàm F = { A ->B,C ; D->E, F —^ G, A, D, B, c, E H—» I, J F, H-» K, M, N, o , p, G, A, D, I, J } Nhờ đó, thực phép táchR=(id, Ri, R2, R 3, R4, R5) với: R i= (A , B , C), • R2=(D,E), R3=(F,G,A,D) R4=(H, I, J) • R5=(F, H, K, M, N, o , P) 3.2.Kết thử nghiệm đánh giá 3.2.1 Môi trường thử nghiệm Hệ quản trị CSDL: SQL Server Ngôn ngữ lập trình: c Sharp, phát triển công cụ Visual Studio 3.2.2 Chương trình thử nghiệm kiểm tra phép tách có thông tin hay không Input: Tập thuộc tính u 36 Tập phụ thuộc hàm F Output: Phép tách R có thông tin hay không? Phạm vi thử nghiệm: Chương trình thử nghiệm phép tách không thông tin mô hình liệu dạng khối thực mức thấp tức thử nghiệm lát cắt - Dữ liệu đầu vào lưu dạng file text: Tập phụ thuộc hàm F Tập phép tách Ri - Màn hình nhập liệu thuộc tính phụ thuộc hàm 37 ỉ Tách k h ô n g m ấ t th õ n g tin Danh sách thuộc tin h Danh sách phụ thuộc hảm F + Phép tách Nhập Kiểm tra phép tách R u = {> K ilm tra —> & Mo file Xóa luộc đồ + Nhập Bàng mô tà trrih thực th u ậ toán Ta có ứiể nhập phụ thuộc hàm cách gõ vào ô phụ thuộc hàm f : ví dụ A —» BC sau: ị T ách k h ò n g m t th õ n g tin _ Danh sá c h thuộc t inh Danh sá ch phụ thuôc hàm F Ị+ Nhập I L elÍ M Phép tá ch Kiểm tra phép tá ch R Mo Rle STT Phụ th u ộ c hàm f A —> ^ Motile ^ Xóa lược đõ BC + Bàng mô tà trìih thự c thuật toán Nhập + Quan hệ Nhâp & Kiềm tra 38 Nháp sau nhấn chọn nút J hình ảnh sau: Tách không mẻft thòng tin Danh sách thuộc tính Danh sách phụ thuộc hàm F + Nhập I STT Phụthuọc hàm n ABC A->BC Phụ thuộc hàml —> & + Mõ file Nhập Ta làm tương tự với phụ thuộc hàm khác Hoặc nhập tò file text bước sau: - Mâ file Tại cửa sổ giao diện chương trình ta nhấn chọn nút Rồi chọn liệu từ file text ta hình ảnh sau: £ Tách khỏnq thông tin Danh aéch thuộc tính Danh sách phụ thuộc hâm F + Nhập u = {A_ B c D E F G H 1, J K_ M N Phụ thuộc hàm f —> STT ■ ■ Mở file + XÓã lúọc Bàng mô tà tm h thuc hiên thuât toán Nhập A -: r D—>E F->GADBCE H—>IJ & Phụ thuộc hàm FH-íKMNŨPGADIJ 39 - Tiếp theo ta nhập phép tách Ri Ta nhập tòng phép tách Ri: Ví dụ: Ri = ABC Ta nhập ABC vào ô R sau: Sau nhấn chọn nút + Nhập Ta hình ảnh sau: Phép tách Kiểm tra phép tách R 03- Mõ File STT Nhập Quan hệ Kiểm tra ABC Hoặc nhập tò file text cách: - Tại cửa sổ giao diện chương trĩnh ta nhấn chọn nút & Mâfile 40 Rồi chọn liệu từ file text ta hình ảnh sau: Kiễm tra phép tách Phép tách R & Mõ Fìle ► - Sau p Ị i â n vào nút \ Nhập STT Quan hệ ABC DE FGAD HU FHKMNOP HÍT l i ê n Kiểm tra BC 1 1 D—>E KìẽíTi tra F->GADBCE H -> IJ FH->KMN0PGADIJ Nhập Md f ile Xóa lùộc đõ Bâng mổ tã trình thự c thuật toán J=2 J=3 j=4 j=5 j= j=7 B c D E F G a2 a3 a4 a5 a2 a3 a4 a5 a6 a7 a1 a2 a3 a4 a5 a0 a7 ► A R(ABL > =2 R(DE> =3 R(FGAD) =4 R(HIJ) =5 R{FHKMN0P) 41 Như ta thấy có dòng gồm giá trị liên tục từ tói ai5, phép tách không thông tin Tương tự với toán khác, ta thực bước Ưu điểm chương trình: - Trực quan, - Giao diện nhập liệu dễ dàng - Quá trình tính toán nhanh, cho kết xác Kết luận chương 3: Nội dung chương trình bày chương trình chạy thử nghiệm phép tách không thông tin mô hình liệu dạng khối Chương trình trực quan vói giao diện nhập liệu dễ dàng, trình tính toán nhanh cho kết xác 42 KÉT LUẬN Luận văn hoàn thành số kết cụ thể sau: - Tổng quan mô hình liệu dạng khối - Tổng hợp loại chuẩn, tựa chuẩn mô hình liệu dạng khối - Xây dựng quy trình tách lược đồ khối phức tạp thành nhiều lược đồ khối đơn giản bảo toàn liệu - Góp phần làm đơn giản trình giải toán thực tế có mô hình liệu khối 43 TÀI LIỆU THAM KHẢO A.Tiếng Việt [1] Nguyễn Xuân Huy, Trịnh Đình Thắng, (1997), Mô hình sở liệu dạng khối, Kỷ yếu báo cáo khoa học Hội thảo số vấn đề chọn lọc Công Nghệ Thông Tin, (14-19), Đại Lải [2] Nguyễn Xuân Huy, Trịnh Đình Thắng, (1997), On a database model o f block form, Báo cáo Hội nghị Toán học Việt Nam lần thứ [3] Nguyễn Xuân Huy, Trịnh Đình Thắng, (1998), Mô hình sở liệu dạng khối, Tạp chí Tin học Điều khiển học [4] Lê Văn Phùng (2004), Bài giảng sở liệu, Nhà xuất Lao động - xã hội [5] TS.Trịnh Đình Thắng (2011), Mô hình liệu dạng khối, Nhà xuất Lao động [6 ] Trịnh Đình Thắng (1999), Mô hình liệu dạng khối, Luận văn Tiến sĩ, Viện Công nghệ thông tin, Viện Hàn Lâm khoa học công nghệ Việt Nam [7] Trịnh Đình Thắng (2002), Các dạng chuẩn mô hình liệu dạng khối, Báo cáo Hội thảo quốc gia lần thứ ”Một số vấn đề chọn lọc Công Nghệ Thông Tin” [8 ] PGS.VŨ Đức Thi (1997), Cơ sở liệu, kiến thức thực hành NXB Thống kê B Tiếng Anh [9] Aho A V., Beeri C., and Ullman J D (1979), The Theory of joins in relational databases, ACM trans on Database Systems 4:3, pp 297-314 Corrigendum: ACM Trans On Database Systems 8:2, pp 287

Ngày đăng: 16/08/2016, 16:46