Cơ sở dữliệu phân tán ra đời dựa trên nền tảng chính của cơ sở dữ liệu tập trung nhưng với đặc điểmriêng nổi bật là thiết kế theo phương pháp phân mảnh dữ liệu và sử dụng các bản sao rep
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÁO CÁO CHUYÊN ĐỀ
CƠ SỞ DỮ LIỆU NÂNG CAO
GV HƯỚNG DẪN: PGS.TS ĐỖ PHÚC
TP.HCM 2012
Trang 2M C L C ỤC LỤC ỤC LỤC
PHẦN I GIỚI THIỆU 3
PHẦN II TỔNG QUAN HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN 3
II.1 Khái niệm cơ sở dữ liệu phân tán 3
II.2 Hệ quản trị cơ sở dữ liệu phân tán 4
II.3 Các mức trong suốt của cơ sở dữ liệu phân tán 6
II.3.1 Phân đoạn dữ liệu và cấp phát dữ liệu 7
II.3.2 Điều khiển dư thừa 7
II.4 Các chiến lược thiết kế 8
II.4.1 Quá trình thiết kế từ trên xuống 8
II.4.2 Quá trình thiết kế từ dưới lên 10
PHẦN III CÁC PHƯƠNG PHÁP PHÂN MẢNH 10
III.1 Phân mảnh ngang 11
III.1.1 Phân mảnh ngang nguyên thủy 14
III.1.2 Phân mảnh ngang dẫn xuất 18
III.1.3 Kiểm định tính đúng đắn 19
III.2 Phân mảnh dọc 19
III.2.1 Các yêu cầu thông tin của phân mảnh dọc 20
III.2.2 Thuật toán nhóm 23
III.2.3 Thuật toán phân hoạch 26
III.3 Phân mảnh hổn hợp 29
PHẦN IV CÀI ĐẶT PHÂN MẢNH DỌC 30
IV.1 Một số đoạn chương trình 30
IV.2.2 Demo chương trình 31
PHẦN V KẾT LUẬN 32
TÀI LIỆU THAM KHẢO 32
Trang 3PHẦN I. GIỚI THIỆU
Các hệ thống cơ sở dữ liệu đã không ngừng cải tiến, phát triển và có những thành công lớntrong những thập kỷ qua, ngày càng có nhiều dữ liệu lớn được lưu trữ trên một hệ thống đồ sộcùng lúc đó đã hình thành và phát triển các mô hình lý thuyết hệ cơ sở dữ liệu, mặt khácnhững nguồn phát triển hệ thống ứng dụng cũng ngày càng lớn mạnh Hệ thống thông tin hìnhthành trên cơ sở kết nối các máy tính lại với nhau
Hệ cơ sở dữ liệu phân tán được phát triển mạnh dựa trên sự phát triển của mạng máy tính Vìvậy sự phát triển đó đặt ra vấn đề làm sao nắm bắt thông tin nhanh nhất để tổ chức công việchiệu quả nhất nhưng vấn đề là việc bố trí cơ sở dữ liệu ở những vị trí địa lý khác Cơ sở dữliệu phân tán ra đời dựa trên nền tảng chính của cơ sở dữ liệu tập trung nhưng với đặc điểmriêng nổi bật là thiết kế theo phương pháp phân mảnh dữ liệu và sử dụng các bản sao
(replication), dữ liệu phân tán sẽ được cập nhật và lưu tại các nút (site), mỗi nút tương ứng
với một cơ sở dữ liệu chính và chỉ thực hiện một số chức năng nhất định Việc ứng dụng cơ
sở dữ liệu phân tán có thể khắc phục được các nhược điểm vốn có của cơ sở dữ liệu tập trung.Ngoài ra, việc kết nối giữa các cơ sở dữ liệu từ xa được thực hiện qua kết nối liên kết sẽ đápứng được một số tiêu chuẩn cơ bản như cải thiện năng suất thực hiện công việc, đảm bảo antoàn dữ liệu, giảm giá thành truyền tin
Trong báo cáo này tác giả tìm hiểu về cách tổ chức và phân mảnh dữ liệu trong hệ cơ sở dữliệu phân tán và cài đặt phương pháp phân mảnh
II.1 Khái niệm cơ sở dữ liệu phân tán
Nói một cách đơn giản, cơ sở dữ liệu phân tán là tập hợp dữ liệu logic thuộc về cùng một hệthống nhưng trải rộng ra nhiều điểm trên mạng máy tính Như vậy có hai vấn đề của cơ sở dữliệu phân tán với tầm quan trọng tương đương nhau
Việc phân tán: Trong thực tế dữ liệu không đặt trên cùng một vị trí vì vậy đây là đặc điểm để
phân biệt cơ sở dữ liệu phân tán với cơ sở dữ liệu tập trung và cơ sở dữ liệu đơn lẻ
Liên quan logic: Trong cơ sở dữ liệu phân tán, dữ liệu có một số đặc tính liên kết chặt chẽ với
nhau như tính kết nối, tính liên quan logíc… trong cơ sở dữ liệu tập trung, mỗi vị trí quản lý
Trang 4một cơ sở dữ liệu và người sử dụng phải truy cập đến cơ sở dữ liệu ở những vị trí khác nhau
để lấy thông tin tổng hợp
Để tạo ra một hệ cơ sở dữ liệu phân tán, các tập tin không chỉ có liên đới logic nhưng chúngcòn phải có cấu trúc và được truy xuất, qua giao diện chung Với hiện thực đó thời gian gầnđây đang có nhiều nổ lực cung cấp các đặc thù chức năng của (DBMS) trên các dữ liệu bán
cấu trúc được lưu trong các tập tin trên Internet (chẳng hạn webiste), đòi hỏi ở trên dường
như khắt khe một cách không cần thiết
II.2 Hệ quản trị cơ sở dữ liệu phân tán
Hệ quản trị cơ sở dữ liệu phân tán cung cấp công cụ như tạo lập và quản lý cơ sở dữ liệu phântán Phân tích đặc điểm của hệ thống quản trị cơ sở dữ liệu phân tán như dưới đây để phânbiệt hệ thống phát triển theo kiểu thương mại có sẵn và kiểu mẫu phân tán
Hệ thống phát triển theo kiểu thương mại có sẵn được phát triển bởi những người cung cấp hệ
cơ sở dữ liệu tập trung Hệ cơ sở dữ liệu tập trung mở rộng bằng cách thêm vào những phần
bổ xung qua cách cung cấp thêm đường truyền và điều khiển giữa các hệ quản trị cơ sở dữliệu tập trung cài đặt ở những điểm khác nhau trên mạng máy tính Những phần mềm cầnthiết cho việc xây dựng cơ sở dữ liệu phân tán là:
máy tính (Data Dictionary - DD)
Mô hình các thành phần của hệ quản trị cơ sở dữ liệu phát triển theo kiểu thương mại (truycập từ xa trực tiếp)
DB DC DDB DD
Cơ sở dữ liệu địa phương 2
Trang 5Phương thức truy cập
dữ liệu
Hệ cơ sở quản trị dữ liệu 1
Kết quả
Cơ sở dữ liệu 2
Chương trình ứng
dụng
Hệ cơ sở quản trị dữ liệu 2
Những dịch vụ hệ quản trị cơ sở dữ liệu cung cấp:
nhiều cách khác nhau theo từng hoàn cảnh (phải cân nhắc giữa cấp độ trong suốt phântán và phân chia công việc thực hiện để công việc quản trị hệ thống đơn giản hơn)
thông tin về các thao tác trên cơ sở dữ liệu và cung cấp thông tin tổng thể về file dữliệu đặt ở các nơi trong hệ thống
Cách thức truy cập cơ sở dữ liệu từ xa qua chương trình ứng dụng theo hai cách cơ bản: truycập từ xa trực tiếp và gián tiếp
Mô hình truy cập từ xa qua phương thức cơ sở của hệ quản trị cơ sở dữ liệu, theo mô hìnhtrực tiếp trên, chương trình ứng dụng đưa ra yêu cầu truy cập đến cơ sở dữ liệu từ xa, yêu cầunày được hệ quản trị cơ sở dữ liệu tự động tìm nơi đặt dữ liệu và thực hiện yêu cầu tại điểm
đó Kết quả được trả lại cho chương trình ứng dụng Đơn vị chuyển đổi giữa hai hệ quả trị
cơ sở dữ liệu là phương thức truy cập cơ sở dữ liệu và kết quả nhận được (thông qua việc
thực hiện phương thức truy cập này) Với cách thức truy cập từ xa như vậy cấp độ trong suốt
phân tán được xây dựng bằng cách tạo ra tên file toàn bộ để đánh địa chỉ thích hợp cho nhữngđiểm lưu trữ dữ liệu ở xa
Trang 6II.3 Các mức trong suốt của cơ sở dữ liệu phân tán
Trong hệ cơ sở dữ liệu phân tán, những người thiết kế hệ thống đã xây dựng lên một hệ cácphần mềm phục vụ yêu cầu người dùng trên cơ sở dữ liệu đã có sẵn Hình dưới đây trình bàykiến trúc chung của cơ sở dữ liệu phân tán Tất nhiên kiến trúc này không biểu diễn tườngminh cho mọi hệ cơ sở dữ liệu phân tán Các mức của cơ sở dữ liệu phân tán được trình bàymang tính khái niệm thích hợp để dễ hiểu về tổ chức của các cơ sở dữ liệu phân tán nóichung
Mức đỉnh của lược đồ là sơ đồ toàn thể: Mô tả mọi dữ liệu nằm trong cơ sở dữ liệu phân tánnhư không bị phân tán Tuy nhiên mô hình dữ liệu sử dụng để xác định sơ đồ toàn thể để xácđịnh cách thức ánh xạ đến những mức khác của cơ sở dữ liệu phân tán Theo cách sử dụng môhình sơ đồ toàn thể, sơ đồ toàn thể xác định một tập các quan hệ chung nhất của hệ thống.Mỗi quan hệ có thể chia ra các phần không chồng lên nhau gọi là đoạn Có nhiều cách chia:chia theo chiều ngang, chia theo chiều dọc và chia theo kiểu hỗn hợp theo chiều ngang vàchiều dọc Ánh xạ này giữa quan hệ và các đoạn được xác định trong sơ đồ phân đoạn Ánh
xạ theo kiểu 1:n (một quan hệ sang nhiều đoạn) là một đoạn tương ứng một quan hệ và mộtquan hệ tương đương với một số đoạn Đoạn xác định bởi một quan hệ qua chỉ số (chỉ sốđoạn dữ liệu) Đoạn là phần logic của quan hệ, được đặt vật lý tại một hay vài vị trí trên mạngmáy tính Sơ đồ cấp phát xác định những vị trí đặt đoạn Kiểu ánh xạ xác định trong sơ đồ cấpphát cho phép nhận ra một cơ sở dữ liệu phân tán là dư thừa hay không dư thừa
Sơ đồ phân đoạn
Sơ đồ cấp phát
Sơ đồ ánh xạ địa phương 1
Sơ đồ ánh xạ địa phương 2
Sơ đồ toàn thể
Trang 7Về mặt hình thức ánh xạ thường từ một quan hệ sang nhiều đoạn, trong trường hợp ánh xạ 1:1thì một đoạn được ánh xạ từ một quan hệ Mọi đoạn dữ liệu tương ứng với cùng một quan hệ
R và đặt ở cùng vị trí j tạo ra “ảnh vật lý” của quan hệ R ở vị trí j Vì vậy có ánh xạ 1:1 giữa
ảnh vật lý và một cặp (quan hệ, đoạn) Mỗi ảnh vật lý có thể được chỉ định bởi một tên quan
vật lý của quan hệ R ở vị trí j
Thuật ngữ trong suốt mô tả bằng bản sao của đoạn tham chiếu đến vị trí lưu trữ và bản saoxác định qua tên quan hệ và hai chỉ số (chỉ số đoạn và chỉ số vị trí) Trong kiến trúc lược đồtrên có ba mức độ độc lập theo thứ tự giảm: mức tổng thể, mức cấp phát và mức ánh xạ Vìvậy, ở mức thấp hơn cần thiết phải ánh xạ sang mức cao hơn, việc ánh xạ này gọi là sơ đồ ánh
xạ và phụ thuộc vào kiểu của cơ sở dữ liệu địa phương trong hệ thống đồng nhất mức độ độclập có một số kiểu khác nhau khi ánh xạ địa phương ở các vị trí khác nhau
Kiến trúc này cung cấp khái niệm cơ sở và dễ hiểu về cơ sở dữ liệu phân tán Ba đối tượngquan trọng thúc đẩy phát triển cấu trúc này là tính riêng rẽ của việc phân đoạn dữ liệu, cấpphát đoạn, điều khiển dư thừa và độc lập dữ liệu đối với hệ quản trị cơ sở dữ liệu địa phương
II.3.1 Phân đoạn dữ liệu và cấp phát dữ liệu.
Sự chia xẻ này cho phép phân biệt hai mức khác nhau của mức độ trong suốt phân tán, có tên
là trong suốt phân đoạn và trong suốt định vị
Trong suốt phân đoạn: là cấp độ cao nhất của mức độ trong suốt, người sử dụng hoặc chươngtrình ứng dụng chỉ làm việc trên các quan hệ của cơ sở dữ liệu Trong suốt định vị là cấp độthấp hơn của độ trong suốt vì hệ thống yêu cầu người sử dụng hay chuơng trình ứng dụngphải làm việc trên đoạn logíc thay vì làm việc trên các quan hệ của cơ sở dữ liệu Tuy nhiênngười đó không biết đoạn đó được đặt ở vị trí nào trong cơ sở dữ liệu
II.3.2 Điều khiển dư thừa
Kiến trúc tham chiếu cho phép điều khiển dư thừa dữ liệu ở mức đoạn Các đoạn có thể có dữliệu giống nhau dùng để kết nối dữ liệu đó là nguyên nhân dư thừa dữ liệu
Độc lập với hệ quản trị cở sở dữ liệu địa phương đặc điểm này gọi là ánh xạ trong suốt đốivới cơ sở dữ liệu địa phương: quản trị cơ sở dữ liệu phân tán không cần quan tâm đến kiểu
dữ liệu xác định của cơ sở dữ liệu địa phương Mức trong suốt bản sao liên quan chặt chẽ tới
Trang 8mức trong suốt định vị Mức trong suốt bản sao có nghĩa là người sử dụng không biết bản saocủa đoạn đặt ở vị trí nào Mức trong suốt bản sao tương đương mức trong suốt định vị Tuynhiên, trong những trường hợp thực tế người sử dụng không có mức trong suốt định vị nhưnglại có mức trong suốt bản sao Phân rã quan hệ thành các đoạn thực hiện qua việc áp dụng hai
phân đoạn: phân đoạn ngang và phân đoạn dọc [phần III].
Có một số luật để xác định các đoạn:
Điều kiện hợp: mọi dữ liệu của quan hệ phải ánh xạ đến các đoạn Không xảy ra trường hợp
dữ liệu thuộc về quan hệ nhưng không thuộc về một đoạn nào
Điều kiện tái tạo lại quan hệ: luôn luôn có khả năng tạo lại quan hệ từ các đoạn của quan hệ.
Điều kiện cần: mỗi đoạn được lưu trữ trong cơ sở dữ liệu phân tán và quan hệ phải xây dựnglại được khi cần thiết
Điều kiện không liên kết: thích hợp khi các đoạn không liên kết với nhau vì vậy các bản dữ
liệu lặp lại có thể được điều khiển rõ ràng ở các mức cấp phát Điều kiện này chủ yếu có íchvới phân đoạn ngang
II.4 Các chiến lược thiết kế
Hai chiến lược chính đã được xác định [Ceri et al., 1987] trong việc thiết kế cơ sở dữ liệu
phân tán là tiếp cận từ trên xuống (top-down approach) và tiếp cận từ dưới lên (bottom-up
approach) Nhưng trong thực tế rất hiếm các ứng dụng đơn giản để chỉ sử dụng một cách tiếp
cận, vì vậy trong phần lớn thiết kế cả hai cách tiếp cần đều được áp dụng bổ sung nhau
II.4.1 Quá trình thiết kế từ trên xuống
Bộ khung cho quá trình này được trình bày trong hình [II.4.1] Nó Việc phân tích yêu cầunhằm định nghĩa môi trường hệ thống và thu nhập các nhu cầu xử lý của tất cả người dùng,đồng thời cũng xác định yêu cầu hệ thống
Trang 9Hồ sơ ghi chép các yêu cầu là nguyên liệu cho hai hoạt động song song thiết kế khung nhìn(view design) và thiết kế khái niệm (conceptual design), thiết kế khung nhìn định nghĩa cácgiao diện cho người dùng đầu cuối (end-user), ngược lại thiết kế khái niệm là quá trình xemxét tổng thể đối tượng - xí nghiệp, nhằm xác định các loại thực thể và mối liên hệ giữa chúngvới nhau [Davenport, 1981] Ta có thể chia quá trình này thành hai nhóm bao gồm các hoạtđộng liên quan tới nhau: Phân tích thực thể (entity analysis) và Phân tích chức năng(functional analysis) Phân tích thực thể có liên quan đến việc xác định các thực thể, các thuộctính và các mối liên hệ giữa chúng Phân tích chức năng đề cập đến việc xác định các chứcnăng cơ bản có liên quan đến xí nghiệp cần được mô hình hoá Kết quả của hai quá trình nàycần được đối chiếu qua lại, giúp chúng ta biết được chức năng nào sẽ hoạt tác trên những thựcthể nào.
Có sự liên hệ giữa thiết kế khái niệm và thiết kế khung nhìn, theo nghĩa nào đó thiết kế kháiniệm được coi như là sự tích hợp các khung nhìn Tuy nhiên mô hình khái niệm cần phải hỗtrợ không chỉ những ứng dụng hiện có mà còn cả những ứng dụng trong tương lai, tích hợpkhung nhìn nhằm đảm bảo các yêu cầu về thực thể và các mối liên hệ giữa các khung nhìnđều phải được bao quát trong lược đồ khái niệm
Trang 10Trong các hoạt động thiết kế khái niệm và thiết kế khung nhìn, người thiết kế cần phải đặc tảcác thực thể dữ liệu và phải xác định các ứng dụng chạy trên cơ sở dữ liệu cũng như cácthông tin thống kê về những ứng dụng này Thông tin thống kê bao gồm đặc tả về tần số ứngdụng, khối lượng thông tin khác nhau Lược đồ khái niệm toàn cục GCS và thông tin về kiểumẫu truy xuất thu được trong thiết kế khung nhìn sẽ là nguyên liệu (input) cho bước thiết kếphân tán Mục tiêu của giai đoạn này là thiết kế các lược đồ khái niệm cục bộ LCS bằng cáchphân tán các thực thể cho các vị trí của hệ thống phân tán.
Ta chia quan hệ thành nhiều quan hệ nhỏ hơn gọi là các mảnh (fragment) và phân tán cácmảnh này Hoạt động thiết kế phân tán gồm hai bước phân mảnh (fragmentation) và cấp phát(allocation) ta sẽ thảo luận về vấn đề này trong các phần sau
Thiết kế vật lý là ánh xạ lược đồ khái niệm cục bộ sang các thiết bị lưu trữ vật lý có sẵn tạicác vị trí tương ứng Nguyên liệu cho quá trình này là lược đồ khái niệm cục bộ và thông tin
về kiểu mẫu truy xuất các mảnh.Hoạt động phát triển và thiết kế luôn là quá trình liên tục, đòihỏi theo dõi hiệu chỉnh thường xuyên Vì thế chúng ta đưa vấn đề quan sát và theo dõi nhưmột hoạt động chính trong qua trình này Cần chú ý rằng chúng ta không chỉ theo dõi vấn đềcài đặt CSDL, mà còn quan sát theo dõi tính thích hợp của các khung nhìn của người dùng.Kết quả này có tác dụng phản hồi, tạo cơ sở cho việc tái thiết kế về sau
II.4.2 Quá trình thiết kế từ dưới lên
Thiết kế từ trên xuống thích hợp cho những cơ sở dữ liệu được thiết kế từ đầu Tuy nhiêntrong thực tế cũng có khi đã có sẵn một số cơ sở dữ liệu và chúng ta phải tích hợp chúngthành một cơ sở dữ liệu chung, tiếp cận từ dưới lên sẽ thích hợp cho tình huống này Khởiđiểm của thiết kế từ dưới lên là các lược đồ khái niệm cục bộ, sẽ phải được tích hợp thànhlược đồ khái niệm toàn cục
Loại môi trường này tồn tại chủ yếu trong ngữ cảnh của các cơ sở dữ liệu đa chủng, nhiềunghiên cứu cũng đã được thực hiện trong trường hợp này
Từ quan điểm phân tán dữ liệu, thực sự không có lý do gì để phân mảnh các dữ liệu Sau nữa
là trong các hệ thống các tập tin phân tán, việc phân tán được thực hiện dựa trên cơ sở toàn bộ
Trang 11tập tin và trước kia việc này đã được giải quyết bằng việc cấp pháp các tập tin cho các núttrên một mạng máy tính.
Đối với phân mảnh, điều quan trọng là có được một đơn vị phân tán thích hợp, trước tiênkhung nhìn của các ứng dụng thường chỉ là một tập con của quan hệ vì thế đơn vị truy xuấtkhông phải là toàn bộ quan hệ nhưng chỉ là các tập con của quan hệ kết quả là xem tập concủa quan hệ là đơn vị phân tán sẽ là điều thích hợp duy nhất
Hai là nếu các ứng dụng có khung nhìn được định nghĩa trên một quan hệ cho trước lại nằmtại những vị trí khác thì có hai cách chọn lựa với đơn vị phân tán là toàn bộ quan hệ hoặcquan hệ không được nhân bản mà được lưu ở một vị trí hoặc quan hệ được nhân bản cho tất
cả hoặc một số vị trí có chạy ứng dụng Chọn lựa đầu gây ra một số lượng lớn các truy xuấtkhông cần thiết đến dữ liệu ở xa còn ngược lại chọn lựa sau khi thực hiện nhân bản không cầnthiết, gây ra nhiều vấn đề khi cập nhật và có thể làm lãng phí nhiều không gian lưu trữ
Việc phân rã một quan hệ thành nhiều mảnh, mỗi mảnh được xử lý như một đơn vị, sẽ chophép thực hiện nhiều giao dịch đồng thời, ngoài ra việc phân mảnh các quan hệ sẽ cho phépthực hiện song song một câu vấn tin bằng cách chia nó thành một tập các câu vấn tin con hoạttác trên các mảnh Vì thế việc phân mảnh rẽ làm tăng mức độ hoạt động đồng thời (songhành) và như thế làm tăng lưu lượng hoạt động của hệ thống
Vấn đề liên quan đến việc kiểm soạt dữ liệu ngữ nghĩa (semantic data control) đặt biệt là vấn
đề kiểm tra tính toàn vẹn do kết quả của phân mảnh các thuộc tính tham gia vào một phụthuộc có thể bị phân rã vào các mảnh khác nhau và được cấp phát cho từng vị trí khác nhautrường hợp này nhiệm vụ đơn giản như kiểm tra các phụ thuộc cũng phải thực hiện truy tìm
dữ liệu ở nhiều vị trí
Có hai chiến lược phân mảnh cơ bản: phân mảnh ngang (horizontal fragmentation) và phânmảnh dọc (veritcal fragmentation) ngoài ra còn có khả năng có các mảnh lồng theo kiểu hỗnhợp
III.1 Phân mảnh ngang
Phân mảnh ngang chia quan hệ theo các bộ Mỗi mảnh là một tập con của quan hệ Có hailoại phân mảnh ngang phân mảnh nguyên thuỷ (primary horizontal fragmentation), thực hiệndựa trên các vị từ định nghĩa trên chính quan hệ đó và phân mảnh dẫn xuất (derived
Trang 12horizontal fragmentation), dựa trên các vị từ định nghĩa trên quan hệ khác Trước khi thựchiện phân mảnh, chúng ta cần thu thập thông tin cần thiết.
Thông tin này bao gồm lược đồ khái niệm toàn cục, các liên kết giữa các quan hệ, đặc biệt làphép nối Trong mô hình quan hệ, các mối liên hệ được biểu thị bằng các quan hệ Tuy nhiêntrong các mô hình khác, như mô hình thực thể-quan hệ, các mối liên hệ được biểu diễn tườngminh Với mục đích thiết kế phân tán, các mối liên hệ cũng được mô hình hoá trong bộ khungquan hệ Theo cách này chúng ta sẽ vẽ các đường nối (L) có hướng giữa các quan hệ (R, S)ràng buộc nhau qua phép đẳng nối dạng
Trong đó R gọi là quan hệ chủ, S gọi là quan hệ thành viên Người ta dùng hàm owner và
member để phân biệt các quan hệ này:
PROJ( PNO, PNAME, BUDGET ) EMP( ENO, ENAME, TITLE )
ASG( ENO, PNO, RESP, DUR )
Trang 13owner(L3) = PROJ và member(L3) = ASG
Thông tin định lượng về CSDL, tức là lực lượng (cardinality) của mỗi quan hệ R, ký hiệu
nghiên cứu được các ứng dụng quan trọng nhất Một hướng dẫn quan trọng, gọi là qui tắc
80/20, là “20% câu vấn tin sẽ chiếm đến 80% truy xuất dữ liệu”.
Một vị từ đơn giản p được định nghĩa trên R có dạng:
Các câu vấn tin thường chứa nhiều vị từ phức tạp, là tổ hợp các vị từ đơn giản Một tổ hợpcần đặc biệt chú ý được gọi là vị từ hội sơ cấp (minterm predicate), là hội (conjuction) củacác vị từ đơn giản Bởi vì ta luôn có thể biến đổi một biểu thức bool thành dạng chuẩn hội(conjuctive normal form), việc sử dụng vị từ hội sơ cấp trong thuật toán thiết kế không làmmất tính tổng quát
hiện trong vị từ hội sơ cấp dạng khẳng định hoặc phủ định
Theo những thông tin định tính về các ứng dụng, chúng ta cần biết hai tập dữ liệu
Trang 14Độ tuyển hội sơ cấp (minterm selectivity): Số lượng các bộ 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 Ta ký hiệu độ tuyển của hội sơ cấp m là
sel(m).
Tần số truy xuất (access frequency): tần số ứng dụng truy xuất dữ liệu Cho
gian đã cho 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).
III.1.1 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 phép toán chọn trên các quan hệchủ nhân của một lược đồ CSDL
Ví dụ: Phân rã quan hệ PROJ thành các mảnh ngang PROJ1 và PROJ2 trong ví dụ trên có
thể được định nghĩa như sau:
Ta cũng có thể định nghĩa các mảnh ngang sau đây
P2 Database Develop 135000 New York
Trang 15P3 CAD/CAm 250000 New York
PRJ3
r có chứa tất cả các bộ của r thoả vị từ hội sơ cấp mi Như vậy, cho tập M các vị từ hội sơcấp, số mảnh ngang bằng số các vị từ hội sơ cấp trong tập M Tập các mảnh ngang này gọi là
tập các mảnh hội sơ cấp (minterm fragment).
Theo như đã phân tích, việc định nghĩa các mảnh ngang phụ thuộc vào các vị từ hội sơ cấp
Vì thế bước đầu tiên của mọi thuật toán phân mảnh là xác định tập các vị từ đơn giản sẽ cấuthành các vị từ hội sơ cấp
Các vị từ đơn giản cần có các tính chất đầy đủ và cực tiểu.
Tính đầy đủ: Tập các vị từ đơn giản Pr gọi là đầy đủ nếu và chỉ nếu xác suất mỗi ứng dụng truy xuất đến một bộ bất kỳ thuộc về một mảnh hội sơ cấp nào đó được định nghĩa theo Pr
đều bằng nhau
Ví dụ: Xét phân mảnh PRJ1, PRJ2, PRJ3 ở ví dụ trước Nếu ứng dụng duy nhất truy xuất
PROJ muốn truy xuất các bộ theo vị trí, thì tập vị từ này là đầy đủ bởi vì mỗi bộ của mỗimảnh PRJi đều có xác suất truy xuất như nhau
Tuy nhiên nếu có ứng dụng thứ hai chỉ truy xuất các bộ dự án có ngân sách trên 200000 USDthì tập vị từ
xác định các mảnh trên không còn đầy đủ nữa
Để cho tập vị từ đầy đủ ta phải thêm các vị từ vào Pr
Trang 16Lý do cần phải đảm bảo tính đầy đủ là vì các mảnh thu được theo tập vị từ đầy đủ sẽ nhấtquán về mặt logic do tất cả chúng đều thoả vị từ hội sơ cấp Chúng cũng đồng nhất về mặtthống kê theo cách mà các ứng dụng truy xuất chúng.
Tính cực tiểu: Cho tập các vị từ đơn giản Pr Ta nói một vị từ là có liên đới (relevant) trong
Tập Pr gọi là cực tiểu nếu mọi vị từ trong nó là có liên đới
Ví dụ: Tập vị từ Pr trong ví dụ trước là đầy đủ và cực tiểu Tuy nhiên nếu chúng ta thêm vị từ
PNAME=”Instrument”
vào Pr, thì Pr không còn là cực tiểu nữa bởi vì vị từ trên không có liên đới ứng với Pr Không
có ứng dụng nào truy xuất đến các mảnh được tạo ra
Bây giờ chúng ta sẽ trình bày một thuật toán lặp sinh ra một tập các vị từ đầy đủ và cực tiểu
Ta sẽ sử dụng qui tắc cơ bản về tính đầy đủ và cực tiểu gọi tắt là qui tắc 1
Qui tắc 1: Một quan hệ hoặc một mảnh được phân hoạch thành ít nhất hai phần và chúng
được truy xuất khác nhau bởi một ứng dụng
Ký hiệu f(p) là mảnh sinh bởi vị từ p và F là tập các mảnh
Thuật toán: COM_MIN
Đầu vào: Quan hệ r và tập các vị từ đơn giản Pr.
Đầu ra: Tập các vị từ Pr’đầy đủ và cực tiểu.
Khai báo: F: tập các mảnh hội sơ cấp.