Các Phép toán Đại số quan hệ trên khối

Một phần của tài liệu Nghiên cứu bao đóng trong mô hình dữ liệu dạng khối (Trang 40)

Cho r là một khối trên R = (id; A1, A2,…, An ). Cũng tương tự như đại số quan hệ trong mô hình dữ liệu quan hệ, ở đây các phép toán của đại số quan hệ lặp lại được áp dụng cho các khối như: phép hợp, phép giao, phép trừ, phép chiếu, phép chọn, phép kết nối, phép chia, phép nối dài.

Hai khối r và s được gọi là khả hợp nếu chúng có cùng một lược đồ khối. 2.2.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 là rs, là một khối gồm các phần tử thuộc khối r hoặc thuộc khối s đã cho. Ta có:

rs = { t | t r hoặc t s }. Ví dụ:

r s rs

Hình 2. 2.Phép hợp trong khối

30 DL2 DL2 DL3 DL3 50 70 60 53 t3 1/2013 2/2013 DII 2/2013 1/2013 2/2013 1/2013 DL1 DL1 120 140 DL2 DL2 50 70 53 60 DL3 DL3 DL1 DL1 120 140 50 70 DL2 DL2 t2 t1 t3 t2 t1 madl t2 madl DII madl DII Hình 2. 4.Phép trừ trong khối 2.2.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ó : rs = { t | t r và t s }.

Ví dụ :

Hình 2. 3.Phép giao trong khối 2.2.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 }. Ví dụ :

31

Ta có mối quan hệ giữa phép giao và phép trừ: rs = r - ( r - s ). 2.2.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  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.2.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 với i = 1..n, mỗi ánh xạ này được cảm sinh từ hai á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,),

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 id s = { t | tj1 r và | tj2 s }.

32

2.2.6. Phép chiếu

Cho lược đồ khối R = ( id; A1, A2,…, An ), r là một khối trên R. (adsbygoogle = window.adsbygoogle || []).push({});

Khi đó ta gọi P = ( id; Ai1, Ai2,…, Aih ) là lược đồ con của lược đồ R nếu id' id, Aịj { A1, A2,…, An }, j = l..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 dạng:

Biểu diễn hình thức của phép chiếu có dạng:

p(r)=

2.2.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 logic trong F là: ,,. Biểu diễn hình thức của phép chọn có dạng:

)} ( | { ) (r t r F t F   

trong đó F(t) là giá trị của biểu thức Boole F tại phần tử t r. 2.2.8. Phép kết nối

Cho lược đồ khối 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 đó:

( ti1, ti2,…, tih ) , trong đó: tij { t1, t2,…,tn}vớij = l..h id' và ( t1, t2,…,tn) r.

{ti1, ti2,…, tih) | tij { t1, t2,…,tn},j= l..h,( t1, t2,…,tn) r}. id'

33

{ 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ệ

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.

2.2.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..n. 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 = (11, t2, …, tn-h, u1, u2, …, uh).

34

Biểu diễn hình thức của phép chia r  s = {t | u s, tu r}. 2.2.10. Phép nối dài

Cho 2 khối r(id; A1, A2,…, An) và s(id'; A1, A2,…, An), ở đó nếu id id' mà ta có với t r và k s: (adsbygoogle = window.adsbygoogle || []).push({});

t = (t1, t2, …, tn), k = (k1, k2, …, kn)

thì khi đó ta xây dựng được một phần tử mới có dạng: u = (u1, u2, …, un) với uh: id id' dom(Ah) sao cho:

và kí hiệu: uh = th * id kh, h = 1..n.

Những phần tử u = (u1, u2,…, un) này tạo ra một khối mới, được kí hiệu r * id s gọi là khối nối dài của hai khối r và s.

Phép toán được xây dựng ở trên gọi là phép nối dài của hai khối r và s đã cho. Biểu diễn hình thức của phép nối dài có dạng:

t1 = k1 id id' id id' t2 = k2 id id' id id' ………. tn = kn id id' id id' uh = th, uh = kh, h = l..n, id id' r * id s = {u = ( uj)j = l,n | (uj )j= l,n r và (ujn )j= l,n s} id id'

35

2.3. Phụ thuộc hàm

Định nghĩa 2.8 [8,10]Cho R = (id; A1, A2,…, An ), r(R) là một khối trên R, X, Y n i i id 1 ) ( 

, X Y là kí hiệu một phụ thuộc hàm. Một khối r thỏa X Y nếu với mọi t1, t2 R sao cho t1(X) = t2(X) thì t1(Y) = t2(Y)

2.4. Bao đóng trong mô hình dữ liệu dạng khối : 2.41. Bao đóng của tập phụ thuộc hàm

Một phần của tài liệu Nghiên cứu bao đóng trong mô hình dữ liệu dạng khối (Trang 40)