Đang tải... (xem toàn văn)
Tài liệu môn Hệ quản Trị CSDL
BMHTTT 1 NN NN CHƯƠNG CHƯƠNG Đại số quan hệ (Relational Algebra) (Relational Algebra) BMHTTT 2 NN NN N N ộ ộ i dung i dung Đại số quan hệ 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 Đại số quan hệ (Relational Algebra) Đại số quan hệ 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 quan hệ để tạo ra 1 quan hệ khác mà không làm thay đổi các quan hệ ban đầu. ÎCác toán hạng và kết quả đều là quan hệ Î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 đại số quan hệ. Kết quả của query cũng là 1 quan hệ. Mối liên hệ giữa SQL và đại số 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 đại số quan hệ 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 quan hệ r trên lược đồ quan hệ 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 quan hệ 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 quan hệ 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 [...]... σ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 quan hệ r và s (suy dẫn) r ∩ s = {t | t ∈ r và t ∈ s} Điều kiện: các quan hệ r và s phải có tính khả hợp (union-compatible) 22NN BMHTTT 22 Phép kết θ θ-join Cho quan hệ r trên R, quan hệ 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... x k2 bộ Nếu R và S có thuộc tính A trùng nhau, thì nên thay thành R.A và S.A để cho R ∩S = ∅ Trong phép kết bằng, nếu k=0 thì phép kết bằng trở thành phép tích 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|... σPCODE =311452(Product) NN 11 11 Phép chiếu (Projection operation) Cho quan hệ 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 quan hệ ΠX(r) = {t | ∃ u∈ r sao cho t = u[X]} Nếu quan hệ 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|... trên 2 thuộc tính A và B, cho kết quả là 1 quan hệ q trên lược đồ quan hệ 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 quan hệ 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 quan hệ sau: STUDENT(Id,Name,BirthDate) PROFESSOR(Id,Name,Qualification)... Descartes Cho quan hệ 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 quan hệ 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 quan hệ r có bậc là m, và k bộ Và quan hệ s có bậc là n và l bộ thì r x s có bao nhiêu bậc và bộ? Bậc là m + n và có k x l bộ BMHTTT 15 15NN Cartesian-Product... 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 quan hệ r và s r ∪ s = {t | t ∈ r hay t ∈ s} Phép hiệu của 2 quan hệ r và s r - s = {t | t ∈ r và t ∉ s} Điều kiện: các quan hệ 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 x s) A D E 1 1 1... 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 quan hệ 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] = ts và t[Ai] = t[Bi], i =1, , k } 30NN BMHTTT 30... tên các giáo sư dạy môn học mùa thu 2007 (semester =‘F2007’) ΠName(PROFESSOR Id=ProfId σSemester=‘F2007’(TEACHING)) 28NN BMHTTT 28 V í dụ Tìm tên môn và tên giáo sư của các môn học được dạy trong mùa thu 2007 ΠCrsName,Name((PROFESSOR σSemester=‘F2007’ (TEACHING)) CrsCode=CrsCodeCOURSE) Id=ProfId 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 = ΠT(σF(r x s)) với F là biểu thức R.A1 = S.A1, R.A2 = S.A2,…, R.Ak =S.Ak và R ∩ S ={A1,A2,…,Ak} (T là tập thuộc tính hợp của 2 tập thuộc tính nhưng thuộc tính trùng không được lặp lại lần thứ 2) Nếu R ∩ S =∅ thì phép kết tự nhiên sẽ là tích Descartes??? 34NN BMHTTT 34 Natural-Join Operation - Example Cho R = (A, B, C, D) S = (E, B, D) Lược đồ kết quả = (A, B, C, D, E) r s được xác định như sau:... 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 Natural Join Operation – Example Relations r, s: s r A s C D B D E α β γ α δ I r B 1 2 4 1 2 α γ β γ β a a b a b 1 3 1 2 3