½m²ßÃDÃD®w

 

[ CH 01 ]

½m²ß1-1¡G

±i¤T³Q­n¨D­n¥h³]­p¤@­ÓÀx¦s­û¤u¸ê®Æªº¸ê®Æ®w¡A©ó¬O¥L·Q¨ì­û¤u°£¤F¦³¤@¯ëªº©m¦W¡A¥Í¤é¡AÁ~¤ô¥~¡AÁÙ¦³³\¦h¨ä¥L¸ê°T¡A¤ñ¦p¤p¾Ç©À­þ¸Ì¡A·h¹L´X¦¸®a¡A¤¤¾Ç²Ä¤@¦¸¤ë¦Ò¦Ò´X¤À¡A¤j¾Ç¦ì©ó­þ¸Ì¡A·í®Éªº®Õªø¬O½Ö¡H±i¤T»{¬°³o¨Ç¸ê®Æ³£¬ÛÃö¡A©Ò¥H³£À³¸Ó¦s¡A§Aı±o©O¡H

 

½m²ß1-2¡G

¦Ò¼{¹Ï1-3ÃöÁp¼Ò¦¡¤Uªº°Ó«~©M¥æ©ö¡A°²³]§Ú­ÌÁÙ·Q¥[¤W«È¤áªº¸ê®Æ¡]¥]¬A«È¤á©m¦W©M½s¸¹¡^¡A½Ðµe¥X¥[¤W«È¤á«áªº©Ò¦³ÃöÁp¡C

 

½m²ß1-3¡G

°²³]§Ú­Ì¦³¦p¤Uªº°Ó«~ºõ¥Ø¡G

l           pNo: 5­Ó¦r¤¸

l           pName: 19­Ó¦r¤¸

l           unitPrice: 1­Ó¾ã¼Æ

¤µ¤Ñ§Ú·Q·s¼W¥H¤U¤@µ§°Ó«~ªº¸ê®Æ¡A½Ð°Ý¬O§_¦Xªk¡H

pNo = ¡¥a00000001¡¦, pName = ¡¥®]¿P«ººë¿ï¶°¡¦, unitPrice = 20.50;

 

½m²ß1-4¡G

½Ð°Ý¤W¨Ò¤¤¡A¦pªG±N·§©Àºõ¥Ø¤¤ªº¡¦pName¡¦§R°£¡A·|¤£·|¼vÅT¨ì¥~³¡ºõ¥Ø¡H

¡ech1 °Ñ¦Ò¸Ñµª¡@¡f

[ CH 02 ]

½m²ß2-1¡G

½Ð±N¹Ï2-4¸ÌªºÂŦâÄÝ©Ê¡]¥]¬A¤¶²Ð¤H¡A°Ó«~¡A©MÁʪ«¨®¡^³£§ï¦¨Ãö«Y«¬ºA¡]¤À§O¬O·|­û(Member)»P·|­û(Member)¶¡ªºÃö«Y«¬ºA¡A ¥æ©ö(Transaction)©M²£«~(Product)¶¡ªºÃö«Y«¬ºA¡A¥æ©ö(Transaction)©MÁʪ«¨®(Cart)¶¡ªºÃö«Y«¬ºA¡C¡^

 

½m²ß2-2¡G

¦pªG§Ú­Ì±N·|­û»P¥æ©ö¶¡ªºÃö«Y«¬ºAªº°ò¼Æ¡]1©MN¡^¦ì¸m¹ï½Õ¦p¤U¹Ï¡A½Ð¸ÑÄÀ¨ä·N¸q¡C



½m²ß2-3¡G

½Ð±N¹Ï2-6©M¹Ï2-8ªºÃö«Y«¬ºA¥[¤W°Ñ»P«×¡C

 

½m²ß2-4¡G

¦Ò¼{¹Ï2-13ªºERD¡A¦pªG±NÃö«Y«¬ºA¡¨Introduce¡¨¤Wªº¨â­Ó¨¤¦â¦WºÙ¡]_introducer©M_introducee¡^¤¬´«¡A½Ð°Ý¨ä¥Nªíªº·N¸q¬°¦ó¡H

¡ech2 °Ñ¦Ò¸Ñµª¡@¡f

[ CH 03 ]

½m²ß3-1¡G

½Ð¨M©w¥H¤U±¡ªp¸Ó¥Î¤@­Ó¤T¤¸Ãö«Y«¬ºA©Î¼Æ­Ó¤G¤¸Ãö«Y«¬ºA¨Óªí¹F¡C

1.   ¨º¦ì¦Ñ®v¤W­þªù½Ò¦³­þ¨Ç¾Ç¥Í¡C

2.   ¨º­Ó¨ÑÀ³°Ó¨ÑÀ³¨º­Ó°Ó«~µ¹¨º­Ó¹s°â°Ó¡C

 

½m²ß3-2¡G

¦Ò¼{¹Ï 3-5 ªº¤T¤¸Ãö«Y«¬ºA¡A°²³]¾÷¾¹¡] Machine ¡^¦³¤T­Ó¹êÅé¡G M1, M2, M3 ¡A¹s¥ó¡] Part ¡^¦³¤G­Ó¹êÅé¡G P1, P2 ¡A¨ÑÀ³°Ó¡] Supplier ¡^¤]¦³¤G­Ó¹êÅé¡G S1 ©M S2 ¡C½Ð°w¹ï¥H¤U¨C¤@¸s¨ÑÀ³Ãö«Y¡A´y­z¨ä¬O§_¦Xªk¡A­Y§_¡A½ÐÁ|¥X²z¥Ñ¡C

A.

Machine

Part

Supplier

M1

P1

S1

M1

P2

S1

M2

P1

S1

M2

P2

S1

B.

Machine

Part

Supplier

M1

P1

S1

M1

P2

S1

M1

P1

S1

M2

P2

S1

M3

P1

S2

C.

Machine

Part

Supplier

M1

P1

S1

M1

P2

S1

M1

P1

null

M2

P2

S1

M3

P1

S2

D.

Machine

Part

Supplier

M1

P1

S1

M1

P2

S1

M2

P1

S1

M2

P2

S1

M3

P1

S1

E.

Machine

Part

Supplier

M1

P1

S1

M1

P2

S1

M1

P1

S2

M2

P2

S1

M3

P1

S2

¡@

 

½m²ß3-3¡G

½Ð§¹¾ãªº¸ÑÄÀ¹Ï3-7(c) ¤¤¡§¥æ©ö»P°Ó«~¡¨ªºµ²ºc¤W­­¨î¡C

 

½m²ß3-4¡G

½Ð§¹¾ãªº¸ÑÄÀ¹Ï3-8(c) ¤¤¡§¥æ©ö»P°Ó«~¡¨ªºµ²ºc¤W­­¨î¡C

¡@

¡ech3 °Ñ¦Ò¸Ñµª¡@¡f

[ Ch 04 ]

½m²ß4-1¡G

®Ú¾Ú©w¸q¡A¡§¤@­ÓÃöÁp¬O¥Ñ¼Æ­Ón-§Ç¦C­È¡]n-tuple¡^©Ò¦¨ªº¶°¦X¡¨¡A½Ð¥Ñ¦¹©w¸q±À¾É

1.          ¤@­ÓÃöÁp¸Ìªº§Ç¦C­È¬O¨S¦³¶¶§Çªº¡C

2.          ¤@­ÓÃöÁp¸Ì¤£¥i¥H¦³¨âµ§§Ç¦C­È¬O§¹¥þ¤@¼Ëªº¡C

 

½m²ß4-2¡G

°Ñ¦Ò¹Ï4-3ªº¸ê®Æ®wºõ¥Ø¡A½Ð«ü¥X©Ò¦³ªº¥~³¡Áä©M¨ä©Ò°Ñ¦Ò¨ìªº¥DÁä¡C

 

½m²ß4-3¡G

°Ñ¦Ò¹Ï4-4ªº¸ê®Æ®w¡A½Ð°Ý·s¼W¥H¤U°O¿ý¨ì·|­û¡]Member¡^ÃöÁp«á¡A·|¤£·|³y¦¨(i)ÃöÁpÁä­­¨î (ii)¹êÅ駹¾ã­­¨î (iii)°Ñ¦Ò§¹¾ã­­¨î³Q¹H¤Ï¡H

1.            ¡]null, ¡¥C220234543¡¦, ¡¥Dave¡¦, 1970-01-02, ¡¦07-5252000¡¦, ¡¥°ª¶¯¥«½¬®ü¸ô70¸¹¡¦, ¡¥nobody@nsysu.edu.tw¡¦, ¡¥b0905555¡¦¡^

2.            ¡]¡¦c0927777¡¦, ¡¥C220234543¡¦, ¡¥Dave¡¦, 1970-01-02, ¡¦07-5252000¡¦, ¡¥°ª¶¯¥«½¬®ü¸ô70¸¹¡¦, ¡¥nobody@nsysu.edu.tw¡¦, ¡¥b0905555¡¦¡^

3.            ¡]¡¦c0927788¡¦, ¡¥C220234543¡¦, ¡¥Dave¡¦, 1970-01-02, ¡¦07-5252000¡¦, ¡¥°ª¶¯¥«½¬®ü¸ô70¸¹¡¦, ¡¥nobody@nsysu.edu.tw¡¦, ¡¥b0905588¡¦¡^

4.            ¡]¡¦c0927789¡¦, ¡¥C220234543¡¦, ¡¥Dave¡¦, 1970-01-02, ¡¦07-5252000¡¦, ¡¥°ª¶¯¥«½¬®ü¸ô70¸¹¡¦, ¡¥nobody@nsysu.edu.tw¡¦, null¡^

5.            ¡]¡¦c0927790¡¦, ¡¥C220234543¡¦, ¡¥Dave¡¦, 1970-01-02, ¡¦07-5252000¡¦, ¡¥°ª¶¯¥«½¬®ü¸ô70¸¹¡¦, ¡¥nobody@nsysu.edu.tw¡¦, ¡¥b0905555¡¦¡^

 

½m²ß4-4¡G

°Ñ¦Ò¹Ï4-4¡A½Ð°Ý­Y§R°£·|­û½s¸¹¬°¡¦b905555¡¦©M¡¦c0927777¡¦ªº·|­û§Ç¦C­È¡A¬O§_·|¹H¤Ï°Ñ¦Ò§¹¾ã­­¨î¡H

 

½m²ß4-5¡G

¤ñ¸û¹Ï4-7©M¹Ï4-8¡A¨Ã°Ñ¦Ò¹ï·Ó²ßÃD2-2¡A½Ð°Q½×¦ó®É¸Ó¥Î®z¹êÅ髬ºA¡A¦ó®É¸Ó¥Î¦h­È½Æ¦XÄÝ©Ê¡C

 

¡ech4 °Ñ¦Ò¸Ñµª¡@¡f

[ Ch 05 ]

½m²ß5-1¡G

°Ñ¦Ò¹Ï4-4ªº¸ê®Æ®w¡A½Ð¦C¥X¥H¤U¹Bºâ¦¡ªº°õ¦æµ²ªG¡G

Result = s catalog=¡¦CD¡¦ (sunitPrice > 300 (Product))

 

½m²ß5-2¡G

°Ñ¦Ò¹Ï4-4ªº¸ê®Æ®w¡A½Ð¦C¥X¥H¤U¹Bºâ¦¡ªº°õ¦æµ²ªG¡G

Result =£kpName, unitPrice (s catalog=¡¦CD¡¦ (sunitPrice > 300 (Product)))

 

½m²ß5-3¡G

°Ñ¦Ò¹Ï4-4ªº¸ê®Æ®w¡A½Ð¦C¥X¥H¤U¹Bºâ¦¡ªº°õ¦æµ²ªG¡G

Result = sProduct.pNo=Author.pNo (Product ´ Author)

 

½m²ß5-4¡G

°Ñ¦Ò¹Ï4-4ªº¸ê®Æ®w¡A½Ð¦C¥X¥H¤U¹Bºâ¦¡ªº°õ¦æµ²ªG¡G

TransRecord = Transaction Transaction.tNo=Record.tNo Record
Result=£ktNo,transMid, pName(TransRecordTransRecord.pNo=Product.pNo Product)

½m²ß5-5¡G

°Ñ¦Ò¹Ï4-4ªº½u¤WÁʪ«¨t²Î¸ê®Æ®w¡A½Ð¦C¥X¥H¤U¹Bºâ¦¡ªº°õ¦æµ²ªG¡G

Tmp = Product Product.pNo=Author.pNo Author

Result(pName,aName)=£kpName, name Tmp

 

½m²ß5-6¡G

°Ñ¦Ò¹Ï4-4ªº¸ê®Æ®w¡A½Ð¦C¥X¥H¤U¹Bºâ¦¡ªº°õ¦æµ²ªG¡G

Result(tNo,totalProductNum) = tNo F  COUNT pNo¡]Record¡^

 

¡ech5 °Ñ¦Ò¸Ñµª¡@¡f

[ Ch 06 ]

½m²ß6-1¡G

°Ñ¦Ò¹Ï6-1ªº¸ê®Æ®wºõ¥Ø¡A½Ð°Ý¦b¸ê®ÆªíMember¸Ì¡A

1.            ¦³­þ¨ÇÄæ¦ì¥i¥H¬°ªÅ­È¡H

2.            ¥DÁä©M¦¸­nÁä¦U¬°¦ó¡H

3.            ¦Ò¼{²Ä¥|³¹¹Ï4-4ªº¸ê®Æ®w¡A¦pªG¦W¬°¡¦Jennifer¡¦ªº·|­û°O¿ý³Q§R°£¡A½Ð°Ý­þ¨Ç·|­ûªºintroducerÄæ¦ì­È·|¨ü¨ì¼vÅT¡H«ç¼Ëªº¼vÅT¡H

 

½m²ß6-2¡G

°Ñ¦Ò¹Ï6-1¸ê®Æ®wºõ¥ØªºTransactionºõ¥Ø¡A°²³]·í¤@·|­û°O¿ý³Q§R°£®É¡A§Ú­Ì§Æ±æ¨ä¥æ©ö°O¿ý¤]¤@¨Ö§R°£¡A¦Ó·í·|­û½s¸¹§ïÅܮɡAtransMIdÄæ¦ì¤]¸òµÛ­×§ï¡C½Ð°ÝTransactionºõ¥Ø©w¸q¸Ó°µ«ç¼Ëªº­×§ï¡H

 

½m²ß6-3¡G

¦Ò¼{¹Ï6-1ªº¸ê®Æ®wºõ¥Ø¡A½Ð°Ý¥H¤USQL«ü¥Oªº°õ¦æµ²ªG·|¹ï¸ê®Æ®wºõ¥Ø³y¦¨¦óºØ¼vÅT¡H

1.          DROP TABLE Transaction CASCADE;

2.          DROP TABLE Cart RESTRICT;

½m²ß6-4¡G

½Ð°Ý¥H¤WNewMIdFkªº°Ñ¦Ò§¹¾ã­­¨î©Ò¥Nªíªº·N¸q¬°¦ó¡H

 

½m²ß6-5¡G

¦Ò¼{¹Ï6-1ªº¸ê®Æ®wºõ¥Ø¡A½Ð±N¸ê®ÆªíOrderªº°Ñ¦Ò§¹¾ã­­¨î¥[¤W¦WºÙ¡C

 

½m²ß6-6¡G

½Ð§ä¥X¡§³¯¤ô«ó¡¨¼g¹Lªº©Ò¦³®Ñ¤§²£«~½s¸¹©M®Ñ¦W¡C

 

½m²ß6-7¡G

½Ð§ä¥X·|­û½s¸¹¬°¡¦b0905555¡¦ªº·|­û¤§¤¶²ÐªÌ¡A¨Ã¦C¥X¸Ó·|­û¤§©m¦W©M¨ä¤¶²ÐªÌªº·|­û½s¸¹©M©m¦W¡C

 

½m²ß6-8¡G

½Ð§ä¥X©Ò¦³¦b¥x¥_¥«¥X¥Íªº·|­û¤§©Ò¦³Äæ¦ì­È¡C¡]´£¥Ü¡G¨­¤ÀÃÒ¦r¸¹²Ä¤@­Ó¦r¤¸¬°¡¦A¡¦¡^

 

½m²ß6-9¡G

½Ð·s¼W¤@¥»·s®Ñ¡A®Ñ¦W¬°¡¨Á`²Î¤j¿ï¤ÀªR¡¨, ³æ»ù¬°200¡A§@ªÌ¬°¡¨±i¤j¯¥¡¨¡C

¡ech6 °Ñ¦Ò¸Ñµª¡@¡f

[ Ch 07 ]

½m²ß7-1¡G

½Ð§ä¥X©Ò¦³¬J¥XCD¤]¥X®Ñªº³Ð§@ªÌ¡C

 

½m²ß7-2¡G

¥Î±_ª¬¬d¸ß§ä¥X©Ò¦³ÂsÄý¦ý¨S¦³ÁʶR¹L¡¨¨t²Î¤ÀªR²z½×»P¹ê°È¡¨ ªº·|­û¤§·|­û½s¸¹©M·|­û©m¦W¡C

 

½m²ß7-3¡G

1.          ½Ð±N²Ä¥|³¹ªºQ4¥Î±_ª¬¬d¸ßªí¹F¡C

2.          ½Ð±NQ7¥Î¤@¯ë¬d¸ß¥yªí¹F¡C

 

½m²ß7-4¡G

¦C¥X©Ò¦³°Ó«~ªº°Ó«~½s¸¹¡B°Ó«~¦WºÙ¡A¥H¤Î³Ð§@ªÌ¡]¦pªG¦³ªº¸Ü¡^¡C

 

½m²ß7-5¡G

¹ï©ó¨C¤@¥x°Ó«~ºØÃþ¼Æ¶W¹L3ªºÁʪ«¨®¡A¦C¥X¨äÁʪ«®É¶¡¡B·|­û½s¸¹¡B·|­û©m¦W¡C

 

½m²ß7-6¡G

±N©~¦í¦b¥x¥_¥«ªº·|­û¤§¥æ©ö°Ó«~°â»ù¥´¤E§é¡C

 

½m²ß7-7¡G

1.          ½Ð²£¥Í¤@­ÓVIEW¦C¥X¨C¤@°Ó«~Ãþ¦WºÙ©M¨äÁ`°Ó«~¼Ë¼Æ¡C

2.          ¸ÓVIEW¥i¥H­×§ï¶Ü¡H

3.          ½Ð§R°£¸ÓVIEW¡C

¡ech7 °Ñ¦Ò¸Ñµª¡@¡f

[ Ch 08 ]

½m²ß8-1¡G

¦Ò¼{¹Ï8-2(b)ªºOrderProduct½d¨ÒÃöÁp¡A½Ð°Ý§R°£­þ¤@µ§°O¿ý«á·|³y¦¨§R°£²§±`¡H

 

½m²ß8-2¡G

¥Ñ¹Ï8-7(b)ªº¨ç¼Æ¬Û¨Ì¡A­pºâ{mId, pNo}+¡C

 

½m²ß8-3¡G

¦Ò¼{¹Ï8-8(a)ªºTransaction_Product¡A½Ð¥Î²Ä¤GºØ¤è¦¡±N¤§¤À¸Ñ¥Hº¡¨¬1NF¡C

 

½m²ß8-4¡G

¦Ò¼{¹Ï8-8(b)ªºTransaction_ProductÃöÁpºõ¥Ø¡A½Ð°Ý¨ä¬O§_º¡¨¬2NF?

 

½m²ß8-5¡G

¦Ò¼{¹Ï8-6ªº¨ç¼Æ¬Û¨Ì¡A¦³¤H»¡Member¤£º¡¨¬3NF¡A¦]¬°{mId}®{name}¬O»¼²¾¬Û¨Ì¡A¥i¥H¥Ñ{mId}®{pId}©M{pId}®{name}±À¾É¦Ó±o¡C§A»{¬°©O¡H

 

½m²ß8-6¡G

¦³¤H¥i¯à»{¬°8-12(b)ªºÃöÁpºõ¥Ø¨S¦³¤ñ¸û¬ÙªÅ¶¡¡A½Ð­×§ï¹Ï8-12½d¨ÒÃöÁp¸Ìªº¬ö¿ý¡A¨Ï±oªÅ¶¡ªº¸`¬Ù·|¸û¦h¡C

 

¡ech8 °Ñ¦Ò¸Ñµª¡@¡f

[ Ch09 ]

½m²ß9-1¡G

½Ð°Ý¹Ï9-1¤¤¡A(1)¡A(2)¡A©M¡]3¡^¨º­Ó°Ê§@³Ì§Ö¡H

 

½m²ß9-2¡G

°Ñ¦Ò¹Ï9-3ªº¸ê®Æªíµ²ºc¡A°²³]¸ê®Æ¦r¨å¤w³Q¸ü¤J¥D°O¾ÐÅé¡A¦ýProductªº¸ê®Æ­¶ÁÙ¨S³Q¸ü¤J¡C­Y·Q¨ú±o¡¦v01888¡¦ªº°Ó«~¸ê®Æ¡A½Ð´y­z¨ä³B²z°Ê§@¡C¦¹®É¦@»Ý¸ü¤J´X­Ó¸ê®Æ­¶¡H

 

½m²ß9-3¡G

¦³¨Ç¬ã¨s¤w¸gÃÒ©úB+-treeªº¨C¤@¸`ÂI¥­§¡§Q¥Î²v¬°69%¡A½Ð¾Ú¦¹­pºâ¦b¥H¤W½d¨Ò¸Ì¡A¤@­Ó¤T¼hªºB+-tree¥­§¡¥i®e¯Ç´X­Ó°O¿ý«ü¼Ð¡C

 

½m²ß9-4¡G

¦Ò¼{¥H¤USQL¬d¸ß¡G

SELECT *

FROM Product

WHERE unitPrice = 700;

½Ð°Ý¡A­Y¨t²Î¤w¦³¤@­Ó¯Á¤Þµ²ºc¦p¹Ï9-6¡A­n°õ¦æ¥H¤W¬d¸ß¥y¦@»Ý³y³X´X­ÓµwºÐ­¶¡]¥]¬A¯Á¤Þ­¶©M¸ê®Æ­¶¡^¡H

 

½m²ß9-5¡G

¥H¤WSQL«ü¥OÁ`¦@­n³y³X´X­ÓµwºÐ­¶¡H

 

½m²ß9-6¡G

¦b¹Ï9-7ªº¯Á¤Þ¸Ì¡A¦pªG­n·j´M©Ò¦³250¤¸ªº®Ñ¡A½Ð°Ý·|³y³X­þ¨Ç¸`ÂI¡H

 

½m²ß9-7¡G

½Ð°Ý¦p¦ó§Q¥Î¹Ï9-12ªºSuffix tree¨Ó³B²z¥H¤U¬d¸ß¥y¡G

SELECT *

FROM Member

WHERE address LIKE ¡¥¥x¥_¥«%¤¤µØ%¡¦;

¡ech9 °Ñ¦Ò¸Ñµª¡@¡f

[ Ch10 ]

½m²ß10-1¡G

¦Ò¼{¹Ï10-2¡A¦pªG²Ä4¦æªºSQL«ü¥O¦b°õ¦æ®Éµo²{¿ù»~¡A·|¦³¤°»ò«áªG¡H

 

½m²ß10-2¡G

½Ð¶i¦æ¥H¤U¬d¸ßªº³Ì¨Î¤Æ

§ä¥X¡u¶À¤T¯q¡vªº¨­¤ÀÃÒ¦r¸¹¡B©m¦W¥H¤ÎÂsÄý¹L©w»ù¶W¹L500¤¸ªº°Ó«~¤§°Ó«~¦WºÙ»P©w»ù¡C

 

SELECT pId, name, pName, unitPrice

FROM  Product, Browse, Member

WHERE Product.unitPrice > 500 AND Product.pNo = Browse.pNo AND

Browse.mId = Member.mId AND name = ¡¥¶À¤T¯q¡¦;

 

½m²ß10-3¡G

¦Ò¼{¹Ï9-6ªº¯Á¤Þµ²ºc¡A­n¦C¥X©Ò¦³unitPrice>500ªºProduct°O¿ý¡A½Ð°Ý»Ý³y³X­þ¨Ç¯Á¤Þ­¶¡H·|³y³X­þ¨Ç¸ê®Æ­¶¡H

 

½m²ß10-4¡G

¦Ò¼{¹Ï10-7ªº¯Á¤Þµ²ºc¡A­n¦C¥X©Ò¦³unitPrice>500ªºProduct°O¿ý¡A½Ð°Ý»Ý³y³X­þ¨Ç¯Á¤Þ­¶¡H·|³y³X­þ¨Ç¸ê®Æ­¶¡H

 

½m²ß10-5¡G

¦Ò¼{¹Ï9-7¡]catalog, unitPrice¡^ªºB+-tree¡A­n§ä¥X©Ò¦³º¡¨¬catalog =¡¥Book¡¦ AND unitPrice>500ªºProduct°O¿ý¤§«ü¼Ð¡A½Ð°Ý»Ý³y³X­þ¨Ç¯Á¤Þ­¶¡H

 

½m²ß10-6¡G

¦b½d¨Ò¥|ªº(SSI)¤¤¡A§Q¥Îcatalog¯Á¤Þ¤ñ§Q¥ÎunitPrice¯Á¤Þªº¦¨¥»§C³\¦h¡A§A¥i¥H¦]¦¹±o¨ì¤°»òµ²½×¶Ü¡H

 

¡ech10 °Ñ¦Ò¸Ñµª¡@¡f

[ Ch11 ]

½m²ß11-1¡G

¦b½d¨Ò£¸ªº¡]JNL¡^¥i¥H¬Ý¥X¡A¸ê®Æ¶q¤jªºÃöÁpÀ³¸Ó·í¥~³¡°j°é©Î¤º³¡°j°é¡H

 

½m²ß11-2¡G

¦Ò¼{¹Ï9-7ªº¯Á¤Þµ²ºc¡A­Y­n§Q¥Î¸Ó¯Á¤Þµ²ºc¨Ó³B²zQ4¡A½Ð°Ý­n³y³X­þ¨ÇµwºÐ­¶¡H

 

½m²ß11-3¡G

¦b½d¨Ò¤G¤¤¡A·íKªº­È¬°¦ó®É¡A¡]PLS¡^ªº¦¨¥»·|¶W¹L¡]PLH¡^¡H

 

½m²ß11-4¡G

°Ñ¦Ò¹Ï11-3¡A­Y§Ú­Ì­n¥Î±Æ§Çªk°µR.AS.B¡A½Ð¦C¥X¸ê®Æ­¶¸ü¤J¥D°O¾ÐÅ骺¦¸§Ç¡C

 

½m²ß11-5¡G

°Ñ¦Ò¹Ï11-3¡A­Y§Ú­Ì­n¥Î±Æ§Çªk°µS.B¢wR.A¡A½Ð¦C¥X¸ê®Æ­¶¸ü¤J¥D°O¾ÐÅ骺¦¸§Ç¡C

 

½m²ß11-6¡G

¨Ï¥Î(IH)³B²z¤è¦¡¡A°²³]¬O§âProduct2ªº°O¿ý©ñ¨ìÂø´ê±í¡A«h¦¨¥»¬°¦ó¡H

 

½m²ß11-7¡G

°Ñ¦Ò¹Ï9-6ªº¯Á¤Þµ²ºc¡A¤À§O¥Î(AL)©M(AI)ªº¤è¦¡³B²zSUM(unitPrice)¡A½Ð°Ý¨ä¤À§O³y³X¤F­þ¨ÇµwºÐ­¶¡H

 

½m²ß11-8¡G

°Ñ¦Ò¹Ï9-6ªº¯Á¤Þµ²ºc¡A­Y¥Î(AI)³B²zMAX(unitPrice)¡A½Ð°Ý»Ý³y³X­þ¨ÇµwºÐ­¶¡H

 

½m²ß11-9¡G

¦b½d¨Ò¥|¤¤¡A­Y·Q¸`¬Ù(AGS)³B²z¦¨¥»¡A«h¸s»E¯Á¤Þ¸Ó«Ø¸m¦bcatalog©ÎunitPrice¤W¡H

 

¡ech11 °Ñ¦Ò¸Ñµª¡@¡f

[ Ch12]

½m²ß12-1¡G

½Ð°Ý¥H¤U¥æ©öªº¥æ¿ù°õ¦æ·|³y¦¨¦óºØ°ÝÃD¡G

 

T1

T2

1

begin(T1)

 

2

 

begin(T2)

3

 

read(X, b ); b = b +10

4

read(X, a ); a = a +10

 

5

read(Y, c )

 

6

 

write( b , X)

7

 

write( b , Y)

8

write( a , X)

 

9

read(Y, c )

 

10

commit(T1)

 

11

 

commit(T2) ©Î abort(T2)

 

½m²ß12-2¡G

¦Ò¼{¤@­Ó½s¸¹¬°t0001ªº¥æ©ö¡A¥¦¦³¥H¤Uªº¨t²Î°lÂÜ°O¿ý¡G

[start, t0001]
[read, t0001, p3]
[write, t0001, p3, 135, ¡¥ ¸ê®Æ®w²z½×»P¹ê°È ', ¡¥ ¸ê®Æ®w¹ê°È»P²z½× ']
[read, t0001, p15]
[write, t0001, p15, 310, ¡¥5566 ±M¿è ', ¡¥7788 ±M¿è ']
[read, t0001, p9]
[write, t0001, p9, 200, ¡¥ ­^¶¯ ', ¡¥ ª¯ºµ ']
[commit, t0001]

½Ð°Ý­Y­n±N³o­Ó¥æ©ö©Ò­×§ïªº¸ê®Æ¼g¦^µwºÐ¡A»Ý¼g¤J´X­ÓµwºÐ­¶¡H¥Ñ¦¹±À½×¬°¦ó¦bCOMMIT®É¡ADBMSªº§@ªk¬O±N¸Ó¥æ©öªº¨t²Î°lÂÜ°O¿ý¼g¤JµwºÐ¡A¦Ó¤£¬O±N¸Ó¥æ©ö©Ò­×§ï¹Lªº¸ê®Æ­¶¼g¦^µwºÐ¡C

½m²ß12-3¡G

½Ð¦C¥X¥i´_­ìªº±Æµ{¡AµL³sÂê»é¦^ªº±Æµ{¡A©MÄY®æªº±Æµ{¤§¶¡ªº±qÄÝÃö«Y¡C

 

½m²ß12-4¡G

¦Ò¼{n­Ó¥æ©öªº°õ¦æ¡A½Ð°Ý¦³´XºØ¶¶§Ç°õ¦æªº¤è¦¡¡H

 

½m²ß12-5¡G

½Ð°Ý¥H¤U¥æ©ö±Æµ{¬O§_¬°¥i¶¶§Çªº±Æµ{¡H

 

T1

T2

T3

1

begin(T1)

 

 

2

read(X, a )

 

 

3

write( a , X)

 

 

4

 

begin(T2)

 

5

 

 

begin(T3)

6

 

read(X, b )

 

7

 

 

read(Z, d )

8

write( c , Z)

 

 

9

 

write( b , Y)

 

10

 

commit(T2)

 

11

 

 

read(Y, e );

12

 

 

write( e , Z)

13

 

 

commit(T3)

14

commit(T1)

 

 

 

½m²ß12-6¡G

½Ð°ÝÂê©w¤p³æ¦ìªº¸ê®Æ¶µ©M¤j³æ¦ìªº¸ê®Æ¶µ¡A¦U¦³­þ¨ÇÀu¯ÊÂI¡H

 

¡ech12 °Ñ¦Ò¸Ñµª¡@¡f

[ Ch13]

½m²ß13-1¡G

¥H¹Ï13-1¬°¨Ò¡A¤À§O¦C¥XStudent©MTeacherªº©Ò¦³ÄÝ©Ê¡C

 

½m²ß13-2¡G

°²³]¸Óºô¸ô®Ñ©±Á٭ݽæ¤å¨ã(SchoolSupply)¡A¥BÁÙ¥i¯à½æ¤@¨ÇµLªkÂkÃþªº°Ó«~¡A½Ð­«µe²Ä¤@­Ó¯S®í¤Æ¤ÀÃþ(¨Ì°Ó«~ºØÃþ¨Ó¤À)¡C

 

½m²ß13-3¡G

¦b¹Ï13-3¸Ì¡A³Ð§@ªÌªº¯S®í¤Æ¤ÀÃþªº­«½Æ­­¨î¬O¥Î(o)¡A½Ð°Ý¨ä²[·N¬°¦ó¡H

 

½m²ß13-4¡G

½Ð¸ÑÄÀ¹Ï13-4¤¤¡A¦U¯S®í¤Æ¤ÀÃþ(«È¤á¡A¦s´Ú¤á¡A¶U´Ú¤á¡A¤£°Ê²£¶U´Ú¤á)¤¤­«½Æ­­¨îªº·N¸q¡C


½m²ß13-5¡G

¹Ï13-5¤¤¡A¶Q»«±M¤á¦@¦³­þ¨ÇÄÝ©Ê¡H

 

½m²ß13-6¡G

¹Ï13-10¤¤¡A­Y±N¡¥²z°]¤á¡¦§ï¦¨¦h­«Ä~©Ó¡A¥Ñ»È¦æªÑªF©M¶Q»«±M¤á©Ò²Õ¦¨¡A½Ð°Ý¨ä¥Nªíªº·N¸q¬°¦ó¡H

 

½m²ß13-7¡G

¦Ò¼{¤½¥q©M­û¤uªºÃö«Y¡A¨ä¤¤£¸­Ó¤½¥q¥i¥H¦³1¨ì¦h­Ó­û¤u¡A¦ý¨C¤@¦ì­û¤u¥u¯àÄÝ©ó¤@®a¤½¥q¡C

1. ¥ÎUMLÃþ§O¹ÏªºÃö³s¨Óªí¥Ü¡C

2. ¥Î²Ä¤G³¹M¡GNªºÃö«Y«¬ºA¨Óªí¥Ü¡C

3. ¥Î²Ä¤T³¹(min,max)ªºÃö«Y«¬ºA¨Óªí¥Ü¡C

 

 

¡ech13 °Ñ¦Ò¸Ñµª¡@¡f

[ Ch14]

½m²ß14-1¡G

½Ð¸ÑÄÀ¥H¤UXML¤ù¬qªº·N¸q¡C

<library_books>
<book>
<call_number> 423.21 8744 </call_number>
<title> ¦p¦ó·í­ÓºÙ¾ªºÂ¾³õ·sÂA¤H </title>
<author> ±i¤jÀY </author>
<author> §õ¤j¬¶ </author>
<publish company = ¡§ ·Q¹³¥Xª©ªÀ ¡¨, year = ¡§ ¥Á 93 ¦~ ¡¨, place = ¡§ ¥x¥_ ¡¨ />
<price>400</price>
</book>
</library_books>

 

½m²ß14-2¡G

½Ð¼g¥X½m²ß14-1ªºDTD¡C

 

½m²ß14-3¡G

¥H¤U XML ¤å¥ó¤£¬O¤@­Ó¦³®Äªº¤å¥ó¡A¬°¤°»ò¡H

<?xml version = "1.0"?> <!¡XA DTD example -->
<!DOCTYPE library [
<!ELEMENT library (branch+, book+)>
<!ELEMENT branch (name, address)>
<!ATTLIST branch branchID ID #REQUIRED>
<!ELEMENT book (#PCDATA)>
<!ATTLIST book inBranch IDREF>
<!ELEMENT name (#PCDATA)>
<!ELEMENT address ( #PCDATA )>
]>
<library>
¡@<branch branchID = "b1">
¡@¡@<name> ²z¤u¹Ï®ÑÀ] </name>
¡@¡@<address> ²z¤u¤j¹D¤@¸¹ </address>
¡@</branch>
¡@<branch branchID = "b2">
¡@¡@<name> ¤åªk°Ó¹Ï®ÑÀ] </name>
¡@¡@ <address> ¤åºÞ¤j¹D¤@¸¹ </address>
¡@ </branch>
¡@ <branch>
¡@¡@ <name> Á`¹Ï®ÑÀ] </name>
¡@ </branch>
¡@ <book inBranch = "b2">
¡@ ¡@¦p¦ó·í­ÓºÙ¾ªºÂ¾³õ·sÂA¤H
¡@ </book>
¡@ <book inBranch = "b3">
¡@ ¡@¦p¦óºÞ²z¸ê®Æ®w
¡@ </book>
¡@ <book inBranch= "b1">
¡@¡@ JAVA ¤Q¤Ñ³t¦¨¤â¥U
¡@ </book>
</library>

½m²ß14-4¡G

½Ð¼g¥X½m²ß14-1ªº¬Û¹ïÀ³XML SchemaÀÉ¡C

 

¡ech14 °Ñ¦Ò¸Ñµª¡f