Week4

Click here to load reader

download Week4

of 28

Transcript of Week4

  • 1. Nguyn Thanh Tng
    C s d liu I S QUAN H
    14/03/2011
    1
    C s d liu

2. i s quanh (Relational algebra)
Baogmccphpton (operation) thchintrnmt hay nhiuquanhtoramtquanhkhcmkhnglmthayiccquanh ban u.
Cnhiuphptonkhcnhaunhngctnhtccphptoncbn (fundamental operation)
Lmcscaccngnngthaotcdliu (DML) mccaotrongcc CSDL quanh.
Cnhiuloingnngcdngtrongcchquntr CSDL quanhthaotctrnccquanh.
Ngnngthtc (procedural language) / Ngnng phi thtc (non-procedural language)
14/03/2011
2
C s d liu
3. isquanh (tt)
14/03/2011
C s d liu
3
5 phptoncbn (fundamental operation):
Phpchn (selection: )
Phpchiu (projection: )
Phptch Descartes (Cartesian product: )
Phphp (union: )
Phphiu (difference: )
4. isquanh (tt)
14/03/2011
C s d liu
4
Ngoira, isquanhcncccphptontnhtccphptoncbn:
Phpgiao (intersection: )
Phpkt (join: , = )
Phpktngoi (outer join)
Phpnakt (semijoin)
Phpchia (division, quotient: )
5. isquanh (tt)
14/03/2011
C s d liu
5
Phptonmtngi (unary operation)
Phpchn
Phpchiu
Phptonhaingi (binary operation)
Phptch
Phphp
Phphiu
Phpgiao
Phpkt, phpktngoi, phpnakt
Phpchia
6. Biuthciukin
14/03/2011
C s d liu
6
Lmtbiuthclunlcgitrl true hoc false
Cctonhnglcchnghoccctnthuctnhcalcquanh R
Ccphpton so snh: =, , ,
Ccphptonlunl: not (), and (), or ()
7. Lngt (quantifier)
14/03/2011
C s d liu
7
Chailngtcsdngtrongcngthcchobitcbaonhiuthhincpdng:
Lngttnti (existential quantifier ) cngthcngkhictnhtmtthhinng.
Vd: (Employee.Salary>50.000 Employee.Sex=Female)
Lngtvimi (universal quantifier ) hay phqut, cngthcngkhittcccthhinng.
Vd: (Employee.Dept_Name Sale)
8. Vd: Lc CSDL Company
14/03/2011
C s d liu
8
9. 14/03/2011
C s d liu
9
10. Phpchn (selection: )
14/03/2011
C s d liu
10
Phpchntrnquanh r theoiukin F choktqulmtquanhgmccbca r lmiukin F ng. KhiuF(r).
F(r) = {t | trv F(t)=true}
r cbcl n, k bthF(r) cbcl n vtia k b.
Vd: Salary 48000(Employee)
11. Phpchiu (projection: )
14/03/2011
C s d liu
11
Phpchiuquanh r trnmttpthuctnh X lmtquanhbaogmccb t(t1, t2, , tn) saochotntimtb u(u1, u2, , um) trong r ti = ujvii [1, n], j [1, m]
X(r) = { t | ursaocho t=u[X] }
Nu r c k bv X c n thuctnh => X(r) bcl n vtia k b
Vd: Dept_Name(Employee)
12. Phpitn (rename )
14/03/2011
C s d liu
12
Phpitndngthayitncaquanh hay thuctnh.
S (B1, B2, , Bn )(R)
Thayitnquanh R thnh S
Thayiccct (thuctnh) thnh B1, B2, , Bn
S (R)
Thayitnquanh R thnhS
(B1, B2, , Bn )(R)
Thayiccct (thuctnh) thnh B1, B2, , Bn
13. Phptch Descartes ( )
14/03/2011
C s d liu
13
Quanh r trnlcquanh R(A1, A2,, Am)
Quanh s trnlcquanh S(B1, B2,, Bn)
Tch Descartes r slmtquanhtrnlc
T(A1, A2,, Am, B1, B2,, Bn) baogmccb t saocho m thnhphnutinlmtbca r & n thnhphnsaulmtbca s.
r s = {(t1,, tm, tm+1,, tm+n) | (t1,, tm)rv tm+1,, tm+ns}
Nu r cbcl m v k1 b, s cbcl n v k2 b
=> r s cbcl (m+n) vc k1 k2 b.
r s = s r
14. Phptch Descartes ( )
14/03/2011
C s d liu
14
Vd:
Table1
Table1 Table2
Table2
15. Phphp (union: )
14/03/2011
C s d liu
15
Haiquanh r v s trncngmtlcquanh R.
Phphpcahaiquanh r v s (bc m) lmtquanh (bc m) baogmccbca r hay ca s.
r s = {t | t r hay t s}
Nu r c k1 b, s c k2 b, r v s ucbcl m
=> r s cbcl m vctia k1 + k2 b.
r s = s r
Vd:
Table1 Table2
Table1
Table2
16. Phphiu (difference: )
14/03/2011
C s d liu
16
Haiquanh r v s trncngmtlcquanh R.
Phphiucaquanh r cho s lmtquanhbaogmccbca r khngctrong s.
r s = {t | t r v t s}
Nu r cbcl m vc k bth r s cbcl m vtia k b.
r s s r
Vd:
Table1
Table2
Table1 Table2
17. Phpgiao (intersection )
14/03/2011
C s d liu
17
Haiquanh r v s trncngmtlcquanh R.
Phpgiaocahaiquanh r v s lmtquanhbaogmccbvactrong r vactrong s.
r s = {t | t r hay t s}
hay r s = r (r s) = s (s r)
Nu r c k1 b, quanh s c k2 b, r & s ucbcl m
=> r s cbcl m vtia min(k1, k2) b.
r s = s r
18. Phpgiao (intersection )
14/03/2011
C s d liu
18
Vd:
Table1
Table2
Table1 Table2
19. Phpkt (join )
14/03/2011
C s d liu
19
Quanh r trnlcquanh R
Quanh s trnlcquanh S
Phpktca r v s trniukin F choktqulmtquanh q trnlcquanh T=RS baogmccb t nhsau q(T) = {t | trr, tssv F=true}.
r F s = F(r s)
Nu r cbcl m, k1 b, s cbcl n, k2 b
=> r F s cbclm+nvctiak1 k2 b
Phpktctnhgiaohon: r F s = s F r
20. Phpkt (join )
14/03/2011
C s d liu
20
Vd:
Table1
Table2
Table1 Table1.A>Table2.A Table2
21. Phpkt (join )
14/03/2011
C s d liu
21
Phpktbngca r v s trnccthuctnh A1, A2, , Akv B1, B2, , Bkchoktqulmtquanh q trnlcquanh T=RS baogmccbthaiukin F=(A1=B1) (A2=B2) (Ak=Bk).
R & S ccngtnthuctnh A thttnl R.A v S.A
Khi k=0 thphpktbngthnhphptch Descartes
Nu r cbc m, c k1 b, s cbcl n vc k2 b
=>Quanh q cbcl(m + n)vctia(k1 k2)b
22. Phpkt (join )
14/03/2011
C s d liu
22
Vdphpktbng:
Table1
Table2
Table1 *Table1.A=Table2.A Table2
23. Phpkt (join )
14/03/2011
C s d liu
23
Phpkttnhinca r v s lmtquanh q trnlcquanh T=RS baogmccbthaiukin
F=(A1=B1) (A2=B2) (Ak=Bk),
vi Aiv Bil 2 thuctnhcngtn (i=1k)
Khnglpliccthuctnhcktvinhau
Khi k=0 thphpkttnhinthnhphptch Descartes
r * s = T(F(r s))
r * s = s * r
Nu r cbc m, c k1 b, s cbcl n vc k2 b
=>Quanh q cbcl(m+nk)vctia(k1 k2)b
24. Phpchia (division )
14/03/2011
C s d liu
24
Quanh r trnlc R(A1, A2,, Ak, Ak+1,, Am)
Quanh s trnlc S(A1, A2,, Ak)
r s (vi s ) lmtquanh q trnlcquanh T(Ak+1,, Am) baogmccbt(tk+1,, tm) saochottcccbt(t1,, tk) thuc s tht(tk+1,, tm) thuc r.
r cbc m, k1b; s cbcl n, k2b
=> rscbcl m-n vctia trunk(k1/k2)
Phpchia = phpchiu, phptchvhiu
Khngctnhgiaohon: r s sr
25. Phpchia (tt)
14/03/2011
C s d liu
25
Registration
Registration Emp_3
Emp_3
26. Phptongp
14/03/2011
C s d liu
26
Ccphptongpbaogm: SUM, AVERAGE, MAXIMUM, MINUMUM.
Hm COUNT dngmccdng hay gitr.
Vd:
F MAX Salary (Employee): Trvgitrlngcaonhtcattcnhnvin
F MIN Salary (Employee): Trvgitrlngnhnhtcattcnhnvin
F SUM Salary (Employee): Trvgitrtnglngcattcnhnvin
27. Phptongp (tt)
14/03/2011
C s d liu
27
Vd
DNO F COUNT SSN, AVERAGESalary (Employee): msnhnvinvlngtrungbnhcamiphng
28. 28
Q&A
Question ?