Chương 4: Đại số quan hệ
lượt xem 155
download
Đại số quan hệ là ngôn ngữ dùng để đặc tả việc truy xuất dữ liệu trên quan hệ. Gồm tập hợp các phép toán trên các quan hệ và cho kết quả là một quan hệ.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Chương 4: Đại số quan hệ
- CƠ SỞ DỮ LIỆU Chöông 4 ÑAÏI SOÁ QUAN HEÄ 1 MUÏC ÑÍCH Hieåu caùc pheùp toaùn treân quan heä Vaään duïng caùc pheùp toaùn khi thao taùc treân döõ lieäu (ñöôïc toå chöùc theo moâ hình quan heä) 2
- Chöông 5 ÑAÏI SOÁ QUAN HEÄ 1. Giôùi thieäu 2. Caùc pheùp toaùn treân quan heä ∪, ∩, -, σ, Π, × ⋈: θ-keát (θ-join) keát baèng (equi join), keát töï nhieân (natural join), keát traùi (left join), keát phaûi (right join), keát ngoïai (outer join). pheùp chia ÷, caùc haøm keát hôïp (aggregate function) 3. Caùc thao taùc treân döõ lieäu quan heä: Tìm kieám, Theâm , Xoùa, Caäp nhaät. 3 GIÔÙI THIEÄU Ñaïi soá quan heä laø ngoân ngöõ duøng ñeå ñaëc taû vieäc truy xuaát döõ lieäu treân quan heä. Goàm taäp hôïp caùc pheùp toaùn treân caùc quan heä vaø cho keát quaû laø moät quan heä. 4
- CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Pheùp hoäi Kyù hieäu: ∪ r vaø s laø 2 quan heä khaû hôïp. Bieåu dieãn hình thöùc cuûa pheùp hôïp: r ∪ s = { t/ (t ∈ r) ∨ (t ∈ s) } Hai quan heä laø khaû hôïp neáu chuùng coù cuøng soá thuoäc tính vaø caùc thuoäc tính töông öùng cuøng mieàn giaù trò. Keát quaû laø moät quan heä coù caùc thuoäc tính laø caùc thuoäc tính cuûa quan heä r, soá boä laø hoäi soá boä cuûa hai quan heä coù loaïi boû söï truøng laép. r ∪ s (A, B, C) Ví duï: s(A, B, C) r (A, B, C) A B C A B C A B C a1 b1 c1 a1 b1 c1 a1 b1 c1 a2 b1 c2 a2 b1 c2 a2 b2 c2 a2 b2 c1 a2 b2 c1 5 a2 b2 c2 CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Pheùp giao Kyù hieäu: ∩ Cho hai quan heä r vaø s khaû hôïp. Bieåu dieãn hình thöùc cuûa pheùp giao: r ∩ s = { (t ∈ r) ∧ (t ∈ s)} Keát quaû laø moät quan heä coù caùc thuoäc tính laø caùc thuoäc tính cuûa quan heä r, goàm caùc boä xuaát hieän ôû caû hai quan heä. Ví duï: r (A, B, C) s(A, B, C) r∩ s (A, B, C) A B C A B C A B C a1 b1 c1 a1 b1 c1 a1 b1 c1 a2 b1 c2 a2 b2 c2 a2 b2 c1 6
- CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Pheùp tröø Kyù hieäu: - Cho hai quan heä r vaø s khaû hôïp. Bieåu dieãn hình thöùc cuûa pheùp tröø: r – s = {t / (t∈ r) ∧ (t ∉ s) } Keát quaû laø moät quan heä coù caùc thuoäc tính laø caùc thuoäc tính cuûa quan heä r, goàm caùc boä xuaát hieän ôû quan heä r maø khoâng coù ôû s. Ví duï: r (A, B, C) s(A, B, C) r - s (A, B, C) A B C A B C A B C a1 b1 c1 a2 b1 c2 a1 b1 c1 a2 b1 c2 a2 b2 c2 a2 b2 c1 a2 b2 c1 7 CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Pheùp choïn Kyù hieäu σ Ñònh nghóa: Cho löôïc ñoà quan heä R (A1, A2,…, An), r(R): σE (r) = {t , t ∈ r vaø t thoûa E} E laø moät bieåu thöùc cho bieát ñieàu kieän choïn. Kyù hieäu: σE (r) + Pheùp choïn ñöôïc duøng ñeå trích choïn caùc doøng thoûa ñieàu kieän choïn E töø quan heä ban ñaàu. + Keát quaû laø moät quan heä coù soá coät baèng soá coät cuûa r, soá doøng laø soá doøng trong r thoûa E. 8
- CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Pheùp choïn Ví duï1: Cho danh saùch caùc nhaân vieân thuoäc phoøng coù maõ laø KD. σPHG = ‘KD’ (NHANVIEN) Ví duï2: Cho danh saùch caùc nhaân vieân nöõ cuûa phoøng KD coù löông lôùn hôn 1000000. σPHAI = ‘nu’ and PHG = ‘KD’ and LUONG >1000000 (NHANVIEN) 9 CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Pheùp chieáu Kyù hieäu: Π Cho tröôùc moät löôïc ñoà quan heä R (A1, A2,…, An), X⊂R, r(R): ΠX(r) = {t[X] ⏐ t ∈ r} Kyù hieäu: Π A1, A2, ..., Ak (r) Ai laø caùc thuoäc tính chieáu + Pheùp chieáu ñöôïc duøng ñeå boû bôùt caùc thuoäc tính khoâng quan taâm töø quan heä ban ñaàu. + Keát quaû laø moät quan heä coù soá coät laø taäp thuoäc tính chieáu X, soá doøng laø soá doøng trong r coù loaïi boû söï truøng laép. + Neáu X coù chöùa khoùa cuûa r thì khoâng caàn loaïi boû söï truøng laép döõ lieäu. 10
- CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Pheùp chieáu Cho danh saùch nhaân vieân goàm caùc thoâng tin teân Ví duï 1: nhaân vieân, löông, naêm sinh, phaùi. ∏ TENNV, LUONG, NAMSINH, PHAI (NHANVIEN) Ví duï 2: Cho danh saùch teân taát caû caùc ñeà aùn. ∏ TENDA DEAN 11 CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Ví duï 1: Cho danh saùch nhaân vieân coù löông > 2000 (MANV, TENNV, LUONG) Π MANV, TENNV, LUONG (σ LUONG >2000 (NHANVIEN)) Ví duï 2: Cho danh saùch nhaân vieân nöõ thuoäc phoøng coù maõ laø KD. (MANV, TENNV) Π MANV, TENNV (σ PHAI = ‘NU’ AND PHG = ‘KD’ (NHANVIEN)) 12
- CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Pheùp gaùn Kyù hieäu: ← Ví duï 1: Cho danh saùch nhaân vieân coù löông > 2000 (MANV, TENNV, LUONG) Π MANV, TENNV, LUONG σ LUONG >2000 (NHANVIEN)) ( KQ1 ← σ LUONG >2000 (NHANVIEN) KQ ← Π MANV, TENNV, LUONG(KQ1) 13 CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Pheùp ñoåi teân Kyù hieäu: ρ Ñoåi teân quan heä Bieåu thöùc ρχ (E) traû veà keát quaû bieåu thöùc E döôùi teân χ. Ñoåi teân thuoäc tính bieåu thöùc ρ(A1, A2, …, An) (E) traû veà keát quaû bieåu thöùc E vôùi caùc thuoäc tính ñaõ ñöôïc ñoåi teân thaønh A1, A2, …, An. 14
- CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Pheùp tích Ñeà – caùc (Cartesian) Kyù hieäu: x Ñònh nghóa khaùi nieäm “ñaët caïnh nhau”. Giaû söû ta coù hai boä döõ lieäu: d = (d1, d2, …, dm) e = (e1, e2, …, em) Pheùp “ñaët caïnh nhau” cuûa e vaø d ñöôïc ñònh nghóa nhö sau: d ∩ e = (d1, d2, …, dm, e1, e2, …, em) 15 CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Pheùp tích Ñeà–caùc (Cartesian) Kyù hieäu: x R1(A1, A2, …, An) r(R1) coù k1 boä döõ lieäu R2(B1, B2, …, Bm) s(R2) coù k2 boä döõ lieäu Bieåu dieãn hình thöùc cuûa pheùp tích Ñeà-caùc: r x s = {t/ t coù daïng (a1, a2, …, an, b1, b2, …, bn), trong ñoù (a1, a2, …, an) ∈ r vaø (b1, b2, …, bn) ∈ s} Tích Ñeà – caùc r x s cuûa r vaø s laø moät quan heä coù k1*k2 boä, moãi boä cuûa quan heä keát quaû ñöôïc taïo thaønh baèng caùch ñaët caïnh nhau 1 boä cuûa s vaø 1 boä cuûa r. 16
- CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Pheùp tích Ñeà – caùc Kyù hieäu: x r (A, B, C) s(D, E, F) A B C D E F a1 b1 c1 d1 e1 f1 a2 b2 c2 d2 e2 f2 A B C D E F a1 b1 c1 d1 e1 f1 rxs (A, B, C, D, E, F) a1 b1 c1 d2 e2 f2 a2 b2 c2 d1 e1 f1 a2 b2 c2 d2 e2 f2 17 CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Pheùp tích Ñeà – caùc Kyù hieäu: x NV (MANV, TEN, PHG) PB(MAPB, TENPB) MANV TEN PHG MAPB TENPB N1 NVA KD KD Kinh doanh N2 TTB KT KT Kyõ thuaät MANV TEN PHG MAPB TENPB N1 NVA KD KD Kinh doanh NVxPB N1 NVA KD KT Kyõ thuaät (MANV,TEN, PHG,MAPB,TENPB) N2 TTB KT KD Kinh doanh N2 TTB KT KT Kyõ thuaät 18
- CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Pheùp keát Kyù hieäu: ⋈ θ Keát Keát töï nhieân (Natural join) Keát baèng (Equi join) Keát traùi (Left join) Keát phaûi (Right join) Keát ngoaïïi (Outer join) 19 CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Pheùp keát Kyù hieäu: ⋈ θ Keát Pheùp keát laø söï keát hôïp coù thöù töï cuûa pheùp tích ñeà – caùc vaø pheùp choïn. Goïi θ laø moät trong caùc pheùp so saùnh {=, >, ≥,
- CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Pheùp keát Kyù hieäu: ⋈ Keát baèng, keát töï nhieân θ laø pheùp so saùnh “=” ta goïi laø pheùp keát baèng hay coøn goïi laø equi-join Keát baèng taïi thuoäc tính cuøng teân cuûa hai quan heä vaø moät trong hai thuoäc tính ñoù ñöôïc loaïi boû qua pheùp chieáu thì pheùp keát ñoù ñöôïc goïi laø keát töï nhieân . 21 CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Inner join Q(A, B, C, D) Pheùp keát R(A,B) S(C,D) A B C D A B C D 1 A 1 X 1 A 1 X 1 B 1 X 1 B 2 Y 2 C 3 Z 2 Y 2 C 4 D Outer join Q(A, B, C, D) Left join Q(A, B, C, D) Right join Q(A, B, C, D) A B C D A B C D A B C D 1 X 1 A 1 X 1 A 1 X 1 A 1 X 1 B 1 X 1 B 1 X 1 B 2 Y 2 C 2 Y 2 C 2 Y 2 C 3 Z Null Null 3 Z Null Null Null Null 4 D Null Null 4 22 D
- CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Pheùp keát NV (MANV, TEN, PHG) PB(MAPB, TENPB) MANV TEN PHG MAPB TENPB N1 NVA KD KD Kinh doanh N2 TTB KT KT Kyõ thuaät MANV TEN PHG MAPB TENPB N1 NVA KD KD Kinh doanh NVxPB N1 NVA KD KT Kyõ thuaät (MANV,TEN, PHG,MAPB,TENPB) N2 TTB KT KD Kinh doanh N2 TTB KT KT Kyõ thuaät 23 CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Pheùp keát NV ⋈ PB (MANV,TEN, PHG,TENPB) MANV TEN PHG TENPB N1 NVA KD Kinh doanh N2 TTB KT Kyõ thuaät 24
- CAÙC PHEÙP TOAÙN TREÂN QUAN HEÄ Pheùp chia Cho 2 quan heä r(R) vaø s(S), S ⊆ R. Ñaët R’ = R – S. r chia s, vieát laø r ÷s, laø moät quan heä: r’(R’) = { t ⏐ ∀ ts ∈ s, ∃ tr ∈ r: tr(R’) = t vaø tr(S) = ts} r (A, B, C, D) r (C, D) r ÷ s (A, B) A B C D C D A B a b c d c d a b a b c1 d1 c1 d1 a1 b1 b c c1 d1 a1 b c1 d1 a1 b1 c d a1 b1 c1 d1 25 CAÙC HAØM GOM NHOÙM Max (1 field kieåu soá) : traû veà giaù trò lôùn nhaát. Min (1field kieåu soá) : traû veà giaù trò nhoû nhaát. Count(teân field), Count(*): Ñeám soá phaàn töû, truøng vaãn ñeám. Sum(1field kieåu soá): Traû veà toång. Avg(1 field kieåu soá): Traû veà giaù trò trung bình. 26
- Tính toaùn trong ñaïi soá quan heä G1, G2, …, Gn ℑ F1(A1), F2(A2), …, Fn(An) (E) Trong ñoù • E laø bieåu thöùc ñaïi soá quan heä • Gi laø teân thuoäc tính gom nhoùm (coù theå tính toaùn khoâng gom nhoùm) • Fi laø haøm gom nhoùm. • Ai laø teân thuoäc tính tính toùan trong haøm gom nhoùm Fi. 27 Tính toaùn trong ñaïi soá quan heä Ví duï 1: Tính soá nhaân vieân trong toaøn coâng ty. ℑCount(*) (NHANVIEN) No column name 20 (ℑCount(*) (NHANVIEN)) TONGSONV ρ TONGSONV 20 28
- Tính toaùn trong ñaïi soá quan heä Ví duï 2:Cho bieát trong töøng phoøng ban coù bao nhieâu nhaân vieân. PHG ℑCount(*) (NHANVIEN) MANV HOTEN PHAI PHG MANV HOTEN PHAI PHG PHG No column N1 NVA Nam KD N1 NVA Nam KD name N2 TTB Nu KT N3 NVC Nam KD KD 2 N3 NVC Nam KD N4 TTX Nu KT KT 2 N4 TTX Nu KT N2 TTB Nu KT QL 1 N5 PTC Nu QLÑA N5 PTC Nu QL PHG SONV ρ PHG, SONV ( PHG ℑCount(*) (NHANVIEN)) KD 2 KT 2 QL 29 1 CAÙC THAO TAÙC TREÂN QUAN HEÄ Caùc thao taùc treân CSDL: Tìm kieám Theâm Xoaù Söûa 30
- CAÙC THAO TAÙC TREÂN QUAN HEÄ Theâm neâu ra moät boä caàn cheøn. vieát ra moät caâu truy vaán maø keát quaû laø moät taäp hôïp caùc boä caàn cheøn. + Trong ÑSQH, thao taùc cheøn ñöôïc dieãn ñaït nhö sau: r←r∪E trong ñoù r laø moät quan heä vaø E laø moät bieåu thöùc ÑSQH Ví duï: Phaân coâng cho nhaân vieân maõ soá 001 laøm theâm ñeà aùn 10 vôùi soá giôø laø 20. PHANCONG ← PHANCONG ∪ {(‘001’,10,20)} 31 CAÙC THAO TAÙC TREÂN QUAN HEÄ Xoùa Chæ coù theå xoaù toaøn boä moät boä, khoâng theå xoùa caùc giaù trò treân chæ 1 thuoäc tính. Trong ÑSQH, thao taùc cheøn ñöôïc dieãn ñaït nhö sau: r←r-E trong ñoù r laø moät quan heä vaø E laø moät caâu truy vaán ÑSQH Ví duï: Xoaù taát caû nhöõng phaân coâng ñeà aùn cho nhaân vieân coù maõ laø 001. PHANCONG ← PHANCONG - σMANV=’001’ (PHANCONG) 32
- CAÙC THAO TAÙC TREÂN QUAN HEÄ Xoùa Ví duï: Xoaù taát caû nhöõng phaân coâng ñeà aùn maø ñòa ñieåm cuûa ñeà aùn ôû Haø Noäi. R1← σDDIEM_DA =’HA NOI’ (PHANCONG⋈SODA=MADADEAN) R2 ← πMANV,SODA,THOIGIAN(R1) PHANCONG ← PHANCONG – R2 33 CAÙC THAO TAÙC TREÂN QUAN HEÄ Söûa + Cô cheá laøm thay ñoåi moät giaù trò trong moät boä maø khoâng laøm thay ñoåi taát caû caùc giaù trò trong boä ñoù. + Ñeå caäp nhaät, söû duïng pheùp chieáu toång quaùt nhö sau: r ← πF1,F2, …, Fn (r) trong ñoù moãi Fi laø thuoäc tính thöù i cuûa R, thuoäc tính thöù i khoâng ñöôïc caäp nhaät, hoaëc seõ ñöôïc caäp nhaät. 34
- CAÙC THAO TAÙC TREÂN QUAN HEÄ Söûa Ví duï 1: Taêng thôøi gian laøm vieäc cuûa nhaân vieân leân 1.5 laàn PHANCONG ← πMANV, SODA, THOIGIAN*1.5 (PHANCONG) Ví duï 2: Trong quan heä PHANCONG, caùc nhaân vieân laøm vieäc döôùi 30 giôø seõ taêng thôøi gian laøm vieäc 1.5 laàn, coøn laïi seõ taêng leân 2 laàn. PHANCONG ← πMANV, SODA, THOIGIAN*1.5 (σTHOIGIAN=30(PHANCONG)) 35 Heát. 36
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cơ sở dữ liệu - Chương 4: Đại số quan hệ
30 p | 284 | 45
-
Chương 4: Đại số quan hệ - CSDL ĐH KHTN Tp.HCM
81 p | 200 | 29
-
Đại số quan hệ - Chương 4
80 p | 151 | 21
-
Bài giảng Cơ sở dữ liệu: Chương 4 - GV. Vũ Duy Linh
80 p | 84 | 12
-
Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 4, 5: Mô hình quan hệ và đại số quan hệ
68 p | 133 | 10
-
Bài giảng Cơ sở dữ liệu - Chương 4: Đại số quan hệ (80tr)
80 p | 108 | 9
-
Bài giảng môn Cơ sở dữ liệu: Chương 4 - Đại số quan hệ
67 p | 105 | 8
-
Bài giảng Cơ sở dữ liệu: Chương 4 - Đại số quan hệ và phép tính quan hệ
0 p | 128 | 8
-
Bài giảng Cơ sở dữ liệu: Chương 4 - TS. Nguyễn Quốc Tuấn
49 p | 56 | 8
-
Bài giảng Cơ sở dữ liệu: Chương 4 - ThS. Trần Đắc Phi Hùng
61 p | 80 | 7
-
Bài giảng Chương 4: Đại số quan hệ
59 p | 120 | 5
-
Bài giảng môn học Cơ sở dữ liệu - Chương 4: Đại số quan hệ và phép tính quan hệ
35 p | 148 | 5
-
Bài giảng Cơ sở dữ liệu: Chương 4 - ThS. Trịnh Thị Xuân
56 p | 53 | 4
-
Bài giảng Cơ sở dữ liệu: Chương 4 - Nguyễn Minh Thư
81 p | 63 | 4
-
Bài giảng Lý thuyết cơ sở dữ liệu - Chương 4: Đại số quan hệ
43 p | 77 | 3
-
Bài giảng Cơ sở dữ liệu: Chương 4 - ThS. Nguyễn Thị Như Anh
44 p | 28 | 3
-
Bài giảng Cơ sở dữ liệu: Chương 4 - Phạm Thị Bạch Huệ
18 p | 23 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn