Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 154 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
154
Dung lượng
4,16 MB
Nội dung
1 Phần 1 Đại số quan hệ TS. Nguyễn Đình Thuân Khoa Hệ thống thông tin Trường ĐH Công nghệ Thông tin 8/2013 2 Giới thiệu Đại số quan hệ – Là tập hợp các phép toán cơ sở của mô hình dữ liệu quan hệ – Biểu thức đại số quan hệ là sự kết hợp của các toán hạng và toán tử – Kết quả của một biểu thức đại số quan hệ là một thể hiện của quan hệ Ý nghĩa : – Là cơ sở hình thức cho các phép toán của mô hình QH – Là cơ sở để cài đặt và tối ưu hóa các truy vấn trong các hệ QT CSDL 3 Giới thiệu Toán hạng – có thể là : – Các thể hiện của quan hệ – Các tập hợp Toán tử (phép toán) cơ bản bao gồm 8 phép toán : – Phép toán tập hợp • Phép hợp, phép giao, phép hiệu, phép tích Descartes – Phép toán quan hệ • Phép chọn, phép chiếu, phép chia, phép kết nối Và một số phép khác: • Phép gán (←) • Hàm tính toán và gom nhóm: avg(), min(), max(), sum(), count(). Khái niệm khả hợp: Hai lược đồ quan hệ R1 và R2 là khả hợp nếu cùng bậc n và DOM(Ai)=DOM(Bi) (1 ≤ i ≤ n) 4 Phép hợp (Union) Hợp của hai quan hệ r và s khả hợp là tập các bộ thuộc r hoặc s hoặc thuộc cả hai quan hệ Kí hiệu : r ∪ s Công thức : r ∪ s = { t/ t ∈ r hoặc t ∈ s} sr 5 Phép hợp Ví dụ : r ( A B C) s ( A B C) r ∪ s = ( A B C) ___________ __________ ________________ a1 b1 c1 a1 b1 c1 a1 b1 c1 a2 b1 c2 a2 b2 c2 a2 b1 c2 a2 b2 c1 a2 b2 c2 a2 b2 c1 6 Phép giao (Intersection) Giao của hai quan hệ r và s khả hợp là tập các bộ thuộc cả hai quan hệ Kí hiệu : r ∩ s Công thức : r ∩ s = { t/ t ∈ r và t ∈ s } Ví dụ : Với hai quan hệ ở ví dụ trước, giao của chúng là: r ∩ s = ( A B C ) a1 b1 c1 s r 7 Phép trừ (Minus) Hiệu của hai quan hệ r và s khả hợp là tập các bộ thuộc r nhưng không thuộc s Kí hiệu : r - s Công thức : r - s = { t/ t ∈ r và t ∉ s } Ví dụ : Với hai quan hệ ở ví dụ trước, giao của chúng là: r - s = ( A B C ) a2 b1 c2 a2 b2 c1 sr 8 Phép tích Descartes (CartesianProduct) r là quan hệ xác định trên tập thuộc tính {A1, A2, , An} s là quan hệ xác định trên tập thuộc tính {B1, B2, ,Bm} Tích Descartes của r và s là tập ( n + m ) - bộ với n thành phần đầu là một bộ thuộc r và m thành phần sau là một bộ thuộc s Kí hiệu: r x s Công thức : r x s = { t: t có dạng (a1, a2, , an, b1, b2, ,bm) trong đó (a1, ,an ) ∈ r và (b1, ,bm) ∈ s } 9 Phép tích Descartes Ví dụ : r (A B C) s (D E) r × s = p (A B C D E) a1 b1 1 1 e1 a1 b1 1 1 e1 a2 b2 2 2 e2 a1 b1 1 2 e2 a3 b3 3 a2 b2 2 1 e1 a2 b2 2 2 e2 a3 b3 3 1 e1 a3 b3 3 2 e2 10 Phép chiếu (Projection) Phép chiếu trên một quan hệ thực chất là loại bỏ đi một số thuộc tính và giữ lại những thuộc tính còn lại của quan hệ đó. Công thức : π < ds_thuộc tính> (< tên quan hệ >) <ds_thuộc tính>:dsách các thuộc tính được lấy Kết quả của phép chiếu là tập các thuộc tính trong danh sách với cùng thứ tự. Nếu <ds_thuộc tính> chỉ có những thuộc tính không khoá thì phép chiếu sẽ bỏ đi những bộ lặp. Phép chiếu không có tính giao hoán. π <ds1> ( π <ds2> (R)) ≠ π <ds2> ( π <ds1> (R)) [...]... C D E ) 1 1 2 r s = ( A B C C D E) B≥ C 1 d1 e1 2 d2 e2 3 d3 e3 a1 a2 a2 a1 a1 Kết nối tự nhiên r(ABC) * s(CDE) = ( A B 1 1 d1 e1 a2 2 1 d1 e1 a1 2 2 d2 e2 C D E) 1 1 1 d1 e1 2 1 1 d1 e1 2 1 2 d2 e2 2 2 1 d1 e1 2 2 2 d2 e2 a1 16 Phép kết nối tự nhiên (Natural-Join Operation) Nếu kết nối θ dựa trên phép so sánh “=“ tại các thuộc tính cùng tên của 2 quan hệ R và S và một trong hai thuộc tính đó bị... MAGV MAMH 12 50 Lê Phú Thọ NULL NULL 12 55 Nguyễn Khuyến 12 55 TH490 12 56 Đào Anh Vũ NULL NULL 12 31 Trần Ngân Bình 12 31 TH409 Trần Ngân Bình 12 32 Phan Phương Lan 12 32 TH409 Phan Phương Lan 12 32 Phan Phương Lan 12 32 TH334 MAGV HOTEN_GV 12 50 Lê Phú Thọ 12 55 Nguyễn Khuyến 12 56 Đào Anh Vũ 12 31 1232 S: Phân công dạy trong HK này MAGV MAMH 12 31 TH409 12 32 R R S MAGV MAMH MAGV HOTEN_GV 12 31 TH409 12 31 Trần Ngân... 24 Ví dụ 1: S S# SNAME STATUS CITY S1 Smith 20 London S2 Jones 10 Paris S3 Kery 30 Cho sơ đồ quan hệ sau : Roma P P# SP PNAME COLOR WEIGHT S# P# QTY P1 Nut Red 12 S1 P1 300 P2 Bolt Green 17 S1 P2 200 P3 Screw Blue 17 S1 P3 400 S2 P1 300 P4 Screw Red 14 S2 P2 400 S3 P4 200 25 S S# SNAME STATUS CITY S1 Smith 20 London S2 Jones 10 Paris S3 Kery 30 Roma Thực hiện các câu hỏi sau bằng ngôn ngữ đại số QH P... ‘P2’(SP)) 26 S S# SNAME STATUS CITY S1 Smith 20 London S2 Jones 10 Paris S3 Kery 30 Roma Thực hiện các câu hỏi sau bằng ngôn ngữ đại số QH P S# P# QTY P# PNAME COLOR WEIGHT S1 P1 300 P1 Nut Red 12 S1 P2 200 P2 Bolt Green 17 S1 P3 400 P3 Screw Blue 17 S2 P1 300 P4 Screw Red 14 S2 P2 400 S3 SP P4 200 Liệt kê S# của các hãng cung ứng cả hai mặt hàng ‘P1’ và P2’ ∏S# (σP# = ’P1’ (SP)) ∩ ∏s# (σP# = ’P2’(SP))... Tên quan hệ >) < Tên quan hệ >: chỉ quan hệ được chọn Kết quả thu được là một quan hệ có danh sách thuộc tính được chỉ ra trong Tên quan hệ : là các biểu thức điều kiện cần thoả mãn Các biểu thức này được nối với nhau bằng các phép: ¬ ( phủ định ), ∧ (và), ∨ (hoặc) Phép chọn có tính giao hoán σ (σ (R)) = σ (σ (R)) 12 Phép chọn(Selection) Ví dụ : Cho quan hệ SV(Mã... P# PNAME COLOR WEIGHT S1 P1 300 P1 Nut Red 12 S1 P2 200 P2 Bolt Green 17 S1 P3 400 P3 Screw Blue 17 S2 P1 300 P4 Screw Red 14 S2 P2 400 S3 SP P4 200 Liệt kê danh sách các mặt hàng màu đỏ : σCOLOR = ‘Red’(P) Liệt kê P#, PName các mặt hàng màu đỏ và có Weight >15 : ∏P#,Pname (σColor = ’Red’ ^ Weight > 10 0(P)) Liệt kê S# của các hãng cung ứng mặt hàng ‘P1’ hoặc ‘P2’ ∏S# (σP# = ’P1’ v P# = ‘P2’(SP)) 26... TH409 12 31 Trần Ngân Bình TH409 12 32 TH409 12 32 Phan Phương Lan 12 32 TH334 12 32 TH334 12 32 Phan Phương Lan 12 55 TH490 12 55 TH490 12 55 Nguyễn Khuyến 19 57 TH333 19 57 TH333 NULL S ? NULL 19 Phép gán (Assignment) Dùng để diễn tả câu truy vấn phức tạp Ký hiệu: A ← B Ví dụ: R(HO,TEN,LUONG)← π HONV,TENNV,LUONG(NHANVIEN) Kết quả bên phải của phép gán được gán cho biến quan hệ nằm bên trái 20 Phép chia (Division)... Anh 23/4/86 8 Ngọc Bích 13 /4/85 9 004 σ 0 01 002 σ Điểm>7 ∧(Year(Ngaysinh) >= 19 85) (SV) Ngày sinh Điểm Hồng Vân 10 21/ 6/85 (SV) Mã SV Họ tên Ngày sinh Điểm 0 01 23/4/86 Trần Anh 8 13 Phép kết nối (Join) Phép ghép bộ: Giả sử cho hai bộ u = (a1, ., an) và v = (b1, ., bm) Phép ghép bộ u với bộ v, ký hiệu (u,v), được định nghĩa (u,v) = (a1, ., an, b1, ., bm) Phép kết nối hai quan hệ thực chất là phép ghép...Phép chiếu (Projection) Ví dụ : Cho quan hệ SV (Mã SV, Họ tên, Ngày sinh, Điểm) Mã SV Họ tên Ngày sinh Điểm 0 01 Trần Anh 23/4/86 8 002 Ngọc Bích 13 /4/85 9 003 Xuân Mai 25/3/87 7 004 Hồng Vân 21/ 6/85 10 Mã SV Phép chiếu πMã Sv, Điểm (SV): Điểm 0 01 8 002 9 003 7 004 10 11 Phép chọn(Selection) Phép chọn dùng để trích chọn một tập con trong một quan hệ, các bộ được trích chọn phải thoả mãn điều... các khách hàng (MAKH, HOTEN) đã mua hàng trong ngày 1/ 1/2 013 3 In ra danh sách các sản phẩm (MASP,TENSP) do “Han Quoc” sản xuất hoặc các sản phẩm được bán ra trong ngày 1/ 1/2 013 4 Tìm các số hóa đơn mua cùng lúc 2 sản phẩm có mã số “BB 01 và “BB02” 5 In ra danh sách các sản phẩm (MASP,TENSP) do “Han Quoc” sản xuất không bán được trong năm 2 012 6 Tìm số hóa đơn đã mua tất cả các sản phẩm do Singapore . B 16 Phép kết nối(Join) Ví dụ : r ( A B C ) s( C D E ) r s = ( A B C C D E) a1 1 1 1 d1 e1 a1 1 1 1 d1 e1 a2 2 1 2 d2 e2 a2 2 1 1 d1 e1 a1 2 2 3 d3 e3 a2 2 1 2 d2 e2 a1 2 2 1 d1 e1 a1. ________________ a1 b1 c1 a1 b1 c1 a1 b1 c1 a2 b1 c2 a2 b2 c2 a2 b1 c2 a2 b2 c1 a2 b2 c2 a2 b2 c1 6 Phép giao (Intersection) Giao của hai quan hệ r và s khả hợp là tập các bộ thuộc cả hai quan hệ Kí. (a1, a2, , an, b1, b2, ,bm) trong đó (a1, ,an ) ∈ r và (b1, ,bm) ∈ s } 9 Phép tích Descartes Ví dụ : r (A B C) s (D E) r × s = p (A B C D E) a1 b1 1 1 e1 a1 b1 1 1 e1 a2 b2 2 2 e2 a1 b1