Fundamental and Application of Database ? o?¨$ ? o?¨$ ??? ??? ? e/ ?D1???ù?? ? e/ ?D1???ù?? ? ¥t ? ¥t i? e? i? e? ? i? e?à ?i? e?à ? ? 1??? V1???1??? V1??? ?  l V1??? l V1??? ?  íi? e?ZE íi? e?ZE i? e?à ? i? e?à ?  Y3?Z T  Y3?Z T (1) Y1?3? ? ?? H YoμB? Y?  e Y A????? Y2 ?[aZ ? A????? Y2 ?[aZ ? ? ? ? ? s ?¨"d'÷?è ? o  Z'÷¥+?  Z'÷¥+? i? e? ? i? e? ? (2)?-i?Z T ?-i?Z T  interleaved concurrency ? Y¥i?3? ^?ti? Y¥i??T Y¥i?3? ^?ti? Y¥i??T } @?-? } @?-? ? ^?) ?"d?¥i?Z T ?h ) ^?) ?"d?¥i?Z T ?h ) ?¥ b= HW4ú"d¥r q ?¥ b= HW4ú"d¥r q i? e? ? i? e? ? (3)] Hi?Z T ] Hi?Z T  simultaneous concurrency ? ) ?"d? ??) ? V[?B?) ?"d? ??) ? V[?B? Y?) ? V[] H?? Y Y?) ? V[] H?? Y LC? Y??¥i?? LC? Y??¥i?? ? K ?X¥i?Z T? s???qìaK ?X¥i?Z T? s???qìa ? ÷ˉ¥÷ˉ¥ i?Z T?i?Z T? Yi?3?{ ?¥ù5 Yi?3?{ ?¥ù5 ? V ??i |?i%?? ?¥ ?  ?ê V ??i |?i%?? ?¥ ?  ?ê Y¥? ??? ? o¥Bá? Y¥? ??? ? o¥Bá? ? DBMSA?4i? e??A?4i? e?? ? i? e?? ^? B?i? e?? ^? B? DBMS? ?¥ ×1S?-B ×1S?-B i? e?à ? i? e?à ? ? i? e??¥ ? i? e??¥ ? ? i??Té?? ??i??Té?? ?? ?  £ Y¥? ?? £ Y¥? ?? ?  £ ? o¥Bá? £ ? o¥Bá? T1¥??$ ¥??$ T2-?  -?   A=16 AoA-3 í A=13 ? A=16 ? è AoA-1 í A=15 é Y T 2 Y T 1 ? ?Bá L èfè D"d i??T{ ?¥ ? ?Bá? i??T{ ?¥ ? ?Bá? ? é >?? lost update ? ? V×ˉ ? V×ˉ non-repeatable read ?  “## ” ?  ?  dirty read ? ? Y Vi?3?B? YH ?  H 6? Y Vi?3?B? YH ?  H 6 B? V B? V CPU ? V9F"d¥ ? V9F"d¥ “}s  }s  ”——ó ó ? HW =3?¥ Y ?9FM?H ?D ? HW =3?¥ Y ?9FM?H ?D CPU ?¨ q 4ú b= HW? b ? "d? V ??"ò?ò"¥ YBt? Bt"d? V ??"ò?ò"¥ YBt? Bt ?é ?1?3? Y V ?¤?? ò - ?¥é Y ?é ?1?3? Y V ?¤?? ò - ?¥é Y ?? ?? 1 4[??¥ü Hb ?Tò Y ^? 4[??¥ü Hb ?Tò Y ^? DB¥? ¥? ]?sé??T Yi?3??÷zb ]?sé??T Yi?3??÷zb ? h h  “ ü (Y? HW ü (Y? HW ”——B? YV 7 S??? ?3B? YV 7 S??? ?3 ¥ ü ( HW ¥ ü ( HW ? DB?i?3?'é D?i?3?'é D OS? P¨???¥?B? P¨???¥?B "b 4.3.1 i??¥ V1?? i??¥ V1?? Ba I 1"¥i??T? ^? ?¥ Ba I 1"¥i??T? ^? ?¥ =a ?? £i??T¥? ^? ?¥ =a ?? £i??T¥? ^? ?¥ Ba I 1"¥i??T? ^? ?¥ Ba I 1"¥i??T? ^? ?¥ ? 9 ?"di? Y?i??T¥? ^¥9 ?"di? Y?i??T¥? ^¥ ?¥7?]¥? V ??á 3?]¥2 ?¥7?]¥? V ??á 3?]¥2 Tb ? | ?μ Y1?  ?¥?| {B? ^? ?¥| ?μ Y1?  ?¥?| {B? ^? ?¥ ?| {b ?| {b I 1"¥i??T? ^? ?¥ ? I 1"¥i??T? ^? ?¥ ? ? ? O?? 2TD? BQ?1?13? O?? 2TD? BQ?1?13 ? ? ì H¥2TM] ? ? ì H¥2TM] ? ?? Y A?¥ ? o ?DB?1? ?? Y A?¥ ? o ?DB?1? ?M]b ??i??| {?1 V1?? ??i??| {?1 V1??  Serializable ¥?b I 1"¥i??T? ^? ?¥ ? I 1"¥i??T? ^? ?¥ ? ? V1?? ^i? Y? ??¥·B5 V1?? ^i? Y? ??¥·B5 èCμ ? YsYc/ ?T èCμ ? YsYc/ ?T Y 1 B A=B+1 í A Y 2 A B=A+1 í B L ! L ! A¥′1 2 B¥′1 2b I 1"¥i??T? ^? ?¥ ? I 1"¥i??T? ^? ?¥ ? ? ? ? Y¥?]?| {? ? Y¥?]?| { ? 1?3? ?1??| {1??| { 1 ?1??| {1??| { 2 ? ?p3??p3? ? ? V1??¥?? V1??¥? ? V1??¥? V1??¥? (a) 1??| {? ?¥? 1??| {? ?¥? Slock B Y=B=2 Unlock B Xlock A A=Y+1 í A(=3) Unlock A Slock A X=A=3 Unlock A Xlock B B=X+1 í B(=4) Unlock B T 1 T 2 (b) 1??| {? ?¥? 1??| {? ?¥? Slock B Y=B=3 Unlock B Xlock A A=Y+1 í A(=4) Unlock A SlockA X=A=2 Unlock A Xlock B B=X+1 í B(=3) Unlock B T 1 T 2 (c) ? V1??¥? ? V1??¥? Slock B Y=B=2 Unlock B Xlock A A=Y+1 í A(=3) Unlock A Slock A X=A=2 Unlock A Xlock B B=X+1 í B(=3) Unlock B T 1 T 2 (c) ? V1??¥? ? V1??¥? (? ? ) ? ?? 3?2TD?? 3?2TD (a)a(b)¥2T??]¥2T??] ?[ ^p¥?b ?[ ^p¥?b (d) V1??¥? V1??¥? Slock B Y=B=2 Unlock B Xlock A A=Y+1 í A(=3) Unlock A Slock A ?? ?? ?? X=A=3 Unlock A Xlock B B=X+1 í B(=4) Unlock B T 1 T 2 (d) V1??¥? ? V1??¥? ? ? ?? 3?2TD1?? ?? 3?2TD1?? a ¥3?¥3? 2TM] ?[ ^? ?¥?b 2TM] ?[ ^? ?¥?b  l?T  l?T ? ?] Y]B ? ¥?T?] Y]B ? ¥?T  1 R1 X W2 X  2 W1 X R2 X  3 W1 X W2 X  4 W2 X W1 X i??¥ V1?? i??¥ V1?? Ba I 1"¥i??T? ^? ?¥ Ba I 1"¥i??T? ^? ?¥ =a ?? £i??T¥? ^? ?¥ =a ?? £i??T¥? ^? ?¥ =a ?? £i??T¥? ^? ?¥ =a ?? £i??T¥? ^? ?¥ ? 1  £i??T¥? ??1  £i??T¥? ?? DBMS¥i? e¥i? e ??A?4B?¥ m ? £? ^ V1 ??A?4B?¥ m ? £? ^ V1 ??¥b ? V ? ? ? B Y3? Hì?  e YV ? ? ? B Y3? Hì?  e Y 3?¥?| {B? ^ V1??¥??9 3?¥?| {B? ^ V1??¥??9 ^Ke?¥?| {???ZE L=  ^? ^Ke?¥?| {???ZE L=  ^? V?¥y1 ? P¨?? ? s Z ? o' V?¥y1 ? P¨?? ? s Z ? o' ÷b 4.3.3  í  í Ba I 1 ^ í =a' í ?? =a' í ?? ?a' í¥M ? ? ?a' í¥M ? ? Ba I 1 ^ í Ba I 1 ^ í ?  íü ^ Y íü ^ Y T ? ? ` è ?Va ? ? ` è ?Va : c??T- -5_"d? h p  : c??T- -5_"d? h p  F í F í ? F ía YF ía Y Tü? ? `μ B?¥ eü? ? `μ B?¥ e ? Y ? Y T db ?¥ í- -  ?¥ Y? db ?¥ í- -  ?¥ Y? ?÷?N ? `b ?÷?N ? `b ?  í ^ LCi? e?¥B?dè×1¥/ ? í ^ LCi? e?¥B?dè×1¥/ ? =a' í ?? =a' í ?? ? DBMSYè4 ? ??¥ íbB? YYè4 ? ??¥ íbB? Y  ? ? `F ía?è?μ I 1"¥ e?  ? ? `F ía?è?μ I 1"¥ e? ^? í¥ ?? %?¥b ^? í¥ ?? %?¥b ? ' í ??' í ?? ? ? ? í ? ? í eXclusive lock e:1 X í ?  Z í Share lock e:1 S í ? ? í ? ? í ? ? ? í??1 í ? ? í??1 í ? ? Y ? Y T ? ` ? ` AF F  X í5o ? T |???  |??? A  ? ?? Y?? ?  ? ?? Y?? ?   AF ?? ??¥ í°? F ?? ??¥ í°? T db A   ¥ í ¥ í  Z í  Z í ?  Z í??1 í Z í??1 í ? ? Y ? Y T ? ` ? ` AF F  S í5  ? í5  ? Yo ? AF F S í7? ?F í7? ?F X í °? °? T db A ¥ ¥ S í í ?a í¥M ? ? ?a í¥M ? ? Y=YesM ?¥ h p N=No?M ?¥ h p T 1 T 2 X S - X N N Y S N Y Y - Y Y Y  í ì  í ì Ba I 1 ^ í ì Ba I 1 ^ í ì =aê4 í ì¥e5 =aê4 í ì¥e5 =aê4 í ì¥e5 =aê4 í ì¥e5 ?  í¥ ì  í¥ ì vl ? "d$ í¥` "d$ í¥`  ? i? i? lú ? "d 7g lv ? ê4 í ìê4 í ì I n í?i? ?y í I n í?i? ?y í "d 7gDi?é? ?? "d 7gDi?é? ?? ê4 í ì¥e5 ? ê4 í ì¥e5 ? ? 31) ??1"¥v íF¥¨? Y[31) ??1"¥v íF¥¨? Y[ ? o1 í?ê ? o1 í?ê ? 31) ?v íF¥¨? Y[1"1 í31) ?v íF¥¨? Y[1"1 í ?í ?í ? o) ?  íF¥¨? Y[íF1 í?o) ?  íF¥¨? Y[íF1 í? ê ê  íxp  íxp ? ¨¨ X í? í? S í ? `F í H31? í ? `F í H31? ?Bt?5 íxp Locking Protocol ? ? H # h? H # h X í í S í í ? ? í HWa? H db? í HWa? H db ? ?]¥ íxp?]¥ íxp ?]¥? ?]¥?  1i?? T¥? ??4B?¥ £ T¥? ??4B?¥ £ ?? £i??T¥? ^? ?¥ ? ?? £i??T¥? ^? ?¥ ? ?  £i??T?? ??¥ZE  £i??T?? ??¥ZE ?  íZE íZE  í  í  Two-Phase Locking e? e? 2PL xp ? HSZE HSZE ? á4ZE á4ZE  íxp  íxp ?  íxp¥ = ?  íxp¥ = ? 1.  ?? ? é?a?T- -  ?? ? é?a?T- - Y n51¤? ? ¥ í Y n51¤? ? ¥ í 2.  dbB? í-a Y?¤  dbB? í-a Y?¤ ??  e íb ??  e íb  íxp ?  íxp ? ? “   ” í¥cl í¥cl ? Ys1 ?¨ Ys1 ?¨ ? ?B¨ ^¤ í9?1 ?Z¨  ?B¨ ^¤ í9?1 ?Z¨  ? ?=¨ ^ db í9?1 l ê¨ b?=¨ ^ db í9?1 l ê¨ b  íxp ?  íxp ? è Y 1¥ í?  ¥ í?  Slock A ... Slock B ... Xlock C ... Unlock B ... Unlock A ... Unlock C Y 2¥ í?  ¥ í?  Slock A ... Unlock A ... Slock B ... Xlock C ... Unlock C ... Unlock B Y 1N o  íxp7 Y N o  íxp7 Y 2?N o  xpb ?N o  xpb  íxp ?  íxp ? ? i?3?¥ ?μ Y (N o  íxp5?i?3?¥ ?μ Y (N o  íxp5? t Y¥ ?μi??| {? ^ V1??¥b t Y¥ ?μi??| {? ^ V1??¥b ?μN o  íxp¥ Y i?3?¥2T ?μN o  íxp¥ Y i?3?¥2T B? ^? ?¥ B? ^? ?¥ ? YN o  íxp ^ V1???¥ YN o  íxp ^ V1???¥  sH sH q q 7? ^A1Hq 7? ^A1Hq ? V1??¥???B? ?μ Y?A??? V1??¥???B? ?μ Y?A???  íxpb  íxp ?  íxp ? T 1 Slock B  B=2 Y=B Xlock A A=Y+1 í A=3 Unlock B Unlock A T 2 Slock A ?? ?? ?? ?? ?? Slock A  A=3 Y=A Xlock B B=Y+1 í B=4 Unlock B Unlock A T 1 Slock B  B=2 Y=B Unlock B Xlock A A=Y+1 í A=3 Unlock A T 2 Slock A ?? ?? ?? ?? Slock A  A=3 X=A Unlock A Xlock B B=X+1 í B=4 Unlock B (a) N o  íxp (b) ?N o  íxp T 1 Slock B  B=2 Y=B Unlock B Xlock A A=Y+1 í A=3 Unlock A T 2 Slock A  A=2 X=A Unlock A Xlock B ?? Xlock B B=X+1 í B=3 Unlock B (c) ?N o  íxp  íxp ?  íxp ? ?  íxpD]? μ í¥BQ íE  íxpD]? μ í¥BQ íE ? BQ íE1 p ?? YA?BQ| ?μ1BQ íE1 p ?? YA?BQ| ?μ1 P¨¥ ? ??F í?5ü? ???3 P¨¥ ? ??F í?5ü? ???3 ?yNBQ íEN o  íxp ?yNBQ íEN o  íxp ? ? ^  íxpi?1 p YA?BQ| ?? ^  íxpi?1 p YA?BQ| ? μ1 P¨¥ ? ??F íyNN o  í μ1 P¨¥ ? ??F íyNN o  í xp¥ Y V ?? 3 μ í xp¥ Y V ?? 3 μ í  íxp ?  íxp ? N o  íxp¥ Y? 3 μ í N o  íxp¥ Y? 3 μ í T 1 Slock B  B=2 Xlock A ?? ?? T 2 Slock A  A=2 Xlock A ??  íxp ?  íxp ? ?  íxpD ?) íxp  íxpD ?) íxp ?  ??] "¥¥xp  ??] "¥¥xp ?  íxp  íxp ?  £i??¥? ?? £i??¥? ?? ? ?) íxp ?) íxp ? ?]?  £ ? Bá??]?  £ ? Bá? ? N o? ?) íxpA ?N o  xpN o? ?) íxpA ?N o  xp μ íù5 μ íù5 ?  í/ ? V[μr13 %i??T¥B í/ ? V[μr13 %i??T¥B á?ù5?9{ ?Bt?¥ù5 á?ù5?9{ ?Bt?¥ù5 ? μ í μ í ?  í í 3 % μ í¥ZE 3 % μ í¥ZE  ?ZE  ?ZE 1. ?] μ í 2. μ í¥?D3" μ í¥?D3" 4.4 ????? ?? ????? ?? ? 4.4.1?????? ? y ? (? (?