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

Phương pháp gộp toán tử qua ma trận đặc trưng để tìm cây toán tử có chi phí nhỏ nhấ

68 137 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 68
Dung lượng 1,4 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một vài ứng dụng của các đồ thị đặc biệt: 1 Các mạng cục bộ LAN: Một số mạng cục bộ dùng cấu trúc hình sao, trong đó tất cả các thiết bị được nối với thiết bị điều khiển trung tâm.. nh

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

LÊ VĂN THUẬN

PHƯƠNG PHÁP GỘP TOÁN TỬ QUA MA TRẬN ĐẶC TRƯNG

ĐỂ TÌM CÂY TOÁN TỬ CÓ CHI PHÍ NHỎ NHẤT

LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH

HÀ NỘI, 2017

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

LÊ VĂN THUẬN

PHƯƠNG PHÁP GỘP TOÁN TỬ QUA MA TRẬN ĐẶC TRƯNG

ĐỂ TÌM CÂY TOÁN TỬ CÓ CHI PHÍ NHỎ NHẤT

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: PGS TS Lê Huy Thập

HÀ NỘI, 2017

Trang 3

Xin trân trọng cảm ơn sự giúp đỡ động viên của gia đình, bạn bè và đồng nghiệp đã giúp đỡ và tạo điều kiện tốt nhất để tôi hoàn thành luận văn này

Mặc dù đã có những cố gắng, tìm tòi nhất định, song chắc chắn luận văn không tránh khỏi hạn chế Vì vậy, tôi rất mong nhận đƣợc những ý kiến đóng góp của thầy, cô và các bạn để luận văn đƣợc hoàn thiện hơn

Hà Nội, ngày tháng năm 2017

Học viên

Lê Văn Thuận

Trang 4

LỜI CAM ĐOAN

Luận văn được hoàn thành dưới sự hướng dẫn trực tiếp của thầy giáo, PGS TS Lê Huy Thập Tôi xin cam đoan:

- Luận văn là kết quả của tự bản thân tôi tìm hiểu

- Những tư liệu được trích dẫn trong luận văn là trung thực

- Những gì được triển khai trong luận văn không trùng khít với bất kì công trình nghiên cứu của các tác giả nào đã được công bố trước đó

- Mọi sự giúp đỡ cho việc thực hiện luận văn này đã được cảm ơn và các thông tin trích dẫn trong luận văn đã được chỉ rõ nguồn gốc

Hà Nội, ngày tháng năm 2017

Học viên

Lê Văn Thuận

Trang 5

MỤC LỤC Trang phụ bìa Trang

Lời cam đoan i

Lời cảm ơn ii

Mục lục iii

Danh mục các bảng iv

Danh mục các hình vẽ, đồ thị v

Các ký tự viết tắt vi

PHẦN MỞ ĐẦU 1

1 Lý do chọn đề tài Error! Bookmark not defined.1 2 Mục đích nghiên cứu 1

3 Nhiệm vụ nghiên cứu 1

4 Đối tượng và phạm vi nghiên cứu 1

5 Phương pháp nghiên cứu 1

6 Giả thiết khoa học 1

PHẦN NỘI DUNG 2

Chương 1: CƠ SỞ LÝ THUYẾT 2

1.1 Toán rời rạc 2

1.1.1 Cây liên thông có trọng số tại đỉnh và cạnh 7

1.1.2 Các phương pháp kiểm tra đồ thị là liên thông là cây không phải rừng qua ma trận đặc trưng .7

1.2 Cơ sở dữ liệu song song……… … 9

1.2.1 Các phương pháp phân mảnh cơ bản 9

1.2.2 Cách tái thiết các mảnh……… 12

1.2.3 Cây toán tử……… 13

Chương 2 CÁC THUẬT TOÁN GỘP THÔNG QUA MA TRẬN ĐẶC TRƯNG ĐỂ CÓ CÂY TOÁN TỬ CHI PHÍ CỰC TIỂU……… 25

Trang 6

2.1 Các dạng hàm chi phí trong xử lý song song……… 32

2.1.1 Chi phí tại bộ xử lý .32

2.1.2 Chi phí truyền thông……… … 33

2.2 Thuật toán gộp để có cây toán tử tốt nhất 34

2.2.1 Thuật toán cắt……… 34

2.2.2 Thuật toán gộp……… … .35

2.3 Thuật toán tính chi phí trên cây toán tử……… … .43

2.3.1 Thuật toán tính chi phí trên cây……… … 43

2.3.2 Khôi phục câu lệnh từ cây toán tử……… .44

Chương 3 CHƯƠNG TRÌNH ĐỀ MÔ 49

3.1 Giới thiệu CSDL và các ứng dụng (Các câu truy vấn) tại trường 50

3.2 Thuật toán gộp trên cây toán tử và tính chi phí 51

3.3 Xây dựng lại cây toán tử 51

KẾT LUẬN VÀ KIẾN NGHỊ 58

TÀI LIỆU THAM KHẢO……… … .59

Trang 7

DANH MỤC CÁC BẢNG

Bảng 1.1 Ma trận đặc trưng của cây 9

Bảng 1.2-1 Quan hệ NhanVien 10

Bảng 1.2-2 Quan hệ DuAn 10

Bảng 1.2-3 Quan hệ TraLuong 11

Bảng 1.2-4 Quan hệ PhanNhiem 11

Bảng 2 Mảnh ngang DuAn H1 14

Bảng 3 Mảnh ngang DuAn H2 14

Bảng 4 Mảnh ngang DuAn H3 14

Bảng 5 Mảnh dẫn xuất NhanVienDanxuat1 tương ứng TraLuong1 15

Bảng 6 Mảnh dẫn xuất NhanVienDanxxuat2 tương ứng TraLuong2 16

Bảng 7 Mảnh dẫn xuất PhanNhiemDanxuat1 tương ứng với DuAnH1 16

Bảng 8 Mảnh dẫn xuất PhanNhiemDanxuat2 tương ứng với DuAnH3 17

Bảng 9 Mảnh dẫn xuất PhanNhiemDanxuat3 tương ứng với DuAnH4 17

Bảng 10 Mảnh dẫn xuất PhanNhiemDanxuat4 tương ứng với DuAnH6 17

Bảng 11 Mảnh dẫn xuất PhanNhiemDanxuat1 tương ứng với NhanVienH1 18

Bảng 12 Mảnh dẫn xuất PhanNhiemDanxuat1 tương ứng với NhanVienH2 18

Bảng 13 Quan hệ nhân viên 21

Bảng 14 Phân mảng hàm băm 22

Bảng 15 Bảng có trọng số 26

Bảng 16 Bảng C trọng số của đồ thị 40

Bảng 17 Bảng D nội dung lệnh tại các nút 41

Trang 8

CÁC HÌNH VẼ VÀ ĐỒ THỊ

Hình 1 Cây liên thông 11 đỉnh có 10 cạnh đƣợc gắn trọng số 8

Hình 2 Đồ thị nối giữa các mảnh 14

Hình 3 Ví dụ về cây toán tử 24

Hình 4 Cây có trọng số 25

Hình 5 Đồ thị liên thông 29

Hình 6 Cắt rời hai nút i và j 36

Hình 7 Gộp đỉnh j vào i 37

Hình 8 Cây có trọng số 39

Trang 9

CÁC KÝ TỰ VIẾT TẮT

- LAN: mạng cục bộ (local area network)

- CSDL: cơ sở dữ liệu

- NV: nhân viên

- TenNV: tên nhân viên

- MaNV: mã nhân viên

- TrinhdoCM: trình độ chuyên môn

- DA: dự án

- LV: làm việc

- DS: danh sách

- SQL: (structured query language) ngôn ngữ truy vấn mang tính cấu trúc

- PC: personal computer (máy tính cá nhân)

Trang 10

PHẦN MỞ ĐẦU

1 Lý do chọn đề tài

Chúng ta sẽ dùng phương án gộp các toán tử cho các bộ xử lý để tổng thời gian (hay chi phí bằng tiền) trả lời câu truy vấn nhỏ nhất Đặc biệt, chúng ta sẽ tập trung vào bài toán cây toán tử “Đường ống” Hơn nữa, trong đề tài sẽ đề xuất việc gộp sẽ được thực hiện trên ma trận đặc trưng của cây toán tử Đây là vấn đề mới và hiệu quả hơn khi xử lý trực tiếp trên cây toán tử đã cho

2 Mục đích nghiên cứu (Các kết quả cần đạt được)

Dựa vào ma trận đặc trưng để tìm cây toán tử có chi phí nhỏ nhất

3 Nhiệm vụ nghiên cứu

Phương pháp gộp các toán tử trên cây toán tử đẻ có chi phí xử lý nhỏ nhất dựa vào ma trận đặc trưng

4 Đối tượng và phạm vi nghiên cứu

Toán rời rạc

Xử lý song và phân tán

5 Phương pháp nghiên cứu

Dùng các kiến thức: Toán rời rạc, xử lý song - phương pháp gộp các toán tử dựa trên chi phí xử lý và truyền thông

6 Giả thuyết khoa học

Nghiên cứu sâu về xử lý song song và phân tán nhằm mục đích bổ sung thêm các kiến thức và ứng dụng

Trang 11

Định nghĩa 1.1.4: Một đồ thị có hướng G = (V, E) gồm một tập khác rỗng V

mà các phần tử của nó gọi là các đỉnh và một tập E mà các phần tử của nó gọi

là các cung, đó là các cặp có thứ tự của các phần tử thuộc V

Định nghĩa 1.1.5: Một đa đồ thị có hướng G = (V, E) gồm một tập khác rỗng

V mà các phần tử của nó gọi là các đỉnh và một họ E mà các phần tử của nó gọi là các cung, đó là các cặp có thứ tự của các phần tử thuộc V

Các ví dụ về đồ thị

1) Đồ thị“lấn tổ” trong sinh thái học Đồ thị được dùng trong nhiều mô

hình có tính đến sự tương tác của các loài vật Chẳng hạn sự cạnh tranh của các loài trong một hệ sinh thái có thể mô hình hóa bằng đồ thị “lấn tổ” Mỗi

Trang 12

loài được biểu diễn bằng một đỉnh Một cạnh vô hướng nối hai đỉnh nếu hai loài được biểu diễn bằng các đỉnh này là cạnh tranh với nhau

2) Đồ thị ảnh hưởng Khi nghiên cứu tính cách của một nhóm nguời, ta

thấy một số người có thể có ảnh hưởng lên suy nghĩ của những người khác Đồ thị có hướng được gọi là đồ thị ảnh hưởngcó thể dùng để mô hình bài toán này Mỗi người của nhóm được biểu diễn bằng một đỉnh Khi một người được biểu diễn bằng đỉnh a có ảnh hưởng lên người được biểu diễn bằng đỉnh b thì có một cung nối từ đỉnh a đến đỉnh b

3) Thi đấu vòng tròn Một cuộc thi đấu thể thao trong đó mỗi đội đấu với

mỗi đội khác đúng một lần gọi là đấu vòng tròn Cuộc thi đấu như thế có thể được mô hình bằng một đồ thị có hướng trong đó mỗi đội là một đỉnh Một cung đi từ đỉnh a đến đỉnh b nếu đội a thắng đội b

4) Các chương trình máy tính có thể thi hành nhanh hơn bằng cách thi hành

đồng thời một số câu lệnh nào đó Điều quan trọng là không được thực hiện một câu lệnh đòi hỏi kết quả của câu lệnh khác chưa được thực hiện

Sự phụ thuộc của các câu lệnh vào các câu lệnh trước có thể biểu diễn bằng một đồ thị có hướng Mỗi câu lệnh được biểu diễn bằng một đỉnh và

có một cung từ một đỉnh tới một đỉnh khác nếu câu lệnh được biểu diễn bằng đỉnh thứ hai không thể thực hiện được trước khi câu lệnh được biểu diễn bằng đỉnh thứ nhất được thực hiện Đồ thị này được gọi làđồ thị có ưu tiên trước sau

Bậc của đỉnh

Định nghĩa 1.1.6: Hai đỉnh u và v trong đồ thị (vô hướng) G=(V,E) được

gọi là liền kề nếu (u,v)E Nếu e = (u,v) thì e gọi là cạnh liên thuộc với các đỉnh u và v Cạnh e cũng được gọi là cạnh nối các đỉnh u và v Các đỉnh u và v gọi là các điểm đầu mút của cạnh e

Trang 13

Định nghĩa 1.1.7: Bậc của đỉnh v trong đồ thị G=(V,E), ký hiệu deg(v), là

số các cạnh liên thuộc với nó, riêng khuyên tại một đỉnh được tính hai lần cho bậc của nó

Đỉnh v gọi là đỉnh treo nếu deg(v)=1 và gọi là đỉnh cô lập nếu deg(v)=0

Định nghĩa 1.1.8: Đỉnh u được gọi là nối tới v hay v được gọi là được nối

từ u trong đồ thị có hướng G nếu (u,v) là một cung của G Đỉnh u gọi là đỉnh đầu và đỉnh v gọi là đỉnh cuối của cung này

Định nghĩa 1.1.9: Bậc vào (t.ư bậc ra) của đỉnh v trong đồ thị có hướng

G, ký hiệu degt(v) (t.ư dego(v)), là số các cung có đỉnh cuối là v

Một vài ứng dụng của các đồ thị đặc biệt:

1) Các mạng cục bộ (LAN): Một số mạng cục bộ dùng cấu trúc hình sao,

trong đó tất cả các thiết bị được nối với thiết bị điều khiển trung tâm Mạng cục bộ kiểu này có thể biểu diễn bằng một đồ thị phân đôi đầy đủ

K1,n Các thông báo gửi từ thiết bị này tới thiết bị khác đều phải qua thiết

bị điều khiển trung tâm

Mạng cục bộ cũng có thể có cấu trúc vòng tròn, trong đó mỗi thiết bị nối với đúng hai thiết bị khác Mạng cục bộ kiểu này có thể biểu diễn bằng một đồ thị vòng Cn Thông báo gửi từ thiết bị này tới thiết bị khác được truyền đi theo vòng tròn cho tới khi đến nơi nhận

Cuối cùng, một số mạng cục bộ dùng cấu trúc hỗn hợp của hai cấu trúc trên Các thông báo được truyền vòng quanh theo vòng tròn hoặc có thể qua thiết bị trung tâm Sự dư thừa này có thể làm cho mạng đáng tin cậy hơn Mạng cục bộ kiểu này có thể biểu diễn bằng một đồ thị bánh xe Wn

2) Xử lý song song: Các thuật toán để giải các bài toán được thiết kế để

thực hiện một phép toán tại mỗi thời điểm là thuật toán nối tiếp Tuy

Trang 14

nhiên, nhiều bài toán với số lượng tính toán rất lớn như bài toán mô phỏng thời tiết, tạo hình trong y học hay phân tích mật mã không thể giải được trong một khoảng thời gian hợp lý nếu dùng thuật toán nối tiếp ngay cả khi dùng các siêu máy tính Ngoài ra, do những giới hạn về mặt vật lý đối với tốc độ thực hiện các phép toán cơ sở, nên thường gặp các bài toán không thể giải trong khoảng thời gian hợp lý bằng các thao tác nối tiếp Vì vậy, người ta phải nghĩ đến kiểu xử lý song song

Khi xử lý song song, người ta dùng các máy tính có nhiều bộ xử lý riêng biệt, mỗi bộ xử lý có bộ nhớ riêng, nhờ đó có thể khắc phục được những hạn chế của các máy nối tiếp Các thuật toán song song phân chia bài toán chính thành một số bài toán con sao cho có thể giải đồng thời được Do vậy, bằng các thuật toán song song và nhờ việc sử dụng các máy tính có bộ

đa xử lý, người ta hy vọng có thể giải nhanh các bài toán phức tạp Trong thuật toán song song có một dãy các chỉ thị theo dõi việc thực hiện thuật toán, gửi các bài toán con tới các bộ xử lý khác nhau, chuyển các thông tin vào, thông tin ra tới các bộ xử lý thích hợp

Khi dùng cách xử lý song song, mỗi bộ xử lý có thể cần các thông tin ra của các bộ xử lý khác Do đó chúng cần phải được kết nối với nhau Người

ta có thể dùng loại đồ thị thích hợp để biểu diễn mạng kết nối các bộ xử lý trong một máy tính có nhiều bộ xử lý Kiểu mạng kết nối dùng để thực hiện một thuật toán song song cụ thể phụ thuộc vào những yêu cầu với việc trao đổi dữ liệu giữa các bộ xử lý, phụ thuộc vào tốc độ mong muốn

và tất nhiên vào phần cứng hiện có

Mạng kết nối các bộ xử lý đơn giản nhất và cũng đắt nhất là có các liên kết hai chiều giữa mỗi cặp bộ xử lý Các mạng này có thể mô hình bằng đồ thị

Trang 15

đầy đủ Kn, trong đó n là số bộ xử lý Tuy nhiên, các mạng liên kết kiểu này

có số kết nối quá nhiều mà trong thực tế số kết nối cần phải có giới hạn

Biểu diễn đồ thị bằng ma trận

Định nghĩa 1.1.10: Cho đồ thị G=(V,E) (vô hướng hoặc có hướng), với

V={v1,v2, , vn} Ma trận liền kề của G ứng với thứ tự các đỉnh v1,v2, , vn là

ma trận

A=(a ij)1i,jnM(n,Z), trong đó aij là số cạnh hoặc cung nối từ vi tới vj

Như vậy, ma trận liền kề của một đồ thị vô hướng là ma trận đối xứng, nghĩa là a ija ji, trong khi ma trận liền kề của một đồ thị có hướng không

1

2

21

1

0

11

0

3

20

1

1

1 0 2

0

0

0 1 0

0

1

0 1 2

1

0

1 1 0

Trang 16

Định nghĩa 1.1.11: Các đơn đồ thị G1=(V1,E1) và G2=(V2,E2) được gọi là đẳng cấu nếu tồn tại một song ánh f từ V1 lên V2 sao cho các đỉnh u và v là liền kề trong G1 khi và chỉ khi f(u) và f(v) là liền kề trong G2 với mọi u và

v trong V1 Ánh xạ f như thế gọi là một phép đẳng cấu

Thông thường, để chứng tỏ hai đơn đồ thị là không đẳng cấu, người ta chỉ ra chúng không có chung một tính chất mà các đơn đồ thị đẳng cấu cần phải có Tính chất như thế gọi là một bất biến đối với phép đẳng cấu của các đơn đồ thị

1.1.1 Cây liên thông có trọng số tại đỉnh và cạnh

Trong mục này chúng ta chỉ xét loại đơn đồ thị vô hướng hữu hạn và có trọng số

Định nghĩa

Cây liên thông là đồ thị liên thông n-đỉnh và có đúng n-1 cạnh

Trên mỗi đỉnh và mỗi cạnh đều được gán một số được gọi là trọng số tại đỉnh

và trọng số tại cạnh

Ví dụ 1 hình 1 là cây liên thông

Hình 1 Cây liên thông 11 đỉnh có 10 cạnh được gắn trọng số

Trang 17

1.1.2 Các phương pháp kiểm tra đồ thị là liên thông là cây không phải rừng qua ma trận đặc trưng

Định nghĩa

Ma trận đặc trưng của một cây n- đỉnh là một bảng mà tiêu đề của các hàng

và các cột có kèm theo trọng số của nó và các O (giao hàng và cột là trọng số của cạnh) ghi trọng số các cạnh

Ví dụ 2 Ma trận đặc trƣng của cây ở hình 1 đƣợc thể hiện ở bảng 1.1

Trang 18

Nhận xét

 Ma trận đặc trưng là ma trận đối xứng qua đường chéo chính

 Các phần tử trên đường chéo chính đều bằng không

 Theo định nghĩa của cây liên thông thì phía dưới (trên) đường chéo chính chỉ có n-1 có giá trị khác không

Từ đây chúng ta có thể đưa ra các thuật toán để kiểm tra dữ liệu nhập vào

có tạo thành cây hay không Nghĩa thỏa mãn các nhận xét trên hay không Các thuật toán được trình bày tại chương 2

1.2 Cơ sở dữ liệu song song

1.2.1 Các phương pháp phân mảnh cơ bản

Để thuận lợi cho viện nghiên cứu, chúng ta xét CSDL quan hệ và dữ liệu của công ty Điện-Toán như sau:

 Quan hệ NhanVien(MaNV, TenNV, TrinhDoCM)

Lê Hồng Hạnh Nguyễn Trường Tam

Kỹ sư điện Phân tích và thiết kế hệ thống

Kỹ sư cơ khí Lập trình viên Phân tích và thiết kế hệ thống

Kỹ sư điện

Kỹ sư cơ khí Phân tích và thiết kế hệ thống

Bảng 1.2-1 Quan hệ NhanVien

Trang 19

 Quan hệ DuAn(MaDuAn, TenDuAn, NganSach)

 Quan hệ TraLuong(TrinhDoCM, Luong)

Trang 20

 Quan hệ PhanNhiem (MaNV, MaDuAn, ThoiGianLV, ChucVu)

Giám đốc Nhân viên phân tích và thiết kế Nhân viên phân tích và thiết kế Nhân viên tƣ vấn

Kỹ sƣ Lập trình viên Giám đốc Giám đốc

Kỹ sƣ Giám đốc

Trang 21

Các kiểu phân mảnh cơ bản là: Phân mảnh ngang, phân mảnh dọc Ngoài

ra còn có các kiểu phân mảnh dựa trên hai cách cơ bản đã nêu là phân mảnh ngang dẫn xuất và phân mảnh hỗn hợp

1.2.1.1 Phân mảnh ngang

Có hai loại phân mảnh ngang: phân mảnh ngang nguyên thuỷ và phân mảnh ngang dẫn xuất

(1) Phân mảnh ngang nguyên thuỷ

Phân mảnh ngang nguyên thuỷ là phân rã một quan hệ thành các tập gồm các bộ dựa trên các vị từ đƣợc định nghĩa trên quan hệ đó

(2) Phân mảnh ngang dẫn xuất Phân mảnh ngang dẫn xuất là phân mảnh một quan hệ dựa vào các vị từ đƣợc định nghĩa trên quan hệ chủ (Parent)

Phân mảnh ngang nguyên thủy

Phân mảnh ngang nguyên thuỷ đƣợc định nghĩa bằng một thuật toán chọn trên các quan hệ nguồn của một lƣợc đồ CSDL Mảnh ngang Ri bao gồm các

bộ của R đƣợc chọn ra theo công thức:

Ri = Fi(R), 1≤ i ≤ z

Trong đó Fi là công thức chọn Chú ý rằng chúng ta xét Fi có dạng chuẩn hội, nó là một vị từ hội sơ cấp

Ví dụ

Phân rã quan hệ DuAn thành các mảnh ngang DuAnH1 và DuAnH2 nhƣ sau:

DuAnH1 = NganSach  200000 (DuAn) DuAnH2 = NganSach > 200000 (DuAn) Một số vấn đề gặp phải khi phân hoạch ngang

Trang 22

DuAnH3 = ViTri = "TP.Hồ chí Minh" (DuAn)

Các mảnh thu được trình bày trong các bảng 2,3,4 tương ứng

Minh Bảng 4 Mảnh ngang DuAn H3

Phân mảnh ngang dẫn xuất

Phân mảnh ngang dẫn xuất là phân mảnh ngang trên đích của một đường

nối dựa theo phép toán chọn trên quan hệ nguồn của đường nối đó Chúng ta

cần nhớ hai điểm Trước tiên, đường nối giữa quan hệ nguồn và đích được

định nghĩa là một đường nối bằng (equijon) Thứ hai, nối bằng có thể được

cài đặt nhờ các nối nửa (semijooin) Điểm này rất quan trọng đối với mục

Trang 23

đích của chúng ta vì chúng ta muốn phân hoạch quan hệ đích theo phân mảnh của nguồn nhưng cũng muốn mảnh thu được chỉ định nghĩa trên các thuộc tính của quan hệ đích

Như thế nếu cho trước một đường lối L, trong đó Nguon(L) = S và Dich(L)

= R, các mảnh ngang dẫn xuất của R được định nghĩa là:

Ri = R╞ Si, 1  i 

Trong đó  là số lượng các mảnh được định nghĩa trên R, và Si = Fi(S) với

Fi là công thức định nghĩa mảnh ngang nguyên thuỷ Si

Ví dụ

Xét đường nối l1 trong hình 2, trong đó Nguon(l1) = TraLuong và Dich(l1)

= NhanVien Thế thì chúng ta có thể nhóm các kỹ sư thành hai nhóm tuỳ theo lương: nhóm có lương từ 30000 USD trở xuống và nhóm có trên 30000 USD Hai mảnh được sinh ra như sau:

NhanVienDanxxuat1 = NhanVien ╞ TraLuong1

NhanVienDanxxuat2 = NhanVien ╞ TraLuong2

Trong đó

TraLuong1 = Luong  30000 (TraLuong)

TraLuong2 = Luong > 30000 (TraLuong)

Kết quả phân mảnh được trình bày trong các bảng 5,6

Trang 24

MaNV TenNV TrinhDoCM

NV3

NV4

NV7

Hoàng Trung Mã J.Miller

Lê Hồng Hạnh

Kỹ sư cơ khí Lập trình viên

Kỹ sư cơ khí Bảng 5 Mảnh dẫn xuất NhanVienDanxuat1 tương ứng TraLuong1

Ngô Đình Vinh Trần Mỹ Lệ Nguyễn Trường Tam

Kỹ sư điện Phân tích và thiết kế hệ thống

Phân tích và thiết kế hệ thống

Kỹ sư điện Phân tích và thiết kế hệ thống

Bảng 6 Mảnh dẫn xuất NhanVienDanxxuat2 tương ứng TraLuong2

Các thông tin cần cho phân mảnh ngang dẫn xuất

Ví dụ

Xét PhanNhiem theo các mảnh DuAnH1, DuAnH3 , DuAnH4 và DuAnH6 của DuAn đã thu được trong Ví dụ 2-10 Cần nhớ lại rằng

DuAnH1 = ViTri = “Moltreal”  NganSach  200000 (DuAn)

DuAnH3 = ViTri = “Hà Nội”  NganSach  200000 (DuAn)

DuAnH4 = ViTri = “Hà Nội”  NganSach > 200000 (DuAn)

DuAnH6 = ViTri = “TP.Hồ Chí Minh ”  NganSach > 200000 (DuAn)

Trang 25

Vì thế phân mảnh dẫn xuất của PhanNhiem theo { DuAn1,DuAn3, DuAn4, DuAn6} Sẽ cho:

PhanNhiemDanxuat1 = PhanNhiem ╞ DuAnH1

PhanNhiemDanxuat2 = PhanNhiem ╞ DuAnH3

PhanNhiemDanxuat3 = PhanNhiem ╞ DuAnH4

PhanNhiemDanxuat4 = PhanNhiem ╞ DuAnH6

Thể hiện của các mảnh này được trình bày trong các bảng 7-8-9

12

24 Bảng 7 Mảnh dẫn xuất PhanNhiemDanxuat1 tương ứng với DuAnH1

NV2

NV4

NV5

DA2 DA2DA2

Nhân viên phân tích và thiết kế Lập trình viên Giám đốc

6

18

24

Bảng 8 Mảnh dẫn xuất PhanNhiemDanxuat2 tương ứng với DuAnH3

NV3

NV6

V7

DA3 DA3DA3

Nhân viên tư vấn

Kỹ sư Giám đốc

10

36

40 Bảng 9 Mảnh dẫn xuất PhanNhiemDanxuat3 tương ứng với DuAnH4

Trang 26

Ví dụ

Câu vấn tin thứ hai có thể được viết bằng SQL như sau

SELECTChucVu, ThoiGianLV

FROMPhanNhiem, NhanVien

WHERE PhanNhiem.MaNV = NhanVienHi.MaNV

Trong đó i = 1 hoặci = 2, tuỳ thuộc vào nơi đưa ra câu vấn tin Phân mảnh dẫn xuất của PhanNhiem theo phân mảnh của NhanVien được định nghĩa dưới đây và được trình bày trong các bảng 2.3-9

PhanNhiemDanxuat1 = PhanNhiem ╞ NhanVienH1

PhanNhiemDanxuat2 = PhanNhiem ╞ NhanVienH2

NV1

NV2

NV3

DA1 DA1DA2

Giám đốc Nhân viên phân tích và thiết

Kỹ sư Giám đốc

48

48 Bảng 10 Mảnh dẫn xuất PhanNhiemDanxuat4 tương ứng với DuAnH6

Nhân viên tư vấn

Kỹ sư Lập trình viên

Trang 27

NV5

NV6

DA2DA4 DA3

Nhân viên phân tích và thiết

kế Giám đốc Giám đốc Giám đốc

hệ nhỏ hơn, để có nhiều ứng dụng chỉ cần chạy trên một mảnh, điều này sẽ làm giảm đáng kể chi phí

Ví dụ Giả sử các ứng dụng sau đây chạy trên quan hệ DuAn trong mỗi trường hợp chúng ta đều thể hiện bởi SQL

q1 : Tìm ngân sách của một dự án, cho biết mã số dự án

SELECT NganSach

FROM DuAn

WHERE MaDuAn = Value

q2 : Tìm tên và ngân sách của mọi dự án

SELECT TenDuAn, NganSach

FROM DuAn

q3 : Tìm tên của mọi dự án được thực hiện tại một thành phố đã cho

SELECT TenDuAn

FROM DuAn

Trang 28

q4 : Tìm tổng ngân sách dự án cho mỗi thành phố

- Các loại phân mảnh dọc, khoảng (ngang) hay vùng (hay hỗn hợp) đều

WHERE MaDuAn = Value

q2 : Tìm tên và ngân sách của mọi dự án

SELECT TenDuAn, NganSach

Trang 29

FROM DuAn

q3 : Tìm tên của mọi dự án được thực hiện tại một thành phố đã cho

SELECT TenDuAn

FROM DuAn

WHERE ViTri = Value

q4 : Tìm tổng ngân sách dự án cho mỗi thành phố

SELECT SUM(NganSach)

FROM DuAn

WHERE ViTri = Value

* Phân mảnh ngang theo hàm băm

Phân mảnh theo hàm băm là trường hợp tổng quát của Robin Giả sử cần

phân mảnh quan hệ R cho N vùng được đánh số 0, 1, , N-l với thuộc tính phân mảnh là A Bộ t thuộc R được đưa vào vùng k nếu

k = t(A) mod N, trong đó t(A) là giá trị trên thuộc tính A của bộ t

Mã giả như sau:

Y = {t(A)}

For i = 0 To N-1

For Each element In Y

If element mod N = i // Save Bản ghi tương ứng với element vào vùng i

Y - = element

End If

Next element

End For

Trang 30

Ví dụ Với quan hệ Nhanvien (bảng 13)

IDNumber HO_VA_TEN NAM_SINH LUONG

Vùng 0 : (NAM_SINH mod 3) = 0

Trang 31

- Tái thiết một quan hệ toàn cục từ các mảnh dọc được thực bằng toán tử nối

 Tức là nếu quan hệ R được phân thành các mảnh dọc V1, V2, Vv thì:

R = Vi (8)

- Tái thiết một quan hệ toàn cục từ phân mảnh hỗn hợp được thực hiện bằng cách dùng toán tử nối để nối các mảnh dọc sau đó dùng toán tử hợp để hợp các mảnh ngang nếu thứ tự phân mảnh hỗn hợp là phân mảnh ngang sau đó mới phân mảnh dọc hoặc dùng toán tử hợp để hợp các mảnh ngang sau đó dùng toán tử nối để nối các mảnh dọc nếu thứ tự phân mảnh hỗn hợp là phân mảnh dọc trước sau đó mới phân mảnh ngang Như vậy công việc tái thiết có thứ tự ngược với thứ tự phân mảnh ngang và dọc Ký hiệu (HV)i là mảnh hỗn hợp, khi đó: R = (HV)i hoặc  (VH)i với (HV)i và

1

v

i 1

Trang 32

Nếu các mảnh (HV)i thoả mãn điều kiện (HV)i (HV)J (HV)i - (HV)J hoặc (HV)i (HV)J (HV)J - (HV)i với  i,j thì theo định lý 5.5 trang 100 của [2] thì việc phân mảnh và tái thiết sẽ không mất mát thông tin

1.2.3 Cây toán tử

Định nghĩa cây toán tử

Một cây toán tử là cây với mỗi nút lá biểu thị cho một quan hệ được lưu trong cơ sở dữ liệu, nút không phải là lá biểu thị một quan hệ trung gian được sinh ra bởi phép toán quan hệ Chuỗi các phép toán để đi theo hướng lá đến gốc, gốc biểu thị kết quả vấn tin

Cách biến đổi câu vấn tin phép tính quan hệ trở thành một cây toán tử như sau:

i Trước hết tạo ra các nút lá là các quan hệ trong SQL các nút lá nằm sau FROM

ii Nút gốc được tạo ra như phép chiếu chứa các thuộc tính kết quả, các thuộc tính này nằm sau SELECT

iii Lượng tử hoá (vị từ sau WHERE) được chuyển thành các phép tính quan hệ thích hợp (phép chọn, phép nối ,…) đi từ các nút lá đến gốc Chuỗi này có thể được cho trực tiếp qua thứ tự xuất hiện của các vị trí và các toán

tử

Ví dụ : Tìm tên các nhân viên, trừ J.Doe đã làm cho dự án CAD/CAM trong một

hoặc hai năm

Câu SQL là :

SELECT

ENAME {Gốc }

FROM

ASG , EMP, PROJ {Lá}

WHERE ASG.ENO = EMP.ENO

Trang 34

Định nghĩa cây toán tử có trọng số

AND 5 SELECT HoTen 6

bộ quản lý”

DS_DuAn.Ten DuAn = “Cao tốc Bắc Nam”

3 DS_NhanVien.Q

ueQuan =

“Hà Nội”

1

7

Ngày đăng: 22/05/2018, 19:03

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Lê Tiến Vương, “Nhập môn cơ sở dữ liệu quan hệ”, NXB Thống Kê, 2000 Sách, tạp chí
Tiêu đề: Nhập môn cơ sở dữ liệu quan hệ
Nhà XB: NXB Thống Kê
[2] Đỗ Xuân Lôi, “Cấu trúc dữ liệu và giải thuật”, NXB Khoa học và Kỹ thuật, 1996 Sách, tạp chí
Tiêu đề: Cấu trúc dữ liệu và giải thuật
Nhà XB: NXB Khoa học và Kỹ thuật
[3] Lê Huy Thập, “Bài giảng CSDL quan hệ nâng cao”, 2011, tại ĐH Sƣ Phạm Hà Nội 2 và Học Viện CN Bưu Chính Viễn Thông Sách, tạp chí
Tiêu đề: Bài giảng CSDL quan hệ nâng cao
[4] M.Tamer Ozsu, Patrick Valduriez. “Nguyên lý các hệ cơ dữ liệu phân tán”. Trần Đức Quang biên dịch. NXB Thống kê,1999 Sách, tạp chí
Tiêu đề: Nguyên lý các hệ cơ dữ liệu phân tán
Nhà XB: NXB Thống kê
[5] Lê Huy Thập, “Bài giảng CSDL phân tán” tại ĐH Sƣ Phạm Hà Nội 2 và Học Viện CN Bưu Chính Viễn Thông Sách, tạp chí
Tiêu đề: Bài giảng CSDL phân tán
[6] Lê Huy Thập, Giáo trình kỹ thuật lập trình, Tập 1, NXB Khoa học tự nhiên và công nghệ, 10/2008 Khác
[7] Lê Huy Thập, Cơ sở lý thuyết song song, NXB THÔNG TIN VÀ TRUYỀNTHÔNG, 8-2010 Khác
[8] Nguyễn Duy Phương, Toán rời rạc, Học Viện BCVT, Tài liệu nội bộ, 2006 Khác
[9] Lê Huy Thập, Đại cương mạng máy tính VIỆN CÔNG NGHỆ THÔNG TIN- VIỆN KHOA HỌC VIỆT NAM, 2012 Khác
[10] Kenneth H. Rosen, Discrete Mathematics and Its Applications. www.amazon.com Khác
[11] Le Huy Thap, Algorithms, Lecture at the Genetic – Singapore Computer Science School 2006 Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w