- Đặc tính thứ hai của tậpcác vỊ tìr là tính cực tiểu Đây là một đặc tính cảm tính Vị từ đơn giản phải cĩ liên đới (relevant) trong việc xác định một mảnh M ột vị tìr khơng tham gia
p lA 2A 3A 4 A 5 Tuy nhiên các hé kéo hiển nhiên là:
2.3.3.4. Phân mảnh ngang dẫn xuất
Phân mảnh ngang dẫxi xuất được định nghĩa trên một quan hệ thành viên của đưịmg nối dựa phép tốn chọn ữên quan hệ chủ nhân của đường nối đĩ.
Như thế nếu cho trước một đường nối L, trong đĩ owner (L) = s và member(L) = R, và các mảnh ngang dẫn xuất của R được định nghĩa là;
Rị = R | > < S i , 1 < i < w
Trong đĩ w là số lượng các mảnh được định nghĩa trên R, và Si = ơ F i(S ) với F, là cơng thức định nghĩa mảnh n g a n g nguyên thuỷ Sị.
Ví dụ 2.11: X ét đường nối N V
M NV T ên N V Chức vụ
E1 J.Doe Kỹ sư điện
E2 M .Smith Phân tích
E2 M.Smith Phân tích
E3 A .Lee Kỹ sư cơ khí
E3 A .Lee Kỹ sư cơ khí
E4 J.Miller Programmer
E5 B.Casey Phân tích hệ ứiống
E6 L.Chu K ỹ sư điện
E7 R.david Kỹ sư cơ khí
E8 J.Jones Phân tích hệ thống CT C hứ c vu . L ư ơ n e N V LI M N V .T ê n N V , C hứ c vụ
thế thì chúng ta cĩ thể nhĩm các kỹ sư thành hai nhĩm tùy theo lượng: nhĩm cĩ lương tìr 30.000 đơla trở lên và nhĩm cĩ lương dưới 30.000 đơla. Hai mảnh Nhân viên 1 và Nhân viên 2 được định nghĩa như sau:
N V i = N V |> < CT, NV2 = N V |> < C Tĩ
ữong đĩ: CTI = ƠLưomg á 3000o(CT)
CT CT>
Clurc vụ Luơng C hức vụ Lương
Kỹ sư cơ khí 27000 Kỹ sư điện 40000
Lập trinh 24000 Phân tích hệ thống 34000
Kẻt qua phân manh ngang dẫn xuất cua quan hệ NV như sau:
NV NV-
MNV TênN V Chức vụ MNV TênNV Chức vụ
E3 A.Lee Kỹ sư CO' khí E1 J.Doe Kỹ sư điện
E4 J.Miller Lập trình viẻn E2 M .Smith Phân tích
E7 R.David Kỹ sư cơ khí E5 B.Casey Phân tích hệ thống
--- --- ---
E6 L.Chu Kỹ sir điện
E8 J.Jones Phân tích hệ thống
Chú ý: + Muốn thực hiện phân mánh ngang dẫn xuất, ta cần ba nguyẻn liệu (input):
1. Tập các phân hoạch cùa quan hệ chii nhân (Thí dụ: C T K C l ’2). 2. Ọuan hệ thành viên
3. Tập các vị từ nối nửa giữa chủ nhân và thành viên (C hăng hạn CT.Chucvu " N V .Chucvu).
4 Vấn đề phức tạp cằn chú ý: T'rong lược đồ CSDL, chúng ta hay gặp nhiều đường nối đến một quan hệ R. N hư thế cĩ thể cĩ nhiều cách phân mánh cho quan hệ R. Ọuyếl định chọn cách phân mành nào cần dựa trên hai tiêu chuấn sau:
1. Phân mảnh cĩ đặc tính nổi tốt hơn
2. Phân mảnh được sử dụng trong nhiều ứng dụng hon.
Tuy nhiên, việc áp dụng các tiêu cluiần trên cịn là một vấn đề rắc rối.
VỊ dự 2 .Ĩ2 \ C húng ta tiềp tục với thiểt ke phân tán cho C SD L đă bát đầu từ ví dụ 2.9. Và quan hệ NV phân mảnh theo CT. Báy giờ xét ASG. Giả sứ cĩ hai ứng dụng sau;
1. ừ n g chmg /: Tìm tẻn các kỹ sư cĩ làm việc tại một nơi nào đỏ. ú ng dụng này chạy ớ cá ba trạm và truy xuất cao hơn các kỹ sư CLia các dự án 0* nhừng vị trí khác.
2. (ínịi chmịi 2: Tại mỗi trạm quản lý, nơi quản lý các mẫu tin nhân viên, người dùng
muốn truy xuắt đến các dự án đang được các nhân viên này thực hiện và cần biết xem họ sẽ làm việc với dự án đĩ trong bao lâu.
2,3.3,5. K iểm định tỉnh đ ủ n g đắn
B â y g i ờ c h ú n g ta cầ n phải k iể m tra tính đ ú n g CLia phân mảnh ngang.
a. Tinh đầy đù
+ Phân mảnh ngang ngLivên thiiỷ; Với điều kiện các vị tử chọn là đầy đu, phân mảnh
thu cũng được đảm báo là đây đu, bởi vỉ CO' sở cua thuật tốn phân manh là tập các vị từ cực riẻu
và đây đủ P r \ nên tính đây đủ được bảo đảm vĩi điêu kiện khơng cĩ sai sĩt xay ra.
+ Phản mảnh ngang dẫn xuất; Cĩ khác chút ít, khĩ khán chính ị’ đây là do vị từ định nghĩa phân mảnh cĩ liên quan đến hai quan hệ. Trưĩc tiên chủng ta hây định nghĩa qui tắc đầy đủ một cách hình thức.
R là quan hệ thành viên của một đưịng nơi mà chú nhân là quan hệ s. Gọi A là thuộc tính nối giũ’a R và s, thế thì vĩi mồi bộ t của R, phai cĩ một bộ t' cua s sao cho:
Ọuy tắc này được gọi là rcmg buộc tồn vẹn hay iồn vẹn íham chiếu, bảo đảm rằng mọi bộ trong các mảnh của quan hệ thành viên đều nằm trong quan hệ cluì nhân.
h. Tinh tái thĩếi được
Tái thiết một quan hệ tồn cục-từ các mảnh đirọc thực hiện bàng tốn tử hợp trong cả
phân mảnh ngang nguyên thuy lẫn dẫn xuất. V ì thế một quan hệ R vĩi phân mảnh F, í Rị,
R2,...,R„i} chủng ta cĩ:
R == u R i , VR, e Fr
c. Tính tách rời
Vĩi phân mảnh nguyên tluiý 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 ỉoại trừ tirong hỗ (mutuallv exclusive). Vĩi pliân manh dẫii xuất
tính tách rịi cĩ thể bảo đảm nếu đồ thị nối thuộc loại đon uian. 2 .3 .4 . P h â n m ả n h d ọ c
Một phân mảnh dọc cho một quan hệ R sinh ra các mảnh Rị, R i...Rr, mỗi mảnh chứa một tập con thuộc tính của R và cả khố của R. Mục đích của phán mảnh dọc là phân hoạch một quan hệ thành một tập các quan hệ nhĩ hơn đế nhiều ứng dụng chí cần chạy trên một mánh. Một phân mảnh “tối ư ir \ằ phân mảnh sinh ra một lược đồ phân mãnh cho phép giám tối đa thời gian thực thi các ứng dụng chạy trên mảnh đĩ.
Phân mành dọc tất nhiên là phức tạp hơn so với phân mánh ngang. Điều này là do tống số chọn lựa cĩ thể của một phán hoạch dọc rất lớn.
Vi vậy để cĩ được các lịi giải tối ưu cho bài tốn phân hoạch dọc thực sự rất khĩ khăn. Vi thế lại phải dùng các phương pháp khám phá (heuristic). Chúng ta đưa ra hai loại heuristic cho phân mảnh dọc các quan hệ tồn cục.
- Nhĩm thuộc tính: Bắt đầu bằng cách gán mỗi thuộc tính cho một mảnh, và tại mỗi bước, nối một số mảnh lại cho đến khi thỏa một tiêu chuẩn nào đỏ. Kỹ thuật này được đưọc đề
- Tách mảnh: Băt đâu băng một quan hệ và quyêt định cách phân mảnh cĩ lợi dựa trên hành vi truv XLiat cúa các ứng dụng trẽn các thuộc tính. Kỹ thuật này đu'Ọ'c thảo luận lần đầu tiên
c\u) thiết ké CSDL tập Irung tronu [Hoffer and Severance. 1975]. Sau đĩ được mị' ra cho mơi iruịng phân tán trong [Navathe et al, 1984].
Các yêu cầu thơng tin của phân mãnh dọc
Bỏ‘i vì phân hoạch dọc đặt vào một mảnh các thuộc tính thường đưọc truy xuất cluing vĩi nhau, chíiim ta cần cĩ một giá trị đo nào đĩ để định nghĩa chính xác hon về khải niệm "chung với nhau", số đo này gọi là tụ lực hav lực hút (affinity) cua thuộc tính, chi ra mức độ
liên đĩi giCra các thuộc tính.
Yêu cầu dữ liệu chính cĩ liên quan đến các ứng dụng là tằn số truy xuất cúa chúng. Gọi Ọ ” {qh q2.-- - ^q} là tập các vấn till của người dùng (các ứng dụng) sẽ chạy trên quan hệ R(Ai, A,i). Thế thi vĩi mỗi câu vấn tin qi và mỗi thuộc tính Aj, chúng ta sẽ đưa ra một giá trị sử dụng thuộc tính, ký hiệu Lise(q„ A,) đưọc định nghĩa như sau:
1 nếu thuộc tính A| được vấn tin q, tham chiếu use(q,, A,)
0 trong trưịng họp ngược lại
Các véctơ use (q j, • ) cho mỗi ứng dụng rất dễ định nghĩa nếu nhà thiết kế biết được các ứng dụng sẽ chạy trên CSDL.
Ví dụ 2 J 3:
Xét quan hệ DA, giả sử rằng các ứng dụng sau đáy chạy trẽn các quan hệ đĩ. Trong mỗi trường họp chúng ta cũng đặc tả bằng SỌL.
q l : Tìm ngân sách của một dự án, cho biết mã cửa dự án SELECT Ngân sách
FROM DA
WHERE MDA = giátrị
q2: Tim tên và ngân sách cua lất cá mọi dtr án SELECT Tên DA, ngân sách
FROM DA
q3: Tìm tên cúa các dự án được thực hiện tại một thành phố đã cho SELECT Tên DA
FROM DA
WHERE Địa điểm ^ Giá trị
q4: Tim tống ngán sách dự án của mỗi thành phố SELECT SUM (ngân sách)
FROM DA
WHERE Địa đ i ể m - G i á trị
Dựa theo bốn ứng dụng này, chúng ta cĩ thể định nghĩa ra các giá trị sử dụng thuộc tính. Để cho tiện về mặt ký pháp, chúng ta gọi A| ■ MDA, At - Tên DA, Ai ^ Ngân sách, A4 ^ Địa điểm, Giá trị sử dụng được định nghĩa dưĩi dạng ma trận, trong đĩ mục (i, ị) biều thị use(q,, A ,).
A 2 A 3 A 4q i 1 0 1 0