Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 50 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
50
Dung lượng
719,98 KB
Nội dung
BMHTTT 1 NN NN CHƯƠNGCHƯƠNGĐạisốquanhệ (Relational Algebra) (Relational Algebra) BMHTTT 2 NN NN N N ộ ộ i dung i dung Đạisốquanhệ 5 phép toán cơ bản 3 phép toán suy dẫn Phép giao Phép kết: kết θ, kết bằng, kết tự nhiên, nửa kết, kết ngoài Phép chia 2 BMHTTT 3 NN NN Đạisốquanhệ (Relational Algebra) Đạisốquanhệ là ngôn ngữ tập hợp (set language) bao gồm các toán tử (operator) thao tác trên 1 hay nhiều quanhệ để tạo ra 1 quanhệ khác mà không làm thay đổi các quanhệ ban đầu. ÎCác toán hạng và kết quả đều là quanhệ ÎKết quả của 1 phép toán có thể trở thành toán hạng cho 1 phép toán khác Æ tính bao đóng (closure) 3 BMHTTT 4 NN NN Đ Đ ạ ạ i s i s ố ố quan h quan h ệ ệ v v à à SQL SQL Query thực chất là 1 biểu thức chứa các toán tử của đạisốquan hệ. Kết quả của query cũng là 1 quan hệ. Mối liên hệ giữa SQL và đạisốquan hệ?? SQL là 1 ngôn ngữ phi thủ tục ( không xác định các thủ tục được dùng để xử lý truy vấn), còn đạisốquanhệ theo hướng thủ tục. 4 BMHTTT 5 NN NN 5 SQL query SQL query Relational algebra Expression Relational algebra Expression Query Execution Plain Query Execution Plain Executable Code Executable Code Parser Query Optimizer Query Optimizer Code generator BMHTTT 6 NN NN 5 ph 5 ph é é p to p to á á n cơ b n cơ b ả ả n n Phép chọn (selection) Phép chiếu (projection) Phép tích Descartes (Cartesian product) Phép hợp (union) Phép hiệu (difference) 6 BMHTTT 7 NN NN Ph Ph é é p ch p ch ọ ọ n (selection) n (selection) Các phép toán được thực hiện cho quanhệ r trên lược đồ quanhệ R và điều kiện F. Điều kiện F là 1 biểu thức luận lý có giá trị true/false, nó bao gồm: Các toán hạng là hằng hoặc tên thuộc tính Các phép toán so sánh =, ≠, <, ≤,>, ≥ Các phép toán luận lý not (¬), and (∧), or (∨) 7 BMHTTT 8 NN NN Ph Ph é é p ch p ch ọ ọ n n Phép chọn trên r theo điều kiện F, ký hiệu là σ F (r), cho kết quả là 1 quanhệ bao gồm các bộ của r thỏa mãn điều kiện F σ F (r) = {t|t ∈r và F(t) = true} Nếu quanhệ r có bậc là n và có k bộ thì σ F (r) có bao nhiêu bậc và bộ? Î Bậc là n và có tối đa là k bộ 8 BMHTTT 9 NN NN V V í í d d ụ ụ 9 BMHTTT 10 NN NN Select Operation Select Operation – – Example Example ■ Relation r A B C D α α β β α β β β 1 5 12 23 7 7 3 10 σ A=B ^ D > 5 (r) A B C D α β α β 1 23 7 10 [...]... ΠP_CODE,PRICE (PROJECT) NN BMHTTT 14 14 Phép tích Descartes Cho quanhệ r trên lược đồ R(A1, A2, ,Am) và s trên lược đồ S(B1,B2,…,Bn) Phép tích Descartes của r và s là 1 quanhệ trên lược đồ T(A1, A2, , Am, B1, B2, ….,Bn) r x s = {(t1,t2, ,tm,tm+1,…Tm+n) |(t1, t2, , tm) ∈ r và (tm+1, …, tm+n) ∈ s } Nếu quanhệ r có bậc là m, và k bộ Và quanhệ s có bậc là n và l bộ thì r x s có bao nhiêu bậc và bộ? Bậc... σA=C(r x s) C α α α α β β β β rxs B 1 2 2 α 10 a β 10 a β 20 b NN BMHTTT 21 Ba phép toán suy dẫn Phép giao của 2 quanhệ r và s (suy dẫn) r ∩ s = {t | t ∈ r và t ∈ s} Điều kiện: các quanhệ r và s phải có tính khả hợp (union-compatible) 22NN BMHTTT 22 Phép kết θ θ-join Cho quanhệ r trên R, quanhệ s trên S Gọi T = R ∪ S, các thuộc tính của R khác với các thuộc tính của S, θ là 1 phép so sánh A ∈ R và B... trên 2 thuộc tính A và B, cho kết quả là 1 quanhệ q trên lược đồ quanhệ T bao gồm các bộ t Q(T) = {t | ∃ tr ∈ r và ts ∈ s với t[R] = tr và t[S] = ts và t[A] θ t[B] } 23NN BMHTTT 23 Phép kết θ θ-join Phép kết của 2 quanhệ r và s r A θ B s = σ A θ B (r x s) Phép kết có tính giao hoán 24NN BMHTTT 24 V í dụ 25NN BMHTTT 25 V í dụ 26NN BMHTTT 26 V í dụ Cho các quanhệ sau: STUDENT(Id,Name,BirthDate) PROFESSOR(Id,Name,Qualification)... Descartes 31NN BMHTTT 31 Phép kết tự nhiên (Natural join) Phép kết tự nhiên của 2 quan hệ r và s cho kết quả là 1 quan hệ q trên lược đồ quan hệ T (có tập thuộc tính là hợp của các tập thuộc tính của R và S) bao gồm các bộ t như sau: r s = {t| ∃ tr ∈ r và ts ∈ s với t[R] = tr và t[S] = ts } R và S có thể có thuộc tính trùng nhau Quan hệ kết quả q không lặp lại các thuộc tính được kết với nhau BMHTTT 32 32NN... 29NN BMHTTT 29 Phép kết bằng (Equijoin) Là trường hợp đặc biệt của Phép kết θ Cho quan hệ r trên R, s trên S với Ai ∈ R và Bi ∈ S và dom(Ai) = dom(Bi), i = 1… k Gọi T = R ∪ S (k là số thuộc tính dùng để so sánh bằng ở 2 quan hệ) Phép kết bằng của r và s trên các thuộc tính A1, A2,…, Ak và B1, B2,… Bk cho kết quả là 1 quanhệ trên T bao gồm các bộ: Q(T) = {t | ∃ tr ∈ r và ts ∈ s với t[R] = tr và t[S] =... σPCODE =311452(Product) NN 11 11 Phép chiếu (Projection operation) Cho quanhệ r trên R(A1, A2, ,Am) và tập con các thuộc tính X={Aj1, Aj2, …, Ajn} với j1, j2, , jn là các số nguyên phân biệt nằm trong khoảng từ 1 đến m Phép chiếu của r trên tập thuộc tính X cho kết quả là 1 quanhệ ΠX(r) = {t | ∃ u∈ r sao cho t = u[X]} Nếu quanhệ r có bậc là n và có k bộ thì ΠX(r) có bao nhiêu bậc và bộ? Bậc là |X|... 10 10 20 10 a a b b a a b b NN BMHTTT 16 Ví d ụ PRODUCT x STORE NN BMHTTT 17 17 Phép hợp (union), phép hiệu (intersection) Phép hợp của 2 quanhệ r và s r ∪ s = {t | t ∈ r hay t ∈ s} Phép hiệu của 2 quanhệ r và s r - s = {t | t ∈ r và t ∉ s} Điều kiện: các quanhệ r và s phải có tính khả hợp (union-compatible) 18NN BMHTTT 18 Union NN BMHTTT 19 19 Intersect NN BMHTTT 20 20 Biểu thức phức Tính σA=C(r