³o³¹·|»¡©ú¬ì¾Ç¦b¤£¦P¨Æª«¡A¦p³n¥ó¡B¦t©z¡Bì¤l¡B¯à¶q¬Æ¦Ü§A¦Û¤vªº³Ð³y¹Lµ{¤¤§êºt¦p¦ó«nªº¨¤¦â¡C¤]·|»¡©ú¬°¦ó¬ì¾Çª¾ÃѦb¨Ï¥Î¬ì¾Çªº²£«~«e«D±`«n¡Cª«¥ó¥]¬A©Ò¦³ªF¦è¡X¦p PostgreSQL¡B®É¶¡¡B½è¶q¡B¯à¶q¡B¦æ¬P¡B¤j¶§¡B¤ë«G¡BùÚ¬P¡B»Èªe¡B¬P¹Î¡B¤HÃþµ¥µ¥³£¬O¬ì¾Ç¥Í¦¨ªº¡C³o³¹¤]·|»¡©ú¬ì¾Ç©M²Îp¾Ç©w«ß¦p¦ó¤ä«ù¶}©ñì©l½X¡A¦p PostgreSQL ©M Linux¡C¤¬Ápºôªº³t«×¨C¤é³£¦b¼Wªø¡A¤]¶V¨Ó¶V¥i¾a¡A¶}©ñ¦¡µ{¦¡½Xªº°Ê¶q (momentum) ·|¨³³t¼W¥[¡C¥t¥~¡A¦pªG²Îp¾Ç¤Î¬ì¾Ç©w«ß¥¿½Tªº¸Ü¡A«Ê³¬¦¡µ{¦¡¿ð¦·|¦b¥@¤W®ø¥¢¡C
¥H¤U¼Æ¬q·|»¡©ú¡J¡u¬ì¾Ç¬O¦p¦ó¼sªx¡B¥¦¹ï¤Hªº«n©Ê¤Î¥¦¦p¦ó½ÄÀ» PostgreSQL¡BLinux ¤§Ãþªº³n¥óp¹º¡C¡v
µo®i PostgreSQL ³oÃþp¹º»Ýn¯à¶q©M®É¶¡µ¥¸ê·½¡A¦]¦¹¡APostgreSQL ¬O¯à¶q©M®É¶¡ªº²£«~¡C¯à¶q©M®É¶¡¥u¯à¦b¬ì¾Ç¤W¸ÑÄÀ¡A©Ò¥Hª«²z¾Ç©M PostgreSQL¡BLinux ¤§Ãþ³n¥ó±M®×¬O¦³ª½±µÃöÁpªº¡C
¬ì¾Ç¡]ª«²z¡^©w«ßÀ³¥Î©ó¥ô¦ó¦a¤è¡B¥ô¦ó®É¶¡¡B¥ô¦ó¤u§@¡A¬Æ¦Ü¶}µo³n¥ó±M®×®É¡Cª«²z¾Ç§Y¨Ï¦b§A»¡¸Ü¡]Ánªi¡^¡B¨B¦æ¡]¦a±©M¸}¤§¶¡ªº¼¯À¿¤O¡^¡B¬Ý®Ñ©M½s¼g³n¥ó®É³£µo¥Í§@¥Î¡C¬ì¾Çªº¤£¦P¤À¤ä¡A¦pª«²z¾Ç¡B¤Æ¾Çµ¥³Ì²×³£°ò¦³£¬O¼Æ¾Ç¡]³QºÙ¬°¬ì¾Ç¤§¥À (Queen of all Sciences)¡^¡C¥@¤W©Ò¦³¨Æª«³£´Ó®Ú©ó¼Æ¾Ç¡A¥]¬A PostgreSQL¡CPostgreSQL ¨Ï¥Î¤F¼Æ¾Çªº¤@Ó¤p¤ÀªK¡¥²{¥N¥N¼Æ¡¦(Modern Algebra)¡C²{¥N¥N¼Æ³B²z¡¥¶°¦X½×¡¦(Set Theory)¡B¡¥Ãö«Y¥N¼Æ¡¦(Relational Algebra)¡B¸s²Õ (Groups)¡BÀô (Rings)¡B¦¬¶° (Collections)¡B¶° (Sets)¡BÁp¦X (Unions)¡B¥æ¿ù (Intersections)¡B±Æ¥¸ (Exclusions)¡B»â°ì (Domains)¡B±Æ¦C (Lists) µ¥µ¥¡C
PostgreSQL ³oÃþ²£«~¤§©Ò¥H¦s¦b¡A«K¬O¦]¬°¯à¶q©M®É¶¡¡C¨º¬O³Ð³y¥@¬É¡B¸£¤l©M¨ä¥LªF¦èªº¯à¶q¡C¦Ó½è¶q©M¯à¶q¬O¦P¤@¨Æª«¡I½è¯à¬Û¦Pªº¨Æ¹ê¦b¤@¦Ê¦~«e¤´¥¼¬°¤H©Òª¾¡I¡]Ķ«ö¡J¦¹¸Ü¾A¥Î¦Ü 2005 ¦~¡J¡^
¤H¸£¤¤ªº²ÓM¦b¤u§@¡]½s¼gµ{¦¡¡^®É·|®ø¯Ó¯à¶q¡A§â¨Ó¦Û¹ª«ªº¤Æ¾Ç¯àÂà¤Æ¬°¹q¯à¤Î¼ö¯à¡C§Y¨Ï¦b§A¾\Ū³o¬q¤å¦r®É¡A§A¸£¤¤ªº²ÓM«K·|®ø¯Ó¿U®Æ¤Î¨Ï¥Î¤p¶q¯à¶q¡C©Ò¥H¥ß§Y°±¤î¾\Ū¡I¡I¯«¸g¤¸¡]¸£²ÓM¡^ªº¯à¶q¬¡°Ê¥i¦b¹êÅç«Ç¤¤¶q«×¡C¨Ò¦p´úÁÀ¾÷¤Î¨ä¥L¯à¶q«×¸£¤º¯à¶q¬¡°ÊªºÂåÀø¾¹§÷¡C¤]´N¬O»¡¡A¤H¸£¬O¤@¥x¼ö¤O¾Ç¤Wªº¾÷¾¹ (thermodynamic heat engine)¡C¥¿¦]¬°³o¼Ë¡A¼ö¤O¾Çªº©w«ß¤]¾A¥Î©ó¤H¸£¡A¤]´N¶¡±µ¦a¼vÅT¨ì PostgreSQL ¤@Ãþ³n¥ó¡C
¬ì¾Ç¨Ó»¡¡A«Ø¥ß¤@ӦʤÀ¦Ê§¹¬ü¤Î¨S¦³¿ù»~ªº¨t²Î©Î²z½×¡]¥]¬A¸ê®Æ®w¨t²Î¡^¬O¤£¥i¯àªº¡C³o´N¹³Ãèªá¤ô¤ë¡A§Ú̥䣥i¯à¨ì¹F§¹¬üªº¨t²Î©Î²z½×³o¥Ø¼Ð¡C¸Ô²Óªº¼Æ¾Ç¤èµ{¦¡©M°Q½×ÃÒ©ú¤F¡§§¹¬üªº¨t²Î¡¨¡]¡§¤£§¹¬üªº¨t²Î¡¨¤]¬O¡^¨Ã¤£¥i¯à¥X²{¡C³o¬O¤@Ó¶i¶¥ªº½ÒÃD¡A¶W¥X¤F¥»¤åªº°Q½×½d³ò¡C¦Ó³o¼Ëªº°Q½×²o¯A¨ìµLªººû¼Æ (dimemsions)¡]¤Î°ò¥»ºû¼Æ (primay dimensions)¡^¡A³o¬O¦b¤j¦ÛµM¤¤¦s¦bªº¡C¤£©¯¦a¡A¤HÃþ¥u¯à¬Ý¨ì©M·P¨ì¥|ºû¡A¦ý¼Æ¾Ç¥i»´©ö¬Ý¨ì¨ä¥Lºû¼Æ¡C¨ä¥Lºû¼Æ¤ñì¤l¡§µL¦a²Ó¤p¡¨(infinitely smaller)¡A¦Óì¤l¥»¨¤w¤p±o¦×²´¬Ý¤£¨ì¡I¼Æ¾Ç¬O«D±`¦³¤OªºªF¦è¡A¦]¬°¥¦¯à¤ÀªR©M¸ÑÄÀ§Ú̦t©zªº¥Í¦º¡C ¦b¨ä¥L¦t©z¬Ý¨Ó¡A§Ú̪º¦t©z´X¥G¨S¦³¤j¤p¡A¤Ï¤§¥çµM¡C§Y¬O»¡¡A¹ï¨ä¥L¦t©zªº¤H¨Ó»¡¡A§Ú̪º¦t©z¨Ã¤£¥i¨£¡]¤£¦s¦b¡^¡I¤Ï¤§¥çµM¡I¡I
²z½×¤W¡A§A¥i¥HÂ÷¶}¨³Bªº¦t©z¡A¤£¥Îªá¥ô¦ó®É¶¡¶W¶V·¥»·ªº¶ZÂ÷¡]¼Æ»õ¥ú¦~¡^¡A¤§«á¦b¤£¦Pªº®ÉªÅ¦^Âk¦t©z¡I§Ú̪º¦t©z©M¨ä¥L¦t©zªº¶ZÂ÷¨Æ¹ê¬O¹s¡I
ÁöµMªÅ¶¡¦³µLºû¼Æ¡A¥¦Ì³£¥i±q¤p¶qªº°ò¥»ºû²£¥Í¡C¤]´N¬O»¡¡AµLÓºû¼Æ¥i¦X¨Ö¬°°ò¥»ºû¡C°ò¥»ºû¥i§l¦¬¨ä¥Lºû¼Æ¦Ó¤£³Q¯}Ãa¡C¼Æ¾Ç®a¨Ï¥Î°ò¥»ºû¨Ó²z¸Ñ¦t©zªº¥Í¦º¡C§A©Ò¨³Bªº¦t©z¶}©l©ó¼Æ¥H¤Q»õ¦~«e¡]¬ù¤G¦Ê»õ¦~«e¡^¡A¥Ñ¨ä¥L¦t©zªº²É¤lªº¬¡°Ê²£¥Íªºªº¤@³õ¤jÃz¬µ¡C¦b¤jÃz¬µ¤§«e¥u¦³¤@ÂI¡A¨S¦³ªø«×¡B¨S¦³Áï«×¡B¨S¦³ªÅ«×¡B¨S¦³®É¶¡¡]§Y¨S¦³§Ú̪º¦t©z¡I¡I¡^¡A¨ä¥L¦t©z©M°ò¥»ºû«h¦s¦b¡C®É¶¡¤£¦s¦b¡Aì¤l¡BùÚ¬P¡B¦æ¬P¡B»Èªe¤]¤£¦s¦b¡I§AÅ餺ªºì¤l¤£¦s¦b¡I®É¶¡½Ï¥Í«e¡A¥H¸gµo¥Í«Ü¦h¨Æ¤F¡C
¤jÃz¬µ©M¦]¦¹½Ï¥Íªº§Ú̪º¦t©z¬O¥Ñ°ò¥»ªÅ¶¡ªºì¤l³y¦¨ªº¡C¦³¤H¡B¡]¦³ªF¦è¡H¡^½ÄÀ»¤F¨ä¥LªÅ¶¡ªº´XÓì¤l¨Ó²£¥Í§Ú̪º¦t©z¡A·sªº®É¶¡¡Bªø¡BÁï¡B°ª¦U«×ªÅ¶¡½Ï¥Í¤F¡I§Ú̬ݨì¤@¨Ç½u¯Á¡C¤HÃþ¤´¥¼§¹¥þ¤F¸Ñ³o¹Lµ{¡C¤HÌ¥¿¹Á¸Õ¦b¹êÅç«Ç¤¤¼ÒÀÀ¤jÃz¬µ¨Ó²£¥Í¨ä¥L¦t©z¡]¼Ú¬w¤´¦b«Ø³y¤j«¬ªº¥[³t¾¹ (accelerator)¡A¦b¹F©Ô´µ (Dallas) ªº¥t¤@®y«h¦]¬ü°ê°ê·|«d´î°]¬F¹wºâ¦Ó°±«Ø¡C¡^¨ä¥LªÅ¶¡¤¤¦³ì¤l¡A´N¹³§Ú̪º¤@¼Ë¡C²z½×¤W¡A§ÚÌ¥i³Ð³y©M²£¥ÍµLÓ¦t©z¡I³o¨Ç¹Lµ{¬O¥i°fÂ઺¡A§Y§Ú̪º¦t©z¥i§¹¥þ®ø¥¢¤ÎÅܬ°¨ä¥LªÅ¶¡ªº¼ÆÓì¤l¡I¤@ÓÃþ¦üªº±¡§Î«K¬O§A¦p¦ó¦]¨âÓ²ÓMªº½ÄÀ»¡A³y¦¨¤@Ó²ÓM¦Ó¦¨¬°§A¡C¨ºÓ¤p¤pªº²ÓM¤Àµõ¤Î¿¼W¡A²£¥Í¤»¸U»õÓ²ÓM©MÅܦ¨¤@Ó¤»¤Ø°ªªº¤H¡]§A¡I¡^¡C¤HÃþ©M¦t©z¦³¤@¨Ç¬Û¦ü¤§³B¡A¦t©z©M¤HÃþ¬Û¦ü¡A¤]¦³¥Í¦º¡C
§¹¬üªºª¬ºA¡]¤£§¹¬üªºª¬ºA¤]¬O¡^¨ÃµL¥i¯à¡A¦t©zªº¥Í¦Ñ¯f¦º¬O¤@Ó´`Àôªº¹Lµ{¡C¦ý§¹¬üªº¦º¤`¨Ã¤£¦s¦b¡A¬ì¾Ç¥u®e³\Âà´« (transformation)¡I§Ú̪º¦t©z¥¿¥H·¥°ª³t«×ÂX±i¡A¥¦¨Ã¤£ÀR¤î¡A¦Ó¬O«D±`°ÊºA¡C¥¦ÁÙ·|Ä~ÄòÂX±i¡Aª½¨ì¨ü¨ì¨ä¥LªÅ¶¡ªºÀ£¤Oªº¤zÂZ¨Ï¥¦±Y¼ì¡A¨Ã±N¥¦§l¦¬©M¦P¤Æ¡I¡I¦³¨âÓ¥i¯à©Ê¡X±q¶Â¬}²¾°£§Ú̦t©zªº½è¶q¡]¤@Ó½wºCªº¹Lµ{¡^¡A©Î±q¥Õ¬}ª`¤J·sªº½è¶q¡]¤@Ó§Ö³tªº¹Lµ{¡^¡C¦³¼Æ¥H¦Ê¸UpÓ¦t©z¦s¦b¡A¦ý¥u¦³¤p¼Æ¬O¥Ñ°ò¥»ªººû¼Æ³y¦¨ªº¡C§A¨Ã¤£¥u¬O§Ú̦t©zªºì¤l²Õ¦¨¡AÁÙ¦³¨ä¥LªºªÅ¶¡ªºì¤l¡I¶Â¬}·|§l¤J§Ú̦t©zªºì¤l©M²É¤l¡A¥¦ÌÂà¤Æ¤Î¦¨¬°¨ä¥LªÅ¶¡ªº²É¤l¡I¦b¶Â¬}¤¤¤ß¡Aªø«×¡BÁï«×°ª«×©M®É¶¡³£¬O¹s¡I¶Â¬}¬O¨ä¥L¦t©zªº¥X¤J¤f¡C¨ä¥L¦t©zªº¥X¤J¤f¥i¦b¥ô¦ó¦a¤è¥X²{¡A¥]¬A§AªºÅ餺¡I
¥@¤W¥i¦³µLºØÃC¦â¡B¹q¸£»y¨¥¡B´¹¤ù³]p©M²z½×¡A¦ý¤£¥i¯à¦³¤@ºØ§¹¬üªºÃC¦â¡B¹q¸£»y¨¥¡B³]p©M¨t²Î¡I§A©Ò¯à±o¨ìªº¥u¬Oªñ¥G§¹¬üªºÃC¦â¡]ªiªø¡^¡B¨t²Î¡B¸ê®Æ®w©Î²z½×¡I¤j¦ÛµM´N¹³¤@Ó¸Uªáµ©¡C
§â¥@¤W¼Æ¦Ê¸Uºô¥Áªº¯à¶qµ²¦X°_¨Ó¡A¨Ï±o«Ø¥ß¤@Óªñ¥G§¹¬üªº¨t²Î¡]¥]¬A¸ê®Æ®w³n¥ó¡^Åܱo¦³¥i¯à¡C©t´xÃø»ï¡A¦ýÄyµÛºôµ¸§â¤j¶q¤H¤â¶°¦X°_¨Ó¡A¥L̪ºÁ`¯à¶q·|«D±`Ãe¤j¡A¦Ó¥B¥i¶°¤¤©ó«Ø¥ß¤@Óªñ¥G§¹¬üªº¨t²Î¡C¤HÃþ¬O¾Ö¦³¦³¯à¶q¤Î¸ê·½ªº¥Íª«¡A¸g±`·|¥Ç¤U¤£¦Pµ{«×ªº¿ù»~¡C¦]¬°¤H̥ǿùªº¶É¦V·|¨Ì¯S®í§Þ¯à¡B¯S®í¸gÅç©M¤ß±¡¦³©Ò¤£¦P¡A§ÚÌ¥iÂǶ°¦X¤£¦Pªº¤H¦@¦P§V¤O¨Ó¨Ï±oµo²{©M²M°£¤H̳y¦¨³n¥ó¿ù»~§ó®e©ö¡C¦¹¥~¡A§ó¦h¤H¥Nªí§ó¦h¤u§@®É¶¡¤Î¥\¯à¡C
«Ü©úÅV¡A¤¬Ápºô¥i³sô«Ü¦h¤H¡A¤]´N¬O»¡¤¬Ápºô¦³¤j¶q¯à¶q©M®É¶¡¡A¥i¥Î¤ß³n¥ó¤½¥q§óµuªº®É¶¡²£¥Í§ó°ª½è¯Àªº³n¥ó¡C§Y¨Ï¬O·L³n¡BIBM µ¥¤j¤½¥q¤]¤£¥i¹H§Üª«²z©w«ß¡A¦Ó¥²·|¦Vª«²z©w«ß§ë°¡C
¥Ø«e¥@¬É¤W¤w¦³¤Ó¦h¥H ANSI/ISO SQL ³o¤@Ó³W®æ¬°¥Ø¼Ðªº SQL RDBMS ¸ê®Æ®w¡C¤HÃþ¤£¥i¦A®ö¶O®É¶¡¦b²£¥Í¬Û¦ü¬Æ¦Ü¬Û¦Pªº³n¥ó¡A¬°¬ì¾Ç¤W¦³§ó¦hȱoª`·NªºÃD§÷¡C
µ²½×¬O¡J¦]¬°¬ì¾Çªº©w«ß¡A¡¥¶}©óì©l½X¡¦¨t²Î¡A¹³ PostgreSQL¡BLinux ·|¤ñ¡¥«Ê³¬ì©l½X¡¦¨t²ÎÀu²§¡C³o¬O¦³¬ì¾Ç®Ú¾Úªº¡C