Đại số quan hệ trên khối

Một phần của tài liệu Các hệ tiên đề trong mô hình dữ liệu dạng khối (Trang 33 - 38)

1. Các khái niệm cơ bản

2.4.Đại số quan hệ trên khối

Cho r là một khối trên lƣợc đồ khối R = (id; A1, A2, ..., An), ở đây ta giả thiết rằng r là một khối gồm một tập hữu hạn các phần tử. Cũng tƣơng tự nhƣ đại số quan hệ trong mô hình cơ sở dữ liệu quan hệ, ở đây các phép toán của đại số quan hệ lại đƣợc áp dụng cho các khối; bên cạnh đó còn có thêm phép toán mới đƣợc xây dựng đó là : tích Đề- các theo tập chỉ số[6].

Đối với các phép hợp, giao và trừ thì hai khối tham gia phải là khả hợp (nghĩa là chúng có cùng một lƣợc đồ khối).

2.4.1. Phép hợp

Cho hai khối r và s khả hợp, khi đó hợp của r và s, kí hiệu r  s là một khối gồm các phần tử thuộc một trong hai khối r và s đã cho. Ta có:

r  s = {t | t  r hoặc t  s} .

2.4.2. Phép giao

Cho hai khối r và s khả hợp, khi đó giao của r và s là một khối, kí hiệu r  s, là một khối mà các phần tử của nó thuộc đồng thời cả hai khối r và s đã cho. Ta có:

29

2.4.3. Phép trừ

Cho hai khối r và s khả hợp, khi đó hiệu của r và s là một khối, kí hiệu là r - s, là một khối mà các phần tử của nó thuộc r nhƣng không thuộc s. Ta có:

r - s = {t | t  r và t  s}.

Ta có mối quan hệ giữa phép giao và phép trừ : r  s = r - (r - s).r v

2.4.4. Tích Đề các

Cho lƣợc đồ khối R = (id; A1, A2, ..., An, S = (id; B1, B2, ..., Bm), ở đây {A1, A2, ..., An}  {B1, B2, ..., Bm} = .

Khi đó tích Đề-Các của hai khối r(R) và s(S) là một khối, kí hiệu r × s, khối này có khung R × S = (id; A1, A2, ..., An, B1, B2, ..., Bm), mỗi phần tử thuộc khối này là một bộ gồm n + m ánh xạ, trong đó n ánh xạ đầu có dạng một phần tử thuộc r, còn m ánh xạ sau có dạng một phần tử thuộc s.

Biểu diễn hình thức của tích Đề-Các có dạng : r x s = {t | t(R)  r và t(S)  s}, trong đó t = (t1

, t2, ..., tn, tn+1, ..., tn+m), t(R) = (t1, t2, ..., tn), và t(S) = (tn+1, ..., tn+m) .

2.4.5. Tích Đề các theo tập chỉ số

Cho R = (id; A1, A2, ..., An), S = (id’; A1, A2, ..., An). Khi đó tích Đề- Các của hai khối r(R) và s(S) theo tập chỉ số là một khối, kí hiệu r ×id s, khối này có khung R ×id S = {id  id’; A1, A2, ..., An}, với id  id’ là kí hiệu tích rời rạc của hai tập chỉ số id và id’ . Mỗi phần tử thuộc khối này là một bộ gồm n ánh xạ (t1, t2, ..., tn) với ti : id  id’  Ai, i = 1..n, mỗi ánh xạ này đƣợc cảm sinh từ 2 ánh xạ thứ i tƣơng ứng của r và s.

Cụ thể hơn, giả sử có 2 phần tử là tr  r và ts s : tr = (t1r, t2r, ...., tnr), ts = (t1s, t2s, ...., tns),

30

khi đó ta có ánh xạ cảm sinh của tr và ts, phần tử cảm sinh của tr và ts, kí hiệu là trs.

Gọi j1 : id  id  id’, j2 : id’  id  id’ là các phép nhúng thì ta đƣợc : trsj1 r và trsj2 s, và r xid s = {t | tj1 r và tj2  s} .

2.4.6. Phép chiếu

Cho lƣợc đồ khối R = (id; A1, A2, ...., An), r là một khối trên R.

Khi đó ta gọi P = (id’; Ai1, Ai2, ...., Aih) là lƣợc đồ con của lƣợc đồ R nếu id’ id, Aij {A1, A2, ...., An}, j = 1..h .

Một phép chiếu của khối r trên lƣợc đồ con P, kí hiệu P(r), là một khối có lƣợc đồ P và mỗi phần tử thuộc khối này có dạng :

(ti1, ti2, ..., tih) , trong đó : tij {t1

, t2, ..., tn}, j = 1..h, id’ và (t1, t2, ..., tn)  r .

Biểu diễn hình thức của phép chiếu có dạng : P(r) = {(ti1, ti2, ..., tih) | tij {t1

,t2,...,tn}, j = 1..h, (t1,t2, ..., tn)r} id’ (adsbygoogle = window.adsbygoogle || []).push({});

2.4.7. Phép chọn

Cho lƣợc đồ khối R = (id; A1, A2, ..., An) và khối r(R).

Cho một phép chọn nghĩa là ta xây dựng một tập con các phần tử của khối đã cho thỏa mãn biểu thức F cho trƣớc. Biểu thức F đƣợc diễn tả bằng một tổ hợp Boole của các toán hạng, mỗi toán hạng là một phép so sánh đơn giản giữa hai biến là hai giá trị điểm của hai ánh xạ thành phần nào đó, hoặc giữa một biến là giá trị điểm của một ánh xạ thành phần và một hằng. Các phép so sánh trong F là <, =, >, , , , còn các phép toán lôgic trong F là : , , . .

Biểu diễn hình thức của phép chọn có dạng : F(r) = {t  r | F(t) } trong đó F(t) là giá trị của biểu thức Boole F tại phần tử t  r.

31

2.4.8. Phép kết nối

Cho R = (id; A1, A2, ..., An) và s = (id; B1,B2, ...., Bm), cùng với hai khối r(R) và s(S) tƣơng ứng .

Gọi T = (id ; C1,C2, ..., Cp), trong đó :

{C1,C2, ..., Cp} = {A1, A2, ..., An}  {B1,B2, ....,Bm}.

Phép kết nối của 2 khối r và s, kí hiệu r  s là khối t(T) định nghĩa nhƣ sau : t(T) = {t |  tr r và ts s sao cho t(R) = tr, t(S) = ts}

Phép kết nối này cũng gọi là phép kết nối tự nhiên của hai khối r(R) và s(S), đôi khi sử dụng kí hiệu r * s .

Đặc biệt, khi các khối r(R) và s(S) có tập chỉ số id trong lƣợc đồ khối của chúng chỉ gồm một phần tử thì các khối này trở thành các quan hệ và phép kết nối tự nhiên của hai khối lại trở thành phép kết nối tự nhiên của hai quan hệ trong mô hình cơ sở dữ liệu quan hệ [6].

Nếu hai tập {A1, A2, ..., An} và {B1,B2, ...., Bm} không giao nhau thì r * s trở thành tích Đề- các của hai khối đã cho .

Ta có thể mở rộng khái niệm kết nối nhƣ sau :

Giả sử Aik {A1, A2, ..., An}, Bik {B1,B2, ...., Bm}, và dom (Aik) = dom (Bik), 1  k  h, (ở đây Aik và Bik không nhất thiết phân biệt).

Khi đó kết nối của r và s theo Ai1, Ai2, ..., Aih và Bi1, Bi2, ..., Bih là khối t(T), khối này đƣợc định nghĩa là :

t(T) = {t |  tr r và ts s sao cho t(R) = tr, t(S) = ts, trik = tsik, 1  k  h}, trong đó tr = (tr1, tr2, ..., trn), ts = (ts1, ts2, ..., tsm) .

Thay cho kí hiệu r  s ở đây ta kí hiệu rõ hơn : t(T) = r [trik = tsik,1  k  h] s

32

2.4.9. Phép chia

Cho hai khối r(id; A1, A2, ..., An) và s(id; Ai1, Ai2, ..., Aih), trong đó Aik {A1, A2, ..., An},  k = 1..h . Khi đó phép chia của khối r cho khối s, kí hiệu r  s, là một khối gồm các phần tử t = (t1 , t2, ..., tn-h) sao cho  u = (u1 , u2, ..., uh), u  s thì phần tử tu  r, ở đây phần tử tu có dạng : tu = (t1 , t2, ..., tn-h, u1, u2, ..., uh).

Biểu diễn hình thức của phép chia có dạng : r  s = {t |  u  s, tu  r} .

2.5. Phụ thuộc hàm

Sau đây, để cho đơn giản ta sử dụng các kí hiệu: x(i) = (x; Ai) ; id(i) = {x(i) | x  id}.

Ta gọi x(i) (x  id, i = 1..n) là các thuộc tính chỉ số của lƣợc đồ khối R = (id; A1,A2,...,An).

Định nghĩa 2.3 [2, 5]

Cho lƣợc đồ khối R = (id; A1,A2,...,An), r(R) là một khối trên R,

n i i 1 ) ( id Y X, 

 , X  Y là kí hiệu một phụ thuộc hàm. Một khối r thoả X  Y

nếu với mọi t1, t2 R sao cho t1(X) = t2(X) thì t1(Y) = t2(Y). (adsbygoogle = window.adsbygoogle || []).push({});

Phụ thuộc hàm đƣợc suy diễn từ tập phụ thuộc hàm F

Cho lƣợc đồ khối R = (id; A1,A2,...,An), F là tập các phụ thuộc hàm trên

R và X  Y là một phụ thuộc hàm với n i i 1 ) ( id Y X,   . Nói rằng X  Y đƣợc

suy diễn logic từ F nếu với mỗi khối r xác định trên R thỏa các phụ thuộc hàm trong F thì cũng thỏa X  Y. Kí hiệu là:

F│=X  Y

Định nghĩa 2.4 (Bao đóng của tập phụ thuộc hàm) [2, 5]

Cho lƣợc đồ khối R = (id; A1, A2,..., An), F là tập các phụ thuộc hàm trên R. Khi đó bao đóng của F kí hiệu F+ đƣợc xác định nhƣ sau:

33 F+ = {X  Y | F  X  Y} . Nếu X = {x(m)}  id(m) , Y = {y(k)}  id(k) thì ta kí hiệu phụ thuộc hàm X  Y đơn giản là x(m) y(k) . Khối r thoả x(m) y(k)

nếu với mọi t1, t2 r sao cho t1(x(m)) = t2(x(m)) thì t1(y(k)) = t2(y(k)) . Trong đó:

t1(x(m)) = t1(x; Am), t2(x(m)) = t2(x; Am); t1(y(k)) = t1(y; Ak), t2(y(k)) = t2(y; Ak).

Nhận xét 2.2

Cho R = (id; A1, A2,..., An), r(R) là một khối trên R, n

i i 1 ) ( id Y X,   , X

 Y là kí hiệu một phụ thuộc hàm. Giả sử r(R) thoả phụ thuộc hàm XY. Khi đó nếu id = {x} thì : -r(R) trở thành quan hệ r(A1, A2,..., An) và -Phụ thuộc hàm X  Y, ( n i 1 i A Y X,   ) trở thành phụ thuộc hàm trong

mô hình dữ liệu quan hệ.

Một phần của tài liệu Các hệ tiên đề trong mô hình dữ liệu dạng khối (Trang 33 - 38)