ĐẠI SỐ QUAN HỆ VÀ PHÉP TOÁN QUAN HỆ

12 386 0
ĐẠI SỐ QUAN HỆ VÀ PHÉP TOÁN QUAN HỆ

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 i s quan h và Phép tính quan h Chng 4 Ni dung trình bày ̇ Gii thiu ̇ Phép toán mt ngôi ̇ Phép toán hai ngôi. ̇ Phép toán khác. ̇ Phép tính quan h bin b. ̇ Phép tính quan h bin min. Gii thiu (1) ̇ 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à mt chui các phép toán. •Kt qu ca mt biu thc là mt th hin quan h. ̇ Ý ngha •C s hình thc cho các phép toán ca mô hình quan h. •C s đ cài đt và ti u hóa các truy vn trong các HQT CSDL quan h. • c áp dng trong SQL. Gii thiu (2) ̇ Toán hng • Các th hin quan h. •Các tp hp. ̇ Toán t là các phép toán • Phép toán tp hp -Hi, giao, hiu, tích Cartesian. • Phép toán quan h -Chn, chiu, kt, chia, đi tên. -Mt s phép toán khác. 2 Phép toán 1 ngôi ̇ Là các phép toán ch tác đng lên mt quan h. ̇ Gm • Phép chn (Select). • Phép chiu (Project). • Phép đi tên (Rename). Phép chn (1) ̇  rút trích các b d liu tha điu kin chn t mt quan h. ̇ Cú pháp • σ <K> (R). •<K> là biu thc logic. 1023 ββ 71 αα DCBA σ A= B ∧ D> 5 (R) 1023 ββ 312 ββ 75 βα 71 αα DCBAR Phép chn (2) ̇ Biu thc điu kin •Cha các mnh đ có dng -<thuc tính> <toán t so sánh> <hng s>. -<thuc tính> <toán t so sánh> <thuc tính>. • Toán t so sánh: =, <, ≤, >, ≥, ≠. •Các mnh đ đc ni bi toán t logic: ∧, ∨, ¬. ̇ c trng • Phép chn có tính giao hoán. - σ <K1> (σ <K2> (R)) = σ <K2> (σ <K1> (R)). •Kt qu là mt quan h - Có cùng bc vi R. -Cós b ít hn hoc bng s b ca R. Phép chiu (1) ̇  rút trích các ct ng vi các thuc tính nào đó ca mt quan h. ̇ Cú pháp • π <DSTT> (R). • <DSTT> là danh sách các thuc tính ca R. 1023 ββ 312 ββ 75 βα 71 αα DCBAR π A,D (R) 10 β 3 β 7 α 7 α DA 10 β 3 β 7 α DA 3 Phép chiu (2) ̇ c trng • Phép chiu không có tính giao hoán. - π <DSTT1> (π <DSTT2> (R)) ≠π <DSTT2> (π <DSTT1> (R)). • Phép chiu loi b các b trùng nhau. •Kt qu là mt quan h -Cóbc bng s thuc tính ca danh sách thuc tính. -Cóbc nh hn hoc bng bc ca R. -Cós b ít hn hoc bng s b ca R. ̇ M rng phép chiu • Cho phép s dng các phép toán s hc trong danh sách thuc tính. - π A,2*C (R). Chui các phép toán và phép gán ̇ Chui các phép toán •Mun s dng kt qu ca phép toán này làm toán hng ca phép toán khác. •Mun vit các phép toán lng nhau. - π A,C (σ A=B ∧ D>5 (R)) ̇ Phép gán •Mun lu li kt qu ca mt phép toán. •  đn gin hóa mt chui phép toán phc tp. • Cú pháp -R’← E -E làbiu thc đi s quan h. •Víd -R’←σ A=B ∧ D>5 (R) π A,C (R’) Phép đi tên ̇  đi tên quan h và các thuc tính. ̇ Cú pháp: cho quan h R(A 1 , , A n ) • i tên quan h R thành S - ρ S (R). • i tên quan h R thành S và các thuc tính A i thành B i - ρ S(B1, B2, , Bn) (R). • i tên các thuc tính A i thành B i - ρ (B1, B2, , Bn) (R). • i tên quan h R thành S và thuc tính A 1 thành B 1 - ρ S(B1, A2, A3, , An) (R). • i tên thuc tính A 1 thành B 1 - ρ (B1, A2, A3, , An) (R). Mt s ví d ̇ Tìm các nhân viên làm vic trong phòng s 4. • σ MaPB = 4 (NHANVIEN) ̇ Tìm các nhân viên làm vic trong phòng s 4 và có mc lng t 25.000 đn 40.000. • σ MaPB = 4 ∧ Luong ≥ 25.000 ∧ Luong ≤ 40.000 (NHANVIEN) ̇ Cho bit h, tên, gii tính và mc lng ca các nhân viên. • π Ho, Ten, Gtinh, Luong (NHANVIEN) ̇ Cho bit h, tên, gii tính và mc lng ca các nhân viên ca phòng s 5. • π Ho, Ten, Gtinh, Luong (σ MaPB = 5 (NHANVIEN)) 4 Phép toán 2 ngôi ̇ Là các phép toán tác đng lên hai quan h. ̇ Gm 2 loi • Phép toán tp hp - Phép hi (Union). - Phép giao (Intersection). - Phép hiu (Mimus). - Phép tích Cartesian. • Phép toán phi tp hp - Phép kt (Join). - Phép chia (Division). Phép toán tp hp (1) ̇ Ch đc s dng khi hai quan h đc tác đng là kh hp. ̇ Hai quan h R(A 1 , , A n ) và S(B 1 , , B n ) gi là kh hp nu •Bc R = Bc S. •Min xác đnh A i ≡ Min xác đnh B i , vi i = 1, , n. Phép hi ̇ Hi ca R và S •R ∪ S • Là quan h gm các b thuc R hoc thuc S. •Các b trùng nhau b loi đi. ̇ R ∪ S = {t | t ∈ R ∨ t ∈ S} 23 β 12 β 5 α 1 α CAR 23 β 12 γ 1 α CAS 1 α 23 β 12 β 5 α 12 γ 23 β 1 α CA R ∪ S 12 β 23 β 12 γ 5 α 1 α CA Phép giao ̇ Giao ca R và S •R ∩ S • Là quan h gm các b thuc R đng thi thuc S. ̇ R ∩ S = {t | t ∈ R ∧ t ∈ S} 23 β 12 β 5 α 1 α CAR 23 β 12 γ 1 α CAS R ∩ S 23 β 1 α CA 5 Phép hiu ̇ Hiu ca R và S •R -S • Là quan h gm các b thuc R nhng không thuc S. ̇ R - S = {t | t ∈ R ∧ t ∉ S} 23 β 12 β 5 α 1 α CAR 23 β 12 γ 1 α CAS R - S 12 β 5 α CA Phép toán tp hp (2) ̇ c trng • Phép hi và giao có tính giao hoán -R ∪ S = S ∪ R và R ∩ S = S ∩ R. • Phép hi và giao có tính kt hp -R ∪ (S ∪ T) = (R ∪ S) ∪ T và R ∩ (S ∩ T) = (R ∩ S) ∩ T. Phép tích Cartesian ̇ Tích Cartesian ca R và S (không nht thit kh hp). •R × S • Là quan h Q mà mi b là mt t hp ca mt thuc R và mt b thuc S. •Bc Q = Bc R + Bc S. •S b Q = S b R × S b S. ̇ R × S = {(a 1 , , a m , b 1 , , b n ) | (a 1 , , a m ) ∈ R ∧ (b 1 , , b n ) ∈ S} 12 ββ 5 βα 1 αα CBAR 75 71 EDS 751 αα 715 βα 5 1 5 1 D 712 ββ 712 ββ 75 βα 71 αα ECBA R × S Mt s ví d ̇ Tìm mã s các nhân viên ca phòng s 5 hoc giám sát trc tip các nhân viên phòng s 5. •Q1 ←σ MaPB = 5 (NHANVIEN) Q2 ←π MaNV (Q1) Q3 ←π MaGS (Q1) Q ← Q2 ∪ Q3 ̇ Cho bit h, tên ca các nhân viên n và tên các thân nhân ca h. •Q1 ←σ GTinh = ‘Nu’ (NHANVIEN) Q2 ←ρ (HoNV, TenNV, MaNV1) (π Ho, Ten, MaNV (Q1)) Q3 ← Q2 × THANNHAN Q4 ←σ MaNV1 = MaNV (Q3) Q ←π HoNV, TenNV, Ten (Q4) 6 Phép kt ̇  kt hp các b có liên quan t hai quan h. ̇ Có 3 loi •Kt theta (Theta Join) - R <K> S. -<K> là biu thc logic. •Kt bng (Equi Join) •Kt t nhiên (Natural Join) - R S hoc R * S. Phép kt theta ̇ Biu thc điu kin •Cha các mnh đ có dng -A i <toán t so sánh> B j . +A i là thuc tính ca R. +B j là thuc tính ca S. +Min xác đnh A i ≡ Min xác đnh B j . • Toán t so sánh: =, <, ≤, >, ≥, ≠. •Các mnh đ đc ni bi toán t logic: ∧. 12 ββ 5 αβ 5 βα 1 αα CBAR 12 β 4 α 1 α FES R A=E ∧ C<F S β α E 125 αβ 41 αα FCBA Phép kt bng ̇ Tt c các toán t so sánh trong biu thc điu kin đu là =. ̇ Trong mi b luôn có mt hoc nhiu cp thuc tính có giá tr ging nhau. 12 ββ 5 αβ 5 βα 1 αα CBAR 12 β 4 α 1 α FES R A=E ∧ C=F S β α E 1212 ββ 11 αα FCBA Phép kt t nhiên ̇ Là phép kt bng và các cp thuc tính trong các mnh đ phi cùng tên và cùng min xác đnh. ̇ Nu các cp thuc tính không cùng tên thì phi thc hin phép toán đi tên trc khi kt. • R(A, B, C) và S(E, F), mun kt t nhiên trên 2 cp thuc tính (A, E) và (C, F). - R (ρ (A, C) (S)). 12 ββ 5 αβ 5 βα 1 αα CBAR 12 β 4 α 1 α CAS R S 12 ββ 1 αα CBA 7 Phép chia (1) ̇  rút trích các b ca mt quan h liên quan vi tt c các b ca quan h còn li. ̇ Cho 2 quan h R(Z) và S(X) •Z tp hp các thuc tính ca quan h R. •X tp hp các thuc tính ca quan h S. •X ⊆ Z. • R chia S là quan h T(Y) vi Y = Z – X. - T(Y) = {t | t ∈π Y (R) ∧∀u ∈ S ⇒ (t, u) ∈ R}. ̇ Cú pháp •R ÷ S Phép chia (2) 1013 ββ 5223 αβ 101023 ββ 2723 αβ 1 7 2 7 D 212 ββ 212 βα 51 αα 21 αα ECBAR 3 ββ 23 ββ 23 αβ 12 ββ 12 βα 1 αα CBA 2 7 D 5 2 ES π A,B,C (R) 23 αβ 1 αα CBA R ÷ S Mt s ví d ̇ Cho bit tên, đa ch ca các nhân viên ca phòng Nghiên cu. •Q1 ←σ TenPB = ‘Nghien cuu’ (PHONGBAN) Q2 ← Q1 * NHANVIEN Q ←π Ho, Ten, DChi (Q2) ̇ Cho bit tên các nhân viên tham gia tt c các d án do phòng s 5 điu phi. •Q1 ←π MaDA (σ PhongQL = 5 (DUAN)) Q2 ←π MaNV, MaDA (THAMGIA) Q3 ← Q2 ÷ Q1 Q ←π Ho, Ten (Q3 * NHANVIEN) Các phép toán khác ̇  biu din các truy vn mà không th thc hin vi các phép toán đi s quan h c s • Các truy vn mang tính cht thông kê đn gin trên mt tp hp các giá tr hoc các nhóm tp hp giá tr d liu. • Các truy vn dùng đ to các báo cáo. ̇ Gm •Hàm tp hp (Aggregate Function). • Phép gom nhóm các b d liu (Grouping). • Phép kt m rng (Outer Join). 8 Hàm tp hp và gom nhóm (1) ̇  thc hin các truy vn thng kê đn gin trên tp hp các giá tr s • SUM - Tính tng ca các giá tr trong tp hp. • AVG - Tính giá tr trung bình ca các giá tr trong tp hp. • MAX, MIN - Tìm giá tr ln nht, nh nht ca các giá tr trong tp hp. ̇  đm s b ca mt quan h hoc s các giá tr ca mt thuc tính. •COUNT ̇  gom nhóm các b ca mt quan h theo các thuc tính ri áp dng các hàm tp hp. ̇ Cú pháp • <DSTT>  <DSH> (R) <DSTT> là danh sách các thuc tính thuc R. • <DSH> là danh sách các cp (hàm tp hp, thuc tính) áp dng trên các nhóm. Hàm tp hp và gom nhóm (2) 1020 ββ 312 ββ 85 βα 71 αα DCBAR 1632 ββ 55 βα 11 αα FEBAS 1220 β 15 α MIN_CMAX_CA 74 AVG_DCOUNT_C ρ S(A, B, E, F) ( A, B  SUM(C), AVG(C) (R)) A  MAX(C), MIN(C) (R)  COUNT(C), AVG(D) (R) Phép kt m rng (1) ̇  gi li tt c các b trong mt quan h bt chp chúng có đc liên kt vi các b trong quan h còn li hay không nhm tránh mt thông tin hoc to các báo cáo. ̇ Có 3 dng •M rng trái (Left Outer Join) - R < K > S. •M rng phi (Right Outer Join) - R < K > S. •M rng hai phía (Full Outer Join) - R < K > S. Phép kt m rng trái ̇ Gi li tt c các b ca quan hbên trái phép toán kt mà không liên kt đc vi b nào ca quan h bên phi. 23 ββ 12 ββ 5 βα 1 αα CBAR 1023 312 72 71 EDS 10235 βα 10231 αα 3121 αα nullnull23 ββ 23 12 2 D 1012 ββ 35 βα 71 αα ECBA R C<D S 9 Phép kt m rng phi ̇ Gi li tt c các b ca quan hbên phi phép toán kt mà không liên kt đc vi b nào ca quan h bên trái. 23 ββ 12 ββ 5 βα 1 αα CBAR 1023 312 72 71 EDS R C>D S 31223 ββ 7223 ββ 7123 ββ 7212 ββ 23 1 2 1 D 10nullnullnull 712 ββ 75 βα 75 βα ECBA Phép kt m rng hai phía ̇ Gi li tt c các b ca tng quan hhai bên phép toán kt mà không liên kt đc vi b nào ca quan h còn li. 23 ββ 12 ββ 5 βα 1 αα CBAR 1023 312 72 71 EDS R C=D S 72nullnullnull nullnull5 βα 102323 ββ 12 1 D 312 ββ 71 αα ECBA Mt s ví d ̇ Vi mi phòng ban cho bit mã s, tng s nhân viên và mc lng trung bình. • ρ (MaPB, SoNV, LuongTB) ( MaPB  COUNT(MaNV), AVG(Luong) (NHANVIEN)) ̇ Vi mi nhân viên cho bit h, tên và tên phòng nu h là trng phòng. •Q1 ← NHANVIEN MaNV = TrPhong PHONGBAN Q ←π Ho, Ten, TenPB (Q1) Phép tính quan h (1) ̇ Mt s khái nim logic toán hc •Mnh đ -Các khng đnh có giá tr chân lý xác đnh. •V t -Làmt khng đnh P(x, y, ) vi x, y, là các bin trên các min xác đnh A, B, + P(x, y, ) không là mnh đ. + Thay x, y, bng các giá tr c th ta đc mt mnh đ. - x, y, là các bin t do. •Lng t -Mnh đ “∀x ∈ A, P(x)” và “∃x ∈ A, P(x)” là các lng t hóa ca v t P(x). + ∀ là lng t ph dng. + ∃ là lng t tn ti. - x không còn là bin t do, nó b buc bi các lng t ∀ hay ∃. 10 Phép tính quan h (2) ̇ Tng quan • Ngôn ng hình thc ca mô hình quan h. •Ch quan tâm đn ni dung d liu cn truy vn. • Ngôn ng phi th tc. •Da trên logic toán hc. ̇ Chia làm 2 dng • Phép tính quan h bin b. • Phép tính quan h bin min (min xác đnh). Bin b và quan h min giá tr ̇ Bin b (Tuple Variable) •Bin bin thiên trên mt quan h R xác đnh. ̇ R đc gi là quan h min giá tr ca bin b (Range Relation). ̇ Phép tính quan h bin b đn gin • {t | P(t)}. -t làbin b. - P(t) là v t hoc công thc. ̇ Ví d • {t | t ∈ NHANVIEN ∧ t.Luong > 50000}. • {t.Ho, t.Ten | NHANVIEN(t) ∧ t.Luong > 50000} Biu thc và công thc (1) ̇ Biu thc tng quát ca phép tính quan h bin b •{t 1 .A j , t 2 .A k , , t n .A m | P(t 1 , t 2 , , t n , , t n+m )} -t 1 , , t n+m là các bin b. -A i là thuc tính ca quan h min giá trng vi bin b t i . ̇ Công thc nguyên t •Thuc mt trong 3 dng sau -t ∈ R hoc R(t) -t i .A <phép toán so sánh> t j .B. -t i .A <phép toán so sánh> c. • Có chân tr ÚNG hoc SAI. t ∈ NHANVIEN hoc NHANVIEN(t) t.MaNV = s.MaNV t.Luong > 50000 Biu thc và công thc (2) ̇ P đc xây dng t các công thc nguyên t liên kt vi nhau bi các phép toán logic ∧, ∨, ¬ theo các lut sau 1. Công thc nguyên t là công thc. 2. F là công thc thì ¬F cng là công thc. F, G là công thc thì F ∧ G, F ∨ G cng là công thc 3. F là công thc thì (∀t)(F) cng là công thc. 4. F là công thc thì (∃t)(F) cng là công thc. ̇ Bin b t do và b buc • F là nguyên t -Bin b là t do. •(∀t)(F), (∃t)(F) -Bin b là b buc. • ¬F, F ∧ G, F ∨ G -Bin b là t do hoc b buc. -Bin b có th là t do trong F và b buc trong G. ̇ Ví d • • F 1 : NHANVIEN(d) F 2 : (∀d)(d.MaGSat = ‘123456789’) [...]... toàn n u m i giá tr trong k t qu thu c mi n xác nh c a bi u th c ̇ Bi u th c t ng quát c a phép tính quan h bi n mi n • {x1, x2, , xn | P(x1, x2, , xn, , xn+m)} - x1, , xn+m là các bi n mi n ̇ Công th c nguyên t • Thu c m t trong 3 d ng sau - R ho c R(x1, , xj) - xi xj - xi c • Có chân tr ÚNG ho c SAI ̇ Các khái ni m khác t ng t bi n b 12 ...Bi n i gi a hai l ̇ Quy t c bi n Truy v n dùng l ng t ̇ Tìm tên và c u i • ( ) thay b ng ( ), và ng c l i • thay b ng , và ng c l i • P thay b ng P, và ng c l i ̇ M t s bi n • • • • • • ( ( ( ( ( ( x)(P(x)) x)(P(x)) x)(P(x) x)(P(x) x)(P(x) x)(P(x) i th ( x)( ( x)( Q(x)) Q(x)) Q(x)) Q(x)) Truy v n dùng l a... w.MaDA))))} Phép tính quan h bi n mi n Bi u th c an toàn ̇ ̇ Xét bi u th c • {t | (NHANVIEN(t))} • Nh n xét - K t qu c a bi u th c không là m t s h u h n các b - Bi u th c là không an toàn ̇ Bi u th c an toàn là bi u th c có m t s h u h n các b trong k t qu R A B 1 7 23 10 nh ngh a hình th c • Mi n xác nh c a bi u th c là t p h p g m - Các h ng xu t hi n trong P - Giá tr thu c tính c a các b c a các quan. .. d án và h tên ng i tr ng phòng DUAN(p) • {p.MaDA, p.Phong, e.Ho, e.Ten | DUAN(p) NHANVIEN(e) p.Diadiem = ‘Th c’ ( d)(PHONGBAN(d) d.MaPB = p.Phong d.TrPhg = e.MaNV)} e.MaNV) Truy v n dùng l ng t t n t i (3) ̇ V i m i nhân viên, cho bi t h tên c a nhân viên và h tên c a ng i qu n lý nhân viên ó • {e.Ho, e.Ten, s.Ho, s.Ten | NHANVIEN(e) NHANVIEN(e) NHANVIEN(s) e.MaGSat = s.MaNV } ̇ Nh n xét • M t vài bi... nhân viên và h tên c a ng i qu n lý nhân viên ó • {e.Ho, e.Ten, s.Ho, s.Ten | NHANVIEN(e) NHANVIEN(e) NHANVIEN(s) e.MaGSat = s.MaNV } ̇ Nh n xét • M t vài bi n b trong cùng m t truy v n có th có cùng quan h mi n giá tr ̇ Nh n xét • Trong m t truy v n có th có nhi u bi n b t do 11 Truy v n dùng l ng t t n t i (4) ̇ Tìm các nhân viên tham gia các d án do phòng s 5 i u ph i • {e | NHANVIEN(e) ( x)( w)(DUAN(x) . 1 i s quan h và Phép tính quan h Chng 4 Ni dung trình bày ̇ Gii thiu ̇ Phép toán mt ngôi ̇ Phép toán hai ngôi. ̇ Phép toán khác. ̇ Phép tính quan h bin b. ̇ Phép tính quan h bin. Toán t là các phép toán • Phép toán tp hp -Hi, giao, hiu, tích Cartesian. • Phép toán quan h -Chn, chiu, kt, chia, đi tên. -Mt s phép toán khác. 2 Phép toán 1 ngôi ̇ Là các phép toán. các phép toán và phép gán ̇ Chui các phép toán •Mun s dng kt qu ca phép toán này làm toán hng ca phép toán khác. •Mun vit các phép toán lng nhau. - π A,C (σ A=B ∧ D>5 (R)) ̇ Phép

Ngày đăng: 17/04/2015, 12:01

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan