Bài giảng Thiết kế cơ sở dữ liệu phân tán

Thiết kế hệ thống một máy tính phân tán cần phải chọn những vị trí đặt dữ liệu và các chương trình trên một mạng máy tính, rất có thể phải kể luôn cả việc thiết kế hệ thống mạng. Đối với hệ quản trị CSDL phân tán, việc phân tán ứng dụng đòi hỏi hai vấn đề: (i) Phân tán hệ quản trị CSDL và phân tán các chương trình ứng dụng chạy trên hệ quản trị đó.

doc42 trang | Chia sẻ: haohao89 | Lượt xem: 2853 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Bài giảng Thiết kế cơ sở dữ liệu phân tán, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG II THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN Thiết kế hệ thống một máy tính phân tán cần phải chọn những vị trí đặt dữ liệu và các chương trình trên một mạng máy tính, rất có thể phải kể luôn cả việc thiết kế hệ thống mạng. Đối với hệ quản trị CSDL phân tán, việc phân tán ứng dụng đòi hỏi hai vấn đề: Phân tán hệ quản trị CSDL và phân tán các chương trình ứng dụng chạy trên hệ quản trị đó. Phân tán dữ liệu. Việc tổ chức các hệ phân tán có thể được nghiên cứu dựa theo ba trục không gian vuông góc [Levin and Morgan, 1975] bao gồm: Trục mức độ chia sẻ , Trục kiểu mẫu truy xuất, Trục mức độ hiểu biết về kiểu mẫu truy xuất. Hình 2.1 trình bày các chọn lựa dựa theo các trục này. 1/ Trục mức độ chia sẻ Mức độ hiểu biết Thông tin đầy đủ Thông tin một phần Kiểu truy xuất Động Tĩnh Dữ liệu Mức độ chia sẻ Dữ liệu và Chương trình Hình 2.1.Bộ khung phân tán Dựa theo mức độ chia sẻ trên trục mức độ chia sẻ sẽ có ba khả năng xẩy ra. - Không chia sẻ: Mỗi ứng dụng và dữ liệu của nó được thực thi tại một vị trí và không có trao đổi và hoặc giao tiếp với những chương trình khác hoặc truy xuất dữ liệu tại những vị trí khác. - Chia sẻ dữ liệu: Tất cả các chương trình đều được nhân bản cho mọi vị trí nhưng các tập tin dữ liệu thì không. Các yêu cầu người sử dụng được xử lý tại mỗi vị trí của chúng và những dữ liệu cần thiết sẽ được chuyển đi trên mạng - Mức chia sẻ dữ liệu lẫn chương trình: Cả chương trình và dữ liệu đều được dùng chung, nghĩa chương trình nằm tại một vị trí có thể yêu cầu một dịch vụ từ một chương trình nằm tại một vị trí thứ hai và đến lượt nó, chương trình này có thể truy xuất dữ liệu nằm tại một vị trí thứ ba nào đó. 2/ Trục kiểu mẫu truy xuất Theo kiểu mẫu truy xuất, có hai chọn lựa: kiểu mẫu truy xuất các yêu cầu từ người sử dụng có thể thuộc loại tĩnh (không thay đổi theo thời gian) hoặc thuộc loại động (thay đổi theo thời gian). Rõ ràng chúng ta sẽ dễ dàng hoạch định và quản lý những môi trường tĩnh hơn so với trường hợp các hệ phân tán động (dynamic distributed stystem). Mối liên hệ giữa thiết kế CSDL phân tán và việc xử lý câu vấn tin đẫ được thiết lập qua trục này. 3/ Trục mức độ hiểu biết về kiểu mẫu truy xuất Có khả năng là nhà thiết kế không biết hết mọi thông tin về cách sử dụng truy xuất CSDL phân tán thích ứng được với tình huống này. Một chọn lựa thực tế hơn là nhà thiết kế biết được đầy đủ các thông tin, trong đó kiểu mẫu truy xuất có thể được dự đoán và trong thực tế không khác xa quá nhiều so với dự đoán, và trường hợp nữa là biết được một phần thông tin, trong đó có thể có khác biệt nhiều so với dự đoán. 2.1. CÁC CHIẾN LƯỢC THIẾT KẾ Hai chiến lược chính đã được xác định trong thiết kế các CSDL 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). Auá trình thiết kế theo hai cách tiếp cận này rất khác nhau. Nhưng như chúng ta đã biết rất hiếm các ứng dụng đủ đơn giản để có thể sử dụng chỉ một trong hai cách tiếp cân. Vì vậy phần lớn thiết kế CSDL cả hai cách tiếp cận đều được áp dụng để bổ sung cho nhau. 2.1.1 Quá trình thiết kế từ trên xuống Quá trình này được trình bày trong hình 2.2. Bắt đầu bằng việc phân tích yêu cầu nhằm định nghĩa môi trường hệ thống và thu thập các nhu cầu về dữ liệu và nhu cầu xử lý của tất cả mọi người có sử dụng CSDL [Yao et al; 1982a]. Nghiên cứu các yêu cầu cũng xác định xem hệ thống cuối cùng sẽ như thế nào so với các mục của một DBMS phân tán. 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ộc tí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ức nă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ày cầ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ực thể nào. Có một sự liên hệ giữa thiết kế khái niệm và thiết kế khung nhìn, người sử dụng cần phải đặc tả các thực thể các thực thể dữ liệu và phải xác định các ứng dụng sẽ chạy trên cư sở dữ liệu cũng như các thô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ố ứng dụng, khói lượng các thông tin khác nhau, vân vân. Chú ý rằng từ bước thiết kế khái niệm sẽ cho ra định nghĩa lược đồ khái niệm toàn cục được đưa ra thảo luận trong phần 4.3. Chúng ta vẫn chưa xem xét các đặc thù của moi trường phân tán; thực sự cho đến lúc này, quá trình thiết kế hoàn toàn giống với quá trình thiết kế trong một CSDL tập trung. Lược đồ khái niệm toàn cục GCS và thông tin về kiểu mẫu truy xuất thu được trong thiết kế khung nhìn sẽ là nguyên liệu vào cho bước thiết kế phân tán. Thiết kế các lược đồ khái niệm cục bộ LCS là bằng cách phân tán các thực thể cho các vị trí của hệ thống phân tán, có thể xử lý mỗi thực thể như là một đơn vị phân tán. Với mô hình quan hệ được dùng làm cơ sở thảo luận trong cuốn sách này, các thực thể sẽ tương ứng với các quan hệ. Thay vì phân tán các quan hệ, chúng ta thường chia chúng thành nhiều quan hệ nhỏ hơn gọi là các mảnh (fragment) và chính các mảnh sẽ được phân tán. Vì vậy hoạt động thiết kế phân tán gồm có hai bước: Phân mảnh (fragmentation) và cấp phát (allocation). Bước cuối cùng là thiết kế vật lý, là bước á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ại cá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 mảnh. Chúng ta đã biết hoạt động phát triển và thiết kế luôn là một quá trình liên tục, đòi hỏi phải theo dõi, hiệu chỉnh thường xuyên. Vì thế chúng ta cũng đưa vấn đề quan sát và theo dõi như một hoạt động chính trong quá 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 phải xem xét, theo dõi tính thích hợp của các khung nhìn của người sử dụng. Kết quả này có tác dụng phản hồi, tạo tiền đề cho việc tái thiết kế về sau. 2.1.2 Quá trình thiết kế từ dưới lên Thiết kế từ trên xuống thích hợp với những CSDL được thiết kế từ đầu. Tuy nhiên chúng ta hay gặp trong thực tế đã có sẵn một số CSDL và nhiệm vụ thiết kế là phải tích hợp chúng thành một CSDL. 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ộ. Qua trình này sẽ bao gồm việc tích hợp các lược đồ cục bộ thành các lược đồ khái niệm toàn cục. Phân tích yêu cầu Thiết kế khái niệm Thiết kế khung nhìn Yêu cầu hệ thống (Mục tiêu) Tích hợp khung nhìn Nguyên liệu người dùng Thông tin truy xuất Lược đồ khái niệm toàn cục Định nghĩa lược đồ ngoài Thiết kế phân tán L. đồ khái niệm cục bộ Thiết kế vật lý Lược đồ Vật lý Theo dõi và bảo trì Thông tin từ người dùng Hình 2.2.Quá trình thiết kế từ trên xuống Phản hồi Phản hồi 2.2. CÁC VẤN ĐỀ THIẾT KẾ PHÂN TÁN. Trong phần trước chúng ta đã chỉ ra rằng các quan hệ trong một lược đồ CSDL thường được phân rã thành các mảnh nhỏ hơn nhưng chưa đưa ra một lý do hoặc chi tiết nào về quá trình này. Mục tiêu của phần này là trình bày những chi tiết đó. Tập các câu hỏi dưới đây sẽ bao quát toàn bộ vấn đề. Tại sao lại cần phải phân mảnh ? Làm thế nào để thực hiện phân mảnh? Phân mảnh nên thực hiện đến mức độ nào? Kiểm tra tính đúng đắn của việc phân mảnh như thế nào? Vấn đề cấp phát như thế nào? Những thông tin nào sẽ cần thiết cho việc phân mảnh và cấp phát? Để thuận lợi cho việnc nghiên cứu, chúng ta xét CSDL quan hệ của công ty Điện-Toán đã nêu ở chương I như sau Quan hệ EMP(ENO, ENAME, TITLE) Trong đó EMP là Employee, ENO là Employee Number (Mã số nhân viên), ENAME là Employee Name (Tên nhân viên), TITLE (Chức vụ). Và dữ liệu giả định như sau: ENO ENAME TITLE E1 E2 E3 E4 E5 E6 E7 E8 J.Doe M. Smith A.lee J.Mmith B.Casey L.Chu R.Dvid J.Jones Elect. Eng Syst. Anal Mech.Eng Programmer Syst.Anal Elect.Eng Mech.Eng Syst. Anal Hình 2.3a. Quan hệ EMP Quan hệ PROJ(PNO, PNAME, BUDGET) Trong đó PNO là Project Number (Mã số dự án); PName - Project Name (Tên dự án) và BUDGET (Ngân sách dự án), LOC (Location = vị trí). Và dữ liệu giả định như sau: PNO PNME BUDGET LOC P1 P2 P3 P4 Instrumentation Dabatase Develop CAD/ CAM Maintenance 150000 135000 250000 310000 Montreal New York New York Paris Hình 2.3b. Quan hệ PROJ Quan hệ PAY(TITLE, SAL) Trong đó SAL - salary (Tiền lương). Và dữ liệu giả định như sau: TITLE SAL Elect. Eng. Syst. Anal. Mech.Eng Progammer 40000 34000 27000 24000 Hình 2.3c. Quan hệ PAY Quan hệ ASG (ENO, PNO, DUR, RESP) Trong đó ASG Assignment (Phân công nhiệm vụ): phân nhân viên làm tại dự án, thời gian làm, với nhiệm vụ), DUR (Duration = thời gian).RESP (Responsibility = nhiệm vụ). Và dữ liệu giả định như sau: ENO PNO RESP DUR E1 E2 E2 E3 E3 E4 E5 E6 E7 E8 P1 P1 P2 P3 P4 P2 P2 P4 P3 P3 Manager Analyst Analyst Consultant Engineer Programmer Manager Manager Engineer Manager 12 24 6 10 48 18 24 48 36 40 Hình 2.3c. Quan hệ ASG Relationship giữa các relations Sau đây chúng ta xét các trường hợp (i) đến (vi) đã nêu trên. 2.2.1. Tại sao lại cần phải phân mảnh ? Trước tiên khung nhìn của các ứng dụng thường chỉ là một tập con của của quan hệ. Vì thế đơn vị truy xuất không phải là toàn bộ quan hệ mà chỉ là các tập con của quan hệ. Vì vậy đưa tập con của quan hệ ra khung nhìn là tốt nhất cho nên phân mảnh các quan hệ và phân tán đến nơi sử dụng khung nhìn sẽ là điều thích hợp nhất. Thứ hai là nếu các ứng dụng có các khung nhìn được định nghĩa trên một quan hệ cho trước, quan hệ đó lại nằm tại các vị trí khác thì có hai cách chọn lựa: hoặc đơn vị phân tán là toàn bộ quan hệ không được nhân bản và được lưu ở một vị trí; hoặc quan hệ được nhân bản cho tất cả các vị trí hoặc một số vị trí có chạy ứng dụng. Chọn lựa đầu gây ra một một số lượng lớn các truy xuất không cần thiết đến dữ liệu ở xa. Còn ngược lại chọn lựa sau thực hiện nhân bản không cần thiết, gây ra nhiều vấn đề khi truy nhập và có thể làm lãng phí nhiều không gian lưu trữ. Cuối cùng, 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ẽ cho phép thực hiện nhiều giao dịch đồng thời. và cho phép thự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 con hoạt tác trên các mảnh. Vì thế việc phân mảnh sẽ làm tăng mức độ hoạt động đồng thời và như thế làm tăng lưu lượng hoạt động của hệ thống. Kiểu hoạt động đồng thời này chúng ta gọi là đồng thời nội vấn tin (intraquery concurrency). Những khiếm khuyết về việc phân mảnh: - Nếu ứng dụng có những yêu cầu “xung đột” ngăn cản việc phân rã thành các mảnh được sử dụng độc quyền, những ứng dụng có các khung nhìn được định nghĩa trên nhiều mảnh sẽ giảm hiệu suất hoạt động. Chẳng hạn, có thể cần phải truy xuất dữ liệu từ hai mảnh rồi nối hoặc hợp chúng lại với chi phí rất cao.Tránh được điều này là một vấn đề cơ bản của kỹ thuật phân mảnh. Vấn đề thứ hai liên quan đến việc kiểm soát ngữ nghĩa dữ liệu (semantic data control), đặc 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 những vị trí khác nhau trong trường hợp này, một 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í. 2.2.2. Làm thế nào để thực hiện phân mảnh? (Các kiểu phân mảnh) Thể hiện của các quan hệ chính là các bảng, vì thế vấn đề là tìm những cách khác nhau để chia một bảng thành nhiều bảng con khác nhau: Ví dụ 2-1 Chúng ta xét quan hệ PROJ ở hình 2.3b, quan hệ PROJ được phân mảnh ngang thành hai quan hệ: Quan hệ con PROJH1 chứa các thông tin về các dự án có ngân sách dưới 200,000 đô la còn quan hệ con PROJH2 lưu các thông tin về các dự án có ngân sách lớn hơn 200,000 USD PNO PNAME BUDGET LOC P1 P2 Intrumentation Database Dvelop 150000 135000 Montreal New York Hình 2.4a. Mảnh ngang PROJH1 lưu các thông tin về các dự án có ngân sách dưới 200,000 USD PNO PNAME BUDGET LOC P3 P4 CAD/CAM Maintenance 250000 310000 New York Paris Hình 2.4b. PROJH2 lưu các thông tin về các dự án có ngân sách lớn hơn 200,000 USD Ví dụ 2-2 Hình 2.5a và 2.5b trình bày quan hệ PROJ của hình 2.3 được phân hoạch dọc thành hai quan hệ con PROJV1 và PROJV2. PROJV1 chỉ chứa thông tin về ngân sách các dự án còn PROJV2 chứa tên và vị trí dự án. Điều quan trọng cần chú ý là khoá của quan hệ (PNO) có mặt trong cả hai mảnh. PNO BUDGET P1 P2 P3 P4 150000 135000 250000 310000 Hình 2.5a. Mảnh dọc PROJV1 chỉ lưu thông tin về ngân sách các dự PNO PNAME LOC P1 P2 P3 P4 Insumentation Database Develop CAD/CAM Maintenance Montereal New York New York Paris Hình 2.5a. Mảnh dọc PROJV2 chỉ lưu tên và vị trí dự án 2.2.3. Phân mảnh nên thực hiện đến mức độ nào? Phân mảnh CSDL đến mức độ nào là một quyết định rất quan trọng, có ảnh đến hiệu năng thực hiện vấn tin. Thực sự, các vấn đề trong phần 4.2.1 về các lý do phân mảnh đã chứa đựng một phần câu trả lời cho câu hỏi đang thảo luận ở đây. Mức độ phân mảnh có thể là từ tháI cực không phân mảnh thành mảnh nào đến thái cực phân mảnh thành từng bộ phận (trường hợp phân mảnh ngang) hoặc thành từng thuộc tính ( trường hợp phân mảnh dọc). Chúng ta đã nói đến “các tác dụng phụ” của các đơn vị phân mảnh qua lớn và quá nhỏ. Thế thì điều chúng ta cần là tìm ra được một mức độ phân mảnh thích hợp. Một mức độ như thế chỉ được định nghĩa ứng với các ứng dụng sẽ chạy trên CSDL. Vấn đề là sự thực hiện như thế nào? Nói chung, các ứng dụng cần được đặc trưng qua một số tham số. Theo giá trị của những tham số này mà chúng ta có thể xác định được từng mảnh. 2.2.4. Kiểm tra tính đúng đắn việc phân mảnh như thế nào? (Các quy tắckiểm tra) Khi xem xét quá trình chuẩn hoá chúng ta đã đề cập đến một số quy tắc để đảm bảo được tính nhất quán của CSDL. Điều quan trọng cần nhận ra là điểm giống nhau giữa việc phân mảnh dữ liệu trong trường hợp phân tán (đặc biệt là phân mảnh dọc) và việc chuẩn hoá các quan hệ. Do vậy chứng ta có thể định nghĩa các quy tắc phân mảnh tương tự như các nguyên lý chuẩn hoá. Chúng ta sẽ tuân thủ ba quy tắc trong khi phân mảnh mà chúng bảo đảm rằng CSDL sẽ không có thay đổi nào về ngữ nghĩa khi phân mảnh. Tính đầy đủ (completeness). Nếu một thẻ hiện quan hệ đượ phân rã thành các mảnh R1, R2…..Rn, thì mỗi mực dữ liệu có thể gặp trong R cũng có thể gặp trong một hay nhiều mảnh R1. Đặc tính này, giống như tính chất phân rã nối không mất trong chuẩn hoá chúng quan trọng trong phân mảnh bởi vì nó đảm bảo rằng dữ liệu trong quan hệ R được ánh xạ vào các mảnh và không bị mất. Chú ý rằng trong trường hợp phân mảnh ngang, “mục dữ liệu” muốn nói đến một bộ, còn trong trường hợp phân mảnh dọc, nó muốn nói đến một thuộc tính. Tính tái thiết được (Reconstruction). Nếu một quan hệ R được phân rã thành các mảnh R1,R2….Rn, thì cần phải định nghĩa một toán tử quan hệ Ñ sao cho. R = ÑRi, "Ri Î FR Toán tử Ñ thay đổi tuỳ theo từng loại phân mảnh; tuy nhiên điều quan trọng là phải xác định được nó. Khả năng tái thiết mối quan hệ từ các mảnh của nó bảo đảm rằng các ràng buộc được định nghĩa trên dữ liệu dưới dạng các phụ thuộc sẽ được đảm bảo. Tính tách biệt (disjointness). Nếu quan hệ R được phân rã ngang thành các mảnh R1,R2….Rn, và mục dữ liệu di đã nằm trong các mảnh Rj, thì nó sẽ không nằm trong một mảnh Rk khác (k ≠ j) tiêu chuẩn này bảo đảm rằng các mảnh ngang sẽ tách biệt (rời nhau). Nếu quan hệ được phân rã dọc, tính tách biệt chỉ được định nghĩa trên các trường không phải là khoá chính của một quan hệ. 2.2.5. Vấn đề cấp phát như thế nào? Giả sử rằng CSDL đã được phân mảnh thích hợp và cần phải quyết định cấp phát các mảnh cho các vị trí trên mạng. khi dữ liệu được cấp phát, nó có thể được nhân bản hoặc chỉ duy trì một bản duy nhất. lý do cần phải nhân bản là nhằm bảo đảm được độ tin cậy và hiệu quả cho các độ vấn tin chỉ đọc. Nếu có nhiều bản sao của một mục dữ liệu thì chúng ta vẫn có cơ hội truy xuất được dữ liệu đó ngay sau khi hệ thống có sự cố. Hơn nữa các câu truy vấn chỉ đọc truy xuất đến cùng một mục dữ liệu có thể cho thực hiện song song bởi vì các bản sao có mặt tai nhiều vị trí. Ngược lại câu vấn tin cập nhật có thể gây ra nhiều rắc rối bởi vì hệ thống phải bảo đảm rằng tất cả các bản sao phải được cập nhật chính xác. Vì vậy quyết định nhân bản cần phảI được cân nhắc và phụ thuộc vào tỷ lệ giữa các câu vấn tin chỉ đọc các câu vấn tin cập nhật. Quyết định này hầu như đều có ảnh hưởng đến tất cả các thuật toán của DBMS phân tán và các chức năng kiểm soát khác. Một CSDL không nhân bản (thường gọi là CSDL phân họach) có chứa các mảnh được cấp phát cho các vị trí, trong đó chỉ tồn tại một bản sao duy nhất cho mỗi mảnh trên mạng. Trong trường hợp nhân bản, hoặc toàn bộ CSDL đều tồn tại ở mỗi vị trí, (CSDL nhân bản hoàn toàn) hoặc các mảnh được phân tán đến các vị trí, trong đó một mảnh có thể có nhiều bản sao (CSDL nhân bản một phần) nằm tại nhiều vị trí, số lượng các bản sao của một mảnh có thể là nguyên liệu (input) cho thuật toán cấp phát (allocation algorithm) hoặc là một biến quyết định (dicision variable) và giá trị của nó được xác định bằng thuật toán này. Hình 2.6 so sánh ba chọn lựa nhân bản ứng với các chức năng khác nhau của DBMS phân tán. Nhân bản hoàn toàn Nhân bản hoàn toàn Nhân bản hoàn toàn Xử lý vấn tin Dễ Cùng mức độ khó Quản lý thư mục Dễ hoặc không tồn tại Cùng mức độ khó Điều khiển đồng thời Vừa phải Khó Dễ Độ tin cậy Rất cao Cao Thấp Tính thực tế Có thể áp dụng Thực tế Có thể áp dụng Hình 2.6. So sánh các lựa chọn nhân bản 2.2.6. Những thông tin nào sẽ cần thiết cho việc phân mảnh và cấp phát? Một điều cần lưu ý trong việc thiết kế phân tán là qua nhiều yếu tố có ảnh hưởng đến một thiết kế tối ưu. Tổ chức logic của CSDL, vị trí các ứng dụng, đặc tính truy xuất ccủa các ứng dụng đến CSDL, và các đặc tính của hệ thống máy tính của tại mỗi vị trí đều ảnh hưởng các quyêt định phân tán. Điều này khiến cho việc diễn đạt bàI toán phân tán trở nên hết sức phức tạp. Các thông tin cần cho thiết kế phân tán 2.3. PHƯƠNG PHÁP PHÂN MẢNH Các cách phân mảnh cơ bản là: Phân mảnh ngang và phân mảnh dọc. Ngoài ra còn có mảnh hỗn hợp (kết hợp hai kiểu phân mảnh ngang và dọc). 2.3.1 Phân mảnh ngang và phân mảnh ngang dẫn xuất. 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ỷ (primary horizontal fragmentation) của một quan hệ được thực hiện dựa trên các vị từ được định nghĩa trên quan hệ đó. Ngược lại phân mảnh ngang dẫn xuất (derived horizontal fragmentation) là phân mảnh một quan hệ dựa vào các vị từ được định nghĩa trên một quan hệ khác, quan hệ đó thường là quan hệ chủ. Yêu cầu thông tin của phân mảnh ngang. Thông tin về CSDL. Thôn tin về CSDL muốn nói đến lược đồ khái niệm toàn cục. Tức là chúng ta cần biết được các quan hệ sẽ kết lại với nhau như thế nào, đặc biệt là bằng các phép nối. Trong mô hình quan hệ, các mối liên hệ này cũng được biểu thị bằng các quan hệ. tuy nhiên trong các mô hình khác như mô hình thực thể liên hệ( entity-relationship model), các mối liên hệ được biểu diễn tường minh. 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ộ khung quan hệ. Theo cách này, chúng ta sẽ vẽ các đường nối có hướng (cung các) giữa quan hệ có liên hệ với nhau qua một nối bằng (equijoin). Ví dụ 2-3 Hình 2.7.Trình bày một cách biểu diễn các đường nối giữa các quan hệ chú ý rằng hướng của các đường nối cho biết mối quan hệ một -nhiều. Chẳng hạn với mỗi chức vụ (tile) có nhiều nhân viên giữ chức vụ đó, vì thế chúng ta vẽ một đường nối giữa các quan hệ PAY và EMP. Đồng thời mối liên hệ nhiều- nhiều giữa EMP và PROJ được biểu diễn bằng hai đường nối đến quan hệ ASG. Đường nối giữa các đối tượng CSDL (trường hợp này là các quan hệ) hoàn toàn quen thuộc với những độc giả về mô hình mạng. Trong mô hình quan hệ chúng được giới thiệu đưới dạng một đồ thị nối (join graph). Đồ thị này được trình bày chi tiết trong những chương bàn về kỹ thuật xử lý vấn tin. Chúng ta đề cập đến ở đây bởi vì, chúng làm đơn giản hoá cách trình bày các
Tài liệu liên quan