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

Một số giải pháp rút gọn câu vấn tin phân tán để xử lí song song

85 237 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 85
Dung lượng 916,35 KB

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

Nội dung

Trong hệ phân tán các giải pháp rút gọn câu vấn tin phân tán làm giảm thời gian tính toán, khối lượng truyền thông tin giữa các trạm và giảm không gian bộ nhớ, tránh được các công việc d

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

NGUYỄN TUẤN ANH

MỘT SỐ GIẢI PHÁP RÚT GỌN CÂU VẤN TIN

PHÂN TÁN ĐỂ XỬ LÍ SONG SONG

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

Trang 2

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

NGUYỄN TUẤN ANH

MỘT SỐ GIẢI PHÁP RÚT GỌN CÂU VẤN TIN

PHÂN TÁN ĐỂ XỬ LÍ SONG SONG

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

Mã số: 60 48 01

Người hướng dẫn khoa học:

PGS TS LÊ HUY THẬP

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan, kết quả của luận văn hoàn toàn là kết quả của tự bản thân tôi tìm hiểu, nghiên cứu Các tài liệu tham khảo được trích dẫn và chú thích đầy đủ

Tác giả

Nguyễn Tuấn Anh

Trang 4

LỜI CẢM ƠN

Lời đầu tiên tôi xin gửi lời cảm ơn chân thành nhất đến thầy

PGS.TS Lê Huy Thập đã định hướng và nhiệt tình hướng dẫn, giúp đỡ tôi

rất nhiều về mặt chuyên môn, kiến thức trong quá trình làm luận văn

Tôi xin gửi lời biết ơn sâu sắc đến các thầy, các cô đã dạy dỗ và truyền đạt những kiến thức, kinh nghiệm quý báu cho chúng tôi trong suốt hai năm cao học ở trường Đại học Công nghệ thông tin và truyền thông - Đại học Thái Nguyên

Cuối cùng tôi xin dành tình cảm thân thiết nhất cho cha mẹ và gia đình, bạn bè, đồng nghiệp những người luôn gần gũi để động viên, chia

sẻ cùng tôi trong suốt thời gian qua

Thái Nguyên, Tháng 9 năm 2013

Nguyễn Tuấn Anh

Trang 5

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

MỤC LỤC iii

DANH MỤC CHỮ VIẾT TẮT v

PHẦN MỞ ĐẦU 1

1 Đặt vấn đề 1

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

3 Hướng nghiên cứu của đề tài 1

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

5 Ý nghĩa khoa học của đề tài 2

CHƯƠNG 1: CƠ SỞ LÍ THUYẾT 3

1.1 Giới thiệu về logic 3

1.1.1 Logic hình thức 3

1.2 Tổng quan về CSDL phân tán 7

1.2.1 Các phương pháp phân mảnh và tái thiết 9

1.2.2 Cách tạo cây toán tử từ câu SQL 26

1.3 Kết luận chương 1 29

CHƯƠNG 2: PHÂN RÃ VẤN TIN VÀ CỤC BỘ HÓA DỮ LIỆU 31

2.1 Phân rã vấn tin câu vấn tin SQL 31

2.1.1 Phân tích câu vấn tin trên cơ sở “kiểu dữ liệu” và “ngữ nghĩa” 32

2.1.2 Loại bỏ dư thừa 35

2.1.3 Viết lại câu vấn tin 35

2.2 Cục bộ hóa dữ liệu phân tán và các phương pháp rút gọn câu vấn tin phân tán 38

2.2.1 Cục bộ hóa dữ liệu phân tán 38

2.2.2 Rút gọn câu vấn tin SQL phân tán 39

2.3 Kết luận chương 2 62

CHƯƠNG 3: ỨNG DỤNG 63

Trang 6

3.1 Ứng dụng tại trường THPT Trung Nghĩa (Dạng demo) 63

3.1.1 Giới thiệu CSDL của trường THPT Trung Nghĩa năm học 2012-201363 3.1.2 Một số dạng rút gọn câu vấn tin trên CSDL (tại mục 3.1.1) đã được phân mảnh 66

3.2 Kết luận chương 3 76

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA LUẬN VĂN 77

TÀI LIỆU THAM KHẢO 78

Trang 7

DANH MỤC CHỮ VIẾT TẮT

CSDL: Cơ sở dữ liệu

THPT: Trung học phổ thông

DDBMS: Distributed Database Management System

DDBS: Distributed Database System

LAN: Local Area Network

SQL: Structured Query Language

Trang 8

PHẦN MỞ ĐẦU

1 Đặt vấn đề

Ngày nay các lĩnh vực như giáo dục, thương mại ngày càng mở rộng

và phát triển Để hoạt động được thuận lợi và có hiệu quả cần phải nắm bắt thông tin nhanh nhất khi các địa điểm ở xa nhau Do đó xây dựng 1 hệ thống làm việc dựa trên cơ sở dữ liệu phân tán là phù hợp với xu hướng hiện nay

Cơ sở dữ liệu phân tán đã, đang được nghiên cứu và ứng dụng vào thực tế Việc cần làm là nghiên cứu và làm sáng tỏ thêm khả năng ứng dụng thực tiễn của cơ sở dữ liệu phân tán

Lợi ích cơ bản nhất của cơ sở dữ liệu phân tán là dữ liệu của các cơ sở

dữ liệu vật lý riêng biệt được tích hợp logic với nhau làm cho nhiều người sử dụng trên mạng có thể truy nhập được

Cơ sở dữ liệu phân tán với cấp độ tự trị cao ở mỗi điểm Trong hệ phân tán các giải pháp rút gọn câu vấn tin phân tán làm giảm thời gian tính toán, khối lượng truyền thông tin giữa các trạm và giảm không gian bộ nhớ, tránh được các công việc dư thừa, loại bỏ những phần vô ích và để phục vụ cho việc

xử lí song song, nên tôi chọn nghiên cứu “Một số giải pháp rút gọn câu vấn tin phân tán để xử lý song song” làm đề tài luận văn tốt nghiệp của mình

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

Logic

Cơ sở dữ liệu có cấu trúc

Các phương pháp phân mảnh trong CSDL có cấu trúc

Phân rã vấn tin và cục bộ hóa dữ liệu

3 Hướng nghiên cứu của đề tài

Nghiên cứu các phương pháp phân mảnh CSDL có cấu trúc

Phân rã vấn tin và cục bộ hóa dữ liệu

Các loại rút gọn câu vấn tin

Trang 9

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

Nghiên cứu kỹ các kiến thức, chủ đề có liên quan đến đề tài

Nắm vững các kiến thức cơ bản phân mảnh và về cây toán tử

Nghiên cứu các phương pháp rút gọn câu vấn tin trên cơ sở phân mảnh

và cục bộ hóa dữ liệu

5 Ý nghĩa khoa học của đề tài

Luận văn giúp cho việc phân mảnh thích hợp cho các loại dữ liệu có cấu trúc và phân rã, phân tán các loại câu SQL trên các CSDL đó

Trang 10

CHƯƠNG 1: CƠ SỞ LÍ THUYẾT

1.1 Giới thiệu về logic

1.1.2 Logic mệnh đề và chân trị

- Mệnh đề là một phát biểu để diễn tả một khẳng định là đúng hoặc sai,

nó không thể vừa đúng lại vừa sai, hay mang tính chất mập mờ

- Giá trị đúng hay sai của mệnh đề được gọi là chân trị của mệnh đề và thường được kí hiệu là 1 (hoặc T hoặc True) đối với chân trị đúng , còn chân trị sai được kí hiệu là 0 (hoặc F hoặc False)

Trang 11

- Mệnh đề logic rất quan trọng trong khoa học máy tính

-

Các kí hiệu dùng trong mệnh đề logic

( ) Dùng để chỉ độ ưu tiên của phép toán logic

Phủ định (NOT)

Hội (Conjunction AND)

Tuyển (Disjunction OR)

Ký hiệu điều kiện (If…Then…)

Kéo theo hai chiều (If AND Only If) Tổng trực giao (XOR)

Kí hiệu Ai i 1 ,n là mệnh đề thứ i, có thể dùng mệnh đề như là tham

số, các kí hiệu logic có ý nghĩa không đổi, còn các tham số có nội dung phụ thuộc và ngữ cảnh

Nói chung các kí hiệu trong biểu thức logic là hữu hạn hoặc đếm được, nhưng hầu hết các kết luận vẫn đúng cho trường hợp không đếm được

Mệnh đề được chia làm hai loại cơ bản:

- Mệnh đề sơ cấp (elementary), nó là các nguyên tử (atom)-không thể chia nhỏ được;

- Mệnh đề phức hợp (compound), đó mệnh đề được tạo ra từ các mệnh

đề khác bằng cách sử dụng các phép toán logic

Để máy tính hiểu được, chúng ta dùng các kí hiệu cho các mệnh đề, được gọi là biến mệnh đề Các biến mệnh đề được kí hiệu bởi các chữ cái thường

Biểu thức logic: Biểu thức logic chính là mệnh đề phức hợp

Chân trị của phép toán logic được cho ở bảng 1.1 sau:

Trang 12

Mức ưu tiên của các phép toán logic được thể hiện ở bảng 1.2

Bảng 1.2 Ưu tiên các phép toán logic

Ký hiệu phép toán Nghĩa của phép toán

, , Kéo theo, tương đương, tổng trực giao

Tương đương của hai biểu thức logic

Hai biểu thức logic E và F được gọi là tương đương với nhau và viết E

F khi E và F luôn luôn có cùng chân trị

Các quy tắc thay thế

Quy tắc 1: (Quy tắc thay thế tương đương)

Cho E là một biểu thức logic, nếu thay thế một biểu thức con của nó bởi một biểu thức tương đương với biểu thức con đó, biểu thức logic E’ mới nhận được sẽ tương đương với E

Quy tắc 2: (Tính bất biến đối với biểu thức logic hằng đúng)

Cho E là biểu thức hằng đúng, nếu thay thế một mệnh đề p nào đó trong E bởi một biểu thức logic bất kỳ ta sẽ nhận được biểu thức logic E’ mới cũng là hằng đúng

Bảng 1.1 Chân trị của các phép toán logic

Trang 13

Ghi chú: Kết quả tương tự cho biểu thức hằng sai

Các dạng chính tắc

Biểu thức hội cơ bản

Biểu thức logic F = F (p1, p2, ., pn ), trong đó pi (i 1 ,n) là các biến mệnh đề sơ cấp, được gọi là biểu thức hội cơ bản, nếu: F = q1 q2 qn ; với qi = pi hoặc qi = pi (i 1 ,n)

Biểu thức tuyển cơ bản

Biểu thức logic E = E (p1, p2, .pn ), trong đó pi (i 1 ,n) là các biến mệnh đề sơ cấp, được gọi là biểu thức tuyển cơ bản, nếu: E = q1 q2 qn; với qi = pi hoặc qi = pi (i 1 ,n)

Biểu thức logic E = E (p1, p2, .pn ), trong đó pi (i 1 ,n) là các biến mệnh đề sơ cấp, được gọi là dạng tuyển chính tắc, nếu: E = E1 E2 En ; trong đó mỗi Ei (i 1 ,n) là một biểu thức hội cơ bản của các pi (i 1 ,n)

Định lý:

Mọi biểu thức logic E (p 1 , p 2 , ., p n ) đều tương đương với một biểu thức tuyển chính tắc duy nhất Tức là E (p 1 , p 2 , .p n ) E 1 E 2 E m (duy nhất ) với E i ( i 1 ,m ) là các biểu thức hội cơ bản Nghĩa là E i = q 1 q 2 q n với q i = p i hoặc q i = p i ( i 1 ,n )

Biểu thức logic hội chính tắc

Biểu thức logic F = F (p1, p2, ., pn ), trong đó pi (i 1 ,n) là các biến mệnh đề sơ cấp, được gọi là dạng hội chính tắc, nếu: F = F1 F2 Fn , trong đó mỗi Fi (i 1 ,n) là một biểu thức tuyển cơ bản của các pi (i 1 ,n)

Định lý:

Mọi biểu thức logic F (p 1 , p 2 , ., p n ) đều tương đương với một biểu thức hội chính tắc duy nhất Tức là F (p 1 , p 2 , , p n ) F = F 1 F 2 F m

Trang 14

(duy nhất ) với F i ( i 1 ,m ) là các biểu thức tuyển cơ bản Nghĩa là F i = q 1

q 2 q n với q i = p i hoặc q i = p i ( i 1 ,n )

1.2 Tổng quan về CSDL phân tán

Xử lý phân tán hay còn gọi là hệ thống tính toán phân tán đó là một hệ thống bao gồm một số bộ xử lý tự vận hành được liên kết thành mạng và hợp đồng thực hiện các nhiệm vụ mà chúng được phân công Các bộ xử lý có thể thực hiện được các chương trình tiền định trên đó

Những đối tượng được phân tán:

- Các thiết bị xử lý, các chức năng xử lý: Nhiều chức năng của hệ thống

có thể được chuyển giao cho các thành phần: phần cứng và phần mềm

- Dữ liệu: Dữ liệu được dùng bởi một số ứng dụng có thể được phân

tán tới một số vị trí xử lý

- Quyền điều khiển: cũng có thể được phân tán Quyền điều khiển một

số nhiệm vụ cũng được phân tán

Hệ thống xử lý phân tán có thể phân thành các loại như sau:

- Mức độ kết nối,

- Sự liên đới giữa các thành phần,

- Cấu trúc tương giao,

- Sự đồng bộ hoá giữa các thành phần

Sự cần thiết phân tán:

-Nhằm thích ứng tốt hơn với việc phân bố rộng rãi của các công ty, xí nghiệp, cơ quan

- Nhiều ứng dụng công nghệ hiện đại cần được phân tán

Lý do của việc xử lý phân tán:

Để thực hiện tốt hơn các bài toán lớn và phức tạp mà chúng gặp phải hiện nay bằng cách sử dụng quy tắc ”Chia để trị”

Các ưu điểm cơ bản của xử lý phân tán:

Trang 15

- Tận dụng được sức mạnh tính toán xử lý song song bằng cách sử dụng nhiều bộ xử lý đồng thời

- Giải quyết bài toán theo từng nhóm hoạt động độc lập nên có thể kiểm soát được chi phí phát triển phần mềm

- Các hệ cơ sở dữ liệu phấn tán cũng có thể được xem xét trong khuôn khổ của bộ khung này làm cho việc xử lý dữ liệu phân tán dễ dàng và hiệu quả hơn

Một số hệ thống xử lí hay được dùng:

- Hệ thống đa xử lý có bộ nhớ chung [3]

- Hệ đa bộ xử lý có shared disk [3]

- Hệ đa bộ xử lý sở hữu cá nhân [3]

Ghi chú: Phân bố vật lý của bộ xử lý không nhất thiết là phải cách xa

nhau về mặt địa lý; chúng có thể ở trong cùng máy, một văn phòng,… giao tiếp giữa các bộ xử lý được thực hiện thông qua mạng truyền thông

Hệ CSDL phân tán (Distributed Database System – DDBS) là một tập hợp dữ liệu có liên đới logic và được phân bố trên các nút của một mạng máy tính

Hệ quản trị CSDL phân tán (Distributed Database Management System – DDBMS) là một hệ thống phần mềm cho phép quản lý các DDBS và làm cho việc phân tán trở nên vô hình đối với người sử dụng

Như vậy DDBS không phải là một tập hợp các tệp dữ liệu được lưu trữ riêng rẽ tại các nút của mạng máy tính mà là một tập các tệp dữ liệu vừa có liên đới logic, vừa phải có cấu trúc và vừa phải được truy xuất qua một giao diện chung

Phân bố vật lý của các dữ liệu không phải là vấn đề quyết định trong DDBS Tuy vậy, viêc phân bố vật lý của các dữ liệu sẽ nảy sinh ra các vấn đề rất phức tạp như thực hiện các cấu trúc truy vấn, vấn đề cấp phát

Nhận xét:

Trang 16

Nếu CSDL nằm tại một nút mạng thì nó không phải là DDBS, vì vấn

đề quản trị CSDL không khác với quản trị CSDL trong môi trường tập trung kiểu client/server của mạng (hình 1.1) khi đó tất cả yêu cầ truy xuất CSDL điều được chuyển đến workstation 2 Và điều cần quan tâm ở đây chỉ là thời gian truy cập của các workstation khác đến workstation2

Nếu cơ sở dữ liệu được phân tán trên nhiều nút mạng khi đó CSDL sẽ

là cơ sở dữ liệu phân tán (hình 1.2)

1.2.1 Các phương pháp phân mảnh và tái thiết

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

Workstation5

Mạng Truyền Dữ Liệu

Trang 17

Ví dụ: 1.2.1-1

Để tiện cho việc nghiên cứu ta xét CSDL quan hệ của công ty Toán như sau:

Điện Quan hệ NhanVien(MaNV, TenNV, TrinhDoCM)

Trong đó NhanVien là tên quan hệ nhân viên, MaNV là mã nhân viên, TenNV là tên nhân viên, TrinhDoCM là trình độ chuyên môn Và dữ liệu giả định như bảng 1.3

Bảng 1.3 Quan hệ NhanVien

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

- Trong đó DuAn là tên quan hệ dự án; MaDuAn là mã dự án; TenDuAn là tên dự án và NganSach là ngân sách dự án, ViTri là vị trí triển khai dự án Và dữ liệu giả định như bảng 1.4

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

Trang 18

Bảng 1.4 Quan hệ DuAn

- Quan hệ TraLuong(TrinhDoCM, Luong)

- Trong đó TraLuong là tên quan hệ trả lương; Luong là tiền lương trả cho nhân viên Và dữ liệu giả định như bảng 1.5

Trang 19

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

Hình 1.6 Biểu diễn mối liên hệ giữa các quan hệ nhờ các đường nối

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

- 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ệ đó

Trang 20

- 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) Các thông tin cần cho phân mảnh ngang:

- Thông tin về CSDL

Thông tin về CSDL là thông tin về lược đồ khái niệm toàn cục của CSDL Tức là chúng ta cần biết được cách mà quan hệ con sẽ hợp ( ) lại với nhau như thế nào Trong mô hình quan hệ, các liên kết giữa các thực thể cũng được biểu thị bằng quan hệ Với mục đích thiết kế phân tán, các mối liên kết cũng được mô hình hoá theo kiểu mô hình quan hệ Theo cách này, chúng ta

sẽ vẽ một đường nối có hướng từ quan hệ Parent đến quan hệ Child

Một số thuật ngữ được sử dụng thông dụng trong mô hình mạng là quan hệ nguồn - đích Chúng ta định nghĩa hai hàm: Nguon và Dich, chúng là các ánh xạ từ tập các đường nối đến tập các quan hệ Cho trước một đường nối chúng sẽ trả về quan hệ đích hoặc quan hệ chủ nguồn của đường nối

Những thông tin định tính gồm có các vị trí được dùng trong các câu vấn tin Nếu không thể phân tích được hết tất cả các ứng dụng thì ít nhất cũng phải nghiên cứu được các ứng dụng “quan trọng” nhất

Trang 21

Bây giờ chúng ta cần tìm cách xác định các vị từ đơn giản cho quan hệ R(A1,A2 …, An) trong đó Ai là thuộc tính với miền giá trị Di Vị từ đơn giản

pk được định nghĩa trên R có dạng: pk : Ai <Giá trị thuộc tính> Trong đó

θ {=, <, ≠, ≤, >, ≥} và giá trị thuộc tính được chon từ miền Di

Ví dụ 1.2.1.1-2

Trong quan hệ DuAn của bảng 1.4 thì:

p1: TenDuAn = “Bảo dưỡng”

p2: NganSach ≤ 200000

là hai vị từ đơn giản trên quan hệ DuAn

Gọi PR là tập tất cả các vị từ đơn giản được định nghĩa trên quan hệ R Tức là

PR = { p1, p2, pm },

chẳng hạn PDuAn = { p1, p2}

Thấy rằng vị từ đơn giản rất dễ xử lý, tuy nhiên câu vấn tin lại thường

là tổ hợp của các vị từ đơn giản Một tổ hợp cần đặc biệt chú ý là vị từ dạng chuẩn hội, đó là hội của các tuyển vị từ đơn giản

Bởi vì chúng ta luôn có thể biến đổi một biểu thức boole thành dạng chuẩn hội, việc sử dụng vị từ hội sơ cấp trong một thuật toán không làm mất

đi tính tổng quát

Cho một tập PR = { p1, p2, pm }, tập các vị từ hội sơ cấp được ký hiệu

là M = { m1,m2 mn }, trong đó mk được xác định như sau:

mk =

K i

Trang 22

p2 : TrinhDoCM = “Phân tích và thiết kế hệ thống”

p3 : TrinhDoCM = “Kỹ sư cơ khí”

Một số vị từ hội sơ cấp được định nghĩa dựa trên các vị từ đơn giản

m1: TrinhDoCM = ” Kỹ sư điện” ^ Luong ≤ 30000

- Một số vị từ hội sơ cấp có thể vô nghĩa đối với ngữ nghĩa của quan

hệ nên ngay từ đầu chúng ta có thể loại bỏ ngay Chẳng hạn trong quan hệ TraLuong m1 là vị từ hội sơ cấp vô nghĩa

Độ tuyển hội sơ cấp và tần số truy xuất:

- Độ tuyển hội sơ cấp

Độ tuyển hội sơ cấp là số lượng các bộ của một quan hệ sẽ được truy xuất bởi câu vấn tin được đặc tả theo một vị từ hội sơ cấp đã cho Ký hiệu độ tuyển hội sơ cấp mi là sel(mi)

- Tần số truy xuất

Trang 23

Tần số truy xuất của một câu vấn tin q là số lần sử dụng câu vấn tin q

đó, tần số truy xuất của q được ký hiệu là acc(q)

Chú ý rằng tần số truy xuất hội sơ cấp có thể được xác định từ tần số vấn tin Chúng ta cũng ký hiệu tần số truy xuất của một hội sơ cấp m là acc(m)

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:

Nếu miền biến thiên của các thuộc tính có mặt trong công thức chọn là liên tục và vô hạn, chúng ta rất khó định nghĩa tập các công thức F = {F1,F2, , Fn} thích hợp cho phân mảnh ngang Một phương án là định nghĩa các khoảng nếu có thể

Nhận xét:

Cho tập các vị từ M = {mi | mi là vị từ hội sơ cấp i = 1, 2 ,…}

Ký hiệu |M| = Card(M) Vậy thì:

(1) Mảnh ngang Ri của quan hệ R là một quan hệ chứa các bộ của R thoả mãn vị từ hội sơ cấp mi

Trang 24

(2) Số lượng các mảnh ngang khi phân mảnh theo M sẽ là |M|, mỗi mảnh ngang trong trường hợp này cũng được gọi là mảnh hội sơ cấp

Do lí luận trên, chúng ta thấy bước đầu tiên của mọi thuật toán phân mảnh ngang là xác định các vị từ đơn giản sẽ tạo ra các vị từ hội sơ cấp

Hai tính chất quan trọng của tập vị từ đơn giản là tính đầy đủ và tính cực tiểu

Định nghĩa 1.2.1.1-1 Tập các vị từ đơn giản đầy đủ

Tập các vị từ đơn giản Pr được gọi là đầy đủ nếu và chỉ nếu xác suất mỗi ứng dụng (vấn tin) truy xuất đến một bộ bất kỳ thuộc một mảnh hội sơ cấp nào đó được định nghĩa theo Pr đều bằng nhau

Định nghĩa 1.2.1.1-2 Vị từ đơn giản liên đới

Vị từ đơn giản pđược gọi là liên đới nếu biết được sự ảnh hưởng của

nó đến cách thực hiện phân mảnh nghĩa là vị từ p làm cho mảnh F bị phân thành các mảnh Fi và Fj đều khác rỗng, thì vẫn có ít nhất một ứng dụng truy xuất đến Fi và Fj theo những cách khác nhau Nói cách khác, vị từ đơn giản p phải có liên đới với vị từ phân mảnh

Định nghĩa 1.2.1.1-3 Tập vị từ đơn giản cực tiểu: Nếu tất cả các vị từ

của tập Pr đều có liên đới thì Pr được gọi là cực tiểu

Ghi chú: Một kinh nghiệm để rút ra tính liên đới có thể được trình bày như sau: Gọi mi và mj là hai vị từ hội sơ cấp và gọi Fi, Fj là hai mảnh tương ứng với các vị từ hội sơ cấp này Thế thì pi là liên đới khi và chỉ khi có sự thỏa mãn sau:

) card(F

) acc(m )

card(F

) acc(m

j j i

Một lần nữa chúng ta lại dựa vào cảm nhận và kinh nghiệm của các nhà thiết kế chứ không phải định nghĩa hình thức này

Trang 25

Thật toán lặp sau đây cho ta tập vị từ đầy đủ và cực tiểu P’R khi đã có tập các vị từ đơn giản PR Thuật toán này, được gọi là COM_MIN, nội dung COM_MIN được trình bày trong [3]

Qui tắc1 (Thừa nhận) Quy tắc về tính đầy đủ và cực tiểu

Một quan hệ (hoặc một mảnh) được phân hoạch thành ít nhất hai phần thì chúng phải được truy xuất khác nhau bởi ít nhất một ứng dụng

Thuật toán bắt đầu tìm một vị từ có liên đới và phân hoạch quan hệ đã

cho Vòng lặp Do … Until để thêm các vị từ vào tập này, bảo đảm tính cực

tiểu tại mỗi bước vì thế vào cuối vòng lặp, tập P’R là đầy đủ và cực tiểu

Bước thứ hai trong quá trình thiết kế phân mảnh ngang nguyên thuỷ là tìm các vị từ hội sơ cấp có thể định nghĩa trên các vị từ trong tập P’R Việc xác định các vị từ hội sơ cấp là tầm thường; khó khăn chính là tập các vị hội

sơ cấp có thể rất lớn - là hàm mũ theo số lượng các vị từ đơn giản Trong bước kế tiếp chúng ta sẽ tìm cách làm giảm số lượng vị từ hội sơ cấp cần được định nghĩa trong phân mảnh

Bước thứ ba của quá trình thiết kế là loại bỏ một số mảnh vô nghĩa, điều này được thực hiện khi sử dụng phép kéo theo I [2], [7]

Nhằm chỉ ra cách tìm tập vị từ hội sơ cấp (không mâu thuẫn) từ tập các

vị từ đơn giản PR (đã được xác định từ các ứng dụng trên quan hệ R), phân mảnh ngang nguyên thuỷ quan hệ R theo các vị từ hội sơ cấp đã tìm được, chúng ta dùng thuật toán P_HORIZONTAL [3]

* 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 quan hệ đí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 đó

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à:

Trang 26

Trong đó là số lượng các mảnh được định nghĩa trên R, và Si = Fi(S) với Fi là vị từ phân mảnh ngang nguyên thuỷ Si từ S

Ví dụ 1.2.1.1-5

Xét đường nối l1 trong hình 1.6, 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:

NhanVienDanxuat1 = NhanVien ╞ TraLuong1

NhanVienDanxuat2 = 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 1.7a, 1.7b

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

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 1.7b Mảnh dẫn xuất NhanVienDanxuat2 tương ứng TraLuong2

NV1

NV2

Nguyễn Văn Bổng M.Smith

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

Trang 27

NV5

NV6

NV8

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

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 Các thông tin cần cho phân mảnh ngang dẫn xuất: Muốn thực hiện phân mảnh ngang dẫn xuất, chúng ta cần ba thông tin vào: tập các mảnh của quan hệ nguồn, quan hệ đích và tập các vị từ nối nửa giữa nguồn và đích

Một số vấn đề cần phải chú ý

Trong lược đồ CSDL, chúng ta hay gặp nhiều đường nối đến một quan

hệ Như thế có thể có nhiều cách phân mảnh ngang dẫn xuất cho quan hệ đó

Quyết định chọn cách phân mảnh nào cần dựa trên hai tiêu chuẩn:

- Phân mảnh có đặc tính nối tốt hơn

- Phân mảnh được sử dụng trong nhiều ứng dụng hơn

Nhận xét:

- Phân mảnh dẫn xuất có thể xảy ra dây chuyền: một quan hệ được phân mảnh như hệ quả của một phân mảnh đã có từ một quan hệ khác, và đến lượt nó lại làm cho quan hệ khác phải phân mảnh

- Thường thì một quan hệ sẽ có nhiều cách phân mảnh Chọn một lược

đồ phân mảnh là một bài toán quyết định

Kiểm định tính đúng đắn

Phải kiểm tra các thuật toán phân mảnh đảm bảo cho CSDL sẽ không thay đổi ngữ nghĩa khi phân mảnh

Tính đầy đủ Tính đầy đủ của một phân mảnh ngang nguyên thuỷ dựa

vào vị trí đã chọn Bởi vì cơ sở thuật toán phân mảnh là một tập các vị từ cực tiểu và đầy đủ PR ’, tính đầy đủ sẽ được đảm bảo là đầy đủ với điều kiện là không có sai sót xảy ra khi định nghĩa PR’

Tính tái thiết được Tái thiết một quan hệ toàn cục từ các mảnh được

thực hiện bằng toán tử hợp trong cả phân mảnh ngang nguyên thuỷ lẫn dẫn xuất Vì thế một quan hệ R với phân mảnh F = {R , R ,…, R }, chúng ta có

Trang 28

R = Ri , Ri FR

Tính tách rời Chúng ta dễ dàng có được tính tách rời của phân mảnh

nguyên thuỷ hơn so với phân mảnh dẫn xuất Trong trường hợp đầu, tính tách rời sẽ được bảo đảm miễn là các vị từ hội sơ cấp xác định phân mảnh có tính loại trừ tương hỗ (mutually exclusive) Tuy nhiên phân mảnh dẫn xuất có hàm chứa các nối nửa khiến vấn đề càng phức tạp hơn Tính tách rời có thể được đảm bảo nếu đồ thị nối thuộc loại đơn giản

1.2.1.2 Phân mảnh dọc

Phân mảnh dọc chia một quan hệ R ra các quan hệ con (mảnh) R1, R2, Rr Mỗi mảnh chứa một tập con các thuộc tính cùng với khóa của quan hệ R

- Các yêu cầu thông tin của phân mảnh dọc

Các thông tin chính cần cho phân mảnh dọc liên quan đến các ứng dụng Vì thế, chúng ta xem xét về các điều kiện cho các ứng dụng sẽ chạy trên CSDL phân tán Bởi vì phân mảnh dọc đặt vào một mảnh các thuộc tính thường được truy xuất chung với nhau, chúng ta cần có một giá trị đo đạc được nào đó để định nghĩa chính xác hơn về khái niệm "chung với nhau" Số

đo này được gọi là ái lực (affinity) của thuộc tính, nó chỉ ra mức độ liên đới giữa các thuộc tính [2], [7]

- Các yêu cầu dữ liệu của phân mảnh dọc

Yêu cầu dữ liệu có liên quan đến các ứng dụng gọi là tần số truy xuất (access frequency) của chúng Goi Q={q1, q2,… qq} là tập các vấn tin của người dùng (các ứng dụng) sẽ chạy trên quan hệ R(A1,…An) Thế thì với mỗi câu vấn tin qi và mỗi thuộc tính Aj chúng ta đưa ra một giá trị sử dụng thuộc tính ký hiệu là use(qi, Aj) và được định nghĩa như sau:

(1.5)

use(qi, Aj )=

1 nếu thuộc tính Aj được vấn tin qi tham chiếu

0 trong trường hợp ngược lại

Trang 29

Các véc tơ use(qi, A#) cho mỗi ứng dụng rất dễ định nghĩa nếu như nhà thiết kế biết được các ứng dụng sẽ chạy trên CSDL

Thuật toán tụ nhóm

Nhiệm vụ cơ bản của phân mảnh dọc là tìm thuật toán để gom thành nhóm các thuộc tính dựa trên các giá trị của ma trận ái lực thuốc tính AA Chúng ta sẽ thực hiện nhiệm vụ này bởi thuật toán năng lượng nối BEA (Bond Energy Algorithm) [3] Ưu điểm của thuật toán này là ở chỗ:

- Nó được thiết kế đặc biệt để xác định các nhóm gồm các mục tương

tự, trái ngược với một sắp xếp thứ tự tuyến tính của các mục (nghĩa là

nó gom các thuộc tính có giá trị ái lực lớn lại với nhau và những thuộc tính có giá trị ái lực nhỏ lại với nhau)

- Các kết quả tụ nhóm không bị ảnh hưởng bởi thứ tự đưa các mục vào thuật toán

- Thời gian tính toán của thuật toán có thể chấp nhận được [là O (n2) với n là số lượng thuộc tính]

- Mối liên hệ qua lại giữa các nhóm thuộc tính tụ có thể xác định được Thuật toán năng lượng nối BEA đầu vào là ma trận ái lực thuộc tính, hoán vị các hàng và cột rồi sinh ra một ma trận ái lực tụ (CA) (Clustered affinity matrix) Hoán vị được thực hiện sao cho số đo ái lực chung AM là lớn nhất [2], [7]

Thuật toán phân hoạch: Mục đích của hành động tách thuộc tính là

tìm ra các tập thuộc tính được truy xuất cùng nhau hoặc hầu như là bằng các tập ứng dụng riêng biệt Ví dụ có thể biết được hai thuộc tính A1 và A2, chỉ được ứng dụng q1 truy xuất và các thuộc tính A3 và A4 được các ứng dụng khác truy xuất, chẳng hạn là q2 và q3, thì quyết định phân mảnh là tầm thường Công việc chính nằm ở chỗ là ra tìm một phương pháp theo kiểu thuật toán để xác định các nhóm này

Trang 30

Xét ma trận thuộc tính tụ của hình 1.8 Nếu một điểm nằm trên đường chéo được cố định, hai tập thuộc tính sẽ được xác định Một tập {A1, A2, ….,

Ai) nằm tại góc trên trái và tập thứ hai {Al+1, … An} ở về bên phải và bên dưới của điểm này Chúng ta gọi tập thứ nhất là đỉnh (top) và tập thứ hai là đáy (bottom), biểu thị các tập thuộc tính tương ứng là TA và BA

Bây giờ chúng ta quay sang tập ứng dụng Q = {q1, q2 … qq} và định nghĩa các tập ứng dụng chỉ truy xuất TA, chỉ truy xuất BA hoặc cả hai Những tập này được định nghĩa như sau:

Ở đây nảy sinh bài toán tối ưu hoá Nếu có n thuộc tính trong một quan

hệ thì sẽ có n – 1 vị trí khả hữu có thể là điểm phân chia trên đường chéo của

ma trận thuộc tính tụ cho quan hệ đó Vị trí tốt nhất để phân chia là vị trí sinh

ra các tập TQ và BQ sao cho tổng các truy xuất chỉ một mảnh là lớn nhất còn tổng các truy xuất cả hai mảnh là nhỏ nhất Vì thế chúng ta định nghĩa các phương trình chi phí như sau:

CQ =

Q

i j i j

q acc q ref ( ) ( )

Trang 31

CTQ =

TQ

i j i j

q acc q ref ( ) ( )

CBQ =

BQ

i j i j

q acc q ref ( ) ( )

COQ =

OQ

i j i j

q acc q ref ( ) ( )Mỗi phương trình ở trên đếm tổng số truy xuất đến các thuộc tính bởi các ứng dụng trong các lớp tương ứng của chúng Dựa trên số liệu này, bài toán tối ưu hoá được định nghĩa là bài toán tìm điểm x (1 x n) sao cho biểu thức z = CTQ * CBQ – COQ2

lớn nhất

Đặc trưng quan trọng của biểu thức này là nó định nghĩa hai mảnh sao cho giá trị của CTQ và CBQ càng gần bằng nhau càng tốt Điều này cho phép cân bằng tải trong xử lý khi các mảnh được phân tán đến các vị trí khác nhau

Rõ ràng là thuật toán phân hoạch có độ phức tạp tuyến tính theo số thuộc tính của quan hệ, nghĩa là O(n)

Với giả thiết là đã có trước một thủ tục xê dịch là SHIFT, chúng ta có thuật toán phân hoạch PARTITION [3] Ma trận ái lực tụ CA là đầu vào của thuật toán, quan hệ R cần phân mảnh, ma trận sử dụng thuộc tính và ma trận tần số truy xuất Thành phẩm là một tập của các mảnh FR = {R1, R2}, trong đó

Ri {A1, A2…, An} và R1 R2 = các thuộc tính khoá của quan hệ R Chú ý rằng để phân hoạch k dòng, thủ tục này hoặc sẽ được gọi lặp đi lặp lại hoặc được cài đặt như một thủ tục đệ qui

Kiểm tra tính đúng đắn của thuật toán PARTITION:

Tương tự trong phân mảnh ngang để chứng tỏ rằng thuật toán PARTITION sinh ra một phân mảnh dọc đúng đắn

Tính đầy đủ: Tính đầy đủ được bảo đảm bằng thuật PARTITION vì mỗi thuộc tính của quan hệ toàn cục được đưa vào một trong các mảnh Với điều kiện là tập thuộc tính a của quan hệ A thoả A = Ri

Trang 32

Thì tính đúng đắn của phân hoạch đọc được bảo đảm

Tính tái thiết được: Chúng ta đã nói rằng có thể xây dựng lại quan hệ ban đầu bằng phép nối Vì thế đối với quan hệ R có phân mảnh dọc RR = {R1,

R2… Rn} và các thuộc tính khoá K, thì việc tái thiết quan hệ R thực hiện theo công thức sau:

R = KRi, Ri FR

Do vậy, nếu điều kiện mỗi R1 là đầy đủ, phép toán nối sẽ tái thiết lại đúng R Một điểm quan trọng đó là mỗi R1 phải chứa các thuộc tính khoá của quan hệ hoặc chưa một mã TID được gán bởi hệ thống

Tính tách biệt Như chúng ta đã nói trước kia, tính tách biệt của các mảnh trong phân mảnh dọc không quan trọng bằng tính tách biệt trong phân mảnh ngang

1.2.1.3 Phân mảnh hỗn hợp

Trong đa số các trường hợp, phân mảnh ngang hoặc phân mảnh dọc đơn giản cho một lược đồ CSDL không đủ đáp ứng các yêu cầu từ các ứng dụng Trong trường hợp đó, phân mảnh dọc có thể được thực hiện sau một phân mảnh ngang hoặc ngược lại, sinh ra một lối phân hoạch có cấu trúc cây (Hình 1.9) Bởi vì, hai loại chiến lược phân hoạch này được áp dụng lần lượt, chọn lựa này được gọi là phân mảnh hỗn hợp (hybrid fragmentation)

Trang 33

1.2.2 Cách tạo cây toán tử từ câu SQL

Đị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ụ 1.2.2-1

Quan hệ EMP(ENO, ENAME, TITLE)

Bảng 1.8a Quan hệ EMP

Elect Eng Syst Anal Mech.Eng Programmer Syst.Anal Elect.Eng Mech.Eng

Trang 34

- Quan hệ PROJ(PNO, PNAME, BUDGET)

Bảng 1.8b Quan hệ PROJ

- Quan hệ PAY(TITLE, SAL)

Bảng 1.8c Quan hệ PAY

- Quan hệ ASG (ENO, PNO, DUR, RESP)

Trang 35

FROM ASG , EMP, PROJ

WHERE ASG.ENO = EMP.ENO

AND ASG.PNO = PROJ.PNO

AND ENAME <> “J.Doe”

AND PROJ.PNAME = “CAD/CAM”

AND (DUR=12 OR DUR=24)

AND (DUR =12 OR DUR =24)

Manager Analyst Analyst Consultant Engineer Programmer Manager Manager Engineer Manager

Trang 36

Cây toán tử như sau (hình 1.10):

Qua áp dụng quy tắc biến đổi, có thể có nhiều cây tương đương với cây

Trang 37

Hệ CSDL phân tán (Distributed Database System – DDBS) là một tập hợp dữ liệu có liên đới logic và được phân bố trên các nút của một mạng máy tính

Trong CSDL Phân tán có 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 Tùy vào từng trường hợp hoàn cảnh cụ thể mà sử dung các kiểu phân mảnh tương ứng cho phù hợp

Trang 38

CHƯƠNG 2: PHÂN RÃ VẤN TIN VÀ CỤC BỘ HÓA DỮ LIỆU

2.1 Phân rã vấn tin câu vấn tin SQL

Phân rã vấn tin là giai đoạn đầu tiên của quá trình xử lý câu vấn tin, nó biến đổi câu vấn tin dạng phép tính quan hệ (cấp cao) thành câu vấn tin đại số quan hệ (cấp thấp) Các vấn tin nhập, xuất đều tham chiếu đến các quan hệ toàn cục và không dùng đến các thông tin về phân bố dữ liệu, vì thế phân rã vấn tin giống nhau trong cả hệ tập trung lẫn phân tán Các bước phân rã vấn tin gồm: phân tích; loại bỏ dư thừa và viết lại câu vấn tin

Trước khi tiến hành các bước phân rã vấn tin ta tiến hành chuẩn hóa Chuẩn hoá là biến đổi câu vấn tin thông thường thành câu vấn tin dạng chuẩn

để tiếp tục xử lý với các ngôn ngữ quan hệ như SQL, biểu đồ quan trọng nhất

là lượng từ hoá vấn tin cho vị từ phi lượng từ với độ phức tạp nào đó khi dùng các lượng từ cần thiết như : với mọi, : tồn tại, chúng được đặt phía trước Dạng chuẩn hội (Conjunctive normal form) là hội ( ) của các tuyển ( )

Ví dụ: (p11 p12 … p1n) … (pm1 pm2 … pnm) Trong đó : p## là vị từ đơn giản

Dạng chuẩn tuyển (disjunction normal from) là tuyển ( ) của các hội ( ) Ví dụ: (p11 p12 … p1n) … (pm1 pm2 … pmn)

Dạng chuẩn hội thường được sử dụng trong thực tế bởi vì các lượng từ hoá vấn tin thường chứa nhiều vị từ AND hơn vị từ OR Tuy nhiên nó cũng

có thể thực hiện cho các vị từ chuẩn tuyển

Trang 39

FROM EMP, ASG

WHERE EMP.ENO = AGS.ENO

AND ASG.PNO = “P1”

AND DUR =12 OR DUR = 24

Lượng từ hoá chuẩn hội là :

(EMP.ENO=ASG.ENO)^(ASG.PNO= “P1”) ^ ((DUR=12) v (DUR=24)) Còn lượng tử hóa chuẩn tuyển là :

((EMP.ENO =ASG.ENO) (ASG.PNO = “P1”) (DUR=12)) ((EMP.ENO =ASG.ENO) (ASG.PNO = “P1”) (DUR=24))

2.1.1 Phân tích câu vấn tin trên cơ sở “kiểu dữ liệu” và “ngữ nghĩa”

Phân tích câu vấn tin để bỏ đi các câu vấn tin sai hoặc thừa Những lý

do chính là do chúng sai kiểu hoặc sai nghĩa Khi phát hiện ra một trong

những trường hợp này, hệ thống chỉ đơn giản trở về và đưa ra một thông báo giải thích về lý do sai Ngược lại, quá trình xừ lý vấn tin sẽ được tiếp tục

Một câu vấn tin gọi là sai kiểu (type incorrect) nếu nó có một thuộc tính

hoặc tên quan hệ chưa được khai báo trong lược đồ toàn cục, hoặc kiểu không thích hợp cho các phép toán đang được xử lý Kỹ thuật được sử dụng để phát hiện các câu vấn tin sẽ nêu ở đây giống như kỹ thuật kiểm tra kiểu trong ngôn ngữ lập trình Tuy nhiên các khai báo kiểu là một bộ phận của lược đồ toàn cục chứ không phải nằm trong câu vấn tin bởi vì một câu vấn tin quan hệ không tạo ra một kiểu nào mới

Một câu vấn tin gọi là sai nghĩa (semantically incorrect) nếu các thành phần của nó không tham gia vào việc tạo ra kết quả Trong ngữ cảnh của phép

tính quan hệ, chúng ta không thể xác định được tính đúng đắn ngữ nghĩa cho câu vấn tin tổng quát Tuy nhiên vẫn có thể xác định được tính đúng đắn ngữ nghĩa của câu vấn tin cho một lớp vấn tin quan hệ, đó là các vấn tin không chứa các tuyển và phủ định bằng cách biểu diễn câu vấn tin như một đồ thị,

được gọi là đồ thị kết nối (connection graph) hay đồ thị vấn tin (query graph)

Trang 40

Chúng ta định nghĩa đồ thị kết nối cho các loại vấn tin hữu ích nhất có chứa phép chọn, chiếu và nối Trong một đồ thị vấn tin có một nút biểu thị cho một quan hệ kết quả và các nút khác biểu thị cho các quan hệ toán hạng Một cạnh giữa hai nút không phải là quan hệ kết quả biểu diễn cho một nối, còn cạnh nối với nút kết quả sẽ biểu thị cho phép chiếu Còn các nút không phải là kết quả có thể được gắn nhãn là một vị từ chọn hoặc vị từ nối Một đồ thị con quan trọng của đồ thị vấn tin là đồ thị nối chỉ có các nối mà thôi Đồ thị nối rất có ích cho giai đoạn tối ưu hóa vấn tin

Ví dụ 2.1.1-1

Từ các quan hệ trong ví dụ 1.2.2-1 tìm tên (ENAME) và nhiệm vụ (RESP) của các lập trình viên (programmer) đã làm việc cho dự án CAD/CAM trong hơn ba năm (36 tháng)

Câu vấn tin bằng SQL như sau :

SELECT EMANE, RESP

FROM ẸMP, ASG, PROJ

WHERE EMP.ENO = ASG.ENO

AND ASG.PNO = PROJ.PNO

AND PNAME = “CAD/CAM”

AND DUR >= 36

AND TITLE = “Programmer”

Đồ thị vấn tin cho câu vấn tin trên là hình 2.1-1a

Đồ thị vấn tin giúp cho việc xác định tính đúng đắn về ngữ nghĩa của câu vấn tin hội đa biến không có phủ định Câu vấn tin sẽ sai ngữ nghĩa nếu

đồ thị vấn tin của nó không liên thông

Câu vấn tin được xem là đúng bằng cách xét các nối kết bị thiếu như một tích Descartes Nhưng nói chung, vấn đề chính là các vị từ nối từ bị thiếu

và câu vấn tin cần được cần loại bỏ

Ngày đăng: 06/12/2015, 20:46

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đỗ 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
[2] 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”
[3] Lê Huy Thập, “Cơ sở lý thuyết song song”, NXB Thông tin và truyền thông, 8-2010 Sách, tạp chí
Tiêu đề: Cơ sở lý thuyết song song”
Nhà XB: NXB Thông tin và truyền thông
[4] 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ệ, Hà Nội 10 năm 2008 Sách, tạp chí
Tiêu đề: “Giáo trình Kỹ thuật lập trình”
Nhà XB: NXB Khoa học tự nhiên và công nghệ
[5] Lê Huy Thập, “Phân mảnh trên giá trị lặp của các thuộc tính trong CSDL quan hệ”, Tạp chí tin học và điều khiển học, Tập 23, Số 1, 86 – 98, 2007 Sách, tạp chí
Tiêu đề: Phân mảnh trên giá trị lặp của các thuộc tính trong CSDL quan hệ”
[6] 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ê
[7] 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.Tiếng Anh 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ê
[8] Barry Wilkingson, Michael Allen, “Parallel Programming, Technique and Applications Using Netwworked Workstations and Parallel Computers”, Prentice Hall New Jersey, 1999 Sách, tạp chí
Tiêu đề: Parallel Programming, Technique and Applications Using Netwworked Workstations and Parallel Computers
[9] Seyed H. Roo, “Parallel processing and Parallel Algorithms, Theory and Coputation”, Springer 1999 Sách, tạp chí
Tiêu đề: Parallel processing and Parallel Algorithms, Theory and Coputation

HÌNH ẢNH LIÊN QUAN

Bảng 1.2. Ưu tiên các phép toán logic - Một số giải pháp rút gọn câu vấn tin phân tán để xử lí song song
Bảng 1.2. Ưu tiên các phép toán logic (Trang 12)
Hình 1.1. CSDL tập trung, không phải là DDBS  Workstation4 - Một số giải pháp rút gọn câu vấn tin phân tán để xử lí song song
Hình 1.1. CSDL tập trung, không phải là DDBS Workstation4 (Trang 16)
Bảng 1.6. Quan hệ PhanNhiem - Một số giải pháp rút gọn câu vấn tin phân tán để xử lí song song
Bảng 1.6. Quan hệ PhanNhiem (Trang 19)
Hình 1.6. Biểu diễn mối liên hệ giữa các quan hệ nhờ các đường nối. - Một số giải pháp rút gọn câu vấn tin phân tán để xử lí song song
Hình 1.6. Biểu diễn mối liên hệ giữa các quan hệ nhờ các đường nối (Trang 19)
Bảng 1.8c. Quan hệ PAY - Một số giải pháp rút gọn câu vấn tin phân tán để xử lí song song
Bảng 1.8c. Quan hệ PAY (Trang 34)
Hình 1.10 Ví dụ về cây toán tử - Một số giải pháp rút gọn câu vấn tin phân tán để xử lí song song
Hình 1.10 Ví dụ về cây toán tử (Trang 36)
Đồ thị vấn tin ở hình 2.2 - Một số giải pháp rút gọn câu vấn tin phân tán để xử lí song song
th ị vấn tin ở hình 2.2 (Trang 42)
Hình 2.4b Vấn tin đã rút gọn - Một số giải pháp rút gọn câu vấn tin phân tán để xử lí song song
Hình 2.4b Vấn tin đã rút gọn (Trang 57)
Hình 2.8. Vấn tin gốc đã được giao hoán - Một số giải pháp rút gọn câu vấn tin phân tán để xử lí song song
Hình 2.8. Vấn tin gốc đã được giao hoán (Trang 64)
Hình 2.11. Rút gọn cho phân mảnh dẫn xuất - Một số giải pháp rút gọn câu vấn tin phân tán để xử lí song song
Hình 2.11. Rút gọn cho phân mảnh dẫn xuất (Trang 65)
Bảng 3.2 Quan hệ HS: - Một số giải pháp rút gọn câu vấn tin phân tán để xử lí song song
Bảng 3.2 Quan hệ HS: (Trang 72)
Bảng 3.3 Quan hệ KQHT: - Một số giải pháp rút gọn câu vấn tin phân tán để xử lí song song
Bảng 3.3 Quan hệ KQHT: (Trang 73)
Hình 3.10 Vấn tin sau khi dùng vị từ mâu thuẫn - Một số giải pháp rút gọn câu vấn tin phân tán để xử lí song song
Hình 3.10 Vấn tin sau khi dùng vị từ mâu thuẫn (Trang 79)
Hình 3.9 Vấn tin gốc đã được giao hoán - Một số giải pháp rút gọn câu vấn tin phân tán để xử lí song song
Hình 3.9 Vấn tin gốc đã được giao hoán (Trang 79)
Hình 3.18 Kết quả rút gọn vấn tin cho phân mảnh hỗn hợp. - Một số giải pháp rút gọn câu vấn tin phân tán để xử lí song song
Hình 3.18 Kết quả rút gọn vấn tin cho phân mảnh hỗn hợp (Trang 83)

TRÍCH ĐOẠN

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