Kết nối mất thụng tin

Một phần của tài liệu Nghiên cứu một số khía cạnh lý thuyết trong mô hình CSDL quan hệ (Trang 33)

Trong lý thuyết kết nối, một vấn đề được đặt ra là: Cho một tập R cỏc lược đồ quan hệ, hỏi cú tồn tại hay khụng một tập con của nú mà trờn tập con này khụng cú kết nối khụng mất thụng tin (tức là cú kết nối mất thụng tin).

Chỳng ta cần lưu ý rằng, đối với hai lược đồ quan hệ rời nhau (khụng cú thuộc tớnh chung) thỡ khi kết nối hai lược đồ quan hệ này chắc chắn đú là kết nối cú mất thụng tin (cũn gọi là tổn thất thụng tin tầm thường). Trong thực tế thỡ khụng cú lý do gỡ để kết nối hai lược đồ quan hệ rời nhau, do đú trong phần này chỳng ta chỉ quan tõm tới cỏc tổn thất thụng tin khụng tầm thường (tổn thất thụng tin khi kết nối hai lược đồ cú chung thuộc tớnh). Khi đú ta định nghĩa một tập con {R1, R2, ..., Rm} của R là khụng tầm thường nếu nú khụng tồn tại một phõn hoạch thành hai tập cú hợp rời nhau.

Như vậy chắc chắn rằng, một điều kiện cho R để khụng cú phộp nối tổn thất thụng tin khụng tầm thường là mọi cặp lược đồ khụng rời nhau của tập lược đồ quan hệ R phải thoả món hệ quả 2.1.

Để nghiờn cứu vấn đề này chỳng ta dựng một đồ thị cú hướng G(R) để biểu diễn tập lược đồ quan hệ R. Mỗi đỉnh của đồ thị là một lược đồ quan hệ của R, cú một cung đi từ đỉnh Q đến đỉnh S khi và chỉ khi Q  S  S. Ta dựng ký hiệu Q 

S để biểu thị một cung từ Q đến S ( sử dụng ký hiệu  để phõn biệt với ký hiệu 

dựng cho phụ thuộc hàm). Như vậy nếu cú Q  S thỡ Q  S (bởi vỡ từ Q  S ta cú Q  S  S, ta lại cú Q  Q  S  S).

Vớ dụ [11]

Cho lược đồ quan hệ R = {HOTEN, DIACHI, DIENTHOAI, CONGTY, MAVUNG}. Tập cỏc lược đồ của R là:

NA = {HOTEN, DIACHI} NP = {HOTEN, DIENTHOAI}

PC = {DIENTHOAI, CONGTY} AZ = {DIACHI, MAVUNG} ZC = {MAVUNG, CONGTY} Với cỏc phụ thuộc hàm như sau:

HOTEN  DIACHI HOTEN  DIENTHOAI DIENTHOAI  CONGTY DIACHI  MAVUNG MAVUNG  CONGTY

Khi đú đồ thị G(R) được biểu diễn như sau:

Hỡnh 2.1 Đồ thị biểu diễn lược đồ quan hệ R

Như vậy bất cứ một cặp nào của cỏc lược đồ quan hệ khụng rời nhau mà khụng thoả món điều kiện của Hệ quả 2.1 (tức khụng cú một cung nối giữa hai lược đồ) thỡ sẽ cú một phộp nối tổn thất thụng tin. Nhỡn vào đồ thị hỡnh 2.1 ta thấy phộp nối PC và ZC là mất thụng tin. Do đú nếu trong đồ thị mà tồn tại một cặp đỉnh khụng rời nhau lại khụng nối được với nhau sẽ là điều kiện đủ để kết luận tập cỏc lược đồ cú kết nối mất thụng tin.

Phần tiếp theo sẽ trỡnh bày một định lý xỏc định điều kiện cần và đủ để một tập cỏc lược đồ quan hệ cú kết nối mất thụng tin hay khụng?.

Bổ đề 2.1

NP PC

NA

AZ

Giả sử X  Y1, X  Y2, ..., X  Yn. Khi đú tồn tại một thể hiện I={w, v} (một bảng gồm cú 2 hàng) sao cho w, v giống nhau trờn cỏc thuộc tớnh của X và với mỗi i: 1  i  n thỡ w, v khỏc nhau trờn ớt nhất một thuộc tớnh của Yi.

Chứng minh:

Xột I={w, v} là một thể hiện sao cho w, v giống nhau trờn cỏc thuộc tớnh của X+ và khỏc nhau trờn tất cả cỏc thuộc tớnh cũn lại.

Do X  Yi, nờn Yi \ X+ ≠  vỡ vậy với cỏch chọn trờn w và v khỏc nhau ớt nhất trờn một thuộc tớnh của Yi, với  i: 1  i  n.

Bõy giờ ta chỉ ra rằng với cỏch chọn như trờn sẽ khụng vi phạm cỏc phụ thuộc hàm của lược đồ quan hệ.

Xột phụ thuộc hàm bất kỳ Z  U của lược đồ. Nếu w và v giống nhau trờn cỏc thuộc tớnh của Z thỡ Z  X+, do đú U  X+ vỡ vậy w và v cũng giống nhau trờn cỏc thuộc tớnh của U. Như vậy phụ thuộc hàm Z  U thoả món và bổ đề được chứng minh.

Định nghĩa: (Miền liờn thụng mạnh) [11]

Một miền liờn thụng mạnh (strongly connected region – SCR) của một đồ thị là một đồ thị con trong đú luụn tồn tại đường đi cú hướng từ mỗi đỉnh đến cỏc đỉnh khỏc.

Bổ đề 2.2 [11]

Cho {R1, R2, R3, ..., Rk} là một miền liờn thụng mạnh của G(R), lỳc đú:  i, j: 1  i, j  k, ta cú Ri Rj.

Chứng minh:

Theo định nghĩa của miền liờn thụng mạnh thỡ sẽ tồn tại một đường đi cú hướng từ Ri đến Rj, giả sử đường đú là S1, S2, ..., Sm, (S1 = Ri, Sm = Rj). (adsbygoogle = window.adsbygoogle || []).push({});

Theo định nghĩa của đồ thị G(R) sẽ tồn tại cung đi từ Si đến Si + 1 với mọi 1 

i < m, tức là SiSi + 1 Si + 1 với mọi 1  i < m. Do đú Si  Si + 1 với mọi 1  i < m.

Vậy Ri Rj (S1 = Ri, Sm = Rj) và bổ đề được chứng minh.

Bổ đề 2.3

ChotậphợpRcỏc lược đồ thoả món điều kiện của hệ quả 2.1(tứclà vớimọi (R1, R2) là cặp lược đồ khụng rời nhau thỡ R1R2R1 hoặc R1R2R2). Giả sử rằng đồ thị G(R) cú một miền liờn thụng mạnh {T1, T2, ..., Tn} và cỏc đỉnh P, Q sao cho P  T1, Q  Tn và trong G(R) P  Q, Q  P và khụng cú một cung nào nối từ Ti bất kỳ đến P hoặc Q. Khi đú: P Q T1 T2 ... Tn là cú mất thụng tin. Chứng minh: Xột X = (T1 T2 ...  Tn)+ Nếu P  X: + Do P  T1 nờn ( P T1)  T1 (1) + Theo bổ đề 2.2 ta cú T1 Ti , với mọi i : 1 i  n

do đú T1  (T1  T2  ...  Tn)  X (2) + Do P  X, ta cú X  P (3) Từ (1), (2), (3) ta cú (PT1)P. Suy ra tồn tại một cung từ T1 đến P, điều này trỏi với giả thiết (khụng cú một cung nào nối từ Ti bất kỳ đến P hoặc Q). Như vậy P khụng là tập con của X. Lập luận tương tự ta cũng cú Q khụng là tập con của X.

Nếu P và Q khụng rời nhau thỡ ( P  Q)  P hoặc ( P  Q)  Q, do đú trong đồ thị G(R) tồn tại một cung P  Q hoặc Q  P. Điều này trỏi với giả thiết của bổ đề 2.3, vậy ( P  Q ) = .

Như vậy ta đó chứng minh được cỏc kết quả sau:

- P khụng là tập con của X, suy ra (T1 T2 ...  Tn)  P. - Q khụng là tập con của X, suy ra (T1  T2  ...  Tn)  P. - ( P  Q ) = .

Tồn tại một thể hiện I={w, v} (một bảng gồm cú 2 hàng) sao cho w, v giống nhau trờn cỏc thuộc tớnh của (T1  T2  ...  Tn) và khỏc nhau ớt nhất trờn một thuộc tớnh của P cũng như của Q.

Do đúkhi ỏp dụng phộp chiếu lờn P, Q, (T1T2...Tn) của thể hiện I ta cú:

P (I) cú 2 phần tử. Q (I) cú 2 phần tử. ) I ( ) T ... T (T1 2 n Π    chỉ cú 1 phần tử. Nờn: P (I) Q (I) (T T ... T )(I) n 2 1 Π    cú 4 phần tử. Trong khi (P Q T T ... T )(I) n 2 1 Π      chỉ cú 2 phần tử. Vậy P Q T1 T2 ... Tn là cú mất thụng tin.

Đồ thị con của G(R) gồm cỏc đỉnh P, Q và {T1, T2, ..., Tn} thoả món bổ đề 2.3 được gọi là đồ thị con bị cấm và được ký hiệu như sau:

Hỡnh 2.2 Đồ thị con bị cấm

Định lý 2.1 (Định lý cho điều kiện cần và đủ về kết nối khụng mất thụng tin)

Cho R là một tập cỏc lược đồ quan hệ. R cú một tập con cú kết nối mất thụng tin khụng tầm thường, khi và chỉ khi một trong hai điều kiện sau xảy ra:

(1) Tồn tại cặp lược đồ P, Q khụng rời nhau ( P  Q ≠  ) sao cho PQ  P và PQ  Q.

{T1, T2, ..., Tn}

(2) Tồn tại cỏc lược đồ P, Q và T1, T2, ..., Tn trong R tạo thành một đồ thị con bị cấm, tức là khụng cú cung nào nối giữa P và Q, khụng cú cung nào nối giữa Ti bất kỳ với P hoặc Q và {T1, T2, ..., Tn} là một miền liờn thụng mạnh.

Chứng minh:

- Điều kiện đủ:

Theo hệ quả 2.1 và bổ đề 2.3 đó chứng minh, ta thấy rằng nếu (1) hoặc (2) xảy ra thỡ R cú chứa một tập con cú kết nối mất thụng tin. Tức là:

+ Nếu cú (1) thỡ theo hệ quả 2.1 ta cú P Q là cú mất thụng tin.

+ Nếu cú (2) thỡ theo bổ đề 2.3 ta cú P Q T1 T2 ... Tn là cú mất thụng tin.

- Điều kiện cần:

Bõy giờ ta giả sử điều kiện (1) và (2) đều sai (tức khụng xảy ra), ta phải chứng minh R khụng cú tập con nào cú kết nối mất thụng tin.

Nhận xột: Nếu R cú một tập con mà kết nối trờn tập con này cú tớnh chất mất thụng tin khụng tầm thường thỡ chỳng ta cú thể thay thế R bằng tập con này trong phỏt biểu của định lý 2.1. Do đú, khụng mất tớnh tổng quỏt ta xem như kết nối trờn toàn bộ R là mất thụng tin.

Trước hết ta thấy rằng nếu điều kiện (1) khụng xảy ra, tức là với mọi cặp lược đồ P, Q khụng rời nhau thỡ P  Q  P hoặc P  Q  Q.

Bõy giờ ta sẽ vụ hướng hoỏ đồ thị cú hướng G(R) thành G’(R) như sau: P nối với Q trong G’(R) khi và chỉ khi cú cung đi từ P đến Q hoặc cú cung đi từ Q đến P trong G(R).

Ta sẽ chứng minh G’(R) liờn thụng. Khi đú sẽ gọi G(R) là giả liờn thụng (tức là G(R) liờn thụng trờn đồ thị đó vụ hướng hoỏ). (adsbygoogle = window.adsbygoogle || []).push({});

Giả sử G’(R) khụng liờn thụng, ta cú thể chia tập đỉnh thành hai tập con khụng rỗng, rời nhau {P1, ..., Pn} và {Q1, ..., Qm} sao cho khụng cú cạnh nối giữa Pi và Qj với mọi i, j. Mặt khỏc, do kết nối trờn R là khụng tầm thường nờn giữa hai tập {P1, ..., Pn} và {Q1, ..., Qm} phải cú ớt nhất một thuộc tớnh chung, tức là tồn tại Pi

Qj ≠  với 1  i  n, 1  j  m. Do điều kiện (1) khụng xảy ra, suy ra Pi sẽ nối với Qj trong G’(R) điều này trỏi với giả sử trờn. Vậy G’(R) liờn thụng.

Để tiếp tục chứng minh định lý ta cần phải chứng minh hai bổ đề sau:

Bổ đề 2.4

Trong mọi đồ thị cú hướng giả liờn thụng và điều kiện (2) của định lý 2.1 khụng xảy ra thỡ với mọi đỉnh P, Q bất kỳ đều tồn tại đỉnh T sao cho cú đường đi cú hướng từ T đến P và từ T đến Q (T cú thể trựng với P hoặc Q).

Ta chứng minh bổ đề này bằng phương phỏp quy nạp theo độ dài của đường đi giả ngắn nhất từ P đến Q (tức là đường đi ngắn nhất từ P đến Q trong đồ thị vụ hướng G’(R)).

+ Nếu độ dài đú bằng 1: do cú cạnh PQ trong G’(R) nờn trong G(R) phải cú cung đi từ P đến Q hoặc từ Q đến P. Nếu cú cung đú đi từ P đến Q ta chọn T  P, ngược lại ta chọn T  Q.

+ Giả sử bổ đề đỳng với mọi đường đi giả ngắn nhất từ P đến Q cú độ dài ngắn hơn i. Ta phải chứng minh bổ đề đỳng với đường đi giả ngắn nhất từ P đến Q cú độ dài bằng i, khi đú đường đi giả ngắn nhất từ P đến Q cú độ dài i là: P, T1, ..., Ti-1, Q.

Theo giả thiết quy nạp bổ đề đỳng với mọi đường đi giả ngắn nhất từ P đến Q cú độ dài ngắn hơn i. Khi đú ta cú tồn tại đỉnh T sao cho cú đường đi cú hướng từ T đến P và từ T đến Ti-1. Ta phải chứng minh tồn tại đỉnh T’ sao cho cú đường đi cú hướng từ T’ đến P và từ T’ đến Q.

Trường hợp1: Nếu tồn tại cung cú hướng từ Ti-1 Q, ta chọn T’  T khi đú ta cú điều phải chứng minh.

Trường hợp 2: Nếu tồn tại cung cú hướng từ Q  Ti-1. Gọi đường đi từ T đến Ti-1 là U1 ...  Ur (trong đú T  U1, Ti-1  Ur) ta cú hỡnh 2.3 mụ phỏng quan hệ giữa cỏc đỉnh T, P, T1, ..., Ti-1, Q như sau:

T

U2

Hỡnh 2.3 Mụ phỏng quan hệ giữa cỏc đỉnh

Trường hợp 2.1: Nếu tồn tại i (1 i  r) sao cho Ui Q, ta chọn T’  T khi đú ta cú điều phải chứng minh.

Trường hợp 2.2: Nếu khụng tồn tại i (1 i  r) sao cho Ui Q.

Nhận xột : Mọi j: 1 j  r, tồn tại kj j, sao cho tồn tại cạnh Q 

j k U và { j k U , ... Uj+1, Uj } là một miền liờn thụng mạnh.

Ta sẽ chứng minh nhận xột trờn bằng phương phỏp quy nạp lựi. + Khi j = r, chọn kj = r (do cú cung Q  Ur )

+ Giả sử nhận xột đỳng với j =  + 1, tức là:  k+ 1 sao cho Q 

1 k U   và { 1 k U 

 , ..., U + 1} là một miền liờn thụng mạnh. Ta phải chứng minh nhận xột đỳng với j = , tức là:  k sao cho Q  Uk

 và {Uk  , ..., U} là một miền liờn thụng mạnh. Xột miền liờn thụng mạnh { 1 k U   , ..., U+ 1} và cỏc đỉnh U, Q: do điều kiện (2) của định lý được giả sử là khụng xảy ra, tức là trong R khụng tồn tại một đồ thị con bị cấm nờn 1 trong 4 trường hợp sau phải xảy ra:

i. Um Q với m nào đú: j < m  k+ 1 ii. Um U với m nào đú: j < m  k+ 1 iii. Q  U

Theo điều kiện của trường hợp 2.2 thỡ (i) và (iv) khụng thể xảy ra. Khi (ii) xảy ra, chọn k = k+ 1, theo giả thiết quy nạp ta cú {

1 k

U 

 , ..., U+ 1} là một miền liờn thụng mạnh, ta lại cú U  U + 1, vậy {Uk

, ..., U} là một miền liờn thụng mạnh, do đú U Upvới mọi p :  + 1  p  k+ 1. Theo (ii) Um (adsbygoogle = window.adsbygoogle || []).push({});

 U với m nào đú: j <m  k + 1 và đồng thời Up  Um với mọi p, nờn Up 

Uvới mọi p.

Theo giả thiết quy nạp Q 

1 k U   , do đú Q  Uk  (  1 k U   ) Khi (iii) xảy ra chọn k = , ta cú ngay {Uk

 , ..., U} là một miền liờn thụng mạnh và Q  Uk

 (  U).

Vậy nhận xột đó được chứng minh.

Trở lại với trường hợp 2.2: Khụng tồn tại i (1 i  r) sao cho Ui Q. Chỳng ta chọn j =1, theo nhận xột trờn ta cú { 1 k U , ... U2, U1 } là một miền liờn thụng mạnh và Q  1 k

U . Tiếp theo ta chọn T’  Q, ta sẽ cú đường đi cú hướng từ T’ đến 1 k U đến T đến P. Khi đú ta cú điều phải chứng minh.

Vậy bổ đề 2.4 đó được chứng minh hoàn toàn.

Bổ đề 2.5

Cho một đồ thị cú hướng giả liờn thụng và khụng chứa đồ thị con bị cấm (điều kiện (2) của định lý 2.1 khụng xảy ra) thỡ tồn tại một đỉnh cú đường đi cú hướng đến tất cả cỏc đỉnh khỏc.

Chỳng ta chứng minh bổ đề này bằng phương phỏp phản chứng: Giả sử khụng tồn tại một đỉnh cú đường đi cú hướng đến tất cả cỏc đỉnh khỏc. Gọi P là đỉnh nối đến nhiều đỉnh khỏc nhất, gọi Q là đỉnh mà khụng tồn tại đường đi cú hướng từ P đến Q. Theo bổ đề 2.4 sẽ tồn tại đỉnh T nối với P và nối với Q. Suy ra đỉnh T nối với nhiều đỉnh khỏc hơn P, điều này mõu thuẫn với giả thiết P là đỉnh nối đến nhiều đỉnh khỏc nhất. Vậy bổ đề được chứng minh.

Tiếp tục chứng minh định lý 2.1: Ta phải chứng minh R khụng cú tập con nào cú kết nối mất thụng tin.

Áp dụng bổ đề 2.5, ta giả sử R có các lược đồ S1, S2, ..., Sn, sao cho S1  Si với mọi i: 2  i  n.

Chúng ta sẽ chứng minh quy nạp theo j rằng S1 S2 ... Sj là kết nối không mất thông tin.

- Với j = 2: do S1  S2 nên S1 S2 hiển nhiên là không mất thông tin.

- Giả sử phát biểu đúng với j=k, tức là S1 S2 ... Sk không mất thông tin.

- Ta phải chứng minh {S1 S2 ... Sk} Sk+1 không mất thông tin.

Do S1  Sk+1 nên S1  Sk+1  Sk+1

Suy ra (S1  S2  ...  Sk )  Sk+1  Sk+1

Áp dụng hệ quả 2.2, ta suy ra S1 S2 ... Sk+1 khụng mất thụng tin. Vậy phỏt biểu được chứng minh.

Thay j = n ta sẽ cú S1 S2 ... Sn là khụng mất thụng tin. Như vậy định lý 2.1 đó được chứng minh hoàn toàn.

Hệ quả 2.3:

Tồn tại một giải thuật cú độ phức tạp O(n4) để xỏc định một tập cỏc lược đồ quan hệ cú chứa một kết nối cú mất thụng tin khụng tầm thường nào hay khụng,

Một phần của tài liệu Nghiên cứu một số khía cạnh lý thuyết trong mô hình CSDL quan hệ (Trang 33)