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, rrấ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 hân tán ứng dụng đòi hỏi hai điều: 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ị đó. Chúng ta tập trung về việc 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]:
35 trang |
Chia sẻ: haohao89 | Lượt xem: 4247 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Bài giảng chương 4: 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 V
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, rrấ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 hân tán ứng dụng đòi hỏi hai điều: 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ị đó. Chúng ta tập trung về việc 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]:
1/ Mức độ chia xẻ
2/ Kiểu mẫu truy xuất
3/ Mức độ hiểu biết về kiểu mẫu truy xuất
Hình 5.1 trình bày các chọn lựa dựa theo các trục này. Dựa theo mức độ chia xẻ sẽ có ba khả năng xẩy ra.
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 + Chương trình
Hình 5.1.Bộ khung phân tán
- Không chia xẻ: Mỗi ứng dụng và dữ liệu có chúng 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 xẻ 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. Theo đấy, 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 xẻ 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 đó.
Theo kiểu mẫu truy xuất, chúng ta có thể xác định hai chọn lựa. kiểu mẫu truy xuất của của các yêu cầu từ người sử dụng có thể thuộc loại tĩnh (static) hoặc thuộc loại động (dynamic).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.
Truc phân loại thứ ba là 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ấtcó thể được dự đoán và trong thực tế không khác xa quá nhiều so với dợ đoán này, và trường hợp nữa là biết được mmột phần thông tin, trong đó có thể có khácbiệt nhiều so với dự đoán.
5.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 rất khác nhau đối với quá trình thiết kế. 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.
5.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 5.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 yêu cầu
Phân tích yêu cầu
Phân tích yêu cầu
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 (Mục tiêu)
Lược đồ khái niệm toàn cục
Định nghĩa lược đồ ngoài (Mục tiêu)
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 giõi và bảo trì
Thông tin từ NSD
Hình 5.2.Quá trình thiết kế từ trên xuống
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 (inpus) 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 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 (unit ò distribution). 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 chiachúng thành nhiều quan hệ nhỏ hơn gọi là các mảnh (fragment) và chính các nmả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 tru 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ìa thiết kế về sau.
5.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.
5.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?
+ Có cách gì kiểm tra tính đúng đắn của việc phân rã này hay không?
+ Chúng ta sẽ 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?
5.2.1. Các lý do 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 xem tập con của quan hệ là đơn vị phân tán sẽ là điều thích hợp duy 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 lại nằm tại các 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ặc 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ả 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. Ngoài ra việc phân mảnh các quan hệ sẽ 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 (song hành) 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ếư ứ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 nóc 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 dữ liệu ngôn ngữ (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í.
5.2.2 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 khác nhau:
Chia bảng theo chiều dọc và chia theo chiều ngang.
Ví dụ 5.1
EMP
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
ASG
ENO
PNO
RESP
DUR
E1
E2
E2
E3
E3
E4
E5
E6
E7
E8
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
Manager
Analyst
Analyst
Consultant
Engineer
Programmer
Manager
Manager
Engineer
Manager
12
24
6
10
48
18
24
48
36
40
Trong Ví dụ này chúng ta sư dụng một phiên bản đã sửa đổi của lược đồ CSDL đã được phát triển trong chương 2. Chúng ta thêm vào quan hệ PROJ một thuộc tính mới là LOC (location, vị trí) để chỉ nơi thực hịên dự án. Hình 5.3 trình bày một thể hiện CSDL sẽ được dùng. Hình 5.4 trình bày quan hệ của hình 5.3 được chia ngang thành hai quan hệ. Quan hệ con PROJ1 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 PROJ2 lưu các thông tin về các dự án có ngân sách lớn hơn 200.000 đô la
PROJ
PNO
PNME
BUDGET
LOC
P1
P2
P3
P4
Instrumentation
Dabatase Develop
CAD/ CAM
Maintenance
150000
135000
250000
310000
Monteal
New York
New York
Paris
Hình 5.3. CSDL mẫu đã được thay đổi.
PAY
TITLE
SAL
Elect. Eng.
Syst. Anal.
Mech.Eng
Progammer
40000
34000
27000
24000
PROJ1
PNO
PNAME
BUDGET
LOC
P1
P2
Intrumentation
Database Dvelop
150000
135000
Montreal
New York
PROJ2
PNO
PNAME
BUDGET
LOC
P3
P4
CAD/CAM
Maintenance
250000
310000
New York
Paris
Hình 5.4 Ví dụ về phân mảnh ngang
Ví dụ 5.2
PROJ1
PNO
BUDGET
P1
P2
P3
P4
150000
135000
250000
310000
PROJ2
PNO
PNAME
LOC
P1
P2
P3
P4
Insumentation
Database Develop
CAD/CAM
Maintenance
Montereal
New York
New York
Paris
Hình 5.5 Ví dụ về phân mảnh dọc.
Hình 5.5 trình bày quan hệ PROJ của hình 5.3 được phân hoặch dọc thành hai quan hệ con PROJ 1 và PROJ2. PROJ1 chỉ chứa thông tin về ngân sách các dự án còn PROJ2 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.
5.2.3.Mức độ phân mảnh
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.
5.2.4 Các quy tắc phân mảnh đúng đắn
Khi xem xét quá trình chuẩn hoá chúng ta đã đề cập đến một số quy tắc để đảm boả được rính nhất quáncủa CSDL. Điều quan trọng cần nhận ralà điểm giống nhau giữa việc phân mảnh dữ liệu trong trường hợp phân tâns(đặ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 (riconstruction). 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ệ.
5.2.5 Các kiểu cấp phát.
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ổituy xuất được dữ liệu đóngay sau khi hệ thống có sự cố. Hơn nữa các câu truy truy vấn tin 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.
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 5.6. So sánh các lựa chọn nhân bản
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 nằm tại nhiều (CSDL nhân bản một phầnantrong trường hợp sau, 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 5.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.
5.2.6. Các yêu cầu thông tin.
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
5.3. Phương pháp phân mảnh
Có hai chiến lược phân mảnh cơ bản: Phân mảnh ngang và phân mảnh dọc. Ngoài ra còn có khả năng có các mảng lồng theo kiểu hỗn hợp.
5.3.1 phân mảnh ngang
Phân mảnh ngang chia một quan hệ. Có hai loại phân mảnh ngang : phân mảnh nguyên thuỷ và phân mảnh dẫn xuất. Phân mảnh nguyên thuỷ (primaryhorizontal framentation) 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 rã một quan hệdựa vào các vị từ được định nghĩa trên một quan hệ khác.
Chúng ta sẽ xem xét một thụât toán để thực hiện cả hai kiểu phân mảnh.
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).
Thí dụ 5.3
Hình 5.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.
l2
l1
l3
TITE. SAL
ENO, ENAME, TITE
EMP
PNO, PNAME, BUDGET, LOC
PROJ
ENO,PNO,RESP,DUR
ASG
Hình 5.7. Biểu diễn mối liên hệ giữa các quan hệ nhờ các đường nối.
PAY
Đườ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 n
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 mô hình phân tán sẽ được thảo luận về sau. Quan hệ nằm tại đuôI của đường nối được gọi là chủ nhân(owner) của đường nối và quan hệ tại đầu đường nối (đầu mũi tên) gọi là thành viên (member) hoặc quan hệ. 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 ( source relation) cho chủ nhân và quan hệ đích (target relation) cho thành viên. Chúng ta hãy định nghĩa hai hàm: owner và nember, chúng là các ánh xạ từ tập các đường nối đến tập quan hệ. khi cho trước một đường nối chúng sẽ trả về quan hệ thành viên hoặc quan hệ chủ chủ nhân của đường nối
Thí dụ 5.4
Cho đường nối L1 của hình 5.7, các hàm owner và member có các giá trị sau:
owner (L1 ) = PAY
member ( L1) = EMP
Thông tin định lượng cần có về CSDL là lực lượng ( cardinality) của mỗi quan hệ R, được ký hiệu là card(R)
Thông tin về ứng dụng. Như đã chỉ ra trước kia khi liên hệ đến hình 5.2. Chúng ta cần có cả thông tin định tính lẫn định lượn