CHƯƠNG 2: MÔ HÌNH CƠ SỞ DỮ LIỆU DẠNG KHỐI
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ố.
Đố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}.
VD: Cho 2 khối r và s nhƣ sau:
Khi đó ta có:
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ó r s = {t | t r và t s}.
Ví dụ:
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 Ví dụ:
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),
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 : trs j1 r và trs j2 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‟
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.
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ệ.
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.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).