sql

Page 1

c °2003, sangjin@kut.ac.kr

Tuple Relational Calculus: ∀(P ⇒ Q)˜ +˜ +i

„ Âť ™ ÂĄ. ç > U ÂœĂŽ [ ÂłU ĂŁ ĂŠu o ‰Õ ĂŚ7 k ÂŒ ›u É ‰, Ă´ Ă“' c QÂŁ FY E W # QĂŽ ÂşÂŒ ĂĄ ›’ É ÂŚ

Tuple Relational Calculus • Ăˆ Ă’e Œ› a> ' K $ \ 3  " f 9_ | _ + Ad Ăž “ ” r É 6 §þ ÂŁ °  ú . {t|P (t)} ¤, › ÂŁ 7 ¸| Ă• t# Ăź Q P\ ÂŚĂŤ –7 Ă&#x; ¤ ĂĄ Â? HĂˆ Ă’e ÂŚ_ | ½ 9 Ă‹` + Ϋ Â˜Ă´ Ăş Ç . • \ V) @ /Ă˜ ÂŚĂ— ĂŚ@ /Ă˜ ÂŚĂ“ os Â? 1200˜ Ă? H — ¸ÂŽ H@ /Ă˜ ÂŚ` Œš Ă” 1 . @Ă˜ / ÂŚÂ Â Ăą L-102 L-212 L-108 L-401 L-402

t& " h

ĂŽ a Â’ >& Ă‹ h ¨Â– ½ Ă?& h { Âœ& Š h

1 ĂŽ " x& l h

1 ĂŽ " x& l h

ĂŻĂ“ – Ă&#x; o Â? 2000 1200 1000 600 1100

loan › a ' > {t | t ∈ loan ∧ t[@ /Ă˜ ÂŚĂ“ o] > 1200} Â?

\ ĂŽ ¨ V) @Ă˜ / ÂŚÂ Â Ăą L-102 L-212 L-108 L-401 L-402

t& " h

ĂŽ a Â’ >& Ă‹ h ¨Â– ½ Ă?& h { Âœ& Š h

1 ĂŽ " x& l h

1 ĂŽ " x& l h

ĂŻĂ“ – Ă&#x; o Â? 2000 1200 450 1100 400

‚ Ă?/ Ăƒ f Âą Ă? Ăƒ ‚ f Âą f Âą f Âą f Âą

∃ Quantifier • ∃: Æ Ă’Ă˜ ÂŚ(projection)` ÂŚ l 0 AK 6 xÂ?  a ) . • ∃t ∈ r(Q(t)): › a> ' r\  Q(t) ‚ Ă?s Ăƒ á &Â? HĂˆ Ă’e ÂŚ t ” rF > € ‚ Ă?s Ăƒ . • \ V) @ /Ă˜ ÂŚĂ— ĂŚ@ /Ă˜ ÂŚĂ“ os Â? 1200˜ Ă? H — ¸ÂŽ H@ /Ă˜ ÂŚ_ @ /Ă˜ ÂŚÂ Â Ăą\ Œš Ă” 1 . {t | ∃s ∈ loan(t[@ /Ă˜ ÂŚÂ Â Ăą] = s[@ /Ă˜ ÂŚÂ Â Ăą] ∧ s[@ /Ă˜ ÂŚĂ“ o] > 1200)} Â? ÂŒl # " f tÂ? H Ă„  Ăƒ Âşs Ă™ Ÿ– Ă? t\  Ăˆ Ă’e ÂŚ` ÂŚ m ½ ” É{ + Âœ Š € " fK $ d 3 s ” ‚ Ă?s Ăƒ á &Â? Ht ¨

K ĂŽ Ă´ Ç . ∃s ∈ loan(s[@ /Ă˜ ÂŚĂ“ o] > 1200)“ Â? r loan › É a> ' \  @ /Ă˜ ÂŚĂ“ os Â? 1200˜ Ă? H s ‍כ‏ • ¸e Ăœ ” Ÿ€ ‚ Ă?s Ăƒ Â? a ) .

\ ĂŽ ¨ V) @ /Ă˜ ÂŚÂ Â Ăą L-102 L-102 L-102 L-102 L-102

t t& " h

ĂŽ a Â’ >& Ă‹ h a Â’ >& Ă‹ h a Â’ >& Ă‹ h a Â’ >& Ă‹ h a Â’ >& Ă‹ h

ĂŻĂ“ – Ă&#x; o Â? 2000 2000 2000 2000 2000

@Ă˜ / ÂŚÂ Â Ăą L-102 L-212 L-108 L-401 L-402

s t & " h

ĂŽ Â’ a >& Ă‹ h ½ ¨Â– Ă?& h { Âœ& Š h

1 ĂŽ " x& l h

1 ĂŽ " x& l h 1

ĂŻĂ“ – Ă&#x; o Â? 2000 1200 450 1100 400

‚ Ă?/ Ăƒ f Âą Ă? Ăƒ ‚ f Âą f Âą f Âą f Âą

s Ă„ Âť t[1] = s[1] ∧ s[3] > 1200 t[1] 6= s[1] t[1] 6= s[1] t[1] 6= s[1] t[1] 6= s[1]


" f Ð Ã s ‫כ‬ e Ü ¼Ù ¼ Ð s = (“L-102”,“ a >& Ë ”,“2000”)\ h @ /K 6 § £ r É Ðs à . ∃s ∈ loan(t[@ /Ø ¦ ñ] = s[@ /Ø ¦ ñ] ∧ s[@ /Ø ¦Ó o] > 1200) s ¨

\ î ¦ $ Á ` ¦K ô Ç . • ¬∃t ∈ r(Q(t)): a> ' r\ Q(t) Ðs à ÷ & HÈ Òe ¦ t \ Ü O ¼ Ðs à . • \ V) @ /Ø ¦Ó os 500 Ð h & r@ É /Ø ¦s \ O H ¸ Ht & _ h s 2 §` £ ¦¹ Ô 1 . {t | ¬∃s ∈ loan(t[t & " h

] = s[t î & " h

] ∧ s[@ î /Ø ¦Ó o] < 500)} Ð Ã ¦. ¬∃s ∈ loan(s[@ /Ø ¦Ó o] < 500) r loan É a> ' \ @ /Ø ¦Ó os 500 Ð & h r É s ‫כ‬ \ # O Q Ðs à a ) .

\ î ¨ V1) @ /Ø ¦ ñ L-102 L-102 L-102 L-102 L-102

t t & " h

î a >& Ë h a >& Ë h a >& Ë h a >& Ë h a >& Ë h

ïÓ ß o 2000 2000 2000 2000 2000

@Ø / ¦ ñ L-102 L-212 L-108 L-401 L-402

s t& " h

î a >& Ë h ¨ ½ Ð& h { & © h

1 î " x& l h

1 î " x& l h

ïÓ ß o 2000 1200 450 1100 400

Ð/ Ã f ± f ± f ± f ± f ± f ±

s Ä » s[3] ≥ 500 t[2] 6= s[2] t[2] 6= s[2] t[2] 6= s[2] t[2] 6= s[2]

" f Ð Ã s ‫כ‬ ¸\ Ü O ¼Ù ¼ Ð s = (“L-102”,“ a >& Ë ”,“2000”)\ h @ /K ‘¬∃s ∈ loan(t[t & " h

] = î s[t & " h

] ∧ s[@ î /Ø ¦Ó o] < 500)’ r É Ðs à .

\ î ¨ V2) > ý a ñ L-401 L-401 L-401 L-401 L-401

t t& " h

î

1 î " x& l h

1 î " x& l h

1 î " x& l h

1 î " x& l h

1 î " x& l h

ïÓ ß o 1100 1100 1100 1100 1100

>ý a ñ L-102 L-212 L-108 L-401 L-402

s t & " h

î a >& Ë h ½ ¨ Ð& h { & © h

1 î " x& l h

1 î " x& l h

ïÓ ß o 2000 1200 450 1100 400

Ð/ Ã f ± f ± f ± f ± f ± Ð Ã

s Ä » t[2] 6= s[2] t[2] 6= s[2] t[2] 6= s[2] s[3] ≥ 500 t[2] = s[2] ∧ s[3] < 500

" f Ð Ã s ‫כ‬ e Ü ¼Ù ¼ Ð s = (“L-401”,“"

1 î x& l ”,“1100”)\ h @ /K 6 § £ r É f s ± . ¬∃s ∈ loan(t[t & " h

] = s[t î & " h

] ∧ s[@ î /Ø ¦Ó o] < 500)

∀ Quantifier • ∀t ∈ r(Q(t)): a> ' r\ e H ¸ HÈ Òe ¦\ @ /K Q(t) Ðs à # Q Ðs à a ) . • \ V) ï Ó ß os © > H ý a_ > ý a ñ\ ¦¹ Ô 1 . >ý a ñ A-101 A-215 A-102 A-301 A-302

t& " h

î z ´& h f " í& h ÓC ½ ~ & h z © y & h z © y & h

ïÓ ß o 500 400 350 500 900

acccount a> ' {t | ∃s ∈ account(t[> ý a ñ] = s[> ý a ñ] ∧ ∀w ∈ account(s[ï Ó ß o] ≥ w[ï Ó ß o]))}

\ î ¨ V1)

2


>ý a ñ A-101 A-101 A-101 A-101 A-101

s t& " h

î z ´& h z ´& h z ´& h z ´& h z ´& h

ïÓ ß o 500 500 500 500 500

> ý a ñ A-101 A-215 A-102 A-301 A-302

w t & " h

î z ´& h " f í& h ÓC ½ ~ & h z © y & h z © y & h

ïÓ ß o 500 400 350 500 900

Ð/ Ã f ± Ð Ã Ð Ã Ð Ã Ð Ã f ±

s Ä » s[3] ≥ w[3] s[3] ≥ w[3] s[3] ≥ w[3] s[3] ≥ w[3] s[3] < w[3]

" f s = (“A-101”,“ z ´& ”,“500”)\ h @ /K ‘∀w ∈ account(s[ï Ó ß o] ≥ w[ï Ó ß o])’ r É f s ± .

\ î ¨ V2) >ý a ñ A-302 A-302 A-302 A-302 A-302

s t& " h

î z © y & h z © y & h z © y & h z © y & h z © y & h

ïÓ ß o 900 900 900 900 900

> ý a ñ A-101 A-215 A-102 A-301 A-302

w t & " h

î z ´& h " f í& h ÓC ½ ~ & h z © y & h z © y & h

ïÓ ß o 500 400 350 500 900

Ð/ Ã f ± Ð Ã Ð Ã Ð Ã Ð Ã Ð Ã

s Ä » s[3] ≥ w[3] s[3] ≥ w[3] s[3] ≥ w[3] s[3] ≥ w[3] s[3] ≥ w[3]

" f s = (“A-302”,“y z © & ”,“900”)\ h @ /K ‘∀w ∈ account(s[ï Ó ß o] ≥ w[ï Ó ß o])’ r É Ðs à .

∀(P ⇒ Q) + +i • \ V) y z © & \ h h >[ ÷ O &# Qe H ¸ H> ý a Ð ï Ó ß os & h r É ¸ H> ý a_ > ý a ñ\ ¦¹ Ô 1 . {t | ∃s ∈ account(t[> ý a ñ] = s[> ý a ñ]∧ ∀w ∈ account(w[t & " h

] = “y î z © & ” ∧ w[ï h Ó ß o] > s[ï Ó ß o]))}

\ î ¨ V1) >ý a ñ A-101 A-101 A-101 A-101 A-101

s t h &"

î ´ & z h ´ & z h ´ & z h ´ & z h ´ & z h

ïÓ ß o 500 500 500 500 500

>ý a ñ A-101 A-215 A-102 A-301 A-302

w t & " h

î z ´& h " f í& h ÓC ½ ~ & h z © y & h z © y & h

ïÓ ß o 500 400 350 500 900

/ Ð Ã f ± f ± f ± f ± f ± Ð Ã

s Ä » w[2] 6= “y z © & ” h w[2] 6= “y z © & ” h w[2] 6= “y z © & ” h w[3] 6> s[3] w[2] = “y z © & ” ∧ w[3] > s[3] h

" f s = (“A-101”,“ z ´& ”,“500”)\ h @ /K ‘∀w ∈ account(w[t & " h

] = “y î z © & ” ∧ w[ï h Ó ß o] > s[ï Ó ß o])’ r É f ± s .

\ î ¨ V2) >ý a ñ A-215 A-215 A-215 A-215 A-215

s t h &"

î " fí & h " fí & h " fí & h " fí & h " fí & h

ïÓ ß o 400 400 400 400 400

>ý a ñ A-101 A-215 A-102 A-301 A-302

w t & " h

î z ´& h " f í& h ÓC ½ ~ & h z © y & h z © y & h

ïÓ ß o 500 400 350 500 900

/ Ð Ã f ± f ± f ± f ± Ð Ã Ð Ã

s Ä » w[2] 6= “y z © & ” h w[2] 6= “y z © & ” h w[2] 6= “y z © & ” h w[2] = “y z © & ” ∧ w[3] > s[3] h w[2] = “y z © & ” ∧ w[3] > s[3] h

" f s = (“A-215”,“" f í& ”,“500”)\ h @ /K ‘∀w ∈ account(w[t & " h

] = “y î z © & ” ∧ w[ï h Ó ß o] > s[ï Ó ß o])’ r% É r i f ± s . Õ ª QÙ ¼ Ðs | _ 9 HÄ ºo " ¶ é H ` ‫כ‬ ¦¹ Ô` 1 ¦Ã º\ O . • P ⇒Q½ ¨$

` í ¦s 6 x # ° ú r| É 9 _ \ ¦ r ½ ¨$

í # . P T T F F

Q T F T F 3

P ⇒Q T F T T


{t | ∃s ∈ account(t[> ý a ñ] = s[> ý a ñ]∧ ∀w ∈ account(w[t & " h

] = “y î z © & ” ⇒ w[ï h Ó ß o] > s[ï Ó ß o]))}

\ î ¨ V1) >ý a ñ A-101 A-101 A-101 A-101 A-101

s t& " h

î z ´& h z ´& h z ´& h z ´& h z ´& h

ïÓ ß o 500 500 500 500 500

>ý a ñ A-101 A-215 A-102 A-301 A-302

w t& " h

î z ´& h f " í& h ÓC ½ ~ & h z © y & h z © y & h

ïÓ ß o 500 400 350 500 900

Ð/ Ã f ± Ð Ã Ð Ã Ð Ã f ± Ð Ã

s Ä » w[2] 6= “y z © & ” h w[2] 6= “y z © & ” h w[2] 6= “y z © & ” h w[2] = “y z © & ” ⇒ w[3] 6> s[3] h w[2] = “y z © & ” ⇒ w[3] > s[3] h

" f s = (“A-101”,“ z ´& ”,“500”)\ h @ /K ‘∀w ∈ account(w[t & " h

] = “y î z © & ” ⇒ w[ï h Ó ß o] > s[ï Ó ß o])’ r É f ± s .

\ î ¨ V2) >ý a ñ A-215 A-215 A-215 A-215 A-215

s t& " h

î f " í& h f " í& h f " í& h f " í& h f " í& h

ïÓ ß o 400 400 400 400 400

>ý a ñ A-101 A-215 A-102 A-301 A-302

w t& " h

î z ´& h f " í& h ÓC ½ ~ & h z © y & h z © y & h

ïÓ ß o 500 400 350 500 900

Ð/ Ã f ± Ð Ã Ð Ã Ð Ã Ð Ã Ð Ã

s Ä » w[2] 6= “y z © & ” h w[2] 6= “y z © & ” h w[2] 6= “y z © & ” h w[2] = “y z © & ” ⇒ w[3] > s[3] h w[2] = “y z © & ” ⇒ w[3] > s[3] h

" f s = (“A-215”,“" f í& ”,“400”)\ h @ /K ‘∀w ∈ account(w[t & " h

] = “y î z © & ” ⇒ w[ï h Ó ß o] > s[ï Ó ß o])’ r É Ðs à . {t | ∃s ∈ account(t[> ý a ñ] = s[> ý a ñ]∧ ∀w ∈ account(w[t & " h

] 6= “y î z © & ” ∨ w[ï h Ó ß o] > s[ï Ó ß o]))} {t | ∃s ∈ account(t[> ý a ñ] = s[> ý a ñ]∧ ¬∃w ∈ account(w[t & " h

] = “y î z © & ” ∧ w[ï h Ó ß o] ≤ s[ï Ó ß o]))} • \ V) ;î & ß \ h h >[ ÷ O &# Qe H ¸ H> ý a Ð ï Ó ß os & h r É ¸ H> ý a_ > ý a ñ\ ¦¹ Ô 1 . {t | ∃s ∈ account(t[> ý a ñ] = s[> ý a ñ]∧ ∀w ∈ account(w[t & " h

] = “ î ;î & ß ” ⇒ w[ï h Ó ß o] > s[ï Ó ß o]))}

\ î ¨ V) >ý a ñ A-101 A-101 A-101 A-101 A-101

s t& " h

î z ´& h z ´& h z ´& h z ´& h z ´& h

ïÓ ß o 500 500 500 500 500

w t & " h

î z ´& h " f í& h ÓC ½ ~ & h z © y & h z © y & h

> ý a ñ A-101 A-215 A-102 A-301 A-302

ïÓ ß o 500 400 350 500 900

Ð/ Ã f ± Ð Ã Ð Ã Ð Ã Ð Ã Ð Ã

s Ä » w[2] 6= “ ;î & ß ” h w[2] 6= “ ;î & ß ” h w[2] 6= “ ;î & ß ” h w[2] 6= “ ;î & ß ” h w[2] 6= “ ;î & ß ” h

" f s = (“A-101”,“ z ´& ”,“500”)\ h @ /K ‘∀w ∈ account(w[t & " h

] = “ î ;î & ß ” ⇒ w[ï h Ó ß o] > s[ï Ó ß o])’ r É Ðs à . s ‫כ‬ r É rÈ É Òe ¦\ @ /K " f ¸ ð Í t ø s . " f ¸ H> ý a õ a> ' \ í Ê < a ) .

4


c °2003, sangjin@kut.ac.kr

– < Xs ' ] X H_ # Q 9¹ §: ¡ íl > hµ Ï\ 1 " f ¦ 9 t 3 wô l ÇX <s ' ] X H‫כ‬ ¹½ ¨ e Ü ¼ D h\ v á > Ô ÐÕ ªÏ ` þ ¦ $

K í ô Ç .

2T 6 ' _9 KT Ã : ~ ¡q ç { ¡È 01

– < Xs ' ¦w : X n <s ' # Q

{ \ 9 ì rí ÷ ß & Qe # ` ¦Ã ºe Ü ¼9, y y r+ É AI þ Ð$ © &# ÷ Qe ` ¦Ã ºe # QD há Ô ÐÕ ªÏ ` þ ¦ $

í H s ‫כ‬ # Q 9Ö ¦Ã ºe .

A. Silberschatz, H. Korth, S. Sudarshan Database System Concepts, Fourth Edition, McGraw-Hill, 2002.

– º Á $

(integrity) ë í H] j: X <s ' H Ð: x # Q : " ¤& £

ô ñ Ç 7 xÀ á Ó_ { 9 a$ '

] í j ¸| (con sistency constraint)` ¦ ë 7 ß ¤K á ô Ç . p o ¦ 9 t 3 wô l Ç] j ¸| s D h] j ¸| µ s ÏÒ 1 t q á Ô ÐÕ ªÏ ` þ ¦Ã º&

K ñ ô Ç . ë ß ] j ¸| s # Q

{ 9 \ ì rí ß aX ) <s ' \ 5 ge Ü ¼ ë H] j 84 ¤¸ ú .

} º4

1

• P Ll ' aS cl â «® h ¸ k â «g `(DBMS, DataBase Management System): " f Ð a> ' e HX <s ' _ ¸6 § £ Õ õ ªX <s ' \ ¦] X H½ ÉM + : 6 x÷ & Há Ô ÐÕ ªÏ _ þ 9 | ½ Ë` + ¦´ ô ú Ç .

– é " ¶ $

(atomicity) ë í H] j: ( É Ó' r Û ¼% \ 7 ¸ Ó µ À ÏÒ 1 t q 8 ¸X <s ' { 9 a$ '

í I © ¦Ä \ »t ¸2 ¤K ô Ç . X <s ' Z s Û ¼_ \ O r¶ É " é $

` í ¦ë 7 ß ¤K á ô Ç . 7 ¤, & £

ñ & © h ¼ Ü ÐÃ º ' ÷ & ) Ã º ' ÷ &t · § ú ô Ç .

• P Ll ' aS cl â «(database): aº ' e HX <s ' _ ¸ 6 § £

– l 1r x ] H X _ ë H] j: # Q 6 x ° ú rX É < ' s \ ¦1 xr l \ Ì t q õ _ { 9 a$ '

s í :| L Ã 9 ºe .

{ 9 r Û ¼% 7 ~ Ód ½ \ " f H# Qá Ô ÐÕ ªÏ ` þ ¦s 6 x # ] H X ½ Éà + ºe Ü ¼Ù ¼ Ð1 xr l ] H X ` ¦´ òõ & Ü h ¼ Ð] j# Q l # Q > § .

• DBMS_ 3 q& l : X h <s ' Z s Û ¼\ &

ñ Ð\ ¦ ´ òÖ ¦& h s ¦¼ o # > $ © ¦ Ò o H¨ 8

` â ¦] j/ N B H ‫כ‬ • X <s ' Z s Û ¼ H@ /| Ó_ ¾ &

ñ Ð\ ¦ ao ' ½ ÉÃ + ºe ¸ 2 ¤[ > O ÷ &# Qe .

– Ð î ë ß H] j: 6 x ] H X ½ Éà + ºe HX <s ] ' jô Ç÷ &# Q ô Ç .

{ 9 r Û ¼% 7 ~ Ód ½ \ f " H# Q6 x6 £ xá Ô ÐÕ ªÏ s þ rá É Ô ÐÕ ªÏ þ _ ¦ 9\ s O Æ Ò ÷ &Ù ¼ Ðs Ðî ] ß j ¸ ` | ¦y ‫כ‬ © ¹ l # Q§ > .

• X <s ' _ ao ' – &

ñ Ð_ $ ½ © ¨ ¸&

_ ñ – &

ñ Ð\ ¦ ¸ HB j& m 7 §` £ ¦] j/ N B – $ © a& )

ñ Ð\ ¦r Û ¼7 % ¸À Ó Ô ¦Z & O h ] X H 1 xÜ p ¼ РÒ' Ð ñ – # Q 6 x &

ñ Ð\ ¦/ NÄ B »½ É +

Ä â ºs M ‫כ‬ : H\ ë µ ÏÒ 1 t q Hë H] j~ Ót ½

1.1

KT 6 ' [8 ýå ËX ¾ È ì

1.3.1

KT 6 ' [8 ý ¼V s× ê D

• < Xs ' Z s Û ¼ H 6 x \ > X <s ' # Qb G> $ ÷ © &# Qe ¦, # Qb G> Ä »t ÷ & Ht [ jô Ç? /6 x` ¦ u n ¸ ï r .

6 KT ' [9 cT ­ S ­ y 8 ð ý « Ö Þ Ó

• X <s ' Z s Û ¼6 x6 £ x_ \ V

• X <s ' Æ Ò © o_ [ jé > ß

– r É ' > ý a ao '

– ü Óo t & é h > ß : X <s ' # Qb G> $ ÷ © &# Qe Ht \ ¦l Õ tô ü Ç .

– Ó/ ½ N B \ V r Û ¼% 7

– 7 o H & é h > ß : # Q X " <s ' $ ÷ © &# Qe ¦ <s X ' ç \ ß # Q " a> ' e Ht \ ¦l Õ tô ü Ç . Ho 7 & é h > ß \ " f HX <s ' Z s Û ¼ ^ ¦l \ Õ tô ü Ç . X <s ' Z s Û ¼ ao ' á Ô Ð ªA Õ Q Hs é > ß \ ¦· ú t ë ß 6 x HÕ ªX t O · § ú .

– l \ _ O ao ' r Û ¼% 7 • & F ³ Ä ºo HÄ ºo ú ¸ d t 3 w l t ë f ß ] X # QX <s ' Z s Û ¼\ ¦] X H ¦ 6 x ¦e . s ‫כ‬ r É ' Å _ 1 x p Ü © ¼ Ð8 ¹ ¤Z ¡ t# þ Q ¦e .

1.2

1.3

6 KT ' [9 cT ­ S ­ y VS.

ð ø ÇS m ­ y ð

– Ó Âé > ß (view level): : ¤& £

ñ 6 x · ú ¦z · r X É <s ' Z s Û ¼_ { 9 Â Òì rë ` ß ¦ l Õ tô ü Ç . " f _ X <s ' Z s Û ¼ H# QÂ Ó\ ¦ | Ã 9 ºe .

{ 9 r Û ¼% _ 7 ë H] j& h – X <s ' _ × æ4 ¤$

õ í q { 9 a$ '

: ° í ú rX É <s ' # Q

{ 9 \ × æ4 ¤| cà ¨ ºe Ü ¼9, s M :ë H \ × æ4 ¤ aX ) <s ' " f Ð{ 9 u t · §` ú ¦Ã º ` e ¦÷ rë ß m $ / © Nç B 8 ß ¤ £ \ " f ¸z © q s .

• á Ô ÐÕ ªA b

ç # Q\ q Ä » – ü Óo t & é h > ß : z ´] j$ ½ © ¨ ¸((

{ 9 Q Hs ` ‫כ‬ ¦á Ô ÐÕ ªA Q\ > Æ Ò © oK ï r .) 1


– Ho 7 & é h > ß : { 9 ñ

& Ð

1.3.2

– Â Óé > ß : è á Ôà Ô? J# Q 6 x { 9 \ © " f Ð H > ß é

– < Xs ' Z s Û ¼_ ? /6 xs ë 7 ß ¤K á ] j ¸ × | æ 7 £ Ê Á(mapping cardinality) ¸ E-R s # QÕ ªÏ \ þ è qà ­ ºe .

Ã ß Å­ Å ¹­ Ñ ÷­ W

– / @6 xà £ º: # Q > " h^ _ a> ' | ½ 9 Ë\ + _ K a| ' cà ¨ ºe H> h^ _ à º

• X <s ' Z s Û ¼ Hr ç s ß â ì2 §\ £ Õ ª? /6 xs ô Ç .

1.4.2

Ë4 ¾ å ] ù{ k ¢¨ |

• â «o (schema): ^ & h X <s ' Z s Û ¼_ [ O >

• ' > a + A þ ¸4 q(relational model) S rX É <s ^ ¦` ¦s 6 x X # <s ' ü <X <s ' _ a> ' \ ¦ ¸¿ º p · .

• ê >â «© >â U «(instance): : ¤& £

í ñ Hç \ ß X <s ' Z s Û ¼ \ $ ÷ © &# Qe H&

ñ Ð_ ¸ e

• ³F & V © o , 6 x÷ & H ¸4 qs S .

• Û ¼ Û ¼ Hr ç \ ß â ì2 §\ £ t ë Û ß ¼v HÕ ªX t O · § ú .

• ' > a + A þ ¸4 q S rY É U ï× ¼l ì Í ø ¸4 q_ S \ Vs . Y U ï ¼l × ì Í ø ¸4 qs S ê Í ø ¦&

ñ a+ ) AI þ _ Y U ï× ¼ н ¨$

í aX ) <s ' Z s Û ¼\ ¦[ " O

î H ¸4 qs S .

• á Ô ÐÕ ªA b ç

# Q\ q Ä »

• yY U ï× ¼ H# Q> h_ × 9 ¼(¢ ¸ H5 q$ Å

)Ü í ¼ н ¨

÷ í $ &# Qe .

– Û ¼v : Ã º_ &

_ ñ – Û ¼ Û ¼: á Ô ÐÕ ªÏ à þ º ' × æ: ¤& £

í ñ Hç \ ß Ã º_ ° ‫כ‬ ú

• ' > a + A þ ¸4 q S r E-R É ¸4 q_ S 0 AÆ Ò © o ¸4 q S Ð ¦Ã ^ ºe .

• Û ¼v HÆ Ò © oé > ß \ 6 §õ £ ° ú rÛ É ¼v rF > ô Ç .

KT 6 ' [9 cT ­ Å# ¹ a

1.5

– Ó to ü & Û h ¼v

• < Xs ' Z s Û ¼ H 6 §¿ £ º t 7 xÀ á Ó_ # Q\ ¦] j Nô B / Ç .

– Ho 7 & Û h ¼v : × © æ‫כ‬ ¹ô ÇÛ ¼v s . – " fÚ ÔÛ ¼v :  Óé > ß _ Û ¼v Ð" fy Â Ó Õ ªÂ Ó\ ¦[ " O

î HÛ ¼v rF > ô Ç .

– L Pl ' aÇ a +¥ ># U a(DDL, Data Definition Language): Û ¼v \ ¦&

_ ñ ½ ÉM + : 6 xô Ç .

• ß ë Ó to ü & Û h ¼v K ¸7 o H & ¼ h Ûv \ ¦

½ â É + 9 ‫כ‬ ¹ \ Ü O ¼ Ó to ü & X h < s' 1 qn l w$

s í e ¦ô Ç .

1.4

– L Pl ' a ¿¼ Ð ¥ Ç ># U a(DML, Data Manipulation Language): X <s ' Z s Û ¼\ ¦| _ 9 ¦ t q Ì ½ ÉM + : 6 xô Ç .

6 KT ' [{ ¢¨ | 1.5.1

• X <s ' Z s Û ¼_ ½ ¨ ¸\ ¦< Xs ' ¸4 qs S ô Ç .

• DDL_ \ V

• X <s ' ¸q 4 S: X <s ' , < Xs ' _ © ñ a> ' , X <s ' _ _ p , { 9 a$ '

] í j ¸| 1 x` p ¦l Õ t ü l 0 A Ç> ô h¥ & Æ h ¸½ ¨_ 9½ | Ë + 1.4.1

KT 6 ' [X Ë8 N ý Å# ¹ a

create table account (account-number char(10), balance integer)

4 = kå Ë4 ¾ { ¢¨ | – A 0 DDL ë H © r account X É <s ^ ¦` ¦Ò t$ q

í ¦, <s X ' (data dictionary) ¢ ¸ HX <s ' n 7 Ðo (data directory) H: ¤Ã £ ºô Ç_ s ^ ¦` ¦ t q Ì ô Ç .

• > h^ a> ' ¸q 4 S(entity-relationship model) r> É h^ <> ü h^ ç _ ß a> ' \ ¦s 6 x # z ´[ j> \ ¦ ¸4 qa S A H~ ÓZ ½ s O . • y > h^ H5 q$ Å

_ í | 9 ½ ËÜ + ¼ Ðl Õ t ü a ) . \ V) r' É > ý a: > ý a ñ, ï Ó ß o

• < Xs ' \ H B j X <s ' (metadata) ¦ HX <s ' \ @ /ô ÇX <s ' l 2 ¤ a ) . \ V) _ s ¦_ ^ Û ¼v

• ' > a H# Q> h^ ç \ ß a$ '

` í ¦´ ô ú Ç . \ V) ¦ oõ Ì > ý a: { F 9 K a> '

• DDL_ ô Ç7 xÀ á Ó X <s ' $ x ©

& 9

_ ñ # Q(data storage and definition language)\ ¦s 6 x # X <s _ ' $ ½ © ¨ ¸ü <] X H~ ÓZ ½ ` O ¦t &

ô ñ Ç .

• > h^ | 9 ½ Ë: ° + ú r7 É xÀ á Ó_ h >^ _ ¸6 § £ • a> ' | 9 ½ Ë: ° + ú r7 É xÀ á Ó_ a> ' _ ¸6 § £

• < Xs ' Z s Û ¼_ { 9 a$ '

] í j ¸| ¸ DDL` ¦s x 6 # &

_ ñ ô Ç .

• X <s Z s Û ¼_ Ho 7 Û ¼v H E-R s # QÕ ªÏ ` þ ¦ s 6 x # r y & Ü h ¼ Ð ¸d oô Ç . 2


<Õ ªa > 1.1> E-R Ë s Q #Õ ªÏ _ þ \ V 6 KT ' [ ºc l X Å# ¹ a

1.5.2

1.6

• X <s ' ¸ _ á x 7À Ó

1.6.1

KT 6 ' [9 cT ­ Þ Ó Ñ ÷ Þ Ó ß Ã Å' [@ _T ­

• X <s ' Z s Û ¼ 6 x _ 7 xÀ á Ó

– l r& >

ñ Ð Ò o

– 9 {ì Í ø 6 x : 6 x6 £ xá Ô ÐÕ ªÏ ` þ ¦: xK X <s ' s Z Û ¼\ ¦ 6 x Hq ë H

– D h&

ñ ÐÆ Ò – l r& >

ñ Ð ] j

– £ 66 x x á Ô ÐÕ ªÏ á þ Ô ÐÕ ªA Q: X <s ' Z s Û ¼ ¦ \ 6 x H6 x6 £ xá Ô ÐÕ ªÏ ` þ ¦> hµ Ï 1 H( Ó' É ë H

– l r& >

ñ ÐÃ º&

ñ • X <s ' ¸ # Q_ 7 xÀ á Ó

– p 0¸ x qô n Ç 6 x : 6 x6 £ xá Ô ÐÕ ªÏ ` þ ¦: xK X <s Z ' s Û ¼\ ¦ ] X H t · § ú ¦ X <s ' Z s Û ¼ # Q\ ¦f ] s X 6 x # X <s ' Z s Û ¼\ ] X H HX <s ' Z s Û ¼ ë H

– â

Ð (procedural) DML: Ï 6 x H # Q " X <s ' \ ¦# Qb G> Ò o½ Ét + t &

K ñ ô Ç . – n ¤¥ > > U (declarative) DML: \ r´ É ú Ðq ] X d DMLs 9 6 x H ¸f # Q" X < s ' \ ¦¶ " é Ht ë t ß &

ñ a ) .

• : r ì r$ % 3 o (OLAP, OnLine Analytical Processing) ¸½ ¨\ ¦ 6 x # X < s ' Z s Û ¼\ $ ÷ © &# Qe HX <s ' \ ¦ r$ ì 3 Hì r$ 3

+(query): &

ñ Ð Ò o` ¦‫כ‬ ¹' A½ õ ÉM + : 6 x Hë H ©

– £ :à ¤ º 6 x : 0 x¸ p qô n Ç 6 x Ð" f : x& h <s X ' % o ~ Ód ½ õ r: É ¤Ã £ ºô ÇX <s ' Z Û s ¼6 x6 £ xá Ô ÐÕ ªÏ ` þ ¦> hµ Ï 1 H ë H

+# a(query language): DML × æ&

ñ Ð Ò o` ¦{ © { H # Q

• : ¤Ã £ ºô Ç6 x6 £ xá Ô ÐÕ ªÏ _ þ \ V: ( É Ó' t " ¶ é[ > O r Û ¼% 7 , ë H r Û ¼% 7

• | 9 _ # Q_ \ V select customer.customer-name from customer where customer.customer.id = ‘192-83-7465’

1.6.2

KT 6 ' [9 cT ­ å ËP ¾

• < Xs ' Z s Û ¼ ao ' (DBA, DataBase Administrator)_ % ½ i É +

– 0 A| _ 9 ë H © r customer X É <s ^ ¦\ " f ¦Ì o Z d > 192-83-7465 ¦Ì o_ s 2 §` £ ¦ oô Ò Ç .

– Û ¼v &

_ ñ – $ ½ © ¨ ¸ü <] X H~ ÓZ ½ & O

_ ñ – ¼ Ûv x 9

Ó to ü & ½ h ¨ ¸Ã º&

: ‫כ‬ ñ ¹½ ¨ o

0 í $ x p Ó ¾ ` © ¦0 Aô ÇÃ º&

ñ

– 9 | _ _ s _ © _ s ^ ¦` ¦ Ò oK H

Ä â º ¸e . 1.5.3

KT 6 ' [9 cT ­ Þ Ó Ñ ÷å ËP ¾

– X <s ' ] X H ¶ô Ý Ç0 Ae – » Ät Ðà º: Ñ \ þ , n O Û ¼ß ¼/ Nç B ß ao ' , X <s ' s Z Û ¼y r

« Ö Þ³ Ó z º§ q ; c" e6 KT ' [9 cT ­ ± É¿ n R <

• , Cü <° ú r É ñÛ ¼à Ô # Q\ " f DML` ¦ 6 x H~ ÓZ ½ O

1.7

² v O Åå Ó ËP ¾

• à çw dc ñ 9¤ >(transaction): X <s ' Z s Û ¼6 x6 £ xá Ô Ð ªÏ Õ \ þ " f _ Ho 7 & l h 0 x` p ¦Ã º' H í ß t_ þ [ ¸e

– 6 x6 £ xá Ô ÐÕ ªÏ õ þ X <s ' Z s Û ¼ç \ ß ' ` s Û ¼] j/ N B – ñÛ ¼à Ô # Q\ ¦S X © # DML l 0 x` p ¦ í Ê < H~ ÓZ ½ O

• à Ô Ô ½ o _ ‫כ‬ ¹½ ¨ Ó: ACID ½ 3


– ¶ " é $

(atomicity): all-or-none ‫כ‬ í ¹½ ¨ Ó ½

– { 9 a$ '

(consistency): & í

S ñ $ X

‫כ‬ í ¹½ ¨ Ó ½ – ¦w n $

(isolation): í ¦w n ÷ &# Qz ´' % ` i ¦M : < ü õ ° ú ô Ç .

– t 5 q$ Å

(durability): r í Û ¼% 7 \ ¸À Ó µ ÏÒ 1 t q # ¸X <s ' HÕ ª° ‫`כ‬ ú ¦Ä »t K ô Ç H‫כ‬ ¹ ½ ¨ Ó ½

• à Ô ½Ô o s r | c M ¨ : X <s ' Z s Û ¼ { 9 a$ '

í e H I © % i = Qè å Ê ß ê\ ¸ X <s ' Z s Û ¼ H 9 { a$ '

e í H I © s # Q ô Ç . Õ ª Q z ´' × æç ß \ H{ 9 a$ '

í I © u ´Ã ºe . s M ‫כ‬ :ë H\ r Û ¼% 7 s z ´J ë H] j µ ÏÒ 1 t½ q Éà + ºe . Ð: x à Ô ½Ô o s ´ ' z ÷ & H ¸ ×\ æ × æé ÷ ß & à Ô Ô ½ o s à º ' ÷ &l I © ÐX <s ' Z s Û ¼\ ¦÷ &[ t 9 ô Ç . s ` ‫כ‬ ¦

A ¡ ´Ä ©(failure recovery) ô Ç .

(b) 3-> 8 x½ £ ¨ ¸

<Õ ªa > 1.2> 2-> Ë 8 xõ £ 3-> 8 x½ £ ¨ ¸ 1.8.2

Ç8 m ù ý% iP M

• | _ 9 % o l _ ½ ¨$

‫כ‬ í ¹ è – DDL ê >' aè «h ' a: DDL ë H ` © ¦K $ 3 # Õ ª \ ‫כ‬ 9 ‫כ‬ ¹ô Ç&

_ ñ \ ¦X <s ' \ l 2 ¤ô Ç .

6 KT ' [9 cT ­ S ­ y ð º

• l 0 x& p h a& ' \ h " fX <s ' Z s Û ¼_ × æ‫כ‬ ¹½ ¨$

‫כ‬ í ¹ è

– DML

É

a: DML ë H ` © ¦| _ 9 Ã º' p ' s s K ½ ÉÃ + ºe H"

§ î

Ü î ¼ н ¨$

ô í Ç .

– $ © ao '

+ Ê Á j ß dë >(query evaluation engine): DML (

{ 9 Q ë ß H 0 AY U6 î \

"§

` î ¦z ´ ô ' Ç .

– | 9 _ % o l 1.8.1

(a) 2-> 8 x½ £ ¨ ¸

• î #

' ] j# Q/1 xr l $

] í j# Q ao ' (concurrency control manager): # Qà Ô ½Ô o s #

î ' Ü ¼ Ðz ´' ÷ & # Q ¸X <s ' Z s Û ¼ { 9 a$ '

í I © \ ¦Ä »t ½ Éà + º e ¸2 ¤ H% ½ i É` + ¦ô Ç .

1.8

$ [X så ê ËP ¾

• $ © ao ' : X <s ' Z s Û ¼\ $ ÷ © & He H 0 AY U6 X \ <s ' ü <6 x6 £ xá Ô ÐÕ ªÏ ¢ þ ¸ H| 9 _ ç \ ß ' ` s Û ¼\ ¦j ]/ NK B ï r . $ © ao ' H DML H¸ ë [ ú t` þ ¦ 0 AY U 6 \

{ r 9 Û ¼% " 7

§ î

Ü î ¼ Ð Ë ¨ # Qï r .

1.8.3

« Ö Þ³ Ó z º§ q º

• Ð: x9 t þ s à Ô-" f! Q½ ¨ ¸\ ¦ 6 xô Ç . • X <s ' Z s Û ¼6 x6 £ xá Ô ÐÕ ªÏ ½ þ ¨ ¸_ 7 xÀ á Ó – 2-> 8 x½ £ ¨ ¸(two-tier architecture): 6 x6 £ xá Ô Ð ªÏ Õ s þ 9 t þ s à Ô( É Ó' \ Å © Ò HÂ Ò rõ ì " f! Q\ Å © Ò H Òì rÜ ¼ Ð ¾ º# Qt 9, 9 t þ s à Ô( É Ó' \ Å © Ò H Òì r r É <s X ' Z s Û ¼\ ¦f ] ] X X Hô Ç .

• $ © ao ' _ ½ ¨$

‫כ‬ í ¹ è – ¶ Ýô Ç0 Ae õ Á º $

í ao ' – à Ô ½Ô o ao ' –

{ 9 ao ' : n Û ¼ß ¼/ Nç B ½ ß É{ + õ © n Û ¼ß ¼\ $ | © c& ¨

ñ Ð_ X <s ' ½ ¨ ¸\ ¦ ao ' ô Ç .

– 3-> 8 x½ £ ¨ ¸(three-tier architecture): s ½ ¨ ¸ H 2-> 8 x½ £ ¨ ¸ü <² o ú 9 t þ s à Ô( É Ó' \ Å © Ò H Òì r rX É <s ' Z s Û ¼\ ¦f ] X X ] H t · § ú ¦6 x6 £ x" f! Q\ ¦: xK X <s ' Z Û s ¼\ ¦] X Hô Ç .

– ! Q( ao ' : n Û ¼ß ¼$ © u © РÒ' X <s ' \ ¦ Ø ¦ # Ò Ål % 3 u © \ & F h ¦, Å Ò l % 3 u © \ # Q X " <s ' \ ¦H r ½ Ét + &

ñ H% ½ i É` + ¦ô Ç .

• 6 x6 £ x " f! Q\ ë q ß Ý ¼m Û ¼ Ðf s ½ ¨ ³ & &# ÷ Qe . • q t m Û ¼ Ðf r # É Q " ' 1 x` l ¦ # Q* ô Ç ¸| \ " fà º ' ÷ & Ht \ ¦ &

ô ñ Ç .

• $ © ao ' Hs \ ¦0 AK 6 §X £ <s ' ½ ¨ ¸\ ¦½ ¨ ³ô & Ç . – X <s '

{ : X 9 <s ' Z s Û ¼ ^ \ ¦$ © HX < 6 x a ) .

• © ½ ¸ H 6 x6 £ xá Ô ÐÕ ªÏ s þ R Û6 / x6 £ x_

Ä â º\ H 3-> 8 x½ £ ¨ ¸ 8& ½ h Ëô + Ç .

– X <s ' : X <s ' Z s Û ¼½ ¨ ¸\ @ /ô ÇB j X <s ' \ ¦$ © HX < 6 x a ) . : ¤y £ Û ¼ v $ © a ) . – Ò o (index): : ¤& £

ô ñ Ç° ‫`כ‬ ú ¦t X <s ' Ó3 ½ q l \ Ø Ô> ] H X l 0 Aô Ç&

ñ Ð $ © a ) . 4


c °2003, sangjin@kut.ac.kr

• Ă— Ì° ‍כ‏5 Ăş q$ Ă…

: “ Ă­ ÂŚĂŒ o_ Â? „ o  ùß <°  s Ăş ÂŒ # Q> h_ ° ‍`כ‏ Ăş ÂŚ | Ăƒ 9 Âşe Â? ” H5 q$ Ă…

Ă­ Ă— Ì° ‍כ‏5 Ăş q$ Ă…

_ Ă­

Ă„ â Âş\  Â? H | 9 Ăƒ Âşe Â? ” HĂž j@ / Ăƒ Âş Ăž j$ Ăƒ Âş\ ÂŚt &

½ Ăą Ă‰Ăƒ + Âşe ” .

2T 6 ' _9 KT Ăƒ ‘: ~ ÂĄq ç { ÂĄĂˆ ‘ 02

– Ă‹ – ¿Û S ¢ Ă– ´Ă… 4 (derived attribute): › ] aÂş ' e Â? ” H Â? r5 É q$ Ă…

s Ă­ > h^ ‰– Ă?Ă‚ Ă’' Ă„ • ¸| cĂƒ ¨ Âşe Â? ” H 5 q$ Ă…

Ă­

A. Silberschatz, H. Korth, S. Sudarshan Database System Concepts, Fourth Edition, McGraw-Hill, 2002.

• Ă&#x; ̀ – •5 Â? q$ Ă…

s Ă­ ° ‍`כ‏ Ăş ÂŚ t t ¡ §Ăœ Ăş Ÿ€ V ° , ‍(כ‏null vaĂş lue)` ÂŚ ” .

Part I. Data Models

• V ° , ‍`כ‏ Ăş ÂŚ t > á &Â? Hs Ă„ Âť

= 4 kĂĽ Ă‹4 ž { ¢¨ |

2 2.1

Ă„ M Ă˜4 ] G › Ăˆ

2.1.1

4 = kÉ Ú mœ ¼ �

– & 6 h x½  Ă‰° + ‍כ‏s Ăş \ 6 O §(not applicable) ÂŁ – ° ‍_כ‏ Ăş ” rF > # ÂŒĂ‚ Ă’\ Œ— ¸\ ÂŚ

Ă„ â Âş(not known) – ° ‍כ‏s Ăş ” rF > t ĂŤ –° Ă&#x; ‍`כ‏ Ăş Œ— ¸\ ÂŚ

Ă„ â Âş(missing)

• 5 W Â…(entity): Â? r— É ¸ÂŽ H Ăľ ‍כ‏ ½ ¨Z á > &Â? HĂ„ Âť, Ă Âş+ A Ăž _ Ă“ t Ăź

2.1.2

Ă‹4 ž ĂĽ É Ăš mÂś ÂĽ Â?

• ÂŽ ”N ¸ (relationship): # ÂŒ Q> h^ ‰ s _ ƒ › a$ '

Ă­

• > h^ ‰� H5 q$ Å

[ Ă­ t_ Ăž | 9 ½ Ă‹` + ÂŚ t 9, s | 9 ½ Ă‹_ + Ă‚ Ă’ĂŹ r 9 | ½ ˓ + r> É h^ ‰\ Œ“ ÂŚĂ„ Âť > d Z ” ½ > Ă‰Ăƒ + Âşe ” .

• ¸ ÂŽN ” ™

T Âź(relationship set): ° Ă’  Â“ Ăş r7 É xĂ€ ĂĄ Ă“_ › a> ' [ t Ăž _ | 9 ½ Ă‹ +

• 5 W …

T ™ Âź(entity set): ° Ă’  Â“ Ăş r5 É q$ Ă…

` Ă­ ÂŚ t Â? H°  Â“ Ăş r É Ă„ Âť+ A_ Ăž > h^ ‰[ Ăž t_ — ¸6 § ÂŁ

• ' ›> a | 9 ½ Ă‹_ + + Ad Ăž ” oÂ? a & )

_ Ăą : › a> ' | 9 ½ ˓ + r n(≼ É 2)> h_ > h^ ‰| 9 ½ Ă‹(Ă— + ĂŚ4 ¤ 0 Â&#x; x) p s _ 6 §þ ÂŁ °  ú “ rĂƒ É º† Æ& < › h a> ' ` Ϋ Â˜Ă´ Ăş Ç . E1 , . . ., En s > h^ ‰| 9 Ă‹s + ½ € › a> ' | ½ 9 Ă‹ R“ + r É 6 §þ ÂŁ °  Â“ Ăş r| É 9 ½ Ă‹_ + Ă‚ Ă’ĂŹ r 9 | ½ Ă‹s + .

• > h^ ‰| ½ 9 Ă‹_ + Ăź @ƒ (extension): > h^ ‰| ½ 9 Ă‹` + ÂŚs Ă€ Ă’ Hy Â? •> ÂŒ hZ > > h^ ‰ • > h^ ‰| ½ 9 ˓ + r" É f– Ă?Ă— ĂŚ^ ?| o cĂƒ ¨ Âşe ” . \ V) “ rÂ? É ' Â&#x;_ — ¸ Hf ÂŽ Âś ” " ĂŠĂľ “ rÂ? É ' Â&#x;_ — ¸ÂŽ H“ ÂŚĂŒ o Â?

{(e1 , . . . , en ) | e1 ∈ E1 , . . . , en ∈ En }

• 4 ¢Ă… ´ (attribute): y ] •> ÂŒ h^ ‰ t m Â? Hy •> ÂŒ h^ ‰\ ÂŚ[ O

Î " � H: ¤$ £

Ă­

# ÂŒl " f (e1 , . . . , en )“ r› É a> ' s .

– h >^ ‰| ½ 9 Ă‹ + \e Â? ” H— ¸ÂŽ H> h^ ‰Â? H°  Â“ Ăş r5 É q$ Ă…

` Ă­ ÂŚ t y •> ÂŒ h^ ‰Â? Hy •5 ÂŒ q$ Ă…

\ Ă­  @ /K Â? r° É ‍`כ‏ Ăş ÂŚ | Ăƒ 9 Âşe ” .

– s M : > h^ ‰ | 9 ½ Ă‹ E1 , . . ., En “ + r › É a> ' | 9 ½ Ă‹ + R\  ½ Ă”# Ç b(participate)Ă´ Ç “ ÂŚĂ´ Ç . • › a> ' “ Ă› Ÿ‡ Ă› Âź: › a> ' | ½ 9 Ă‹_ + : ¤& ÂŁ

Ă´ Ăą Ç" Ϫ ĂŠ è

– Å 5$ q

_ Ă­ – ÂżR cĂŞ >(domain) < ʓ r° É ‍|כ‏ Ăş 9 ½ Ă‹(value + set): y •5 ÂŒ Ă… q$

s Ă­ | 9 Ăƒ Âşe Â? ” H° ‍_כ‏ Ăş | 9 ½ Ă‹ +

• Â… T ] Âť(role): › Ă’ a> ' \  " f> h^ ‰ Â? ' Â&#x; Â? Hl 0 x p

• y •> ÂŒ h^ ‰Â? H (5 q$ Ă…

, X Ă­ <s ' ° ‍_)כ‏ Ăş Š Âœ_ Š | ½ 9 Ă‹Ăœ + Ÿ– Ă?Âł Ă° Âł| & ‰ cĂƒ ¨ Âşe ” .

• ˜ Ă?: x% Â&#x; ½ i ɓ + r› É a> ' | ½ 9 Ă‹` + ÂŚ: xK Â&#x; ~ > 1 ¡ Â˜Ăƒ Ăş Âşe Ăœ ” Âź Ă™ Ÿ– Ă?Âł Ă°r t ¡ §t Ăş ĂŤ –ô Ă&#x; Ç> h^ ‰ # Q‹ › " a> ' | 9 ½ Ă‹ + \  " f# ÂŒ Q% ½ i É` + Œ½ É +

Ă„ â Âş\  Â? H% ½ i É` + ÂŚÂł Ă°r Ă´ Ç . s X > O Ă´ Ă‡ĂŒ o^ Â? ‰ # ÂŒ Q% ½ i É` + ÂŚ € F ) & › h a> ' 9 | ½ Ă‹(recursive relationship set)s + Ă´ Ç .

• 5 q$ Å

_ Ă­ Ă„ Âť+ A Ăž – 5 Ă­' ¢ K ´Ă… 4 (simple attribute) vs. ] ´T ÂĄ Ÿ¢ Ă’ ´Ă… 4 (composite attribute) ] • Ă&#x; ĂŠĂ­ – H5 q$ Ă…

: 8 Ă­ s Âœ Š Ă? tĂƒ Ăź Âş\ Â? O H5 q$ Ă…

Ă­ • 4 ¤+ Â&#x; ½Ă… Ă‹ q 5$

: # Ă­ ÂŒ QĂ‚ Ă’ĂŹ rĂœ Ÿ– Ă? Ă? tĂƒ Ăź Âşe Â? ” H 5 q$ Ă…

, \ Ă­ V) | Ă? Ăƒ s2 §, Ă… ÂŁ ҙ è

• ' ›> a • ¸ › a> ' \ ÂŚ [ " O

ĂŽ Â? H 5 q$ Ă…

(descriptive attriĂ­ bute)` ÂŚ | Ăƒ 9 Âşe ” .

4½ ¤ Â&#x; Ă‹5 + q$ Ă…

É í r “› aº ' e � ” H5 q$ Å

` Ă­ ÂŚĂ• ÂŞĂ’ ¨Ăœ Ÿ– Ă?Ă“ Ăź ÂŚX ` <Ă„ Âť6 x  .

• Âż Âş> h^ ‰| ½ 9 Ă‹s + › aÂş ' Â? a› ) a> ' | ½ 9 Ă‹` + ÂŚs ” › a> ' | 9 Ă‹(binary relationship set)s + ½ Ă´ Ç . ˜ Ă?: x› Â&#x; a> ' | 9 ˓ + ½ rs É ” › a> ' | 9 ½ Ă‹s + t ĂŤ –¿ Ă&#x; Âş> h^ ‰| 9 ½ Ă‹s + Âœs Š ‚ Ă?# Ăƒ ÂŒ Â? H› a> ' • ¸e ” .

– 5 í

G ™ ê¢ Âą ´Ă… 4 (single-valued attribute) vs. ]

ÂťG ä ê¢ Âą ´Ă… 4 (multivalued attribute) ]

• ' ›> a | ½ 9 Ă‹\ +  Â‚ Ă?# Ăƒ ÂŒ Â? H> h^ ‰| ½ 9 Ă‹_ + Ăƒ Âş\ Œ› a> ' | 9 Ă‹_ + ½ ĂŠ Ă (degree) Ă´ Ç .

• Ă&#x; ĂŠ{ – 9 ° ‍כ‏5 Ăş q$ Ă…

: š Ă­ ¸f ” _ ° ‍כ‏Í Ăş –` Ă&#x; ÂŚ t H5 Â? q$ Ă…

Ă­ 1


2.3

• > h^ | ½ 9 Ë? + /\ e Hy > h^ \ ¦1 q: l ¤ £ > d Z ½ > É + Ã ºe # Q ô Ç . " f> h^ | ½ 9 Ë? + /\ e H# Q ¿ " º> h^ ¸ ¸ H5 q$ Å

_ í ° ‫כ‬s ú ° ` ú ¦Ã º\ O .

• o (key): > h^ [ t` þ ¦" f н ¨Z ½ > Éà + ºe H5 q$ Å

[ í t_ þ 9 | ½ Ë +

(a) { @ 9 /{ 9

2.3.1

(b) { 9 @ /

(c) @ /{ 9

• K Ã º( v s s ` ‫כ‬ ¦ í Ê < H5 q$ Å

_ í | 9 ½ Ë + r É Ó ½ Ã © º( v a ) .

• Ñ ñ ×o (candidate key): à º( v s " fÕ ª _ ‫כ‬ # Q "  Òì r| 9 ½ Ë + ¸Ã º( v | cà ¨ º\ O Hv – minimal key not minimum key • Ì Áo (primary key): Ê ê Ðv × æ\ X <s ' Z s Û ¼ > O [ > h^ \ ¦d Z > l 0 Aô Ç~ ÓZ ½ Ü O ¼ Ð × þ Çv ô

(d) @ /

<Õ ªa > 2.1> @ Ë /6 xà £ º

2.2

gW < l d ºü Å g

2.2.1

6 « Ö ¤

4 = kÉ ù m¶ ¥

• Ê Á( xo (super key): > h^ \ ¦> h^ | ½ 9 Ë\ + " f1 q: l ¤ £ > d Z K > × ¦Ã ºe H ¢ ¸ H# Q> h_ 5 q$ Å

í _ | 9 ½ Ë +

W

• v H> hZ > > h^ \ _ K &

÷ ñ & H ‫כ‬ r É m ¦> h ^ | 9 ½ Ë\ + _ K &

ñ a ) . • $ õ © | _ 9 % o _ ´ òÖ ¦$

` í ¦0 AK Å Òv H° ‫כ‬s ú ¸ ú t · § ú H Ü ‫כ‬ ¼ Ð × K þ ô Ç .

• 7 £ Ê Á(mapping cardinality): a> ' | 9 ½ Ë` + ¦: xK r> É h^ ü < aº ' | cà ¨ ºe H> h^ _ à º

– ¶ { ú 9 r ° ú rÅ É Òv \ ¦ > h^ e Ht K ô Ç . – Å Òv HV ° , ‫`כ‬ ú ¦ | 9 Ã º\ O .

• > h^ | 9 ½ Ë Aü + <Bç \ ß s a> ' | 9 ½ Ë R_ + @ /6 x £ Ã º_ 7 xÀ á Ó 2.3.2 – 9 {@ /{ : A_ 9 ô Çh >^ Hþ j@ /ô Ç B_ ô Ç> h^ < ü a÷ ' &9, B_ ô Ç> h^ ¸þ j@ /ô Ç A_ ô Ç h^ > ü < a ' a ) .

Ë4 ¾ å É ù m¶ ¥

• > h^ | ½ 9 Ë E1 , . . ., En s + Ð# à H a> ' | ½ 9 Ë Rs + e ¦, P K(Ei ) H Ei _ Å Òv \ ¦ p · ¦ . ¢ ¸ô Ç ¸ H> h^ | 9 ½ Ë_ + Å Òv \ ¦½ ¨$

í H5 q$ Å

s í 2 §s £ × æ4 ¤÷ &t · § ú ¦, y > h^ a> ' \ ô Ç ë ß Ð Ã # ô Ç ¦ .

– 9 {@ / : A_ ô Ç> h^ He _ _ Ã º(0 ¢ ¸ HÕ ª s )_ © B> h^ ü < a÷ ' &t ë B_ ß ô Ç> h^ Hþ j@ /ô Ç A_ ô Çh >^ ü < a ' a ) .

– ' > a | ½ 9 Ë Rs + 5 q$ Å

` í ¦ t t · §Ü ú ¼ R_ y a> ' H 6 §\ £ _ K d Z > a ) .

– @ /{ : A_ 9 ô Çh >^ Hþ j@ /ô Ç B_ ô Ç> h^ < ü a÷ ' &t ë , B_ ß ô Ç> h^ He _ _ Ã º(0 ¸ ¢ HÕ ªs )_ © A> h^ ü < a ' a ) .

P K(E1 ) ∪ · · · ∪ P K(En )

– @ / : A_ ô Ç> h^ He _ _ Ã º(0 ¢ ¸ HÕ ª s )_ © B> h^ ü < a÷ ' &9, B_ ô Ç> h^ ¸ _ e _ Ã º(0 ¸ ¢ HÕ ªs )_ © A> h^ ü < a ' a ) .

– ' > a | 9 ½ Ë Rs + a1 , . . ., am ` ¦5 q$ Å

Ü í ¼ Ð t 6 §õ £ ° ú r5 É q$ Å

_ í | 9 ½ Ës + y a> ' \ ¦d ô > Z Ç . P K(E1 ) ∪ · · · ∪ P K(En ) ∪ {a1 , . . . , am }

2.2.2

Y p# c b< gW l d ºü Å g

– 0 A¿ º

Ä â º ¸¿ º a> ' | ½ 9 Ë R_ + à º( v H 6 §õ £ ° ú .

• ¦W > ½ Ô (total participation): E_ Ç ¸ H> h^ a> ' | 9 ½ Ë R\ + & # h Q ¸ô Ç a> ' \ Ð# Ã H

Ä â º

P K(E1 ) ∪ · · · ∪ P K(En )

• É Ù& ½ P Ô (partial participation): E_ Ç { 9 Â Ò> h^ ß ë a> ' | 9 ½ Ë R\ + Ð# Ã H

Ä â º

• 5 q$ Å

_ í s 2 §s £ × æ4 ¤ a ) 5 q$ Å

_ í s 2 §` £ ¦F &

ñ _ K ô Ç . 2


• > h^ # Q a> ' \ Ð# Ã > h^ | ½ 9 Ës + 2 §@ £ / \ % ½ i És + 2 §` £ ¦ 6 x # 5 q$ Å

_ í s 2 §` £ ¦F &

ñ _ ô Ç .

• ' > a | ½ 9 Ë_ + Å Òv _ ½ ¨ ¸ H a> ' | ½ 9 Ë_ + @ /6 xà £ º \ _ K &

ñ a ) .

– 9 {@ /{ : 9 Ð# à > h^ | 9 ½ Ë× + æ# QÖ ¼> h^ | 9 ½ Ë + Å _ Òv ¸ a> ' | ½ 9 Ë_ + Å Òv a ) .

– 9 {@ / , @ /{ : 9 \ K { © H> h^ | 9 ½ Ë_ + Òv Å a> ' 9½ | Ë_ + Å Òv a ) .

• s a> ' m ¦/ @6 xà £ º] j ¸| s \ Ü O ¼ Ð# à H ¸ H> h^ | ½ 9 Ë_ + Å Òv _ ½ Ë| + ½ 9 Ës + Ä » 9 { ô Ç a> ' | 9 ½ Ë_ + Å Òv a ) .

2.4.1

4 = kÉ ù m¶ ¥ vs. ×V Ò Ë R

– · 4 ÿ 2. 6 §õ £ ° ú r[ É j> h_ a> ' | 9 ½ Ë` + ¦ ß ë H .

– Å 5$ q

\ í @ /K # Q&

ñ Ð\ ¦Ä »t ¦z · # Q> h^ ° ú r5 É q$ Å

° í ‫`כ‬ ú ¦/ NÄ B » 5 q$ Å

í ¼ Ü Ð 6 x H ‫כ‬ Ð > h^ | 9 ½ ËÜ + ¼ Ð 6 x H s ‫כ‬ | Ðf à .

• RA : Eü <Aç \ ß a> ' \ ¦ ? / H a> ' ½ 9 | Ë + – R_ y a> ' (ei , ai )\ ¦ RA \ Æ Ò ô Ç . • RB : Eü <Bç \ ß a> ' \ ¦ ? / H a> ' ½ 9 | Ë + • RC : Eü <C ç \ ß a> ' \ ¦ ? / H a> ' ½ 9 | Ë +

• > h^ | ½ 9 Ë_ + Å Òv \ ¦ r> É h^ | ½ 9 Ë_ + 5 q$ Å

Ü í ¼ Ð 6 x H ‫כ‬ r É | Ðf à t · § ú . s

Ä â º\ H a ' > | 9 ½ Ë` + ¦s 6 xK ô Ç . • > h^ | ½ 9 Ë_ + Å Òv \ ¦ a> ' | 9 ½ Ë_ + 5 q$ Å

Ü í ¼ Ð 6 x H ‫כ‬ r¸ É 3 ú w l a ) s ‫כ‬ . s ‫כ‬ r É a> ' | 9 ½ Ë + r É Ð Ã # > h^ | 9 ½ Ë_ + Å Òv \ ¦ Ê» < ¤& ¡ Ü h ¼ Ð _ 5 q$ Å

í Ü ¼ Ð t ¦e l M :ë Hs .

• ¸ H n- Ó ½ a> ' | ½ 9 Ë + r# É Q> h_ s a> ' | 9 ½ Ë + Ü ¼ Ð@ /^ ½ Éà + ºe t ë s ß X > O H s ‫כ‬ Ó ½ © | Ðf à ô Ç ‫כ‬ r É m .

4 = kÉ ù m¶ ¥ vs. å Ë4 ¾ m ù¶ É ¥

– ' > a | ½ 9 Ë` + ¦ ? /l 0 AK D h\ v> ë ß H> h ^ | ½ 9 Ë_ + y > h^ \ ¦d Z > l 0 Aô ÇD h Ðî r 5 q$ Å

` í ¦ë [ ß t# þ Q ô Ç . s 5 q$ Å

í õÆ Ò Ð 9 ‫כ‬ ¹ô Ç a> ' | ½ 9 ËM + :ë H\ [ > O 4 ¤¸ K ú t ¦ $ ‫כ‬ © ¹½ ¨ Ós ½ 7 x ô £ Ç .

• > h^ | 9 ½ Ë@ + / \ s | ½ 9 Ë` + ¦# Q " a> ' | ½ 9 Ë_ + 5 q Å

Ü í $ ¼ Ð 6 x½ ÉÃ + ºe . ª Õ Q ë [ ß t# þ Q a> ' | 9 Ës + ½ { @ 9 /{ 9 a> ' m s ‫כ‬ r& É ] h ô X Ç~ ÓZ ½ O s m . Õ ªs Ä » H 6 §õ £ ° ú .

– n- Ó ½ a> ' | 9 ½ Ë + r# É Q> h_ s a> ' | 9 ½ Ë + ¦ ` 6 x % ` i ¦M : Ð # Q " a> ' \ # Q> h ^ Ð# Ã ô Ç H s ‫כ‬ "

S î X .

– X <s ' _ × æ4 ¤Ü ¼ Ð ô Ç$ / © Nç B z ß q © – < Xs ' _ × æ4 ¤Ü ¼ Ð ô Ç{ 9 a$ '

0 í AC 0 x p

í $

– n- Ó ½ a> ' \ e H] j ¸| ` ¦s a> ' \ ? / H s ‫כ‬ # Q 9Ö ¦Ã ºe .

• > h^ ç \ ß © ñ 6 x ¦ ` ? / H&

ñ Ð H a> ' | 9 ËÜ + ½ ¼ Ð ¸q 4 Sa A H s ‫כ‬ | Ðf à . 2.4.3

– · 4 ÿ 1. a> ' | ½ 9 Ë R` + ¦> h^ | ½ 9 Ë E + Ð õ H . s M : Rs 5 q$ Å

` í ¦ t s 5 q$ Å

í r E_ É 5 q$ Å

s í a ) . ¢ ¸ô Ç 9 ‫כ‬ ¹ E_ y > h^ \ ¦ ½ ¨Z ½ > Éà + ºe H: ¤Ã £ ºô Ç5 q$ Å

` í ¦ë ß H . R_ y a> ' (ai , bi , ci )\ @ /K E\ D h Ðî r> h^ ei \ ¦Æ Ò ô Ç .

• × æ° ‫כ‬5 ú q$ Å

vs. > í h^ | ½ 9 Ë +

2.4.2

<Õ ªa > 2.2> 3 Ë Ó ½ a> ' \ ¦# Q> h_ s a> ' Ð Ë ¨ ~ H ÓZ ½ O

– @ / : Ð# Ã > h^ | ½ 9 Ë_ + Å Òv _ ½ Ë| + 9 ½ Ës + a> ' | ½ 9 Ë_ + Ò Åv a ) .

Ç4 r ‫כ‬ À ØX X È ì

• s a> ' | 9 ½ Ë\ + " f@ /6 xà £ º\ r É a> ' | 9 ½ Ë_ + Å Òv

2.4

2.4.4

T à à Åå Ë4 ¾ É ù m¶ ¥ vs. n-] §å Ë4 ¾ ù ɶ m ¥

Ë4 ¾ å ×V Ò Ë8 R ý üV

• n- Ó ½ a> ' | 9 ½ Ë + r# É Q> h_ s a> ' | 9 ½ ËÜ + ¼ Ð è qà ­ ºe .

• ' > a _ @ /6 xà £ º H a> ' 5 q$ Å

_ í 0 Au \ %

ò Ó` ¾ ¦ï r .

• n(> 2)- Ó ½ a> ' | 9 ½ Ë` + ¦# Q> h_ s a> ' | 9 ËÜ + ½ ¼ Ð Ë ¨ H~ ÓZ ½ : \ O V) > h^ | 9 ½ Ë A, B, C + Ð Ã # H n = 3 a> ' | 9 ½ ËR +

• 9 { @ /{ 9 a> ' | ½ 9 Ë¢ + ¸ H{ @ 9 / a> ' | 9 ½ Ë_ +

Ä â º \ a> ' _ 5 q$ Å

í r É Ð# Ã H> h^ | ½ 9 Ë_ + 5 q$ Å

Ü í ¼ Ð[ & O

½ ñ ÉÃ + ºe . 3


• 9 { @ /{ 9 { 9

Ä â º\ H Ð# Ã H# QÖ ¼> h^ | 9 ½ Ë_ + 5 q$ Å

Ü í ¼ Ð 6 x½ ÉÃ + ºe t ë { ß 9 @ / { 9

Ä â º\ H \ K { © H> h^ | 9 ½ Ë_ + 5 q$ Å

Ü í ¼ Ðë ß 6 x½ É + Ã ºe .

2.6

• » Ðø È 5 5 W

T ¼(weak entity set): Å Ò Òv \ ¦+ A$ þ

½ í É + Ã ºe HØ æì rô Ç5 q$ Å

` í ¦° ú ¦e t · § ú H> h^ | 9 ½ Ë + • " × ø 5 5 W

T ¼(strong entity set): Å Ò Òv \ ¦+ A$ þ

½ í É + Ã ºe HØ æì rô Ç5 q$ Å

` í ¦° ú ¦e H> h^ | ½ 9 Ë +

• @ / a> ' 9½ | Ë\ + " f a> ' | 9 ½ Ë_ + 5 q$ Å

° í ‫כ‬s ú a ' > \ Ð# Ã H¿ º> h^ \ _ K &

÷ ñ & s 5 q$ Å

í r> É h^ | 9 ½ Ë_ + 5 q$ Å

Ü í ¼ Ð 6 x½ ÉÃ + º\ O .

2.5

W l d ¢4 X = kù ɶ m ¥

• ô Ç> h^ | ½ 9 Ës + _ p e l 0 AK " f H r> É h ^ | 9 ½ Ëõ + a÷ ' &# Q 9, s M : a÷ ' & H> h^ 9 | ½ Ë` + ¦Ð ß Ï

5 ~ W

T ¼(identifying entity set) ¢ Ò ¸ Ht C > h^ | 9 ½ Ë(owner entity set)s + ô Ç .

E-R T # a§ q

• E-R s # QÕ ªÏ _ þ ¨ ½$

‫כ‬ í ¹ è

• ô Ç> h^ | ½ 9 Ë + rÕ É ª _ ‫כ‬ d Z > > h^ | 9 ½ Ëõ + rF > 7 x5 á q Å a> ' (existence dependent) e ¦ 9, s a> ' \ ¦Ð ß Ï

® ~ N ¸ (identifying relationship) ô Ç . ì Í@ ø / Ðd Z > > h^ | ½ 9 Ë + rÕ É ª _ ‫כ‬ ô Ç> h^ 9 | ½ Ë` + ¦ èÄ »ô Ç ¦´ ô ú Ç .

– y + A: > þ h^ | 9 ½ Ë + – " ¶: 5 é q$ Å

í – s × æ " ¶: é × æ° ‫כ‬5 ú q$ Å

í – & h " ¶: Ä é » ¸ a5 ) q$ Å

í – s × æ s H× 7 ¼: d Z > a> ' | 9 ½ Ë +

• dZ > a> ' _ @ /6 xà £ º H ô Ç> h^ | ½ 9 Ë\ + " fd Z > > h^ | 9 ½ ËÜ + ¼ Ð @ /{ 9 s 9, s M : ô Ç> h^ | 9 ½ Ë + rs É a> ' \ ^ & Ü h ¼ Ð Ð# à ô Ç .

– : 5 q$ Å

` í ¦> h^ | 9 ½ Ëõ + , > h^ | ½ 9 Ë` + ¦ a> ' ½ 9 | Ëõ + ½ É: + M 6 x

• ô Ç> h^ | ½ 9 Ë + rÕ É ª _ ‫כ‬ d Z > > h^ | 9 ½ Ë_ + : ¤& £

ñ > h^ ü <_ a$ '

\ í ì r½ É| + cà ¨ ºe .

– s H× 7 ¼: a> ' | 9 ½ Ë +

– s× æ : a> ' | 9 ½ Ë\ + " f> h^ _ ^ Ð# Ã \ ¦ è qM ­ : 6 x

• ô Ç> h^ | 9 ½ Ë + rÅ É Òv \ ¦° t ú · §t ú ë ß aº ' d > > Z h^ | 9 ½ Ë_ + ô Ç> h^ \ 7 x5 á q Å H ô Ç> h^ 9 | ½ Ë_ + ¸ H> h^ \ ¦" f н ¨Z ½ > Éà + ºe H5 q$ Å

í _ | ½ 9 Ës + e # Q ô Ç . s 5 q$ Å

_ í | ½ 9 Ë` + ¦½ ¨Z > (discriminator) ¢ ¸ H É Ù& o P (partial key) ô Ç .

– s× æ y + A: þ ô Ç> h^ | 9 ½ Ë` + ¦ è qM ­ : 6 x • 5 q$ Å

× í æÅ Òv Hx 9 × ¦ Ð p · .  Òì rv H& h 9 x × ¦ Ð p · .

• ô Ç> h^ | ½ 9 Ë_ + Å Òv Hd Z > > h^ | 9 ½ Ë_ + Å Òv < ü ô Ç> h^ | 9 ½ Ë_ +  Òì rv \ ¦½ Ë5 + gë ß H .

• @ /6 xà £ º\ ¦ ? /l 0 AK o ¶ ³ ú 𢠸 Hf ` ¦ 6 xô Ç . o¶ ³ ú ð~ Ó ½ Ó ¾ r{ É 9 ` ¦ p · .

• dZ > a> ' | 9 ½ Ë + rl É Õ t& ü 5 h q$ Å

` í ¦ t t · § ú H . ß ë ‫כ‬ 9 ¹ s 5 q$ Å

í r É ô Ç a> ' | 9 ½ Ë_ + 5 q$ Å

í Ü ¼ Ð 6 xô Ç .

• % ½ i É + r> É h^ | 9 ½ Ëõ + a> ' | 9 ½ Ë` + ¦ H \ s 2 §` £ ¦· ­# ¡ p · . • q s a> ' | 9 ½ Ë\ + a ) × æ\ o¶ ³ ú ð r É ¸f ë ß rF > K ô Ç . ë ß # Q> h rF > ¿ º t s Ü © ¼ ÐK $ ½ 3 ÉÃ + ºe l M :ë Hs .

• ô Ç> h^ | ½ 9 Ë + rÕ É ª _ ‫כ‬ d Z > > h^ | 9 ½ Ë_ + Å Òv ¦ \ _ 5 q$ Å

Ü í ¼ Ð 6 x # y ô © Ç> h^ | 9 ½ ËÜ + ¼ Ð Ü JÃ ã ºe . s X > O t · § ú Hs Ä » H 6 § £ ° õ ú .

• > h^ | 9 ½ Ë A1 , . . ., An ç + \ ß a> ' | 9 ½ Ë R\ + " f Ai+1 , Ai+2 , . . ., An _ = Q\ å ë ß o¶ ³ ú ð e ` ¦M : 0 xô p Ç¿ º t K $ 3

– X <s ' _ × æ4 ¤$

í – > h^ ç \ ß Ho 7 & _ h r > a> ' \ ¦¸ ú Í r Ç – ô Ç> h^ | ½ 9 Ë_ + > h^ HÕ ª õ ‫כ‬ a ' ad ) > > Z h^ | ½ 9 Ë_ + > h^ ] j÷ & 1 xÜ l ¼ Ð ] j½ Éà + ºe .

– A1 , . . ., Ai \ " f: ¤& £

> ñ h^ _ ¸½ Ë + r Ai+1 , É . . ., An \ " f_ > h^ ¸½ Ë× + æ\ þ j@ /ô Ç> hü < a| ' cà ¨ ºe . s

Ä â º a> ' | ½ 9 Ë R_ + Å Ò v H A1 , . . ., Ai _ Ò Åv _ ½ Ë| + ½ 9 Ës + .

• ô Ç> h^ | ½ 9 Ë + rd É Z > a> ' s ü @\ r É a> ' \ Ð# Ã ½ ÉÃ + ºe .

– y> h^ | ½ 9 Ë Ak , i < k ≤ n\ + @ / # Ak ü < r> É h^ ¸½ Ë + rþ É j@ / Ak _ ô Ç> h^ ü < a| ' cà ¨ ºe . s

Ä â º i < k ≤ n\ @ /K {A1 , . . . , Ak−1 , Ak+1 , . . . , Ak } H a> ' | 9 ½ Ë + R_ Ê ê Ð v a ) .

– dZ > a> ' | ½ 9 Ë\ + Ð# à ½ É÷ + rë ß m r É 9 { ì Í ø a> ' | 9 ½ Ë\ + Ð# à ô Ç . – ¢ ¸ r É ô Ç> h^ | 9 ½ Ë` + ¦d Z > H> h^ | 9 ËÜ + ½ ¼ Ð Ð# à ô Ç .

• > h^ | 9 ½ Ëõ + s a> ' | 9 ½ Ëç + \ ß \ Hþ j èü <þ j@ /@ /6 xà £ º\ ¦³ ðr ½ Éà + ºe . \ V) 0..*: 0s j þ ès ¦þ j@ / H] jô Çs \ O .

– # Q> h_ d Z > > h^ | 9 ½ Ëõ + a| ' cà ¨ ºe . 4


• € •ô Â? Ǜ a> ' | ½ 9 Ă‹@ + /Â’ \  s ` ‍כ‏ ÂŚd Z ” > > h^ ‰| 9 ½ Ă‹_ + Ă— ĂŚ5 q$ Ă…

Ăœ Ă­ Ÿ– Ă? 6 x½  Ă‰Âş + Ăƒe ” . € •ô Â? Ǜ a> ' | 9 ½ Ă‹_ + 5 q$ Ă…

Ăƒ Ă­ Âş & “ h ÂŚ, s | 9 ½ Ă‹s + d Z ” › > a> ' \  Í –‚ Ă&#x; Ă?# Ăƒ ÂŒ d € Z ” > > h^ ‰| ½ 9 Ă‹_ + Ă— ĂŚ5 q$ Ă…

Ăœ Ă­ Ÿ– Ă? 6 x  Â? H ‍כ‏ s | Ă?f Ăƒ ” .

2.7

E-R { ¢¨ 8 | ý½ ĂŠX s ĂŞ

2.7.1

: gĂ„ Ă˜Ă— Z D

2.7.4

• < KÂ… š‚ Â’ Ă?Z 1. # ĂŒ Q‹ > " h^ ‰ 0 A> h^ ‰| 9 ½ Ă‹_ + ½ ¨$

Ă­ " Âś ĂŠs á &l 0 AĂ´ Ǜ ¸| – › ¸| \  _ Ă´ Ç&

_ ù : > h^ ‰ # Q‹ " "

S ĂŽ ‰ô X Ǜ ¸| ÂŚĂŤ ` –7 Ă&#x; ¤½ ĂĄ É +

Ă„ â Âş • V \) account > h^ ‰| ½ 9 Ă‹_ + account-type 5 q Ă…

\ Ă­ $  Â? rĂŹ É rĂ€ Ă“ – 6 x  \  _ Ă´ Ç&

_ Ăą : 6 x  f ] ” > X h^ ‰\ ÂŚ rĂ€ ĂŹ Ă“ Â? H

Ă„ â Âş

• _ > h^ ‰| ½ 9 ˓ + r| É ½ 9 Ă‹? + /_ Â? r> É h^ ‰[ tĂľ Ăž # Q ~ " ‹ Ă“Z ½ Ăœ O Ÿ– Ă?½ ¨Ï rá &Â? Hh >^ ‰[ t_ Ăž 0 AĂ• ÂŞĂ’ ¨` ÂŚ 9 | Ăƒ Âşe ” .

• < KÂ… š‚ Â’ Ă?Z 2. # ĂŒ Q‹ > " h^ ‰ s Âœ_ Š 0 A> h^ ‰ 9 | ½ Ă‹_ + ½ ¨$

Âś Ă­ " ĂŠs á &l 0 AĂ´ Ǜ ¸|

• > h^ ‰| 9 ½ Ă‹? + /\  0 AĂ• ÂŞĂ’ ¨` ÂŚ ž ÂşÂ? HĂľ &

` ù ŒT z& P ª(specialization) ô Ç .

– & h P (disjoint): Ă´ Ç> h^ ‰Â? Hš ¸f ” _ 0 A ‰| 9 ½ +  Í Ă&#x; qK Ă… H â Âş > h^ Ă‹\ –5 Â?

Ă„

• \ V) person > h^ ‰| 9 ½ ˓ + r É 0 AĂ• ÂŞĂ’ ¨Ăœ Ÿ– Ă? customer, employee\ ÂŚ | Ăƒ 9 Âşe ” . s

Ă„ â Âş customerĂź < employee 0 AĂ• ÂŞĂ’ ¨Â“ r person_ É — ¸ÂŽ H5 q$ Ă…

Ăľ Ă­ y • ÂŒ _ Æ Ă’ 5 q$ Ă…

` í Œ ” .

– ä

ã

(overlapping): Ă´ Â? Ç> h^ ‰ s Âœ_ Š 0 A> h^ ‰| 9 ½ Ă‹\ +  5 q½ Ă… Ă‰Ăƒ + Âşe Â? ” H

Ă„ â Âş • Ă—^ ĂŚ ?] o j€ •› Â? ¸| s l ‘ rs : 9, ĂŹ ro ] j€ •› Â? ¸| “ r EÉ R s # QĂ• ÂŞĂ? ›\ Ăž  " f% i ™y ÂŒ •+ ÂŒ Al Ăž  ù\ \ P  disjoint` ÂŚ Âł Ă°r # ÂŒ p ¡ .

• 0 AĂ• ÂŞĂ’ ¨Â“ r É r ¢ ¸ 0 AĂ• ÂŞĂ’ ¨Ăœ Ÿ– Ă? Ă? tĂƒ Ăź Âşe ” . • E-R s # QĂ• ÂŞĂ? ›\ Ăž  " f[ jĂŹ r oÂ? H ISA Â? H š 6 \` ÂŚ ” % i ™y ÂŒ •+ ÂŒ A½ Ăž ¨$

‍כ‏ Ă­ šÂ™ è– Ă? p ¡ .

• < KÂ… š ‚ Â’ Ă?Z 3. ĂŒ Âœ0 Š A> h^ ‰| ½ 9 Ă‹_ + > h^ ‰ ĂŹ Ă?Ă— ø Âźr 0 A> h^ ‰| 9 ½ Ă‹Ă— + ĂŚ \  5 qK Ă… Â? Ht # ÂŒĂ‚ Ă’ ÂŚ \ ? /Â? H› ¸| , ¢ a„ $

] Ă­ j€ •› Â? ¸| (completeness constraint)

• ISA › a> ' Â? H Â? r´ É ˜– Ăş Ă? Âœ0 Š A9 tA Ăž Ă› Âź(superclass)/ 0 A9 tA Ăž Ă› Âź(subclass) › a> ' “ Υ ¸ô Ç . 2.7.2

– ‡ ŒW > …

Ă° ™ 5 ÂŞ(total generalization): Âœ0 Š A> h ^ ‰| ½ 9 Ă‹_ + — ¸ÂŽ H> h^ ‰ ĂŹ Ă?Ă— ø Âźr 0 A> h^ ‰| 9 Ă‹Ă— + ½ ĂŚ \  5 qK Ă… Â? H

Ă„ â Âş

ø Ç mÂŒ mĂ— ˜ D

• [ jĂŹ r oÂ? H † Ă“d ž O ” [> (top-down desing) ~ Ă“Z ½ s O . ĂŹ Ă?@ ø /– Ă? Ϡ Š Ă“d ž [ ” > O (bottom-up design) ~ Ă“Z ½ ` O ÂŚ 6 x½  Ă‰Ăƒ + Âşe ” .

– É Ù& P ™

Ă° 5 ÂŞ(partial generalization): Âœ0 Š A > h^ ‰| ½ 9 Ă‹_ + > h^ ‰× ĂŚ# Q‹ " 0 A> h^ ‰| 9 ½ Ă‹ + \  Â• ¸5 q Ă… t ¡ §Â? Ăş H> h^ ‰ e ` ” ÂŚĂƒ Âşe Â? ” H

Ă„ â Âş

• \ V) customer > h^ ‰| 9 ½ Ă‹Ăľ + employee > h^ ‰| 9 ½ Ă‹_ + / N: B xĂŹ Â&#x; r— ¸\ ÂŚi v ( Âœ0 Š A9 tA Ăž Ă› Âź person` ÂŚĂŤ –[ Ă&#x; tĂƒ Ăž Âş ” e .

• ¢Â„ a $

] Ă­ j€ •› Â? ¸| \  " fÂ? H Ă‚ Ă’ĂŹ r { 9 ĂŹ Ă? ø o l ‘ rs : 9, „ ^ ‰{ 9 ĂŹ Ă? ø oÂ? H E-R s # QĂ• ÂŞĂ? ›\ Ăž  " f Âœ0 Š A> h ^ ‰ß <% i ™y ÂŒ •+ ÂŒ Al Ăž  ù\ ÂŚÂƒ Â? H‚ ` ÂŚs Ă— ̂ Ăœ Âź – Ă? 6 x  # ÂŒ p ¡ .

• s Ăź < °  s Ăş Âż Âş > h_ > h^ ‰ 9 |½ Ă‹_ + / N: B x ĂŹ Â&#x; r— ¸\ ÂŚ s 6 x  # ÂŒ Âœ0 Š A 9 tA Ăž Ă› Âź\ ÂŚ ĂŤ –× Ă&#x; Âź Â? Ăľ H &

ù ` Œ ™

ð 5 ª(generalization) ô Ç .

• s ] j€ •› Â? ¸| “ r> É h^ ‰\ ÂŚÂś š{ Ăş 9 “ ÂŚ •] ÂŒ j½ ÉM + :%

ò Ă“` ž † ÂŚĂŻ r .

• 9 { ĂŹ Ă? ø oÂ? Hj [ĂŹ r o_ % s i . 9 {ĂŹ Ă? ø oÂ? HĂ„ Âť $

` Ă­ ÂŚ œ› Š y ¸ Â? H s ‍כ‏ “ ÂŚ [ jĂŹ r oÂ? H s h &` ÂŚ y œ› Š ¸ Â? H s ‍כ‏ .

2.7.5

ޜ — ¼× � D

• E-R — ¸4 q“ S r› É a> ' ç –\ Ă&#x;  Â› a> ' \ ÂŚ ? /t 3 wĂ´ l Ç .

• E-R s # QĂ• ÂŞĂ? ›\ Ăž  " fÂ? H{ 9 ĂŹ Ă? ø oĂź <[ jĂŹ r o\ Œ½ ¨Ï r t ¡ §Â? Ăş H . 2.7.3

ø Ç mÂŒ mĂ— ˜ D8 Ă˝< gW l d ºß Ă… g

• §T Âź Ă’ ÂŞ(aggregation)Â? H› a> ' \ ÂŚ Âœ0 Š A> h^ ‰– Ă?2 [/ L ĂĽ Ă‰Ăƒ + ½ Âşe • ” ¸2 ¤K Â&#x; Ă… Ă’Â? HÆ Ă’ Âœ Š ol Z s O .

’ ×V Ò Ë8 R ýV s’ ê × Ò

• E-R s # QĂ• ÂŞĂ? ›\ Ăž  " f: x½ Â&#x; Ă‹ + oÂ? H„ ^ ‰› a> ' \ ÂŚ Hf ” y •+ ÂŒ A\ Ăž  V # , Q p ¡ .

• Š 0 Âœ A 9 tA Ăž Ă› Âź_ 5 q$ Ă…

“ Ă­ r É 0 A 9 tA Ăž Ă› Âź Âœ5 Š q(inĂ… herit)Ă´ Ç “ ÂŚĂ´ Ç . • 0 A9 tA Ăž Ă› ÂźÂ? H¢ ¸ô Ç Âœ0 Š A9 tA Ăž Ă› Âź_ › a> ' \ ÂŚ Âœ5 Š q Ă… Ç Ă´ .

2.8

E-R 6 KT ' [9 cT ­ ÂŽ­ ÂŽW 8 ý‍כ‏ Ç4 r

• Ă› Âźv [ > O ½ ÉM + :Y

t > Ă” t& q h

• Ă&#x; ĂŠ{ – 9 Âœ5 Š q(single inheritance): Ă… _ Âœ0 Š A9 tA Ăž Ă› ŸÍ –` Ă&#x; ÂŚ | 9

Ă„ â Âş

– 5 q$ Å

vs. > Ă­ h^ ‰| 9 ½ Ă‹ + – > h^ ‰| 9 ½ Ă‹ vs. › + a> ' | 9 ½ Ă‹ +

• Ă— ĂŚ Âœ5 Š q(multiple inheritance): # Ă… ÂŒ Q> h_ Âœ0 Š A 9 tA Ăž Ă› Âź\ ÂŚ | 9

Ă„ â Âş

– 3† ӛ ½ a> ' vs. # ÂŒ Q> h_ s ” › a> ' 5


– y ô © Ç> h^ 9½ | Ë vs. + ô Ç a> ' | ½ 9 Ë +

– ç ( ¡ 2. { « 9 ì Í ø o ì ro ] j ¸| õ ¢ a $

í ] j ¸| ` ¦ë 7 ß ¤ á H

Ä â º\ H 0 © A> h^ 9 | ½ Ë` + ¦0 Aô Ç_ s ^ ¦ rë É [ ß tt þ · § ú ¦, y 0 A> h^ | ½ 9 Ë + Õ ª> h^ | ½ 9 Ë_ + ¦Ä »5 q$ Å

í õ 0 © A> h^ | 9 ½ Ë_ + ¸ H5 q$ Å

Ü í ¼ н ¨$

í a ) _ s ^ ¦` ¦ë ß H .

– { ì 9 Í ø o x 6# Â Ò – : x½ Ë + o 6 x #Â Ò 2.8.1

­ W ‫כ‬ Ç4 r m4

• · 4 ÿ 1. 6 x ¹ ‫½כ‬ ¨ Óì ½ r$ , 3 õ Ó t: ü 6 x ‫כ‬ ¹½ ¨ Ó" ½

[ î j" f

• §T ¼ Ò ª: : x½ Ë + o a> ' | 9 ½ Ë` + ¦0 Aô Ç_ s ^ ¦` ¦ë ß H . s _ s ^ ¦ r: É x½ Ë + o a> ' ü < a ' a ) a> ' _ Å Ò v , Ð# à H> h^ | ½ 9 Ë_ + Å Òv , a> ' | 9 ½ Ë_ + 5 q Å

Ü í $ ¼ н ¨$

í a ) .

• · 4 ÿ 2. X <s ' ¸ 4 q` S ¦ × þ ¦, × ô þ ÇX <s ' ¸q 4 S_ > h¥ ` Æ ¦& 6 h x # 6 x ‫כ‬ ¹½ ¨ Ó` ½ ¦X < s ' Z s Û ¼_ > h¥ & Æ Û h ¼v Ð õ H . • · 4 ÿ 3. l 0 x& p ‫כ‬ h ¹½ ¨ © Óì ½ r$ , 3 õ Ó t: l ü 0 x& p h ‫כ‬ ¹½ ¨ Ó" ½

[ î j" f • · 4 ÿ 4. ½ ¨ ³ & – · 4 ÿ 4-1. Ho 7 & [ h > O é > ß – ÿ ·4 4-2. Ó to ü & [ h > O é > ß :

{ 9 ½ ¨$

+ í A þ , ? d /Â Ò$ ¨ © ½ ¸

2.9

E-R ­ W õ §? u _T ÷ §º u z Åò ì ÿ &

• E-R Û ¼v \ ¦ _s ^ ¦ Ð ¨ 8 H{ 9 ì Í& ø h ¶ " ég : Ë ry É > h^ | ½ 9 Ëõ + a> ' | ½ 9 Ë` + ¦ _ _ s ^ ¦ Ð × ß ë ¼ H s ‫כ‬ . • " × ø 5 5 W

T ¼: > Ò h^ _ y 5 q$ Å

í Õ ª5 q$ Å

` í ¦ ? / H\ ` P ¦ë ß H . • » Ðø È 5 5 W

T ¼: Ò ô Ç> h^ | ½ 9 Ë_ + y 5 q$ Å

õ í Õ ª _ ‫כ‬ 7 x5 á q Å a> ' \ e Hy ô © Ç> h^ | ½ 9 Ë_ + Å Òv \ ¦ ½ ¨$

í H5 q$ Å

í Õ ª5 q$ Å

` í ¦ ? / H\ ` P ¦ë ß H . • ¸ ®N

T ¼: Ò a> ' | ½ 9 Ë_ + 5 q$ Å

õ í a> ' | 9 ½ Ë\ + Ð# à H> h^ | 9 ½ Ë_ + Å Òv \ ¦½ ¨$

í H5 q$ Å

í Õ ª 5 q$ Å

` í ¦ ? / H\ ` P ¦ë ß H . – dZ > a> ' | ½ 9 Ë + rX É <s ' × æ4 ¤÷ &Ù ¼ Ð{ 9 Í& ø ì Ü h ¼ Ð _s ^ ¦ Ðë [ ß t þ 9 ‫כ‬ ¹ \ O . – h >^ | 9 ½ Ë A\ + " f> h^ | ½ 9 Ë B + Ð_ @ /{ 9 a> ' | ½ 9 Ë Rs + e Ü ¼ s ` ‫כ‬ ¦_ s ^ ¦ Ð ? /l 0 AK " f H 3> h_ _ s ^ ¦s 9 ‫כ‬ ¹ . M s : A R\ ^ & Ü h ¼ Ð Ð# à _ s ¦ Aü ^ <_ s ^ ¦ R` ¦ ½ ˽ + Éà + ºe . • ¡T ´ ¼¢ Ò ´Å 4 : 4 ] ¤½ Ë5 + q$ Å

` í ¦½ ¨$

í H 0 A5 q$ Å

í D h Ðî r\ ` P ¦ë [ ß t# þ Q p · . s

Ä â º4 ¤½ Ë5 + q$ Å

í ^ H\ P г ð ³÷ & &t · § ú H . •

ä »ê G ±¢ ´Å 4 : ] × æ° ‫כ‬5 ú q$ Å

õ í Õ ª5 q$ Å

\ í 5 qô Å Ç> h^ 9 | ½ Ë_ + Å Òv н ¨$

í a_ ) s ^ ¦` ¦ë ß H . •

ð 5 ª\ ¦_ s ^ ¦ Ð ¨ 8 H~ ÓZ ½ O – ç ( ¡ 1. « 0 © A> h^ | 9 ½ Ë` + ¦ ? / H_ s ^ ¦ y õ 0 A> h^ 9½ | Ë + Õ ª> h^ | 9 ½ Ë_ + ¦Ä »5 q$ Å

õ í 0 © A> h^ | ½ 9 Ë_ + Å Òv н ¨$

í a_ ) s ^ ¦` ¦ë ß H . 6


c °2003, sangjin@kut.ac.kr

• Ăˆ Ă’e ÂŚÂ Ăƒ Âş(tuple variable): • ¸B j“ s — ¸ÂŽ HĂˆ Ă’e ÂŚ_ 9 | ½ Ă‹ + “  Ăƒ Âş – account › a> ' Â? H 7> h_ Ăˆ Ă’e Œ– Ă?½ ¨$

á Ă­ &# Qe ” .

2T 6 ' _9 KT Ăƒ ‘: ~ ÂĄq ç { ÂĄĂˆ ‘ 03

– t\ ÂŚ' Ăˆ Ă? Ă’e ÂŚ` ÂŚ ? /Â? H Ăƒ Âş € , t_ : ¤ ÂŁ

5 Ăą & q$ Ă…

_ Ă­ ° ‍`כ‏ Ăş ÂŚ ? /l 0 AK 6 §þ ÂŁ °  Â“ Ăş r É Âł Ă°l Z ` O ÂŚ 6 xĂ´  Ă‡ .

A. Silberschatz, H. Korth, S. Sudarshan Database System Concepts, Fourth Edition, McGraw-Hill, 2002.

Part I. Data Models

t[> Ă˝ a  ù] = “A-101â€? s Âł Ă°l Z @ O / Â’ ˜ Ă?: x t[1]` Â&#x; ÂŚ 6 xĂ´  Ă‡ . – account › a> ' \ ÂŚ r– Ă? ? /€ t ∈ rs Â? H Âł Ă°l Z ` O ÂŚ 6 x  # ÂŒ t › a> ' r\  5 qĂ´ Ă… Ă‡Ăˆ Ă’e ÂŚ ` ” e ÂŚ p ¡ .

Ă‹4 ž ĂĽ ] Ăš{ k ¢¨ |

3 3.1

Ă‹4 ž ĂĽ ] Ăš6 k KT ' [9 cT ­ ÂŽ8 Ă˝Â? ÂŒ Âş

• ' ›> a Â? H| 9 ½ Ă‹s + Ă™ Ÿ– Ă?Ăˆ Ă’e ÂŚs › a> ' \  Â? H0 A u Â? H Ă Âş _ p \ O .

• ' ›> a + AX Ăž <s ' Z Â…s Ă› ÂźÂ? Hy •y ÂŒ •1 ÂŒ q: l ¤ô ÂŁ Çs 2 §` ÂŁ ÂŚ t Â? H_ Â…s ^ ÂŚ(table)_ — ¸6 §Ăœ ÂŁ Ÿ– Ă?½ ¨$

Â? Ă­ a ) . 3.1.1

• " Âś ĂŠ & • h ¸B j “ (atomic domain): • ¸B j“ _ Âś " ʙ è\ ÂŚ 8s Âœ Š Ă? tĂƒ Ăź Âş\ Â? O H• ¸B j “

M Ă„ Ă˜Â? ] ÂŒ Âş > Ă˝ a  ù A-101 A-102 A-201 A-215 A-217 A-222 A-305

t& " h

ĂŽ Downtown Perryridge Brighton Mianus Brighton Redwood Round Hill

– — ¸ÂŽ H› a> ' _ 5 q$ Ă…

_ Ă­ • ¸B j “ “ rÂś É " ĂŠ & s h # Q Ă´ Ç .

ĂŻĂ“ – Ă&#x; o Â? 500 400 900 700 750 700 350

– • ¸B j “ Ă• ÂŞ ^ ‰˜ Ă? Â? H X <s ' Z Â…s Ă› Âź\  " f Ă• ª• ¸B j “ _ Âś " ʙ è # Qb G> Â? 6 xá  &Ă– Âź 8Ă— Ì‍כ‏ š . • # ÂŒ Q5 q$ Ă…

s Ă­ °  Â“ Ăş r• É ¸B j “ ` ÂŚ | Ăƒ 9 Âşe ” . Â? Ho 7 & › h a& ' (— h ¸ÂŽ H“ ÂŚĂŒ o_ Â? s 2 §)Ăľ ÂŁ Ă“ to Ăź & › h a& ' (ĂŤ h H )\ P \  " f• ¸B j“ ` ÂŚ] X H½ Ă‰Ăƒ + Âşe ” . • — ¸ÂŽ H• ¸B j “ \  5 q½ Ă… Ă‰Ăƒ + Âşe Â? ” HĂ„ Âť{ Ă´ 9 Ç° ‍“כ‏ Ăş r null ° É ‍כ‏ Ăş s .

<Õ ªa > 3.1> account › Ë a> '

3.1.2

• _ Â…s ^ ÂŚ_ \ V: Ă• ÂŞa > 3.1 ‚ Ă‹ Ă?› Ăƒ ¸

6 KT ' [9 cT ­ ÂŽ­ ÂŽW

• › a> ' Ă› Âźv Â? H 6 §þ ÂŁ °  s Ăş p ¡ .

• _ Â…s ^ ÂŚ_ ' ' Ă? Â?\ Â&#x;  Â? Hy •\ ÂŒ _ P K ‰ 8\ ÂŚ p ¡ . s K ‰ 8[ t` Ăž ÂŚ_ Â…s ^ ÂŚ_ 5 q$ Ă…

(attribute)s í ô Ç .

Account-schema = (> ý a  ù, t & " h

, ĂŻ ĂŽ –Ó Ă&#x; o) Â?

• y •5 ÂŒ q$ Ă…

s Ă­ | 9Ăƒ Âşe Â? ” H° ‍_כ‏ Ăş | ½ 9 Ă‹` + Œ– ÂżR cĂŞ >(domain)s Ă´ Ç . \ V) t & " h

_ ĂŽ • ¸B j“ : “ rÂ? É ' Â&#x;_ — ¸ Ht ÂŽ & " h

ĂŽ

˜ Ă? &

S ù ‰ô X ÇÛ Ÿv &

_ Ăą Â? H5 q$ Ă…

s Ă­ 2 §\ ÂŁ \ P  Ă• ÂŞ ‍כ‏ _ • ¸B j “ ` ÂŚÂł Ă°l K Ă´ Ç . • account Account-schema\  Â› aĂ´ ' Ǜ a> ' e ` ” ÂŚ 6 § ÂŁ ° Ăľ  s Ăş p ¡ .

• 9 { ĂŹ Ă?& ø Ăœ h Ÿ– Ă? n> h_ 5 q$ Ă…

` Ă­ ÂŚ t Â? H_ Â…s ^ ÂŚ_ i P :5 q$ Ă…

_ Ă­ • ¸B j “ ` ÂŚ Di € s _ Â…s ^ Œ“ r É 6 § ÂŁ 9 | ½ Ă‹_ + Ă‚ Ă’ĂŹ r| 9 ½ Ă‹s + .

account(Account-schema)

D1 Ă— ¡ ¡ ¡ Ă— Dn−1 Ă— Dn

• branch › a> ' _ Ă› Âźv 6 §þ ÂŁ °  ú “ ÂŚ .

• Ăƒ º† Æ\ <  " fÂŽ ”N ¸ (relation)“ r• É ¸B j “ o Ă› Ÿà Ă”_

Ă˜ Ă” X <r ĂŽ –Y Ă&#x; L(cartesian product)1 _ Ă‚ Ă’ĂŹ r| ½ 9 Ă‹Ăœ + Ÿ– Ă?&

ù _ “ Œe ” . › a> ' + A_ Þ …s ' Z …s Û Ÿ_ _ …s ^ Œ_

_ Ăą & Â? H5 q$ Ă…

\ Ă­  s 2 §` ÂŁ ÂŚĂ‚ Ă’# ÂŒ Â? H ` ‍כ‏ ÂŚ] jĂź @ “ ÂŚ HĂƒ Â? º† Æ\ <  " f› a> ' _ &

_ ù ß <°  ú .

Branch-schema = (t & " h

, t ĂŽ & -• h ¸r , Ă­ –) Ă&#x; branch › a> ' Ăź < account › a> ' \  Â? HĂ‘ t Ăź t & " h

s ĂŽ Â? H5 q$ Ă…

` Ă­ ÂŚ ” . s Ă— ĂŚ4 ¤Â“ Â&#x; r" É f– Ă? Â? r› É a> ' _ Ăˆ Ă’e ΍ –\ Ă&#x;  Â› a> ' \ ÂŚ ? /l 0 AK 6 xÂ?  a ) .

• ¡ ÂĄĂœ Ăş Ÿ– Ă?Â? H _ Â…s ^ ÂŚĂľ ' Â? @ Â&#x; / Â’ \  Â› a> ' Ăź < Ă? Ă™¨ ¡(tu ple)s Â? HÂş ĂƒÂ† Æ < x 6# Q\ ÂŚ 6 xĂ´  Ă‡ .

• “ rÂ? É ' Â&#x;X <s ' Z Â…s Ă› Âź_ — ¸ÂŽ HĂ› Âźv : Ă• ÂŞa > 3.2 Ă‹ – &

: “ Ăą ÂŚĂŒ o" Â?

“ ĂŽ r 1 É q: l ¤ ÂŁ . (" Âś ĂŠg :& Ă‹ Ăœ h Ÿ– Ă?Â? H y •“ ÂŒ ÂŚĂŒ o\ Â?  > “ ÂŚĂ„   ù\ ÂŚĂ‚ Ă’# ÂŒ # ÂŒs ` ‍כ‏ ÂŚ Ă… Ă’v – Ă? 6 xK  ô Ç .)

1Ăƒ º† Æ\ <  " f

Ă˜ Ă”X <r ĂŽ –Y Ă&#x; L_ &

_ Ăą : Âż Âş| ½ 9 Ă‹ AĂź + < B_

Ă˜ Ă”X <r –Y Ă&#x; ĂŽ L“ r 0 É xĂ´ p Ǘ ¸ÂŽ HŠ Âœ (a, b)_ Š | ½ 9 Ă‹` + Ϋ Â˜Ă´ Ăş Ç . # ÂŒl " f a ∈ As “ ÂŚ b ∈ Bs .

1


Account-schema = (> ý a ñ, t & " h

, ï î Ó ß o) Branch-schema = (t & " h

, t î & - h ¸r , í ) ß Customer-schema = ( ¦Ì o"

, î ¦Ì o- o , ¦Ì o- ¸r ) Depositor-schema = ( ¦Ì o"

, > î ý a ñ) Loan-schema = (@ /Ø ¦ ñ, t & " h

, @ î /Ø ¦Ó o) Borrow-schema = ( ¦Ì o"

, @ î /Ø ¦ ñ) <Õ ªa > 3.2> Ë r' É X <s ' Z s Û ¼_ Û ¼v

$

• ' > a _ @ /6 xà £ º\ rÅ É Òv : 2.3.2] X Ð Ã ¸ • d Z > a> ' HZ > ¸_ a> ' \ ¦ë [ ß tt þ · § ú H .

! #

– ' > a | 9 ½ Ë: + a> ' | ½ 9 Ë\ + Ð# Ã H> h^ | 9 ½ Ë + _ Å Òv _ ½ Ë| + 9 ½ Ës + a> ' _ Ã º( v a ) .

+#!%'()!%"* /

!"

<Õ ªa > 3.4> Ë r' É X <s ' Z s Û ¼_ Û ¼v s # QÕ ª Ï þ

!""#$%&'()!%"*

, - .

– _ s ^ ¦_ ½ Ë: A\ + " f B Ð @ /{ 9 s a ' > | 9 ½ Ë R + r A_ É 5 q$ Å

õ í a> ' | 9 ½ Ë_ + 5 q$ Å

í Ü ¼ н ¨$

í a ) _ a> ' Ð> h^ | 9 ½ Ë Aü + < a> ' | 9 ½ Ë R` + ¦ ¸¿ º è qà ­ ºe . s M : > h^ | 9 ½ Ë A_ + Å Òv a> ' _ Å Òv a ) .

• r É ' < Xs ' Z s Û ¼_ E-R s # QÕ ªÏ : Õ þ ªa > 3.3 Ë Ð Ã ¸.

– × æ° ‫כ‬5 ú q$ Å

: í × æ° ‫כ‬5 ú q$ Å

í r> É h^ | ½ 9 Ë¢ + ¸ H a> ' | ½ 9 Ë_ + Å Òv ü < × æ° ‫כ‬5 ú q$ Å

` í ¦ ? / H\ P Ð a> ' \ ¦ë ß H . s M :> h^ | 9 ½ Ë¢ + ¸ H a> ' | ½ 9 Ë_ + Å Òv ü < × æ° ‫כ‬5 ú q$ Å

` í ¦ ? / HD h\ _ P ½ Ë| + ½ 9 Ës + a> ' _ Å Òv a ) .

– account-branchü < loan-branch H Z > ¸ _ s ¦` ^ ¦ë [ ß t þ t· § ú ¦, accountü < loan a> ' \ í Ê < % i . s s ‫כ‬ 0 xô p Çs Ä » H account\ f branch " Ð, loan\ " f branch Ð @ /{ 9 a ' s > 9, y ' > a \ " f accountü < loan r É ^ Ü h & ¼ Ð Ð# à l M :ë Hs .

• E-R Û ¼v \ " f# Q " a> ' r1 ` ¦Ä » ¸Ù ¡` þ ¦M :, s r1 r É r É a> ' r2 _ Å Òv \ ¦5 q$ Å

Ü í ¼ Ð | 9 Ã ºe . s

Ä â ºs 5 q$ Å

` í ¦ r2 \ ¦ Ð Ã ¸ H r1 _ g CÉ Ù o (foreign key) ô Ç . ¢ ¸ô Ç r1 ` ¦ Ð Ã ¸ H a ' > (referencing relation) ¦, r2 \ ¦ Ð Ã ¸ a ) a ' > (referenced relation) ô Ç .

<Õ ªa > 3.3> Ë r' É X <s ' Z s Û ¼_ E-R s # QÕ ªÏ þ

3.1.3

– \ V) Account-schema\ " f “t & " h

” î r BranÉ ch-schema\ ¦ Ð Ã ¸ Hü @Â Òv a ) .

W

• E-R ¸q 4 S\ " f[ " O

ô î ÇÃ º( v , Ê ê Ðv , Å Òv > h¥ Æ r É a> ' + A þ ¸q 4 S\ ¸& 6 h x a ) .

• ' > a _ 5 q$ Å

` í ¦ \ ½ P ÉM + :{ 9 ì Í& ø Ü h ¼ ÐÅ Òv \ ¦½ ¨

í $ H5 q$ Å

` í ¦ © $ \ ô P Ç .

• Rs a> ' Û ¼v { M 9 : R_  Òì r| 9 ½ Ë K R_ + Ê ê Ðv ÷ &l 0 AK " f H r(R)_ ¸ HÈ Òe ¦_ K_ ° ‫כ‬s ú ° t ú · § ú ô Ç . 7 ¤, t1 , t2 ∈ rs £ ¦ t1 6= t2 s t1 [K] 6= t2 [K]s # Q K r_ Ê ê Ðv cà ¨ | ºe .

3.1.4

­ W T # a§ q

• â «o l # aÜ «^ 9 g: X <s ' Z s Û ¼Û ¼v , Å Òv , @Â ü Òv _ _ r$ >

1 í x` p ¦ ¸d o½ ÉM + : 6 x H s # QÕ ªÏ þ

• E-R ¸q 4 S` ¦ a> ' + A þ ¸q 4 S Ð Ë ¨% ` 3 ¦

Ä â ºÅ Òv H 6 §õ £ ° s ú &

ñ a ) .

• Û ¼v s # QÕ ªÏ _ þ ½ ¨$

‫כ‬ í ¹ è

– © yô Ç> h^ 9½ | Ë: > + h^ | 9 ½ Ë_ + Å Òv a> ' _ Òv Å a ) . – ô Ç> h^ | ½ 9 Ë: + ô Ç> h^ | 9 ½ Ë\ + @ /ô Ç a ' > H ô Ç> h^ | 9 ½ Ë_ + 5 q$ Å

õ í Õ ª| 9 ½ Ë_ + d > > Z h^ | 9 ½ Ë_ + Ò Åv \ ¦5 q$ Å

Ü í ¼ Ð . s : M a> ' _ Å Òv Hd Z > > h^ | 9 ½ Ë_ + Å Òv ü < ô Ç> h^ | ½ 9 Ë_ + Â Òì rv _ ½ Ë| + 9 ½ Ës + a ) .

– y a> ' H~ ÌÛ Ã ¼ Ð ? /9, ~ ÌÛ Ã ¼? /Â Ò\ 5 q Å

` í $ ¦ \ ô P Ç . s M :Å Òv ü < r5 É q$ Å

í r É Ð ` ¦s 6 x # ì ro ô Ç . – o¶ ³ ú ð\ ¦s 6 x # ü @Â Òv _ _ r$ >

` í ¦ p · . • Û ¼v s # QÛ ¼Ï õ þ E-R s # QÕ ªÏ _ þ s & h 2


– E-R s Q #Õ ªÏ þ rü É @ Òv _ _ r$ >

` í ¦"

Ñ î þ > ? /t ú § · H .

3.2.1.4 T ¼ Ò

T ¼¥ Ò >ñ o Ñ 5 • T ¼ Ò

T ¼(union) Ò í ß r¿ É º> h_ í ß õ _ ½ Ë| + 9 Ë` + ½ ¦½ ¨K ï r .

– ¼ Ûv s # QÕ ªÏ þ r É a> ' _ @ /6 xà £ º\ ¦ ? /t · § ú H .

3.2

• \ V) r É ' \ > ý a¢ ¸ H@ /Ø ¦` ¦ t ¦e H ¸ H ¦Ì o_ s 2 §` £ ¦¹ Ô 1 .

Ë4 ¾ å 6 ¤

Π ¦Ì o"

(borrower) ∪ Π î ¦Ì o"

(depositor) î

• ¸ ®N 7 Ê Á(relational algebra) H] X d | 9 _ # Q Ð ¢ ¸ H¿ º> h_ a> ' \ ¦{ 9 § Ü 4 ¼ Ð~ Î Ã Õ ª õ ÐD h a> ' \ ¦Ø ¦§ K 4 Å Ò H í Ü ß ¼ н ¨$

÷ í &# Qe . 3.2.1

• ¿ º a> ' rõ s\ ½ Ë| + ½ 9 Ë + í ` ß ¦& 6 h x l 0 AK " f H 6 §¿ £ º ¸| s ë 7 ß ¤÷ á &# Q ô Ç . – ¸| 1. rõ s H° ú rÃ É º_ 5 q$ Å

` í ¦ 4 R ô Ç .

M Ä Ø ] Å ì m

– ¸| 2. r_ i P :5 q$ Å

_ í ¸B j õ s_ i P :5 q$ Å

_ í ¸B j s ° ú ô Ç .

3.2.1.1 ¤ >f n 9 c¥ >ñ o Ñ 5 • n ¤f > 9 c(select) í ß r Å É Ò# Q ¿ >

·# ä a(predicate)\ ¦ë 7 ß ¤ á HÈ Òe ¦` ¦¹ Ô 1 ï r .

3.2.1.5

T ¼¥ Ò >ñ o Ñ 5

• í l ß ñ: σ

T ¼ Ò í ß ¸½ Ë| + 9 ½ Ë + í õ ß ° ú r É ¸| ` ¦ë 7 ß ¤ á ÉM + ½ :\ ë & ß 6 h x½ Éà + ºe .

• \ V) Perryridge t & \ h " f@ /Ø ¦ a ) ¸ H@ /Ø ¦` ¦¹ Ô 1 . σt & " h

=“Perryridge” (loan) î

• \ V) r É ' \ > ý aë e ß ¦@ /Ø ¦ r\ É O H ¸ H ¦Ì o _ s 2 §` £ ¦¹ Ô 1 . Π ¦Ì o"

(borrower) − Π î ¦Ì o"

(depositor) î

• \ V) @ /Ø ¦Ó os 1200 s © ¸ H@ /Ø ¦` ¦¹ Ô 1 .

3.2.1.6

ß ÃP Lk ò Ñ 5 ¹¥ ‫כ‬ >ñ o Ñ 5

σ@ /Ø ¦Ó o>1200 (loan) • q § í ß : =, 6=, <, ≤, >, ≥

ß ÃP Lk ò Ñ 5 ¹ ‫כ‬ í ß r# É Q ¿ " º> h_ a> ' _ &

ñ Ð ¦ \ ½ Ë + HX < 6 x a ) .

• Ho 7 í ß : Ho 7 Y L(∧), Ho 7 ½ Ë(∨), Â + Ò&

(¬) ñ

• í l ß ñ: ×

• \ V) Perryridge t & \ h " f@ /Ø ¦ a@ ) /Ø ¦× æ\ " f@ / ¦Ó Ø o 1200 Ð H ¸ H@ /Ø ¦` ¦¹ Ô 1 .

• ¿ º> h_ a> ' r1 õ r2 H° ú rs É 2 §_ £ 5 q$ Å

` í ¦ | 9 Ã ºe . s ¿ º a> ' _

Ø ÔX <r î Y ß L` ¦½ ¨ l 0 AK " f H $ 5 q$ Å

_ í s 2 §` £ ¦ r &

_ ñ K ô Ç .

σt & " h

=“Perryridge”∧@ î /Ø ¦Ó o>1200 (loan)

– \ V) r = borrower × loan 3.2.1.2 Í Ù· ¥ >ñ o Ñ 5

(borrower. ¦Ì o"

, borrower.@ î /Ø ¦ ñ, loan.@ /Ø ¦ ñ, loan.t & " h

, loan.@ î /Ø ¦Ó o)

• Í Ù· (project) í ß r É a> ' ` ¦» ¤ ¡ è # ^ ¦Ã ºe ¸2 ¤K ï r .

– Ð: x× æ4 ¤÷ &t · § ú Hs 2 § £ r É a> ' s 2 §` £ ¦Ò t q | Ìô Ä Ç .

• í l ß ñ: Π

r

• \ V) loan a> ' _ ¸ HÈ Òe ¦_ @ /Ø ¦ ñü <@ /Ø ¦Ó o ß ë \ K P .

= ( ¦Ì o"

, borrower.@ î /Ø ¦ ñ, loan.@ /Ø ¦ ñ, t & " h

, @ î /Ø ¦Ó o)

Π@ /Ø ¦ ñ,@ /Ø ¦Ó o (loan)

– ë H] j& h • ú ° r É a> ' _

Ø ÔX <r î Y ß L` ¦½ ¨½ É +

â º Ä • í _ ß õ ü < r É a> ' _

Ø ÔX <r Y ß î L` ¦½ ¨½ É +

Ä â º • K Õ : F þ "

" î

(rename) î í ß 6 x

3.2.1.3 ® N ¸ Ì C¥ f >ñ o Ñ 5 +Ü èT q ¼ Ò • í _ ß õ HÕ ª ^ a> ' s Ù ¼ Ð í { ß 9 § 4 Ü ¼ Ð a> ' @ / \ r É í _ ß õ \ ¦ 6 x½ ÉÃ + º e .

• r1 _ È Òe ¦_ Ã º n1 s ¦ r2 _ È Òe ¦_ Ã º n2 s r = r1 × r2 _ È Òe ¦_ Ã º H n1 ∗ n2 s .

• \ V) Harrison r \ Å Ò H ¸ H ¦Ì o_ s 2 §` £ ¦ Ô 1 ¹ .

• \ V) Perryridge t & \ h @ /Ø ¦s e H ¸ H ¦Ì o_ s 2 §` £ ¦¹ Ô 1 .

Π ¦Ì o- ¸r =“Harrison” (customer)) ¦Ì o"

(σ î 3


– ß é> 1. borrowerü < loan_

Ø ÔX <r î Y ß L` ¦ ¨ ½ ¦, Õ ª õ \ " ft & " h

s î Perryridge Òe È ¦` ¦¹ Ô 1 H .

3.2.2

¼ Å ì m

3.2.3.1 ¬ ¨

T ¼¥ Ò >ñ o Ñ 5 • ¬ ¨

T ¼ Ò í ß ¸½ Ë| + 9 ½ Ë + í ` ß ¦& 6 h x l 0 AK ë ß 7 ¤K á H ¸| ` ¦Ø æ7 ¤K á & 6 h x½ Éà + ºe .

σt & " h

=“Perryridge” (borrower × loan) î

• \ V) r É ' \ > ý aü <@ /Ø ¦` ¦ ¸¿ º t ¦e H ¦ o_ Ì s 2 §` £ ¦¹ Ô 1 .

s | 9 _ _ õ \ H borrower.@ /Ø ¦ ñü < loan.@ /Ø ¦ ñ { 9 u t · § ú HÈ Òe ¦s e ¦Ã ` ºe . s ‫כ‬ r_ É p \ O HÈ Òe ¦s .

Π ¦Ì o"

(borrower) ∩ Π î ¦Ì o"

(depositor) î

– é > ß 2. _ p e HÈ Òe ¦ë ß × ô þ Ç . • §| 9 ½ Ë + r É | ½ 9 Ë + í ` ß ¦s 6 x # è qà ­ ºe . r ∩ s = r − (r − s)

σborrower.@ /Ø ¦ ñ=loan.@ /Ø ¦ ñ (σt (borrower × loan)) & " h

=“Perryridge” î

3.2.3.2 ¥ > o ¿ê >¥ >ñ o Ñ 5

– ß é> 3. 0 A| 9 _ _ õ \ " fÄ ºo H ¦Ì o_ 2 s §ë £ ` ß ¦é " ¶ Ù ¼ ÐÆ ÒØ ¦ í ` ß ¦Æ Ò Ð& h xô 6 Ç .

• ¥ > o ¿ê >(natural join) í ß r

É Ø ÔX <r î Y ß Lõ × þ í ` ß ¦ Ð ½ Ëô + Çs Ó ½ í s ß . • í l ß ñ: ./

Π /Ø ¦ ñ=loan.@ /Ø ¦ ñ ¦Ì o"

(σborrower.@ î (σt (borrower × loan))) & " h

=“Perryridge” î

• ¿ º a> ' r(R)õ s(S)_ ¸ r ./ s HÛ ¼v R ∪ S\ @ /ô Ç a> ' s 9, Õ ª&

_ ñ H 6 §õ £ ° ú .

3.2.1.7 = Ã Ã Z ¥ Z >ñ o Ñ 5

r ./ s = ΠR∪S (σr.A1 =s.A1 ∧···∧r.An =s.An (r × s))

• í _ ß õ H a> ' s t ë s ß a> ' Hs 2 §s £ \ O . í _ ß õ \ s 2 §` £ ¦½ É{ + © l 0 AK 6 x H í s ß = à à Z (rename) Z í s ß .

# l " f R ∩ S = {A1 , . . . , An }s . ë ß R∩S = ∅s r ./ s = r × ss . • \ V) r É ' \ " f@ /Ø ¦` ¦~ Î Ã r É ¸ H ¦Ì o_ s 2 §õ £ Õ ª ¦Ì o_ @ /Ø ¦Ó o` ¦½ ¨ .

• í l ß ñ: ρ • \ V) a> ' @ /Ã ºd E_ õ \ ¦ x Ð"

" î

K î .

Π ¦Ì o"

,@ î /Ø ¦Ó o (borrower ./ loan)

ρx (E)

• \ V) r É ' \ > ý a\ ¦ t ¦e ¦ Harrison r \ Å Ò H ¦Ì o` ¦ ¸ Ht & ` h ¦¹ Ô 1 .

• \ V) a> ' @ /Ã ºd E_ õ \ ¦ x Ð"

" î

î ¦, Õ ª ‫כ‬ _ y 5 q$ Å

_ í s 2 §` £ ¦ Ai Ð"

" î

K î .

Πt ¦Ì o- ¸r =“Harrison” ( & " h

(σ î customer ./ account ./ depositor))

ρx (A1 , A2 , . . . , An )(E)

• ¸ í ß r É ½ ËZ + g O :s Ë $

w í n ô Ç .

• \ V) r' É _ > ý a× æ\ ï Ó ß os ´ © § ú r É ` ‫כ‬ ¦¹ Ô 1 .

(r ./ s) ./ t = r ./ (s ./ t) • \ V) r É ' \ > ý aü <@ /Ø ¦` ¦ ¸¿ º t ¦e H ¦ o` Ì ¦¹ Ô 1 .

– ß é> 1. account × account` ¦½ ¨ô ÇÊ ê\ l Ð Hï Ó ß o` ¦ t ¦e H> ý a\ ¦ ¸¿ º¹ Ô 1 H .

Π ¦Ì o"

(borrower ./ depositor) î s ‫כ‬ r É §| 9 ½ Ë + í ` ß ¦s 6 x # ¹ Ô` 1 ¦Ã º ¸e . s % ! 3 a> ' @ /à º\ " f H° ú r É õ \ ¦¹ Ô 1 H# Q AI þ + _ @ /à ºd ` ¦ $

½ í ÉÃ + ºe .

Πaccount.ï Ó ß o (σaccount.ï Ó ß o<d.ï Ó ß o( account × ρd (account)))

• [ j ¸ (theta join): ¸ r¿ É º a> ' _ ° ú r5 É q$ Å

` í ¦l ï rÜ ¼ Ð ‘=’ ¸| Õ t# ü Q\ @ /ô Ç × þ s ß í & 6 h x a ) . [ j ¸ rs É ] jô Ç\ s O

Ø Ô X <r î Y ß Lõ × þ í ` ß ¦ _ í Ü ß ¼ Ð ½ Ë + ÉÃ + ½ ºe ¸2 ¤K ï r . [ j ¸ r ./θ s H 6 §õ £ ° s ú &

_ ñ a ) .

– ß é> 2. account a> ' \ " fï Ó ß oë ` ß ¦Æ ÒØ ¦ô Ç õ ‫כ‬ é > ß 1\ " f% 3 r É õ _ | 9 ½ Ë` + ¦½ ¨ Ä ºo é " ¶ H õ \ ¦% > 3 a ) . Πß ïÓ o (account)− Πaccount.ï Ó ß o (σaccount.ï Ó ß o<d.ï Ó ß o( account × ρd (account)))

r ./θ s = σθ (r × s) 4


Â“ĂŒ ÂŚ o" Â?

ĂŽ Curry Hayes Jones Smith

3.2.3.3 Ă… Ă e ÂĽ >Ăą o Ă‘ 5 • Ă… Ă e (division) ƒ Ă­ –“ Ă&#x; r “— É ¸ÂŽ H âˆź\  â€?s Â? H] ` X ÂŚ Â&#x; í† ĂŠ < Â? H| 9 _ # Q\  & ½ h Ă‹Ă´ + Ă‡Âƒ Ă­ –s Ă&#x; . • ƒ Ă­ –l Ă&#x;  ù: á • S ⊆ R“ Âż º› a> ' r(R)Ăľ s(S) e ` ” ÂŚM :, r á sÂ? H R − S\  @ /Ă´ Ǜ a> ' s 9, # Q‹ Ăˆ " Ă’e ÂŚ t r á s\  5 q Ă… l 0 AK " fÂ? H 6 §¿ ÂŁ º› ¸| ` ÂŚĂŤ –7 Ă&#x; ¤K ĂĄ Ă´ Ç .

6 xF Â KĂ“ o Â? 1750 1500 700 400

<Õ ªa > 3.5> credit-info › Ë a> ' fœ ” " Ê"

ĂŽ Adams Brown Gopal Johnson Loreena Peterson Rao Sato

– › ¸| 1. t ∈ Î R−S (r) – › ¸| 2. ∀ts ∈ s, ∃tr ∈ r s.t • a. tr [S] = ts [S] and • b. tr [R − S] = t • ž Âşl ƒ Ă­ –“ Ă&#x; rl É ‘ rƒ : Ă­ –` Ă&#x; ÂŚs 6 x  # ÂŒÂł ð‰ ³½ & Ă‰Ăƒ + Âş ” e . rás

6 Â’ xĂ´  Ă‡Â• ¸ 2000 1500 6000 2000

= Î R−S (r) − Î R−S ((Î R−S (r) Ă— s) − Î R−S,S (r))

t& " h

ĂŽ Perryridge Perryridge Perryridge Downtown Downtown Downtown Austin Austin

/ 4 Z L# ĂĽ ÂŒ 1500 1300 5300 1500 1300 2500 1500 1600

<Ă• ÂŞa > 3.6> pt-works › Ă‹ a> ' • { 9 ĂŹ Ă? ø oÆ Ă’Ă˜ ÂŚÂƒ Ă­ –_ Ă&#x; + Ad Ăž “ ” r É 6 §þ ÂŁ °  ú .

• \ V) Brooklyn\  0 Au K e Â? ” H— ¸ÂŽ Ht & \ h  > &

` Ăą ÂŚ t “ ÂŚe Â? ” H— ¸ÂŽ H“ ÂŚĂŒ o_ Â? s 2 §` ÂŁ Œš Ă” 1 .

Î F1 ,...,Fn (E)

– Ă&#x; ĂŠ> – 1. Brooklyn r \  0 Au K e Â? ” H— ¸ÂŽ Ht h &

# ÂŒl " f EÂ? H› a> ' @ /Ăƒ Âşd s ” 9, Fi Â? H E_ Ă› Âźv ? /_ 5 q$ Ă…

Ăľ Ă­ ÂœĂƒ Š º– Ă?½ ¨$

Â? Ă­ aĂ­ ) –Õ Ă&#x; td Ăź s ” .

r1 = Î t & " h

(Ďƒt ĂŽ & -• h ¸r =“Brooklynâ€? (branch))

• \ V) Ă• ÂŞa > 3.5\ Ă‹  l Ă• tÂ? Ăź a credit-info › ) a> ' \  " fy •“ ÂŒ ÂŚ o_ Â? ĂŒ z ™“ ÂŒ rĂ´ É Ǖ ¸\ Œ½ ¨ .

– ĂŠ –> Ă&#x; 2. (“ ÂŚĂŒ o" Â?

,t ĂŽ & " h

) Š ĂŽ Âœ Š

Π“ ÂŚĂŒ o" Â?

,Â’ ĂŽ 6 xĂ´  Ă‡Â• ¸âˆ’ 6 xF  KĂ“ o (credit-info) Â?

r2 = Π“ ÂŚĂŒ o" Â?

,t ĂŽ & " h

(depositor ./ account) ĂŽ

• 9 { ĂŹ Ă? ø oÆ Ă’Ă˜ ÂŚÂƒ Ă­ –` Ă&#x; ÂŚ& 6 h x½  Ă‰M + :F "

" ĂŽ

ƒ ĂŽ Ă­ –` Ă&#x; Π ĂŠ < a Â?& 6 h x½  Ă‰Ăƒ + Âşe ” .

– ĂŠ –> Ă&#x; 3. r2 á r1 Π“ ÂŚĂŒ o" Â?

,t ĂŽ & " h

(depositor ./ account)á Î Πt & " h

(Ďƒt ĂŽ & -• h ¸r =“Brooklynâ€? (branch))

Π“ ÂŚĂŒ o" Â?

,(Â’ ĂŽ 6 x  ô• Ç ¸âˆ’ 6 xF  KĂ“ o) as z Â? ™“ ÂŒ rĂ´ É Ǖ ¸ (credit-info) 3.3.2

3.2.3.4 : Ç ¼ a >ù o Ñ 5

Ăš É m4 ] ¤Â• K ¤

• ™

N Â? à ÞÊ Ă (aggregate function): ° ‍_כ‏ Ăş | 9 ½ Ă‹` + ÂŚ{ 9 § 4 Ăœ Ÿ– Ă?~ ĂŽ Ăƒ Ăľ ° ‍`כ‏ Ăş ÂŚĂ˜ Τ K 4 Ă… Ă’Â? H† ĂŠĂƒ < Âş

• ' ›> a @ /Ăƒ Âşd _ ” { 9 Ă‚ Ă’ĂŹ r` ÂŚ e r ” ÂŽ ”N ¸ ÂŁ >ĂŠ o Ă \  : (assignment) a Ç Â? H s ‍כ‏ Âź o # Ă´ Ç

Ă„ â Âş e ” .

• @ /Âł Ă°& h “ | 9 > † ĂŠĂƒ < Âş: sum, avg, min, max, count

• ƒ Ă­ –l Ă&#x;  ù: â†?

• 9 | > † ĂŠĂƒ < ÂşÂ? H° ‍_כ‏ Ăş | ½ 9 Ă‹` + ÂŚ{ 9 § ~ 4 ĂŽt Ăƒ ĂŤ –s Ă&#x; | 9 ½ ˓ + r É

ä Âť ™

T Âź(multiset)s Ă’ .

• \ V) r á s temp1

�

ΠR−S (r)

• Ă— ĂŚ| 9 ½ Ă‹: Ă— + ĂŚ4 ¤á Â&#x; &Â? H° ‍כ‏s Ăş ” rF > ½ Ă‰Ăƒ + Âşe Â? ” H| ½ 9 Ă‹ +

temp2 result

� =

Î R−S ((temp1 Ă— s) − Î R−S,S (r)) temp1 − temp2

• 9 | > † ĂŠĂƒ < Âş\ Œ› a> ' @ /Ăƒ Âşd \ ”  & 6 h x½  Ă‰M + : 6 x  Â? H Ad Ăž + “ ” r É 6 §þ ÂŁ °  ú . G1 ,...,Gn GF1 (A1 ),...,Fm (Am ) (E)

# ÂŒl " f temp1Ăľ temp2Â? H› a> ' Â Ăƒ Âşs .

3.3

ĂŠX ½ sĂĽ ĂŞ Ă‹4 ž 6 • ¤

3.3.1

ø Ç mÂŒ mĂ— ˜ D˜ ŸÝ Ăš s

" HĂ• Â? ¨i Ă’ ç

_ ĂŻ s á &Â? E_ q$ Ă… Ă­s # ÂŒl f Gi ÂŞ l r H 5

“ ÂŚ, Fi Â? H| 9 > † ĂŠĂƒ < Âşs 9, Ai Â? H E_ 5 q$ Ă…

s Ă­ . • \ V) “ rÂ? É ' Â&#x;\  r ç –] Ă&#x; j– Ă?H Ă Âş Â? H— ¸ÂŽ Hf " ” Âś_ ĂŠ 4/ Z L ĂĽ # ÂŒ_ ½ Ă‹` + Œ½ ¨ .

• ™

Ă° 5 ÂŞĂ? Ă™¡ (generalized projection) ƒ Ă­ –“ Ă&#x; rÆ É Ă’Ă˜ ÂŚ o Ă› Ÿà Ă”\  í –Õ Ă&#x; t† Ăź ĂŠĂƒ < Âş\ ÂŚ 6 x+  ½Ăƒ É Âşe • ” ¸2 ¤{ Â&#x; ĂŹ 9 Ă?Æ ø Ă’ ÂŚÂƒ Ă˜ Ă­ –` Ă&#x; ÂŚS ‰ X ÂœĂ´ Š Ă‡Âƒ Ă­ –s Ă&#x; .

Gsum( 4/ Z L# ĂĽ ÂŒ) (pt-works) 5


f" ” œ" Ê

ĂŽ Coyote Rabbit Smith Williams

o Toon Tunnel Revolver Seaview

•r ¸ Hollywood Carrotville Death Valley Seattle

• Ăź @Ă‚ қ ¸ “ ƒ Ă­ –“ Ă&#x; rl É ‘ rƒ : Ă­ Â–Ăœ Ă&#x; Ÿ– Ă? è qĂƒ ­ Âşe ” . r A./ s = (r ./ s)âˆŞ ((r − Î R (r ./ s)) Ă— {(null, . . . , null)}) # ÂŒl " f ÂœĂƒ Š Âş › a> ' {(null, . . . , null)}_ Ă› Âźv Â? H S − Rs .

<Õ ªa > 3.7> employee › Ë a> ' fœ ” " Ê"

ĂŽ Coyote Rabbit Gates Williams

t & " h

ĂŽ Mesa Mesa Redmond Redmond

/ 4 Z L# ĂĽ ÂŒ 1500 1300 5300 1500

3.3.4

• null ° ‍`כ‏ Ăş ÂŚÂ&#x; í† ĂŠĂ´ < Çí –Õ Ă&#x; td Ăź _ ” Ăľ Â? H nulls . • null ° ‍`כ‏ Ăş ÂŚÂ&#x; í† ĂŠĂ´ < Çq “ §d _ ” Ăľ Â? H unknowns . • unknown` ÂŚÂ&#x; í† ĂŠĂ´ < ÇÂ? Ho 7 Y L_ Ăľ Â? H unknowns .

<Õ ªa > 3.8> ft-works › Ë a> '

• unknownĂľ ‚ Ă?_ Ăƒ Â? Ho 7 ½ ˓ + r‚ É Ă?s Ăƒ 9, unknownĂľ f Âą _ Â? Ho 7 ½ ˓ + r unknowns É .

• Ă&#x; ̀ – •| Â? 9 > † ĂŠĂƒ < Âş\ ÂŚ& 6 h x½  Ă‰M + :Ă— ĂŚ4 ¤á Â&#x; &Â? H° ‍`כ‏ Ăş ÂŚ] j “ ÂŚz ¡Ăœ Ÿ€ “-distinctâ€?\ Π ĂŠĂƒ < Âşs 2 §= ÂŁ Q\ ĂĽ  ¡ ­ ÂĄ “ .

• y •ƒ ÂŒ Ă­ –\ Ă&#x;  " f null ° ‍כ‏¢ Ăş ¸Â? H unknown_ % ƒo ~ Ă“Z ½ O – ‚× ˜: › Ăž ¸| Ă• t# Ăź Q\ ÂŚ & 6 h xĂ´  Ă‡ Ăľ ° ‍כ‏s Ăş unknown ¢ ¸Â? H f s Âą € Ăľ \  Â&#x; í† ĂŠá < &t ¡ § Ăş H Â? . – › ¸ “ : › ¸ “ “ r

É Ă˜ Ă”X <r ĂŽ –Y Ă&#x; LĂľ ‚ Ă— ˜ƒ Ăž Ă­ –` Ă&#x; ÂŚ – Ă?½ Ă‹Ă´ + Ç s ‍כ‏ Ă™ Ÿ– Ă?‚ Ă— ˜ƒ Ăž Ă­ –\ Ă&#x;  Â? r É . – Æ Ă’Ă˜ ÂŚ: Æ Ă’Ă˜ ÂŚÂƒ Ă­ –“ Ă&#x; rĂ— É ĂŚ4 ¤` Â&#x; ÂŚ] j ½ ÉM + : null ° ‍כ‏ Ăş ÂŚ ` Â? r° É ‍כ‏þ Ăş 1 x{ l 9 > 2 [/ LĂ´ ĂĽ Ç . ĂŤ –€ Ă&#x; •Æ Â? Ă’Ă˜ ÂŚ Ăľ Âż ÂşĂˆ Ă’e ÂŚs — ¸ÂŽ H€ 9 Ă— Âź_ ° ‍כ‏s Ăş °  Ăœ Ăş Ÿ€ Ă• ÂŞ ĂŚ\ Ă—  null ° ‍כ‏s Ăş e ~ ” \ ~ O Ă— ĂŚ4 ¤Â? Â&#x; aĂˆ ) Ă’e Œ– Ă?ç – Ă&#x; Ă… Ă’Ă´ Ç . Ă‹| 9 ½ + Ă‹, “ §| 9 ½ + ÂŚÂƒ –þ °  ú – ½ + Ă‹, | 9 ½ + Ă‹: Æ Ă’Ă˜ Ă­ Ă&#x; . – { 9 ĂŹ Ă? ø oÆ Ă’Ă˜ ÂŚ: { ĂŹ 9 Ă? ø oÆ Ă’Ă˜ ÂŚ\  " fĂ­ –Õ Ă&#x; td Ăź “ ” r¡ É ÂĄ Ăş " fƒ / LĂ´ ĂĽ Ç Ăľ ‍כ‏ °  s Ăş > Ă­ –á Ă&#x; &9, Æ Ă’Ă˜ Œ“ rÆ É Ă’Ă˜ ÂŚ Ă­ ƒ –þ Ă&#x; °  ú . – | 9 > : 5 q$ Ă…

` Ă­ ÂŚl ĂŻ rĂœ Ÿ– Ă?Ă• ÂŞĂ’ ¨i

½ ç ÉM + :Æ Ă’Ă˜ ÂŚÂƒ –þ Ă&#x; Ă­ °  Â“ Ăş r~ É Ă“Z ½ Ăœ O Ÿ– Ă? null ° ‍`כ‏ Ăş ÂŚ2 [/ LĂ´ ĂĽ Ç .

• \ V) r ç –] Ă&#x; j– Ă? Ă H Âş Â? Hf " ” Âśs ĂŠ e Â? ” Ht & _ h Ăƒ Âş\ ÂŚ ½ ¨ . Gcount-distinct(t & " h

) (pt-works) ĂŽ • \ V) y •t ÂŒ & Z h r > ç –] Ă&#x; j– Ă?H Ă Âş Â? H— ¸ÂŽ Hf Âś ” " ĂŠ_ 4 Z / L# ĂĽ ÂŒ_ ½ Ă‹` + Œ½ ¨ . 4/ Z L# ĂĽ ÂŒ) (pt-works) & t " h

Gsum( ĂŽ

• \ V) y •t ÂŒ & Z h r > ç –] Ă&#x; j– Ă?H Ă Âş Â? H— ¸ÂŽ Hf Âś ” " ĂŠ_ 4 Z / L# ĂĽ ÂŒ_ ½ Ă‹Ăľ + y ÂŒ •t & \ h  " f  Âœ Š H 4/ Z L# ĂĽ ÂŒÂ? H\ O “ t ½ ¨ . t & " h

Gsum( ĂŽ 4/ Z L# ĂĽ ÂŒ) as 4/ Z L# ĂĽ ÂŒ½ Ă‹, max( + 4/ Z L# ĂĽ ÂŒ) as Ăž j@ / 4/ Z L# ĂĽ ÂŒ(

pt-works) 3.3.3

Null Š †

Ă‹4 ž ĂĽ 6 • ¤ÂŽ Ă…Â? ĂŹ m8 ˜ ý– ¤Â? Ă…Ă… Ă’ Ă˜ U Ăź

3.4

ݔ 8 Âź ÂşĂ&#x; Ăƒ Ă…

• Ă„ º‚ Ă­ H0 A 1. ĂŠ –† Ă&#x; Ă“Âƒ ½ Ă­ – Ă&#x; : Ďƒ, Î , Ď

• Ă• ÂŞa > 3.7Ăľ Ă‹ Ă• ÂŞa > 3.8_ Ă‹ employeeĂź < ft-works › a> ' _ ƒ › ¸ “ ` ÂŚ € SmithĂź < Gates\  Â› aÂş ' Â? a& )

Ăą ˜ Ă?Â? H% t 3 \ ÂŚ3 wĂ´ l Ç . s % ƒ! ž 3 Âş| ĂŒÂ? Ăƒ a& )

˜ Ăą Ă? e ` ” ÂŚ M : 6 x  Â? H s ‍כ‏ g CÉ Ă™Âœ ¿ê >(outer join)s .

• Ă„ º‚ Ă­ H0 A 2. Y L! rƒ l Ă­ – Ă&#x; : Ă—, ./, ./θ • Ă„ º‚ Ă­ H0 A 3. | ½ 9 Ă‹Âƒ + Ă­ – Ă&#x; : âˆŞ, ∊, −, á • s † Ă“Âƒ ½ Ă­ –_ Ă&#x;

Ă„ â Âş Ă„ º‚ Ă­ H0 A °  Ăœ Ăş Ÿ€ ¢ aA , ¤\ ĂĄ  " f š ¸Â? rA É ¤Ăœ ĂĄ Ÿ– Ă?¨

Â? ĂŽ a ) .

• Ăź @Ă‚ қ ¸ “ _ [ j t + AI Ăž – ÂŒÂĽ ´g CÉ Ă™Âœ ¿ê >(A./): ƒ › ¸Â“ ` ÂŚĂ´ ÇÊ ĂŞ\  a8 Ă˝ ¤Â› ÂŁ a> ' \  Â› ¸ “ t 3 wĂ´ l Ǘ ¸ÂŽ HĂˆ Ă’e ÂŚ` ή Ă’ Ă´ Ç . s M :° ‍כ‏s Ăş \ Â? O H5 q$ Ă…

“ Ă­ r null ° É â€Ť×›â€ŹĂœ Ăş Ÿ– Ă? ĂŽ G r .

• \ V) R âˆŞ ĎƒS ./ T ≥ R âˆŞ (Ďƒ(S) ./ T )

6 KT ' [9 cT ­ ÂŽ8 ý• ¤X Ă‹ N

3.5 3.5.1

– Ă Ă‹ÂĽ ´g CÉ Ă™Âœ ¿ê >(./@): ƒ › ¸Â“ ` ÂŚĂ´ ÇÊ ĂŞ\  º8 Ă„ ¤Â› ÂŁ a> ' \  Â› ¸ “ t 3 wĂ´ l Ǘ ¸ÂŽ HĂˆ Ă’e ÂŚ` ή Ă’ Ă´ Ç . s M :° ‍כ‏s Ăş \ Â? O H5 q$ Ă…

“ Ă­ r null ° É â€Ť×›â€ŹĂœ Ăş Ÿ– Ă? ĂŽ G r .

V l< c g

• Âş Ă?V Ç  (deletion)\ ÂŚ ' ›> a @ /Ăƒ Âşd Ăœ ” Ÿ– Ă? Âł ð‰ Âł & € 6 §þ ÂŁ °  ú . r â†?r−E # ÂŒl " f r“ r› É a> ' s “ ÂŚ EÂ? H› a> ' @ /Ăƒ Âşd s ” .

– ĂŹ ¾Œ ” >g ‡ CÉ Ă™Âœ ¿ê >(A./@): ƒ › ¸Â“ ` ÂŚĂ´ ÇÊ ĂŞ\  ÂœA ÂŞ € ¤Â› ĂĄ a> ' \  Â› ¸ “ t 3 wĂ´ l Ǘ ¸ÂŽ HĂˆ Ă’e ÂŚ` ή Ă’ Ă´ Ç . s M :° ‍כ‏s Ăş \ Â? O H5 q$ Ă…

“ Ă­ r null ° É â€Ť×›â€ŹĂœ Ăş Ÿ– Ă? ĂŽ G r .

• Smith_ — ¸ÂŽ H> Ă˝ a&

˜ Ăą Ă?\ ÂŚ •] ÂŒ jK . depositor â†? depositor − ĎƒÂ“ ÂŚĂŒ o" Â?

=“Smithâ€? (depositor) ĂŽ 6


qÉ ‫כ‬ ø m

3.5.2

• Â Ó\ ¦&

_ ñ X <s ' Z s Û ¼ H Ð: x Ó\ ¦> í ß # D h Ðî r_ s ^ ¦` ¦ë [ ß tt þ · § ú ¦, Õ ª _ ‫כ‬ &

_ ñ $ ß ë ô © Ç . × æ\ Õ ªÂ Ó\ ¦ a> ' @ /à ºd \ " f 6 x Õ ªÂ Ó_ s 2 §@ £ / \  Ó\ ¦&

_ ñ ô Ç a> ' d Ü ¼ Ð@ /^ ÷ &# Q¨

î a ) .

• M Õ ±

(insertion)` ¦' > a @ /à ºd Ü ¼ г ð ³ & 6 §õ £ ° ú . r ←r∪E # l " f r r É a> ' s ¦ E H a> ' @ /à ºd s .

• Â Ó\ ¦&

_ ñ  Ó\ ¦> í ß # D h Ðî rX <s ^ ¦` ¦ [ ß ë t# þ Q$ © HX <s ' Z s Û ¼ ¸e . s Â Ó ¦ \

W ªÉ Ú(materialized view) 9, s X < s ' Z s Û ¼\ " f HÂ Ó ³F & I © \ ¦> 5 qì Å Í% ø

ò ¸2 ¤> 5 qÌ Å t q K ô Ç . s \ ` O ¦Â ÓÄ » t Ðà º(view maintenance) ô Ç .

• Smith Perryridge t & \ h > ý a ñ A-973s ¦ï Ó ß os 1200 > ý a\ ¦ t ¦e H&

ñ Ð\ ¦ X <s ' Z s Û ¼\ Æ Ò K . account ← account ∪ {(“A-973”,“Perryridge”,1200)} depositor ← depositor ∪ {(“Smith”,“A-973”)}

3.6.2

•  Ó\ ¦: xK X <s ' Z s Û ¼\ ¦Ì t q  Óü < aº ' az ) ´] j a> ' [ t þ ¸Ì t q ÷ & ¸2 ¤K ô Ç . s M : Â Ó H Ð: xl r > a> ' _ » ¤ ¡ è a+ ) AI þ s Ù ¼ Ðz ´] j a> ' \ ¦Ì t q l 0 AK ‫כ‬ 9 ¹ô Ç ¸ H&

ñ Ð \ ` O ¦ Ã ºe .

Þ

n à Å

3.5.3

• j »é >(update)` ¦ a> ' @ /à ºd Ü ¼ г ð ³ & 6 § £ ° õ ú . r ← ΠF1 ,F2 ,...,Fn (r)

• Â Ó\ ¦: xô ÇÌ t q _ ¿ º t ] H X ~ ÓZ ½ O

# l " f r r É a> ' s 9, r_ i P :5 q$ Å

_ í ° ‫כ‬s ú

÷ â &t · §Ü ú ¼ Fi H5 q$ Å

` í ¦ ? /9,

÷ â & à © ºü <5 q$ Å

Ü í ¼ н ¨$

í aí ) Õ ß td ü s .

– ~ ÓZ ½ 1. Á O º ¸| Â Ò – ½ ~Z Ó 2. z O ´] j a> ' \ ¦Ì t q ÷ &\ O H&

ñ Ð H null ° ‫`כ‬ ú ¦ 6 x # G î r .

• ¸ H> ý a\ @ /K 5%_ s \ ¦t / LK å .

• @ /Â Òì r_ X <s ' Z s Û ¼ H~ ÓZ ½ 1` O ¦ 6 xô Ç .

account ← Π> ý a ñ,t & " h

,ï î Ó ß o*1.05 (account)

3.6

3.6.3

½

 ¥ \ ½õ §T u Þ Ó # bX Ë8 N ý ¢ X ½

•  ÓS X (view expansion): ô © Ç Ó\ ¦s 6 x # D h Ð r î Ó\ ¦&

_ ñ H ‫כ‬

• Ðî ë ß H] jM :ë H\ # Q " 6 x \ > HX <s ' Z s Û ¼_ { 9 Â Òë ] ß H X ½ ÉÃ + ºe ¸2 ¤K ô Ç .

• Â Ó HF ) & (recursively)Ü h ¼ Ð&

_ ñ ½ ÉÃ + º\ O .

• É Ú(view): 6 x \ > ] j/ N B aX ) <s ' Z s Û ¼_ H 7 o ¸q 4 S\ 5 q Å t · § ú H © a> '

¼þ §å u Ë4 ¾ A 0V Ä

3.7 3.6.1

½õ § u Þ ¢n X Þ

Å Ã

½8 ýX Ë8 N ý

• ' > a @ /Ã ºd r] É X d # Qs t ë È ß Òe ¦ a> ' K $ (tuple relational calculus) 3 rq É ] X d # Qs .

• Â Ó H create view ë H ` © ¦s 6 x # &

_ ñ ô Ç .

• ' > a @ /Ã º H í 0 ß AÅ Òs 9, a> ' K $ 3 r& É

ñ Ð0 A Å Òs .

• create view ë H _ © + Ad þ create view v as hquery expressioni

• È Òe ¦ a> ' K $ \ 3 " f| 9 _ _ + Ad þ r É 6 §õ £ ° ú .

# l " f v HÂ Ó_ s 2 §s £ .

{t|P (t)}

• \ V) t & õ h ¦Ì o"

Ü î ¼ н ¨$

í a ) Ó

7 ¤, £ ¸| Õ t# ü Q P\ ¦ë 7 ß ¤ á HÈ Òe ¦_ | ½ 9 Ë` + ¦´ ô ú Ç .

create view all-customer as Πt & " h

, î ¦Ì o"

(depositor ./ account)∪ î Πt & " h

, î ¦Ì o"

(borrower ./ loan) î

3.7.1

ù Ç m8 ý8 ý; d

• \ V) @ /Ø ¦Ó os 1200 s © @ /Ø ¦` ¦¹ Ô 1 .

• É Úÿ ?: Ç ¥ a >ñ o Ñ 5 + l \

{t | t ∈ loan ∧ t[@ /Ø ¦Ó o] > 1200}

– C&

ñ í ` ß ¦s 6 x # D h\ v> ë ß H' > a H aº ' a> ' _ X <s '

÷ â &# Q ¸ t § ú · H .

• 9 { Â Ò5 q$ Å

ë í ` ß ¦· ú ¦z · r É

Ä â º\ H 6 §³ £ ðl Z O ¦ ` 6 xô Ç . ∃t ∈ r(Q(t))

– Ó Â HÕ ª ` ‫כ‬ ¦ 6 x½ ÉM + : D h\ v> ¨

÷ î & Q # 6 x÷ & H s ‫כ‬ Ù ¼ РÓ\ ¦ë [ ß tl þ 0 AK x 6 a ) a> ' _X <s '

÷ â & Â Ó ¸ Êa <

â a ) .

a> ' r\ Õ t# ü Q ¸| Q\ ¦ë 7 ß ¤ á H# Q È " Òe ¦s F r > ô Ç . 7


• \ V) @ /Ø ¦× æ@ /Ø ¦Ó os 1200 s © @ /Ø ¦_ @ /Ø ¦ ñ\ ¦¹ Ô 1 .

– s[x]Θu[y]: sü < u HÈ Òe ¦s 9, xü < y H sü < uy y \ &

_ ñ a5 ) q$ Å

s í . Θ Hq § í ß (=, 6=, <, ≤, >, ≥)s 9, xü < y_ ¸B j rs É 5 q$ Å

\ í _ K q §| cà ¨ ºe # Q ô Ç .

{t | ∃s ∈ loan(t[@ /Ø ¦ ñ] = s[@ /Ø ¦ ñ]∧ s[@ /Ø ¦Ó o] > 1200)}

– s[x]Θc: s HÈ Òe ¦s ¦, x H s\ &

_ ñ a5 ) q$ Å

í s . c H x_ ¸B j \ 5 qô Å Ç Ã © ºs .

t H@ /Ø ¦ ñ5 q$ Å

\ í @ /K " fë q ß §÷ &Ù ¼ Ð@ /Ø ¦ ñ\ ë ² ß Gô D Ç a ) .

• s " ¶ é [ t` þ ¦ 6 §½ £ ©g :\ Ë & 6 h x # È Òe ¦ a> ' ` d ¦ë ß H .

• \ V) Perryridge t & \ h " f@ /Ø ¦` ¦~ Î Ã r É ¸ H ¦Ì o _ s 2 §` £ ¦¹ Ô 1 .

– ¶ " é HÈ Òe ¦ a> ' d s . – P1 s È Òe ¦ a> ' d s ¬P1 õ (P1 ) ¸È Òe ¦ a> ' d s .

{t | ∃s ∈ borrower(t[ ¦Ì o"

] = s[ î ¦Ì o"

]∧ î ∃u ∈ loan(u[@ /Ø ¦ ñ] = s[@ /Ø ¦ ñ]∧ u[t & " h

] = “Perryridge”))} î

– P1 õ P2 È Òe ¦ a> ' d s P1 ∨P2 , P1 ∧P2 , P1 ⇒ P2 ¸È Òe ¦ a> ' d s .

• \ V) r' É \ > ý a e @ /Ø ¦` ¦~ Î Ã r É ¸ H ¦ o_ Ì s 2 §` £ ¦¹ Ô 1 .

– P1 (s) Ä » Ã º s\ ¦ í Ê < HÈ Òe ¦ a> ' s d ¦ rs a> ' s 6 § £ rÈ É Òe ¦ a> ' d s . ∃s ∈ r(P1 (s))

{t | ∃s ∈ borrower(t[ ¦Ì o"

] = s[ î ¦Ì o"

])∨ î ∃u ∈ depositor(t[ ¦Ì o"

] = u[ î ¦Ì o"

])} î

∀s ∈ r(P1 (s))

• \ V) r' É \ > ý aü <@ /Ø ¦` ¦¸ ¿ º t ¦e H ¸ H ¦Ì o_ s 2 £ §` ¦¹ Ô 1 .

• È Òe ¦ a> ' d _ 1 x1 l x$ p

í – P1 ∧ P2 ≡ ¬(¬(P1 ) ∨ ¬(P2 ))

{t | ∃s ∈ borrower(t[ ¦Ì o"

] = s[ î ¦Ì o"

])∧ î ∃u ∈ depositor(t[ ¦Ì o"

] = u[ î ¦Ì o"

])} î

– ∀t ∈ r(P1 (t)) ≡ ¬∃t ∈ r(¬P1 (t)) – P1 ⇒ P2 ≡ ¬(P1 ) ∨ P2

• \ V) r É ' \ > ý aë ` ß ¦ t ¦e H ¸ H ¦Ì o_ s 2 §` £ ¦¹ Ô 1 .

3.7.3

» ôÅ k Ä8 ý m ÅV ¹ Ë R

• 6 §õ £ ° ú rÈ É Òe ¦ a> ' K $ ³ 3 ð ³d & rÁ É ºô Ç a> ' ¦Ò \ t$ q

½ í ÉÃ + ºe .

{t | ∃s ∈ depositor(t[ ¦Ì o"

] = s[ î ¦Ì o"

])∧ î ¬∃u ∈ borrower(t[ ¦Ì o"

] = u[ î ¦Ì o"

])} î

{t | ¬(t ∈ loan)} 3.7.2

¤] ¡X K ÄX ì Ë8 N ý

loan a> ' \ 5 q Å t · § ú HÈ Òe ¦s ê Í? ø

• È Òe ¦ a> ' K $ _ 3 ³ ð ³d & _ + AI þ H 6 §õ £ ° ú .

• s ë H] j\ ¦K l 0 AK È Òe ¦ a> ' d _ ¸B j s H> h¥ ` Æ ¦ 6 xô Ç . P _ ¸B j r É 6 §õ £ ° s ú ³ ðl 9, dom(P )

{t|P (t)} # l " f t HÈ Òe ¦ Ã ºs ¦, P HÈ Òe ¦ a> ' d (tu ple relational formula)s .

P Ð Ã ¸ H° ‫_כ‬ ú | 9 ½ Ë` + ¦ p · . ° ‫_כ‬ ú | 9 ½ Ë + \ í Ê÷ < & H ‫כ‬ r P\ É " f Ð Ã ¸ H a> ' _ È Òe ¦ _ ° ‫כ‬õ ú P ^ \ " f 6 x H° ‫כ‬s ú .

• È Òe ¦ a> ' d ? /\ H# QÈ Òe ¦ Ã º\ ¦ 6 x½ ÉÃ + º e .

• \ V) 6 §È £ Òe ¦ a> ' d _ ¸B j r? É

• È Òe ¦ Ã º ∀ ¢ ¸ H ∃ Ðô Ç&

÷ ñ &t · §Ü ú ¼ Ä » à º(free variable) ¦, ô Ç&

ñ a ) Ã º Hô Ç&

ñ Ã º(bound variable) ô Ç .

dom(t ∈ loan ∧ t[@ /Ø ¦Ó o] > 1200) 1200õ loan a> ' _ 1 x p © H ¸ H° ‫כ‬ ú

• \ V) 6 §\ £ " f t H Ä » Ã ºs ¦, s Hô Ç&

ñ Ã º s .

• \ V) 6 §È £ Òe ¦ a> ' d _ ¸B j r? É

t ∈ loan ∧ ∃s ∈ customer(t[ ¦Ì o"

] = s[ î ¦Ì o"

]) î

dom(¬(t ∈ loan)) loan a> ' _ 1 x p © H ¸ H° ‫כ‬ ú

• È Òe ¦ a> ' K $ \ 3 " fÈ Òe ¦ a> ' d r¶ É " é (atom) Ð ½ ¨$

÷ í &9, Õ ª _ ‫כ‬ + AI þ H 6 §õ £ ° ú .

• ³ ð ³d & _ õ \ 1 x p © H ¸ H° ‫כ‬s ú Õ ª³ ð ³d & _ ¸B j \ 5 q Å Õ ª³ ð ³d & rî É ß ¦ô Ç . " f {t | ¬(t ∈ loan)} Hî ß t · § ú .

– s ∈ r: s HÈ Òe ¦s ¦, r r É a> ' s . 6∈ í ß H) 6 x t · § ú H . 8


3.7.4

Å# ¹ a8 ý » ô «I Ö í Ä

• È Òe ¦ a> ' K $ 3 # Q H a> ' @ /à º_ l r : í Ü ß ¼ н ¨$

í a ) # Q г ð ³½ & Éà + ºe H ¸ Hë H ` © ¦³ ð ³½ & Éà + ºe .

9


Account-schema = (> ý a  ù, t & " h

, ĂŻ ĂŽ –Ó Ă&#x; o) Â? Branch-schema = (t & " h

, t ĂŽ & -• h ¸r , Ă­ –) Ă&#x; Customer-schema = (“ ÂŚĂŒ o" Â?

, “ ĂŽ ÂŚĂŒ o- Â? o , “ ÂŚĂŒ o-• Â? ¸r ) Depositor-schema = (“ ÂŚĂŒ o" Â?

, > ĂŽ Ă˝ a  ù) Loan-schema = (@ /Ă˜ ÂŚÂ Â Ăą, t & " h

, @ ĂŽ /Ă˜ ÂŚĂ“ o) Â? Borrow-schema = (“ ÂŚĂŒ o" Â?

, @ ĂŽ /Ă˜ ÂŚÂ Â Ăą)

c °2003, sangjin@kut.ac.kr

2T 6 ' _9 KT Ăƒ ‘: ~ ÂĄq ç { ÂĄĂˆ ‘ 04 A. Silberschatz, H. Korth, S. Sudarshan Database System Concepts, Fourth Edition, McGraw-Hill, 2002.

<Ă• ÂŞa > 4.1> “ Ă‹ rÂ? É ' Â&#x;X <s ' Z Â…s Ă› Âź_ Ă› Âźv

Part II. Relational Databases

– from: › a> ' @ /Ăƒ Âş\  " f

Ă˜ Ă”X <r ĂŽ –Y Ă&#x; Lƒ Ă­ –\ Ă&#x;  K { ÂœĂ´ Š Ç . | 9 _ \ ά

ĂŽ l 0 AK Ă’ ÂŽ oK Â? Â? H› a> ' \ ÂŚ \ P l 0 AK 6 xÂ?  a ) . – where: › a> ' @ /Ăƒ Âş\  " f‚ Ă— ˜› Ăž ¸| \  K { ÂœĂ´ Š Ç . from ] \ X  \ Ă´ P Ǜ a> ' _ 5 q$ Ă…

\ Ă­  Â› aĂ´ ' Ç › ¸| Ăœ Ÿ– Ă?½ ¨$

Â? Ă­ a ) .

SQL

4 4.1

0Ă&#x; 9 Ă‹ O

• „ + A& Þ h “ SQL | _ 9 _ + AI Þ

• IBM“ r 1970¸ É @ /Âœ Ă­ĂŹ Ă?\ ø  Sequels Â? H| 9 _ # Q\ ÂŚ > hÂľ Ă? 1 % i .

select A1 , A2 , . . . , An from r1 , r2 , . . . , rm where p

• Ă• ÂŞ sĂŠ ĂŞ> 5 qÂľ Ă… Ă?„ 1 á & SQL(Structured Query Language)– Ă?s 2 §s ÂŁ 7 % 3 .

s SQL | _ 9 Â? H 6 §Â› ÂŁ a> ' @ /Ăƒ º³ ð‰ Âłd & Ăľ ” °  ú .

• 1986¸ ANSIĂź < ISOÂ? H SQL-86s “ ÂŚ Â? H SQL Âł Ă°ĂŻ r` ÂŚÂľ Ă?Âł 1 Ă° % i .

Î A1 ,A2 ,...,An (ĎƒP (r1 Ă— r2 Ă— ¡ ¡ ¡ Ă— rm ))

• s Âł Ă°ĂŻ r“ r> É 5 qS Ă… ‰ X Âœá Š &# Q SQL-89, SQL-92\ ÂŚ 5 g‰ ÂłF & ! Q„ “ É r SQL:1999s .

• SQL | _ 9 _ þ � H› a> ' s .

• SQL_ ½ ¨$

‍כ‏ Ă­ šÂ™ è

4.2.1

– < Xs ' &

_ Ăą ƒ # Q: › a> ' Ă› Âźv &

_ Ăą , › a> ' •] ÂŒ j, › a> ' Âź Ă›v Ăƒ ºù &

• \ V1) @ /Ă˜ ÂŚs e Â? ” H— ¸ÂŽ Ht & _ h s 2 §` ÂŁ Œš Ă” 1 . select t & " h

ĂŽ from loan

– / @ od X ” <s ' › ¸ Â•Âƒ ÂŒ # Q: › a> ' @ /Ăƒ Âşl ĂŹ Ă?Ă´ ø Ç _ 9 | # QĂź <Ă’ Ăˆe Œ› a> ' K $ \ 3  l ĂŹ Ă?Ă´ ø Ç| 9 _ # Q Œ— \ ¸¿ Âş] j/ NĂ´ B Ç . Ă’ ÂŽ oá Â? rĂŤ – Ă&#x; m Âś š{ Ăş 9 , •] ÂŒ j, Ăƒ Âş&

½ Ăą Ă‰Ăƒ + Âşe Â? ” H"

§ Î

` Î Œ] j/ Nô B Ç .

a> ' › Â? H| ½ 9 Ă‹> + hÂĽ s Æ Ă™ Ÿ– Ă?Ă— ĂŚ4 ¤Â? Â&#x; a ) “ ‍כ‏ r› É a> ' \  1 x p  ½ Âœ Š Ă‰Ăƒ + Âş\ O . Ă• ÂŞ Q SQL\  " fÂ? Hl ‘ r& : Ăœ h Ÿ– Ă?Ă— ĂŚ 4 ¤` Â&#x; ÂŚ] j t ¡ §Â? Ăş H . Ă— ĂŚ4 ¤` Â&#x; ÂŚ] j “ ÂŚz ¡Ăœ Ÿ€ select ] X 6 §\ ÂŁ  distinct` ÂŚ 6 xK  ô Ç .

– Â Ó&

_ Ăą – Ă” à ™Ô ½ o‚ Â? ] j# Q: à ԙ ½Ă” o‚ Â? _ r  Â•Ăľ ÂŒ = Q` ĂĽ ÂŚÂł Ă° ½ r Ă‰Ăƒ + Âşe ” .

select distinct t & " h

ĂŽ from loan

– ” eZ Â…n Ă— Âź SQLĂľ 1 x& l SQL: C, C++, JavaĂź h <  Â“ Ăş ° rl É ” rƒ > # Q\  SQL ĂŤ H Âœ` Š ÂŚÂ&#x; í† ĂŠ < Â? H~ Ă“ ½ ` O Z ÂŚ] j/ NĂ´ B Ç .

• distinct_ ĂŹ Ă?@ ø /Â? H alls t ĂŤ – l Ă&#x; ‘ r& : Ăœ h Ÿ– Ă? Ă— ĂŚ4 ¤þ Â&#x; œ› Š a\ ' s O — ¸¿ Âş \ P Ă™ Ÿ– Ă?˜ Ă?: x all“ Â&#x; r É 6 x  t ¡ §Â? Ăş H .

– º à $

: SQL DDL“ í rà É º $

] Ă­ j€ •› Â? ¸| ` ÂŚ"

ĂŽ ½ r Ă‰Ăƒ + Âşe Â? ” H~ Ă“Z ½ ` O ÂŚ] j/ NĂ´ B Ç . – Ă? Ă´ Âś Ç: SQL DDL“ rX É <s ' Z Â…s Ă› Âź] H X Âś Ă?Ă´ Ç ÂŚ" `

r ĂŽ ½ Ă‰Ăƒ + Âşe Â? ” H~ Ă“O ½ Z` ÂŚ] j/ NĂ´ B Ç .

• — ¸ÂŽ H5 q$ Ă…

` Ă­ Œ„ Ă‚ Ă’ \ P “ ÂŚz ¡Ăœ Ÿ€ “*â€? l  ù\ ÂŚ 6 §þ ÂŁ °  s Ăş 6 x½  Ă‰Ăƒ + Âşe ” .

• s  Âœ\ Š  " f SQL\ ÂŚ[ " O

ĂŽ l 0 AK 6 x  Â? H› a> ' Ă› Âźv Â? H 3 ÂœĂľ Š °  ú . Ă• ÂŞa > 4.1 ‚ Ă‹ Ă?› Ăƒ ¸.

4.2

select ¹ Ç n

select from

Ă„ M Ă˜Â? ] ÂŒ Âş

loan.∗ loan

0 A SQL ĂŤ H“ r É 6 §þ ÂŁ °  s Ăş ˜ Ă? ç –Ê Ă&#x; – Ă&#x; >  Â•$ ÂŒ

½ Ă­ É + Ăƒ Âşe ” . select * from loan

• SQL Âł ð‰ Âł_ & l ‘ r½ : ¨Â› ¸Â? H select, from, where_ [ j> h_ ] – X Ă?½ ¨$

Â? Ă­ a ) . – select: › a> ' @ /Ăƒ Âş\  " fÆ Ă’Ă˜ ÂŚÂƒ Ă­ –\ Ă&#x;  K { ÂœĂ´ Š Ç . | 9 _ Ăľ \  Â? H5 q$ Ă…

_ Ă­ 3 q2 l ¤ Â&#x; ÂŚ ` \ P l 0 AK 6 xÂ?  a ) .

• select ] “ X rĂ­ É –Õ Ă&#x; tƒ Ăź Ă­ – Ă&#x; , 5 q$ Ă…

s Ă­ 2 §, ÂŁ ÂœĂƒ Š Âş\ ÂŚ 6 x  Ă‡Ă­ Ă´ –Õ Ă&#x; tÂł Ăź ð‰ Âłd & ` ” ÂŚÂ&#x; í† ĂŠ½ < Ă‰Ăƒ + Âşe ” . ({ ĂŹ 9 Ă? ø oÆ Ă’Ă˜ ÂŚ) 1


• \ V2) — ¸ÂŽ H> Ă˝ a\  5% s \ ÂŚt / LĂ´ ĂĽ Ç Ăľ \ ÂŚÂ˜ Ă?# ÂŒ . select > Ă˝ a  ù,ĂŻ –Ó Ă&#x; o*1.05 Â? from account

4.2.4

< 0ĂŁ Ă‹ĂŁ _ Ă‹ÂŽ _ Ă…Â? ĂŹ m ˜

• SQL“ r › É a> ' ß < 5 q$ Å

` Ă­ ÂŚ F "

" ĂŽ

ĂŽ Â? H B j& m 7 §` ÂŁ ÂŚ ] j/ NĂ´ B Ç . + AI Ăž Â? H 6 §þ ÂŁ °  ú .

s | 9 _ Â? HX <s ' Z Â…s Ă› Âź\ ÂŚĂŒ t q Â’ t ¡ §Â? Ăş H .

" º-s 2 § as D £ h-s 2 § £

where ¹ Ç n

4.2.2

• as ½ ¨Í H“ r select ¢ É ¸Â? H from ] \ X  " f 6 x½  Ă‰Ăƒ + Âşe ” .

• \ V1) Perryridge t & \ h  " f/ @Ă˜ ÂŚÂ? a@ ) /Ă˜ ÂŚĂ— ĂŚ\  " f@ / ÂŚĂ“ Ă˜ os Â? 1200˜ Ă? H — ¸ÂŽ H@ /Ă˜ ÂŚ` Œš Ă” 1 .

• \ V)

select @ /Ă˜ ÂŚÂ Â Ăą from loan where t& " h

=‘Perryridge’ and ĂŽ /Ă˜ @ ÂŚĂ“ o > 1200 Â?

select “ ÂŚĂŒ o" Â?

, ĂŽ (Â’ 6 xĂ´  Ă‡Â• ¸âˆ’ 6 xF  KĂ“ o) as z Â? ™“ ÂŒ rĂ´ É Ǖ ¸ from credit-info

• SQL\  " fÂ? HĂŤ H \ ` P ÂŚ ? /l 0 AK  Â•Â“ ÂŒ r É 6 § Â&#x; Âł Ă°(‘’)` ÂŚ 6 xĂ´  Ă‡ .

• z ´] j– Ă? SQL\  " fÂ? H Ăľ š! Ăź l r ƒ Ă­ – Ă&#x; Ăź < ™ ÂĽ1 D xá l &Ă™ Ÿ– Ă? a> ' › s 2 §s ÂŁ 5 q$ Ă…

s Ă­ 2 §\ ÂŁ  â€˜âˆ’’ l  ù\ ÂŚ 6 x½  Ă‰ + Ăƒ Âş\ O .

• SQL“ r› É a> ' @ /Ăƒ Âş\  " f 6 xĂ´  Ă‡Ăƒ º† Æ& < l h  ù@ / Â’ \  and, or, not` ÂŚ 6 xĂ´  Ă‡ .

4.2.5

• SQL“ rq É “ §Âƒ Ă­ –` Ă&#x; ÂŚ~ > 1 è qĂƒ ­ Âşe • ” ¸2 ¤ beÂ&#x; tween ƒ Ă­ – Ă&#x; \ ÂŚj ]/ NĂ´ B Ç .

• Ăˆ Ă’e ÂŚÂ Ăƒ ÂşÂ? H from ] \ X  as ½ ¨Í H` ÂŚs 6 x  # ÂŒ&

_ ù Ç ô .

• \ V2) @ /Ă˜ ÂŚĂ“ os Â? 1000Ăľ 1500 s \  e Â? ” H@ /Ă˜ ÂŚÂ Â Ăą\ Œš Ă” 1 .

• \ V1) “ rÂ? É ' Â&#x;\  @ /Ă˜ ÂŚ` ÂŚ~ Γ Ăƒ r— É ¸ÂŽ H“ ÂŚĂŒ o\ Â?  @ /K Ă• ÂŞ[ t Ăž _ s 2 §, @ ÂŁ /Ă˜ ÂŚÂ Â Ăą, @ /Ă˜ ÂŚĂ“ o` Â? Œ½ ¨ .

select @ /Ă˜ ÂŚÂ Â Ăą from loan where @ /Ă˜ ÂŚĂ“ o between 1000 and 1500 Â?

select “ ÂŚĂŒ o" Â?

, T.@ ĂŽ /Ă˜ ÂŚÂ Â Ăą, @ /Ă˜ ÂŚĂ“ o Â? from borrower as T, loan as S where T.@ /Ă˜ ÂŚÂ Â Ăą = S.@ /Ă˜ ÂŚÂ Â Ăą

0 A SQL ĂŤ H“ r É 6 §þ ÂŁ °  ú . select @ /Ă˜ ÂŚÂ Â Ăą from loan where @ /Ă˜ ÂŚĂ“ o >= 1000 and @ Â? /Ă˜ ÂŚĂ“ o <= 1500 Â?

• Ăˆ Ă’e ÂŚÂ Ăƒ ÂşÂ? H°  Â“ Ăş r› É a> ' \  e Â? ” HÂż ÂşĂˆ Ă’e ÂŚ` ÂŚq “ §½ É + M :  ÂœĂ„ Š Âť6 x  .

• SQL“ r not between ƒ É Ă­ – Ă&#x; • ¸] j/ NĂ´ B Ç . 4.2.3

š ŸÞ §Ă… u ϕ ¤

• \ V2) Ă­ –s Ă&#x; & # h Q• ¸ Brooklyn r \  0 Au “ ÂŚe ” HĂ´ Â? Çt & _ h Ă­ –˜ Ă&#x; Ă? H— ¸ÂŽ Ht & _ h s 2 §` ÂŁ Œ½ ¨ .

from ¹ Ç n

• \ V1) “ r' É Â?\ Â&#x;  @ /Ă˜ ÂŚ` ÂŚ~ Γ Ăƒ r— É ¸ÂŽ H“ ÂŚĂŒ o\ Â?  @ /K Ă• ÂŞ[ t Ăž _ s 2 §, @ ÂŁ /Ă˜ ÂŚÂ Â Ăą, @ /Ă˜ ÂŚĂ“ o` Â? Œ½ ¨ .

select distinct T.t & " h

ĂŽ from branch as T, branch as S where T. Ă­ – > S. Ă&#x; Ă­ – and Ă&#x; S.t & -• h ¸r =‘Brooklyn’

s ĂŤ H] j\ Œ› a> ' @ /Ăƒ º– Ă?Âł ð‰ Âł & € 6 §þ ÂŁ °  ú . Π“ ÂŚĂŒ o" Â?

,borrower.@ ĂŽ /Ă˜ ÂŚÂ Â Ăą,@ /Ă˜ ÂŚĂ“ o (borrower ./ loan) Â? s ` ‍כ‏ ÂŚ SQL ĂŤ HĂœ Ÿ– Ă?ÂŒ •  $

Ă­ € 6 §þ ÂŁ °  ú .

4.2.6

select “ ÂŚĂŒ o" Â?

,borrower.@ ĂŽ /Ă˜ ÂŚÂ Â Ăą,@ /Ă˜ ÂŚĂ“ o Â? from borrower,loan where borrower.@ /Ă˜ ÂŚÂ Â Ăą=loan.@ /Ă˜ ÂŚÂ Â Ăą

Ă˜ U Ăƒ ° ǎ ‚ Ă…Â? ĂŹ m ˜

• ĂŤ H \ ? P /\   Â•Â“ ÂŒ r É 6 §³ Â&#x; Ă°\ ÂŚ 6 x  Â“ ÂŚz ¡Ăœ Ÿ€ H 6 §³ Â&#x; Ă°\ ÂŚs 6 x  # ÂŒÂł ð‰ ³ô & Ç . \ V) ‘Itâ€?s right’ • like ƒ Ă­ – Ă&#x; : š ԓ 1 ÂŚz ¡Â“ rĂŤ É H \ J P ‡ ` ÂŚt &

½ Ăą ÉM + : 6 xĂ´  Ă‡ . ĂŤ H \ J P ‡ “ r É 6 §¿ ÂŁ Âşl  ù\ ÂŚs 6 x  # ÂŒt &

ô ù Ç .

• 5 q$ Å

s Ă­ 2 §s ÂŁ Ă— ĂŚ4 ¤á Â&#x; &# Q— ¸ ù$

s í e � ” H

Ă„ â Âş\  Â? H 5 q$ Ă…

s Ă­ 2 §¡ ÂŁ ÂĄ\ Ăş  Â› a> ' s 2 §` ÂŁ Œ¡ ­ ÂĄ “ . • \ V2) Perryridge t & \ h  " f@ /Ă˜ ÂŚ` ÂŚ~ Γ Ăƒ r— É ¸ÂŽ H“ ÂŚĂŒ o Â? \  @ /K Ă• ÂŞ[ t_ Ăž s 2 §, @ ÂŁ /Ă˜ ÂŚÂ Â Ăą, @ /Ă˜ ÂŚĂ“ o` Â? Œ½ ¨ .

– ‘%’: # Q‹ Ă‚ " Ă’ĂŹ rĂŤ H \ Ăľ P • ¸{ u 9 Q‹ Ă´ " ÇÍ H Ăź <• ¸{ u 9 – ‘ ’: #

select “ ÂŚĂŒ o" Â?

,borrower.@ ĂŽ /Ă˜ ÂŚÂ Â Ăą,@ /Ă˜ ÂŚĂ“ o Â? from borrower,loan where borrower.@ /Ă˜ ÂŚÂ Â Ăą=loan.@ /Ă˜ ÂŚÂ Â Ăą and & t " h

=‘Perryridge’ ĂŽ

• \ V1) ‘Perry%’: “Perryâ€?– Ă?r  Â• ÂŒ Â? H— ¸ÂŽ HĂŤ H \ P

S Ăą ‰ X > [ j> h_ ĂŤ H – Ă?s Ă€ Ă’# Q” — ¸ • \ V2) ‘ ’: & HĂŤ ÂŽ H \ P 2


• \ V3) “ ÂŚĂŒ o Â? o s 2 §\ ÂŁ  â€œMainâ€?s Â? HĂ‚ Ă’ĂŹ rĂŤ H ` P \ ÂŚÂ&#x; í† ĂŠ < Â? H— ¸ÂŽ H“ ÂŚĂŒ o_ Â? s 2 §` ÂŁ Œš Ă” 1 .

4.4 4.4.1

select “ ÂŚĂŒ o" Â?

ĂŽ from customer where “ ÂŚĂŒ o- Â? o like ‘%Main%’

(select “ ÂŚĂŒ o" Â?

from depositor) ĂŽ union (select “ ÂŚĂŒ o" Â?

from borrower) ĂŽ • union“ r É 1 xĂœ l Ÿ– Ă?Ă— ĂŚ4 ¤` Â&#x; ÂŚ] j Ă´ Ç . Ă— ĂŚ4 ¤` Â&#x; ÂŚ] j “ ÂŚz ¡t ¡ §Ăœ Ăş Ÿ€ union @ /Â’ \  union all` ÂŚ 6 x  Ă‡ Ă´ .

• \ V4) like ‘ab\%cd%’ escape ‘\’: “ab%cdâ€?– Ă?r  Â•á ÂŒ &Â? H— ¸ÂŽ HĂŤ H \ P ĂšI s Ăť Ă­ Ă„3 ÝÀ ¼š W ŸÞ §8 u ýÅ Ă˜" U e

4.4.2

w ‹É Ăš mÂś ÂĽÂŽ Â? Ă…Â? ĂŹ m ˜

• \ V) “ rÂ? É ' Â&#x;\  > Ă˝ aĂź <@ /Ă˜ ÂŚ` Œ— ¸¿ Âş t “ ÂŚe Â? ” H— ¸ H“ ÂŽ ÂŚĂŒ o_ Â? s 2 §` ÂŁ Œš Ă” 1 .

• SQL ĂŤ H_ z ´Â? ' Â&#x; Ăľ Â? H order by ] ` X ÂŚs 6 x  # ÂŒ Τ Ă˜ _ 4 Ă­ H" f\ ÂŚ&

§ Ăą =½ > Ă‰Ăƒ + Âşe ” .

(select “ ÂŚĂŒ o" Â?

from depositor) ĂŽ intersect (select “ ÂŚĂŒ o" Â?

from borrower) ĂŽ

• \ V1) “ ÂŚĂŒ os Â? 2 §` ÂŁ ÂŚl ĂŻ rĂœ Ÿ– Ă?&

§ Ăą = > select distinct “ ÂŚĂŒ o" Â?

ĂŽ from borrower,loan where borrower.@ /Ă˜ ÂŚÂ Â Ăą=loan.@ /Ă˜ ÂŚÂ Â Ăą and t & " h

=‘Perryridge’ ĂŽ order by “ ÂŚĂŒ o" Â?

ĂŽ

• intersect• ¸ unionĂľ Ă° Ă? t ø – Ă? 1 xĂœ l Ÿ– Ă?Ă— ĂŚ4 ¤ Â&#x; ÂŚ] ` j Ă´ Ç . Ă— ĂŚ4 ¤` Â&#x; ÂŚ] j “ ÂŚz ¡t ¡ §Ăœ Ăş Ÿ€ inter sect @ /Â’ \  intersect all` ÂŚ 6 xĂ´  Ă‡ .

order byÂ? Hl ‘ r& : Ăœ h Ÿ– Ă?¸ š2 § ÂŁ Ă­ HĂœ Ÿ– Ă?† Ă“3 ½ q` l ÂŚ&

Ăą §ô = > Ç .

4.4.3

É Ăš mÂś ÂĽÂŽ Â? Ă…Â? ĂŹ m ˜

• \ V) “ rÂ? É ' Â&#x;\  > Ă˝ aĂŤ –e Ă&#x; “ ” ÂŚ@ /Ă˜ Œ“ r\ É Â? O H— ¸ÂŽ H“ ÂŚĂŒ o Â? _ s 2 §` ÂŁ Œš Ă” 1 .

• š ¸2 § ÂŁ Ă­ HĂľ ? /a > Ă‹ Ă­ H“ r asc ¢ É ¸Â? H desc– Ă? p ¡ .

(select “ ÂŚĂŒ o" Â?

from depositor) ĂŽ except (select “ ÂŚĂŒ o" Â?

from borrower) ĂŽ

• \ V2) @ /Ă˜ ÂŚĂ“ o` Â? ÂŚ l ĂŻ rĂœ Ÿ– Ă? ? /a > Ă‹ Ă­ HĂœ Ÿ– Ă? &

§ Ăą = > &, @ á /Ă˜ ÂŚĂ“ os Â? Ăş  °Ăœ Ÿ€ @ /Ă˜ ÂŚÂ Â Ăą\ ÂŚl ĂŻ rĂœ Ÿ– Ă?š ¸2 § ÂŁ Ă­ HĂœ Ÿ– Ă?&

§ Ăą = > # ÂŒ .

• except• ¸ 1 xĂœ l Ÿ– Ă?Ă— ĂŚ4 ¤` Â&#x; ÂŚ] j Ă´ Ç . Ă— ĂŚ4 ¤` Â&#x; ÂŚ] j “ ÂŚz ¡t ¡ §Ăœ Ăş Ÿ€ except @ /Â’ \  except all` ÂŚ 6 xĂ´  Ă‡ .

select * from loan order by @ /Ă˜ ÂŚĂ“ o desc,@ Â? /Ă˜ ÂŚÂ Â Ăą asc

4.5 4.3

¼É Â? Âś Ăš mÂś ÂĽÂŽ Â? Ă…Â? ĂŹ m ˜

• \ V) “ rÂ? É ' Â&#x;\  > Ă˝ a¢ ¸Â? H@ /Ă˜ ÂŚs e Â? ” H— ¸ÂŽ H“ ÂŚĂŒ o_ Â? s 2 §` ÂŁ Œš Ă” 1 .

• ĂŤ H \ ? P /\  â€˜%’ß < ‘ ’` ÂŚ ? /l 0 AK escape ½ ¨Í H` ÂŚ 6 x½  Ă‰Ăƒ + Âşe ” .

4.2.7

Ăš É mÂś ÂĽÂŽ Â? Ă…Â? ĂŹ m ˜

ޑ n ú ×

Ăš É m4 ] ¤Â• K ¤

• SQL“ r É 6 §þ ÂŁ °  Â“ Ăş r| É > 9 † ĂŠĂƒ < Âş\ ÂŚ] j/ NĂ´ B Ç .

• Ă—4 ĂŚ ¤` Â&#x; ÂŚ) ‡6 x  % ` i ÂŚM : SQL | _ 9 _ _ p \ Œ› a> ' Ă­ ƒ – Ă&#x; _ Ă— ĂŚ| ½ 9 Ă‹(multiset) ! + Q„ Ăœ Ÿ– Ă? 6 §þ ÂŁ °  ú s &

_ Ăą ½ Ă‰Ăƒ + Âşe ” . # ÂŒl " f r1 Ăľ r2 Â? H Ă— ĂŚ| 9 ½ Ă‹s + .

– ¨

ç ĂŽ H: avg – Ăž j™ è: min – Ăž j@ /: max – 8 x½ Ăş Ă‹: sum +

– r1 \  Ăˆ Ă’e ÂŚ t1 _ ‘ rs : c1 > he “ ” ÂŚ, t1 s Ďƒθ \ ÂŚ –7 Ă&#x; ĂŤ ¤ ĂĄ € Ďƒθ (r1 )\  Â? H t1 _ ‘ rs : c1 > h e ” .

– > hĂƒ Âş: count • \ V1) Perryridge t & _ h > Ă˝ a_ ¨

ç ĂŽ HĂŻ –Ó Ă&#x; o` Â? Œ½ ¨ . select avg(ĂŻ –Ó Ă&#x; o) Â? from account where t & " h

=‘Perryridge’ ĂŽ

– r1 \  e Â? ” H t1 _ y • ÂŒ ‘ r\ :  @ /K , Î A (t1 )s –{ Ă&#x; ĂŠ Ăˆ 9 Ă’e ÂŚ t1 \  @ /Ă´ Ç Æ Ă’Ă˜ ÂŚ` ÂŚ p ¡ € Î A (r1 )\  Â? H Î A (t1 )_ ‘ rs : e ” . – r1 \  Ăˆ Ă’e ÂŚ t1 _ ‘ rs : c1 > he “ ” ÂŚ, r2 \  Ăˆ Ă’e ÂŚ t2 _ ‘ rs : c2 > he Ăœ ” Ÿ€ r1 Ă— r2 \  Â? H t1 .t2 _ ‘ rs : 8 x c1 ∗ c2 > Ăş he ” .

• group by ] ` X ÂŚs 6 x  # ÂŒĂ• ÂŞĂ’ ¨Z – > Ă?| > 9 † ĂŠĂƒ < Âş\ ÂŚ & 6 h x½  Ă‰Ăƒ + Âşe ” . 3


• \ V2) y •t ÂŒ & _ h > Ă˝ a_ ¨

ç ĂŽ HĂŻ –Ó Ă&#x; o` Â? Œ½ ¨ .

• \ V) @ /Ă˜ ÂŚĂ“ os Â? V ° , â€Ť×›â€ŹĂœ Ăş Ÿ– Ă?á &# Qe Â? ” H@ /Ă˜ ÂŚ_ @ /Ă˜ ÂŚ   ù\ Œš Ă” 1 .

select t & " h

,avg(ĂŻ ĂŽ –Ó Ă&#x; o) Â? from account group by t & " h

ĂŽ

select @ /Ă˜ ÂŚÂ Â Ăą from loan where @ /Ă˜ ÂŚĂ“ o is null Â?

• 9 | > † ĂŠĂƒ < Âş\ ÂŚ& 6 h x  l „ \  Ă— ĂŚ4 ¤\ Â&#x; ÂŚ] j ½ ɀ + 9 ‍כ‏ š e ` ” ÂŚĂƒ Âşe ” . sM :\  Â? H distinct v 0 >Ă— Âź\ ÂŚ 6 xĂ´  Ă‡ .

• is not null` ÂŚs 6 x  # ÂŒ: ¤& ÂŁ

5 Ăą q$ Ă…

_ Ă­ ° ‍כ‏s Ăş V s , Â? t q “ §½ Ă‰Ăƒ + Âşe ” .

• \ V3) y •t ÂŒ & _ h > Ă˝ a\ ÂŚ ” “ ÂŚĂŒ o_ Â? Ăƒ Âş\ ÂŚ> Ă­ – Ă&#x; .

• SQL\  " fV ° , ‍_כ‏ Ăş % ƒo Â? H› a> ' @ /Ăƒ Âş\  " fV ° , ‍_כ‏ Ăş % ƒo Ăź <°  ú .

select t & " h

,count(distinct “ ĂŽ ÂŚĂŒ o" Â?

) Î from depositor,account where depositor.> ý a  ù=account.> ý a  ù group by t & " h

ĂŽ

4.7 4.7.1

• Ă• ÂŞĂ’ ¨Z – > Ă?| 9 > \ ÂŚ >Ă­ –½ Ă&#x; É: + M having ] ` X ÂŚs 6 x  # ÂŒ Ăľ \ ÂŚ] jĂ´ ǽ Ă‰Ăƒ + Âşe ” .

Ăž² n Ăş É v ßÚ Ă‡8 m ýÅ Ă„ k Ăš É mÂś ÂĽr Â? ! Ă° aĂĽ V

• in ƒ \ ÂŚs 6 x  # ÂŒ| 9 ½ Ă‹Ă? + r! l Q~ ` 1 ÂŚ ÂŽ ½ Ă‰Ăƒ + Âş ” e .

• \ V4) t & _ h > Ă˝ a_ ¨

ç ĂŽ HĂŻ –Ó Ă&#x; os Â? 1200 s œ“ Š t & _ h t & " h

þ Î ¨

ç ĂŽ HĂŻ –Ó Ă&#x; o` Â? Œ½ ¨ .

• \ V1) “ rÂ? É ' Â&#x;\  > Ă˝ aĂź <@ /Ă˜ ÂŚ` Œ— ¸¿ Âş t “ ÂŚe Â? ” H— ¸ H“ ÂŽ ÂŚĂŒ o_ Â? s 2 §` ÂŁ Œš Ă” 1 .

select t & " h

,avg(ĂŻ ĂŽ –Ó Ă&#x; o) Â? from account group by t & " h

ĂŽ having avg(ĂŻ –Ó Ă&#x; o) > 1200 Â?

select distinct “ ÂŚĂŒ o" Â?

ĂŽ from borrower where “ ÂŚĂŒ o" Â?

in ĂŽ (select “ ÂŚĂŒ o" Â?

from depositor) ĂŽ

• \ V) — ¸ÂŽ H> Ă˝ a_ ¨

ç ĂŽ HĂŻ –Ó Ă&#x; o` Â? Œ½ ¨ . • \ V2) Perryridge t & \ h  > Ă˝ aĂź <@ /Ă˜ ÂŚ` Œ— ¸¿ Âş t “ ÂŚe Â? ” H— ¸ÂŽ H“ ÂŚĂŒ o_ Â? s 2 §` ÂŁ Œš Ă” 1 .

select avg(ĂŻ –Ó Ă&#x; o) Â? from account

select distinct “ ÂŚĂŒ o" Â?

ĂŽ from borrower,loan where borrower.@ /Ă˜ ÂŚÂ Â Ăą=loan.@ /Ă˜ ÂŚÂ Â Ăą and t & " h

=‘Perryridge’ ĂŽ and (t & " h

,“ ĂŽ ÂŚĂŒ o" Â?

) in ĂŽ (select t & " h

,“ ĂŽ ÂŚĂŒ o" Â?

Î from depositor,account where depositor.> ý a  ù= account.> ý a  ù)

• # Q‹ › " a> ' _ 8 xĂˆ Ăş Ă’e ÂŚĂƒ Âş\ ÂŚ> Ă­ – Ă&#x; “ ÂŚz ¡Ăœ Ÿ€ 6 § ÂŁ ° Ăľ  s Ăş Ă´ Ç . select count(*) from customer • \ V5) Harrison r \  Ă… Ă’ € " f[ j> hs Âœ_ Š > a\ Ă˝ ÂŚ ” — ¸ÂŽ H“ ÂŚĂŒ o_ Â? ¨

ç ĂŽ HĂŻ –Ó Ă&#x; o` Â? Œ½ ¨ . select depositor.“ ÂŚĂŒ o" Â?

,avg(ĂŻ ĂŽ –Ó Ă&#x; o) Â? from depositor,account,customer where depositor.> Ă˝ a  ù=account.> Ă˝ a  ù and depositor.“ ÂŚĂŒ o" Â?

=customer.“ ĂŽ ÂŚĂŒ o" Â?

ĂŽ and customer.“ ÂŚĂŒ o-• Â? ¸r =‘Harrison’ group by depositor.“ ÂŚĂŒ o" Â?

Î having count(distinct depositor.> ý a  ù) >= 3

• \ V3) “ rÂ? É ' Â&#x;\  > Ă˝ aÂ? He t ” ĂŤ –@ Ă&#x; /Ă˜ Œ“ r\ É Â? O H— ¸ÂŽ H“ ÂŚ o_ Â? ĂŒ s 2 §` ÂŁ Œš Ă” 1 . select distinct “ ÂŚĂŒ o" Â?

ĂŽ from borrower ÂŚĂŒ Â?

not in where “ o" ĂŽ (select “ ÂŚĂŒ o" Â?

from depositor) ĂŽ

SQL ĂŤ H\  " f where ] Ăľ X having ] s X °  s Ăş 6 x  á€ & SQL“ r€ É $ where ] ` X Œ€ $ & 6 h xĂ´  Ă‡ . " f0 A SQL ĂŤ H\  " fÂ? H where ] \ X  Í –7 Ă&#x; ¤ ĂĄ Â? HĂˆ Ă’ ÂŚ[ e t` Ăž Œ€ $ Ă• ÂŞĂ’ ¨i

Ă´ ç Ç 6 § having ] ÂŁ ` X ÂŚ& 6 h x  # ÂŒĂŤ –7 Ă&#x; ¤ ĂĄ t ¡ §Â? Ăş HĂ• ÂŞĂ’ ¨Â“ r! É Q; Â? 2 .

4.6

• inĂľ not in“ r\ É P + A| Ăž 9 ½ Ă‹\ +  & 6 h x½  Ă‰Ăƒ + Âşe ” . • \ V4) “ rÂ? É ' Â&#x;\  @ /Ă˜ ÂŚs e t ” ĂŤ – s Ă&#x; 2 §s ÂŁ Smith ¢ ¸Â? H Joness Â? — ¸ÂŽ H“ ÂŚĂŒ o_ Â? s 2 §` ÂŁ Œš Ă” 1 .

ÇŠ f , †

select distinct “ ÂŚĂŒ o" Â?

ĂŽ from borrower where “ ÂŚĂŒ o" Â?

not in (‘Smith’,‘Jones’) ĂŽ

• null v 0 >Ă— Âź\ ÂŚs 6 x  # ÂŒÂŁ ¤ :&

5 Ăą q$ Ă…

_ Ă­ ° ‍כ‏s Ăş V , “ t q “ §½ Ă‰Ăƒ + Âşe ” . 4


4.7.2

Ú É mœ ¼R � w ‹

• ' ›> a A › a> ' B\ ÂŚÂ&#x; í† ĂŠ < Â? H# ÂŒĂ‚ Ă’Â? H “not exists (B except A)â€?\ ÂŚs 6 x½  Ă‰Ăƒ + Âşe ” .

• “| ½ 9 Ă‹? + /\  Â’ ˜ Ă?  Â•Â“ ÂŒ r° É ‍כ‏s Ăş Ăž j™ èô Ç ” r > F â€?Â? H SQL\  " f > someĂœ Ÿ– Ă?Âł ð‰ ³ô & Ç .

• \ V2) Brooklyn r \  0 Au Ă´ Ǘ ¸ÂŽ Ht & \ h  > Ă˝ a\ ÂŚ t “ ÂŚe Â? ” H“ ÂŚĂŒ o_ Â? s 2 §` ÂŁ Œš Ă” 1 .

• \ V1) Ă­ –s Ă&#x; & # h Q• ¸ Brooklyn r \  0 Au “ ÂŚe ” HĂ´ Â? Çt & _ h Ă­ –˜ Ă&#x; Ă? H— ¸ÂŽ Ht & _ h s 2 §` ÂŁ Œ½ ¨ .

select distinct S.“ ÂŚĂŒ o" Â?

ĂŽ from depositor as S where not exists (select t & " h

ĂŽ from branch where t & -• h ¸r =‘Brooklyn’) except (select R.t & " h

ĂŽ from depositor as T, account as R where T.> Ă˝ a  ù = R.> Ă˝ a  ù and S.“ ÂŚĂŒ o" Â?

= R.“ ĂŽ ÂŚĂŒ o" Â?

) ĂŽ

select t& ĂŽ h "

from branch where Ă­ – > some Ă&#x; (select Ă­ – Ă&#x; from branch where t & -• h ¸r =‘Brooklyn’) • < some, <= some, >= some, = some, <> some 1 x• p ¸ 0 x p . • = some“ r inĂľ É 1 x s p t ĂŤ – <> someĂľ Ă&#x; not in“ r É Ă˜ Ă” .

• 0 A| 9 _ \  Â‚ ƒ Â? a Ăˆ ) Ă’e ÂŚ  Ăƒ ÂşÂ? H Âœ0 Š A| 9 _ \  " f 6 x|  cĂƒ ¨ Âş\ t O ĂŤ – Ă&#x; Âœ0 Š A| _ 9 \  Â‚ ƒ Â? aĂˆ ) Ă’e ÂŚÂ Ăƒ Âş H Â? 0 A| 9 _ \  6 x|  cĂƒ ¨ Âşe ” .

• \ V2) Ă­ –s Ă&#x; Brooklyn r \  0 Au “ ÂŚe Â? ” H— ¸ÂŽ H t & _ h Ă­ –˜ Ă&#x; Ă? H — ¸ÂŽ Ht & _ h s 2 §` ÂŁ Œ½ ¨ . select t& ĂŽ h "

from branch where Ă­ – > all Ă&#x; (select Ă­ – Ă&#x; from branch where t & -• h ¸r =‘Brooklyn’)

4.7.4

• Ă—4 ĂŚ ¤Â? Â&#x; aĂˆ ) Ă’e ÂŚs e Â? ” Ht ÂŽ ½ ÉM + :\  Â? H unique ½ ¨ H` ĂŤ ÂŚ 6 xĂ´  Ă‡ . • \ V1) Perryridge t & \ h  _ > Ă˝ aĂŤ –` Ă&#x; ÂŚ ” — ¸ H“ ÂŽ ÂŚĂŒ o` Â? Œš Ă” 1 .

• < all, <= all, >= all, = all, <> all 1 x• p ¸ 0 x p .

select T.“ ÂŚĂŒ o" Â?

ĂŽ from depositor as T where unique ÂŚĂŒ Â?

(select R.“ o" ĂŽ from account, depositor as R where T.“ ÂŚĂŒ o" Â?

= R.“ ĂŽ ÂŚĂŒ o" Â?

Î and R.> ý a  ù = account.> ý a  ù and account.t & " h

=‘Perryridge’) ĂŽ

• <> all“ r not inĂľ É 1 x s p . • \ V3) > Ă˝ a[ t_ Ăž ¨

ç ĂŽ HĂŻ –Ó Ă&#x; os Â?  Âœ´ Š §Â“ Ăş rt É & ` h Œš Ă” 1 . select t & " h

ĂŽ from account group by t & " h

ĂŽ having avg(ĂŻ –Ó Ă&#x; o) >= all Â? (select avg(ĂŻ –Ó Ă&#x; o) Â? from account group by t & " h

) ĂŽ 4.7.3

ޑ n Ăş ך ŸÞ §Â” u Âź< 0; c6 ” ¢Ă&#x; X Ăˆ e

• \ V2) Perryridge t & \ h  ¿ Âş> hs Âœ_ Š > Ă˝ a\ ÂŚ ” — ¸ÂŽ H“ ÂŚĂŒ o` Â? Œš Ă” 1 . select T.“ ÂŚĂŒ o" Â?

ĂŽ from depositor as T where not unique (select R.“ ÂŚĂŒ o" Â?

ĂŽ from account, depositor as R where T.“ ÂŚĂŒ o" Â?

= R.“ ĂŽ ÂŚĂŒ o" Â?

Î and R.> ý a  ù = account.> ý a  ù and account.t & " h

=‘Perryridge’) ĂŽ

Ăƒ Ă? Ă…ĂĽ Ă‹4 ž ; c6 ” ¢Ă&#x; X Ăˆ e

• exists ½ ¨Í H` ÂŚs 6 x  # ÂŒ 0 A| 9 _ Ăľ Ăˆ Ă’e ÂŚ` ÂŚ t Â? Ht Â? t \ ÂŚ ÂŽ ½ Ă‰Ăƒ + Âşe ” . • exists A: › a> ' A Ăˆ Ă’e ÂŚ` ÂŚ t € ‚ Ă?s Ăƒ “ ÂŚ, t t ¡ §Ăœ Ăş Ÿ€ f Âą s .

4.8

• \ V1) “ r' É Â?\ Â&#x;  > Ă˝ aĂź </ @Ă˜ ÂŚ` Œ¸ —¿ Âş t “ ÂŚe Â? ” H— ¸ H“ ÂŽ ÂŚĂŒ o_ Â? s 2 §` ÂŁ Œš Ă” 1 .

” ½

• Ă‚ Ă“Â? H create view ĂŤ H Âœ` Š ÂŚs 6 x  # ÂŒ&

_ ù ô Ç .

select “ ÂŚĂŒ o" Â?

ĂŽ from borrower where exists (select ∗ from depositor where depositor.“ ÂŚĂŒ o" Â?

=borrower.“ ĂŽ ÂŚĂŒ o" Â?

) ĂŽ

• create view ĂŤ H Âœ_ Š + Ad Ăž ” create view v as hquery expressioni # ÂŒl " f vÂ? HĂ‚ Ă“_ s 2 §s ÂŁ . 5


• \ V) t & Ăľ h “ ÂŚĂŒ o" Â?

Ăœ ĂŽ Ÿ– Ă?½ ¨$

� í a ) Ó

• \ V2) — ¸ÂŽ Ht & _ h 8 xĂŻ Ăş –Ó Ă&#x; o_ Â? ¨

ç ĂŽ H˜ Ă? t & _ h 8 x Ăş –Ó Ă&#x; ĂŻ os Â? & “ h rt É & ` h Œš Ă” 1 .

create view all-customer as (select t & " h

, “ ĂŽ ÂŚĂŒ o" Â?

Î from depositor, account where depositor.> ý a  ù = account.> ý a  ù) union (select t & " h

, “ ĂŽ ÂŚĂŒ o" Â?

Î from borrower, account where borrower.> ý a  ù = account.> ý a  ù)

with branch-total(t & " h

,8 ĂŽ xĂŻ Ăş –Ó Ă&#x; o) as Â? select t & " h

,sum(ĂŻ ĂŽ –Ó Ă&#x; o) Â? from account group by t & " h

ĂŽ with branch-total-avg(8 xĂŻ Ăş –Ó Ă&#x; o¨ Â?

ç ĂŽ H) as select avg(8 xĂŻ Ăş –Ó Ă&#x; o) Â? from branch-total select t & " h

ĂŽ from branch-total, branch-total-avg where branch-total.8 xĂŻ Ăş –Ó Ă&#x; o >= Â? branch-total-avg.8 xĂŻ Ăş –Ó Ă&#x; o¨ Â?

ç Î H)

• Â Ó_ 5 q$ Å

s í 2 §` £ ŒD h\ v> &

_ Ăą ½ Ă‰Ăƒ + Âşe ” . create view branch-total-loan(t & " h

,„ ĂŽ ^ ‰@ /Ă˜ ÂŚĂ“ o) as Â? (select t& " h

, sum(@ ĂŽ /Ă˜ ÂŚĂ“ o) Â? from loan group by t & " h

) ĂŽ

4.9

ל ‘ ¼Ç � Ú m8 ý

4.9.1

– ÂĽy ¢c Ăœ RĂĽ Ă‹4 ž

KT 6 ' [9 cT ­ ÂŽ8 ý• ¤X Ă‹ N

4.10.1

V l< c g

• Âş Ă?V Ç  Â? H SQL\  " f 6 §þ ÂŁ °  s Ăş Âł ð‰ ³ô & Ç . delete from r where P

• \ V1) t & _ h > Ă˝ a[ t_ Ăž ¨

ç ĂŽ HĂŻ –Ó Ă&#x; os Â? 1200˜ Ă? H t & [ h t_ Ăž ¨

ç ĂŽ HĂŻ –Ó Ă&#x; o` Â? Œ½ ¨ .

# ÂŒl " f r“ r› É a> ' s 9, P Â? H› ¸| s . • \ V1) Perryridge t & \ h  e Â? ” H— ¸ÂŽ H> Ă˝ a\ ÂŚ •] ÂŒ j . delete from account where t & " h

=‘Perryridge’ ĂŽ

select t & " h

,ĂŻ ĂŽ –Ó Ă&#x; o¨ Â?

ç Î H from (select t & " h

, avg(ĂŻ ĂŽ –Ó Ă&#x; o) Â? from account group by t & " h

) ĂŽ as (branch-avg(t & " h

,ĂŻ ĂŽ –Ó Ă&#x; o¨ Â?

ç ĂŽ H)) where ĂŻ –Ó Ă&#x; o¨ Â?

ç Î H > 1200

• \ V2) @ /Ă˜ ÂŚĂ“ os Â? 1300\  " f 1500 s \  e Â? ” H— ¸ÂŽ H @ /Ă˜ ÂŚ` ÂŚ •] ÂŒ j . delete from loan where @ /Ă˜ ÂŚĂ“ o between 1300 and 1500 Â?

s \ VÂ? H¡ ÂĄ" Ăş f having ] ` X ÂŚs 6 x  # ÂŒ½ ¨ % i . • \ V2) y •t ÂŒ & _ h >Ă˝ a_ 8 xĂŻ Ăş –Ó Ă&#x; os Â?  Âœ Š Ht & _ h 8 xĂŻ Ăş –Ó Ă&#x; o` Â? Œ½ ¨ .

• \ V3) Needham r \  0 Au Ă´ Ǘ ¸ÂŽ Ht & \ h  e Â? ” H> a\ Ă˝ ÂŚ •] ÂŒ j . delete from account where t & " h

in ĂŽ (select t & " h

ĂŽ from branch & -• h ¸r =‘Needham’) where t

select max(8 xĂŻ Ăş –Ó Ă&#x; o) Â? from (select t & " h

, sum(ĂŻ ĂŽ –Ó Ă&#x; o) Â? from account group by t & " h

) ĂŽ as (branch-total(t & " h

,8 ĂŽ xĂŻ Ăş –Ó Ă&#x; o)) Â? 4.9.2

4.10

• \ V4) “ rÂ? É ' Â&#x;_ ¨

ç ĂŽ HĂŻ –Ó Ă&#x; o˜ Â? Ă? & “ h r> É Ă˝ a\ Œ— ¸¿ Âş • ÂŒ ] j .

with ¹ Ç n

• with ] ` X ÂŚs 6 x  # ÂŒ{ 9 r & h “ Ă‚ Ă“\ ÂŚĂŤ –[ Ă&#x; tĂƒ Ăž Âşe ” . with ] ` X ÂŚs 6 x  # ÂŒĂŤ –Ž Ă&#x; HĂ‚ Ă“Â? HĂ• ÂŞ| 9 _ \  " fĂŤ –Ä Ă&#x; Âť ´ òô Ç{ 9 r$

Ă‚ Ă­ Ă“s .

delete from account where ĂŻ –Ó Ă&#x; o< Â? (select avg(ĂŻ –Ó Ă&#x; o) Â? from account)

• \ V1) Ăž j@ /ĂŻ –Ó Ă&#x; o` Â? ÂŚ ” >Ă˝ a_ > Ă˝ a  ù\ Œš Ă” 1 .

ÂŽ \ Œ€ $ Ă´ Ç 6 §\ ÂŁ  Â•] ÂŒ j Â? H s ‍כ‏ Ă— Ì‍כ‏ š .

with max-balance(Ăž j@ /ĂŻ –Ó Ă&#x; o) as Â? select max(ĂŻ –Ó Ă&#x; o) Â? from account select > Ă˝ a  ù from account, max-balance where account.ĂŻ –Ó Ă&#x; o = max-balance.Ăž Â? j@ /ĂŻ –Ó Ă&#x; o) Â?

4.10.2 ‍כ‏ qÉ ø m • \ V) Smith Perryridge t & \ h  > Ă˝ a  ù A973s “ ÂŚĂŻ –Ó Ă&#x; os Â? 1200“ > Ă˝ a\ ÂŚ t “ ÂŚe ” Â? H&

Ăą ˜ Ă?\ ÂŚX <s ' Z Â…s Ă› Âź\  Æ Ă’ K . insert into account values (‘A-973’,‘Perryridge’,1200) insert into depositor values (‘Smith’,‘A-973’)

• with ] “ X r SQL:1999\ É  " f% ƒ6 §Â• ÂŁ ¸{ 9 á &% Ăœ 3 Âź9, ‰ Âł & F ™ èĂƒ Âş_ X <s ' Z Â…s Ă› ŸÍ –s Ă&#x; \ ÂŚt Âś " ĂŠĂ´ Ç . 6


4.10.3

Ăž

n Ăƒ Ă…

4.10.5

² ÂŽÂ? v O Â? Âœ Ă… Ă“

• SQL\  " fà ԙ ½Ă” o‚ Â? “ r{ É 9 Âş _ | 9 _ ¢ ¸Â? HĂŒ t q Â’ ĂŤ H ÂœĂœ Š  ŸÂ– Ă?½ ¨$

Â? Ă­ a ) .

• \ V1) — ¸ÂŽ H> Ă˝ a\  @ /K 5%_ s \ ÂŚt / LK ĂĽ . update account set ĂŻ –Ó Ă&#x; o=ĂŻ Â? –Ó Ă&#x; o*1.05 Â?

• à ԙ ½Ă” o‚ Â? _ r  Â•Â“ ÂŒ r " É

Ă‘ ĂŽ ˜ Ăž > ? /t ¡ §t Ăş ĂŤ – Ă&#x; = Q“ ĂĽ r É 6 §¿ ÂŁ ºÍ H ÂœĂ— Š ĂŚ – Ă? p ¡ . – commit work: t F K t — ¸ÂŽ HĂŒ tÂ’ q ` ÂŚX <s ' Z Â…s Ă› Âź\  %

½ ò ¨& Ăœ h Ÿ– Ă?ĂŹ Ă?% ø

Ă´ ò Ç .

• \ V2) ĂŻ –Ó Ă&#x; os Â? 1000 s œ“ Š >Ă˝ a\  @ /K " fĂŤ – 5%_ Ă&#x; s \ ÂŚt / LK ĂĽ .

– rollback work: t F K t — ¸ÂŽ Hq ĂŒ t Â’ ` ÂŚ2 [™ è “ Œà ԙ ½Ă” o‚ Â? s r  Â• ÂŒ l „ Âœ Š I– Ă?4 ¤œ Â&#x; " ĂŠ Ç Ă´ .

update account set ĂŻ –Ó Ă&#x; o=ĂŻ Â? –Ó Ă&#x; o*1.05 Â? where ĂŻ –Ó Ă&#x; o >= 1000 Â?

• s ĂŤ H Âœ` Š ÂŚz ´Â? ' Â&#x; t ¡ §Â“ Ăş ÂŚĂĄ Ԗ Ă?Ă• ÂŞĂ? ›` Ăž ÂŚ7 xÂŤ ĂĄ Ă‘ X € <s ' Z Â…s Ă› Âź\  ¿ ºÍ H ÂœĂ— Š ĂŚ \ ÂŚz ´Â? ' Â&#x; “ ÂŚ= Qp ĂĽ ¡ .

• update ĂŤ H\  " f 6 x  Â? H where ] “ X r select ĂŤ É H_ where ] Ăľ X °  ú . • \ V3) ĂŻ –Ó Ă&#x; os Â? 10000 ˜ Ă? H > Ă˝ a\  @ /K " fÂ? H 6%_ s \ ÂŚt / L ĂĽ “ ÂŚ, Ă• ÂŞs _ > Ă˝ a\  @ /K " fÂ? H 5%_ s \ ÂŚt / L ĂĽ .

4.11

KT 6 ' [X Ă‹8 N ýŽ Ă…# š a

4.11.1

SQL; c" e< gÂŒ ÂŤ Â&#x; Ă€ ÂĽy W ¢8 cĂ&#x; Ă… Ăƒ É ø m8 ý” ޒ Ă’ ½

• char(n): “ Œ&

Â? Ăą aĂ&#x; ) Âźl (n)_ ĂŤ H \ P update account set ĂŻ –Ó Ă&#x; o=ĂŻ Â? –Ó Ă&#x; o*1.06 Â? where ĂŻ –Ó Ă&#x; o > 10000 Â?

• varchar(n): Ăž j@ /Ă&#x; Âźl n“  & ĂŤ h H \ P • int: &

Ăƒ Ăą Âş+ A Ăž • smallint

update account set ĂŻ –Ó Ă&#x; o=ĂŻ Â? –Ó Ă&#x; o*1.05 Â? where ĂŻ –Ó Ă&#x; o <= 10000 Â?

• numeric(p,d): 6 x  t &

& Ăą

x Ăą • 9 ¸\ ÂŚ t Â? HĂ‚ Ă’ 1 x™ l èĂƒ Âş& h { 9 Ăœ Ÿ– Ă?Ăƒ ÂşÂ? H„ ^ ‰pĂ• w Ăź – Ă?½ ¨$

á Ă­ & # Qe “ ” ÂŚ, &

x Ăą 9 • ¸Â? H ds .

# ÂŒl " fÂ? HÂż Âş update ĂŤ H_ z ´' Â?Ă­ Â&#x; H" f Ă— Ì‍כ‏ š .

• real, double precision: float˜ Ă? Â? HÂż ÂşC _ &

x Ăą 9 • ¸\ ÂŚ t Â? HĂ‚ Ă’1 x™ l èĂƒ Âş& h { 9

• q ĂŒ t Â’ _ z ´Â? ' Â&#x;Ă­ H" fĂŤ H] j\ ÂŚK l 0 AK SQL“ r É case ½ ¨Í H` ÂŚ] j/ NĂ´ B Ç . s ½ ¨Í H` ÂŚs 6 x  Â€ Â? r É 7 xĂ€ ĂĄ Ă“_ ĂŒ t q Â’ ` ÂŚ _ SQL ĂŤ H\  " f½ Ă‰Ăƒ + Âşe ” .

• float(n): &

x Ăą 9 • ¸ Ăž j™ è n“ Ă‚ Ă’1 x™ l èĂƒ Âş& h { 9 • date: Âą ˜ Ăş + A(¸ Ăž • ¸, 4,{ Z ) 9

update account set ĂŻ –Ó Ă&#x; o= Â? case when ĂŻ –Ó Ă&#x; o <= 10000 then ĂŻ Â? –Ó Ă&#x; o*1.05 Â? else ĂŻ –Ó Ă&#x; o*1.06 Â? end

– "

r ĂŽ Â? H~ Ă“Z ½ : ‘2001-04-05’ O – ¸Â• ¸, 4, { Z 9 “ r extract(field from d) ½ É ¨Í H` ÂŚ s 6 x  # ÂŒ date { 9 Ăœ Ÿ– Ă?Ă‚ Ă’' Æ Ă’Ă˜ Œ½ Ă‰Ăƒ + Âşe ” . s M : fieldÂ? H year, month, day Ă— ĂŚ \ ÂŚ 6 x  Â€ Â? a ) . • time: r ç –+ Ă&#x; A(r Ăž ,ĂŹ r,Âœ Ă­)

• case ½ ¨Í H_ 9ĂŹ { Ă?& ø “ h + AI Ăž

– "

r ĂŽ Â? H~ Ă“Z ½ : ‘09:30:25’ O

case

– r , ĂŹ r, Âœ í• ¸ date { \ 9  " f 6 x  Â? H½ ¨Í HĂľ °  Â“ Ăş r½ É ¨Í H` ÂŚs 6 x  # ÂŒĂ† Ă’Ă˜ Œ½ Ă‰Ăƒ + Âşe ” . s M : fieldÂ? H hour, minute, second Ă— ĂŚ \ ÂŚ 6 x  Â€ Â? a ) .

when pred1 then result1 when pred2 then result2 ... when predn then resultn else result0

• timestamp: dateĂź < times ½ Ă‹Â? + a ) { 9

end

– "

r ĂŽ Â? H~ Ă“Z ½ : ‘2001-04-05 09:30:25’ O 4.10.4

” ½n Ăž

Ăƒ Ă…

• ĂŤ H \ P { ` 9 ÂŚ Â? r É { Ăœ 9 Ÿ– Ă? Ăœ JM ĂŁ : 6 x  Â? H ½ ¨Í H: cast e as t

• SQL\  " fÂ? HĂ‚ Ă“ĂŒ tÂ’ q ĂŤ H] j\ ÂŚF G4 ¤ Â&#x; l 0 AK _ › a> ' \ ÂŚs 6 x  # ÂŒ&

_ Ăą Â? aĂ‚ ) Ă“\  @ /K " fĂŤ Â–ĂŒ Ă&#x; t q Â’ Ă‰Ăƒ + ½ Âşe • ” ¸2 ¤K Â&#x; ĂŻ r . sM :— ¸Ă˜ Ă”Â? H° ‍“כ‏ Ăş r null ° É â€Ť×›â€ŹĂœ Ăş Âź – Ă?$  ÂœÂ? Š a ) .

• ĂŤ H \ P { 9 ` ÂŚ Â? r É { 9 Ăœ Ÿ– Ă? Ă‹ ¨l 0 AK " fÂ? H H ĂŤ \ s P † 1 { 9 _ + AI Ăž \ Ρ Â?Æ Ăş ғ ÂŚe # ” Q Ă´ Ç . 7


• SQL“ r— É ¸ÂŽ H• ¸B j“ \  q “ §Âƒ Ă­ –` Ă&#x; ÂŚ& 6 h x½  Ă‰Ăƒ + Âşe ” Ăœ Âź9, — ¸ÂŽ H&

Ăƒ Ăą ºß <Ă‚ Ă’1 x™ l èĂƒ Âş& h { 9 [ t\ Ăž  í –Õ Ă&#x; tƒ Ăź –` Ă&#x; Ă­ ÂŚ& 6 h x½  Ă‰Ăƒ + Âşe ” .

• ' ›> a \ ÂŚ X <s ' Z Â…s Ă› Âź\  " f •] ÂŒ j½ É M + :\  Â? H drop table "

§ Î

` Î Œ 6 xô  Ç . drop table r

• date { ç 9 –\ Ă&#x;  Ă• ÂŞo “ ÂŚ time { ç 9 –\ Ă&#x;  Â? H ‘−’ ƒ –` Ă&#x; Ă­ ÂŚ& 6 h x½  Ă‰Ăƒ + Âşe Ăœ ” Âź9 Ăľ Â? H interval { 9 s .

• ' ›> a Â? HĂ• ÂŞ@ /– Ă?X <s ' Z Â…s Ă› Âź\  ¿ º“ ÂŚ, Ă• ª› a> ' \  Â? ” e H— ¸ÂŽ HĂˆ Ă’e ÂŚĂŤ – Ă&#x; •] ÂŒ j½ ÉM + :\  Â? H 6 §" ÂŁ

§ Î

` Î Œ 6 xô  Ç . delete from r

•  ù¨ Š 8 { (compatible type) ç 9 –\ Ă&#x;  Â? Hq “ §Âƒ Ă­ –` Ă&#x; ÂŚ & 6 h x½  Ă‰Ăƒ + Âşe ” . • null“ r— É ¸ÂŽ H { 9 _ • ¸B j “ \  5 qĂ´ Ă… Ç . 4.11.2

• alter table "

§ Î

` ĂŽ ÂŚs 6 x  # ÂŒl ” r› > a> ' _ Ă› Âźv ÂŚÂ \

½ â Ă‰Ăƒ + Âşe ” . 5 q$ Ă…

_ Ă­ Æ Ă’ Â? H 6 §þ ÂŁ °  Ăœ Ăş Âź 9, alter table r add A D

­ ÂŽW X Ă‹8 N Ă˝

• Û Ÿv � H create table "

§ Î

` ĂŽ ÂŚs 6 x  # ÂŒ&

_ ù ô Ç .

5 q$ Ă…

_ Ă­ •] ÂŒ jÂ? H 6 §þ ÂŁ °  ú .

create table r(A1 D1 , A2 D2 , . . . , An Dn , hĂ Âş $

j Ă­ ]€ •› Â? ¸| 1 i , ..., hĂ Âş $

] Ă­ j€ •› Â? ¸| k i)

alter table r drop A

4.12

Ăˆ9 k Æ cO Š ÂŽ SQL

• SQL“ ry É Âœ§ Š Ă´ 4 ǂ ƒ & | h _ 9 ƒ # Q\ ÂŚ] j/ N B t ĂŤ – Ă&#x; 9 { ĂŹ Ă?ĂĄ ø Ԗ Ă?Ă• ÂŞA b ç

ƒ # Q? /\  " f SQL` ÂŚ 6 x½  Ă‰Â€ + 9 ‍כ‏ š$

s í e ” .

# ÂŒl " f r“ r› É a> ' _ s 2 §s ÂŁ “ ÂŚ, Ai Â? H5 q$ Ă…

_ Ă­ s 2 § ÂŁ s . Di Â? H Ai 5 q$ Ă…

_ Ă­ • ¸B j “ s .

– — ¸ÂŽ H| 9 _ \ ÂŚ SQL– Ă?Âł ð‰ ³½ & Ă‰Ăƒ + Âşe Â? ” H “ ‍כ‏ r É m l M :ĂŤ H\  # 6 3 xĂĄ  Ă”– Ă?Ă• ÂŞA b

ƒ ç # Q_ Âł ð‰ Âł & § ` 4 ÂŚs 6 x½  Ă‰Â€ + 9 ‍כ‏ š 7 x7 ĂĄ xe ĂĄ ” .

• 0 xô p Çà º $

] Ă­ j€ •› Â? ¸| “ r É 6 §þ ÂŁ °  ú . – primary key(Aj1 , Aj2 , . . . , Ajm ): 5 q$ Ă…

Aj1 , Ă­ Aj2 , . . ., Ajm s› a> ' _ Ă… Ă’v Â? a ) . Ă… Ă’v H nulls Â? | cĂƒ ¨ Âş\ Ăœ O Âź9, 1 q: l ¤ ÂŁ # ÂŒ Ă´ Ç .

– 9 | _ Ăľ \ ÂŚĂ• ÂŞA i ” “ ' ` Â…s Ă› Ÿ– Ă?Âł ð‰ Âł & Hl Â? 0 x1 p x` p ÂŚ] j/ N B l 0 AK " fÂ? HĂĄ Ԗ Ă?Ă• ÂŞA ç b

ƒ # Q` ÂŚ 6 x½  Ă‰Ăƒ + º¾ Ăš\ 1  \ O .

– check(P ): › a> ' \  e Â? ” H— ¸ÂŽ HĂˆ Ă’e ÂŚs ĂŤ –7 Ă&#x; ¤K ĂĄ Â? H¸ ›| ` ÂŚ"

r ĂŽ l 0 AK 6 xÂ? Â a ) .

• SQL\ ÂŚ? / ÂœĂ´ Š Ç{ ĂŹ 9 Ă?ĂĄ ø Ԗ Ă?Ă• ÂŞĂ? ›“ Ăž r( É

ÂŽ { 9 l „ \  Â„ % ƒo € 9 ‍כ‏ š . s „ % ƒo \  " fÂ? H SQL ĂŤ H Âœ` Š  Œ ùĂ› Ÿà Ă”Âƒ # Q‚ ƒ Ăľ † ĂŠĂƒ < º ùĂ˜ Œ– Ă? Ă‹ ¨# QĂŻ r .

s Ăź @\  Â? r] É j€ •› Â? ¸| • ¸e t ” ĂŤ –Õ Ă&#x; ÂŞ \ ‍כ‏  @ /K " f H 6 Â? Âœ\ Š  " f ĂŞ r . • \ V) account › a> ' _ Ă› Âźv &

_ Ăą

• ˜ Ă?: x Â&#x; 6 §þ ÂŁ °  Â“ Ăş r½ É ¨Í H` ÂŚs 6 x  # ÂŒ SQL` ÂŚ# 6 3 x  å Ԗ Ă?Ă• ÂŞA b ç

ƒ # Q\  ? / ÂœĂ´ Š Ç .

create table account (> ý a  ù char(10), & t " h

char(15), ĂŽ –Ó Ă&#x; ĂŻ o int, Â? primary key(> Ă˝ a  ù), check(ĂŻ –Ó Ă&#x; o >= 0)) Â?

EXEC SQL < SQL ĂŤ H Âœ > END-EXEC Š Â? H 6 §þ ÂŁ °  Â“ Ăş r½ É ¨Í H` ÂŚ 6 xĂ´  Ă‡ . #SQL{ < SQL ĂŤ H Âœ > }; Š

• \ V) † ÆÒ < t› q a> ' _ Û Ÿv &

_ Ăą

• \ V)  ùĂ› Ÿà Ă”Âƒ # Q\  amount Â? H Ăƒ Âş e ” “ ÂŚ . Ă• ÂŞ Q€ 6 §þ ÂŁ °  Â“ Ăş r| É _ 9 \ Œ ùÛ Ÿà Ă”Âƒ # Q\  ? / Âœ½ Š  Ă‰Ăƒ + Âşe ” .

create table student ($

" Ă­

char(15) not null, Î Æ < † char(10), & þ

char(15), ù primary key(† Æ < ), check(þ &

in (Ԡ Ăą Æ < Ò’,‘$ 3 ’,‘~ ĂŒ Ăƒ ’)))

EXEC SQL declare c cursor for select “ ÂŚĂŒ o" Â?

,“ ĂŽ ÂŚĂŒ o- Â? o from depositor,customer,account where depositor.“ ÂŚĂŒ o" Â?

=customer.“ ĂŽ ÂŚĂŒ o" Â?

and ĂŽ account.> Ă˝ a  ù=depositor.> Ă˝ a  ù and –Ó Ă&#x; ĂŻ o > :amount Â? END-EXEC

Ă› Âźv \ Â " f5 q$ Ă…

` Ă­ ÂŚ&

_ Ăą ½ ÉM + : not null\ ÂŚ"

r Î Õ € ª5 q$ Å

“ Ă­ r null ° É ‍`כ‏ Ăş ÂŚ | 9 Ăƒ Âş\ O . Ă… Ă’v Â? H"

r ĂŽ t ¡ § Ăş • ¸l ‘ r& : Ăœ h Ÿ– Ă? null ° ‍`כ‏ Ăş ÂŚ | 9 Ăƒ Âş\ O . • unique(Aj1 , Aj2 , . . . , Ajm ) ½ ¨Í H` ÂŚ s 6 x  # ÂŒ ĂŠ ĂŞ ˜ Ă?v \ ÂŚt &

½ Ăą Ă‰Ăƒ + Âşe ” .

# ÂŒl " f Ăƒ Âş cÂ? Hs | _ 9 _ cursor “ ÂŚ,  ùĂ› Ÿà Ă” ƒ# Q_  Ăƒ Âş\ ÂŚ SQL ĂŤ H Âœ? Š /\  " f 6 x½  Ă‰M + :\  Â? H 8


 Ăƒ º¡ ÂĄ\ Ăş  â€˜:’\ Œ‘ ' Ă´ Ç . s | 9 _ \ ÂŚz ´] jz ´Â? ' Â&#x; l 0 AK " fÂ? H open ĂŤ H` ÂŚs 6 xK  ô Ç . EXEC SQL open c END-EXEC | 9 _ Ăľ Â? He r ” › a> ' \  $  ÂœÂ? Š a ) . | 9 _ Ăľ _ Ăˆ Ă’e Œ“ r fetch ĂŤ É H` ÂŚ s6 x  # ÂŒ% ` 3 ÂŚĂƒ Âşe ” . 0 A| 9 _ _ Ăľ › a> ' Â? HÂż Âş> h_ Ă… q 5$

Ăœ Ă­ Ÿ– Ă?½ ¨$

á Ă­ &Ă™ Ÿ– Ă? Âż Âş> h_  Ăƒ Âş(cn, cc) € 9 ‍כ‏ š . EXEC SQL fetch c into :cn,:cc END-EXEC fetch ĂŤ H“ r É _ Ăˆ Ă’e ÂŚĂŤ –` Ă&#x; ÂŚĂŹ Ă?¨ ø ŠK 8 Ă… Ă’Ă™ Ÿ– Ă?— ¸ÂŽ H Ăˆ Ă’e ÂŚ\  @ /K  Â•\ ÂŒ ` O ÂŚ l 0 AK " fÂ? HĂ€ Ă’ĂĄ Ă”\ ÂŚs 6 x  K Ă´ Ç . Ă€ Ă’ĂĄ Ă”_ = Q“ ĂĽ r SQL communication-area É (SQLCA)  Ăƒ Âş\ ÂŚ: xK Â&#x; ¡ Â˜Ăƒ Ăş Âşe ” . | _ 9 Ăľ 8s œ€ Š ‍כ‏ 9 š\ Ăœ O Ÿ€ close ĂŤ H` ÂŚs 6 x  # ÂŒ •] ÂŒ j # ÂŒ Ă´ Ç . EXEC SQL close c END-EXEC • X <s ' Z Â…s Ă› ÂźÂ

" â

§ Î

“ ĂŽ r| É 9 _ Ăź <² ˜o Ăş D h– Ă?ĂŽ r a> ' › \ ÂŚ Ăľ – Ă?Ă… Ă’t ¡ §l Ăş M :ĂŤ H\  ? / Âœ Š l 8 ~ 1 . EXEC SQL declare c cursor for select * from account where t & " h

=‘Perryridge’ ĂŽ for update END-EXEC ĂŒ t q Â’ \  6 x½  Ă‰| + 9 _ \ Œ€ $ ? / ÂœĂ´ Š Ç 6 §\ ÂŁ  open H` ĂŤ ÂŚs 6 x  ÂŒ #| 9 _ \ Ϋ ' z Â?Ă´ Â&#x; Ç . Ă• ÂŞ 6 § fetch ĂŤ ÂŁ H update\ Ăľ ÂŚs 6 x  # ÂŒz ´] jĂŒ t q Â’ ` ÂŚĂ´ Ç . EXEC SQL fetch c into :an,:bn,:ab; update account set ĂŻ –Ó Ă&#x; o=ĂŻ Â? –Ó Ă&#x; o+100 Â? where current of c; END-EXEC

9


c °2003, sangjin@kut.ac.kr

• ‚ Ă?› Ăƒ ¸à º $

s Ă­ ĂŞ Ă?Ă´ ø Ǜ a> ' _ # Q‹ 5 " q$ Ă…

\ Ă­  1 x p Âœ Š H° Â? ‍`כ‏ Ăş ÂŚ Â? r› É a> ' _ : ¤& ÂŁ

5 Ăą q$ Ă…

\ Ă­  1 x p Âœ Š Â? H° â€Ť×›â€ŹĂœ Ăş Âź – Ă?] jĂ´ Ç Â? H ` ‍כ‏ Ϋ Â˜Ă´ Ăş Ç .

2T 6 ' _9 KT Ăƒ ‘: ~ ÂĄq ç { ÂĄĂˆ ‘ 05 A. Silberschatz, H. Korth, S. Sudarshan Database System Concepts, Fourth Edition, McGraw-Hill, 2002.

6.2.1

• › ¸ “ ½ ÉM + :) ‡ ÂœĂˆ Š Ă’e ÂŚĂŤ H] j\ ÂŚK l 0 AK Ăź @Ă‚ Ă’ › ¸ “ ~ Ă“Z ½ ` O ÂŚ 6 x½  Ă‰Ăƒ + Âşe ” .

Integrity and Security

6.1

M Ă„ Ă˜4 ] G Ăˆ ›

• ) ‡× ( ‘Ă? Ă™¨ ¡(dangling tuple): Âż º› a> ' rĂľ s\ Œ› ¸ “ % ` i ÂŚM : r\  e Â? ” HĂˆ Ă’e ÂŚĂ— ̛ ¸Â“ \  Â‚ Ă?# Ăƒ ÂŒ t 3 w l Â? HĂˆ Ă’e ÂŚ

Part II. Relational Databases

6

Y p c º“ ¤+ ÇV s Ă‹ R

6.2

• s ] \ X  " fÂ? H) ‡ ÂœĂˆ Š Ă’e ÂŚ_ ) ‡6 x#  ÂŒĂ‚ Ă’\  Â› aĂ´ ' Ç] jĂ´ Ç › ¸| ` ÂŚÂś ˜( Ăş R‘ r : .

¢8 y cĂ&#x; Ă…< Ăƒ gW l d ºß Ă… g

• — ¸ÂŽ H5 q$ Ă…

“ Ă­ r• É ¸B j “ ` ÂŚ ” . " f5 q$ Ă…

“ í rt É

Â? Ăą & a• ) ¸B j “ \  _ K ° ‍כ‏s Ăş ] jĂ´ ÇÂ? a ) .

• 6 §þ ÂŁ °  Â“ Ăş r) É ‡ ÂœĂˆ Š Ă’e Œ“ r É | Ă?f Ăƒ ” t ¡ § Ăş . – account › a> ' \  Â? Ht & " h

s ĂŽ “y Âœz Š ™& ÂŒ â€?“ h > a e Ă˝ t ” ĂŤ – branch › Ă&#x; a> ' \  Â? H “y Âœz Š ™& ÂŒ â€?\ h  Â› a ' Çt Ă´ & & h

˜ Ăą Ă? \ O .

• • ¸B j “ ] j€ •› Â? ¸| “ r  Ă‰ Âœl Š Âœ Ă­& h “ Ă Âş $

] Ă­ j€ • Â? › ¸| s . • “ ÂŚĂŒ o" Â?

5 ĂŽ q$ Ă…

þ í f œ ” " Ê"

5 ĂŽ q$ Ă…

_ Ă­ • ¸B j “ °  t Ăş ĂŤ –ï Ă&#x; – Ă&#x; o5 Â? Ă“ q$ Ă…

Ăľ Ă­ t & " h

5 ĂŽ q$ Ă…

_ Ă­ • ¸B j “ “ r É Ă˜ Ă” .

– Ă• ÂŞ Q ĂŹ Ă?@ ø /_

Ă„ â ÂşÂ? H) ‡6 xK  ô Ç .

– ÂŚ Â“ĂŒ o" Â?

5 ĂŽ q$ Ă…

Ăľ Ă­ t & " h

5 ĂŽ q$ Ă…

_ Ă­ • ¸B j “ “ rĂ“ É t Ăź & o Y h U6 š\ \  " fÂ? H°  t Ăş ĂŤ –Â? Ă&#x; Ho 7 & Y h Uš 6 \\  " f H Â? Ă˜ Ă” .

• 0 AĂŤ H] j\ Œ½ ¨^ ‰& Ăœ h Ÿ– Ă?Âś ˜( Ăş R˜ Ă?€ account › a> ' \  " ft & " h

“ ĂŽ rĂź É @Ă‚ Ă’v s t ĂŤ – branch › Ă&#x; a> ' \  " ft & " h

“ Î rß É @ Òv m .

• D h• ¸B j “ _ &

_ Ăą : create domain ] s X 6 x Â

• r1 (R1 )Ăľ r2 (R2 )_ Ă… Ă’v y •y ÂŒ • K1 Ăľ ÂŒ K2 “ Âż Âş a> ' › e ” “ ÂŚ . Îą ⊂ R2 6 § ÂŁ ÂŚ `ĂŤ –7 Ă&#x; ¤ ĂĄ € ÎąÂ? H› a> ' r1 _ Ă… Ă’v K1 ` Œ‚ Ă?› Ăƒ ¸ Â? HĂź @Ă‚ Ă’v Ă´ Ç .

create domain Dollars numeric(12,2) create domain Pounds numeric(12,2) Âż Âş> h_ D h– Ă?ĂŽ r• ¸B j“ ` ÂŚ&

_ Ăą % ` i ÂŚM :• ¸B j “ s Dollars“ 5 q$ Ă…

\ Ă­  Â• ¸B j“ s Pounds“  Ăƒ Âş_ ° ‍`כ‏ Ăş Œ½ É{ + Âœ Š € q 2 ¤Ă“ Â&#x; to Ăź & Ăœ h Ÿ– Ă?Â? H°  Â“ Ăş r É { 9 s t ĂŤ –š Ă&#x; ¸Ă€ Ă“ Âľ Ă?Ă’ 1 tĂ´ q Ç .

r2 \  e Â? ” H— ¸ÂŽ HĂˆ Ă’e ÂŚ t2 \  @ /K r1 \  6 § ÂŁ ÂŚ `ĂŤ –7 Ă&#x; ¤ ĂĄ Â? HĂˆ Ă’e ÂŚ t1 s ĂŹ Ă?Ă— ø Âźr ” rF > K Ă´ Ç . t1 [K1 ] = t2 [Îą]

• ô• Ç ¸B j “ _ Ăş ‍כ‏ °` ÂŚ Â? r• É ¸B j “ Ăœ Ÿ– Ă?Â

: cast s â 6 x  cast r.A as Pounds

• s ‍כ‏ š½ ¨ † Ă“` ½ Œ½ Ă”Âœ Ç ÂżĂˆ Ă Ăš

Ă… r V ]   Ă?Âœ Ăˆ ¿ž >(referen

tial integrity constraints) ¢ ¸Â? H É Ă™& P

T ™ Âź ¤ Ă’ 4¢ ´ 4 (subset dependency)s ] Ă… Ă´ Ç .

r.A Dollars { { 9 : 9 Ms ` ‍כ‏ ÂŚ Pounds– Ă?Â

½ â É + M :0 AĂź <°  Â“ Ăş r cast " É

§ Î

` Î Œ 6 xô  Ç .

• ‚ Ă?› Ăƒ ¸à º $

] Ă­ j€ •› Â? ¸| “ r É 6 §þ ÂŁ °  s Ăş ‍כ‏ šÂ€ •½ Â? Ă‰Ăƒ + Âş ” e . Î Îą (r2 ) ⊆ Î K (r1 )

• check ] ` X ÂŚs 6 x  # Υ ¸B j“ ` ÂŚ] jĂ´ ǽ Ă‰Ăƒ + Âşe ” . create domain r ç Â–Ăƒ Ă&#x; Âş{ Âœ int Š constraint Ăƒ Âş{ ÂœĂž Š j™ è° â€Ť×›â€Ź Ăş check(value >= 2000)

• E-R — ¸4 q\ S  " f› a> ' | ½ 9 Ă‹Ăľ + € •ô Â? Ǜ a> ' | 9 ½ Ă‹` + ÂŚ_ Â… s ^ Œ– Ă?Âł ð‰ Âł & € ĂŹ Ă?Ă— ø Âźr Ăź @Ă‚ Ă’v \ ÂŚ t > Â? a ) .

# ÂŒl " f â€˜Ăƒ Âş{ ÂœĂž Š j™ è° â€ŤÂ“â€™×›â€Ź Ăş r É Ă— ĂŚ\  ĂŒ tÂ’ q 0 AC e ` ” ÂŚ M :# Q‹ 0 " AC “ t \ ÂŚ ? /l 0 AK 6 xÂ?  a ) .

6.2.2

• \ V1) V ° , ‍`כ‏ Ăş ÂŚ | 9 Ăƒ Âş\ • O ¸2 ¤] Â&#x; jĂ´ Ç Â? H~ Ă“Z ½ O

6 KT ' [9 cT ­ ÂŽ Ă…Ă&#x; ĂŹ Ă‹ O

• X <s ' Z Â…s Ă› Âź\ ÂŚÂ

â € ‚ Ă?› Ăƒ ¸à º $

` Ă­ ÂŚ0 AC ½ É + Ăƒ Âşe ” .

create domain > Ă˝ a  ù char(10) constraint > Ă˝ a  ùV , ÂŽ check(value not null)

• r2 r1 ` Œ‚ Ă?› Ăƒ ¸ Â? H

Ă„ â Âş\  0 xĂ´ p ǂ Ă?› Ăƒ ¸à º $

Ă­ 0 AC

• \ V2) : ¤& ÂŁ

Ă´ Ăą Ç° ‍כ‏Í Ăş –` Ă&#x; ÂŚ t • ¸2 ¤] Â&#x; jĂ´ Ç Â? H~ Ă“Z ½ O create domain > Ă˝ a7 xĂ€ ĂĄ Ă“ char(10) constraint > Ă˝ a7 xĂ€ ĂĄ Ă“ ÂŽ check(value in(‘{ ÂœĂ˝ Š a\ VF K’,‘$ Âť ¤\ ÂĄ VF K’))

– t2 \ ÂŚ r2 \  œ š{ Ăş : 9 6 §s ÂŁ ĂŹ Ă?Ă— ø Âźr $

w Ă­ K n Ă´ Ç . t2 [Îą] ∈ Î K (r1 ) 1


– V \1) r1 s branch › a> ' s “ ÂŚ, r2 Ăľ account › a ' { > M 9 : r2 \  t& s h Â… ;ĂŽ –& Ă&#x; h “ > Ă˝ a\ ή Ă’ € r1 \  … ;ĂŽ –& Ă&#x; s h Ă… Ă’v “ Ăˆ Ă’e ÂŚs e # ” Q Ç Ă´ .

• cascade @ / Â’ \  6 § ÂŁ ÂŚ ` 6 x½  Ă‰Ăƒ + Âşe ” . – set null: •] ÂŒ j Â? H@ /Â’ \  Â‚ Ă?› Ăƒ ¸ Â? H€ 9 Ă— Âź\ ÂŚ null ° â€Ť×›â€ŹĂœ Ăş Ÿ– Ă? Ăľ H . – set default: • ¸B j “ _ n e ÂŚĂ Ă”° â€Ť×›â€ŹĂœ Ăş Ÿ– Ă?€ 9 Ă— Âź ÂŚ \ Ăľ H .

– t1 \ ÂŚ r1 \  " f •] ÂŒ j: 6 § ÂŁ ÂŚ `> Ă­ – Ă&#x; # ÂŒ ĎƒÎą=t1 [K] (r2 )

• null ° ‍“כ‏ Ăş r‚ É Ă?› Ăƒ ¸à º $

` Ă­ ÂŚ4 ¤¸ Â&#x; š Ăş > Ă´ Ç . { 9 ĂŹ Ă?& ø h Ăœ Ÿ– Ă?Ăź @Ă‚ Ă’v • ¸V ° , ‍`כ‏ Ăş ÂŚ | Ăƒ 9 Âş\ • O ¸2 ¤ Â&#x; Â? H s ‍כ‏ | Ă?f Ăƒ ” .

Ăľ › a> ' q # Qe t ” ¡ §Ăœ Ăş Ÿ€ •] ÂŒ j\ ÂŚ Ă‚ Ă’ r2 \  " f t1 ` Œ‚ Ă?› Ăƒ ¸ Â? HĂˆ Ă’e ÂŚ` Π ĂŠa < Â? ¸¿ — Âş •] ÂŒ jK Ă´ Ç .

• ‚ Ă?› Ăƒ ¸à º $

“ Ă­ rƒ É Ă­ –Ê Ă&#x; –0 Ă&#x; A– Ă? ÂŽ t ¡ §Â“ Ăş Œà ԙ ½ o‚ Â? Ă” ĂŠ –0 Ă&#x; A– Ă? ÂŽ Ă´ Ç .

– V \2) r1 \  t & s h y Âœz Š ™& ÂŒ “ h Ăˆ Ă“e ÂŚ` ÂŚ •] ÂŒ j r2 \ €  t & s h y Âœz Š ™& ÂŒ “ h > Ă˝ a e Â? ” Ht Âś ˜ Ăş R˜ ( Ă?“ ÂŚe Ăœ ” Ÿ€ Ă‚ Ă’ t & s h y Âœz Š ™& ÂŒ h — “ ¸ÂŽ H >Ă˝ a\ ÂŚÂŒ • ] jĂ´ Ç .

– \ V) ™ ¼› D a> '

6.3

– r2 \  e Â? ” H t2 _ Îą\  Â&#x; í† ĂŠÂ? < a 5 ) q$ Ă…

` Ă­ ÂŚ ĂŒ t q Â’ : t02 t2 \ ÂŚĂŒ tÂ’ q Ă´ Ă‡Ăˆ Ă’e ÂŚs € 6 §s ÂŁ ĂŹ Ă?Ă— ø Âźr

w í $ K n ô Ç .

• 5 Ă­ Ç (assertion)s a ĂŞ Ă? X ø <s ' Z Â…s Ă› Âź † Ă“ ½ Âœ ĂŤ Š –7 Ă&#x; ¤ ĂĄ K Â? H› ¸| ` ÂŚ"

r ĂŽ Ă´ Ǜ ¸| Ă• t# Ăź Q(predicate)\ ÂŚ ´ Â˜Ă´ Ăş Ç .

t02 [Îą] ∈ Î K (r1 )

• • ¸B j “ ] j€ •› Â? ¸| Ăľ ‚ Ă?› Ăƒ ¸à º $

] Ă­ j€ •› Â? ¸| “ rĂŠ É – Ă&#x;

_ Ăą & Ă´ Ç: ¤Ăƒ ÂŁ ºô Ç+ AI Ăž s .

– V \3) r2 \  t & s h y Âœz Š ™& ÂŒ “ h > Ă˝ a\ ÂŚÂ… ;ĂŽ –& Ă&#x; h Ÿ– Ăœ Ă?ĂŒ tÂ’ q € r1 \  Â… ;ĂŽ –& Ă&#x; s h Ă… Ă’v “ Ăˆ Ă’e ÂŚ e s # ” Q Ă´ Ç .

• SQL\  " fĂŠ –& Ă&#x;

ĂŤ Ăą H_ + AI Ăž create assertion <assertion-name> check <predicate>

– r1 \  e Â? ” H t1 _ Ă… Ă’v _ / ?6 x`  ŒĂŒ t q Â’ : 6 § ÂŁ ÂŚ ` Ă­ > – Ă&#x; # ÂŒ ĎƒÎą=t1 [K] (r2 )

• SQL\  Â? H “for all X, P(X)â€? Â? H½ ¨$

s Ă­ \ Ăœ O ŸÙ Ÿ– Ă? “not exists X such that not P(X)â€? ½ ¨$

` í Œ 6 xK  Ç ô .

Ăľ › a> ' q # Qe t ” ¡ §Ăœ Ăş Ÿ€ ĂŒ t q Â’ ` ÂŚ Ă‚ Ă’ r2 \  " f t1 ` Œ‚ Ă?› Ăƒ ¸ Â? HĂˆ Ă’e ÂŚ` Π ĂŠa < Â? ¸¿ — ÂşĂŒ tÂ’ q K Ă´ Ç .

• \ V) t & _ h @ /Ă˜ ÂŚĂ“ o8 Â? xĂ“ Ăş o“ Â? rt É & _ h > Ă˝ aĂŻ –Ó Ă&#x; o_ Â? 8 x Ăş o˜ Â? Ă“ Ă? & # h Q Ă´ Ç .

– V \4) r1 \  y Âœz Š ™& ÂŒ s h Â? H t & s h t & " h

` ĂŽ ÂŚ Âœz Š y ™1& ÂŒ Ăœ h Ÿ– Ă? Ă‹ ¨Â€ r2 \  t & s h y Âœz Š ™& ÂŒ h “ Ă˝ > a e Â? ” Ht Âś ˜( Ăş R˜ Ă?“ ÂŚe Ăœ ” Ÿ€ Ă‚ Ă’ t & s h y Âœz Š ™& ÂŒ “ h — ¸ÂŽ H> Ă˝ a_ t & " h

` ĂŽ ÂŚ Âœz Š y ™1& ÂŒ Ăœ h Ÿ– Ă? Ăľ H . 6.2.3

Assertions

create assertion sum-constraint check (not exists (select * from branch where (select sum(@ /Ă˜ ÂŚĂ“ o) from loan Â? where loan.t & " h

= branch.t ĂŽ & " h

) ĂŽ >= (select sum(ĂŻ –Ó Ă&#x; o) from account Â? where account.t & " h

= branch.t ĂŽ & " h

))) ĂŽ

SQL; c" eY c p º“ ¤+ ÇV s Ă‹ R

• SQL\  " f� HÛ Ÿv \ Œ&

_ Ăą ½ ÉM + :Ăź @Ă‚ Ă’v \ ÂŚ"

r ĂŽ Ă‰Ăƒ + ½ Âşe ” .

• Ă&#x; ĂŠ& –

ĂŤ Ăą H` Œ‚ ƒ € r Ă› Âź% 7 ›“ r€ É $ ĂŠ –& Ă&#x;

ĂŤ Ăą H_ Ă„ Âť ´ ò$

` Ă­ ÂŚ ÂŽ Ă´ Ç . ĂŠ –& Ă&#x;

ĂŤ Ăą Hs Ă„ ´ ò € s ĂŠ ĂŞX <s ' Z Â…s Ă› ÂźÂ

“ â rĂŠ É –& Ă&#x;

Í ù H` Œ0 AC t ¡ §� ú H

Ă„ â Âş \  Í –) Ă&#x; ‡6 xÂ?  a ) .

– V \) account › a> ' _ t & " h

5 ĂŽ q$ Ă…

_ Ă­ &

_ Ăą & t " h

char(15) references branch ĂŽ • SQL\  " f‚ Ă?› Ăƒ ¸à º $

s Ă­ 0 AC á &€ l ‘ r& : Ăœ h Ÿ– Ă?Â? H Ă• ÂŞÂƒ Ă­ –“ Ă&#x; r É Ă‚ Ă’Â? a ) . Ă‚ Ă’ t ¡ §Â“ Ăş Œ› aÂş ' Ăˆ Ă’e ÂŚ` ÂŚ •] ÂŒ j¢ ¸Â? HĂŒ t q Â’ “ ÂŚ € 6 §þ ÂŁ °  s Ăş 5 q$ Ă…

` Ă­ ÂŚ

_ ù & ô Ç .

6.4

² ÂŽP

• ç Ăƒh (trigger)Â? HX <s ' Z Â…s Ă› Âź\  @ /Ă´ ÇÂ

_ â side effect– Ă? 1 xĂœ l Ÿ– Ă?Ăƒ Âş' Â?á Â&#x; &Â? H ĂŤÂ H Âœ` Š Ϋ Â˜Ă´ Ăş Ç .

create table account ( > ý a  ù char(10), t & " h

char(15), ĂŽ –Ó Ă&#x; ĂŻ o integer, Â? primary key (> Ă˝ a  ù), foreign key (t & " h

) references branch ĂŽ on delete cascade on update cascade, check(ĂŻ –Ó Ă&#x; o >= 0)) Â?

• Ă Ă”o B j& m 7 §_ ÂŁ ½ ¨$

Ă­ – Ă Ă”o z ´Â? ' Â&#x;| c› ¨ ¸| : › ¸| _ t &

“ Ăą rl É d ‹ ç ĂƒĂź <s ™à $ Ă” Âľ Ă?Ă’ 1 t q % ` i ÂŚM :ĂŤ –7 Ă&#x; ¤K ĂĄ HÂœ Â? ¿ž >Âż

Âş t \ ÂŚt &

Ă´ Ăą Ç . – Ă Ă”o z ´Â? ' Â&#x;á &% ` 3 ÂŚM :2 [½ Éj + š Ă&#x;ž â s Ă Ă”o — ¸4 q` S ÂŚ event-condition-action — ¸q 4 S s Ă´ Ç . 2


– Ă Ă”o Â? H | s Âľ Ă?Ă’ 1 tĂ´ q ÇÊ êá rĂŤ – Ă&#x; m Âľ Ă? 1 t q Ă’ l „ \  6 x½  Ă‰Ăƒ + Âşe ” . s M :Â? H after @ / Â’ \  before\ ÂŚ 6 xĂ´  Ă‡ .

create trigger 1 x@ l /Ă˜ ÂŚ after update on account referencing new row as nrow for each row when nrow.ĂŻ –Ó Ă&#x; o<0 Â? begin atomic insert into borrower (select “ ÂŚĂŒ o" Â?

, > Î ý a  ù from depositor where nrow.> ý a  ù = depositor.> ý a  ù); insert into into loan values (nrow.> ý a  ù,nrow.t & " h

,−nrow.ĂŻ ĂŽ –Ó Ă&#x; o); Â? update account set balance = 0 where account.> Ă˝ a  ù = nrow.> Ă˝ a  ù end

– Â

s â & 6 h xÂ?  ay ) Â•Ăˆ ÂŒ Ă’e ÂŚ\  @ /K Ă Ă”o \ ÂŚz ´ ' Â? Â&#x; t ¡ §Â“ Ăş ÂŚĂ´ Ç SQL ĂŤ H Âœ\ Š  @ /K ĂŠ –{ Ă&#x; 9 Â? ' Â&#x;1 x l ÂŚ ` • ¸2 ¤½ Â&#x; Ă‰Ăƒ + Âşe ” . s M :Â? H for each row @ / Â’ \  for each statement\ ÂŚ 6 xĂ´  Ă‡ . „ Â? HÂ? ' Â&#x;Ăƒ ºï rĂ Ă”o 9, ĂŠ ĂŞ Â? HĂŤ H Âœ Š Ăƒ ºï rĂ Ă”o Ă´ Ç . _ SQL ĂŤ H ÂœĂœ Š Ÿ– Ă? # ÂŒ Q' Â?` Â&#x; ÂŚĂƒ Âş&

Ăą % Ăœ i Ÿ€ ' Â?Ăƒ Â&#x; ºï rĂ Ă”o Â? H y •Â? ÂŒ ' Â&#x; z ´' Â?Â? Â&#x; a ) . ĂŹ Ă?€ ø \  Í HŠ  Ăƒ Âœ ºï rĂ Ă”o Â? HĂ´ Ç Í –z Ă&#x; ´Â? ' Â&#x;Â? a ) . – for each statement` ÂŚ 6 x  Â€ referenc ing old table as ¢ ¸Â? H referencing new table as\ ÂŚ 6 x½  Ă‰Ăƒ + Âşe ” . s e r ” _ Â…s ^ Œ“ r% É

ò Ă“` ž † ÂŚ~ ĂŽÂ? Ăƒ H— ¸ÂŽ HĂˆ Ă’e Œ– Ă?½ ¨$

Â? Ă­ a_ ) Â…s ^ ÂŚs 9, s Â? ' Â&#x;_ Â…s ^ ÂŚ(transition table)s Ă´ Ç . s Â? ' Â&#x; _ Â…s ^ ÂŚ` ÂŚ 6 x½  Ă‰ +

Ă„ â Âş\  Â? H afterĂŤ – Ă&#x; 6 x½  Ă‰ + Ăƒ Âşe ” .

<Õ ªa > 6.1> à Ë Ôo \ V] j 6.4.1

² ÂŽP 8 ýÇ Ă˝ m~ ÂżV Ă‹ R

– \ V2) create trigger abc after update on account referencing old table as oldTab new table as newTab for each statement ... # ÂŒl " f oldTab“ rĂŒ É t q Â’ Â? aĂˆ ) Ă’e ÂŚ_ " ! Âş Q„ Ăœ Âź – Ă?½ ¨$

Â? Ă­ a_ ) Â…s ^ ÂŚs “ ÂŚ, newTab“ rĂŒ É tÂ’ q Â? aĂˆ ) Ă’ ÂŚ[ e t– Ăž Ă?ĂŤ –½ Ă&#x; ¨$

Â? Ă­ a_ ) Â…s ^ ÂŚs .

• Ă Ă”o Â? H 6 x  \  > # Q‹ ĂŤ " H] j ÂœS Š ` ! Œ¡ ˜o Ăş Â? H Ăƒ ºÊ Â–Ăœ Ă&#x; Ÿ– Ă?¢ ¸Â? H# Q‹ › " ¸| s ĂŤ –7 Ă&#x; ¤á ĂĄ &% ` 3 ÂŚM : 1 x l Ăœ Ÿ– Ă?# Q‹  " •\ ÂŒ ` O ÂŚĂƒ ÂşÂ? ' Â&#x; Â? HĂƒ ºÊ Â–Ăœ Ă&#x; Ÿ– Ă?Ă„ Âť6 x  . • \ V1) > Ă˝ a_ ĂŻ –Ó Ă&#x; os Â? 6 §_ ÂŁ ° ‍`כ‏ Ăş ÂŚ t t 3 w l • ¸2 ¤ Â&#x; Â? H@ / Â’ \  6 §_ ÂŁ ° ‍`כ‏ Ăş ÂŚ t > á &€ Ă• ÂŞ \ ‍כ‏  K { Âœ Š Â? H@ /Ă˜ ÂŚ> Ă˝ a\ ÂŚĂŤ –[ Ă&#x; t• Ăž ¸2 ¤½ Â&#x; Ă‰Ăƒ + Âşe ” . – | : “ Ă˜ ÂŚ – › ¸| : “ Ă˜ ÂŚĂŠ ĂŞĂŻ –Ó Ă&#x; os Â? 6 §Ăƒ ÂŁ Âş á &€ – Â&#x; '1 Â? x: 1) loan › l a> ' \  D hĂˆ Ă’e ή Ă’ , 2) borrwer › a> ' \  D hĂˆ Ă’e ή Ă’ , 3) ĂŻ –Ó Ă&#x; o` Â? ÂŚ 0Ăœ Ÿ– Ă? & O [

Ăą

6.5

• SQL \ V) Õ ªa > 6.1 Ë

6.5.1

| ºŽ mĂŠ ˜ Ă?Ă&#x; Ăƒ Ă… | ºŽ m ˜ ߜ á ˆ

• € •_ ÂŒ & h “ ] H X _ 7 xĂ€ ĂĄ Ă“

– account › a> ' \  @ /Ă´ Ă‡ĂŒ t q Â’ s e ` ” ÂŚM : s Ă”o à ¸ ›| ` ÂŚ ÂŽ Ă´ Ç .

– q “ � aX ) <s ' { 9 l

– ô Ç \  # ÂŒ QÂ? ' Â&#x;s ĂŒ tÂ’ q | cĂƒ ¨ Âşe Ăœ ” ŸÙ Ÿ– Ă?ĂŒ t q Â’ &Â? á Hy ÂŒ •Â? ' Â&#x; › ¸| ` ÂŚ ÂŽ K Ă´ Ç . s :y M •' ÂŒ Â?s Â&#x; nrow Â? a ) .

– q “ Â? aX ) <s ' Ăƒ Âş&

ù – q “ � aX ) <s '

Ăľ

• X <s ' Z Â…s Ă› ÂźÂ˜ Ă?ĂŽ –“ Ă&#x; rs É Ăź <°  Â“ Ăş r€ É •_ ÂŒ & h “ ] H X Ăœ Ÿ– Ă?Ă‚ Ă’' X <s ' Z Â…s Ă› Âź\ ÂŚÂ˜ Ă? ù Â? H s ‍כ‏ .

• SQL\  " fĂ Ă”o  Â•$ ÂŒ

½ Ă­ ÉM + : 6 x½  Ă‰Ăƒ + Âşe Â? ” H‚ Ă— ˜ Ăž † Ă“ ½

• X <s ' Z Â…s Ă› Âź\ ÂŚÂ˜ Ă? ù l 0 AK " fÂ? H# ÂŒ QY Uš 6 \\  " f˜ Ă?ĂŽ Â–Ăƒ Ă&#x; ºÊ –` Ă&#x; ÂŚy Âœ½ Š ¨K Ă´ Ç .

– 0 xĂ´ p Ç | : update, insert, delete – q ĂŒÂ’ t \  @ /Ă´ Çà Ôo _

Ă„ â Âş\  Â? H: ¤& ÂŁ

5 Ăą q$ Ă…

Ă­ ÂŚt ` &

½ Ăą Ă‰Ăƒ + Âşe ” . 5 q$ Ă…

` Ă­ ÂŚt &

ù € s 5 q Å

s Ă­ $ ĂŒ tÂ’ q | c: ¨ M\  Â? HĂ Ă”o z ´Â? ' Â&#x;Â? a ) . create trigger 1 x@ l /Ă˜ ÂŚ after update of ĂŻ –Ó Ă&#x; o on account Â?

– X <s ' Z Â…s Ă› Âźr Ă› Âź% ›: 7 6 x  _ “ (auth orization) ] j€ •› Â? ¸| _ 0 AC á &t ¡ §Â• Ăş ¸2 ¤ K Â&#x; Ă´ Ç . – ĂŽ% r

^ ò ‰] j: X <s ' Z Â…s Ă› Âź r Ă› Âź% ›s 7 ĂŽ –„ Ă&#x; # Υ ¸Î r%

^ ò ‰] j ĂŽ –„ Ă&#x; t ¡ §Ăœ Ăş Ÿ€ X <s ' Z Â…s Ă› Âź\ ÂŚĂ„ Âş r # ÂŒq “ Â? a] ) X H` Œ½ Ă‰Ăƒ + Âş ” e .

– referencing new row asÂ? HĂŒ tÂ’ q Ăľ Âś š{ Ăş 9 ½ É + : M 6 xá  &9, •] ÂŒ j½ ÉM + :\  Â? H referencing old row as\ ÂŚ 6 xĂ´  Ă‡ . ¢ ¸ô Ă‡ĂŒ tÂ’ q ½ ÉM + :• ¸D h° ‍כ‏ Ăş ÂŚq ` “ § Â? H s ‍כ‏ m ĂŒ tÂ’ q „ ° ‍\כ‏ Ăş  à Ă”o \ ÂŚz ´' Â?K Â&#x; Â? H

Ă„ â Âş\  Â? H refer encing old row as\ ÂŚ 6 xĂ´  Ă‡ .

– W 1Ă Ă”0 >Ă&#x; Âź: @ /Ă‚ Ă’ĂŹ r_ X <s ' Z Â…s Ă› ÂźÂ? H Âś " ĂŠ Â? \  e Â? ” H9 t Ăž s ƒ à Ԗ Ă?Ă‚ Ă’' ] 5 X q` Ă… ÂŚ) ‡6 xĂ´  Ă‡ . " fs \  @ /Ă´ Ă‡Â˜ Ă?ĂŽ –s Ă&#x; € 9 ‍כ‏ š . 3


– ü Óo t & : ( h É Ó' [ u O a ) © è\ @ /ô Ç Ðî ß ¦´ ` ô ú Ç . DBA

– 6 x : ? /Â Ò 6 x B N / \ @ /K ~ Ó# ½ Q H s ‫כ‬ # © Q§ > .

U1

U4

U2

U5

U3

Ã ß Å

6.5.2

<Õ ªa > 6.2> ¶ Ë Ýô Ç0 Ae Õ ªA á Ô

• X <s ' ¸ õ aº ' # 6 x \ > 0 Ae ½ ÉÃ + º e H¶ Ýô Ç_ 7 á xÀ Ó

DBA

– 9 {l ¶ Ýô Ç: X <s ' _ 9l { H 0 x p t ë Ã ß º

ñ & r½ É ÉÃ + º\ O .

U1

– ú ¶{ ¶ 9 Ýô Ç: D hX <s ' _ ¶ { ú 9 r 0 É x p t ë ß º& Ã

ñ r½ É Éº + Ã\ O .

U3

<Õ ªa > 6.3> Ë ¶ô Ý Ç^ = o r\ @ /ô Ç/ N B

– q Ì t ¶ô Ý Ç: Ã º&

ñ r½ É ÉÃ + ºe t ë X ß <s ' \ ¦ ] j½ ÉÃ + º\ O .

6.5.4

– ] j ¶ô Ý Ç: X <s ' \ ¦ ] j½ ÉÃ + ºe .

Å R ¢ X üÆ È k

• # Q " ¶ô Ý Ç` ¦ t ¦e H 6 x H r É 6 x \ > ¶ Ýô Ç` ¦0 Ae ½ ÉÃ + ºe .

6 x \ > s ¸ H ¶ô Ý Ç` ¦× ¦Ã ºe ¦, { 9  Òë ß ¦Ã × ºe .

• ¶ Ýô Ç_ 0 Ae r q É Sø N 5 Ü «8 è «(authorization graph) Ð ³ ð ³½ & É Ã + º e . s Õ ªA á Ô_ ¸× ¼ H 6 x \ ¦ ? /9, o¶ ³ ú ð(edge) H ¶ô Ý Ç` ¦0 Ae ô Ç 6 x ü <0 Ae ~ Î Ã r É 6 x ç \ ß a> ' \ ¦ p · . X <s ' Z s Û ¼ ao ' Õ ªA á Ô_ À Òà Ô a ) . À Òà Ô\ " f 6 x t

â Ð(path) e # Q t ß ë 6 x HÕ ª¶ Ýô Ç` ¦ .

• Û ¼v ¸ õ aº ' # 6 x \ > 0 Ae ½ ÉÃ + º e H¶ Ýô Ç_ 7 xÀ á Ó – Ò o ¶ô Ý Ç: Ò o _ Ò t$ q

õ í ] j 0 x p . – " ¶ é ¶ô Ý Ç: D h a> ' _ Ò t$ q

s í 0 x p . –

â ¶ô Ý Ç: a> ' \ D h5 q$ Å

` í ¦Æ Ò a ' _ > l r5 > q$ Å

` í ¦ ] j½ ÉÃ + ºe .

– \ V) Õ ªa > 6.2 Ë s Õ ªA á Ô\ " fX <s ' Z s Û ¼ ao ' (DBA) U1 _ ¶ô Ý Ç` ¦^ = o r(revocation) U4 _ ¶ Ýô Ç ¸ 1 xÜ l ¼ Ð ^ = o r a ) . t ë U5 ß H U2 РÒ' ¸¶ Ýô Ç` ¦~ Î Ã ¤Ü ¼Ù ¼ Ð ¶ô Ý Ç` ¦Ä » t ô Ç .

– ] j ¶ô Ý Ç: a> ' \ ¦ ] j½ Éà + ºe . • ¶ " é¶ Ýô Ç` ¦ t ¦e H | Ðs à D h a> ' \ ¦Ò t$ q

í Õ ª | ÐÜ Ã ¼ Ð 1 xÜ l ¼ ÐÕ ª a> ' ü < aº ' a ) ¸ H¶ Ýô Ç` ¦~ Î Ã H . 6.5.3

U2

• ¶ Ýô Ç^ = o r\ ¦Ä º r l 0 AK ¿ º 6 x " f Ð\ > ¶ Ýô Ç` ¦× ¦Ã ºe .

Ã ß Å Ñ ÷ ½

• Â Ó\ ¦ 6 x HÅ Ò3 q& l × h æ H 6 x ^ ¦ 9 ‫כ‬ ¹ \ O HX <s ' \ ¦ 6 x ÐÂ Ò' ¸ ul n H s ‫כ‬ .

6.5.5

Ķ

W £; c6 ¢4 X G È

• X <s ' Z s Û ¼\ ¶ô Ý Çõ aº ' a% ) ½ i É(role)` + ¦&

ñ _ ¦, 6 x @ / \ % ½ i É\ + ¶ Ýô Ç` ¦0 Ae ½ ÉÃ + º e .

• 6 x a> ' \ ¦] H X ½ Éf + ] & X h ¶ Ýô Çs \ # O Q ¸Õ ª a> ' ÐÂ Ò' ë ß HÂ Ó\ @ /ô Ç] X H ¶ô Ý Ç r É 9 | Ã ºe .

• D h 6 x \ > H> hZ ¶ > Ýô Ç` ¦0 Ae l Ð H % ½ i É` + ¦Â Ò# # l r > r É 6 x ü <1 x{ l ô 9 Ƕ Ý Ç` ô ¦ t ¸2 ¤½ Éà + ºe .

• ¶ " é¶ Ýô Ç` ¦ t ¦e t · § ú ¸Â Ó\ ¦Ò t$ q

½ í ÉÃ + º e .

• ° ú r% É ½ i É` + ¦ H 6 x [ t\ þ > ° ú rd É Z > \ ¦  Ò# ¦ ¸¿ º° ú rd É Z > Ð] 5 X q Å ¸2 ¤½ Éà + º e . Õ ª Q s

Ä â º\ H × æ\ # Q " 6 x # Q " ' 0 A\ ¦ % i Ht ½ ¨ì r½ Éà + º\ O .

• Â Ó\ ¦Ò t$ q

ô í Ç 6 x Hl r& : Ü h ¼ Ðl r\ > t ¦e H¶ Ýô Ç\ K { © H¶ Ýô Çë ~ ß Î Ã H . – r a> ' \ @ /ô Ç{ 9 l ¶ô Ý Çs e H 6 x r a> ' \ ¦s 6 x # Â Ó v\ ¦Ò t$ q

í s 6 x H v\ @ /K { 9 l ¶ Ýô Çë S ß 1 \ qô p Ç .

6.5.6

– r a> ' \@ /ô Ç# Q " ¶ô Ý Ç ¸\ O H 6 x r a> ' \ ¦s 6 x # Â Ó v\ ¦Ò t$ q

í ¦ Â Ò a ) .

P p c ¼X Ä ì

• X <s ' Z s Û ¼ H´ Ô Ç Í Ù (audit trail)` \ ¦Ä »t ô Ç . y Æ Ò& s h ê ÍX ø <s ' Z s Û ¼

\ â @ /ô Çl 2 ¤(' 0 A, 6 x ,r ç 1 ß x)` p ¦Ä »t H ÐÕ ªs . 4


• grant Âś Ă?Ă´ Ç_ 0 Ae : with grant option ” 6 x Â

• y ™ ÂŒ Æ Ă’& Ăľ h ˜ Ă?ĂŽ –: ĂŤ Ă&#x; H] j Âľ Ă?Ă’ 1 t q % ` i ÂŚM :Âľ Ă?Ă’ 1 tÂś q " ĂŠ “ Ăľ Ă• ÂŞ ` ‍כ‏ ÂŚ{ 9 Ăœ ٠ 6 x  \ Œ¡ ˜ Ăş è qĂƒ ­ Âşe ” .

6.6

SQL; c" eĂ&#x; Ă… Ăƒ

6.6.1

SQL; c" eĂ… R”  ¢ X

grant select on account to U1 with grant option • œ �ô Ç_ ^ = o r: revoke "

§ Î

ĂŽ 6 x  revoke < ϙ Ă? Ç3 q2 l ¤> Â&#x; on < › a> ' s 2 §¢ ÂŁ ¸Â? HĂ‚ Ă“s 2 §> ÂŁ from < 6 x  ¢ ¸Â? H% ½ i É3 + q2 l ¤> Â&#x; [restrict|cascade]

• Âł Ă°ĂŻ r SQL\  " f] j/ Ná B &Â? H ϙ Ă? Ç_ 7 xĂ€ ĂĄ Ă“: delete, insert, select, update, references, grant – select Âś Ă?Ă´ Ç: { l 9 ϙ Ă? Ç\  K { Âœ Š – references ϙ Ă? Ç: › a> ' \ ÂŚĂŤ –[ Ă&#x; tM Ăž :Ăź @Ă‚ Ă’v \ ÂŚ 6 x½  Ă‰Ăƒ + Âşe Â? ” H ϙ Ă? Ç` Ϋ Â˜Ă´ Ăş Ç . – grant ϙ Ă? Ç: ϙ Ă? Ç` ÂŚ0 Ae ½ ” Ă‰Ăƒ + Âşe Â? ” HÂś Ă?Ă´ Ç` ÂŚ Â˜Ă´ Ăş ´ Ç . 6 x  Â? Hl ‘ r& : Ăœ h Ÿ– Ă? ϙ Ă? Ç` ÂŚ Â? r É 6 x  % ½ i É\ +  > 0 Ae ½ ” Ă‰Ăƒ + Âş\ O .

cascadeĂŞ Ă?Âś ø Ă?Ă´ Ç_ ^ = o r– Ă? Â? r É 6 x  _ Âś Ă?Ă´ Ç t 1 x(ƒ l W^ = o r)Ăœ Ÿ– Ă?^ = o rá &Â? H ` ‍כ‏ Ϋ Â˜Ă´ Ăş Ç . cascade l ‘ rs : Ă™ Ÿ– Ă?s ` ‍כ‏ ÂŚ" Âś ĂŠ € Ă’ t| q ĂŒ½ Ă„ Ă‰Ăƒ + Âş ” e . restrict\ ÂŚ 6 x  Â€ € $ s Ăľ ‍כ‏ ƒ › a ' # ÂŒ 1 xĂœ l Ÿ– Ă?^ = o r+ É ½ s ‍כ‏ e Â? ” Ht ÂŽ “ ÂŚe Ăœ ” Ÿ€ Ă‚ Ă’Ă´ Ç .

• œ �ô Ç0 Ae : grant " ”

§ Î

ĂŽ grant < Âś Ă?Ă´ Ç3 q2 l ¤> Â&#x; on < › a> ' s2 §¸ ÂŁ ¢Â? HĂ‚ Ă“s 2 §> ÂŁ to < 6 x  ¢ ¸Â? H% ½ i É3 + q2 l ¤> Â&#x;

6.6.2

SQL ĂŞ > ˜ +ø 5 N

• > hZ Ăˆ > Ă’e ÂŚ\  @ /Ă´ ǜ Ă?Ă´ Ç` ÂŚ0 Ae ½ ” Ă‰Ăƒ + Âş\ O . • R Ă› /_

Ă„ â Âş\  Â? H> hZ d > Z ” > @ / Â’ \  Â˜ Ă?: x“ Â&#x; r É _ d Z ” > \ ÂŚ: xK Â&#x; ] H X • ¸2 ¤ô Â&#x; Ç . " f SQL \  " f ϙ Ă? Ç` ÂŚ ÂŽ l ˜ Ă? Â? H6 x6 ÂŁ x"  f! Q\  " fÂś Ă? Ç` Ă´ ÂŚ ÂŽ Ă´ Ç . Ă• ÂŞ Q s X > O € ) ‡& s h ” rF > ÉS + ½ ‰Ò X ÂŚs ´ § Ăş .

• \ V) 6 x  U1 , U2 , U3  \> account › a> ' \  @ /Ă´ Ç select ϙ Ă? Ç` ÂŚ0 Ae ” . grant select on account to U1 , U2 , U3 • update ϙ Ă? Ç` ÂŚ0 Ae ½ ” É: + M\  Â? HĂƒ Âş&

½ Ăą Ă‰Ăƒ + Âşe Â? ” H5 q Ă…

` Ă­ $ ÂŚt &

½ Ăą Ă‰Ăƒ + Âşe ” . \ V) 6 x  U1 , U2 , U3  \> loan › a> ' Ă— ĂŚ@ /Ă˜ ÂŚĂ“ o Â? 5 q$ Ă…

\ Ă­  @ /Ă´ Ç update Âś Ă?Ă´ Ç` ÂŚ0 Ae ” . grant update (@ /Ă˜ ÂŚĂ“ o) on loan to U1 , U2 , U3 Â? • references ϙ Ă? Ǔ r‚ É Ă?› Ăƒ ¸½ Ă‰Ăƒ + Âşe Â? ” HĂ… Ă’v \ ÂŚt &

Ăą K Ă´ Ç . \ V) 6 x  U1 \  > branch › a> ' _ Ă… Ă’v “ t & " h

ĂŽ Œ‚ ` Ă?› Ăƒ ¸½ Ă‰Ăƒ + Âşe Â? ” HÂś Ă?Ă´ Ç` ÂŚ0 Ae ” . grant references (t & " h

) on branch to U1 ĂŽ references Âś Ă?Ă´ Çs € 9 ‍כ‏ šô Çs Ă„ ÂťÂ? H‚ Ă?› Ăƒ ¸à º $

\ Ă­  " fÂś Â˜Âź Ăş ‘ # r : Ăź <°  s Ăş Ăź @Ă‚ Ă’v \ ÂŚ 6 x  Â€ •] ÂŒ jĂź < t q ĂŒ Â’ ƒ Ă­ –\ Ă&#x;  %

† ò Ă“` ž ÂŚĂ… Ă’l M :ĂŤ Hs . • — ¸ÂŽ H ϙ Ă? Ç` ÂŚ0 Ae ½ ” É: + M\  Â? H all privileges` ÂŚ 6 x  Ă‰Ăƒ + ½ Âşe ” . • & ‰F Âł 6 x  á rĂŤ – Ă&#x; m p A _ 6 x  \  > • ¸ — ¸¿ Âş ϙ Ă? Ç` ÂŚ Ă— ÂŚ : M\  Â? H 6 x  d Z ” > @ / Â’ \  public` ÂŚ 6 x½  Ă‰Ăƒ + Âşe ” . • % ½ i É_ + Ă’ t$ q

“ Ă­ É r 6 §þ ÂŁ °  s Ăş Ă´ Ç . create role teller s % ½ i É\ +  œ Ă?Ă´ Ç0 Ae “ ” r grant " É

§ Î

` ĂŽ ÂŚs 6 xĂ´  Ă‡ . grant select on account to teller # Q‹ " 6 x  \  >% ½ i É` + Œ½ É{ + Âœ½ Š ÉM + :\  Â• ¸ grant "

ĂŽ

` ĂŽ § ÂŚs 6 xĂ´  Ă‡ . grant teller to john 5


c °2003, sangjin@kut.ac.kr

6 x6 £ x\ " fs À Ò# Qt > a ) . ÷ rë ß m s ` ‫כ‬ ¦ Å Òv Ð 6 x f ¶ " és  Ò" f\ ¦` U ´M :f ¶ " és H ¸ H/ M` B ¦Ã º&

K ñ ô Ç .

2T 6 ' _9 KT Ã : ~ ¡q ç { ¡È 06

• ¸y 9q ¶ " é & 5 h q$ Å

s í Ä »6 x½ Éà + º ¸e . Õ ªX O l M :ë H\ X <s ' Z s Û ¼\ " f4 ¤½ Ë5 + q$ Å

` í ¦] j/ N B Ç ô .

A. Silberschatz, H. Korth, S. Sudarshan Database System Concepts, Fourth Edition, McGraw-Hill, 2002.

7.2

Part II. Relational Databases

Ë4 ¾ å ] ù6 k KT ' [9 cT ­ ‫כ‬ Ç4 r S ] ¤X K Ë N

• ¸ 3 ú w[ l > O Ð K µ ÏÒ 1 t q Hë H] j& h – X <s ' _ × æ4 ¤ – : ¤& £

& ñ

ñ Ð_ ³ ð ³Ô & ¦ 0 x p

Ë4 ¾ å ] ù6 k KT ' [9 cT ­ 8 ý‫כ‬ Ç4 r

7

• \ V) loan, borrower, branch a> ' \ ¦ 6 x H@ / \ 6 §õ £ ° ú r É _ a> ' ë ` ß ¦ 6 xô Ç ¦ .

• 3 q³ l ð – Ô ¦ ‫כ‬ 9 ¹ > × æ4 ¤$ ÷ © & H ` ‫כ‬ ¦× ¦s H . ‫כ‬ (× æ4 ¤s ´ §Ü ú ¼ $ / © Nç B s ß z q © ÷ &9, q { 9 a$ '

s í íA | cS ¨ Ò X ¦s Z } .)

Lending-schema = (t & " h

,t î & - h ¸r , í , ß ¦Ì o"

,@ î /Ø ¦ ñ,@ /Ø ¦Ó o)

– ñ &

Ð Ò o` ¦´ òÖ ¦& Ü h ¼ н Éà + ºe > Û ¼v ¦& \

_ ñ H ‫כ‬

– ' << Ö K 1. t & õ h aº ' a& )

ñ Ð × æ4 ¤ a ) . $ / © Nç B s ß z q © ÷ & ¦e Ü ¼9, t & ñ h

& Ð_ Ì t q s # Q§ > . \ V) t & _ h í & ß

ñ Ð_

â

• s 3 q³ l ð\ ¦Ø æ7 ¤r á v l 0 Aô Ç~ ÓZ ½ × O æ HÇ Ä a ª C(normal form)\ f Ì ´ > ú Û ¼v \ ¦&

_ ñ H ‫כ‬ s .

– s \ V\ " ft & s h Å Ò# Qt Õ ª _ ‫כ‬ í ß r É 1 q: l ¤ £ > &

ñ a ) . Õ ª Q ô Ç t & \ h # Q @ /Ø ¦s e ` ¦ Ã º e Ü ¼Ù ¼ Ð t & h r @ É /Ø ¦ ¦ ` &

½ ñ ÉÃ + º\ O . " ft & " h

õ î í ß r É Á þÊ Á¤ 4¢ ´(functional dependency)s 4 e ¦ 9, 6 §õ £ ° s ú ³ ð ³ô & Ç .

• a ÇÄ ª ª(normalization)ê Í < ø Xs ' \ ¦ X <s ' Z s Û ¼\ ´ òõ & Ü h ¼ Ð ¸f o Hõ &

Ü ñ ¼ Ð, &

½ ñ ©+ A þ rs É õ &

\ ñ " f Ð Ã ¦½ Éà + ºe Ht g >s Ë .

7.1

& t " h

→ î í ß

g1 X < Ë N ] ù k

• ' > a Û ¼v R_ ¸ H5 q$ Å

_ í ¸B j s ¶ " é & h s R r] É j1 &

½ ñ ©+ A(1NF)\ þ 5 qô Å Ç ¦ô Ç .

• 5 q$ Å

_ í ¸B j s " ¶ é & s h u ´M :µ ÏÒ 1 t½ q ÉÃ + ºe Hë H] j

t ë t ß & " h

õ î @ /Ø ¦ ñ H Êà < º7 x5 á q Å a ' > \ O . 7 x5 á q Å a> ' \ O H ‫כ‬ r É r É a ' > \ ¦: xK ? / H s ‫כ‬ | Ðf à . Êà < º 7 x5 á q` Å ¦ r´ É ú ÐÄ »{ 9 ° ‫]כ‬ ú j ¸| (unique value constraint)s ô Ç . 7 ¤, £ Êà < º7 x5 á q Å r É a> ' Ø æ7 ¤K á H] j ¸| × æ s .

– 4½ ¤ Ë5 + q$ Å

\ í " f[ jÂ Ò 9 × ¼\ ¦Æ ÒØ ¦ HÂ Ò h & á Ô ÐÕ ªA b

s ç ‫כ‬ 9 ¹½ ÉÃ + ºe .

– ' << Ö K 2. @ /Ø ¦s \ O Ht & \ h aô ' Ç&

ñ Ð\ ¦f X ] è qà ­ º\ O . V ° , ‫`כ‬ ú ¦ 6 x½ Éà + ºe t V ß ë ° , ‫ כ‬ ú r% É o l # Q§ > .

• 4 ¤½ Ë 5 + q$ Å

(\ í V: Å Ò è)õ × æ° ‫ כ‬5 ú q$ Å

(\ í V: o ñ) r¶ É " é & 5 h q$ Å

s í m .

– < Xs ' × æ4 ¤_ 0 x$ p

: \ í V) depositor a> ' / @ \ customer a> ' \ > ý a_ | 9 ½ Ës + H × æ° ‫כ‬5 ú q$ Å

` í ¦Ò Æ ¦, account a> ' \ ¦ o_ Ì | 9 ½ Ës + H × æ° ‫כ‬5 ú q$ Å

` í ¦Æ Ò Ù ¡` þ ¦

Ä â º

7.3

¤ K ] ¤ Þ Ò × Ò

7.3.1

M Ä Ø4 ] G È

Ë8 N X ý 7.1 (Á Ê þ Á¤ 4¢ ´). 4 a> ' Û ¼v R, α ⊆ R, β ⊆ Rs e ` ¦ M :, ¸ H & Z h ô O Ç a> ' r(R)\ " f t1 [α] = t2 [α]` ¦ë 7 ß ¤ á H r\ 5 qô Å Ç ¸ HÈ Òe ¦ t1 õ © t2 \ @ / K t1 [β] = t2 [β]s 6 §õ £ ° ú r É Êà < º7 x5 á qs Å a> ' Û ¼v R\ $

w í n ô Ç ¦ô Ç .

• ¸B j ` ¦z ´] jX <s ' Z s Û ¼\ # Qb G> 6 x Ö ¼ × æ‫כ‬ ¹ . • \ V) f " ¶_ é d Z > ñ\ ¦ CS0012% !  3 Ò" f d Z > (CS)ü < Ò" f? /_ f ¶ " é_ ¦Ä » ñ(0012)\ ¦½ Ë + 5 gë ß H ¦ . s

Ä â ºs ¸B j r¶ É " é & h 5 q$ Å

s í m . s ü <° ú r É

Ä â º\ f ¶ " és è5 q Å a )  Ò" f\ ¦· ú ¦z ·Ü ¼ d Z > ñ\ " f· ¡¿ ú ºë H \ ¦ Æ ÒØ ¦ H Â Ò & h á Ô ÐÕ ªA b

s ç ‫כ‬ 9 ¹ > a ) . s ‫כ‬ rX É < s' Z s Û ¼\ " fs À Ò# Qt t · § ú ¦

α→β

¤

Ë8 N X ý 7.2 (Ê Á( xo ). a> ' Û ¼v Rõ K ⊆ R e ` ¦ M :, K → Rs $

w í n K H R_ Ã º( v s . ¤ 1


– Borrower-schema: \ 6 O § £

• Êà < º7 x5 á q Å r É 6 §¿ £ º t 6 x ¸ Ð 6 xô Ç .

– Account-schema

– Q # " a> ' Å Ò# Q Êà < º7 x5 á q| Å 9 ½ Ë` + ¦ë 7 ß ¤ á Ht l 0 Aô Ç x 6 ¸ Ð 6 xô Ç . a ' rs > Å Ò# Q Êà < º7 x5 á q| Å ½ 9 Ë F\ + ¦ë 7 ß ¤ á r r F\ É ¦Ø æ7 ¤ô á Ç ¦´ ô ú Ç .

> ý a ñ → ï Ó ß o > ý a ñ → t & " h

î

– Ò Å# Q a> ' \ ] j ¸| ` ¦"

r î l 0 Aô Ç x 6 ¸ Ð 6 xô Ç . Êà < º7 x7 á ¤| á ½ 9 Ë F\ + ¦Ø æ7 ¤ á H a> ' Û ¼v R_ a> ' ë ß À Ò ¦ F H R\ " f$

w í n ô Ç ¦´ ô ú Ç .

– Depositor-schema: \ 6 O § £ 7.3.2

• < Ã Ê º7 x5 á q| Å ½ 9 Ë F` + ¦Ø æ7 ¤ á H ¸ H a> ' r(R)s a> ' Û ¼v R\ @ /ô Ç Êà < º7 x5 á q f\ Å ¦Ø æ7 ¤ á f H F\ Ho 7 & Ü h ¼ Ð? / í÷ &# Qe ¦ô Ç .

• \ V1) 6 §õ £ ° ú r É a> ' rs e ¦ . A a1 a1 a2 a2 a3

B b1 b2 b2 b3 b3

C c1 c1 c2 c2 c2

¤ K ] ¤ Þ Ò ×ù Ò É¶ m ¥8 ýR nÌ c ö

D d1 d2 d2 d3 d4

• \ V1) a> ' Û ¼v R = (A, B, C, G, H, I)õ R\ " f$

w í n H 6 §õ £ ° ú r É ÊÃ < º7 x5 á q| Å 9 ½ Ës + e ¦ . A → A → CG → CG → B →

– A → C HØ æ7 ¤ á a ) . Õ ª Q C → A HØ æ7 ¤ á &t ÷ · § ú H . – AB → D ¸Ø æ7 ¤ á a ) . • ¸ H a> ' \ " f Ø æ7 ¤÷ á & H Êà < º 7 x5 á q Å r É Ã (triZ vial) ¦´ ô ú Ç . \ V) A → A, AB → A

B C H I H

Õ ª Q s ÊÃ < º7 x5 á q| Å 9 ½ Ë + r A → H\ É ¦ Ho 7 & Ü h ¼ Ð? / í ¦e .

• β ⊆ αs ÊÃ < º7 x5 á q α → β Å r É "

î .

• F_ ¶ Ò× Ç (closure)s Ï ê Í F\ ø _ K Ho 7 & Ü h ¼ Ð? / í ¦ e H ¸ H ÊÃ < º 7 x5 á q_ Å | 9 ½ Ë` + ¦ ´ ú 9, F + Ð p · .

• \ V2) customer a> ' – ‘ ¦Ì o- o → ¦Ì o- ¸r ’ Êà < º7 x5 á q` Å ¦Ø æ7 ¤ á Ç ô . Õ ª Q Ð: x" f Ð r É ¸r \ ° ú r É o "

s î e ` ¦Ã ºe Ü ¼Ù ¼ Ð ‘ ¦Ì o- o → ¦Ì o- ¸r ’ Êà < º7 x5 á q Å r customer É a> ' \ " f

w í $ n t · § ú H .

• Armstrong r F +\ É ¦½ ¨½ ÉM + : 6 x½ Éà + ºe H 6 § £ ° õ ú r/ É No B (axiom) ¢ ¸ HÆ Ò r½ : ©g :` Ë ¦] jî ß % i .

– ï ^ B ¢. # Q " a> ' # Q " Êà < º7 x5 á q` Å ¦Ø æ7 ¤ á ¦e # Q ¸Õ ª Êà < º7 x5 á qs Å Õ ª a> ' \ $

w í n ô Ç ¦´ ½ ú ÉÃ + º H\ O .

– 5 ð Ä ªÓ (reflexivity rule): α 5 Ï q$ Å

_ í | 9 Ës + ½ ¦ β ⊆ α $

w í n α → β $

w í n ô Ç . – 7 È Ä ªÓ (augmentation rule): α → β $ Ï

í n w ¦ γ 5 q$ Å

_ í | ½ 9 Ës + γα → γβ $

í n w ô Ç .

• \ V3) loan a> ' – ‘@ /Ø ¦ ñ → / @Ø ¦Ó o’ Êà < º7 x5 á q` Å ¦Ø æ7 ¤ô á Ç . ¢ ¸ô Ç ‘@ /Ø ¦ ñ→@ /Ø ¦Ó o’ Êà < º7 x5 á q Å r É loan a> ' \ " f$

w í n ô Ç .

– Í Ùl Ä ªÓ (transitivity rule): α → βü Ï <β → γ $

w í n α → γ $

w í n ô Ç .

• r É ' X <s ' Z s Û ¼\ $

w í n K H ÊÃ < º7 x5 á q Å

Armstrong_ / No B H| (sound) 9 ¢ a (com plete) . 7 ¤, ¸ £ 3 ú w l a ) Êà < º7 x5 á q` Å ¦ë [ ß t# þ Q? /t · §Ü ú ¼9, s / No B [ t` þ ¦s 6 x ¸ H F +` ¦Ò t$ q

í ÉÃ + ½ ºe . Õ ª Q Armstrong_ / No B \ ¦& 6 h x # F +` ¦Ò t$ q

í H ‫כ‬ rÔ É ¦¼ # . " f Ð: x 6 § £ ¦ `½ ©g :` Ë ¦ 6 xô Ç .

– Branch-schema & t " h

î

& t - h ¸r

& t " h

î

í ß

¦Ì o"

î

¦Ì o- ¸r

¦Ì o"

î

¦Ì o- o

– Customer-schema

– r ÚT

¼Ä Ò ªÓ (union rule): α → βü Ï < α → γ

w í $ n α → βγ $

w í n ô Ç . – & B P Ä ªÓ (decomposition rule): α → βγ Ï

w í $ n α → βü < α → γ $

w í n ô Ç .

– Loan-schema

– + Í Ùl Ä ªÓ (pseudotransitivity rule): Ï α → βü < γβ → δ $

w í n αγ → δ $

í n w ô Ç .

/Ø @ ¦ ñ → @ /Ø ¦Ó o /Ø @ ¦ ñ →

t & " h

î 2


F+ = F F + t · §` ú ¦M : t 6 §` £ ¦ì Í4 ø ¤ F +\ e Hy Êà < º7 x5 á q f\ Å @ /K f\ ì Í ø ½ ©g :õ Ë S @ X /½ ©g :` Ë ¦& 6 h x h D Êà < º7 xÅ á q 5` ¦ F +\ Æ Ò F +\ e Hy Êà < º7 x5 á q Å f1 , f2 \ © @ /K Òs Æ ½ ©g :` Ë ¦h &6 x h D Êà < º7 x5 á q` Å ¦ F + \Æ Ò

7.4

Ë N X & ! a

• < Ã Ê º7 x5 á q| Å ½ 9 Ë F $ +

w í n H a> ' Û ¼v R\ @ /ô Ç a> ' r(R)s e ` ¦M :, s a> ' \ @ /ô ÇÌ t q r F\ É ¦Ø æ7 ¤K á ô Ç . • s \ ¦~ > 1 l 0 AK Ô ¦ ‫כ‬ 9 ¹ô Ç Êà < º7 x5 á q` Å ¦ F\ " f] j ô Ç . • Å Ò# Q Êà < º7 x5 á q| Å ½ 9 Ë F\ + 5 qô Å Ç# Q " Êà < º7 x5 á q Å α → β\ " fA ∈ α¢ ¸ H A ∈ β\ ¦] j # ¸ F + t · §Ü ú ¼ A H# b& ¢ P ´Å 4 (extraneous ] attribute)s ô Ç .

<Õ ªa > 7.1> F + \ Ë ¦> í ß H· ú ¦o 7 § £ result := α result ½ ÉM + : t 6 §` £ ¦ì Í4 ø ¤o β → γ ∈ F\ y @ /K β ⊆ results result:=result ∪ γ;

• # ì r5 q$ Å

_ í &

_ ñ – A ∈ α\ @ /K F (F − {α → β}) ∪ {(α − A) → β}\ ¦ Ho 7 & Ü h ¼ Ð? / í ¦e Ü ¼ A H α\ " f# ì r&

ñ Ðs .

<Õ ªa > 7.2> α+ \ Ë ¦> í ß H· ú ¦o 7 § £ • Armstrong_ / No B \ ¦ s6 x # F +\ ¦> í ß H· ú ¦o 7 §: Õ £ ªa > 7.1 Ë

– B ∈ β\ @ /K (F − {α → β}) ∪ {α → (β − B)} F \ ¦ Ho 7 & Ü h ¼ Ð? / í ¦e Ü ¼ B H β\ " f# ì r&

ñ Ðs .

• Armstrong_ · ú ¦o 7 §` £ ¦s 6 x # F +\ ¦> í ß H ‫כ‬ r~ É t 1 · § ú .

• \ V1) F \ AB → Cü < A → C e Ü ¼ AB → C\ " f B H# ì r5 q$ Å

s í .

7.3.3

• \ V2) F \ AB → CDü < A → C e Ü ¼ AB → CD\ " f C H# ì r5 q$ Å

s í .

×V Ò ËÉ R ù m¶ ¥8 ýR nÌ c ö

• α 5 q$ Å

[ í t_ þ | 9 ½ Ës + ¦, ÊÃ < º7 x5 á q| Å ½ 9 Ë F Å + Ò # Q& ` ¦M :, F \ / @ô Ç α_ { j µs Ë ê Í F\ ø α\ _ K &

÷ ñ & H ¸ H5 q$ Å

_ í | 9 ½ Ë` + ¦´ ú 9, α+ Ð p · .

• < Ã Ê º7 x5 á q α → β\ Å " f# ì r5 q$ Å

# í Â Ò\ ¦´ òÖ ¦& h Ü ¼ Ð H~ ÓZ ½ O – A ∈ β\ @ /K " f H F 0 = (F − {α → β}) ∪ {α → (β − A)}

• α+ \ ¦> í ß H· ú ¦o 7 §: Õ £ ªa > 7.2 Ë

`> ¦ í ô ß Ç 6 § F 0Ü £ ¼ РÒ' α → A\ ¦Ä »Æ Ò Éà + ½ ºe Ht ô Ç . s \ ¦0 AK F 0\ @ / Ç α+ \ ô ¦> í ô ß Ç 6 §\ £ A α+ \ í Ê÷ < & H t S X ô Ç . ë ß í Ê÷ < & A H β\ " f# r5 ì q$ Å

s í .

– β ⊆ results ì Í ø ½ ©g :\ Ë _ K result → β $

w í ô n Ç . " f β → γ $

w í n Òs Æ ½ ©g :\ Ë _ K result → γ $

w í ô n Ç . • \ V1) (AG)+ _ > í ß

– A ∈ α\ @ /K " f H $ γ = α − {A}\ ¦> ß í ¦ γ → β\ ¦ F РÒ' Ä »Æ Ò½ Éà + ºe H t ô Ç . s \ ¦0 AK F\ @ /ô Ç γ+\ ¦> + ô ß í Ç 6 §\ £ γ \ β_ ¸ H5 q$ Å

s í í Ê÷ < & Ht S X ô Ç . ë ß í Ê÷ < & A H α\ " f # ì r5 q$ Å

s í .

– result = AG – A→BM :ë H\ result = ABG – A→CM :ë H\ result = ABCG – CG → H : Më H\ result = ABCGH – CG → I M :ë H\ result = ABCGHI

• \ V3) F \ AB → CD, A → E, A → C í Ê÷ < & # Qe ` ¦M : AB → CD\ " f C H# ì r5 q$ Å

í ?

• 5 q$ Å

_ í { j µ· Ë ú ¦o 7 §_ £ 6 x ¸

– F 0 = {AB → D, A → E, A → C}

– Á Ê( xo +~ É : α+ \ ¦> í ß # , s | 9 ½ Ë\ + ¸ H R_ 5 q$ Å

s í í Ê÷ < & α H R_ à º( v a ) .

– (AB)+ = ABCDEs Ù ¼ Ð C H AB → CD\ " f# ì r5 q$ Å

s í .

– < Ã Ê º7 xÅ á q 5 α → β_ $

w í n # Â Ò : α+ \ β í Ê÷ < & α → β H$

w í n ô Ç .

• \ V4) F \ AB → CD, A → E, A → C í Ê÷ < & # Qe ` ¦M : AB → CD\ " f D H# ì r5 q$ Å

í ?

– F +\ ¦ > í ß H ~ ÓZ ½ : y O γ ⊆ R\ @ /K γ+\ ¦> í ß ¦, y S ⊆ γ\ @ /K ÊÃ < º7 x á q γ → S\ Å 5 ¦ F +\ Æ Ò ô Ç . s ~ ÓZ ½ ` O ¦s x 6 # F +\ ¦> í ß H % ‫כ‬ r i # Q§ > .

– F 0 = {AB → C, A → E, A → C} – (AB)+ = ABCEs Ù ¼ Ð D H AB → CD\ " f# ì r5 q$ Å

s í m . 3


Fc = F Fc t · §` ú ¦M : t 6 §` £ ¦ì Í4 ø ¤ ½ ˽ + ©g :` Ë ¦ 6 x # 6 §õ £ ° ú r½ É ©g :` Ë ¦ ½ Ëô + Ç . α1 → β1 , α1 → β2 \ ¦ α1 → β1 β2 Ð 7 y x5 á q\ Å # ì r5 q$ Å

s í e Ht ¦ Ü e ¼ ] j ô Ç .

t & " h

î

t& h ¸r

í ß

¦Ì o"

î

@Ø / ¦ ñ

/Ø @ ¦Ó o

yz © & h ;î & ß h 2 © ¤& h z © y & h ;î & ß h

"Ö f ¦ ;î ß í ß î ß fÖ " ¦ ;î ß

9000 3100 2700 9000 3100

Äq » q © aÄ ' º ¸î r »q Ä

L-17 L-23 L-15 L-14 L-93

1000 2000 1500 1500 500

<Õ ªa > 7.4> lending Ë a> '

<Õ ªa > 7.3> & Ë

½ ñ ©& ! Q\ ¦> í ß H· ú ¦o 7 § £

– é > ß 1. ½ ËZ + g O :` Ë ¦& 6 h x½ ɽ + ©g : Ë r\ É O .

• F\ @ /ô Ç Ç Ä a ª & ! a(canonical cover) Fc H 7 x á 5 q[ Å t_ þ | ½ 9 ËÜ + ¼ Ð" f F H Ho 7 & Ü h ¼ Ð Fc \ e H ¸ H7 x5 á q` Å ¦/ ? í ¦ e Ü ¼9, Fc ¸ Ho 7 & Ü h ¼ Ð F\ e H ¸ Há x 75 q` Å ¦/ ? í ¦e # Q ô Ç . ¢ ¸ Ç ô 6 §¿ £ º: £ ¤$

` í ¦ë 7 ß ¤K á ô Ç .

– ß é> 2. A → BC\ " f Bü < C H ¸¿ º# ì r 5 q$ Å

s í . t ë Ñ ß t` ü ¦ ¸¿ º] j H ‫כ‬ r É t ` · § ú . B\ ¦] j õ Fc H 6 §õ £ ° ú .

– Fc \ H# ì r5 q$ Å

s í e H ÊÃ < º7 x5 á qs Å \ # O Q ô Ç .

{A → C, B → AC, C → AB} # l " f C H# ì r5 q$ Å

s í m .

– Fc _ ¸ H ÊÃ < º7 x5 á q\ Å " fý a8 ¤ £ Ó ½ rÄ É »{ 9 K ô Ç . 7 ¤, Fc \ £ ¿ º7 x5 á q α1 → β1 õ Å α2 → β2 e ` ¦M : α1 6= α2 s # Q ô Ç .

– ß é> 3. B → AC\ " f Aü < C H ¸¿ º# ì r 5 q$ Å

s í . A\ ¦] j Fc H 6 §õ £ ° ú .

• &

½ ñ ©& ! Q\ ¦> í ß H· ú ¦o 7 §: Õ £ ªa > 7.3 Ë

{A → C, B → C, C → AB}

• \ V5) a> ' Û ¼v (A, B, C)\ " f$

w í n H ÊÃ < º 7 x5 á q| Å 9 ½ Ë F + 6 §õ £ ° ú . A B A AB

→ → → →

C → AB\ " f Aü < B H ¸¿ º# ì r5 q$ Å

s í m . y é > ß \ " f r É ` ‫כ‬ ¦ ] j % Ü i ¼ r& É

½ ñ ©& ! Q\ ¦% ` 3 ¦Ã ºe . 7 ¤, & £

½ ñ © & ! Q HÄ »{ 9 t · § ú .

BC C B C

7.5

• 7.2 ] _ X ] jr a Lending-schema\ ) ¦: xK · à ú ºe 1 ws p ´ § ú rÃ É º_ 5 q$ Å

` í ¦ _ a> ' \ ¦ 6 x H ‫כ‬ Ð H& h rÃ É º_ 5 q$ Å

` í ¦ t H# Q a ' > Ðì rK # 6 x H s ‫כ‬ | Ðf à . t ¸ ß ë 3 ú wì l rK ¸y 9% ´ i òõ µ ÏÒ 1 tô q Ç .

F_ &

½ ñ ©& ! Q Fc \ ¦½ ¨ . – ß é> 1. A → BCü < A → B\ ¦ ½ Ë + A → BC a ) . õ Fc H 6 §õ £ ° ú . {A → BC, B → C, AB → C}

• \ V) lending(Lending-schema) a> ' Õ ªa > 7.4õ Ë ° ú ¦ . s M : Lending-schema\ ¦ 6 §õ £ ° ú r¿ É º a> ' Û ¼v Ðì rK % i ¦ .

– ß é> 2. AB → C\ " f A # ì r5 q$ Å

í t # Ð . Fc \ " f B + = {B, C}s Ù ¼ Ð A H# ì r5 q$ Å

s í . õ Fc H 6 §õ £ ° ú . {A → BC, B → C}

Branch-customer-schema = (t & " h

,t î & - h ¸r , í , ß ¦Ì o"

) î Customer-loan-schema = ( ¦Ì o"

,@ î /Ø ¦ ñ,ï Ó ß o)

– ß é> 3. A → BC\ " f C H# ì r5 q$ Å

í t # Ð . F 0 = {A → B, B → C}\ f A+ = {B, C}s " Ù ¼ Ð C H# ì r5 q$ Å

s í . f "þ j7 x Fc á H 6 §õ £ ° ú .

branch-customer(Branch-customer-schema) customer-loan(Customer-loan-schema) Õ ª Q y a> ' H 6 §õ £ ° ú .

{A → B, B → C}

branch-customer

• \ V6) a> ' Û ¼v (A, B, C)\ " f$

w í n H ÊÃ < º 7 x5 á q| Å 9 ½ Ë F + 6 §õ £ ° ú . A B

→ BC → AC

C

ØA Z Ä 0

AB

F_ &

½ ñ ©& ! Q Fc \ ¦½ ¨ .

& t " h

î

& t - h ¸r

í ß

¦Ì o"

î

yz © & h ;î & ß h 2 © ¤& h z © y & h ;î & ß h

" fÖ ¦ ;î ß í ß î ß " fÖ ¦ ;î ß

9000 3100 2700 9000 3100

Äq » q © aÄ ' º ¸î r »q Ä

customer-loan 4


& t " h

î

t& h ¸r

í ß

¦ Ì o"

î

@ /Ø ¦ ñ

/Ø @ ¦Ó o

yz © & h z © y & h ;î & ß h 2 © ¤& h z © y & h ;î & ß h ;î & ß h

" fÖ ¦ " fÖ ¦ ;î ß í ß î ß " fÖ ¦ ;î ß ;î ß

9000 9000 3100 2700 9000 3100 3100

Ä »q Ä »q q © aÄ ' º ¸î r Ä »q Ä »q

L-17 L-93 L-23 L-15 L-14 L-93 L-17

1000 500 2000 1500 1500 500 1000

ØA Z Ä 08 ý S pÇ c Ä k ¢ X ¤V Ë R

7.6

• \ V) Lending-schema\ " fë 7 ß ¤÷ á &# Q ½ É + Êà < º5 q Å

í $ r É 6 §õ £ ° ú . t & " h

→ t î & - h ¸r í ß @ /Ø ¦ ñ → @ /Ø ¦Ó ot & " h

î s a> ' Û ¼v \ ¦ 6 §õ £ ° s ú ì rK ô Ç . Branch-schema = (t & " h

,t î & - h ¸r , í ) ß loan-schema = (@ /Ø ¦ ñ,t & " h

,ï î Ó ß o) Borrower-schema = ( ¦Ì o"

,@ î /Ø ¦ ñ)

<Õ ªa > 7.5> branch-customer ./ customer-loan Ë a> ' ¦Ì o"

î

@ /Ø ¦ ñ

/Ø @ ¦Ó o

Ä »q q © aÄ ' º ¸ î r Ä »q

L-17 L-23 L-15 L-14 L-93

1000 2000 1500 1500 500

s ì rK Hs p l r > \ © " f 6 x ~ a> ' Û ¼v s . 7.6.1

¤Å ØÇ X ÷ m ºß ÅÄ Ã ØA Z 0

• ì rK Hì Í× ø ¼r Á º Hz < ´ ¸ ì rK s # Q ô Ç . • ì rK Á º Hz < ´ ¸ ì rK e ` ¦ H~ ÓZ ½ O

@ /Ø ¦Ó os 800 s @ /Ø ¦` ¦ t ¦e H ¸ H t & ` h ¦¹ Ô 1 ½ É +

Ä â º\ H¿ º a> ' \ ¦ ¸ K Ç ô .

– Rs a> ' Û ¼v s ¦, F H R\ " f$

w í n H Êà < º7 x5 á q| Å 9 ½ Ës + . s M : R1 õ R2 R_ rK ì s þ j èô Ç 6 §× £ æ F + \ r > F K ë Á ß º Hz < ´ ¸ ì rK a ) . • R1 ∩ R2 → R1 • R1 ∩ R2 → R2 7 ¤, R1 ∩ R2 £ H R1 ¢ ¸ H R2 _ à º( v s # Q Ç ô . à º( v ` ‫כ‬ ¦l ï rÜ ¼ Ð ¸ × æ4 ¤÷ & HÈ Òe ¦s e ` ¦Ã ºe .

branch-customer ./ customer-loan ¿ º a> ' \ ¦ ¸ ô Ç õ HÕ ªa > 7.5ü Ë <° ú . ¸ Ç ô õ \ ¦ Ð " ¶A é H\ % O ~ 3 6 §õ £ ° ú rD É h Ð rÈ î Òe ¦s rF > ô Ç . (y z © & ," h fÖ ¦,9000,Ä »q ,L-93,500) ( ;î & ß , h ;î ,9000,Ä ß »q ,L-17,1000)

• \ V) Lending-schema\ ¦ 6 §¿ £ º a> ' Û ¼v Ðì r K % i ¦ .

" f| 9 _ õ \ í Ê÷ < &t · § ú H “y z © & ”s h í Ê < a ) . 7 ¤, £ ¦Ì o_ @ /Ø ¦s # QÖ ¼t & \ h " f@ /Ø ¦ a ) ‫כ‬ t · à ú º\ O . r ´ ú Ð ´ § ú rÈ É Òe ¦` ¦% > 3 ÷ &t ë & ß

ñ Ð_ Hz < ´s e . Õ ª QÙ ¼ Ðs ü <° ú rì É rK \ ¦Õ µ i

& B P (lossy decomposition) ¢ ¸ HÕ µ i

¿ê >& B P (lossy-join decomposition)s ô Ç . ì Í@ ø / Ð Hz < ´s \ O Hì rK \ ¦ È ÁÕ µ i

¿ê >& B P (lossless-join decomposition)s ô Ç .

Branch-schema = (t & " h

,t î & - h ¸r , í ) ß loan-info-schema = (t & " h

, î ¦Ì o"

,@ î /Ø ¦ ñ,ï Ó ß o) ¿ º a> ' Û ¼v _ §| ½ 9 Ë + rt É & " h

s î 9, t & " h

î r Branch-schema_ É Ã º( v s Ù ¼ Ðs ì rK HÁ º Hz < ´ ¸ ì rK s . Õ ª 6 § loan-info-schema\ £ ¦ 6 §¿ £ º a> ' Û ¼v Ðì rK % i ¦ . loan-schema = (@ /Ø ¦ ñ,t & " h

,ï î Ó ß o) Borrower-schema = ( ¦Ì o"

,@ î /Ø ¦ ñ)

• R r É a> ' Û ¼v s ¦, 6 §s £ $

w í n

¿ º a> ' Û ¼v _ §| ½ 9 Ë + r@ É /Ø ¦ ñs 9, @ /Ø ¦ ñ H loan-schema_ Ã º( v s Ù ¼ Ðs ì rK ¢ ¸ ÇÁ ô º Hz < ´ ¸ ì rK s .

R = R1 ∪ R2 ∪ · · · ∪ Rn {R1 , R2 , . . . , Rn } r R_ É ì rK ô Ç . • r(R)s ¦ ri = ΠRi (r)s 6 § £ r É Ó ½ $ ©

w í n ô Ç . r ⊆ r1 ./ r2 ./ · · · ./ rn

7.6.2

Þ Ò × Ò ¥U

• X <s ' Z s Û ¼\ ¦Ì t q ½ ÉM + : Êà < º7 x5 á q Å rÄ É »t ÷ & # Q ô Ç . " fs \ ¦´ òÖ ¦& Ü h ¼ Ð l 0 A K " f H ¸ ` ¦ t · § ú ¸s \ ¦½ Éà + ºe # Q ô Ç .

t ë { ß 9 ì Í& ø h Ü ¼ Ð 6 §s £ $

w í n ô Ç . r 6= r1 ./ r2 ./ · · · ./ rn

• F a> ' Û ¼v R\ " f$

w í n H ÊÃ < º7 x5 á q_ Å 9 | ½ Ës + ¦, R1 , R2 , . . ., Rn s R_ ì rK . Ri \ @ /ô Ç F_ ] jô Ç(restriction) Fi r F +\ É e H ¸ H ÊÃ < º7 x5 á q× Å æ Ri _ 5 q$ Å

ë í Ü ß ¼ н ¨$

í a ) ÊÃ < º 7 x5 á q| Å 9 ½ Ë` + ¦´ ô ú Ç .

ë ß 6 §s £ $

w í n s ì rK HÁ º Hz < ´ ¸ ì r K s . r = r1 ./ r2 ./ · · · ./ rn 5


¤

compute F + Ri ∈ D\ y @ /K Fi \ ¦> í ß F 0 = F1 ∪ F2 ∪ · · · ∪ Fn compute F 0+ ? F 0+ = F +

• X <s ' Z s Û ¼[ > O BCNF\ 5 qô Å Ç H ‫כ‬ rs É X <s ' Z s Û ¼_ ¸ H a> ' Û ¼v BCNF\ 5 q Å Ç ô H ` ‫כ‬ ¦_ p ô Ç . • \ V1) Customer-schemaü <Õ ª _ ‫כ‬ ÊÃ < º7 x5 á q Å

<Õ ªa > 7.6> 7 Ë x5 á qÄ Å »t # Â Ò\ ¦ H· ú ¦o 7 §A £

Customer-schema = ( ¦Ì o"

, î ¦Ì o- o , ¦Ì o- ¸r ) ¦Ì o"

→ î ¦Ì o- ¸r ¦Ì o- o

y α → β ∈ F\ @ /K result = α result t · §` ú ¦M : t 6 §` £ ¦ì Í4 ø ¤ Ri ∈ D\ y @ /K 6 §` £ ¦ >í ß t = (result ∩ Ri )+ ∩ Ri result = result ∪ t β ⊂ results α → β HÄ »t a ) .

s Û ¼v H BCNF\ 5 qô Å Ç . • \ V2) Loan-info-schemaü <Õ ª _ ‫כ‬ ÊÃ < º7 x5 á q Å Loan-info-schema = (t & " h

, î ¦Ì o"

,@ î /Ø ¦ ñ,@ /Ø ¦Ó o) /Ø @ ¦ ñ→@ /Ø ¦Ó ot & " h

î

<Õ ªa > 7.7> 7 Ë x5 á qÄ Å »t #Â Ò\ ¦ H· ú ¦o 7 §B £

@ /Ø ¦ ñ Hs Û ¼v _ Ã º( v m Ù ¼ Ðs Û ¼v H BCNF\ 5 q Å t · § ú H . ¢ ¸ô Ç ÊÃ < º7 x á 5 q ‘@ Å /Ø ¦ ñ→@ /Ø ¦Ó o’ r É "

ô î Ç ÊÃ < º7 x5 á qs Å m .

• ] jô Ç_ | ½ 9 Ë F1 , F2 , . . ., Fn + r´ É òÖ ¦& Ü h ¼ Ð ½ É + à ºe H7 x5 á q| Å 9 ½ Ë[ + ts þ . " fs ë ‫כ‬ ß H s ‫כ‬ Ø æì r Êà < º7 x5 á qs Å ì rK \ Ä »t ÷ & H s ‫כ‬ . 7 ¤, £ Á þÊ Á¤ 4¢ ´l 4 & B P U cË Âm Û S Ö Ð ¿ M Ö R & B P · # b ¿ ¿ê >á !l Ü «Á Ê þ Á¤ 4¢ ´£ 4 · Èê >T » Ò Ê ÁÑ Ï Ð M ¿ ` ¦´ ô ú Ç .

• a> ' r(R)s BCNF\ ¦Ø æ7 ¤ á Ht H~ ÓZ ½ O – "

î t · § ú H ÊÃ < º7 x5 á q α → β BCNF\ Å ¦ 0 AC Ht ô Ç . s \ ¦0 AK α+ \ ¦> í ß ¦, α+ \ R_ ¸ H5 q$ Å

s í í Ê < Ht Ç ô . 7 ¤, α R_ £ Ã º( v e ` ¦ ô Ç .

• F 0 = F1 ∪ F2 ∪ · · · ∪ Fn { M 9 :, { 9 ì Í& ø Ü h ¼ Ð F 0 6= 0 0+ + Fs . F 6= F s # Q ¸F = F $

w í ½ n ÉÃ + º e . ë ß F 0+ = F + $

w í n s ì rK H¤ 4 ´Ë 4 ¢ Âm & B P (dependency-preserving decomposition)s .

– F+ @ / \ F\ @ /K " fë BCNF\ ß ¦0 AC Ht H Ü ‫כ‬ ¼ Ð Rs BCNF\ 5 q Å H t · Ã ú ºe .

• R_ ì rK D = {R1 , R2 , . . . , Rn }\ @ /K 7 x5 á qÄ Å » t # Â Ò\ ¦ H· ú ¦o 7 §: Õ £ ªa > 7.6 Ë

• R_ ì rK Ri BCNF\ 5 q Å Ht ½ ÉM + :\ H F\ @ /ô Ç ë Ü ß ¼ Ð HØ æì r t · § ú .

• Ð ´ òÖ ¦& h ~ ÓZ ½ (F + \ O ¦> í ½ ß É + 9 ‫כ‬ ¹ 6 O \ §): Õ £ ªa > 7.7 Ë

• \ V3) R(A, B, C, D, E), F = {A → B, BC → D}

– s· ú ¦o 7 §\ £ " f5 q$ Å

{ í j µ Ë r Fü É < aº ' ÷ & Q> # í ô ß Ç . 7.6.3

– R` ¦ R1 (A, B), R2 (A, C, D, E) Ðì rK % i ¦ `

Ä â ºF × æ\ R2 _ 5 q$ Å

Ü í ¼ Ðë ½ ß ¨$

í a7 ) x á 5 qs Å \ # O Q R2 BCNF\ ¦Ø æ7 ¤ô á Ç ¦Ò ty q Éà + ½ ºe .

Ë| N X º8 ýú Þ n ×

• ñ &

Ð_ × æ4 ¤É r þ j@ /ô Çx H s ‫כ‬ | Ðf à . " fì rK \ " f ¸&

ñ Ð_ × æ4 ¤` ¦\ E O H s ‫כ‬ æ‫כ‬ × ¹ .

– _ Æ Òs ½ ©g :` Ë ¦ & 6 h x AC → D ∈ F +s . s 7 x5 á q Å r É "

î t · §Ü ú ¼9, AC H à º( v m Ù ¼ Ð R2 H BCNF\ 5 q Å t · § ú H .

• ×4 æ ¤` ¦× ¦s H~ ÓZ ½ O rÛ É ¼v 6 §\ £ [ " O

÷ î & Hy 7 x& á

½ ñ ©+ A\ þ 5 q Å ¸2 ¤ H s ‫כ‬ .

7.7

BCNF

7.7.1

Ë8 N X ý

• R_ ì rK Ri BCNF\ 5 q Å Ht H~ ÓZ ½ O – Ri _ ¸ HÂ Òì r| ½ 9 Ë α\ + @ /K α+ \ ¦> í ß ¦y { j µ\ Ë Ri − α\ # Q 5 " q$ Å

í ¸ í Ê÷ < & t · § ú ¸¿ º í Ê÷ < & Ri H BCNF\ 5 q Å Ç ô .

X8 Ë N ý 7.3 (BCNF, Boyce-Codd Normal Form). Êà < º7 x á 5 q| Å ½ 9 Ë F\ + @ /K a> ' Û ¼v Rs 6 §` £ ¦ë 7 ß ¤ á BCNF\ 5 qô Å Ç ¦ô Ç . F +\ e Hy Êà < º7 x5 á q α → β Å r É 6 §× £ æ \ ¦ë ß 7 ¤K á ô Ç . # l " f α ⊆ Rs ¦, β ⊆ Rs .

7.7.2

ØA Z Ä 0° ow P ¨ Ö

• BCNF ì rK · ú ¦o 7 §: Õ £ ªa > 7.8 Ë • s · ú ¦o 7 § £ r BCNF É Ðì rK K × ¦÷ rë ß m Á º Hz < ´ ¸ ì rK \ ¦K ï r .

• α → β H "

ô î Ç ÊÃ < º5 q$ Å

s í . • α H R_ Ã º( v s . 6


result := {R}; done := false; compute F + ; dones Ðs à | cM ¨ : t result\ e H Ri × æ\ BCNF\ 5 q Å t § ú · H s ‫כ‬ e Ü ¼ α → Ri 6∈ F + s ¦ α ∩ β = ∅ α → β Ri \ " f$

w í n H "

î t ú § · H ÊÃ < º7 x5 á qs Å result := (result − Ri ) ∪ (Ri − β) ∪ (α, β); Ü O \ ¼ done := true;

• R1 s Banker-branch-schemas ¦ R2 Customerbanker-schema{ M 9 :, F _ ] jô Ç F1 õ F2 H 6 §õ £ ° ú .

<Õ ªa > 7.8> BCNF ì Ë rK · ú ¦o 7 § £

• Û ¼v H # Q ~ ÓZ ½ Ü O ¼ Ð BCNF ì rK 0 x p .

• \ V) Lending-schemaü <Õ ª _ ‫כ‬ ÊÃ < º7 x5 á q Å

• \ V2) a> ' Û ¼v R(A, B, C)\ " f$

w í n H ÊÃ < º 7 x5 á qs Å A → Bü < B → C .

F1 F2

{ r' É "

→t î & " h

} î ∅

" f (F1 ∪F2 )+ \ H ÊÃ < º7 x5 á q ‘t Å & " h

î ¦Ì o"

î → r' É "

’s î í Ê÷ < &t · § ú H . Õ ª QÙ ¼ Ð (F1 ∪ F2 )+ 6= F + s l M :ë H\ s ì rK H7 x5 á qÄ Å »t ì r K m .

Lending-schema = (t & " h

,t î & - h ¸r , í , ß ¦Ì o"

,@ î /Ø ¦ ñ,@ /Ø ¦Ó o) & t " h

→ î í t ß & - h ¸r /Ø @ ¦ ñ→@ /Ø ¦Ó o t& " h

î

– < Ã Ê º7 x5 á q A → C\ Å ¦s 6 x R1 (A, B)ü < R2 (A, C) Ðì rK a ) . Õ ª Q s ì rK \ " f H B → C Ä »t ÷ &t · § ú H . z ´] j Ð A H Ã º( v s Ù ¼ ÐA→C¢ ¸ H A → B Hì rK ÉM + ½ :s 6 x÷ &t · § ú H .

s Û ¼v _ Ê ê Ðv H (@ /Ø ¦ ñ, ¦Ì o"

)s î . – t& " h

î rs É Û ¼v _ Ã º( v m Ù ¼ Ð Û s ¼v H BCNF\ 5 q Å t · § ú H . – " f 6 §õ £ ° s ú ì rK ô Ç .

– < Ã Ê º7 x5 á q B → C\ Å ¦s 6 x R1 (B, C)ü < R2 (A, B) Ðì rK a ) . Õ ª Q s ì rK \ " f H A → B, B → C, A → C ¸¿ ºÄ »t a ) .

Branch-schema = (t & " h

,t î & - h ¸r , í ) ß Loan-info-schema = (t & " h

, î ¦Ì o"

,@ î /Ø ¦ ñ,@ /Ø ¦Ó o)

7.8

< g3 X Ë N ] ù k

• BCNF_ ë H] j& h r7 É x5 á qs Å Ä »t ÷ &t · §` ú ¦Ã ºe H s ‫כ‬ .

#l " f Branch-schema H BCNF\ 5 q Å t Loan-info-schema\ ß ë " f @ /Ø ¦ ñ H Ã º( v m Ù ¼ Ð r s Û ¼v \ ¦ 6 §õ £ ° ú ì s rK ô Ç .

• s \ ‫כ‬ @ /ô ÇK Õ þ – ¸ > í ` ß ¦ # Ì t q _ Ä »´ ò$

` í ¦ ô Ç .

Loan-schema = (@ /Ø ¦ ñ,t & " h

,@ î /Ø ¦Ó o) Borrower-schema = ( ¦Ì o"

,@ î /Ø ¦ ñ)

– 3NF(Third Normal Form)` ¦ 6 xô Ç . s &

ñ ½ ©+ A þ r× É æ4 ¤s e ` ¦Ã ºe H@ / \ Ì t q H ¸ \ s O ½ Éà + ºe .

0 A¿ ºÛ ¼v H ¸¿ º BCNF\ 5 qô Å Ç . 7.7.3

= =

7.8.1

Þ Ò × Ò ¥U

Ë8 N X ý

X8 Ë N ý 7.4 (3NF, Third Normal Form). Êà < º7 x5 á q| Å 9 ½ Ë + F\ @ /K a> ' Û ¼v Rs 6 § £ ¦ `ë 7 ß ¤ á 3NF\ 5 qô Å Ç ¦ô Ç . F +\ e Hy Êà < º7 x5 á q α → β Å r É 6 §× £ æ \ ¦ë ß 7 ¤K á ô Ç . # l " f α ⊆ Rs ¦, β ⊆ Rs .

• BCNF ì rK H Ó ½ 7 © x5 á q` Å ¦Ä »t t H· § ú H . • \ V1) 6 §õ £ ° ú r É r' É Û ¼v ü <Õ ªÛ ¼v \ " f$

w í n H Êà < º7 x5 á qs Å e ¦ . 7 ¤, £ ¦Ì o r: É ¤& £

t ñ & \ h Õ ª ¦Ì o` ¦{ { © H> h r É ' e ` ¦Ã ºe .

• α → β H "

ô î Ç ÊÃ < º7 x5 á qs Å .

Banker-schema = (t & " h

, î ¦Ì o"

, î r' É "

) î r É ' "

→t î & " h

î t & " h

î ¦Ì o"

→ î r É ' "

î

• α H R_ Ã º( v s . • β − α\ e Hy 5 q$ Å

A í H R_ Ê ê Ðv \ í Ê < a ) . ¤

s Û ¼v \ BCNF ì rK · ú ¦o 7 §` £ ¦& 6 h x 6 §õ £ ° s ú ì rK a ) .

• 3NF &

_ ñ _ t } ¸| \ " fé { ß Ê 9 ê Ðv β − α\ e H ¸ H5 q$ Å

` í ¦ í ÊK < H ‫כ‬ r É m . y 5 q$ Å

í r É rÊ É ê Ðv \ í Ê| < cà ¨ ºe .

Banker-branch-schema = ( r' É "

,t î & " h

) î Customer-banker-schema = ( ¦Ì o"

, î r' É "

) î s ì rK \ " f ‘t & " h

î ¦Ì o"

→ î r É ' "

’ î rÄ É » t ÷ &t · §Ü ú ¼9, ¸ ` ¦K ë ß ½ Éà + ºe .

• BCNF\ 5 q Å H ¸ HÛ ¼v H 3NF\ 5 qô Å Ç . 7


• · ú ¦o 7 §_ £ &

S ñ $ X

: Rj s í · ú ¦o 7 §` £ ¦s 6 x # R` ¦ì rK % ` i ¦M :ë [ ß t# þ Q Û ¼v . Rj \ " f$

w í n H ¸ H "

î t · § ú H ÊÃ < º5 q$ Å

í γ → B H 3NF` ¦Ø æ7 ¤K á Rj H 3NF\ 5 qô Å Ç . Rj \ ¦Ò t$ q

½ í ÉM + : 6 x a ) ÊÃ < º5 q$ Å

s í α → β B Hα¢ ¸ H β\ í Ê÷ < &# Q ô Ç .

Fc \ ¦> í ô ß Ç . i := 0; α → β ∈ Fc \ y @ /K ∀Rj \ @ /K αβ 6⊆ Rj s i := i + 1; Ri := αβ; ∀Rj , R\ @ /K Ê ê Ðv 6⊆ Rj s i := i + 1; Ri := R_ Á ºÊ ê Ðv ;

Ð Ã ¦. 3NF` ¦ ½ ÉM + :\ H ÊÃ < º5 q$ Å

\ í " f ¸ r É A ¤\ á é { ß 5 9 q$ Å

s í e H

Ä â ºë ß H Ü ‫כ‬ ¼ Ð æì Ø r . – B αü <β ¸¿ º\ e H

Ä â º: Fc \ ¦ 6 x Ù ¼ Ðs ‫כ‬ r 0 É x p t · § ú .

<Õ ªa > 7.9> 3NF ì Ë rK · ú ¦o 7 § £

– B ∈ βs t ë B 6∈ α ß

Ä â º

• \ V) BCNF` ¦[ " O

½ î ÉM + : 6 xô Ç r' É Û ¼v \ ¦ BCNF ì rK \ ¦ 7 x5 á qÄ Å »t ÷ &t · § ú H . Õ ª Q r É ' Û ¼v ^ H 3NFs .

• γ Ã º( v

Ä â º: 3NF` ¦Ø æ7 ¤ô á Ç . • γ à º( v

Ä â º: α\ H γ\ \ O H 5 q$ Å

` í ¦ t ¦ e . Õ ª X < γ → B ∈ F +s Ù ¼ Ð γ+\ ¦s 6 x # Fc ÐÂ Ò γ → B\ ' ¦Ä » ¸| cà ¨ ºe # Q ô Ç . Ä s » ¸\ " f α → β H 6 x| cà ¨ º\ O . s ` ‫כ‬ ¦ 6 x l 0 AK " f H γ+\ α í Ê÷ < &# Q ô Ç . t ë γ Ã ß º( v m Ù ¼ Ðs ‫כ‬ r 0 É x p t · § ú . s M : γ ⊆ αβs ¦ B 6∈ γ( "

î t · §Ü ú ¼Ù ¼ Ð)s Ù ¼ Ð α → (β − {B})ü < γ → B Ð Ò'  α → B\ ¦Ä » ¸½ Éà + ºe 1 . s ‫כ‬ r É B α → β\ " f# ì r5 q$ Å

e í ` ¦_ p ô Ç . s ‫כ‬ r É ¸í H÷ &Ù ¼ Ð γ Hà º( v s # Q ô Ç .

– {t & " h

, î ¦Ì o"

} î rs É Û ¼v \ Ê ê Ðv s ¼ ٠п º P : Êà < º7 x5 á q Å r 3NF` É ¦0 AC t § ú · H . – Í ' P : Êà < º7 x5 á q\ Å " f β −α Ht & " h

s î 9, & t " h

î rÊ É ê Ðv {t & " h

, î ¦Ì o"

}\ î í Ê < &Ù ÷ ¼ Ðs ÊÃ < º7 x5 á q Å ¸ 3NF` ¦0 AC t · § ú H . • # Q Û " ¼v 3NF\ 5 q Å Ht H~ ÓZ ½ O – F+ @ / \ Fë ß ¦ 9ô Ç . – F_ y 7 x5 á q\ Å ì rK ½ ©g :` Ë ¦& 6 h x # ¸ r É ¤\ á A é { ß 5 9 q$ Å

ë í e ß ¸2 ¤ô Ç 6 §\ £ ¦ 9ô Ç .

– B ∈ αs t ë B 6∈ β ß

Ä â º: α Ê ê Ðv s Ù ¼ Ðs ‫כ‬ r 3NF_ É [ j P : ¸| \ ë 7 ß ¤ á a ) .

– "

î t · § ú r É ÊÃ < º5 q$ Å

α → β Å í Ò# Qt α+ \ ¦s 6 x # α Ã º( v t ô Ç .

• # Q Û " ¼v 3NF t \ ¦ H ‫כ‬ r# É Q§ t > 3NF ì ß ë rK H Ór ½ ç ? ß /\ 0 x p .

– ß ë α Ã º( v m β − α_ ¸ H5 q Å

s í $ Ê ê Ðv \ í Ê÷ < & Ht ô Ç . s ‫כ‬ r# É Q§ > . 7.8.2

7.8.3

BCNFÑ ÷ 3NF8 ýR w

• BCNFü < 3NF r É ¸¿ ºÁ º Hz < ´ ¸ ì rK \ ¦] j/ N B t ë 3NF ß r É Êà < º7 x5 á q Å t Ä »t K ï r . t ë ß 3NF r BCNFü É <² o ú × æ4 ¤s e ` ¦Ã ºe . ¢ ¸ô Ç 3NF_

Ä â º\ H null ° ‫`כ‬ ú ¦ 6 xK H

Ä â º ¸ ÏÒ 1 µ tô q Ç .

ØA Z Ä 0° ow P ¨ Ö

• 3NF ì rK · ú ¦o 7 §: Õ £ ªa > 7.9 Ë • \ V1) r É ' ¼ Ûv ü <s Û ¼v \ $

w í n H Ê < Ã º7 x5 á qs Å 6 §õ £ ° ú ¦ .

– Banker-schema_

Ä â º\ { © { ¦Ì os \ O H

Ä â º\ H ¦Ì o"

\ î null ° ‫`כ‬ ú ¦ 6 x½ Éà + ºµ Ú\ 1 O \ .

Banker-info-schema = (t & " h

, î ¦Ì o"

, î r É ' "

, î Á ºz ´ ñ) r' É "

→t î & " h

î Á ºz ´ ñ & t " h

î ¦Ì o"

→ î r É ' "

î

– ô Ç r' É # Q ¦Ì o` ¦{ { © r É ' <t ü & h a> ' # Q Y V× æ4 ¤÷ &# Q è ß . • SQL\ " f H Êà < º7 x5 á q` Å ¦t &

ñ H~ ÓZ ½ ` O ¦] j/ N B t · § ú H . é & ß

ë ñ H` ¦ 6 x½ ÉÃ + ºe t ë ß ÊÃ < º7 x á 5 q` Å ¦ Hé & ß ë h H` ¦ $

í l ~ t 1 · §Ü ú ¼ 9q 6 xs q . " f Êà < º7 x5 á qs Å Ä »t ÷ & H rK ì \ ¦ 6 x 8 ¸ Êà < º7 x5 á q_ Å ¢ aA , ¤s á Å Òv m s ` ‫כ‬ ¦ SQL\ " f´ òÖ ¦& Ü h ¼ Ð l # Q§ > .

s \ V\ " f Fc = F s . · ú ¦o 7 §` £ ¦& 6 h x 6 §õ £ ° s ú ì rK a ) . Banker-office-schema = ( r' É "

,t î & " h

, î Á ºz ´ ñ) Banker-schema = ( ¦Ì o"

,t î & " h

, î r' É "

) î • 3NF ì rK H Fc \ ¢ ¸ Fc \ e H7 x5 á q` Å ¦# Q " H" í f Ð ¦ 9Ù ¡ þ Ht \ ² ú | 9 Ã ºe .

.

8

= β − {B}s α → δ, α → αδ, αδ → γs Ù ¼ Ð α → Bs


• < Ã Ê º7 x5 á q α → β Ä Å »t ÷ &t · § ú H

Ä â º\ Hs ` ‫כ‬ ¦ l 0 AK ì rK \ ¦ ¸ ô Ç 6 § αβë £ Æ ß Ò ¦ Ø # z ´^ oÓ Â\ ¦ë ß H 6 §\ £ unique\ ¦s 6 x # s Êà < º7 x5 á q` Å ¦~ > 1 ½ Éà + ºe .

t1 t2 t3 t4

• 9 { ì Í& ø Ü h ¼ Ð 3NF Ð BCNF\ ¦ 6 x ¦ ÊÃ < º7 x á 5 qs Å Ä »t ÷ &t · § ú H

Ä â º\ Hz ´^ o Ó\ ¦s 6 x H ` ‫כ‬ ¦ ñô Ç .

β ai+1 , . . . , aj bi+1 , . . . , bj ai+1 , . . . , aj bi+1 , . . . , bj

R−α−β aj+1 , . . . , an bj+1 , . . . , bn bj+1 , . . . , bn aj+1 , . . . , an

• × æ° ‫כ‬5 ú q$ Å

í r αü É <βç \ ß a> ' αü <R−β ç ß \ a> ' ü <Á º a ' H ` ‫כ‬ ¦´ ô ú Ç . • β ⊆ αs β ∪ α = Rs × æ° ‫כ‬7 ú x5 á qα³ Å β H "

î .

g4 X < Ë N ] ù k

7.9

α a1 , . . . , ai a1 , . . . , ai a1 , . . . , ai a1 , . . . , ai

• # Q " a> ' H BCNF\ 5 q Å t ë # ß y × æ4 ¤8 ¤ £ \ " fØ æì ry &

½ ñ © o÷ &t · §` ú ¦Ã ºe .

• \ V) 6 §õ £ ° ú r bc(BC-schema)\ É ¦Ò ty q # Ð . /Ø @ ¦ ñ L-23 L-23 L-27 L-27 L-93

• \ V) 6 §õ £ ° ú rÛ É ¼v \ ¦Ò ty q K Ð . BC-schema = (@ /Ø ¦ ñ, ¦Ì o"

, î ¦Ì o- ¸r , ¦Ì o- o ) s Û ¼v \ " f H 6 § £ Êà < º7 x5 á qs Å $

w í n Ù ¼ Ð BCNF m .

¦Ì o"

î Ä »q Ä »q Ä »q Ä »q q ©

¦Ì o- o z © y ½ ¨

î # ; z © y ½ ¨

î # ; " f í½ ¨

¦Ì o- ¸r fÖ " ¦ ;î ß fÖ " ¦ ;î ß fÖ " ¦

s a> ' \ " f H ¦Ì o_ Å Ò è ¦Ì o_ @ /Ø ¦ ñ\ ¦× æ4 ¤r & ô Ç . ¢ ¸ô Ç ¦Ì o_ y Å Ò è ¦Ì o_ @ /Ø ¦ ñ\ ¦× æ4 ¤r & ô Ç . " fs a> ' \ H 6 §õ £ ° ú r É × æ° ‫כ‬7 ú x5 á qs Å $

w í ô n Ç .

¦Ì o"

→ î ¦Ì o- ¸r ¦Ì o- o Õ ª Q ë ß ¦Ì os | ` 9 ¦# QG t ¦e Ü ¼ s Êà < º7 x5 á Å qs $

w í n t · §Ü ú ¼Ù ¼ Ð BCNF\ 5 q Å Ç ô . t ë ´ ß § ú r× É æ4 ¤` ¦ t > a ) .

¦Ì o"

³ î ¦Ì o- ¸r ¦Ì o- o ¦Ì o"

³@ î /Ø ¦ ñ

• s % ! BCNF\ 3 5 q Å Ê\ < ¸Ô ¦½ ¨ ¦× æ4 ¤s e H ë H] j\ ¦ F G4 ¤ l A 0K

»G ä ê ¤ ± 4¢ ´(multi4 valued dependency)s HD h Ðî r] j ` ¦&

_ ñ Ç ô . s ] j ` ¦ s 6 x H &

½ ñ ©+ As þ ] j4 &

½ ñ © A(4NF, Fourth Normal Form)s þ + .

• D Êà < ºü < × æ° ‫כ‬7 ú x5 á q_ Å | 9 ½ Ës + D+ { j µ Ë r É D\ _ K Ho 7 & Ü h ¼ Ð? / í H ¸ H Êà < ºü < æ° × ‫כ‬7 ú x5 á q_ Å | 9 ½ Ë` + ¦´ ô ú Ç . • × æ° ‫כ‬7 ú x5 á q_ Å &

_ ñ \ _ K 6 §s £ $

w í ô n Ç . ß ë α → β $

w í n α ³ β $

w í n ô Ç .

7.9.1

ú Þ© n Þ Ò × Ò 7.9.2

X8 Ë N ý 7.5 (

ä »ê G ±¤ 4¢ ´). 4 a> ' Û ¼v R, α ⊆ R, β ⊆ Rs e ` ¦M :, × æ° ‫כ‬7 ú x5 á q α ³ β R\ Å $

w í n l 0 A K " f H ¸ H& Z h ô O Ç a> ' r(R)\ " f t1 [α] = t2 [α]` ¦ë ß 7 ¤ á H r\ 5 qô Å Ç ¸ HÈ Òe ¦ t1 õ © t2 \ @ /K 6 § £ ¦ ` 7 ß ë ¤ á HÈ Òe ¦ t3 õ t4 r\ rF > K ô Ç . t1 [α] = t2 [α] = t3 [α] = t4 [α] t3 [β] = t1 [β] t3 [R − β] = t2 [R − β] t4 [β] = t2 [β] t4 [R − β] = t1 [R − β]

4NF8 ýX Ë8 N ý

Ë8 N X ý 7.6 (4NF). Êà < º7 x5 á qõ Å × æ° ‫כ‬7 ú x5 á q| Å 9 ½ Ë D\ + @ /K a> ' Û ¼v Rs 6 §` £ ¦ë 7 ß ¤ á 4NF\ 5 qô Å Ç ¦ô Ç . D+ \ e Hy Êà < º7 x5 á q α ³ β Å r É 6 §× £ æ \ ¦ë ß 7 ¤K á ô Ç . # l " f α ⊆ Rs ¦, β ⊆ Rs . • α ³ β H "

ô î Ç × æ° ‫כ‬7 ú x5 á qs Å . ¤ • α H R_ Ã º( v s . • 4NF É r ÊÃ < º7 x5 á q@ Å / \ × æ° ‫כ‬7 ú x5 á q` Å ¦ 6 xô Ç ` ‫כ‬ ¦] jü @ ¦ H BCNFü <° ú .

¤

• ¸ H 4NF r BCNF\ É 5 qô Å Ç . • < Ã Ê º7 x5 á q Å r: É ¤& £

+ ñ AI þ _ È Òe ¦s rF > ½ ÉÃ + º\ O ¸ 2 ¤] j ` ¦ ô Ç . \ V\ ¦[ tQ þ # A → B $

w í n ° ú rA° É ‫`כ‬ ú ¦ t t ë " ß f Ð rB° É ‫`כ‬ ú ¦ t H ¿ º> h_ È Òe ¦s rF > ½ ÉÃ + º\ O .

• Rs a> ' Û ¼v s ¦, R1 , R2 , . . ., Rn s R_ ì r K . ¢ ¸ô Ç D R\ " f$

w í n H ÊÃ < º7 x5 á q Å õ × æ° ‫כ‬7 ú x5 á q_ Å | 9 ½ Ës + . Õ ª Q Ri \ @ / Ç D_ ô ] jô Ç Di H 6 §õ £ ° ú .

• × æ° ‫ כ‬7 ú x5 á q Å r : É ¤& £

+ ñ AI þ _ È Òe ¦s ì Í× ø ¼r r > F K H ] j ` ¦ ô Ç . s s Ä »\ " f Ê < à º 7 x5 á q Å r 1 É x{ l ° 9 ‫ כ‬Ò ú t$ q

7 í x5 á q(equality-generating Å tuple)s ¦, × æ° ‫ כ‬7 ú x5 á q Å r È É Òe ¦ Ò t$ q

7 í x á 5 q(tuple-generating tuple)s Å ô Ç .

– D+ \ e H ¸ H ÊÃ < º7 x5 á q× Å æ Ri _ 5 q$ Å

Ü í ¼ Ðë ½ ß ¨$

í a ) ÊÃ < º7 x5 á q Å – 6 §õ £ ° ú r+ É AI þ _ ¸ H × æ° ‫כ‬7 ú x5 á q Å α ³ β ∩ Ri # l " f α ⊆ Ri s ¦ α ³ β ∈ D+ s .

• × æ° ‫כ‬7 ú x5 á q_ Å _ s ^ ¦³ ð ³ & 9


• s s ‫כ‬ 0 x p H ‫כ‬ r É ¸ H a> ' \ ¦ ¸ ô Ç _ a> ' Ä »´ òK ô Ç . Õ ª Q null ° ‫_כ‬ ú 6 x t · § ú ¦ H 0 x p t · §` ú ¦Ã ºe .

result := {R} done := false D+ \ ¦> í ß dones Ðs à | c: ¨ M l 6 §` £ ¦ì Í4 ø ¤ result\ Di \ @ /K 4NFs Ri e Ü ¼ α ³ β 6 §` £ ¦ë 7 ß ¤ á H Ri \ " f

w í $ n H "

î t · § ú H × æ° ‫כ‬7 ú x5 á qs Å α → Ri 6∈ Di , α ∩ β = ∅ result := (result − Ri ) ∪ (Ri − β) ∪ (α, β); Ü O \ ¼ done := true;

• # 6 3 x a> ' (universal relation)ê Í X ø <s ' Z s Û ¼\ e H ¸ H a> ' \ ¦ ¸ # ë ß H a> ' \ ¦´ ô ú Ç . • # 6 3 x a> ' _ ¸ H5 q$ Å

_ í s 2 § £ r1 É q: l ¤K £ ô Ç . 7.10.3 V Ë R «ù Ö § p ü ¢R X X Ë N × D • F KX <s ' Z s Û ¼ H ¦_ Ð&

ñ Ð × æ4 ¤ aÛ ) ¼ v \ ¦ 6 x½ ÉÃ + ºe .

<Õ ªa > 7.10> 4NF ì Ë rK · ú ¦o 7 § £ 7.9.3

• ×4 æ ¤ aÛ ) ¼v \ ¦ 6 x½ ÉM + :ë H] j& h rÌ É t q ½ ÉM + : ´ § ú rq É 6 xs è‫כ‬ ¹ a ) H s ‫כ‬ . s ` ‫כ‬ ¦ BÒ t q H s ‫כ‬ ¸y 9q 6 x8 ¤ £ \ " f 8´ òÖ ¦& s h × æ 4 ¤s e HÛ ¼v \ ¦ 6 x½ ÉÃ + ºe .

ØA Z Ä 0° ow P ¨ Ö

• 4NF ì rK · ú ¦o 7 §: Õ £ ªa > 7.10 Ë • \ V) BC-schema\ 4NF ì rK · ú ¦o 7 §` £ ¦ & 6 h x "

î t · § ú H × æ° ‫כ‬7 ú x5 á q ‘ Å ¦Ì o"

³@ î /Ø ¦ ñ’\ ¦µ Ï| 1

> a ) . s ` ‫כ‬ ¦s 6 x # ì rK 6 §õ £ ° ú .

• Õ ª Q q &

½ ñ © o aX ) <s ' Z s Û ¼\ ¦ 6 x l Ð Hz ´^ o Ó\ ¦ 6 x H s ‫כ‬ | Ðf à . 7.10.4  ¥‫כ‬ \ Ç4 r v X È ì

Borrower-schema = ( ¦Ì o"

,@ î /Ø ¦ ñ) Customer-schema = ( ¦Ì o"

, î ¦Ì o- ¸r , ¦Ì o- o )

• &

½ ñ © o\ _ K K ÷ &t · § ú Hë H] j& h ¸e . • \ V) r _ Ã º{ 9 \ aº ' ô Ç 6 §õ £ ° ú r É a> ' e ¦ .

• s ì rK · ú ¦o 7 § £ rÁ É º Hz < ´ ¸ ì rK \ ¦] j/ N B t ë 7 ß x5 á qÄ Å »t H t 3 wô l Ç .

7.10

earnings( r "

, ¸ î ¸, Ã º{ 9 F KÓ o) s a> ' \ rF > H ÊÃ < º7 x5 á q Å r ‘ É r "

→¸ î ¸ Ã º{ 9 F KÓ o’ µ Ú\ 1 \ O . " fs a> ' H BCNF\ 5 qô Å Ç . t ë ß r "

s î × æ4 ¤ a ) . 6 §õ £ ° ú r É @ /î ` ß ¦Ò ty q ½ ÉÃ + ºe .

Å= ¹ kX Äß ì Å6 Ã KT ' [9 cT ­ ‫כ‬ Ç4 r Ê ÝX Ë N

• ' > a + AX þ <s ' Z s Û ¼\ ¦[ > O H[ j t ] H X ÓZ ½ ~ O

– 6 0¼ 1. K ÿ D h Ðî r a> ' \ ¦Ò t$ q

ô í Ç .

– E-R s # QÕ ªÏ ` þ ¦[ > O ô ÇÊ ê\ s ` ‫כ‬ ¦_ ^ s ¦ Ð ¨ 8

earnings-2003( r "

, Ã î º{ 9 F KÓ o)

– 9 ‫כ‬ ¹ô Ç ¸ H5 q$ Å

` í ¦ _ a> ' Ðë ß HÊ ê & \

½ ñ ©+ Aì þ rK ú · ¦o 7 §` £ ¦& 6 h x

s a> ' % r i BCNF\ 5 qô Å Ç . t ë B ß K D h Ðî r a> ' \ ¦Ò t$ q

K í Ù ¼ Ða ~ % r É K Õ þ r É m .

– e_ Ð_ s ^ ¦` ¦ë [ ß t þ ¦&

½ ñ ©+ A` þ ¦Ø æ7 ¤ á Ht 7.10.1

– 6 0¼ 2. K ÿ 5 q$ Å

` í ¦Æ Ò ô Ç .

E-R { ¢¨ Ê | ÝX Ë N × D

company-year( r "

, 2001¸ î -Ã º{ 9 , 2002¸ -Ã º{ 9 , 2003¸ -Ã º{ 9 )

• E-R s # QÕ ªÏ ` þ ¦` ¦ Ø Ô> $

í ¦s ` ‫כ‬ ¦_ s ^ ¦ Ð ¨ 8 8s _ © &

½ ñ © o 9 ‫כ‬ ¹ t · §` ú ¦Ã ºe .

s a> ' % r i BCNF\ 5 qô Å Ç . t ë s ß @ / î% ß r i a ~ % rK É Õ þ r É m .

• t ë [ ß > O \ ¦¸ 3 ú w l Æ Ò & h &

½ ñ © o 9 ‫כ‬ ¹½ ÉÃ + ºe . • O [> õ &

\ ñ " f&

½ ñ © o> h¥ ` Æ ¦ ¦ 9 # [ > O H s ‫כ‬ ‫כ‬ 9 ¹ . s h >¥ s Æ \ O H

Ä â º\ H _ õ s ^ ¦s &

½ ñ ©+ A` þ ¦Ø æ7 ¤ á Ht ½ É + 9 ‫כ‬ ¹ e . 7.10.2

ä È ì Þå Ó Ë4 ¾ ± É¿ n R <U s0 ê É n

• 9 ‫כ‬ ¹ô Ç ¸ H5 q$ Å

` í ¦ _ a> ' \ í Êô < Ç 6 § £ \ ì rK \ ¦ l 0 AK " f Hì rK Á º Hz < ´ ¸ ì r K s # Q ô Ç . 10


c °2003, sangjin@kut.ac.kr

– § ^ · ú ¦o 7 §: î £ r%

^ ò ] j H Ð: x LRU(Lea st-Recently Used) ~ Ód ½ ` ¦ 6 xô Ç . Õ ª Q <s X ' Z s Û ¼ Hs ~ Ód ½ Ð Ó ¾ © a~ ) ÓZ ½ O ¦& ` 6 h x½ ÉÃ + ºe .

2T 6 ' _9 KT Ã : ~ ¡q ç { ¡È 07

– ¦ &

^ ñ ¦2 ¤(pinned block): n Û ¼ß ¼\ æ ¼# t 3 t w l ¸2 ¤] jô Ç÷ &# Qe H^ ¦2 ¤` ¦´ ô ú Ç . Ð: xr Û ¼% z 7 ´J (crash) РÒ' 4 ¤½ ¨ l 0 A " K f H^ ¦2 ¤s n Û ¼ß ¼\ æ ¼# t t r l \ ¦ jô ] ÇK ô Ç .

A. Silberschatz, H. Korth, S. Sudarshan Database System Concepts, Fourth Edition, McGraw-Hill, 2002. Part IV. Data Storage and Querying

11 11.5

– ^2 ¦ ¤_ y ] © j æ ¼l (forced output of blocks): Ð: x^ ¦2 ¤ rÕ É ª^ ¦2 ¤s §^ ÷ &# Q ½ ÉM + : n t Û ¼ß ¼\ æ ¼# t t · § ú H . Õ ª Q M : Ð H §^ ÷ &t · § ú ¸n Û ¼ß ¼\ y ] © j Ð+ É + ½

Ä â º e .

[X $ sÊ ê Ý

Ç ø m º [X $ s êX sV ê ± É¿ n R <

11.5.2

• Q !( §^ · ú ¦o 7 §_ £ 3 q& l h rn É Û ¼ß ¼] H X ` ¦þ j è o H s ‫כ‬ . Õ ª Q p A ] X H` ¦&

S ñ X > V8 \ ¤½ £ Éà + º\ Ü O ¼9, { ì 9 Í& ø Ü h ¼ Ðl r] > X H` ¦ Ó ½ ¼ Ü Ðp A ] X H` ¦Æ Ò8 ¤½ £ Éà + ºµ Ú\ 1 \ O .

• X <s ' Z s Û ¼ H # Q

9 { Ð ÷ © &# Qn Û ¼ß ¼\ $ ÷ © &9, s

{ [ 9 t þ r É Ð: x_ s á Ô\ Ñ \ þ O a ) . • y

{ 9 r É ¦&

ñ aß ) ¼l _ $ é © 0 ß A ^ ¦2 ¤Ü ¼ Ð r½ ì É÷ + &# Qe Ü ¼9, s é 0 ß A H$ ÷ © rë ß m 5 x_ Å é 0 ß A a ) .

• LRU: © ¸A \ 6 x a^ ) ¦2 ¤` ¦ §^ H~ Ó ½ O Z

• ô^ Ç ¦2 ¤\ H Ð: x# Q> h_ X <s ' Ó3 ½ qs l $ © a ) .

• LFU(Least Frequently Used): & © > h 6 x a^ ) ¦ ¤` 2 ¦ §^ H~ ÓZ ½ O

• _ X <s ' Ó3 ½ qs l # Q^ ¦2 ¤\ 5 g$ ÷ © & s X <s ' Ó3 ½ q` l ¦] X H l 0 Aô Çn Û ¼ß ¼{ Ø 9 ¦ § s 4 ´ § ú .

– ë] H j& : h ¸A \ H Å Ò 6 x÷ &% t 3 ë þ ß j H\ H _ 6 x÷ &t · § ú H^ ¦2 ¤ r> É 5 q Å § ÷ ^ &t · § ú H .

• X <s ' Z s Û ¼_ $ © u © ] H X 8 ¤ £ \ " f_ 3 q& l h rg É â «æ «ÿ ?Ì Áe * 7 ×n ë ÑU 5 c¡ · ´l ⣠·i ¦ ¿ ª Ð M ¿ s .

• î% r

^ ò ] j HÅ Òl % 3 u © \ ¦ ao ' ½ ÉM + : LRU ~ ÓZ ½ O ¦Å ` Ò Ð 6 xô Ç . Õ ª Q X <s ' Z s Û ¼ Hî r%

ò ] ^ j Ð H 8&

S ñ X > p A _ ] X HJ ` ¦\ V ¤½ £ 8 Éà + ºe . : ¤y £ î rp A \ @ /K " f H&

S ñ X > \ V8 ¤s £ 0 xô p Ç

Ä â º ´ § ú .

• n Û ¼ß ¼] X H` ¦þ j è o Hô Ç t ~ ÓZ ½ O r´ É § ú r É ¦2 ^ ¤` ¦Å Òl % 3 u © \ Ä »t H s ‫כ‬ . Õ ª Q ¸ H^ ¦2 ¤` ¦ ¸¿ ºÅ Òl % 3 u © \ Ä »t ½ Éà + º\ O . ! a( x Hn Û ¼ß ¼\ e H^ ¦2 ¤_ 4 ¤ r` : ¦Ä »t HX <s ' Z sÛ ¼ 6 x HÅ Òl % 3 u © %

% ò s i .

• \ V) 6 §õ £ ° ú r É a> ' @ /à º³ ð ³d & ` ¦ borrower ./ customer o % H _ ï× ¼(pseudocode) 6 §õ £ ° ú ¦ .

• X <s ' Z s Û ¼_ 0 Ar Û ¼ 7× % æ! Q( / Nç B _ ß ½ É + ` © { ¦Õ e þ t H 0 Ar Û ¼ 7` % ¦! a( x® h ¸ (buffer manager) ô Ç . 11.5.1

a( ! aw = k° ow P ¨ Ö

borrower_ y È Òe ¦ b customer_ y È Òe ¦ c b[ ¦Ì o"

]=c[ î ¦Ì o"

]s î D hÈ Òe ¦ x\ ¦ 6 §õ £ ° s ú &

_ ñ : x[ ¦Ì o"

]=b[ î ¦Ì o"

]; î x[@ /Ø ¦ ñ]=b[@ /Ø ¦ ñ]; x[ ¦Ì o- ¸r ]=c[ ¦Ì o- ¸r ]; x[ ¦Ì o- o ]=c[ ¦Ì o- o ]; x\ ¦ borrower ./ customer\ í Ê <

! a( aå ËP ¾

• n Û ¼ß ¼\ e H^ ¦2 ¤s 9 ‫כ‬ ¹ ! Q( ao ' \ > ‫כ‬ ¹' A` õ ¦ô Ç . ‫כ‬ ¹' Aô õ Ç^ ¦2 ¤s s p ! Q( \ e Ü ¼ ^ ¦2 ¤_ Å Ò è\ ¦Å Ò ¦, \ Ü O ¼ ^ ¦2 ¤` ¦! Q( \ & h F ô Ç 6 §\ £ Õ ª _ ‫כ‬ Å Ò è\ ¦ï r . s M : ‫כ‬ 9 ¹ & F h ÷ &# Qe Hl r^ > ¦2 ¤` ¦W # = Qj tà þ ºe . W # = Q æ ¼s > ÷ & H^ ¦2 ¤s n Û ¼ß ¼\ ì Í% ø

÷ ò &t · § ú rÃ É º

` ñ & ¦ t ¦e Ü ¼ W # = Qæ ¼l \ n Û ¼ß ¼\ ¦Ì t q K ô Ç .

º ¿ a> ' " f Ð r

É { \ 9 $ ÷ © &# Qe ¦ &

ñ . borrower_ ô ÇÈ Òe ¦` ¦% o % Ü i ¼ 8s Õ © ª Èe Ò ¦ r É ‫כ‬ 9 ¹\ O . 7 ¤, borrower_ £ ô Ç^ ¦2 ¤` ¦ ¸¿ º 6 x % Ü i ¼ 8s s © ^ ¦2 ¤ r É ‫כ‬ 9 ¹\ O . f borrower_ " ô Ç^ ¦2 ¤` ¦ % o Ù ¡Ü þ ¼ s ^ ¦2 ¤

• X <s ' Z s Û ¼_ ß ¼l HB Ä ºß ¼Ù ¼ Ð! Q( ao ' Hî r%

^ ò ] j_ Å Òl % 3 u © ao ' Ð 84 ¤ ¸ ô ú Çl Õ ts ü ‫כ‬ 9 ¹ . 1


r7 É ¤r £ §^ | cà ¨ ºe . s §^ | Ì` Ä ¦¤ ´k æ ¬ ¨W (toss-immediate) ~ ÓZ ½ s O ô Ç .

– ë H] j& h • ] j # Q§ > . ] j aY ) U ï× ¼\ ¦³ ðr rY É U ï× ¼ ÐG 0 > ô Ç . t } Y U ï× ¼ ÐG Ö ¦Ã ºe t ë s ß ‫כ‬ r É ¿ º> h_ ^ ¦2 ¤] X Hs ‫כ‬ 9 ¹ . Ð: x ] j Ð H ¶ { ú s 9 ´ §Ü ú ¼Ù ¼ Ð Y U ï× ¼ H × æ\ ¶ { ú \ 9 _ K G 0 >t ¸2 ¤ H s ‫כ‬ 8 | Ðf à . Õ ª Q é í ß H³ ð r HG Ö ¦0 Au \ ¦¹ Ôl 1 # Q§ l > M :ë H \ ´ òÖ ¦& s h t 3 w l . • ^ ¦2 ¤ß ¼l 40 s à Ô_ C à º m ^ ¦2 ¤

> â \ ;Y 2 U ï× ¼ rF > > a ) .

customer_ È Òe ¦ r borrower_ É È Òe ¦õ ² o ú y borrower_ È Òe ¦` ¦ % o ½ É M + : > 5 q Å 6 x a ) . 7 ¤, customer_ £ ô Ç^ ¦2 ¤ r É ¸ s ¢ a« Ñ| cM ¨ : t > 5 q Å 9 ‫כ‬ ¹ . Õ ª X <$ / © Nç B s ß Â Ò7 ¤ á # §^ ÷ &# Q þ © jH \ Ð Ã ¸ô Ç^ ¦2 ¤` ¦ § ^ H s ‫כ‬ © | Ðf à . s ‫כ‬ r É þ © j H \ Ð Ã ¸ô Ç^ ¦2 ¤s © × æ\ r Ð Ã ¸÷ &l M : Hs ë . s §^ | Ì` Ä ¦ MRU(Most-Recently Used) ~ ÓZ ½ s O ô Ç . • ! Q( ao ' H: x> & h « Ñ\ ¦ Ð Ã ¦½ Éà + ºe . – X <s ' Z s Û ¼\ " f H a> ' [ t\ þ @ /ô Ç Ho 7 & , Ó h to ü & Û h ¼v \ aô ' Ç&

ñ Ð\ ¦Ä »t H X <s ' (data dictionary)` ¦ ´ © §s ú ] X H ô Ç . " f! Q( ao ' HX <s ' ¦2 ^ ¤ r É §^ t · § ú H .

• 9 {ì Í& ø h ~ ÓZ ½ :

O { 9 · ¡Â ú Òì r\

{ 9 K 8\ ¦ 6 x #

{ \ 9 aô ' Ç# Q&

ñ Ð\ ¦$ © H~ ÓZ ½ O – Ð : xs K 8\ q # Qe H' Í P :Y U ï× ¼_ Au 0 ë Ä ß »t ¦, q # Qe H' Y Í U ï× ¼\ H # q Qe HÕ ª 6 §Y £ U ï× ¼_ 0 Au \ ¦Ä »t ô Ç . 7 ¤, £ o Û ¼à Ô Ðq # Qe HY U ï× ¼\ ¦ ao ' ô Ç .

• # Q 6 x #

' î Ü ¼ ÐX <s ' Z s Û ¼\ ¦ 6 x #

' ] Q(concurrency-control) 0 ¦e î j# Ar Û ¼% 7 rX É <s ' Z s Û ¼_ 9 { a$ '

` í ¦Ä »t l 0 AK : ¤& £

‫כ‬ ñ ¹' A[ õ t` þ ¦t r ~ ´Ã ºe . ! Q( ao ' t a‫כ‬ ) ¹' A[ õ þ t_ ? /6 x ¦ `· ú §^ · ú ¦o 7 §` £ ¦ & 6 h x½ ÉM + : ¦ 9½ ÉÃ + ºe .

– ú ¶{ ‫כ‬ 9 ¹' A\ õ @ /K " f Hs o Û ¼à Ô\ ¦ ¸ Ö x 6 9, q # Qe HY U ï× ¼ \ Ü O ¼

{ = 9 Q å Y \ U ï× ¼\ ¦Æ Ò ô Ç .

• z ´J 4 ¤½ ¨(crash-recovery) 0 Ar Û ¼% 7 r É §^ · ú ¦o 7 §\ £ % 3 ô Ç] j ` ¦ ô Ç . # Q ^ " ¦2 ¤s à º

÷ ñ & &% Ü 3 ¼ ! Q( ao ' Hs ^ ¦2 ¤` ¦z ´J 4 ¤½ ¨ 0 Ar Û ¼% 7 _ ) | Ì\ à s O Hn Û ¼ß ¼\ j tà þ º\ O .

11.6

11.6.2

• ß ¼l _ Y U ï× ¼\ ¦$ K © ½ É +

Ä â º – ô

Ç { 9 \ # QY U ï× ¼ { 9 ` ¦$ K © H

Ä â º

Ç

ø m ºÇ Ä k

– U Y ï× ¼? /\ s _ © 9 × ¼ ß ¼l ¦ | \ 9

Ä â º

{ 9 r É Ho 7 & Ü h ¼ Ð { º 9 _ Y U ï× ¼ Ð ¸f ÷ &# Q e .

– 9 × ¼_ ì Í4 ø ¤` ¦) 6 x HY U ï× ¼ { ` 9 ¦$ K © H

Ä â º: × æ° ‫כ‬5 ú q$ Å

í

• Y U ï× ¼ H

{ _ 9 ^ ¦2 ¤Ü ¼ Ð © a ) . • ^2 ¦ ¤_ ß ¼l Hn Û ¼ß ¼_ Ó to ü & : h ¤$ £

\ í _ K

ñ & a ) . Õ ª Q Y U ï× ¼_ ß ¼l HX <s ' \ & s h . Ð: x a> ' rß É ¼l _ Y U ï× ¼ ¦ \ 6 xô Ç .

• V \) ô Çt & _ h > ý a&

ñ Ð\ ¦ ao ' l 0 Aô Ç ¼l ß _ Y U ï× ¼ typedef struct { char account number[10]; double balance; } account;

• Ð: x _

{ 9 \ Hú ° rß É ¼l _ Y U ï× ¼ë $ ß ô © Ç . 11.6.1

ű ì M 8 ý7 _ ©

typedef struct { char branch name[22]; account account info[]; } account-list;

w X Ëc N Ü R± M 8 ý7 _ ©

• \ V) account a> ' _ ô ÇY U ï× ¼_ &

_ ñ typedef struct { char account number[10]; char branch name[22]; double balance; } account;

l # " f account info H U ´s _ C \ s P . 11.6.2.1 l ç Ã% K á

¸ ~ Ø« Å • U Y ï× ¼_ = Q\ å Y U ï× ¼_ = Q` å ¦³ ðr , Y U ï ¼r × \ Y U ï× ¼_ U ´s \ ¦$ © H~ ÓZ ½ O

char + As þ 1 sà Ôs ¦, double + As þ 8 s à Ôs account Y U ï× ¼_ ß ¼l H 40 s à Ôs .

• é & ß h

• é © í ß Hô Ç~ ÓZ ½ : ' O 40 Í s à Ô\ ' Y Í U ï× ¼, Õ ª 6 § 40 £ s à Ô\ Õ ª 6 §Y £ U ï× ¼\ ¦$ © H~ Ó ½ . O Z

– ] j aY ) U ï× ¼_ / Nç B ` ß ¦ r 6 x l Q§ # > . é ¼ ß # o µ ÏÒ 1 tô q Ç . 2


header

records

A-102 #entries

size

free space

A-302 A-215 A-515

<Õ ªa > 11.1> _ Ë t2 þ ©` s t ½ ¨ ¸

A-305

A-444

– Y U ï× ¼\ X <s ' \ ¦Æ Ò l # Q§ > . • _ t2 þ ©` s t ½ ¨ ¸(slotted-page structure)

400 600 700 900 350

550

<Õ ªa > 11.3> í Ë H

{ \ 9 " f¶ { ú 9

– ^2 ¦ ¤_ r \ 6 § £ õ° ú r& É

ñ Ð\ ¦ Ð aô ' Ç .

• Æ Ò & Ü h ¼ Ð 6 x H Y U ï× ¼_ 9 × ¼Â Òì r` ¦] jü @ô Ç Qt / Nç B ß rz É © q a ) .

• K 8\ e HU Y ï× ¼_ pà ' Ôo _ Ã º • B /ç N _ ß å Q =0 Au • ^ ¦2 ¤\ $ ÷ © &# Qe Hy Y U ï× ¼_ 0 A ü u <ß ¼l

– ^2 ¦ ¤` ¦r ^ ¦! (anchor block)õ 3 g Å >^ Ë ¦ (overflow block)Ü 3 ! ¼ Ð ¾ º# Q 6 x H~ Ó ½ O Z

– z ´] jY U ï× ¼ H^ ¦2 ¤_ = QÂ å Ò' $ © a ) .

• r ^ ¦! \ 3 HY U ï× ¼_ ¦&

ß ñ ¼l 9 × ¼ü < 9 × ¼_ ô Ç° ‫כ‬ë ú $ ß ô © Ç . • g Å >^ Ë ¦! \ 3 H × 9 ¼_ ° ‫[כ‬ ú të þ ß o Û ¼à Ô+ AI þ Ð$ ô © Ç . • r ^ ¦! õ 3 g Å >^ Ë ¦! _ 3 Y U ï× ¼ß ¼l Ø Ô .

– / Nç B ß r É 5 q Å a/ ) Nç B Ü ß ¼ Ð Ó ½ K © 8ü <$ ÷ © &# Qe H t } Y U ï× ¼ s \ Ä »t a ) . – Y U ï× ¼ ] j÷ & , ô ÇY U ï× ¼_ ß ¼l

÷ â & ^ ¦2 ¤` ¦F &

o ñ ô Ç . 11.6.2.2 §Ç Û a Sæ Ö «e Ø ¸« Å

11.7

ø

Ç5 m ; c" e7 _ © ºÇ Ä k

• n

? { 9 ¸f (heap file organization): Y U ï× ¼ H

? 9 { /\ e _ _ 0 Au \ $ | © cà ¨ ºe . Ð: x _ a> ' H _

{ \ 9 $ ô © Ç . • í H

{ 9 ¸f (sequential file organization): Y U ï ¼ × Ht &

ñ a ) × 9 ¼( Ò ov )\ ¦l ï rÜ ¼ Ð&

§ ñ =÷ > &# Q $ © a ) .

• Kr

{ 9 ¸f (hashing file organization): Y U ï× ¼ Y _

> 9 × ¼_ ° ‫`כ‬ ú ¦K r ÊÃ < º_ { 9 § Ü 4 ¼ Ð 6 x K # r ° ‫`כ‬ ú ¦> í ô ß Ç 6 §\ £ s ° ‫`כ‬ ú ¦l ï rÜ ¼ Ð$ © a ) . • þ 9 t QÛ ¼'

{ 9 ¸f (clustering file organization): f " Ð r É a> ' \ ¦ _

{ 9 \ $ © 9, s M : aº ' e HX <s ' H° ú r^ É ¦2 ¤\ $ © a ) .

<Õ ªa > 11.2> r Ë ^ ¦2 ¤õ g Å >^ Ë ¦2 ¤½ ¨ ¸ • [ j t ~ ÓZ ½ O

11.7.1

– ôY Ç U ï× ¼_ þ j@ /ß ¼l &

_ ñ ÷ &# Qe Ü ¼ ¸ HY U ï× ¼ s ß ¼l \ ¦ t ¸2 ¤$ © H ~ ÓZ ½ Ü O ¼ Ð, ½ É{ + ÷ © &% t 3 ë ß 6 x÷ &t · § ú H/ Nç B ß r: É ¤Ã £ º° ‫כ‬Ü ú ¼ ÐG Ä º Y U ï× ¼ _ = Q` å ¦ ? / H° ‫כ‬Ü ú ¼ ÐG î r .

Ø U Å

ø Ç m ºÇ k Ä

• í H

{ 9 ¸f r# É Q ~ " a É co Ë (search key)\ ¦l rÜ ï ¼ ÐY U ï× ¼[ ts þ &

§ ñ =÷ > &# Q$ © a ) . • Q # 5 " q$ Å

í ¸ Ò ov | cà ¨ ºe Ü ¼9, 5 q$ Å

_ í | ½ 9 Ë + s Ò ov | cà ¨ ºe . = GÅ Òv Ò ov | c ¨ ‫כ‬ 9 ¹ H\ O .

• / @Â Òì r_ Y U ï× ¼ þ j@ / ß ¼l \ H] X Çß ô ¼l \ ¦ | 9

Ä â º\ HÄ »6 xô Ç~ ÓZ ½ O s . • ë H] j& : / h Nç B s ß ´ §s ú z q © | cà ¨ ºe .

• ú ¶{ : Ó 9 to ü & í h H" fü < Ho 7 & í h H" f { 9 u > $ ÷ © &# Qe Ü ¼Ù ¼ Ð" ¶A é ¶ { ú ÷ 9 &# Q H0 Au \ { ú ¶ 9 l # Q§ > . s \ ¦0 AK Qt Y U ï× ¼\ ¦ ¸¿ ºs 1 x½ l Éà + ºe t ë s ß ‫כ‬ r$ É

0 í x8 p ¤ £ \ " f Ðf à | t · § ú . " f o Û ¼à Ô\ ¦ 6 xô Ç .

– ¦&

ñ aß ) ¼l _ U Y ï× ¼\ ¦ o Û ¼à Ô+ AI þ Ð # 6 x H~ ÓZ ½ O 3


– Á º $

] í j ¸|

Y U ï× ¼ ¶ { ú ½ 9 É0 + Au ü < © î r/ M\ B e H / Nç B \ ß ¶ { ú 9 ¦ í ' ú ‫כ‬ °` ¦ ¸&

ô ñ Ç .

– a ) 6 x 3 q2 l ¤ – y 6 x _ : x> &

ñ Ð

– Ó to ü & í h H" fü < Ho 7 & í h H" f ´ §s ú # # Á Q n Û ¼ß ¼{ Ø 9 ¦§ M 4 :ë H\ $

0 í xs p B Ä ºb # Q fÅ & ¼ to ü í h fü < 7 . " Òl Ü h ÐÓ & H" H o & í h H" f\ ¦{ 9 u r & Å Ò# Q ô Ç .

– J Û ¼0 >× ¼ü <° ú r É 6 x 7 x& £

ñ Ð – y a> ' \ e HÈ Òe ¦_ Ã º – y a> ' $ ÷ © &# Qe H$ ½ © ¨ ¸

• í H

{ 9 ¸f r É a> ' \ ¦: ¤& £

í ñ H" f Ð{ 9 # Q ½ É + M :¼ o # 9, | _ 9 \ ¦% o ½ ÉM + : ¸ ¸¹ §s ¡ | cà ¨ º e . 11.7.2

– y a> ' $ ÷ © &# Qe H

{ 9 – ô

Ç { 9 \ ¸ H a> ' $ ÷ © &# Qe a ' _ > y È Òe ¦s

{ ? 9 /\ # Qn \ $ ÷ © &# Q e Ht \ @ /ô Ç&

ñ Ð

z ü > [­ ' [

m ø Ç ºÇ Ä k

– Ò o &

ñ Ð

• @ /Â Òì r_ a> ' + AX þ <s ' Z s Û ¼ Hy a> ' \ ¦Z > ¸

{ 9 \ $ ô © Ç . s ‫כ‬ ry É a> ' H Ð: x ¦

ñ & aß ) ¼l _ Y U ï× ¼\ ¦ 6 x 9, ¦&

ñ aß ) ¼l _ Y U ï× ¼ Hé í ß Hô Ç

{ 9 ¸f ` ¦s 6 x # ~ > 1 $ ½ © ÉÃ + ºe l M :ë Hs . 8½ ¨ é í ß Hô Ç

{ 9 ¸f ¦ ` 6 x s ` ‫כ‬ ¦ ¸ l 0 Aô Ç ï× ¼ ¸é í ß H 9, ï× ¼_ ¸ ª & h . • X <s ' Z s Û ¼_ é

u & t ¦4 ¤¸ K ú t _

{ \ 9 # Q a> ' \ ¦$ © # $

0 í x` p ¦ Ó ¾ r © v H s ‫כ‬ ‫כ‬ 9 ¹½ ɺ + Ãe . • @ /6 x| ÓX ¾ <s ' Z s Û ¼ H

{ 9 ao ' \ ¦î r%

^ ò ] j\ > _ r > t · § ú ¦, _

{ \ 9 ¸ H a> ' \ ¦$ © ¦, s

{ ` 9 ¦Û ¼Û ¼Ð ao ' ô Ç . • \ V) 6 §| £ _ 9 \ ¦¦ 9 # Ð . select > ý a ñ, ¦Ì o"

, î ¦Ì o- ¸r , ¦Ì o- o from depositor,customer where depositor. ¦Ì o"

=customer. î ¦Ì o"

î s | _ 9 H depositorü < customer\ ¦ ¸ ô Ç . " f depositor_ y È Òe ¦ ° ú r É ¦Ì o"

` î ¦ customer È Òe ¦` ¦¹ Ô 1 ô Ç . þ j _

Ä â º y Y U ï× ¼ r^ É ¦2 ¤\ 0 Au K e Ü ¼ ´ § ú rn É Û ¼ß ¼] H X s 9 ‫כ‬ ¹ > a ) . 9 t þ QÛ ¼'

{ 9 ¸f r depositor_ É y È Òe ¦` ¦ aº ' customer_ È Òe ¦ H % \ $ ô © Ç . " f Ð Ø Ô> Õ ªo ¦& h rn É Û ¼ß ¼] X HÜ ¼ Ð ¸ ` ¦½ Éà + ºe . Õ ª Q s X > O ¸f o÷ & # Q " ¸ r É Ø Ô> % o ½ É + à ºe t ë ß r| É 9 _ H ¸y 90 y# p Q| 9 à ºe . s ` ‫כ‬ ¦F G4 ¤ l 0 AK customer_ È Òe ¦[ t þ r É o Û ¼à Ô+ AI þ Ð # 6 xô Ç . • 9 t þ QÛ ¼'

{ 9 ¸f rr É Û ¼ 7\ % " f´ §s ú 6 x| c ¨ 9 | _ \ ¦l ï rÜ ¼ Ðþ j& h o÷ &# Q$ © a ) .

11.8

KT 6 ' [ Å8 ¹ ý$ [X s ê

• X <s ' \ Ä » t÷ &# Q H&

ñ Ð – a> ' _ s 2 § £ – y a> ' _ 5 q$ Å

s í 2 § £ – y 5 q$ Å

_ í ¸B j õ ß ¼l – X <s ' Z s Û ¼\ &

_ ñ a ) Ó_ s 2 §õ £ Õ ª ‫כ‬ _ &

_ ñ 4


c °2003, sangjin@kut.ac.kr

• × ¿a cê Ë >(secondary index): Ò o Ü ¼ Ð 6 x H Ò ov

{ \ 9 $ ÷ © &# Qe HY U ï× ¼_ í H" f < ü H rí É H" f\ ¦&

_ ñ HÒ o ` ¦´ ú 9, r É ú ´ Ðq 9 t þ QÛ ¼' Ò o (non-clustering index)s Ç ô .

2T 6 ' _9 KT Ã : ~ ¡q ç { ¡È 08 A. Silberschatz, H. Korth, S. Sudarshan Database System Concepts, Fourth Edition, McGraw-Hill, 2002.

12.2.1

{ \ 9 Y U ï× ¼ # Q " Ò ov \ ¦l ï rÜ ¼ Ð&

§ ñ = > &# ÷ Q$ ÷ © &# Qe ¦s Ò ov \ ¦ 6 x HÅ ÒÒ o s e Ü ¼ , s

{ 9 ` ¦ Ò o í H

{ 9 (indexsequential file)s ô Ç .

Part IV. Data Storage and Querying

12 12.1

• Ò o Y U ï× ¼¢ ¸ HÒ o Ó ½ r É Ò ov ° ‫כ‬õ ú s ° ‫כ‬ ú ¦ ` í Ê < HY U ï× ¼\ ¦ v H s _ © í ' н ¨$

í a ) . s í ' H

{ ? 9 /\ Y U ï× ¼ $ ÷ © &# Qe H^ ¦2 ¤_ d Z > ü <Õ ª^ ¦2 ¤? /_ ¸á Ô! Ü Ó ¼ н ¨$

í a ) .

ß t ÅÊ Ã ÝA 0Ë Å S Ä M Ø4 ] È G

{ 9 \ @ /ô ÇÒ o r{ É ì 9 ÍÕ ø \ þ " f 6 x HÒ o ° õ ú r¶ É " éo Ðl x 1 ô Ç .

• Ò ÅÒ o _ Ò o Y U ï× ¼ H _ í ' ë Ä ß »t s Ò o Y U ï× ¼ü <° ú r° É ‫`כ‬ ú ¦ t HY U ï ¼\ × @ /ô Ç ¸ H í ' \ ¦Ä »t ô Ç . _ í ë ' Ä ß »t H

Ä â º\ HÆ Ò Ðí H Ò os 9 ¹½ ‫כ‬ ÉÃ + ºe .

• Ò o r& É

§ ñ =÷ > &# Qe ¦, Ò o` ¦ Ø Ô> ½ Éà + ºe ¸ 2 ¤ ¸ü <Å Ò9, Õ \ þ q K @ © /& Ü h ¼ Ð& h r É s ª . • Ò o _ 7 xÀ á Ó – í" H fÒ o : &

§ ñ = > a° ) ‫`כ‬ ú ¦l ì Íô ø ÇÒ o – K r Ò o : K r ÊÃ < º\ ¦ s6 xô ÇÒ o

12.2.1.1 ¦ >W ÿ ?

É Ùa cê Ë > • í H" fÒ o _ 7 xÀ á Ó

• Ò o l Z ` O ¦¨

î H lï r – X ]H { : ´ 9 òÖ ¦& ] h H X s t ¶ " é÷ & H] X H_ Ä »+ A þ – ] H X r ç : : ß ¤& £

X ñ <s ' Ó3 ½ q` l ¦¹ Ô 1 HX < è‫כ‬ ¹ & ÷ Hr ç ß – ¶ { ú 9 r ç : D ß h< Xs ' Ó3 ½ q` l ¦¶ { ú 9 HX < è ‫כ‬ ¹÷ & Hr ç ` ß ¦´ ú 9, z ´] jX <s ' \ ¦¶ { ú 9 Hr ç õ ß Ò o ` ¦Ì t q HX < o Hr ` ß ç ¦½ Ë; + 2r ç s ß . – ] jr ç : ß l rX > <s ' Ó3 ½ q` l ¦ ] j HX < è‫כ‬ ¹÷ & Hr ç ` ß ¦´ ú 9, z ´] jX <s ' \ ¦ ] j Hr ç õ ß Ò o ` ¦Ì t q HX < o H r ç ` ß ¦½ Ë; + 2r ç s ß . – / Nç B ß ¸! QK × ¼: Ò o ` ¦ t HÆ Ò & / h N B ` ß ç ¦´ ú 9, & { h ô © Çà ºï r_ / Nç B ß ¸! QK × ¼ H$

0 í x p Ó ¾ ` © ¦0 AK BÒ t q H ‫כ‬ r u É e .

12.2

¤t ß Å Ã

– ¦W > a cê Ë >(dense index): 6 x÷ & ¦e H ¸ H Ò ov ° ‫`כ‬ ú ¦Ò o Ü ¼ Ð 6 x Hí H" fÒ o ` ¦ ´ ô ú Ç . ^ Å Ò Ò o (dense primary key)_ Ò o Y U ï× ¼ H Ò ov ° ‫כ‬õ ú Õ ª° ‫`כ‬ ú ¦ í Ê < H' Y Í U ï× ¼\ ¦ o v H í ' Ð ¨$ ½

í a ) . ° ú r° É ‫`כ‬ ú ¦ t HY U ï× ¼ H' Y Í U ï× ¼s Ê ê\ í H & Ü h ¼ Ð$ © a ) . – É

Ùa cê Ë >(sparse index): 6 x÷ & ¦e H ov Ò ° ‫× כ‬ ú æ { Â 9 Òë Ò ß o Ü ¼ Ð 6 x H í H fÒ " o ` ¦´ ô ú Ç . s ¨ 8

\ â " f Ò ov ° ‫כ‬ ú a s : ¤& £

Y ñ U ï× ¼\ ¦¹ Ô 1 ¦z ·Ü ¼ aü <° ú t ë ß © HÒ o ` ¦s 6 xô Ç . • X ] Hr ç 8 ß ¤ £ \ " f H ^ Ò o s , / Nç B ß ¸! QK ¼8 × ¤ £ \ " f H{  9 ÒÒ o s Ä »o . ¢ ¸ô Ƕ { ú 9 õ ] jr Ò o Ì t q 8 ¤ £ \ " f ¸{  9 ÒÒ o s Ä » o . • 9 {ì Í& ø Ü h ¼ Ð{  9 ÒÒ o ` ¦ 6 x 9, ô Ç^ ¦! 3 _ Ò o ` ¦ 6 xô Ç . s ‫כ‬ r^ É ¦2 ¤` ¦Å Òl % 3 u © \ & F h ô ÇÊ ê\ Õ ª^ ¦2 ¤` ¦í H Ò o H ‫כ‬ r É Ø Ô> ½ Éà + ºe l M :ë Hs .

Ø" U Å et Å Ã ß

• Ò o ½ ¨ ¸ H: ¤& £

ñ Ò ov ü < a ' a ) . • í" H fÒ o r É Ò ov _ ° ‫`כ‬ ú ¦&

§ ñ = > # Ä »t 9, y ° ‫כ‬õ ú Õ ª° ‫כ‬s ú í Ê÷ < &# Qe HY U ï× ¼_ 0 Au \ ¦ aK ' Z ~ H .

12.2.1.2 í N 5 a cê Ë > • 9 { ÒÒ o ~ Ód ½ ` ¦ 6 x 8 ¸´ òÖ ¦& Ü h ¼ Ð% o l \ H -Á º9 tà þ ºe .

{ 9 r# É Q> h_ Ò o ` ¦ | Ã 9 ºe . • Ì Áa c> Ë (primary index): Ò ê o Ü ¼ Ð 6 x H ov Ò

{ 9 \ $ ÷ © &# Qe HY U ï× ¼_ í H" f\ ¦

_ ñ & HÒ o ` ¦´ ú 9, r´ É ú Ð9 t þ QÛ ¼' Ò o (clustering index)s ô Ç .

• V \) ô Ç

{ \ 9 100,000 > h_ Y U ï× ¼ $ ÷ © &# Q Ü e ¼9, y ^ ¦! \ 3 10 > h_ Y U ï× ¼ $ © a ) ¦ &

ñ . 1


2) Ò o Y U ï× ¼ ' Í P :Y U ï× ¼_ í ' ë ` ß ¦Ä »t ½ ÉM + : rs ' Í P :Y U ï× ¼s Ò o Y U ï× ¼_ í ' \ ¦ º ¿ P :Y U ï× ¼\ ¦ o v ¸2 ¤Ì t q Ç ô . – {  9 ÒÒ o : y ^ ¦! 3 _ Ò o ` ¦Ä »t Ç ô ¦ &

ô ñ Ç . 1. Ò o \ a° ‫`כ‬ ú ¦ t HÒ o Y U ï× ¼ \ O Ü ¼ rë ß ] jô Ç . 2. Ò o \ a° ‫`כ‬ ú ¦ t HÒ o Y U ï× ¼ e Ü ¼ 1) a ° ‫`כ‬ ú ¦ t HY U ï× ¼ r µ Ú\ 1 \ O ¼ Ü r\ ¦ ] j ¦, a ° ‫`כ‬ ú ¦ t H o Ò Y U ï× ¼ HÕ ª 6 §° £ ‫כ‬Ü ú ¼ ÐÌ t q ô Ç . s M :Õ ª 6 §° £ ‫\כ‬ ú K { © HÒ o Y U ï× ¼ e Ü ¼ a° ‫`כ‬ ú ¦ t HÒ o Y U ï× ¼\ ¦ ] jô Ç . 2) Ò o Y U ï× ¼ ' Í P :Y U ï× ¼_ í ' ë ` ß ¦Ä »t ½ ÉM + : rs ' Í P :Y U ï× ¼s Ò o Y U ï× ¼_ í ' \ ¦ º ¿ P :Y U ï× ¼\ ¦ o v ¸2 ¤Ì t q Ç ô .

– ^! ¦ 3 _ Ò o ` ¦ Ä »t 10,000 > h_ Ò o s 9 ‫כ‬ ¹ . – Ò o _ ¼ ßl ô Ç

{ ^ 9 ¦2 ¤\ 100 > h _ Ò o ^ ¦2 ¤s $ © a ) ¦ . – Õ ª Q Ò o ` ¦$ © l 0 AK " f H 100 > h_ ¦2 ^ ¤s 9 ‫כ‬ ¹ . • Ò o s Å Òl % 3 u © \ ¸¿ ºÄ »t ½ Éà + ºe Ü ¼ Ø Ô> Ò o½ Éà + ºe . Õ ª Q 0 A\ V% ! Ò 3 o s & " f# Q^ ¦2 ¤\ ¾ º# Qn Û ¼ß ¼\ $ ÷ © & # Qe ´ § ú rn É Û ¼ß ¼] X Hs ‫כ‬ 9 ¹ . • Ò o s b> h^ ¦2 ¤\ $ ÷ © &# Qe H

Ä â º\ s à Ôo Ò o` ¦ 8 ¸ dlog2 (b)e1 ^ ¦2 ¤` ¦{ # 9 Q Ç ô . • é > ß Ò o : Ò o _ Ò o ` ¦ 6 x H~ Ód ½ Ü ¼ Ð n Û ¼ß ¼{ 9 Ø ¦4 §` ¦´ §s ú × ¦{ º 9 Ãe . 12.2.1.3 a cê Ë > + jé » > • # Q + " AI þ _ Ò o ` ¦ 6 x 8 ¸Y U ï× ¼ ¶ ú 9 { ÷ & ¦ ] j| cM ¨ : Ò o rÌ É t q ÷ &# Q ô Ç . • ¶ { ú 9 : ¶ { ú 9 ½ ÉY + U ï× ¼ r_ Ò ov ° ‫ כ‬a` ú ¦s 6 x # o Ò ` ¦ Ò oô Ç .

12.2.2

º | ºt ß Å Ã

– ^ Ò o 1. a Ò o \ rF > t · §Ü ú ¼ r\ ¦& ] h X Ç0 ô Au \ ¶ { ú 9 ¦, Ò o \ a\ ¦Æ Ò Ç ô . 2. a Ò o \ rF > a. r\ ¦° ú r a\ É ¦ t HY U ï× ¼[ t+ þ '\ { ú ¶ ô 9 Ç . b. Ò o Y U ï× ¼ ° ú r É Ò ov ° ‫`כ‬ ú ¦ t H ¸ HY U ï× ¼_ í ' \ ¦Ä »t Ç ô s Y U ï× ¼\ í ' \ ¦Æ Ò Ç ô .

A-102 300 A-105 400 A-215 450 A-218 500 A-332 A-400

400 500 500 300 300 450

<Õ ªa > 12.1> Ë Ð ¸Ò o

– 9 {  ÒÒ o : y ^ ¦! 3 _ Ò o ` ¦Ä »t Ç ô ¦ &

ô ñ Ç .

• Ò ÅÒ o r{ É Â 9 ÒÒ o ` ¦Ä »t ½ Éà + ºe t ë ß Ð ¸Ò o r É ^ Ò o ` ¦Ä »t K ô Ç . Y U ï× ¼ H Ð ¸ o Ò ` ¦l ï rÜ ¼ Ð&

§ ñ =÷ > &# Qe t · §l ú M :ë H\ Ò ^ o ` ¦ 6 x t · §Ü ú ¼ Ò o\ ¸¹ §s ¡ ÷ &t § ú · H .

• ú ¶{ M 9 :ë H\ h D^ ¦! ` 3 ¦Ò t$ q

K í ô Ç D h^ ¦! _ 3 ' Y Í U ï× ¼_ K { © H ov Ò ° ‫`כ‬ ú ¦Ò o \ Æ Ò ô Ç . • ¶ { ú s 9 ^ ¦! _ 3 ' 0 Í Au \ ¶ { ú ÷ 9 &# Q ^ ¦! _ 3 Ò o ° ‫`כ‬ ú ¦ a ÐÌ t q ô Ç .

• Ò ÅÒ o r É _ í ' ë Ä ß »t ½ Éà + ºe t ë ß Ð ¸Ò o r° É ú r° É ‫`כ‬ ú ¦ t H ¸ HY U ï× ¼\ @ /ô Ç í ' \ ¦Ä »t K ô Ç .

• ] j: ] j½ ÉY + U ï× ¼ r_ Ò ov ° ‫ כ‬a` ú ¦s 6 x # o Ò ` ¦ Ò oô Ç .

• s\ ¦0 AK Æ Ò & h ç ] ß é X > ß \ ¦ 6 x½ Éà + ºe . ¤, Ò £ 7 o Y U ï× ¼ Ðy Y U ï× ¼\ @ /ô Ç í ' ¦Ä \ »t t · § ú ¦, í ' [ t` þ ¦Ä »t HC \ ` P ¦ o . Õ ªa > 12.1 Ë Ð Ã ¸.

– ^ Ò o 1. a ú ‫כ‬ °` ¦ t HY U ï× ¼ r µ Ú\ 1 \ Ü O ¼ a\ ¦Ò o \ " f ] jô Ç . 2. a ° ‫`כ‬ ú ¦ t HY U ï× ¼ r ü @\ 8e Ü ¼ 1) Ò o Y U ï× ¼ ° ú r É Ò ov ° ‫`כ‬ ú ¦ t H ¸ HY U ï× ¼_ í ' \ ¦Ä »t Ç ô r_ í ' \ ¦ ] jô Ç . 1 dae:

• ú ¶{ õ 9 ] jr Ð ¸Ò o \ @ /ô ÇÌ t q rÅ É ÒÒ o " \ f ^ Ò o ` ¦ 6 x H

Ä â ºü <° ú . • Ð ¸Ò o ` ¦ 6 x Ò ov r É ` ‫כ‬ ¦ 6 s xK H| 9 _ \ ¦ Ø Ô> % o ½ Éà + ºe . Õ ª Q X <s ' Z s Û ¼

\ â @ /ô Ç { © ô © Ç ¸! QK ¼\ × ¦y ‫כ‬ © ¹ô Ç .

a Ð ß ¼ ° ú r É © r& É

à ñ º

2


B+ -² P t ß Å

Ã Ç ø m

12.3

• ¸× ¼_ Ò ov ½ É{ + ~ © ÓZ ½ O

• Ò o í H

{ 9 r

É { 9 _ ß ¼l & t & | 9 Ã º 2 ¤$

0 í xs p b # Q .

– í K 5 Ó ± ¿Þ « • ôé Ç ´ ß ú ¸× ¼\ þ j@ / n − 1> h_ Ò ov ° ‫`כ‬ ú ¦½ É{ + ½ © Éà + ºe . • ô Çß é´ ú ¸× ¼\ Hþ j è d(n − 1)/2e> h_ Ò ov ° ‫`כ‬ ú ¦ t ¦e # Q ô Ç . • y é ´ ß ú ¸× ¼\ e H Ò ov ° ‫ כ‬ ú r× É æ^ ? o &t ÷ · § ú H . • Pn \ ¦s 6 x # é ´ ß ú ¸× ¼\ ¦ o Û ¼ à Ô+ AI þ ÐÄ »t ô Ç . s o Û ¼à Ô\ ¦s 6 x # ´ òÖ ¦& Ü h ¼ Ðí H Ò o` ¦½ Éà + ºe .

+

• B -à Ôo H ³F & V © o , 6 x÷ & HÒ o ½ ¨ ¸ s 9, Y U ï× ¼\ ¦ ] j ú ¶{ 9 8 ¸Õ ª$

í 0 x` p ¦> 5 qÄ Å »t ô Ç . • B+ -à Ôo Hç H+ AÔ þ ào (balanced tree)s . 7 ¤, À £ Ò à Ô ¸× ¼\ " f ¸ Hé ´ ß ú ¸× ¼ t _

â Ð_ U ´s ° ú . • B+ -à Ôo Ò o ¨ ½ ¸\ ¦ 6 x ¶ { ú 9 õ ] jM : ¸! QK × ¼ e ¦, / Nç B 8 ß ¤ £ \ " f ¸ ¸! QK × ¼ t e ë ß Å ÒÌ t q ÷ & H

{ 9 _

Ä â º\ H

{ 9 F

o ñ & 9 ‫כ‬ ¹\ l O M :ë H\ ^ & $ h

0 í x p r É ¸y 9 ~ % a . 12.3.1

– jí K 5 Ó ± ¿Þ «: é ´ ß ú ¸× ¼\ @ /ô Ç é > ß {  9 Ò o Ò % ½ i É` + ¦ô Ç . • q é ´ ß ú ¸× ¼_ ½ ¨ ¸ Hé ´ ß ú ¸× ¼ü <° ú . ë , q ß é ´ ß ú ¸× ¼_ í ' H

{ 9 _ Y U ï× ¼\ ¦ o v t · § ú ¦ ¸¿ º r É ¸× ¼\ ¦ o . • q é ´ ß ú ¸× ¼ Hþ j@ / n> h_ í ' \ ¦ 9 | à ºe Ü ¼9, þ j è dn/2e> h_ í ' \ ¦ 4 R ô Ç . • m> h_ í ' \ ¦ q é ´ ß ú ¸× ¼\ ¦ ¦ 9 # Ð . – í ' Pi (1 < i < n) H Ki Ð ¦ Ki−1 Ð H° ú H Ò ov ‫`כ‬ ú ° ¦ í Ê < H ¸× ¼\ ¦ o . – í ' Pm r Km−1 É Ð ß ¼ ° ú r É Ò ov ° ‫`כ‬ ú ¦ í Ê < H ¸× ¼\ ¦ o . – í ' P1 r K1 É Ð r É Ò ov ‫`כ‬ ú ° ¦ í Ê < H ¸× ¼\ ¦ o .

B+ -² P 8 ý º

P1

K1

P2

...

Pn-1

Kn-1

Pn

<Õ ªa > 12.2> B+ -à Ë Ôo _ ¸× ¼½ ¨ ¸

A-102 A-215 A-218

400 500 300

– Ç Ùç à ¿Þ « • rq É é ´ ß ú ¸× ¼ü <² o ú dn/2e> h Ð & h rÃ É º_ í ' \ ¦ | à 9 ºe . Õ ª Q þ j è¿ º> h_ í ' H 4 R ô Ç .

<Õ ªa > 12.3> n = 3 Ë B+ -à Ôo _ é ´ ß ú ¸× ¼_ \ V • B+ -à Ôo _ ¸× ¼½ ¨ ¸: Õ ªa > 12.2 Ë

• B+ -à Ôo _ \ V

– ô Ç ¸× ¼ Hþ j@ / n − 1> h_ Ò ov ° ‫`כ‬ ú ¦ . (K1 , K2 , . . ., Kn−1 )

– \ V) n = 3: Õ ªa > 12.4 Ë – \ V) n = 5: Õ ªa > 12.5 Ë

– ô Ç ¸× ¼ H þ j@ / n> h_ í ' \ ¦ . (P1 , P2 , . . ., Pn )

12.3.2

– ¸× ¼_ í ' à º\ ¦Õ ª ¸× ¼_ ½ Ö ©(fan out)s ô Ç .

B+ -² P ; c6 ¢Ç X ù m8 ý

• B+ -à Ôo \ ¦s 6 x # Ò ov V ¸ HY U ï× ¼ ¦¹ \ Ô 1 H~ ÓZ ½ O

– ¸× ¼? /_ Ò ov ° ‫ כ‬ ú r É ¸2 § £ í HÜ ¼ Ð&

§ ñ = > &# ÷ Qe . 7 ¤, i < js £ Ki < K j s .

– ÿ ·4 1. À Òà Ô ¸× ¼\ ¦ Ò o # V Ð ß ¼t ß ë © r É Ò ov ° ‫ כ‬Ki \ ú ¦¹ Ô 1 H .

• é ´ ß ú ¸× ¼_ ½ ¨ ¸: Õ ªa > 12.3 Ë

• 1 ¹Ü Ô ¼ Pi \ ¦s 6 x # d ¸× ¼ Ðs 1 xô l Ç . • \ Ü O ¼ Pm ( ¸× ¼_ t } í ' )\ ¦ s 6 x # d ¸× ¼ Ðs 1 xô l Ç .

– ß é´ ú ¸× ¼_ í ' Pi H Ò ov ° ‫ כ‬Ki \ ú ¦ t HY U ï× ¼\ ¦ o v Ò ov ° ‫ כ‬Ki \ ú ¦ t H ¸ HY U ï× ¼\ @ /ô Ç í ' н ¨$

í a! ) QÖ ` ¿ ¦ o .

– ÿ ·4 2. s 1 xô l Ç ¸× ¼\ @ /K é > ß 1\ ¦ì Í4 ø ¤ Ç ô . é ´ ß ú ¸× ¼ t s 1 x½ l ÉM + : t s ` ‫כ‬ ¦ Í4 ø ì ¤ô Ç .

– Pn r É ¸ rA É ¤\ á e Hé ´ ß ú ¸× ¼\ ¦ o v 9, H í Ò o` ¦½ ÉM + : 6 x a ) . 3


<Õ ªa > 12.4> n = 3 Ë B+ -à Ôo _ \ V

<Õ ªa > 12.5> n = 5 Ë B+ -à Ôo _ \ V – · 4 ÿ 3. é ´ ß ú ¸× ¼\ " fVü <° ú r É Ò ov ° ‫כ‬ ú Ki \ ¦¹ Ô 1 H .

»t Ä ¸2 ¤Æ Ò ô Ç . Õ ª 6 §

£ { 9 \ D hY U × ï ¼\ ¦Æ Ò ¦ í ' \ ¦Ì t q ô Ç .

• 1 ¹¼ Ô Ü Pi \ ¦ s 6 x # Y U ï× ¼\ ¦ 1 ¹` Ô ¦ ºe à . • \ Ü O ¼ V ° ‫`כ‬ ú ¦ t HY U ï× ¼ \ O H ` ‫כ‬ ¦ _p ô Ç .

– ] j: Ò o` ¦ # ] j½ ÉY + U ï× ¼\ ¦¹ Ô 1

\ 9 { " f ] jô Ç . ] j aY ) U ï× ¼\ K { © H Ò ov ° ‫`כ‬ ú ¦ rY É U ï× ¼ \ Ü O ¼ s Ò ov ° ‫`כ‬ ú ¦é ´ ß ú ¸× ¼\ " f] j ô Ç .

{ 9 \ K> h_ Ò ov rF > À Òà Ô\ " fé ß ´ ú ¸× ¼ t _

â Ð Hþ j@ / dlogdn/2e Kes .

• ì½ r És + ‫כ‬ 9 ¹ô Ç

Ä â º: \ V1) Õ ªa > 12.4\ Ë “~ ÓC ½ & ” h ¦¶ ` { ú 9

• + A& þ Ü h ¼ Ðô Ç ¸× ¼ H nÛ ¼ß ¼^ ¦2 ¤_ ß ¼l ü <° ú ¸2 ¤ë ß H .

– Ò o` ¦ “~ ÓC ½ & ” h r “y É z © & ”õ h “#

î ; ”s h & e Hé ´ ß ú ¸× ¼\ ¶ { ú 9 ÷ &# Q ô Ç H ` ‫כ‬ ¦· à ú ºe . Õ ª Q ¶ { ú ½ 9 É/ + Nç B s ß \ O .

• Ð: xn Û ¼ß ¼^ ¦2 ¤_ ¼ ßl H 4 KBs . • Ò ov ° ‫_כ‬ ú ß ¼l 32 s à Ô ¦, n Û ¼ß ¼ í ' _ ß ¼l 8 s à Ô n r@ É /| Ì 100s Ä a ) .

– " fs ¸× ¼\ ¦ì r½ Éô + Ç . é ´ ß ú ¸× ¼\ ¦ì r ɽ + ½ ÉM + :\ Hn> h(l r n − 1> > h_ Ò ov ° ‫כ‬ ú D õ h° ‫_)כ‬ ú Ò ov ° ‫×כ‬ ú æ\ " f dn/2e > h\ ¦l r > ¸× ¼\ ¿ º ¦ Qt \ ¦D h ¸× ¼ Ð` | .

{ 9 \ 1,000,000 > h_ Ò ov ° ‫כ‬s ú e ¦ . Õ ª Q dlog50 1, 000, 000e = 4 ¸× ¼ë ] ß X H a ) . 7 ¤, þ £ j@ /4^ ¦! ë 3 ] ß X H ¹ Ô` 1 ¦Ã ºe . 8½ ¨ À Òà Ô ¸¼ × H Ó ½ ! © Q( \ e Ü ¼Ù ¼ Ð3^ ¦ ! s 3 _ n Û ¼ß ¼] X Hë ß ‫כ‬ 9 ¹ . 12.3.3

– ì½ r É` + ¦ô Ç 6 §\ £ HD h ¸× ¼\ ¦à Ôo \ Æ Ò K ô Ç . D h ¸× ¼_ © r É Ò ov ° ‫כ‬ ú “# s

î ;& ”s h . Õ ª QÙ ¼ Ðs v ° ‫`כ‬ ú ¦Â Ò ¸ ¸× ¼\ Æ Ò K ô Ç . ë ß Â Ò ¸ ¸× ¼\ Æ Ò ½ É/ + Nç B s ß \ Ü O ¼ Â Ò ¸ ¸× ¼ ¸ì r½ É÷ + &# Q ô Ç .

B+ -² P ; c6 ¢n X Þ

Å Ã

– õ : Õ ªa > 12.6_ Ë (a)

• B+ -à Ôo \ " f ¶ { ú 9 õ ] j H Ò o Ð # Q§ > . ¶ { ú 9 ½ É + ¸× ¼\ / Nç B s ß \ Ü O ¼ ¸× ¼\ ¦Ñ t ü Ð ¾ º # Q ¦, ¸× ¼\ " fô Ç° ‫`כ‬ ú ¦ ] j # í ' _ à º dn/2e> hs Ð? / 9 ¿ º ¸× ¼\ ¦ ½ Ë + í ' \ ¦F ì rC K ô Ç . ] j½ ÉM + :\ HF ì rC Ð H ½ Ës + Ä º s 9, ½ Ë + rì É Í× ø ¼ r + A] þ j ¸× ¼ç \ ß ë ß sÀ Ò# Q .

• ì½ r És + ‫כ‬ 9 ¹ô Ç

Ä â º: \ V2) Õ ªa > 12.6_ Ë (a)\ “y © ¤& ¡ · ”` h ¦¶ { ú 9 – s

Ä â º\ Hé ´ ß ú ¸× ¼ç ì ß r½ É + as ) Ê ê “~ Ó ½ & C ”s h Â Ò ¸ ¸× ¼\ Æ Ò Ð¶ { ú 9 ÷ &# Q ô Ç . Õ ª Q Â Ò ¸ ¸× ¼\ Ø æì rô Ç/ Nç B s ß \ s O Ò Â ¸ ¸× ¼ ¸ì r½ É÷ + &# Q ô Ç .

• ½ Ës + ì r½ És + ‫כ‬ 9 ¹\ O H

Ä â º

– qé ´ ß ú ¸× ¼\ ¦ì r½ ɽ + ÉM + :\ Hn> h_ Ò o ° v ‫×כ‬ ú æ\ " f dn/2e > h\ ¦D h ¸× ¼ Ð` | . ª Õ 6 §s £ × æ © r° É ‫ כ‬ ú rD É h ¸× ¼\ " f j ] ¦Â Ò ¸ ¸× ¼ Ð` | .

– ¶ { ú 9 : Ò o` ¦ # ú ¶{ ½ 9 É + Ò ov ° ‫כ‬s ú í Ê÷ < &# Q Hé ´ ß ú ¸× ¼\ ¦¹ Ô 1 H . s p ov Ò ° ‫כ‬s ú e Ü ¼

{ 9 \ D hY U ï× ¼ë Æ ß Ò Ç ô . \ Ü O ¼ é ´ ß ú ¸× ¼\ Ò ov ° ‫`כ‬ ú ¦D h Ð Æ Ò ô Ç . s M : Ò ov ° ‫כ‬s ú &

§ ñ = > aí ) H" f\ ¦

– õ : Õ ªa > 12.6_ Ë (b) 4


<Õ ªa > 12.6> Õ Ë ªa > 12.4\ Ë “~ ÓC ½ & ” ¶ h { ú 9

– Ò o` ¦ # “ r& @ ”s h e H ¸× ¼\ " f “ r& @ ”` h ¦ ] j Õ ª ¸× ¼ H I © a ) .

– " fs ¸× ¼ Hà Ôo \ " f] j ÷ &# Q ô Ç . s ¸× ¼\ ¦] j ô Ç 6 §\ £ HÂ Ò ¸ ¸× ¼_ í ' \ ¦] j K ô Ç . s M : í ' \ ¦] j K { © ¸× ¼_ í ' à º Ø æì r t § ú · .

<Õ ªa > 12.9> ª Ë Õa > 12.6\ Ë " f “#

î ;& ” h ] j

– s

Ä â º\ H+ A] þ j ¸× ¼\ ¦ ô Ç . + A] þ j ¸ ¼\ × Ã º6 x½ É/ + Nç B s ß e Ü ¼ z r É Ò ov ° ‫כ‬ ú ¦+ ` A] þ j ¸× ¼ Ð` l ¦, l r > ¸× ¼ H ] j Ç ô . s ] j\ @ /K Â Ò ¸ ¸× ¼_ í ' ] j÷ & ¦ 9 ‫כ‬ ¹ ° ú r~ É ÓZ ½ Ü O ¼ Ð ½ Ë + Ç ô .

+

• n = 4 B à Ô o\ @ /ô Ƕ { ú 9 _ ¢ ¸ r\ É V: Õ ª > 12.7ü Ë a <Õ ªa > 12.8 Ã Ë Ð ¸. • ½ Ës + 9 ‫כ‬ ¹\ O H

Ä â º: V \1) Õ ªa > 12.6_ Ë (a)\ " f “#

î ;& ”` h ¦ ] j

– õ : Õ ªa > 12.10 Ë Ð Ã ¸.

– Ò o` ¦ # “#

î ;& ”s h e H ¸× ¼\ " f “#

î ;& ”` h ¦ ] j ª Õ ¸× ¼ H I © a ) .

– " fs ¸× ¼ Hà Ôo \ " f] j ÷ &# Q ô Ç . s ¸¼ ×\ ¦] j ô Ç 6 §\ £ HÂ Ò ¸ ¸× ¼_ í ' \ ¦] j K ô Ç . # l " fK { © í ' \ ¦] j K ¸ ¸× ¼\ Ø æì rô Ç í ' e Ü ¼Ù ¼ Ðs Ü ‫כ‬ ¼ Ð] j H¢ a« Ñ a ) .

– õ : Õ ªa > 12.9 Ë Ð Ã ¸.

<Õ ªa > 12.11> Õ Ë ªa > 12.6\ Ë " f “ r& @ ” h ] j

• ½ Ës + 9 ‫כ‬ ¹ô Ç

Ä â º: \ V3) Õ ªa > 12.6_ Ë (a)\ " f “ r& @ ”` h ¦ ] j

– Ò o` ¦ # “ r& @ ”s h e H ¸× ¼\ " f “ r& @ ”` h ¦ ] j Õ ª ¸× ¼ H I © a ) .

<Õ ªa > 12.10> ª Ë Õa > 12.9\ Ë " f “ r& @ ” h ] j

– " fs ¸× ¼ Hà Ôo \ " f] j ÷ & ¦, Õ ª ‫כ‬  _ Ò ¸ ¸× ¼_ í ' ¸] j a ) . s õ Ò Â ¸ ¸× ¼_ í ' à º Ø æì r t · § ú .

• ½ Ës + ‫כ‬ 9 ¹ô Ç

Ä â º: \ V2) Õ ªa > 12.9\ Ë " f “ r @ & ”` h ¦ ] j 5


<Õ ªa > 12.7> n = 4 Ë B+ -à Ôo \ @ / ô¶ Ç { ú 9 – Õ ª Q + A] þ j¸ × ¼` ¦ # ¸Ã º6 x½ É/ + N B s ß ç \ O . + A] þ j¸ × ¼ à º6 x½ Éà + º\ Ü O ¼ y + A] þ j ¸× ¼ ° ú rÃ É º_ í ' \ ¦ t ¸ 2 ¤ í ' \ ¦F ì rC _ ° ‫כ‬ë ú + ß A þ ] j ¸× ¼ РÒ' t ¦ r : . s F ì rC H Â Ò ¸ ¸× ¼_ Ò ov ° ‫_כ‬ ú

` â ¦‫כ‬ ¹½ ¨ô Ç .

• B /ç N ß ¸6 Ö x ¦ ` Ð ´ òÖ ¦& Ü h ¼ Ð l 0 AK ¶ { ú õ 9 ] jr F ì rC K ¿ º ¸× ¼ ° ú rÃ É º_ Y U ï× ¼\ ¦ t ¸2 ¤ô Ç . t ë s ß 1 x÷ l & HY U ï× ¼ ´ § ú t q 6 x ¸Õ ªë ß u7 p x ô £ Ç .

12.4

– õ : Õ ªa > 12.11 Ë Ð Ã ¸. 12.3.4

ËX N X ÄA ì 0Ë Å S

• í H

{ 9 ¸f _ é & ß h rX É <s ' \ ¦ Ò o l 0 A Ò K o ½ ¨ ¸\ ¦] H X K Ù ¼ Ðn Û ¼ß ¼{ Ø 9 ¦§ 4 Æ s Ò Ð è‫כ‬ ¹ a ) H s ‫כ‬ . K d

ç rÒ É o ½ ¨ ¸ @ \ /ô Ç] X H\ s O X <s ' \ ¦ Ò o½ ÉÃ + ºe .

B+ -² P

ø Ǻ m Ç Ä k

• Ò o ÷ rë ß m z ´] jY U ï× ¼ ¸ B+ -à Ôo + AI þ Ð

{ 9 \ $ © ¦ ao ' ½ ÉÃ + ºe . • B+ -à Ôo

{ 9 ¸f \ " f H à Ôo _ é ´ ß ú ¸× ¼\ í ' @ / \ Y U ï× ¼\ ¦ $ ô © Ç .

12.4.1

0S A

ø Ç m ºÇ k Ä

• Ð: xY U ï× ¼ H í ' Ð ß ¼l M :ë H\ é ´ ß ú ¸ × ¼\ $ ½ © ÉÃ + ºe HY U ï× ¼_ Ã º H í ' _ Ã º Ð H& h .

• Kr

{ 9 ¸f \ " f HY U ï× ¼_ Ò ov ° ‫\כ‬ ú @ / ÇK ô r ° ‫`כ‬ ú ¦> í ß # Õ ªY U ï× ¼ e Hn Û ¼ß ¼ ¦2 ^ ¤_ Å Ò è\ ¦ Ð% ` 3 ¦Ã ºe .

• Y U ï× ¼_ ¶ { ú õ 9 ] j H B+ -à Ôo Ò o ½ ¨ ¸ü < ° ú .

• Q !Ö (bucket)s ¿ ê Í ø s _ © Y U ï× ¼\ ¦$ ½ © É + ºe à H$ é © 0 ß A\ ¦´ ô ú Ç . 6


18

3

16

18

20

25

23

25

(a) before

3

35

30

32

35

44

50

32

16

18

25

18

20

35

23

25

30

32

34

35

44

40

44

50

35

44

50

(b) after inserting 34 to a, V=32, V =32 35

3

16

18

25

18

20

44

23

25

30

32

35

(c) after inserting 40 to a, V=44, V =35

25

3

16

18

23

18

20

35

23

24

25

30

32

50

(d) after inserting 24 to a, V=23, V =25

<Õ ªa > 12.8> n = 4 Ë B+ -à Ôo \ @ / ô¶ Ç { ú 9 • K ¸ H Ò ov ° ‫_כ‬ ú | ½ 9 Ës + ¦, B ¸ H! QÖ ¿ Å Ò è_ | 9 ½ Ës + K r Êà < º h H K\ " f B Ð_ Ê < à ºs . 7 ¤, % £ 6 §Â £ Ò' ¦&

ñ aà ) º_ ! QÖ ` ¿ ¦ 6 xô Ç .

• V \1) account a> ' \ " f “t & " h

” 5 î q$ Å

` í ¦ Ò ov Ð 6 x½ ÉM + : 26> h_ ! QÖ ` ¿ ¦ 6 x # i P :%

ò H ë \ ¦ i P :! QÖ \ ¿ 6 x HK r ÊÃ < º\ ¦ 6 x l Ð &

ñ % i . s ‫כ‬ rç É H{ ì 9 r í m . ‘X’ Ðr ÷ & Ht & " h

î r É _ \ l O M :ë Hs .

• Ò ov ° ‫כ‬s ú Ki U Y ï× ¼\ ¦¶ { ú 9 l 0 AK " f H $ h(Ki )\ ¦> í ß # ! QÖ _ ¿ Å Ò è\ ¦% 3 r É 6 § £ Õ ª! QÖ \ ¿ Y U ï× ¼\ ¦ú ¶{ ô 9 Ç . • Ò ov ° ‫כ‬s ú Ki Y U ï× ¼\ ¦ Ò o l 0 AK " f H $ h(Ki )\ ¦> í ß # ! QÖ _ ¿ Å Ò è\ ¦% 3 r É 6 § £ Õ ª! QÖ \ ¿ " fY U ï× ¼\ ¦ Ò oô Ç .

• V \2) “ï Ó ß o” 5 q$ Å

` í ¦ Ò ov Ð 6 x½ ÉM + :ï Ó ß o_ 0 x# p 0 3 A 1Â Ò' 100,000s . s # 0 3 A\ ¦

S ñ & X > 10 > h%

% ò Ü i ¼ Ð ¾ º ì r í ^ Hç H ì 9 { r ís t ë ï ß Ó ß os 1\ " f 10,000 s

Ä â º 90,001\ " f 100,000 s

Ä â º Ð ´ §Ü ú ¼Ù ¼ Ð ü ½ s m .

• Ò ov ° ‫כ‬s ú Ki Y U ï× ¼\ ¦ ] j l 0 AK " f H $ h(Ki )\ ¦> í ß # ! QÖ _ ¿ Å Ò è\ ¦% 3 r É 6 § £ Õ ª! QÖ \ ¿ " fY U ï× ¼\ ¦ Ò o # ] jô Ç .

• v° ‫כ‬s ú ° ú rY É U ï× ¼ ´ §Ü ú ¼ K r Êà < ºü < © a ' s O \ : ¤& £

! ñ QÖ s ¿ r! É QÖ ¿ Ð @ © /& Ü h ¼ д § ú rY É U ï× ¼\ ¦½ É{ + ~ © Î> à a ) .

12.4.1.1 B k Á þÊ Á

12.4.1.2 ! a3 i 1 Ó Ï +% h

• K r Êà < º_ Ø ¦§ _ 4 ì r í H 6 §õ £ ° ú ô Ç .

• ! QÖ ¿ g Å >s Ë µ ÏÒ 1 t q Hs Ä »

– ì r í ! C

(uniform)K ô Ç . 7 ¤, y £ ! QÖ ¿ ° ú rÃ É º_ Ò ov \ ¦½ É{ + K © ô Ç .

– Q !Ö _ ¿  Ò7 ¤: nB ! á QÖ _ ¿ 8 xà ú ºs ¦, nr s $ | © c8 ¨ xY ú U ï× ¼Ã ºs 9, fr s ! QÖ { ¿ $ © © cà ¨ | ºe HY U ï× ¼_ à ºs nB > nr /fr s Q # ô Ç . Õ ª X <8 x$ ú | © cY ¨ U ï× ¼Ã º\ ¦ V8 \ ¤ £ l ~ t 1 · § ú .

– ì r í w ñ d K ô Ç . 7 ¤, £ Ò ov ° ‫_כ‬ ú ì r íü < © a\ ' s O ¨

ç î H& Ü h ¼ Ðy ! QÖ \ ¿ ° ú r É Ã º_ ° ‫כ‬s ú ½ É{ + ÷ © &# Q ô Ç . 7


– q @ /g A(skew): # Q ! " QÖ \ ¿ r! É QÖ ¿ Ð ´ § ú rÃ É º_ Y U ï× ¼ ½ É{ + | © cà ¨ ºe . 7 ¤, £ r! É QÖ ¿ r É f / Nç B s ß z e t ë # ß Q ! " Q ¿ Ö r É g Å >s Ë µ ÏÒ 1 t½ q Éà + ºe . q @ /g As µ ÏÒ 1 t q Éà + ½ ºe Hs Ä » H 6 §õ £ ° ú .

{ ß 9 ¼l 7 x £ Ê\ < Å Òl & Ü h ¼ ÐK ½ r ¨ ¸\ ¦ õ H . s F ½ ¨$

í rK É r ÊÃ < º ¦D \ h\ v> × K þ 9,

{ 9 \ e H ¸ HY U ï× ¼\ @ /K K r ° ‫`כ‬ ú ¦> í ß #

{ 9 ¦D ` h\ v> ½ ¨$

K í ô Ç . s ‫כ‬ rr É ç s ß ´ § ú s è‫כ‬ ¹÷ &9, s l ç 1 ß xî l \ ß H

{ ] 9 X H` ¦ ] C jK ô Ç .

• ú ° r É Ò ov ° ‫`כ‬ ú ¦ Y U ï× ¼ # Q he > ` ¦Ã ºe . • K r Êà < º qç H{ ì 9 r í{ à 9 ºe .

• l 1& x K h d

ç r

É { 9 _ F ½ ¨$

\ í s O X <s ' Z s Û ¼_ ¼l ß o\ ¦Ã º6 x½ Éà + ºe HK d

l ç Z s O .

• ! QÖ ¿ g Å > 0 Ë x$ p

` í ¦þ j è o l 0 AK ! QÖ _ ¿ Ã º H Ð: x 6 §õ £ ° ú s &

ñ a ) .

12.5.1

(nr /fr ) × (1 + d) # l " f d H íõ ‫כ‬ ¹ (fudge factor)s ô Ç . Ð : x 0.2 &

ñ ¸_ ° ‫`כ‬ ú ¦ 6 xô Ç .

i1 hash prefix

i

• ! QÖ ¿ g Å > Ë r É g Å >! Ë QÖ ` ¿ ¦s 6 x # K ô Ç . ! Q s ¿ Ö T ` q g Å >! Ë QÖ ` ¿ ¦ # 6 xô Ç . s ` ‫כ‬ ¦ Ó ¥ Ï >Ú o

' r ×ß

(overflow chaining)s ô Ç .

00 01 10 11

bucket 2

i3

bucket 3

<Õ ªa > 12.12> { Ë 9 ì ÍS ø X 0 © xK p r ½ ¨ ¸

• X <s ' Z s Û ¼ H` WK d

` ç ¦ ñô Ç . s ‫כ‬ r É > h~ ÓK ½ d

\ ç " f HY U ï× ¼ ] jq 6 xs B Ä º9 tà þ º e .

• l 1& x K h d

\ ç " fK r ÊÃ < º H&

& ñ K h d

õ ç ð Í ø t Ðç H{ 9 K 9, ½ü K ô Ç . Õ ª Q 1 x l K h & d ç

\ " fK r ÊÃ < º H @ © /& Ü h ¼ ÐB Ä ºH # 3 A° 0 ‫`כ‬ ú ¦Ò t$ q

ô í Ç . \ V\ ¦[ t# þ Qbq à Ô&

à ñ º\ ¦Ò t$ q

í 9, s q à Ô_ ° ‫ כ‬ ú r É + A& þ Ü h ¼ Ð 32 q à Ôs .

• t F K t [ " O

ô î ÇK d ç

~ ÓZ ½ _ O ë H] j Hr Û ¼% ` 7 ¦ ½ ¨ ³½ & ÉM + :K r ÊÃ < º\ ¦ × K þ 9, s ÊÃ < º\ ¦

â l # Q§ > H s ‫כ‬ . s X > O ô Ç [ & O

ñ ÇK ô r ÊÃ < º\ ¦

½ â ÉÃ + º\ O H

Ä â º\ ¦Ç a B \ b s ô Ç .

• 0 xô p Ç ¸ HK r Êà < º_ ° ‫ כ‬ ú ! QÖ ` ¿ ¦ë [ ß tt þ § ú · H . • bq à ÔK r ° ‫×כ‬ ú æÕ ª _ ‫כ‬ { 9  Òë ß 6 xô Ç . X <s Z ' s Û ¼_ ß ¼l Ê\ < 6 x Hq à Ô º à ô Ç . # Q í " Hç \ ß 6 x H q à Ô Ã º\ ¦ i 9, i q à Ô° ‫ כ‬ ú r! É QÖ Å ¿ Ò è_ s ^ ¦\ @ /ô Ç ¸á Ô! Ü Ó ¼ Ð 6 x a ) . Õ ªa > 12.12 Ë Ð Ã ¸.

A 0S t ß Å Ã

• K d ç

l Z O r

É { 9 ¸ f ÷ rë ß m Ò o ½ ¨ ¸\ 6 x| cà ¨ ºe . • K r Ò o ½ ¨ ¸ H Ð ¸Ò o ½ ¨ ¸\ ë ß 6 x a ) .

{ 9 ¸f ^ K r ÊÃ < º\ ¦s 6 x # ¸f ÷ &# Q Ü e ¼ Z > ¸ _Ò o s ‫כ‬ 9 ¹\ O .

12.5

bucket 1

i2

bucket address table

• Å g > Ë ~ ÓZ ½ ` O ¦ 6 x H K d

l ç Z ` O ¦ Z { t B b (closed hashing)s ô Ç . s õ ‫כ‬ q §÷ & H 5 × ' B (open hashing) b rQ É !Ö \ ¿ / Nç B s ß \ Ü O ¼ r! É QÖ ` ¿ ¦ 6 xô Ç . Ð: xÕ ª 6 §! £ QÖ ` ¿ ¦ 6 x HX <s ~ ÓZ ½ ` O ¦¤ >Ì n C f ¿ (linear probing) ÓZ ½ ~ s O ô Ç . s ü @\ K r Êà < º\ ¦ r ¢ ¸> ß í H~ ÓZ ½ ¸ O e .

12.4.2

KT 6 ' [ º

• iq à Ôë e ß Ü ¼ ! QÖ Å ¿ Ò è_ s ^ ¦_ Ó` ½ ¦¹ Ô` 1 ¦Ã º t e ë { ß 9 º _ _ s ^ ¦ Ó[ ½ ts þ ° ú r! É QÖ ` ¿ ¦ o ´Ã ~ ºe . s X > O ° ú r! É QÖ ` ¿ ¦ o v H Ó ½ r É ¸¿ º° ú rK É r ] ¿ X º (prefix)\ ¦ t 9, s ] ¿ X º H i Ð U ´s & ` h ¦Ã ºe .

ÞX Ò Ä ìA 0Å Ë S

• &

& ñ K h d ç

_ ë H] j& h

• y! QÖ õ ¿ 6 x a/ ) N: B x] ¿ X º _ U ´s \ ¦ ? / H&

à ñ º° ‫ כ‬j` ú ¦ aô ' Ç .

{ 9 ß ¼l \ ¦ ÓÜ ½ ¼ ÐK r ÊÃ < º\ ¦ × þ % i X <s ' Z s Û ¼ & f \ $

0 í x p s .

• ñ &Ã

º jü < a÷ ' & H! QÖ ` ¿ ¦ ij ! QÖ jü ¿ < a÷ ' & H! QÖ Å ¿ Ò è_ s ^ ¦_ ÓÃ ½ º H 6 §õ £ ° ú .

– l @ /ô Çß ¼l \ ¦ ÓÜ ½ ¼ ÐK r ÊÃ < º\ ¦ × þ % i íl \ / Nç B z ß q © ´ § ú .

2i−ij 8


12.5.2

ù Ç m8 ýÑ ÷n Þ

Å Ã 1

• Ò ov ° ‫כ‬s ú Kl Y U ï× ¼\ ¦ Ò o l 0 AK " f H $ h(Kl )\ 0 © Aiq à Ô\ ¦2 [ô Ç . Õ ª 6 §K £ © { H! QÖ Å ¿ Ò è _s ^ ¦_ Ó\ ½ e H í ' \ ¦ s 6 x # ! QÖ ` ¿ ¦¹ Ô 1 ç ß .

0 1 1 A-101 A-110

• Ò ov ° ‫כ‬s ú Kl Y U ï× ¼\ ¦¶ { ú 9 l 0 AK " f H Ò oõ ° ú r] É X \ ¦s 6 x # Y U ï× ¼ ¶ { ú | 9 c ¨ ! QÖ ` ¿ ¦¹ Ô 1 H . s ! QÖ \ ¿ / Nç B s ß e Ü ¼ Y U ï× ¼ Hs ! QÖ \ ¿ ¶ { ú 9 a ) . ! QÖ \ ¿ / Nç B s ß \ Ü O ¼ D h ! QÖ ` ¿ ¦ ë [ ß t# þ Q l r! > QÖ \ ¿ e HY U ï× ¼\ ¦ F ì rC ô Ç . s : M 6 x H iq à Ô\ ¦7 x r £ ~ ´ 9 ‫כ‬ ¹ \ O Ht K ô Ç .

2 00 01 10 11

• \ V) 6 §õ £ ° ú r account É a> ' e . t& " h

î z © y & h · © y ¤& ¡ h · © y ¤& ¡ h

î # ;& h r& @ h r& @ h r& @ h z ´& h ;î & ß h

ïÓ ß o 750 500 600 700 400 900 700 700 700

h(t & " h

) î 0010 1101 1111 1011 ... 1010 0011 1010 0000 ... 1100 0111 1110 1101 ... 1111 0001 0010 0100 ... 0011 0101 1010 0110 ... 1101 1000 0011 1111 ...

0 A-217 A-101

750

500 600

2 A-101 A-110

750

500 600

700

“A-102” Y U ï× ¼_ K r ° ‫_כ‬ ú ' ¿ Í ºq à Ô 11s Ù ¼ “# Ð

î ;& ” Y h U ï× ¼ [ t# þ Qe H! QÖ \ ¿ ¶ { ú 9 a ) . “A-201” ¸ “A-102”ü < ð Í t ø а ú r! É QÖ ¿ [ \ t# þ Q t ë / ß Nç B s ß \ O ¦ i = i2 s Ù ¼ Ð QÖ ! ` ¿ ¦ r ì r½ Éô + Ç . õ H 6 §õ £ ° ú . 0000 1111 1010 1101 1011 0001

3 000 001 010 011 100 101 110 111

s M :! QÖ \ ¿ ¿ º> h_ Y U ï× ¼ë $ ß ½ © Éà + ºe ¦ &

½ ñ ÉM + :(z ´] jX <s ' Z s Û ¼\ " f Hô Ç! QÖ \ ¿ ´ § ú rÃ É º_ Y U ï× ¼\ ¦$ ô © Ç ), a> ' _ y È Òe ¦ ¦¶ ` { ú 9 Hõ &

ñ r É 6 §õ £ ° ú . $ “A-217”õ “A-101”` ¦¶ { ú 9 ! QÖ s ¿ T `ð q Í ø . 0

1 A-217

2 A-215

t & " h

\ î @ /ô ÇK r ° ‫ כ‬ ú r É 6 §õ £ ° ú . t & " h

î z © y & h © ¤& ¡ · y h

î # ;& h r& @ h z ´& h ;î & ß h

“A-215” Y U ï× ¼_ K r ° ‫_כ‬ ú ' q Í à Ô 1s Ù ¼ Ð sY U ï× ¼ H “y · © ¤& ¡ ” Y h U ï× ¼[ ts þ [ t# þ Qe H! Q \ ¿ Ö ¶ { ú 9 ÷ &# Q ô Ç . Õ ª Q / Nç B s ß \ O ¦i = i1 s Ù ¼ Ð r ì r½ É + # ô Ç . õ H 6 §õ £ ú ° .

– i = ij : K r q à Ô_ U ´s \ ¦Z to þ ¦! QÖ ` ¿ ¦ r½ ì Éô + Ç . – i > ij : K rq à Ô_ U ´s \ ¦Z tw þ = n ‫כ‬ 9 ¹ \ O ¦, ! QÖ ë ¿ ì ß r½ É + a ) . Ñ ts ü _ © ! QÖ ¿ Å Ò è_ s ^ ¦ Ós ½ ° ú r! É QÖ ` ¿ ¦ o v H

â Ä ºs .

>ý a ñ A-217 A-101 A-110 A-215 A-102 A-201 A-218 A-222 A-305

1 A-217

1 A-217

2 A-101 A-110 3 A-215

3 A-102 A-201

750 500

“A-110”` ¦¶ { ú 9 ½ É/ + Nç B s ß \ Ü O ¼9, i = i0 s Ù ¼ Ð ! QÖ ` ¿ ¦ì r½ É + # ô Ç . s \ ¦0 AK K r ° ‫_כ‬ ú 6 x÷ & Hq à Ôà º\ ¦Z t þ 9 ô Ç . “y z © & ”\ h K { © K / '° ‫_כ‬ ú ' q Í à Ô 0s ¦, “y · © ¤& ¡ ”\ h K { K © / '° ‫_כ‬ ú ' q Í à Ô 1s Ù ¼ Ð, s ` ‫כ‬ ¦l ï rÜ ¼ Ðì r Éô + ½ Ç . õ H 6 §õ £ ° ú .

750

500 600

700

400 900

“A-218” r¶ É { ú 9 | c/ ¨ Nç B s ß \ O . Õ ª Q s

Ä â º \ H ¸¿ º° ú rt É & " h

` î ¦ t Ù ¼ ÐK r _ q à Ô ¦Z \ t þ 9 ¸ è6 xs \ O . s

Ä â º\ H g Å >! Ë QÖ ` ¿ ¦ 6 xK ô Ç . “A-218”õ Qt Y U ï× ¼\ ¦ ¸¿ º { ú ¶ ô 9 Ç õ H 6 §õ £ ° ú . 9


1 A-217 A-222

3 000 001 010 011 100 101 110 111

2 A-101 A-110 3 A-215 A-305 3 A-102 A-201 3 A-218

• Q !Ö ` ¿ ¦] H X l \ ! QÖ Å ¿ Ò è_ s ^ ¦` ¦] X H K ô Ç . &

& ñ K h d ç

\ " f Hs Æ Ò Ð Ã ¸ 9 ¹\ ‫כ‬ O . Õ ª Q s Æ Ò Ð Ã ¸_ ‫כ‬ 9 ¹$

í r$ É

0 í x p \ H%

ò Ó` ¾ ¦p u t · § ú H .

750 700

500 600

12.6 700 350

{ 9 ¸f õ Ò o l Z ` O ¦ × ½ þ ÉM + : ¦ 9 Ó ½ – Ò Ål & h Ò o ¢ ¸ HK r ¸f _ F ½ ¨$

q í xs 6 à º6 x½ Éë + ô ß Ç ? B + à Ôo Ò o ½ ¨ ¸ü < x& l 1 K h d ç

{ ½ 9 ¨ ¸ HF ½ ¨$

½ í É + 9 ‫כ‬ ¹ \ O .

400 900

700

– ¶ { ú õ 9 ] j_ @ © /& h ¸ H? – j þ ] H X r ç ` ß ¦ BÒ t q " f¨

ç î H] H X r ` ß ç ¦þ j& h o H s ‫כ‬ a ~ % r ? É

t & " h

s î “~ ÓC ½ h &” 6 §Y £ U ï× ¼\ ¦# l \ Æ Ò Ð¶ { ú 9 ½ É +

Ä â º` ¦Ò ty q # Ð .

– # Q 7 " xÀ á Ó_ | _ 9 ´ §s ú | _ 9 ÷ & H ? • \ V1) 6 §õ £ ° ú r| É 9 _ \ ¦´ §s ú ô Ç ¦ .

(“A-333”,“~ ÓC ½ & ”,300) h

select A1 , A2 , . . . , An from r where Ai = c

¢ ¸ô Ç h(“~ ÓC ½ & ”)=0101 ... 1111 s h . Õ ª Q “A-217”s [ t# þ Qe H' Í P :! QÖ \ ¿ [ t# þ Q HX </ Nç B s ß \ O ¦ i > ij s Ù ¼ ÐK r U ´s _ 7 x £ \ s O ! QÖ ë ¿ ì ß r½ Éô + Ç .

3 000 001 010 011 100 101 110 111

2 A-217 A-222 2 A-333

2 A-101 A-110 3 A-215 A-305 3 A-102 A-201 3 A-218

12.5.3

Ëc N X Çt ß Ã ÅÊ ÝA 0Ë Å S8 ýR w

Ai _ ° ‫כ‬s ú c Y U ï× ¼\ ¦¹ Ô 1 ô Ç . s

Ä â º\ K H r ¸f s &

§ ñ =Ò > o ½ ¨ ¸\ q K Ä ºÃ º . K r ¸f \ " f H¨

ç î H Ò or ç ß rX É <s ' Z Û s ¼ß ¼l ü <1 qw l & n s h t ë & ß

§ ñ =Ò > o ½ ¨ ¸ Hß ¼ \ l ÐÕ ªq Y Vô Ç . ë & ß

§ ñ =Ò > o ½ ¨ ¸ Hþ j r ç s ß r a> ' \ e H Ai ° ‫_כ‬ ú à º\ ÐÕ ªq Y V t ë K ß r ½ ¨ ¸ HÕ ªz q ª Y Vô Ç . Õ ª Q K r ¨ ½ ¸\ " f Hþ j r ç ß r É _ µ ÏÒ 1 t÷ q &t · §Ü ú ¼Ù ¼ Ð ^ & Ü h ¼ ÐK r ½ ¨ ¸ü <s ü <° ú r| É 9 _ \ 8 ºÃ Ä º .

750 700

300

500 600

• \ V2) 6 §õ £ ° ú r| É 9 _ \ ¦´ §s ú ô Ç ¦ .

700 350

select A1 , A2 , . . . , An from r where Ai ≤ c2 and Ai ≥ c1

400 900

s

Ä â º\ H# Q # " 0 3 A? /\ e H ¸ H° ‫`כ‬ ú ¦¹ Ô 1 ô Ç . &

§ ñ =Ò > o ½ ¨ ¸_

Ä â º\ H c2 \ ¦¹ Ô 1 r É §\ £ 6 Hí H & Ü h ¼ ÐÕ ª 6 §° £ ‫[כ‬ ú t` þ ¦~ > 1 ¹ Ô` 1 ¦Ã º e . Õ ª Q K r ¸f \ " f H c2 \ ¦¹ Ô 1 r É 6 §\ £ ª Õ 6 §° £ ‫`כ‬ ú ¦¹ Ôl 1 # Q§ > . o Û ¼à Ô\ ¦Æ Ò ÐÄ »t ½ Éà + ºe ¦Ò ty q ½ Éà + ºe t ë K ß r Êà < º H ½ü Ù ¼ ÐV o , ( 4 Re # Q´ § ú r! É QÖ ` ¿ ¦{ # 9 Q ô Ç .

700

 ¥U \ sÅ ê ÄÊ k ÝR w

• S X 0 © xK p d

_ ç & © h –

{ 9 ß ¼l 7 x £ # ¸$

0 í xs p b # Qt t · § ú H .

12.7

– p A \ ¦0 AK ! QÖ / ¿ Nç B ` ß ¦S X ÐK Z ~` ¦ ‫כ‬ 9 ¹ \ s O Õ ªM : 1 x& l Ü h ¼ н É{ + ½ © Éà + ºe .

SQL; c" et ß ÅX Ã Ë8 N ý

• < Xs ' Z s Û ¼r Û ¼% 7 s 1 xÜ l ¼ Ð# Q Ò " o [ t` þ ¦ »t Ä ½ Ét + &

½ ñ ÉÃ + ºe t ë Õ ß ª Q ` ¦ r É &

ñ ¦ ` H ‫כ‬ r~ É t 1 · § ú .

• ! QÖ Å ¿ Ò è_ s ^ ¦` ¦» Ät l 0 Aô Ç/ Nç B s ß ‫כ‬ 9 ¹ t ë ß 6 x HK r ° ‫_כ‬ ú 0 xô p Ç] ¿ X º ° ‫ כ‬ ú _ í ' ë Ä ß »t Ù ¼ Ðq §& ß h ¼t · § ú .

• SQL ³ ðï r\ HÒ o _ Ò t$ q

õ í ] j l 0 x` p ¦j ]/ N B t · §t ú ë @ ß /Â Òì r_ X <s ' Z s Û ¼ Hs l p 0 x ¦] ` j/ Nô B Ç . 10


• Ò o _ Ò t$ q

í

| s _ 9 \ ¦ (t & " h

,ï î Ó ß o) Ò o ` ¦s 6 x # ¹ Ô 1 ¦ t & " h

s î “Perryridge” Ð ry É t & h ï Ó ß os 1000 > ý a\ ¦¹ Ô 1 ô Ç . q § m 1 x p ñe % Ü 3 ¼ (t & " h

,ï î Ó ß o) Ò o ` ¦s x 6 # ~ > 1 ¹ Ô` 1 ¦Ã ºe t ë s ß

Ä â º\ H´ § ú rn É ¼ß Û ¼{ Ø 9 ¦§ s 4 ‫כ‬ 9 ¹ .

create index Ò o s 2 § £ on a> ' s 2 §(< 5 £ q$ Å

3 í q2 l ¤ >) # l " f “5 q$ Å

l í q 32 ¤” r É Ò ov \ ¦ ½ ¨$

ô í Ç a> ' _ 5 q$ Å

[ í t` þ ¦´ ô ú Ç . Ò ov Ê ê Ðv e ` ¦ l 0 AK " f HÒ o ` ¦Ò t$ q

½ í ÉM + : unique\ ¦ 6 xô Ç .

12.8.3

create unique index Ò o s 2 § £ on a> ' s 2 §(< 5 £ q$ Å

3 í q2 l ¤ >)

12.8

ú ÞW n ± É¿ n < R

12.8.1

ú Þ n mø ÇW m t ß Å Ã

• \ V) account a> ' “t & " h

”õ î “ï Ó ß o”\ @ /ô ÇÒ o ` ¦y y Ä »t ô Ç ¦½ É: + M, 6 §| £ _ 9 _ % o \ ¦ ty q Ò # Ð .

grid array 4 bucket i 3 2 1

bucket j

0

select > ý a ñ from account where t & " h

=“Perryridge” and ï î Ó ß o = 1000

0

s | _ 9 H 6 §õ £ ° ú r[ É j t ~ ÓZ ½ Ü O ¼ Ð% o ½ É + Ã ºe .

1

2

3

1K

2K

5K

4

5

10K 50K

6 100K

<Õ ªa > 12.13> Õ Ë ªo × ¼

{ _ 9 \ V

– ç ( ¡ 1. “t « & " h

”\ î @ /ô ÇÒ o ` ¦s 6 x # t & " h

s î “Perryridge” ¸ HY U ï× ¼\ ¦¹ Ô 1 r É 6 §\ £ ï Ó ß os 1000 ` ‫כ‬ ¦¹ Ô 1 H . – ¡( ç 2. “ï « Ó ß o”\ @ /ô ÇÒ o ` ¦s 6 x # ï ß os Ó 1000 ¸ HY U ï× ¼\ ¦¹ Ô 1 r É 6 §\ £ t & " h

s î “Perryridge” ¸ HY U ï× ¼\ ¦¹ Ô 1 H . – ¡( ç 3. “t « & " h

”\ î @ /ô ÇÒ o ` ¦s 6 x # t & " h

s î “Perryridge” ¸ HY U ï× ¼_ í ' \ ¦¹ Ô 1 ¦, “ï Ó ß o”\ @ /ô ÇÒ o ` ¦s 6 x # ï Ó ß os 1000 ¸ HY U ï× ¼_ í ' \ ¦ Ô 1 ¹ ¿ º í ' | 9 ½ Ë_ + §| 9 ½ Ë` + ¦¹ Ô 1 H .

• « Üh Þ «

(grid file) rÕ É ªo × ¼C \ s P ¦ H 2 " ¶C é \ õ P ' õ \ _ P è HF K% ½ i É` + ¦ H¿ º> h _ + Aè þ HF KÜ ¼ н ¨$

í a ) . • V \) (t & " h

,ï î Ó ß o) Ò o \ @ /ô ÇÕ ªo × ¼C \ P rÕ É ª > 12.13õ Ë a ° ú . ' rt É & " h

\ î @ /ô Çè HF K% ½ i É + ¦ ` 9 \ P rï É Ó ß o\ @ /ô Çè HF K% ½ i É` + ¦ô Ç . ov Ò ° ‫ כ‬ ú rq É ! s Ð ÷ © &9, # Qq ! ss _ ! QÖ ¿ ¦ o ` ~ ´Ã ºe . Õ ªa > 12.13\ Ë " f& h Ü ¼ г ð r a ) Òì r r° É ú r! É QÖ ` ¿ ¦ o v Hq ! s[ t` þ ¦ p · . • (“A-217”,“y z © & ”,750)_ h ¶ { ú 9 r (0,0) q É ! s Ð © a ) . y z © & h r' É 1\ ½ É{ + © a~ ) ÓC ½ & h Ð Ü ¼ ¼ Ù Ð ' 0\ ÷ © & ¦, ï Ó ß os 750s Ù ¼ Ð\ 0\ P É{ + ½ © a ) .

0 A~ ÓZ ½ × O æ~ ÓZ ½ 3ë O s ß × æÒ o _ rF > \ ¦ ¸6 Ö x Ç ô . s ~ ÓZ ½ O ¸ 6 §[ £ j t ¸| s ¸¿ º$

w í n ´ òõ & s h t l w 3 . – ÐZ 1. t Ì & " h

s î “Perryridge” Y U ï× ¼ B Ä º´ § ú . – ÐZ 2. ï Ì Ó ß os 1000 Y U ï× ¼ B Ä º´ § ú . – ÐZ 3. t Ì & " h

s î “Perryridge”s ¦ ï Ó ß os 1000 Y U ï× ¼ F G èà ºs . 12.8.2

P § ©

ø Ç m

• s Õ ªo × ¼

{ ` 9 ¦ 6 x 6 §õ £ ° ú r É Ò o ¸| \ @ /ô Ç| _ 9 \ ¦~ > 1 % o ½ ÉÃ + ºe . t & " h

< “ î r& @ ” and ï h Ó ß o = 1000 & t " h

s î r& @ h Ð r É ‫כ‬ r' É 0õ 1\ K { © ÷9, ï & Ó ß os 100 ‫כ‬ r\ É 1\ P ë K ß { © a ) . " f (0,1)õ (1,1) q ! së ß Ò o a ) .

ú ÞW n ; c6 ¢t X ß Å Ã

• “t & " h

”õ î “ï Ó ß o”\ @ /ô ÇÒ o ` ¦y y Ä »t t · § ú ¦, (t & " h

,ï î Ó ß o)\ @ /ô ÇÒ o ` ¦Ä »t ½ Éà + ºe . s Ò o _ &

§ ñ = > r É ~ Ód ½ ` ¦ 6 xô Ç .

• U Y ï× ¼[ ts þ ! q[ s t þ Ð ç H1 x p > ½ É{ + ÷ © & ¸2 ¤ è HF K ‫`כ‬ ú ° ¦& ] h X > × þ # ô Ç .

• \ V)

• Q !Ö s ¿ T ` q e ¦s ! QÖ ` ¿ ¦ o v Hq ! ss # Q he > Ü ¼ D h! QÖ ` ¿ ¦ë [ ß t# þ Qq ! s[ ts þ r! É QÖ ` ¿ ¦ o v ¸2 ¤ì r½ Éô + Ç . ì Í@ ø / Ð! QÖ s ¿ T ` q e ¦ ! s QÖ ` ¿ ¦ o v H! qs s \ ¢ P ¸ H ' ` ¦Z t þ 9Õ ªo × ¼

{ ` 9 ¦F ¸&

K ñ ô Ç .

select > ý a ñ from account where t & " h

< “Perryridge” and î Ó ß ï o = 1000 11


• Õ ªo × ¼

{ 9 ré É { ß 9 v\ ¦ 6 x H| 9 _ ¸´ òõ & Ü h ¼ Ð% o ½ ÉÃ + ºe . | _ 9 ¸| s 6 §õ £ ° Ü ú ¼ t & " h

= “ î ;î & ß ” h

à q Ôë s` ¦s 6 x # ´ òÖ ¦& Ü h ¼ й Ô` 1 ¦Ã ºe . s |_ 9 H “# ”\ @ /ô Çq à Ôë sõ “L2”\ @ /ô Çq à Ô s` ë ¦ Ho 7 Y L # , Õ ª õ 01000` ¦ s 6 x # 7 ß ë ¤ á HY U ï× ¼\ ¦¹ Ô` 1 ¦Ã ºe . Õ ª Q ¿ ºq Ôë à s_ Ho 7 Y L_ õ \ ´ § ú rq É à Ô 1s & ^ Ü h ¼ Ð Ò o H s ‫כ‬ ¸y 9´ òõ & { h à 9 ºe .

' 4ë s ß s ¸| ` ¦ë 7 ß ¤½ á Éà + ºe . " f' 4_ q ! s[ të þ ` ß ¦s 6 x # Ò o a ) . • Õ ªo × ¼

{ _ 9 ë H] j& h

• qà Ôë s r: É ¤& £

ñ ¸| ` ¦ë 7 ß ¤ á HY U ï× ¼_ à º\ ¦ í > ½ ß ÉM + :\ ¸´ òõ & s h .

– / Nç B ß ¸Z K × ¼(Õ ªo × ¼

{ s 9 B Ä º9 tà þ ºe .)

• qà Ôë s_ ¢ ¸ r É & © h r É r/ É Nç B ` ß ¦ t ô Ç H s ‫כ‬ .

– ¶ { ú 9 õ ] j: M$

0 í x p ¸! QK × ¼ e Ü ¼9, ¶ ú 9 { s ª Õo × ¼

{ ` 9 ¦ Å ÒF ¸&

ñ K ô Ç .

• Ð : xY U ï× ¼_ ] j\ ¦ À Òl 0 AK rF > q à Ôë s ¦Ä ` »t 9, null ° ‫`כ‬ ú ¦ À Òl 0 AK V ° , ‫כ‬q ú à Ôë s ¦Ä ` »t ô Ç .

– è HF K` ¦ &

ñ H s ‫כ‬ ~ t 1 · § ú .

12.9

² R ª t 0 ß Å Ã

12.9.1

R ² ª t 0 ß Å Ã º

• qà Ôà ºï r_ í ` ß ¦s 6 x # # Q| 9 _ \ ¦´ òõ Ü h & ¼ Ð% o ½ Éà + ºe . – 7 o H Y L: ¿ º ¸| ` ¦ ¸¿ ºë 7 ß ¤ á H ¸ HY U ï ¼ ×

• q à Ôë s ré É { ß v 9 \ / @ô ÇÒ o s t ë ß × æv \ @ /ô Ç| _ 9 \ ¦´ òõ & Ü h ¼ Ð% o ½ ÉÃ + ºe HÒ o ½ ¨ ¸s .

– 7 o H ½ Ë: ¿ + º ¸| × æ ë ë ß 7 ß ¤ á H ¸ H U Y ï× ¼

• é © í ß Hô Ç + AI þ _ q à Ôë s Ò o ½ ¨ ¸ H Å 5$ q

í A | 9 à ºe H ¸ H° ‫\כ‬ ú @ /K _ q Ô à ë s` ¦Ä »t ô Ç .

– 7 o H Â Ò&

: # ñ Q " ¸| ` ¦ë 7 ß ¤ á t · § ú H ¸ H U Y ï× ¼

• q à Ôë s r É a> ' \ e HY U ï× ¼Ã ºë ß u_ p q à Ô\ ¦ . • \ V) 6 §õ £ ° ú É r customer-info a> ' e ¦ .

0 1 2 3 4

$"

í

î John Diana Mary Peter Kathy

$Z

í > z # # z #

Å Ò è Perryridge Brooklyn Jonestown Brooklyn Perryridge

è1 qà p ºï r L1 L2 L1 L4 L3

“$

Z í ” 5 > q$ Å

\ í @ /ô Çq à Ôë s r É 6 §õ £ ° Ü ú ¼9, z

10010

#

01101

“ è1 qà p ºï r” 5 q$ Å

\ í @ /ô Çq à Ôë s r É 6 §õ £ ° ú . L1 L2

10100 01000

L3 L4

00001 00010

L5

00000

• q à Ôë s ré É { ß v 9 \ @ /ô Ç| 9 _ \ @ /K " f H ) ¸¹ §s ¡ ÷ &t · § ú H . Õ ª Q | 9 _ _ ¸| s 6 § £ ° õ ú r É × æv \@ /ô Ç s ‫כ‬

Z í $ = “# > ” and è1 qà p ºï r = “L2” 12


c °2003, sangjin@kut.ac.kr

• î ¨ ~

ÓZ ½ \ O @ /ô Ç Å Ò$ s 3 ' ÷ &# Q e H a> ' /à @ º í ` ß ¦Ë è ^ «h i p á Ã(evaluation primitive) ô Ç .

2T 6 ' _9 KT Ã : ~ ¡q ç { ¡È 09

• 9 {º _ á Ôo p w Ú Ô\ ¦

jN ß Ì ((execution plan) ¸ ¢ H

+Ë N ^ Ì ((query-evaluation plan)s Ç ô .

A. Silberschatz, H. Korth, S. Sudarshan Database System Concepts, Fourth Edition, McGraw-Hill, 2002.

• 9 |_ _ % o HÕ ª _ ‫כ‬ z ´ ' > S \ \ q 6 xs ú ² . t ë z ß ´ ' > S \ r É 6 x _ Õ e þ s m ¦, r Û ¼% _ 7 Õ e þ s .

Part IV. Data Storage and Querying

13.2

Ç8 m ù ý% iP

13 13.1

Ç8 m ù ý% iP R Þ8 Ó ý ¤X Ë N

• | _ 9 q 6 x ¦ `8 ¤& £

½ ñ ÉM + : 6 x| cà ¨ ºe H¨

l î ï r

~ 4 ¿

– nÛ ¼ß ¼{ Ø 9 ¦§ à 4 º: @ /½ © ¸X <s ' Z s Û ¼\ f " H × © æ‫כ‬ ¹ô Çq 6 xs .

• | 9 _ % o ] X –

d ç

õ % i

– CPU r ç ß

– þ j& h o

– ì rí ¨ ß 8

_ â

Ä â º\ H: x q 6 x

– ¨

î

– 6 x² £ r ú ç ß

• SQL Ð] jr a| ) 9 _ H $ a> ' @ /Ã º+ AI þ Ð % ÷ i &# Q% o a ) .

• #l " f H 5 x Å a^ ) ¦2 ¤Ã º\ ¦> í ß # | 9 _ % o 6 q x` ¦8 ¤& £

ô ñ Ç . s M : ¸ H^ ¦2 ¤_ 5 xr Å ç ß r É ú ° ¦ &

ô ñ Ç . (z ´] j H# QÖ ¼à ÔÏ _ þ # QÖ ¼! o' l e \ Ht \ 5 xr Å ç s ß Ø Ô .) Ð &

ñ X S > 8 ¤& £

ñ l 0 AK " f H 6 §` £ ¦8 ¤& £

K ñ ô Ç .

• SQL\ @ /ô Ç

ç d r( É

{ 9 Q\ " f

d

ç H ‫כ‬ Ä õ » . s õ &

\ ñ " fë HZ & O h ¸À Ó\ ¦ ¦, 6 x a ) a> ' s 2 §õ £ 5 q$ Å

s í 2 §[ £ ts þ ` ¦ rt É ô Ç .

– ÐÒ Ã o rà º

• Å Ò# Q | 9 _ H ô ª Ç~ ÓZ ½ Ü O ¼ Ш

½ î ÉÃ + ºe .

– { 9 r^ É ¦2 ¤_ Ã º

– SQL\ " f H _ | 9 _ \ ¦# Q+ AI þ г ð ³½ & Éà + ºe .

– H^ ¦2 ¤_ Ã º

– SQL ë H r É ô ª Ç a> ' @ /Ã ºd Ü ¼ Ð % | i c ¨ Ã ºe .

Ð: xæ ¼l { l 9 Ð r ç s ß ´ §s ú è‫כ‬ ¹ a ) .

• \ V) 6 §õ £ ° ú r SQLë É H r É

• %o q 6 x r¢ É ¸ô ÇÅ Òl % 3 u © \ Ä »t ÷ & H! Q( ß _ ¼l \ Ø Ô . # l " f Hþ j _

Ä â º\ ¦ ¦ 9 # 8 ¤& £

ô ñ Ç . 7 ¤, ô £ Ç a> ' _ ^ ¦2 ¤ ! ß ë Q( \ e ` ¦Ã ºe ¦ &

ô ñ Ç .

select ï Ó ß o from account where ï Ó ß o < 2500 6 §õ £ ° ú r¿ É º t a> ' @ /à ºd Ü ¼ Ð % | i cà ¨ º e . – σï Ó ß o<2500 (Πï Ó ß o (account))

13.3

Åy Ò Å ì m

13.3.1

Ä M Ø° ] ow P ¨ Ö

• br :

{ \ 9 e H^ ¦2 ¤Ã º

– Πï Ó ß o (σï Ó ß o<2500 (account)) • y a> ' @ /à ºd r# É Q t · ú ¦o 7 §` £ ¦s 6 x # z ´' | cà ¨ ºe . \ V\ ¦[ t# þ Q account a> ' \ ¦ o Ò # ï Ó ß os 2500 Ð rÈ É Òe ¦[ t` þ ¦¹ Ô` 1 ¦Ã º e ¦, ï Ó ß o5 q$ Å

\ í @ /ô ÇÒ o s e Ü ¼ s ` ‫כ‬ ¦ ¸ Ö 6 x½ ÉÃ + ºe . " f a> ' @ /Ã ºd \ y í _ ß

~ î ¨ ÓZ ½ ` O ¦ ? / HÅ Ò$ ` 3 ¦² ú ô Ç . s Å Ò $ 3 r: É ¤& £

· ñ ú ¦o 7 §` £ ¦t &

ñ 6 x½ ÉÒ + o ¦t ` &

K ñ ï r .

• ¿ º t l r

: { Û 9 ¼ p(scan) · ± ú ¦o 7 § £ – A1. ¤ >Ì n C~ f a É c: v Ë 5 q$ Å

\ í @ /ô Ç1 x1 l x p × _ þ

ç î ¨ Hq 6 x r br /2s É 9, þ j q 6 x r br s É . – A2. l ë >~ a É c: & Ë

§ ñ = > a5 ) q$ Å

\ í @ /ô Ç1 x1 l x p þ × rs É Ò o` ¦½ Éà + ºe . s

Ä â º\ q x 6 r dlog2 (br )es É . 1


13.3.2

– Â Ò&

. ñ 6 §õ £ ° ú r+ É AI þ _ | _ 9 \ ¦´ ú Ê. <

ß t à Åù §T p Þ Ó ¢ X Åy Ò

• Ò o ½ ¨ ¸ H r´ É ú Ð] X H

â Ð(access path) Ç ô .

σ¬θ (r) • 4 ¤¸ ô ú Ç × ` þ ¦% o H· ú ¦o 7 § £

• Ò o r] É X H` ¦ Ø Ô> KÅ Òt ë Ò ß o ½ ¨ ¸\ @ / ÇÆ ô Ò & h ] X Hs 9‫כ‬ ¹ .

– A8. +a cê Ë >£ ·l £ ø 5 Ð µh a ¹¤ ‫כ‬ >f n c¥ 9 > o Ñ: ] 5 ñ H X

â Ð e H5 q$ Å

s í e Ü ¼ A2\ f A7 · " ú ¦o 7 § £ \ ¦s 6 x # × ` þ ¦ô Ç 6 §\ £ Å Òl % 3 u © \ " f Qt ¸| ` ¦ ô Ç . s M : σθi (r)_ % o q 6 xs $ © ô 4 § Ç θi ü <· ú ¦o 7 §` £ ¦ × ô þ Ç .

• Ò o ` ¦s 6 xô Ǽ Û pú ± · ¦o 7 § £ – A3. Ì Áa cê Ë >, o U c7 ø 5 â ¤ >f n 9 c: B + à Ô o \ ¦ s 6 x “à Ôo _ Z }s +1”ë ß p u_ { 9 ¦§ Ø s 4 9 ‫כ‬ ¹ . # l " f “+1” rz É ´] jY U ï × ¼\ ¦Æ ÒØ ¦ Hq 6 xs .

– A9. ¡ ´T ¼a Ò cê Ë >£ ·l £ ø 5 Ð µh a ¹¤ ‫כ‬ >f n c¥ 9 >ñ o Ñ: 5 ] h & ô X Ç4 ¤½ ËÒ + o s rF > s ` ‫כ‬ ¦ ¸6 Ö x Éà + ½ ºe .

– A4. Ì Áa cê Ë >, o ä >¢ ´Å 4 U ] c7 ø 5 â ¤ > n 9 f c: A3ü <_ s & h r5 É q$ Å

s í v m Ù ¼ Ð ° ú r° É ‫`כ‬ ú ¦ Y U ï× ¼ # Q> he ` ¦Ã ºe . Õ ª QÙ ¼Ð à Ôo _ Z }s \ Y U ï× ¼\ ¦ í Ê < H^ ¦2 ¤Ã º\ ¦ 8ô Çë ß p u_ { Ø 9 ¦§ s 4 ‫כ‬ 9 ¹ . " f# QY U ï× ¼\ ¦Æ ÒØ ¦K t Å ß ë ÒÒ o s Ù ¼ Ðú ° r° É ‫`כ‬ ú ¦ Y U ï× ¼ H 5 qK Å " f$ ÷ © &# Qe .

– A10. ïê >' a +¬ ¨

T ¼£ Ò ·l £ ø 5 Ð µh a ¹¤ ‫כ‬ > n c¥ 9 f >ñ o Ñ: 5 – A11. ïê >' a +T ¼ Ò

T ¼£ Ò ·l £ ø 5 Ð µh a T ¼¤ Ò > n c¥ 9 f >ñ o Ñ 5 A11 l Z ` O ¦ 6 x l 0 AK " f H ¸| \ í Ê < a ) y5 q$ Å

\ í @ /ô Ç] H X

â Ð e # Q ô Ç . A10 l O Z r{ É 9 Â Ò\ @ /ô Ç] X H

â Ðë e ß # Q ¸ 6 x½ ÉÃ + º Ü e ¼9, s M :\ H{ 9 Â Ò\ @ /ô Ç] H X

â Ð\ ¦s 6 x # í ' _ §| ½ 9 Ë` + ¦¹ Ô 1 r É 6 §\ £ ¹ Ô 1 rY É U ï ¼\ × @ /K Qt ¸| ` ¦ K ô Ç .

– A5. × ¿a cê Ë >, â ¤ >f n 9 c: v \ @ /ô Ç Ð ¸ o Ò s _ Y U ï× ¼ë Æ ß ÒØ ¦ ÷ &t v ß ë 5 q$ Å

\ í @ /ô Ç Ð ¸Ò o s # QY U ï× ¼\ ¦Æ ÒØ ¦K ô Ç . _ q 6 x r É “à Ôo Z }s + 1”s t ë Ê ß ê _ q 6 x rþ É j _

Ä â ºY U ï× ¼ n Û ¼ß ¼{ Ø 9 ¦§ s 4 è‫כ‬ ¹ cà ¨ | ºe . s q6 x r É + A þ Ò o Ð 89 t þ à ºe . 13.3.3

13.4

Ëc N X Ç

• < Xs ' \ ¦&

§ ñ = > H ‫כ‬ r É 6 §¿ £ º t s Ä »M :ë H X \ <s ' Z s Û ¼\ " f× æ‫כ‬ ¹ô Ç% ½ i É` + ¦ô Ç .

R w õ § u º] ¤ K À ¥ W Åy Ò

• σA≤v (r) + AI þ _ × ` þ ¦ ¦ 9 # Ð .

– T­ ¤ 1. SQL | _ 9 H õ &

§ ñ =÷ > &l \ ¦‫כ‬ ¹ ¨½ ½ Éà + ºe .

• Ò o ` ¦s 6 xô ÇÛ ¼ p· ± ú ¦o 7 § £

– T­ ¤ 2. | _ 9 % o \ " fY

t > a> ' í ß r É í ` ß ¦% o l \ X <s ' &

§ ñ =÷ > & Qe # Ü ¼ Ð ´ òõ & Ü h ¼ Ð% o ½ ÉÃ + ºe .

– A6. Ì Áa cê Ë >, j ¬ ¨¤ >f n c 9 • A > v¢ ¸ H A ≥ v: Ò o ` ¦s 6 x # A = v Y U ï× ¼\ ¦¹ Ô 1 r É 6 §\ £ é í ß H + A

þ { Û 9 ¼ p` ± ¦ô Ç . • A<v¢ ¸ H A ≤ v: Ò o ` ¦ 6 x t · § ú ¦é í ß H + A þ

{ ¼ 9 Û p` ± ¦ô Ç .

• Ò o ` ¦&

§ ñ = > aí ) H" f ÐÄ »t s Ò o ` ¦s 6 x # &

§ ñ = > aí ) H" f ÐY U ï× ¼\ ¦] H X ½ ÉÃ + ºe . Õ ª Q Y U ï× ¼ ^ Ó to ü & Ü h ¼ Ð&

§ ñ =÷ > &# Qe t §l ú · M :ë H\ ´ § ú rn É Û ¼ß ¼{ Ø 9 ¦§ s 4 9 ‫כ‬ ¹½ Éà + ºe .

– A7. × ¿a cê Ë >, j ¬ ¨¤ >f n c: 9 Ð ¸Ò o ` ¦s 6 x Çq ô § Hy %

% ò \ i K { © H° ‫`כ‬ ú ¦s 6 x # Ò o ` ¦ Ò o½ Éà + ºe . Õ ª Q s q 6 x r É + AÛ þ ¼p ± Ð ¸y 99 tà þ ºe . 13.3.4

• ñ &§

=½ > ÉM + : a> ' ^ \ ¦Å Òl % 3 u © \ & F h ½ Éà + º Ü e ¼ quicksortü < ° ú r l É r & :

§ ñ = · > ú ¦o 7 §` £ ¦ 6 x½ ÉÃ + ºe . ì Í@ ø / Ð& F h ½ ÉÃ + º\ Ü O ¼ ü @Â Ò

§ ñ & =(external sorting) ~ > ÓZ ½ ` O ¦ 6 xK ô Ç . ´ © §s ú 6 x Hü @Â Ò&

§ ñ =~ > ÓZ ½ O rü É @Â Ò½ Ë# +

& î

ñ =(external sort-merge) ~ > § ÓZ ½ s O .

×± q ¢ X Åy Ò

• 4 ¤¸ ô ú Ç × _ þ 7 xÀ á Ó

13.5

– Ho 7 Y L. 6 §õ £ ° ú r+ É AI þ _ | 9 _ \ ¦´ ú Ê <

ºß Å Ã Å ì m

• ¸ ` ¦> í ß H# Q· ú ¦o 7 §` £ ¦¨

î l 0 A K 6 §` £ ¦ 6 x 9,

σθ1 ∧θ2 ∧···∧θn (r) – Ho 7 ½ Ë. + 6 §õ £ ° ú r+ É AI þ _ | 9 _ \ ¦´ ú Ê. <

depositor ./ customer

σθ1 ∨θ2 ∨···∨θn (r)

M s :¿ º a> ' \ @ /K 6 §õ £ ° ú r & É

` ñ ¦ô Ç . 2


– customer a> ' _ Y U ï× ¼Ã º: nc = 10, 000

• q 6 x

– customer a> ' _ ^ ¦2 ¤Ã º: bc = 400

– K HÈ Òe ¦_ Ã º: nr ∗ ns

– depositor a> ' _ Y U ï× ¼Ã º: nd = 5, 000

– j þ _

Ä â º{ 9 H^ ¦2 ¤Ã º: br ∗ bs + br (! Q( y \ a> ' _ ô Ç^ ¦2 ¤ë Ä ß »t ½ Éà + ºe H

â º) Ä

– depositor a> ' _ ^ ¦2 ¤Ã º: bd = 100 13.5.1

Þ² n ú É v ¼³ ºß Å Ã

– j þ _ ©

Ä â º{ 9 H^ ¦2 ¤Ã º: br +bs (! Q( \ ¿ º a> ' _ ¸ H^ ¦2 ¤` ¦Ä »t ½ Éà + ºe H

Ä â º)

• r ./θ s\ ¦> í ß H ×^ æ ?À o Òá Ô(nested loop) ¸ · ú ¦o 7 § £

• º ¿ a> ' ¸¿ º ¸ H^ ¦2 ¤` ¦! Q( \ Ä »t ½ Éà + º\ Ü O ¼ ß ¼l r É a> ' \ ¦ü @Â Ò a> ' Ð 6 x H ‫כ‬ a s ~ % .

∀tr ∈ r do ∀ts ∈ s do θ\ ¦ë 7 ß ¤ á Ht (tr , ts )\ ¦ 7 ß ë ¤ á tr · ts \ ¦ õ \ Æ Ò

• depositor ü @Â Ò a> ' s ¦, customer ? /Â Ò a> ' M 9 { :_ q 6 x

• # l " f r\ ¦ü @Â Ò a> ' ¦ s\ ¦? /Â Ò a> ' ô Ç .

– j þ _

Ä â º{ 9 H^ ¦2 ¤Ã º: 100∗400+100 = 40, 100

• ¸ ` ¦> í ß l 0 AK " f H× æ4 ¤` ¦] j K ô Ç .

– þ j _ ©

Ä â º{ 9 H^ ¦2 ¤Ã º: 500 – / ? Òü <ü @Â Ò a> ' \ ¦ Ë ¨% ` 3 ¦M :þ j _

â º{ Ä 9 H^ ¦2 ¤Ã º: 400 ∗ 100 + 400 = 40, 400

• q 6 x – K HÈ Òe ¦_ Ã º: nr ∗ ns

• ×^ æ ?À o Òá Ô¢ ¸ H^ ¦2 ¤× æ^ ?À o Òá Ô· ú ¦o 7 §_ £ $

0 í x p ¦ ` Ó ¾ r © v H~ ÓZ ½ O

– j þ _

Ä â º{ 9 H^ ¦2 ¤Ã º: nr ∗ bs + br (! Q( \ y a> ' _ ô Ç^ ¦2 ¤ë Ä ß »t ½ Éà + ºe H

â Ä º)

– ¸ 5 q$ Å

s í ? /Â Ò a> ' _ v s ' { Í u 9 \ ¦ Ï| 1 µ

? / ÒÀ Òá Ô\ ¦× æé ½ ß Éà + ºe .

– j þ _ ©

Ä â º{ 9 H^ ¦2 ¤º Ã: br +bs (! Q( \ ¿ º a> ' _ ¸ H^ ¦2 ¤` ¦Ä »t ½ Éà + ºe H

Ä â º) • ß ë ¿ º a> ' × æ _ ¸ H^ ¦2 ¤` ¦! Q( \ Ä »t Éà + ½ ºe Ü ¼ s a> ' \ ¦? /Â Ò a> ' Ð 6 x H ‫כ‬ s a ~ % . (^ ¦2 ¤Ã º: br + bs )

– Ò Ål % 3 u © _ ! Q( M > h_ ^ ¦2 ¤` ¦Ä »t Éà + ½ ºe Ü ¼ s × æM −2^ ¦2 ¤` ¦ü @Â Ò a ' \ > ½ É{ + ½ © Éà + ºe . s X > O q 6 x r É dbr /M − 2e ∗ bs + br s a ) .

• depositor ü @Â Ò a> ' s ¦, customer ? /Â Ò a> ' 9 { M :_ q 6 x

– / ? ÒÀ Òá Ô_ ~ Ó ½ Ó` ¾ ¦B Ë ¨ n Û ¼ß ¼{ 9 ¦§ Ø _ 4 à º\ ¦× ¦{ à 9 ºe .

– K HÈ Òe ¦_ Ã º: 5000 ∗ 10000 = 5 ∗ 107

– / ? ÒÀ Òá Ô\ @ /ô ÇÒ o s rF >

{ 9 Û ¼ p@ ± / \ Ò o ` ¦ ¸6 Ö x½ ÉÃ + ºe .

– j þ _

Ä â º{ 9 H^ ¦2 ¤Ã º: 5000∗400+100 = 2, 000, 100

13.5.3

– þ j _ ©

Ä â º{ 9 H^ ¦2 ¤Ã º: 500

• ×^ æ ?À o Òá Ô ¸ \ " f? /Â Ò a> ' _ ¸ 5 q$ Å

\ í @ / ÇÒ ô o s rF >

{ Û 9 ¼ p@ ± / \ Ò o ` ¦ ¸ Ö x½ 6 ÉÃ + ºe . s X > O ¸ H· ú ¦o 7 §` £ ¦Ò o a× ) æ^ ?À o Òá Ô ¸ s ô Ç .

– ? /Â Òü < ü @Â Ò a> ' \ ¦ Ë ¨% ` 3 ¦ M : þ j _

Ä â º { 9 H ^ ¦2 ¤ Ã º: 10000 ∗ 100 + 400 = 1, 000, 400 13.5.2

ß t Åc à Rú Ü Þ² n É v ¼³ ºß à Å

• q 6 x

§ u ÷ ×ú Þ² n É v ¼³ ºß Å Ã

– ^2 ¦ ¤Ã º: br + nr ∗ c, # l " f c H s\ @ /ô Ç ¸ ¸| ` ¦s 6 xô Çé { ß 9 × q þ 6 xs .

• r ./θ s\ ¦> í ß H^ ¦2 ¤× æ^ ?À o Òá Ô ¸ · ú ¦o 7 § £

– rõ s ¸¿ º ¸ 5 q$ Å

\ í @ /ô ÇÒ o ` ¦] j/ N B È Òe ¦_ à º & h r É ` ‫כ‬ ¦ü @Â Ò a> ' Ð x 6 H s ‫כ‬ ´ òõ & s h .

r_ y ^ ¦2 ¤ Br do s_ y ^ ¦2 ¤ Bs do ∀tr ∈ Br do ∀ts ∈ Bs do θ\ ¦ë 7 ß ¤ á Ht (tr , ts )\ ¦ 7 ß ë ¤ á tr · ts \ ¦ õ \ Æ Ò

• V \) customer a> ' H ¦Ì o"

5 î q$ Å

\ í @ /ô Ç B+ à Ô ½ o ¨ ¸_ Å ÒÒ o ` ¦Ä »t ¦e ¦ &

ñ . o Ò ¸× ¼{ ¨ ©

ç î H 20> h_ Ó` ½ ¦Ä »t ô Ç cus tomer a> ' _ È Òe ¦Ã º 10,000s Ù ¼ Ðà Ôo _ Z } s H 4s . " f nd = 5000s Ù ¼ Ð8 xq ú 6 x r É 100 + 5000 ∗ 5 = 25, 100s .

• ^2 ¦ ¤× æ^ ?À o Òá Ô ¸ õ { ì 9 Í× ø æ^ ?À o Òá Ô ¸ _ s & h r{ É 9 ì Í ø rÈ É Òe ¦× æd _ ¸ s ¦, ^ ¦2 ¤ r^ É ¦ 2 ¤` ¦× æd Ü ¼ Ð ¸ . 3


13.5.4

˶ _ ä ¥ ºß Å Ã

• nh Hy ì r½ És + Å Òl % 3 u © ! Q( \ & F h | cà ¨ ºe ¸2 ¤Ø æì ry & ô Ç . nh Hþ j èô Ç dbs /M e Ð & ô Ç .

• î #½

Ë + ¸ (merge join) ¢ ¸ H&

§ ñ =-# >

½ î Ë + ¸ r É ¸ 5 q$ Å

` í ¦l ï rÜ ¼ п º a> ' ¸¿ º&

§ ñ =÷ > &% ` 3 ¦ M : 6 x½ ÉÃ + ºe . ë ß &

§ ñ =÷ > &# Qe t · §Ü ú ¼

§ ñ & =ô > ÇÊ ê\ s ú · ¦o 7 §` £ ¦ 6 x½ ÉÃ + ºe .

• U Y ï× ¼_ à º r É a> ' \ ¦½ ¨» ¤ ¡ a> ' Ð 6 x H s ‫כ‬ a ~ % .

• q 6 x: y

{ 9 \ @ /K ô Ç _ Û ¼ pÜ ± ¼ Ð ¸ ` ¦½ É + à ºe .

13.5.5.1 = y & T P » Ò

– ^ ¦2 ¤Ã º: br + bs ,

• ' > a \ ¦ô Ç \ ì r½ ɽ + Éà + º\ O H

Ä â º\ H# Q \ 5 gì r½ É + # ô Ç .

– ¿ º a> ' ¸ ¿ º&

§ ñ =÷ > &# Qe t · § ú &

§ ñ =q > 6 x t ¦ 9 # ¸î #½

Ë + ¸ s r É ¸ \ q K q 6 xs $ § 4 .

• 1 ì r½ ÉM + :ì r½ É + a ) ` ‫כ‬ ¦y y { # 9 Q r rß É ¼ _ l ì r½ É + Ðì r½ Éô + Ç . s X > O H ` ‫כ‬ ¦F ) ì r É(recursive partitioning)s + ½ ô Ç .

– ¸ 5 q$ Å

_ í ú ‫כ‬ °s ° ú r É ¸ HY U ï× ¼ ! Q( \ & F h | cº ¨ Ã\ Ü O ¼ ¸ q 6 x r7 É x ô £ Ç .

• M > nh + 1 Ð ß ¼ F ) ì r½ És + ‫כ‬ 9 ¹\ O .

• s Ú Ôo × ¼#

½ î Ë + ¸ · ú ¦o 7 §: ô £ Ç a> ' H ¸ 5 q$ Å

\ í @ /K &

§ ñ =÷ > &# Qe ¦, r É a> ' H&

§ ñ =÷ > & # Qe t · §t ú ë ß ¸ 5 q$ Å

\ í / @ô Ç Ð ¸Ò o ` ¦ t ¦e ` ¦M :& 6 h x½ ÉÃ + ºe H· ú ¦o 7 §s £ . s · ú ¦o 7 § £ r& É

§ ñ = > a ) a> ' ü <&

§ ñ = > a ) Ð ¸Ò o ` ¦ Ë# + ½

ô î Ç 6 §\ £ Ð ¸Ò o _ í ' ° ‫`כ‬ ú ¦s 6 x # ½ Ë# +

ô î Ç õ \ ¦&

§ ñ = > # ¸ ô Ç . 13.5.5

13.5.5.2 Ó % Ï h • ì½ r É i\ + @ /ô ÇK r _ s ^ ¦ g Å > Ë r Hs i \ É @ /ô ÇK Ò r o s Å Òl % 3 u © Ð 9 t þ

Ä â º\ µ ÏÒ 1 tô q Ç . •

w _ à º\ ¦ ‫כ‬ 9 ¹ô Ç ‫כ‬ Ð ´ §s ú 6 x Å >s Ë g µ ÏÒ 1 t½ q ÉS + Ò X ¦` ¦× ¦{ à 9 ºe .

A 0S ºß Å Ã

• &

ñ

• g Å >s Ë µ ÏÒ 1 t q % ` i ¦M :K ~ ÓZ ½ O

– h: ¸ 5 q$ Å

` í ¦ {0, 1, . . . , nh } Ð B i

ç # Å Ò HK r ÊÃ < º Ð" fç H{ 9 $

õ í ½ü : ¤$ £

` í ¦ ] j/ NK B ô Ç .

– Å g >K Ë ~ ÓZ ½ : O g Å >s Ë µ ÏÒ 1 tô q Çì r½ É` + ¦Æ Ò Ðì r½ É + H~ ÓZ ½ O – Å g > Ë rx ~ ÓZ ½ : O g Å >s Ë µ ÏÒ 1 t½ q Éà + º\ O ¸2 ¤ [ ß ë tM þ : Ò' ì r½ É_ + ß ¼l ¸2 ¤ì r½ Éô + Ç 6 §\ £ -Á º Ü ¼ ì r½ É` + ¦ ½ Ëô + Ç .

– Hr0 , Hr1 , . . ., Hrnh : r a> ' \ @ /ô Çì r½ É` + ¦ ? /9, íl \ H I © s . r_ y È Ò ¦ e r É ¸ 5 q$ Å

\ í @ /K K r ° ‫`כ‬ ú ¦½ ¨ # y r½ ì É\ + ½ É{ + © a ) .

• ú ´ § rÃ É º_ Y U ï× ¼_ ¸ 5 q$ Å

° í ‫כ‬s ú ° Ü ú ¼ g Å > Ë H] ë j\ ¦´ òõ & Ü h ¼ ÐK ½ ÉÃ + º\ O . s

Ä â º\ H r É ¸ ~ ÓZ ½ ` O ¦ 6 xô Ç .

– Hs0 , Hs1 , . . ., Hsnh : s a> ' \ @ /ô Çì r½ É` + ¦ ? /9, íl \ H I © s . r_ y È Ò ¦ e r É ¸ 5 q$ Å

\ í @ /K K r ° ‫`כ‬ ú ¦½ ¨ # y r½ ì É\ + ½ É{ + © a ) .

13.5.5.3 B k ¿ê > +j £

• s X > O ì r½ É + Hr i \ e HÈ Òe ¦ r É ¸f Hs i \ e HÈ Òe ¦ ¦ ë q ß § a ) .

• F) ì r½ És + ‫כ‬ 9 ¹\ O ¦ g Å >s Ë µ ÏÒ 1 t q t · § ú H ¦ &

ñ % ` i ¦M :q 6 x

• K r ¸ ] X

– y a> ' \ ¦ì r½ É + l 0 AK " f Hy a> ' \ ¦ ¸ º{ ¿ 9 r É 6 § £ r + ô Ç . " fì r½ É + 6 q x r 2(br + bs )s É .

– · 4 ÿ 1. ¿ º a> ' \ ¦K r ÊÃ < º\ ¦s 6 x # ì r Éô + ½ Ç . – · 4 ÿ 2. y ì r½ É\ + @ /K Ò o a× ) æ^ ?À o Òá Ô ¸ ` ¦ô Ç .

– y½ ¨» ¤õ ¡ ÐÒ Ã oé > ß Hy ì r½ É` + ¦ô Ç { 9 Q # Ù ¼ ÐÆ Ò Ð br + bs n Û ¼ß ¼{ Ø 9 ¦§ 4 s 9 ‫כ‬ ¹ . Õ ª X <

w s t H^ ¦ ¤Ã 2 º H br + bs Ð 9 tà þ ºe . þ j _

Ä â º s ¸! QK × ¼ Hy a> ' 2nh s .

• ÿ · 4 2.1. Hsi \@ /ô ÇK r Ò o ` ¦Å Òl 3 % © u\ ë ß H . s M :ì r½ ɽ + ÉM + : 6 x Ç K ô r Êà < ºü < r K É r Êà < º\ ¦ 6 x Ç ô . • · 4 ÿ 2.2. Hri \e Hy È Òe ¦\ @ /K ½ ¨ ¤ô ¡ » ÇK r Ò o ` ¦ s6 x # ¸ ô Ç . • s M : Hs i \ ¦¨ ½» ¤{ ¡ 9 § (build input)s 4 ¦, Hri \ ¦Ã Ð Ò o{ 9 § (probe input)s 4 Ç ô .

– " f8 xq ú 6 x r É 6 §õ £ ° ú . 3(br + bs ) + 4nh ª Õ X <# l " f 4nh H br + bs Ð @ © /& Ü h ¼ B Ð Ä º . " fÁ ºr ½ ÉÃ + ºe . 4


13.6

 ¥ \ Å ì m

13.6.1

Þ n ú ×< g

Π ¦Ì o"

î ./

• ç ( ¡ 1. & «

§ ñ = > # ] j ô Ç . s _ ‫כ‬ q 6 x r& É

§ ñ = > q 6 xõ ° ú .

σï " ß o<2500 l

• ç ( ¡ 2. K « r Êà < º\ ¦s 6 x # a> ' \ ¦ì r½ Éô + Ç 6 §\ £ y ì r½ É` + ¦{ # 9 Qy ì r½ É\ + @ /ô ÇK r Ò o ½ ¨ ¸\ ¦ë ß H . sM :× æ4 ¤` ¦] j ô Ç .

account <Õ ªa > 13.1> Ë í à ß Ôo _ \ V

• ×4 æ ¤] j q 6 xs $ § 4 t · §Ü ú ¼Ù ¼ Ð SQL H 6 x × æ4 ¤] j \ ¦¹ ‫'כ‬ A½ õ É +

Ä â º\ ë × ß æ4 ¤` ¦] j ô Ç . 13.6.2

customer

ù É m¶ ¥ Å ì m

13.7

Ç8 m ù ý8 ýç Ë g

13.7.1

Ç= m ÷ k× D

• + ½| Ë 9 ½ Ë, + §| ½ 9 Ë, + | 9 ½ Ë + í ß r¿ É º a> ' \ ¦&

§ ñ =ô > Ç 6 §\ £ ¨

ô î Ç . s M : Û ¼X > O × æ4 ¤` ¦] j Ç ô .

• ' > a @ /Ã ºd _ ¨

~ î ÓZ ½ O r É í à ß Ôo \ ¦ Ð ~ 1 · > Ã ú ºe .

• ñ &§

=q > 6 x ¦ ` ¦ 9 t · §Ü ú ¼ [ j í ß ¸¿ º br + bs ë ß p u_ n Û ¼ß ¼{ 9 Ø ¦§ s 4 9 ‫כ‬ ¹ .

• \ V) 6 §õ £ ° ú r É a> ' @ /à ºd _ Π ¦Ì o"

((σï î " ß l o<2500 (account)) ./ customer)

• K d ç

l Z ` O ¦s 6 xô Ç| ½ 9 Ë + í _ ß % o

í à ß Ôo HÕ ªa > 13.1õ Ë ° ú .

– K r Êà < º\ ¦s 6 x # y a> ' \ ¦ì r½ Éô + Ç . – r∪s • · 4 ÿ 1. Hri \ @ / ôK Ç r Ò o ½ ¨ ¸\ ¦ Òl Å 3 % u © \ ë ß H . • · 4 ÿ 2. Hsi _ È Òe ¦s Ò o ½ ¨ ¸\ s \ p Ü O ¼ Ò o ¨ ½ ¸\ Æ Ò ô Ç . • · 4 ÿ 3. Ò o ½ ¨ ¸\ e HÈ Òe ¦` ¦ õ Æ \ Ò ô Ç . – r∩s • · 4 ÿ 1. Hri \ @ / ôK Ç r Ò o ½ ¨ ¸\ ¦ Òl Å 3 % u © \ ë ß H . • · 4 ÿ 2. Hsi _ y Ò Èe ¦ `s ¦ 6 x # Ò o ¨ ½ ¸\ ¦ ÐÒ Ã o # Ò o ½ ¨ ¸\ ° ú r É Òe È ¦ se Ü ¼ õ \ Æ Ò ô Ç . – r−s • · 4 ÿ 1. Hri \ @ / ôK Ç r Ò o ½ ¨ ¸\ ¦ Òl Å 3 % u © \ ë ß H . • · 4 ÿ 2. Hsi _ y È Òe ¦` ¦s 6 x # Ò o ¨ ½ ¸\ ¦ ÐÒ Ã o # Ò o ½ ¨ ¸\ ° ú rÈ É Ò ¦s e e Ü ¼ Ò o ½ ¨ ¸\ " f ] jô Ç . • · 4 ÿ 3. Ò o ½ ¨ ¸\ e HÈ Òe ¦` ¦ õ Æ \ Ò ô Ç . 13.6.3

• z^ ´ o~ Ód ½ r× É æç ß í _ ß õ \ ¦e r a> ' \ $ © H~ Ód ½ s . z^ Ód ¼ | 9 _ ¦¨ î A • ´ o~ ½ Ü Ðs \

© 0 ºï à r_ í Â ß Ò' r ô Ç . 0 A í à ß Ôo \ " f © 0 Aà ºï r_ í ß r É × þ í s ß . s í Â ß Ò % ' o ô Ç 6 §\ £ õ \ ¦e r a> ' \ $ ô © Ç . e s r a> ' \ ¦s 6 x # ¸ í \ ß ¦ # ¢ ¸ re É r a> ' \ $ © ¦, = QÜ å ¼ Ðs e r a> ' \ /ô @ ÇÆ ÒØ ¦ í ` ß ¦& 6 h x # | _ 9 _ õ \ ¦% 3 H . • z^ ´ o~ Ód ½ _ % o q 6 x ry É í ` ß ¦% o H 6 q xõ e r a> ' \ ¦$ © Hq 6 x_ ½ ËÜ + ¼ Ð> ß í a ) . • í ß õ _ Y U ï× ¼ H! Q( \ » ¤& ¡ ô h Ç . s ! Q( T ` q ! Q( \ ¦n Û ¼ß ¼\ l 2 ¤ô Ç . Ð: xô Ç ¦2 ^ ¤ß ¼l _ Ø ¦§ ! 4 Q( \ ¦ 6 xô Ç . 13.7.2

T

³ ß ÅM Ã 0 É n

• z^ ´ o~ Ód ½ _ $

0 í x` p ¦ Ó ¾ r © v H~ ÓZ ½ × O æ He r ÐÒ t$ q

÷ í & H

{ 9 à º\ ¦× ¦s H s ‫כ‬ . s ¦0 \ AK Y

> > h_ a> ' í ` ß ¦

s á Ô + AI þ Ð o % ô Ç .

ù É m4

• | 9 > ÊÃ < º_

º â Ä\ HÕ ªÒ ¨i

s ç 0 x p . t & " h

Gsum(ï î Ó ß o) (account)

• V \) Πa1 ,a2 (r ./ s)\ ¦z ´^ o~ Ód ½ Ü ¼ Ð% o $ ¸ _ õ \ ¦e r a> ' \ $ ô © Ç 6 §\ £ s ` ‫כ‬ ¦ r { # 9 QÆ ÒØ ¦ í ` ß ¦& 6 h xô Ç . s _ ‫כ‬

0 í $ x` p ¦ Ó ¾ r © v l 0 AK ¸ _ × æç ß õ \ ¦$ © t · § ú ¦Â Òì r õ \ ÐÆ ÒØ ¦ í ` ß ¦& 6 h x Éà + ½ ºe .

• 9 | > ÊÃ < º HÕ ªÒ ¨i ç

5 q$ Å

` í ¦l ï rÜ ¼ Ð&

§ ñ = > K d

l ç Z ` O ¦ 6 x # ì r½ Éô + Ç 6 §\ £ % o ô Ç . • Õ ªÒ ¨` ¦ ë ß HÊ ê\ > í ` ß ¦ t · § ú ¦, Õ ªÒ ¨i

` ç ¦ " f> í ½ ß ÉÃ + ºe . 5


13.7.2.1

T ³ ß Ã Åý 8 ô • Õ ªa > 13.1_ Ë [ j í ß r É ¸¿ º _

s á Ô Ü ¼ н ¨$

½ í ÉÃ + ºe . × _ þ õ \ ¦ Ð ¸ ¦Õ ª 6 § £ ¸ a ) õ \ " fÆ ÒØ ¦ô Ç . •

s á Ô rs É í s ß õ \ ¦! Q( \ l 2 ¤ 6 § £ í ß rs É ! Q( \ ¦s 6 x # í ` ß ¦% o ô Ç . •

s á Ô l Z ` O ¦ 6 x í _ ß { § 9 s 4 ô Ç \ ] j/ N÷ B &t · § ú H . •

s á Ô ` ¦z ´' H¿ º t ~ ÓZ ½ O – ¡( ç 1. ¹ « ‫½כ‬ ¨A 0Å Ò(demand driven) – ¡( ç 2. Ò « tí q ß A 0Å Ò(producer driven) • ‫כ‬ ¹½ ¨0 AÅ Ò

s á Ô l Z (pulling data up) O – 0 A í ß r É 0 © A í s ß ‫כ‬ ¹½ ¨ È Òe ¦` ¦ t$ q Ò

í # ² ô ú Ç . • Ò tí q ß 0 AÅ Ò

s á Ô lZ (pushing data up) O – ‫כ‬ ¹' A` õ ¦l o t · § ú ¦È Òe ¦` ¦Ò t$ q

ô í Ç . © 0 A í ß rØ É ¦§ ! 4 Q( \ / Nç B s ß \ ` O ¦M : t ! Q( \ t 5 q& Å Ü h ¼ ÐÈ Òe ¦` ¦Ò t$ q

í # & F h ô Ç . × æç ß í ß r{ É 9 § s 4 e Ü ¼ s ‫כ‬ ¦{ ` § 9 Q 4 !( \ " f] j ¦Ø ¦§ ! 4 Q( \ / N B s ß ç \ ` O ¦M : t È Òe ¦` ¦Ò t$ q

í # ! Q( \ & F h ô Ç . ¿ º

Ä â º ¸¿ º! Q( T ` q © 0 A í s ß èq ½ ÉM + : t l ; 2 . • ß é{ 9 á Ô Ð[ j" fr Û ¼% \ 7 " f H! Q( T ` q á Ô Ð[ jÛ ¼Û ¼0 Au \ ¦ô Ç . t ë ß × æá Ô Ð[ j" fr Û ¼% 7 \ " f H y í ` ß ¦1 xr l \ à º' ½ Éà + ºe . 13.7.2.1

T ³ ß Ã Åõ § u ü ¢ç X Ë ° g ow P ¨ Ö •

s á Ô l Z ` O ¦ 6 x · ú ¦o 7 § £ × \ þ ] jô Ç` ¦~ Î Ã H . • \ V) ¸ í _ ß

Ä â º\ H&

§ ñ = > a{ ) § 9 ` 4 ¦‫כ‬ ¹½ ¨ H#

½ î Ë + í ` ß ¦ 6 x½ Éà + º\ O . • s M :ë H\ ¸y 9z ´^ o~ Ód ½ ` ¦ 6 x H s ‫כ‬ q 6 xs $ § ½ 4 ɺ + Ãe .

6


c °2003, sangjin@kut.ac.kr

• V \) > ý a A\ " f> ý a B Ð 5000" ¶ é` ¦> ý as ^ Hà Ô Ô ½ o Ti ` ¦Ò ty q # Ð . Ti

2T 6 ' _9 KT Ã : ~ ¡q ç { ¡È 10 A. Silberschatz, H. Korth, S. Sudarshan Database System Concepts, Fourth Edition, McGraw-Hill, 2002.

read(A); A := A − 5000; write(A); read(B); B := B + 5000; write(B);

• Ti \ @ /K y ACID : ¤$ £

_ í _ p \ ¦¶ ( ú R Ð .

Part V. Data Storage and Querying

– ®

Å ¸ : à ] Ô Ô ½ o ` ¦z ´ ' ô ÇÊ ê\ Aü < B_ Ës + ½ z ´' õ ° ú ô Ç . { 9 a$ '

` í ¦Ä » t H ‫כ‬ r6 É x6 £ xá Ô ÐÕ ªA Q_ ] s . – j x S Å : à ] Ô Ô ½ o s z ´ ' ÷ & H ¸× æ\ r Û ¼ s 7 % z ´J # × æé | ß cà ¨ ºe . s

Ä â º\ HX <s ' Z s Û ¼ { 9 a$ '

í I © u ´Ã º e . " ¶ é $

s í Ð ÷ © & à Ô ½Ô o s z ´' ¸× æ\ × æé ß # ¸ X <s ' Z s Û ¼ { 9 a '

í $ I © \ ¦ Ä »t ô Ç . s \ ¦ 0 AK à Ô Ô ½ o Ì s t q H X <s ' _ ¶ " éA ° ‫`כ‬ ú ¦ Ð aô ' Ç ê\ Ê × æç \ ß × æé ÷ ß & s ° ‫`כ‬ ú ¦ s 6 x # <s X ' Z s Û ¼\ ¦ 4 ¤¶ " éô Ç . ¶ " é $

_ í Ð © rX É <s ' Z s Û ¼_ ç Ãw dc ñ 9¤ >® h ¸ Ä ©Å ³ ] À ¿(transaction-management component) { { ô © Ç . Ð Ã ¦ Ðà Ô ½Ô o s z ´ ' ÷ & H ¸ æ\ × r Û ¼% 7 s q { 9 a$ '

í I © \ e ` ¦Ã ºe .

² v O Å Ó

15 15.1

² Ov Å4 Ó G È

• ç Ãw ñ dc 9¤ >(transaction) r# É QX <s ' Ó` ½ ¦] X H ¦Ì t q Há Ô ÐÕ ªÏ ´ þ ' z é 0 ß As . • à Ô ½Ô o r begin transactionõ É end transaction s \ z ´' ÷ & H ¸ H í Ü ß ¼ н ¨$

í a ) . • X <s ' _ Á º $

` í ¦ Ð © l 0 AK à Ô Ô ½ o r É 6 §W £ 1 t : ¤$ £

` í ¦ë 7 ß ¤K á ô Ç . – x S j Å (atomicity): à ] Ô ½Ô o _ ¸ H í ß s z ´ ' ÷ &# QX <s ' Z s Û ¼\ ] j@ / Ðì Í% ø

ò &~ ÷ m Ô à ½ Ô o _ # Q " í ß ¸Ã º ' ÷ &t · § ú ô Ç .

– m¢ ´Å 4 : à ] Ô ½Ô o s $

/ í N& B Ü h ¼ Ð ¢ a« Ñ÷ &# Q ª Õ z ´s à Ô Ô ½ o ` ¦z ´' ô Ç 6 x \ > x : Ð÷ & Õ ª õ Hr Û ¼% 7 s Ê ê\ z ´J 8 ¸> 5 qÄ Å »t ÷ &# Q ô Ç . 7 ¤, > £ ý as ^ a? ) /6 xs Õ ªÊ ê\ Hz < ´÷ & H

Ä â º \ # O Q ô Ç . ( É Ó' r Û ¼% 7 s z ´J Å Òl % 3 u © \ e H? /6 x r É Hz < ´÷ &t ë n ß Û ¼ß ¼\ e H? /6 x r É Hz < ´÷ &t · § ú H ¦ &

ô ñ Ç . s

Ä â º\ t 5 q$ Å

í r É 6 §õ £ ° ú r~ É ÓZ ½ Ü O ¼ Ð Ð © a ) .

® Å ¸ (consistency): à ] Ô Ô ½ o ` ¦f Ë . ÐÃ º' % ` i ¦M :ª Õ õ X <s ' Z s Û ¼_ { 9 a '

` í $ ¦Ä »t K ô Ç . – §

Å (isolation): # ] Qà Ô ½Ô o ` ¦#

' î Ü ¼ ÐÃ º ' # ¸Õ ª õ Hs [ tà þ Ô Ô ½ o ` ¦ H í & Ü h ¼ Ðz ´ ' ô Ç õ ü <° ú ô Ç .

• ç ( ¡ 1. à « Ô ½Ô o \ _ K à º' ÷ & HÌ t q r à É Ô Ô ½ o s ¢ a« Ñ÷ &l \ n Û ¼ ß ¼\ l 2 ¤÷ &# Q ô Ç . • ¡( ç 2. à « Ô ½Ô o \ _ K à º' aÌ ) t q \ aô ' Ç&

ñ Ð\ ¦ Ð a ' # r Û ¼% s 7 z ´ J ô Ç Ê ê\ r X <s ' Z s Û ¼ 1 x l & ÷ Ì t q ` ¦ r ô Ç .

– m ¢ ´Å 4 (duration): à ] Ô Ô ½ o s $

/ í N& B Ü h ¼ Ð a« ¢ Ñ÷ & Õ ªÊ ê\ r Û ¼ 7z % ´J µ ÏÒ 1 t q # ¸à Ô ½Ô o s

â ô? Ç /6 x r> É 5 q Å Ð r÷ > & # Q ô Ç . • s W 1 t : ¤$ £

` í ¦ ACID £ ¤ :$

s í ô Ç .

5 t q$ Å

_ í Ð © rm É ¬¡ ´® h ¸ Ä ©Å ³ ] À ¿(recovery-management component) { { ô © Ç .

• à Ô ½Ô o r É 6 §¿ £ º t í ` ß ¦ 6 x # X <s ' Z s Û ¼\ ] X Hô Ç ¦ &

ô ñ Ç .

– §

Å : à ] Ô Ô ½ o _ { 9 a$ '

õ í ¶ " é $

s í Ð ÷ © & 8 ¸# Qà Ô Ô ½ o ` ¦#

' î Ü ¼ Ðà º ' Õ ª[ t_ þ í [ ß ts þ | Ðf à t · § ú r É ÓZ ½ ~ Ü O ¼ Ð ° ú à º ' | cà ¨ ºe . s ë H] j ¦K \ l 0 AK à Ô Ô ½ o [ t` þ ¦í H & Ü h ¼ Ðz ´' ½ Éà + ºe . Õ ª Q #

' î Ü ¼ ÐÃ º' H s ‫כ‬ $

0 í x8 p ¤ £ \ " f´ § ú rs É & s h e . ¦w $ n

í r X É <s ' Z s Û ¼_ Ä j Z ßV # a Ä ©Å ] À ³ ¿(concurrency-control component) { ô © { Ç .

– read(X): X <s ' Ó X\ ½ ¦X <s ' Z s Û ¼ Ð Â Ò' t % ! i Q( Ð` | . – write(X): t % ! i Q( \ e HX <s ' Ó X\ ½ ¦ X <s ' Z s Û ¼\ H . &

. ñ Ð: xX <s ' Ó_ ½ æ ¼l H7 ¤r £ s À Ò# Qt t · § ú H . t ë # ß l " f H£ ¤ 7r s À Ò# Q ¦

ô ñ & Ç . 1


– Ô à Ô ½ o ` ¦] j (kill): à Ô ½Ô o _ ? /Â Ò H 7 o ¸À Ó\ _ K 2 [ è a )

Ä â º\ H6 x6 £ xá Ô Ð ªÏ Õ ` þ ¦ r $

K í ë H] j\ ¦K ½ ÉÃ + ºe . s

Ä â º\ Hà Ô Ô ½ o ` ¦] j ô Ç .

15.3

• Õ ªa > Ë 4 ¤ r(shadow copy) ~ : Ód ½ – s~ Ód ½ rÕ É ªa > Ë 4 ¤ rs : ¦ HX <s Z ' s Û ¼_ 4 ¤ r` : ¦Ä »t ô Ç .

<Õ ªa > 15.1> Ô Ë à Ô ½ o I © ¸

15.2

R ¦ Ì V ËÊ R ÝU ×V Ò Ë8 R ý ô

– s~ Ód ½ rô É Ç \ _ à Ô ½Ô o ë z ß ´' a ) ¦ &

ñ 9, X <s ' Z s Û ¼

{ 9 \ @ / Ç ô í ' \ ¦ Ä »t ô Ç .

² v O ÅV Ó s? ê 0

– < Xs ' Z s Û ¼\ ¦ Ì t q H à Ô ½Ô o r É X $ <s ' Z s Û ¼_ ¢ a ô Ç4 ¤ r` : ¦ë ß H 6 §\ £ Ì t q r" É ¶ é rs : s 4 ¤ r\ : s Q Ò# À .

• I © _ 7 xÀ á Ó: Õ ªa > 15.1 Ë Ð Ã ¸ – ¸$ Ö

í o I © (active): z ´' × æ I © – Â Òì r¢ a« Ñ: à Ô Ô ½ o _ t } "

§ î

# î Q z ´ ' aÊ ) ê

– à Ô Ô ½ o s 2 [ è÷ & 4 ¤ rë : ß ] j a ) . – Ô à Ô ½ o s ¢ a« Ñ÷ & D h4 ¤ r_ : ¸ H` t s n Û ¼ß ¼\ l 2 ¤÷ &% 3 Ht S X ô Ç . h4 D ¤ r_ : ¸ H` s t n Û ¼ß ¼\ l 2 ¤ & ÷ í ' 4 ¤ r` : ¦ o v ¸2 ¤ô Ç §\ £ 6 l r" > ¶ é r : r É ] j a ) .

– z ´J (failed): &

ñ & © h ´ ' z s 8s Ô © ¦ 0 x p H ` ‫כ‬ ¦µ Ï| 1 ô

ÇÊ ê – x ¿(aborted): à Ô Ô ½ o ¢ ¸ Hr Û ¼% 7 s z ´ J # à Ô ½Ô o s ·` c(rollback)÷ 9 &# Q à Ô ½Ô o s r l I © ÐX <s ' Z s Û ¼ 4 ¤¶ " é aÊ ) ê

– Ô à Ô ½ o s z ´J H

Ä â º: í ' Ì t q &l ÷ \ à Ô ½Ô o s z ´J " ¶ é rs : e ¼Ù Ü ¼ ÐD h4 ¤ rë : ß ] j # à Ô Ô ½ o ` ¦ [ 2 è½ ÉÃ + ºe .

– µ ‫כ‬ ì Ø(committed): &

ñ & © Ü h ¼ Т a« Ñ aÊ ) ê • à Ô ½Ô o s z ´J " ¶ é $

` í ¦ Ð © l 0 AK ¦Ñ \ ÷ þ &# Q ô Ç . \ ¦Ñ ô þ Ç H ‫כ‬ r2 É [ è aà ) Ô ½ o Ô \ _ K s À Ò# Q

` â ¦s ° ‫כ‬Ü ú ¼ Ð4 ¤½ ¨ H ` ‫כ‬ ¦´ ô ú Ç .

– rÛ ¼% s 7 z ´J H

Ä â º: í ' Ì t q ÷ & l \ r Û ¼% 7 s z ´J à Ô Ô ½ o s z ´ ô J Ç

Ä â ºü < ð Í t ø Ð" ¶ é rs : e Ü ¼Ù ¼ Ð Û r ¼% s 7 F 1 x÷ l & à Ô ½Ô o ` ¦ 2 [ è½ É + ºe à .

• à Ô ½Ô o s ¢ a« Ñ÷ & 2 [ è # Õ ª à Ô Ô ½ o s ' ô Ç

` â ¦4 ¤½ ¨½ Éà + º\ O . z ´] j4 ¤½ ¨½ É + ‫כ‬ 9 ¹ Ü e ¼ ¢ a« Ñà Ô ½Ô o ` ¦ Ð K © Å Ò H ×( ×ç Ãw d ñ 9¤ c >(compensating transaction)` ¦ z ´' K ô Ç .

– ú ´ § rë É H" f¼ | # 9 l èá Ôà ÔJ ?# Q s ~ Ód ½ ¦ ` 6 xô Ç . – ë] H j& : X h <s ' Z s Û ¼_ ß ¼l ß ¼ X <s Z ' s Û ¼ ^ _ 4 ¤ r` : ¦ë × ß ¼ H ‫כ‬ rq É òÖ ´ ¦& s h . ¢ ¸ô Çà Ô ½Ô o _ #

î ' Ã º' ` ¦ 6 ) x t · § ú H .

• à Ô ½Ô o s ¢ a« Ñ÷ & 2 [ è÷ & ¤ 4‫כ‬ Ø(terminated)÷ &% 3 ¦ô Ç . • à Ô ½Ô o _ t } "

§ î

# î Q_ z ´' s = Q å à Ô ½Ô o rÂ É Òì r¢ a« Ñ I © a ) . z ´] jØ ¦§ 4 rÅ É Ò l % 3 u © \ { 9 r & Ü h ¼ Ð$ ÷ © &# Qe ` ¦Ã ºe Ü ¼ Ù ¼ Ð × ¼J ?# Q ¦ 1 © x_ p s Ä » Ð2 [ è| cà ¨ ºe . X <s ' Z s Û ¼ Hà Ô ½Ô o s  Òì r¢ a« Ñ÷ & z ´J \ ¦ 8 ¸à Ô ½Ô o \ _ K s À Ò# Q

` â ¦ r ë [ ß tà þ ºe ¸2 ¤Ø æì rô Ç&

ñ Ð\ ¦n Û ¼ß ¼ \ l 2 ¤ô Ç . s l 2 ¤s = Q å à Ô Ô ½ o r¢ É a« Ñ I © a ) .

15.4

Ë{ _ ä E ¤{ E

• # Qà Ô Ô ½ o _ #

' î Ã º' ` ¦] j/ N B Hs Ä » – % o Ö ¦õ " ¶ é 6 x´ òÖ ¦ Ó ¾ © – @ /l r ç y ß è • V \) T1 r> É ý a A\ " f B Ð 5000" ¶` é ¦s ^ Hà Ô Ô ½ o s ¦, T2 H> ý a A_ 10%` ¦> ý a B Ðs ^ Hà Ô Ô ½ o s .

• à Ô ½Ô o s 2 [ è÷ & r Û ¼% 7 r É 6 §× £ æ \ ¦ × ô þ Ç .

T1 :

– à Ô ½Ô o ` ¦F r (restart): à Ô ½Ô o _ ? / Â Ò Ho 7 ¸ À Ó × ¼J ?# Q¢ ¸ H èà Ôà Ô J ?# Q ¸À Ó\ _ K 2 [ è a )

Ä â º\ ë F ß r ÉÃ + ½ ºe . 2

read(A); A := A − 5000; write(A); read(B); B := B + 5000; write(B);


T2 :

read(A); temp := A ∗ 0.1; A := A − temp; write(A); read(B); B := B + temp; write(B);

15.4.1

• ÂŒ # Qà ԙ ½Ă” o‚ Â? ` ÂŚ#

' ĂŽ Â?Ăƒ Â&#x; ÂşÂ? ' Â&#x;Ă´ Ç Ăľ s [ t` Ăž ÂŚĂ­ H & Ăœ h Ÿ– Ă?Ăƒ Âş' Â?Ă´ Â&#x; Ç Ăľ Ăź <°  ú “ ÂŚw $ n

s Ă­ ĂŤ –7 Ă&#x; ¤ ĂĄ a ) Â? . • ÂŚ “w $ n

_ Ă­ ĂŤ –7 Ă&#x; ¤# ĂĄ ÂŒĂ‚ Ă’\ Œ“ ÂŚ 9½ ÉM + :\  Â? HĂ Ă” ™Ô ½ o‚ Â? readĂź _ < write ƒ Ă­ –Í Ă&#x; –“ Ă&#x; ÂŚ 9Ă´ Ç .

Âż ºà Ă” ™Ô ½ o‚ Â? ` ÂŚz ´' Â? Â&#x; l „ \  AĂź < B_ ĂŻ –Ó Ă&#x; os Â? y •y ÂŒ •Í ÂŒ –œ Ă&#x; " ĂŠĂľ s ĂŤ –œ Ă&#x; " ĂŠs % 3 “ ÂŚ . Âż ºà Ă” ™Ô ½ o‚ Â? ÂŚ T1 , T2 Ă­ ` HĂœ Ÿ– Ă? Ă­ H & Ăœ h Ÿ– Ă? z ´Â? ' Â&#x; € Ăľ Â? H AÂ? H 4500" Âśs ĂŠ á &“ ÂŚ BÂ? H 25,500" Âśs ĂŠ Â? a ) . ĂŹ Ă?@ ø /– Ă? T2 , T1 Ă­ HĂœ Ÿ– Ă?Ă­ H & Ăœ h Ÿ– Ă?´ ' z Â? Â&#x; € Ăľ Â? H AÂ? H 4000" Âś ĂŠs á &“ ÂŚ BÂ? H 26,000" Âś ĂŠs Â? a ) .

T1 read(A); write(A);

read(B); write(B); read(B); write(B); 15.4.2

• T1 Ăľ T2 Ăľ 6 §þ ÂŁ °  s Ăş #

' ĂŽ Â?Âş Â&#x; Ăƒ' Â?á Â&#x; &% 3 “ ÂŚ .

Þô s Ý ÚÇ v Äc k ÇV Ë R

• Âź Ă›H Ă— ÂŚ S\  " fÂż ºà Ă” ™Ô ½ o‚ Â? Ti Ăź < Tj _ "

§ Î

# ĂŽ Q Ii Ăź < Ij ƒ 5 qK Ă… " f1 x p ÂœĂ´ Š Ç “ ÂŚ .

T2

– s¿ º"

§ Î

# ĂŽ Q " f– Ă? Â? rX É <s ' \ ÂŚ] X H z € ´Â? ' Â&#x;Ă­ H" f\ ÂŚ Ă‹ ¨# Q• ¸ Ăľ Â? H 7 t ¡ § Ăş H Â? .

read(A); temp := A ∗ 0.1; A := A − temp; write(A);

– ª Õ Q ¿ º"

§ Î

# ĂŽ Q °  Â“ Ăş rX É <s ' \ ÂŚ] X H z € ´Â? ' Â&#x;Ă­ H" f Ăľ \  %

† ò Ă“` ž ÂŚp } Ăƒ 9 Âşe ” .

read(B); B := B + 5000; write(B);

• ¿ º"

§ Î

# ĂŽ Q °  Â“ Ăş rX É <s ' \ ÂŚ] X H½ É +

Ă„ â Âş read(B); B := B + temp; write(B);

– Ăœ #­ ÂŁ 1. Ii = read(Q), Ij = read(Q): Ă­ H" f œ› Š as ' \ 6 O §. ÂŁ – Ăœ #­ ÂŁ 2. Ii = read(Q), Ij = write(Q): Ă­ H" f " f– Ă?\  > %

† ò Ă“` ž ÂŚÂş §. ÂĄ

s Ă› ÂźH Ă— ÂŚ@ /– Ă?z ´' Â?á Â&#x; &€ T1 , T2 Ă­ HĂœ Ÿ– Ă?Ă­ H & h Ăœ Ÿ– Ă?z ´Â? ' Â&#x; % ` i ÂŚM :Ăź < Ăľ °  ú . " f“ ÂŚw n

` Ă­ $ ÂŚĂŤ –7 Ă&#x; ¤ô ĂĄ Ç . t ĂŤ – Ă&#x; 6 §þ ÂŁ °  s Ăş #

' ĂŽ Â?Ăƒ Â&#x; Âş' Â?á Â&#x; & “ € ÂŚw n $

` Ă­ ÂŚĂŤ –7 Ă&#x; ¤ ĂĄ t Ăş § ¡Â? H . T1 read(A); A := A − 5000;

T2

read(A); write(A);

• à ԙ ½Ă” o‚ Â? s ´ zÂ? ' Â&#x;Â? a Ă­ ) H" f\ ÂŚ â ÂŤX

ä ¡(schedule)s Ă´ Ç . Ă› ÂźH Ă— Œ“ rà É ԙ ½Ă” o‚ Â? _ y •" ÂŒ

§ Î

# ĂŽ Q z ´' Â? Â&#x; aĂ­ ) Â? H" f\ ÂŚ ? /9, Âź Ă›H Ă— Œ“ rà É Ă” ™Ô ½ o‚ Â? _ ? /Ă‚ Ă’ H" Ă­ f\ ÂŚĂ„ Âťt K Ă´ Ç .

T1 read(A); A := A − 5000; write(A);

Äc k Ç ÇV Ë R

– Ăœ #­ ÂŁ 3. Ii = write(Q), Ij = read(Q): Ă­ H" f " f– Ă?\  > %

† ò Ă“` ž ÂŚÂş §. ÂĄ – Ăœ #­ ÂŁ 4. Ii = write(Q), Ij = write(Q): Ă­ H" f " f– Ă?\  > %

† ò Ă“` ž ÂŚĂ… Ă’t ¡ §t Ăş ĂŤ – Ă&#x; 6 §\ ÂŁ  Âš ¸ H" Â?

§ Î

# ĂŽ Q\ Â %

† ò Ă“` ž ÂŚÂş §. ÂĄ

T2

read(A); temp := A ∗ 0.1; A := A − temp; write(A); read(B);

• º ¿"

§ Î

# ĂŽ Q °  Â“ Ăş rX É <s ' \ Œ› ¸ Â• ÂŒ “ ÂŚĂ‘ tĂ— Ăź ĂŚ writes € Âż Âş"

§ Î

# ĂŽ QÂ? H" f– Ă? ž ¡(conflict)Ă´ â Ç “ ÂŚĂ´ Ç . • f "– Ă?Ă˜ ĂŚ[ t t ¡ §Â? Ăş H"

§ Î

# ĂŽ QÂ? H0 Au \ ÂŚ Ă‹ ¨# Qz ´ Â?½ Â&#x; ' Ă‰Ăƒ + Âşe ” .

write(A); read(B); B := B + 5000; write(B);

• S0s Ă› ÂźH Ă— ÂŚ S\  " fĂ˜ ĂŚ[ t t ¡ §Â? Ăş H"

§ Î

# ĂŽ Q[ t_ Ăž 0 A \ u ÂŚ Ă‹ ¨# QĂŤ –Ž Ă&#x; HĂ› ÂźH Ă— ÂŚs € Âż ºÛ ÂźH Ă— Œ“ r É ž ¡ â

n ™ (conflict equivalent)ô Ç “ Œô Ç .

B := B + temp; write(B);

• Âź Ă›H Ă— ÂŚ S Ă­ H Ă› ÂźH Ă— ÂŚĂľ Ă˜ ĂŚ[ t{ u 9 € ž ¡ â Ă? Ă? Ă’

Ă… ~ (conflict serializability)` ] ÂŚ ĂŤ –7 Ă&#x; ¤ô ĂĄ Ç “ ÂŚ Ă´ Ç .

s Ăź <°  s Ăş Ă› ÂźH Ă— · &t ¡ §Â• Ăş ¸2 ¤Â˜ Â&#x; Ă? Âœ Š Â? H “ ‍כ‏ r# É

ĂŽ ' Â? Â&#x;] j# Q½ ¨$

‍כ‏ Ă­ šÂ™ è_ ]  s . 3


• \ V1) 6 §Û £ ¼H × ¦ rØ É æ[ tf § =$ >

` í ¦ë 7 ß ¤ á t · § ú H . T3 T4 read(Q); write(Q); write(Q);

15.5

• # Qà Ô Ô ½ o s #

' î Ü ¼ ÐÃ º' ÷ & ¦e ` ¦M :, _ à Ô Ô ½ o s 2 [ è÷ & Õ ª õ ‫כ‬ _ r > a> ' \ e H r É ¸ Hà Ô Ô ½ o ¸2 [ è÷ &# Q ô Ç . 15.5.1

• \ V2) 6 §Û £ ¼H × ¦ rØ É æ[ tf § =$ >

` í ¦ Ð © t · § ú t ë z ß ´ ' õ í H z ´' ô Ç õ ‫כ‬ ° ú . " fé í ß Hy { 9 l ü <¼ æl í ÷ ß rë ß m à Ô Ô ½ o \ _ K à º ' ÷ & H> í ß t ¦ 9K ô Ç . Õ ª Q > í ß t ¦ 9 H ‫כ‬ r4 É ¤¸ ô ú Çì r$ s 3 9 ‫כ‬ ¹ Ù ¼ н ¨ ³ & l # Q§ > . T1 read(A); A := A − 5000; write(A);

H > × « Ö ¢­ X > ú Ú n

• \ V) 6 §õ £ ° ú rÛ É ¼H × ¦` ¦ ¦ 9 # Ð . T8 T9 read(A); write(A); read(A); read(B);

T5

T9 H read\ ¦Ã º ' ô ÇÊ ê\ Т a« Ñ÷ &% 3 ¦ . 7 ¤, T8 £ Ð $ ¢ a« Ñ % i ¦ . s M : T8 s ¢ a« Ñ l f \ 2 [ è÷ & T9 H T8 õ _ r > a> ' e Ü ¼Ù ¼ а s ú 2 [ è÷ &# Q ô Ç . Õ ª Q p s ¢ a« Ñ % Ü i ¼Ù ¼ Ð2 [ è½ Éà + º \ O .

read(B); B := B − 1000; write(B);

• s% ! 3 r4 ¤½ Éà + º\ O HÛ ¼H × ¦` ¦ r4 ¤ ¦ Ô 0 xÛ p ¼ × H ¦s ô Ç .

read(B); B := B + 5000; write(B);

• ¬ m¡ ´ æ â «X

ä ·(recoverable schedule)s ê Í Û ø ¼ × H ¦\ e H ¸ H à Ô Ô ½ o Ti ü © < Tj \ @ /K Tj Ti \ _ K l 2 ¤ aX ) <s ' \ ¦{ 9 Ü ¼ Ti _ ¢ a Ñ « í (commit operation)s ß Tj Ð · ¡" ú fe HÛ ¼ × H ¦` ¦´ ô ú Ç .

read(A); A := A + 1000; write(A); 15.4.3

H > ×V Ë R

½Ç Äc k ÇV Ë R

15.6

• ¿ ºÛ ¼H × ¦ Sü < S0s 6 §[ £ j t ¸| ` ¦Ø æ7 ¤ á É Ú

n (view equivalent)ô Ç ¦ô Ç .

• \ V) 6 §õ £ ° ú rÛ É ¼H × ¦` ¦ ¦ 9 # Ð . T10 T11 T12 read(A); read(B); write(A); read(A); write(A); read(A);

– ÐZ 1. y Ì X <s ' Ó Q\ ½ @ /K Ti Û ¼H ¦ S\ × " f Q_ íl ú ‫כ‬ °` ¦{ 9 H Û ¼H × ¦ S0\ " f ¸ Ti Q_ íl ° ‫`כ‬ ú ¦{ # 9 Q ô Ç . – ÐZ 2. y Ì X <s ' Ó Q\ ½ @ /K Ti Û ¼ H × ¦ S\ " f read(Q)\ ¦ Ã º ' ¦ s { l 9 Tj _ write(Q)\ _ K H° ‫`כ‬ ú ¦{ 9 H Û ¼H × ¦ S0 \" f ¸ Ti _ read(Q) H Sü <° ú r É Tj _ write(Q)\ _ K H° ‫`כ‬ ú ¦{ # 9 Q ô Ç .

sM : T10 s 2 [ è÷ & T11 õ T12 ¸¿ º2 [ è÷ &# Q ô Ç . s ³ & ` © ¦¥ > o t ·` 9 c(cascading rollback)s ô Ç .

– ÐZ 3. y Ì X <s ' Ó Q\ ½ @ /K Û ¼H × ¦ S\ " f write(Q)\ ¦þ j7 xÜ á ¼ Ðà º ' ô Çà Ô ½Ô o s Û ¼H × ¦ S0 \" f ¸þ j7 xÜ á ¼ Ð write(Q)\ ¦Ã º' K ô Ç .

• W\ ¦Ñ þ r É | Ðf à t · § ú r É ³ & Ü © ¼ е ÏÒ 1 t q · t § ú ô Ç .

• Û ¼H × ¦ S í H Û ¼H × ¦õ Â Ó{ u 9 É ÚÒ Ý Ï

~ (view serializability)` ] Å ¦ë 7 ß ¤ô á Ç ¦ô Ç .

• W\ ¦Ñ s þ { # 9 Q t · § ú HÛ ¼H × ¦` ¦è >¥ > o tâ «

X ·(cascadeless schedule)s ä ô Ç .

• \ V) 6 §Û £ ¼H × ¦ rÂ É Óf § =$ >

` í ¦ë 7 ß ¤ á t ë Ø ß æ[ t § f =$ >

í rë É á ß ¤ 7 t ú § · H . T3 read(Q);

T4

R Åê ì ø­ > ú Ú n

15.7

ô w ÉV m Ë8 R ý ô

T6

• ¼ ÛH × ¦s Ø æ[ tf § =$ >

¢ í ¸ HÂ Óf § =$ >

` í ¦ë 7 ß ¤ á ¦q WÛ ¼H × ¦s © | Ðf à .

write(Q);

• î #'

Ü ¼ ÐÃ º' ÷ & Hà Ô ½Ô o [ ts þ f § =$ >

` í ¦ë 7 ß ¤ á ¦ WÛ ¼H × ¦s ÷ & ¸2 ¤ Ð K © Å Ò H ª Ç# ô

' î ] j# Ql Z s O e .

write(Q); write(Q);

4


Ă‹{ _ ä E< g# a

16

Âż s ºà ԙ ½Ă” o‚ Â? _ 6 §þ ÂŁ °  s Ăş Ă› ÂźH Ă— ÂŚ| cĂƒ ¨ Âşe ” .

16.1

p? c X ÂŒ ÂŁM ˜ m ÂŒÂł ÂŽz º‚ ºß Ăš €

16.1.1

X p? c ÂŒ ÂŁ

T1 lock-X(B);

T2

CCM grant(B, T1 );

•  Â™F ÂŒ K— ¸Ă— Âź

read(B); B := B − 5000; write(B); unlock(B);

– / NĂ„ B  Â™F ÂŒ K: Ti Q\  @ /Ă´ Ç/ NĂ„ B  Â™F ÂŒ K` ÂŚS ‰1 \ q p € Q\  @ /K 9l { ĂŤ – 0 Ă&#x; x p .

lock-S(A);

– C  Â™F ÂŒ K: Ti Q\  @ /Ă´ ÇC  Â™F ÂŒ K` ÂŚS ‰1 \ q p € Q\  @ /K { l 9 Ăź <ĂŚ Âźl — ¸¿ Âş 0 x p .

grant(A, T2 ); read(A); unlock(A); lock-S(B); grant(B, T2 );

• / NĂ„ B  Â™F ÂŒ K“ r S– É Ă? ? /“ ÂŚ, C  Â™F ÂŒ K“ r X– É Ă? p ¡ .

read(B); unlock(B); display(A + B);

• à ԙ ½Ă” o‚ Â? “ ry É •X ÂŒ <s ' \ ÂŚ] H X l „ \  Ă• ÂŞX <s ' \  @ /K Ăƒ ÂşÂ? ' Â&#x;½ Ă‰Âƒ + Ă­ –\ Ă&#x;  & ] h Ă´ X Ǡ™F ÂŒ K` Œ€ $ S ‰1 \ qK p Ă´ Ç . s \ ÂŚ#

' ĂŽ Â?] Â&#x; j# Q› ao ' \  >  Â™ ÂŒ F K` Œ‍כ‏ š' A Ăľ € › ao ' Â? H) ‡6 x  Ă‚ Ă’Ă´ Ç .

lock-X(A); grant(A, T1 ); read(A); A := A + 5000; write(A); unlock(A);

•  ù¨ Š$ 8

† Ă­ ĂŠĂƒ < Âş

S X

S true false

X false false

Ă• ÂŞ Q s X > O Ă› ÂźH Ă— · &€ T1 Ăľ T2 Ă­ H & Ăœ h Âź –z Ă? ´' Â?Â? Â&#x; a ) Ăľ Ăź < Â? r É Ăľ \ ÂŚ T2 Ă˜ Τ 4 > Â? a ) . s “ ‍כ‏ r T1 s É -Ă Âş{ 9 n B\ ”  @ /Ă´ Ǡ™F ÂŒ K` ÂŚK j ] % l i M :ĂŤ Hs .

7 ¤, / ÂŁ NĂ„ B  Â™F ÂŒ K sÂ? aX ) <s ' \  @ /K / NĂ„ B  Â™F ÂŒ K‍כ‏ š A“ Ăľ ' r) É ‡6 xá  &t ĂŤ – Ă&#x; Â? rš É ‍'כ‏ A“ Ăľ r) É ‡6 xá  &t ¡ §Â? Ăş H . ) ‡6 xá  &t ¡ §Â? Ăş H‍כ‏ š' A“ Ăľ r Ă‰ ù¨ Šá 8 &t ¡ §Â? Ăş H Â™F ÂŒ K` ÂŚS ‰ \ 1 q p “ ÂŚe Â? ” H Â? r¸ É —Ž Hà ԙ ½Ă” o‚ Â? s  Â™F ÂŒ K` ÂŚK ] j ÉM + ½ : t @ /l > Â? a ) .

• V \2) 6 §þ ÂŁ °  s Ăş  Â™F ÂŒ KK ] j\ ÂŚĂ Ă” ™Ô ½ o‚ Â? _ = QĂœ ĂĽ Âź Ă?t – ƒ r † Âż Âş> h_ Ă Ă” ™Ô ½ o‚ Â? s e ” “ ÂŚ .

• à ԙ ½Ă” o‚ Â? “ r Ă‰ ™F ÂŒ K` ÂŚS ‰1 \ qĂ´ p ÇÊ ĂŞ\  Âƒ ] jÂŽ Ht Ă• ÂŞ ‍כ‏ ÂŚK ` ] j½ Ă‰Ăƒ + Âşe ” . Ă• ÂŞ Q Ă• ÂŞX <s ' \ ÂŚ] X H H1 Â? xĂŽ l –\ Ă&#x;   Â™F ÂŒ K` ÂŚ >5 qÂť Ă… Ă„t K Ă´ Ç . • \ V1) 6 §þ ÂŁ °  Â“ Ăş rÂż É Âş> h_ à ԙ ½Ă” o‚ Â? s e ” “ ÂŚ . T1 : lock-X(B); read(B); B := B − 5000; write(B); unlock(B); lock-X(A); read(A); A := A + 5000; write(A); unlock(A); T2 : lock-S(A); read(A); unlock(A); lock-S(B); read(B); unlock(B); display(A + B);

T1 :

lock-X(A); read(A); A := A − 5000; write(A); lock-X(B); read(B); B := B + 5000; write(B); unlock(A); unlock(B);

T2 :

lock-S(A); read(A); lock-S(B); read(B); display(A + B); unlock(A); unlock(B);

Âż s ºà ԙ ½Ă” o‚ Â? _ \ V1% ƒ! Ă› 3 ÂźH Ă— ÂŚ| cĂƒ ¨ Âş\ O . s X> O € † Ă“ ½ Âœ Š Ăľ Â? Hf § ” =$ >

` í ŒÄ t ô Ç . Õ ª Q 5


ë ß 6 §õ £ ° s ú Û ¼H × ¦÷ &% 3 ¦ . T1 lock-X(B);

T2

CCM grant(B, T1 );

read(B); B := B − 5000; write(B); unlock(B); lock-S(A); grant(A, T2 ); read(A); lock-S(B); lock-X(A);

s

Ä â º T2 _ B\ @ /ô Ç/ NÄ B » F K r) É 6 x| cà ¨ º\ O Ü ¼9, ì Í@ ø / Ð T1 _ A\ @ /ô Ç C F K ¸) 6 x| c ¨ à º\ O . 7 ¤, £ § Ì Ã I © µ ÏÒ 1 t q % i . § Ì Ã I © ÏÒ 1 µ t q _ à Ô Ô ½ o ` ¦\ ¦Ñ r þ & ô Ç . • § Ì Ã I © µ ÏÒ 1 t q H 9' { $ a

s í 0 AC ÷ & H ‫כ‬ Ð H ñ a ) . • F Kl Z _ O ¢ ¸ rë É H] j HÏ UÅ ã Òa >s Ë . _ à Ô ½Ô o s / NÄ B » F K` ¦S 1 \ q p ¦e ` ¦M : r É à Ô ½Ô o s C F K` ¦‫כ‬ ¹' A õ ) 6 x½ ÉÃ + º\ O # Q@ /l > a ) . s s \ rà É Ô ½Ô o [ ts þ > 5 q/ Å NÄ B » F K` ¦‫כ‬ ¹' A õ Á ºô Ç@ /l ½ ÉÃ + ºe > a ) .

6


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.