1. Trang chủ
  2. » Công Nghệ Thông Tin

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

12 388 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 295,26 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phép chi u 2• Phép chi u không có tính giao hoán... Phép toán 2 ngôi̇ Là các phép toán tác đ ng lên hai quan h.

Trang 1

i s quan h và

Phép tính quan h

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)

• 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

Trang 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 ch n (1)

m t quan h

̇ Cú pháp

• σ< K>(R)

• < K> là bi u th c logic

10 23

β β

7 1

α α

D C B A

σA= B ∧D> 5( R)

10 23

β β

3 12

β β

7 5

β α

7 1

α α

D C B A

R

Phép ch n (2)

• 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: ∧, ∨, ¬

• 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)

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

10 23

β β

3 12

β β

7 5

β α

7 1

α α

D C B A

R

πA,D( R)

10

β

3

β

7

α

7

α

D A

10

β

3

β

7

α

D A

Trang 3

Phép chi u (2)

• 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(A1, , An)

• 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 Aithành Bi

- ρS(B1, B2, , Bn)(R)

• i tên các thu c tính Aithành Bi

- ρ(B1, B2, , Bn)(R)

• i tên quan h R thành S và thu c tính A1thành B1

- ρS(B1, A2, A3, , An)(R)

• i tên thu c tính A1thành B1

- ρ(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))

Trang 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(A1, , An) và S(B1, , Bn) g i

là kh h p n u

• B c R = B c S.

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

α

C

A

R

23

β

12

γ

1

α

C A

S

1

α

23

β

12

β

5

α

12

γ

23

β

1

α

C A

R ∪ S

12

β

23

β

12

γ

5

α

1

α

C A

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

α

C A

R

23

β

12

γ

1

α

C A

S

R ∩ S

23

β

1

α

C A

Trang 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

α

C

A

R

23

β

12

γ

1

α

C A

S

R - S

12

β

5

α

C A

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 = {(a1, , am, b1, , bn) | (a1, , am) ∈ R ∧ (b1, , bn) ∈ S}

12

β

β

5

β

α

1

α

α

C

B

A

R

7 5 7 1 E D

S

7 5 1

α α

7 1 5

β α

5 1 5

1 D

7 12

β β

7 12

β β

7 5

β α

7 1

α α

E C B A

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)

Trang 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)

- 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

- Ai<toán t so sánh> Bj.

+ A i là thu c tính c a R.

+ Bjlà thu c tính c a S.

+ Mi n xác đ nh Ai≡ Mi n xác đ nh Bj.

• Toán t so sánh: =, <, ≤, >, ≥, ≠.

• Các m nh đ đ c n i b i toán t logic: ∧.

12

β β

5

α β

5

β α

1

α α

C B A

R

12

β

4

α

1

α

F E

S R A=E ∧ C<FS

β α

E

12 5

α β

4 1

α α

F C B A

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

α

α

C

B

A

R

12

β

4

α

1

α

F E

S R A=E ∧ C=FS

β α

E

12 12

β β

1 1

α α

F C B A

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

α α

C B A

R

12

β

4

α

1

α

C A

S R S

12

β β

1

α α

C B A

Trang 7

Phép chia (1)

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)

10 1 3

β β

5 2 23

α β

10 10 23

β β

2 7 23

α β

1

7 2 7 D

2 12

β β

2 12

β α

5 1

α α

2 1

α α

E C B A

R

3

β β

23

β β

23

α β

12

β β

12

β α

1

α α

C B A

2 7 D

5 2 E

S

πA,B,C(R)

23

α β

1

α α

C B A

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

• 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)

Trang 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)

10 20

β β

3 12

β β

8 5

β α

7 1

α α

D C B A

R

16 32

β β

5 5

β α

1 1

α α

F E B A

S

12 20

β

1 5

α

MIN_C MAX_C A

7 4

AVG_D COUNT_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)

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

α α

C B A

R

10 23 3 12 7 2 7 1 E D

10 23 1

α α

3 12 1

α α

null null 23

β β

23 12

2 D

10 12

β β

3 5

β α

7 1

α α

E C B A

R C<DS

Trang 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

α

α

C B

A

R

10

23

3

12

7

2

7

1

E

D

S

R C>DS

3 12 23

β β

7 2 23

β β

7 1 23

β β

7 2 12

β β

23

1 2 1 D

10 null null null

7 12

β β

7 5

β α

7 5

β α

E C B A

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

α α

C B A

R

10 23 3 12 7 2 7 1 E D

S

R C=DS

7 2 null null null

null null 5

β α

10 23 23

β β

12 1 D

3 12

β β

7 1

α α

E C B A

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 = TrPhongPHONGBAN

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 ∃.

Trang 10

Phép tính quan h (2)

̇ T ng quan

• D a trên logic toán h c.

̇ Chia làm 2 d ng

• Phép tính quan h bi n b

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

(Range Relation).

• {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

• {t1.Aj, t2.Ak, , tn.Am| P(t1, t2, , tn, , tn+m)}

- t1, , tn+mlà các bi n b

- Ailà thu c tính c a quan h mi n giá tr ng v i bi n b ti.

̇ Công th c nguyên t

• Thu c m t trong 3 d ng sau

- t ∈ R ho c R(t)

- ti.A <phép toán so sánh> tj.B.

- ti.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

F1: NHANVIEN(d)

F2: (∀d)(d.MaGSat =

‘123456789’)

Trang 11

Bi n đ i gi a hai l ng t

• (∀) 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

• (∀x)(P(x)) ⇔

• (∃x)(P(x)) ⇔

• (∀x)(P(x) ∧ Q(x)) ⇔

• (∀x)(P(x) ∨ Q(x)) ⇔ ¬(∃x)(¬(P(x)) ∧ ¬(Q(x)))

• (∃x)(P(x) ∧ Q(x)) ⇔ ¬(∀x)(¬(P(x)) ∨ ¬(Q(x)))

• (∃x)(P(x) ∨ Q(x)) ⇔ ¬(∀x)(¬(P(x)) ∧ ¬(Q(x)))

¬(∃x)(¬(P(x)))

¬(∀x)(¬(P(x)))

¬(∃x)(¬(P(x))¬(P(x)) ¬(Q(x))∨¬(Q(x)))

Truy v n dùng l ng t t n t i (1)

c u.

• {e.Ten, e.DChi | NHANVIEN(e) ∧ F}

- F = (∃d)(PHONGBAN(d) ∧ F1)

- F1= (d.TenPB = ‘Nghiên c u’ ∧ d.MaPB = e.MaPB)

{e.Ten, e.DChi | NHANVIEN(e) ∧ (∃d)(PHONGBAN(d) ∧ d.TenPB = ‘Nghiên c u’∧ d.MaPB = e.MaPB)}

NHANVIEN(e) ∧ (∃d)(PHONGBAN(d) ∧ d.TenPB = ‘Nghiên c u’∧ d.MaPB = e.MaPB)

Truy v n dùng l ng t t n t i (2)

̇ Nh n xét

• Trong m t truy v n có th có nhi u bi n b t do

{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)}

DUAN(p) ∧ NHANVIEN(e) ∧ p.Diadiem = ‘Th c’∧

(∃d)(PHONGBAN(d) ∧ d.MaPB = p.Phong ∧ d.TrPhg =

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

̇ 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

{e.Ho, e.Ten, s.Ho, s.Ten | NHANVIEN(e) ∧ NHANVIEN(s) ∧ e.MaGSat = s.MaNV }

NHANVIEN(e) ∧ NHANVIEN(s) ∧ e.MaGSat = s.MaNV

Trang 12

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

• {e | NHANVIEN(e) ∧ (∃x)(∃w)(DUAN(x) ∧ THAMGIA(w) ∧

x.Phong = 5 ∧ x.MaDA = w.MaDA ∧ x.MaNV = w.MaNV)}

̇ Tìm các nhân viên tham gia t t c các d án do

• {e | NHANVIEN(e) ∧ ((∀x)(¬(DUAN(x)) ∨ ¬(x.MaDA = 5)

∨ ((∃w)(THAMGIA(w) ∧ w.MaNV = e.MaNV ∧ x.MaDA = w.MaDA))))}

• {e | NHANVIEN(e) ∧ F}

- F = (∀x)(¬(DUAN(x)) ∨ F1)

- F1= ¬(x.MaDA=5) ∨ F2

- F2= (∃w)(THAMGIA(w) ∧ w.MaNV=e.MaNV ∧ x.MaDA=w.MaDA)

• {e | NHANVIEN(e) ∧ (¬(∃x)(DUAN(x) ∧ x.MaDA = 5 ∧ (¬(∃w)(THAMGIA(w) ∧ w.MaNV = e.MaNV ∧ x.MaDA = w.MaDA))))}

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

̇ 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 h xu t hi n trong P.

• Ví d

- {t | R(t) ∧ t.A = 5}

- Mxđ = {5, 1, 7, 23, 10}

• Bi u th c là an 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.

10 23

7 1

B A

R

Phép tính quan h bi n mi n

̇ 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+mlà các bi n mi n.

̇ Công th c nguyên t

• Thu c m t trong 3 d ng sau

- <x1, , xj> ∈ R ho c R(x1, , xj)

- xi<phép toán so sánh> xj.

- x i <phép toán so sánh> c.

• Có chân tr ÚNG ho c SAI

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

TỪ KHÓA LIÊN QUAN