Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
737 KB
Nội dung
1 / 24
Phép toánquanhệ
2 / 24
Ngôn ngữ hình thức cho mô hình quanhệ
Ngôn ngữ SQL thuận tiện cho
tính toán
Các ngôn ngữ theo tính toán
quan hệ thuận tiện cho mô tả.
Lớp ngôn ngữ này chịu ảnh
hưởng của ngôn ngữ SQL
3 / 24
Phép toánquanhệ
Phép toán có
•
biến, hằng
•
Phép toán so sánh (<,>,=,≥,≠.≤),
•
Liên kết logic ( ∧,∨)
•
Lượng tử (∃,∀)
Có hai loại ngôn ngữ
•
Tính toánquanhệ trên bộ (Tuple relational calculus TRC) :
Các biến theo các bộ dữ liệu. Đại diện là QUEL.
•
Phép toánquanhệ trên miền (Domain relational calculus
DRC). Các biến theo các phần tử của miền dữ liệu. Đại diện
là QBE.
•
Cả hai TRC và DRC là phần con đơn giản của logic vị từ
bậc một.
4 / 24
Phép toánquanhệ trên bộ (TRC)
Biến bộ : biến nhận các bộ của lược đồ quan
hệ như là giá trị.
Câu hỏi có dạng
T = biến bộ
p(T) = công thức mô tả T
Kết quả là tập các bộ t mà p(t) thỏa mãn, khi
T=t
Công thức P(T) được viết theo logic vị từ bậc
nhất.
( ){ }
TpT|
5 / 24
Thí dụ : tìm thủy thủ có tần suất trên 7
Biến S gắn với một bộ trong quanhệ Sailors
S|S∈Sailors∧S.rating>7
6 / 24
Công thức TRC
Công thức :
Công thức nguyên tử
R ∈ Rel, R.a op S.b, R.a op hằng, hằng op R.a
Xác định đệ qui
¬
p, p
∧
q, p
∨
q, p
⇒
q , trong đó p, q là công thức
∃
R(p(R)), trong đó R là biến bộ
∀
R(p(R)), trong đó R là biến bộ
Terms
Gắn lượng tử
∃
và
∀
gắn với biến R.
Tự do – biến là tự do khi không gắn với lượng tử
7 / 24
Ngữ nghĩa của các câu hỏi TRC
F là công thức nguyên tử R ∈ Rel, và R được gán với bộ trong
thể hiện của quanhệ Rel
{S|S∈Sailors}
F là công thức so sánh R.a op S.b, R.a op h ngằ , hay h ng op ằ
R.a, và các bộ gắn với R và S có các trường tên là R.a và S.b,
thỏa mãn so sánh true.
F là công thức ¬p, và p không đúng;
công thức p ∧ q, và cả p và q đều true;
công thức p ∨ q, và một trong hai là true;
công thức p ⇒ q, và q là true khi mà p là true.
F là công thức có dạng ∃R(p( R )), và có sự gán các bộ cho biến
tự do trongb p ( R ), bao gồm biến R làm cho công thức p( R )
true;
F là công thức có dạng ∀R (p ( R )), và có sự gán các bộ cho biến
tự do trongb p ( R ), bao gồm biến R làm cho công thức p( R )
true không liên quan đến bộ nào được gán cho R.
8 / 24
sid sname rating age
22 dustin 7 45.0
31 lubber 8 55.5
58 rusty 10 35.0
sid bid day
22 101 10/10/96
58 103 11/12/96
SailorsReserves
Thí dụ về TRC
9 / 24
Tìm tên và tuổi của thủy thủ có tần suất trên 7
P là biến bộ có hai trường name và age.
- Hai trường là trường duy nhất trong P
- P khi liên quan đến bất kì quanhệ nào
{ P |
∃
S
∈
Sailors (S.rating > 7
∧
P.name = S.sname
∧
P.age = S.age)}
name age
Lubber 55.0
rusty 35.0
sid sname rating age
22 dustin 7 45.0
31 lubber 8 55.5
58 rusty 10 35.0
Sailors
10 / 24
Tìm tên thủy thủ phục vụ tàu 103
{ P |
∃
S
∈
Sailors
∃
R
∈
Reserves
(R.sid = S.sid
∧
R.bid = 103
∧
P.sname = S.sname)}
Tìm tất cả các thủy thủ có bộ trong quanhệ Reserves, có cùng giá
trị trong trường SID, mà bid =103
Vậy thì, các bộ kết quả trông ra sao, về dòng, cột. Có gì khác
nhau không ?
{ S |
∃
S
∈
Sailors
∧
∃
R
∈
Reserves (R.sid = S.sid
∧
R.bid = 103)}
[...]... Ir, Br, D ∈Re serves ∧ I = Ir ∧ Br = B 21 / 24 So sánh đại số quanhệ và phép toánquanhệ Hai loại ngôn ngữ đều dùng để trả lời câu hỏi cơ sở dữ liệuquanhệ Có thể chuyển câu đại số quanhệ sang câu phép toánquanhệ Ngược lại, khi có câu phép toánquanhệ : • Câu hỏi không an toàn {S | ¬(S ∈ Sailors)} đúng hay không ? • Câu TRC an toàn - Dom(Q , I) -... một hằng không trong Dom(Q,I), thì câu p(r) là đúng 22 / 24 Kết luận Đại số quanhệ là tính toán đảm bảo và mạnh Ngôn ngữ là hoàn toànquanhệ nếu có thể thể hiện tất cả các câu hỏi theo đại số quanhệ Phép toánquanhệ không hướng tính toán, mà mô tả Người dùng xác định câu hỏi theo cách họ muốn, không theo cách tính toán ra sao 23 / 24 Cám ơn sự theo dõi 24 / 24 ... chế các tàu đỏ 14 / 24 Phép toánquanhệ trên miền Câu hỏi có dạng x1, x2, , xn | p x1, x2, , xn Kết quả là tất cả các bộ x1, x2, , xn Để cho công thức là đúng p x1, x2, , xn 15 / 24 Công thức DRC Công thức nguyên tử ∈ Rel , trong đó Rel là quanhệ có n biến X op Y X op hằng số op là một trong các phép so sánh (,=,≥,≠.≤),... x2, , xn Điều hạn chế quan trọng là các biến x1, , xn bên trái dấu `|’ cần là biến tự do duy nhất trong công thức p( ) 17 / 24 Tìm thủy thủ tần suất trên 7 I, N,T, A | I, N,T, A ∈ Sailors ∧ T > 7 Sailors sid 22 31 58 sname rating age dustin 7 45.0 lubber 8 55.5 rusty 10 35.0 I, N,T, A ∈ Sailors biến miền dữ liệu I, N, T và A là bị buộc vào các trường của... Boats)) π sname (Tempsids Sailors) 12 / 24 Tìm các thủy thủ đã trên tàu đỏ { P | ∃S ∈ Sailors ∧ ∀B ∈ Boats (B.color = 'red' ⇒ (∃R ∈ Reserves (S.sid = R.sid ∧ R.bid = B.bid))} Thể hiện theo đại số quanhệ ρ (:Tempsids, (π Re serves) / (π Boats)) sid, bid bid π sname (Tempsids Sailors) 13 / 24 Tìm thủy thủ phục vụ tất cả các tàu đỏ về logic p ⇒ q tương đương ¬p∨q { P | ∃S ∈ Sailors ∧ ∀B ∈ Boats... từng phục vụ tàu đỏ { P | ∃S ∈ Sailors ∃R ∈ Reserves ∃B ∈ Boats (R.sid = S.sid ∧ B.bid = R.bid ∧ B.color ='red' ∧ P.sname = S.sname)} Tìm tất cả các bộ sailor S mà có bộ R trong Reserves và B trong quanhệ Boats, để R.sid = S.sid ∧ B.bid = R.bid ∧ B.color ='red' { P | ∃S ∈ Sailors ∃R ∈ Reserves (R.sid = S.sid ∧ P.sname = S.sname ∧ ∃B ∈ Boats(B.bid = R.bid ∧ B.color ='red'))} 11 / 24 Tìm thủy thủ phục . / 24
Phép toán quan hệ
2 / 24
Ngôn ngữ hình thức cho mô hình quan hệ
Ngôn ngữ SQL thuận tiện cho
tính toán
Các ngôn ngữ theo tính toán
quan hệ thuận. ngữ này chịu ảnh
hưởng của ngôn ngữ SQL
3 / 24
Phép toán quan hệ
Phép toán có
•
biến, hằng
•
Phép toán so sánh (<,>,=,≥,≠.≤),
•
Liên kết logic