| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 5. µ¥ÀÌÅÍ Á¤ÀÇ | Fast Forward | Next |
¿ÜºÎ Ű Á¦ÇÑÀ̳ª, ºä, Æ®¸®°Å, ÇÔ¼öµîÀ» »ç¿ëÇÑ Å×À̺íÀÌ ´Ù¼ö Æ÷ÇԵǴ º¹ÀâÇÑ µ¥ÀÌÅͺ£À̽º ±¸Á¶¸¦ ÀÛ¼ºÇϸé, À¯Àú´Â ±×·¯ÇÑ ¿ÀºêÁ§Æ®°£ÀÇ ¾Ï¹¬ÀûÀÎ ÀÇÁ¸°ü°è(dependencies)ÀÇ ³×Æ®¿öÅ©µµ ÀÛ¼ºÇÏ°Ô µË´Ï´Ù. ¿¹¸¦ µé¸é, ¿ÜºÎ Ű Á¦ÇÑÀ» °¡Áö´Â Å×À̺íÀº ÂüÁ¶ÇÏ´Â Å×ÀÌºí¿¡ ÀÇÁ¸Çϰí ÀÖ½À´Ï´Ù.
µ¥ÀÌÅͺ£À̽º ±¸Á¶ ÀüüÀÇ ¹«°á¼ºÀ» À¯ÁöÇϱâ À§ÇØ,PostgreSQL´Â ´Ù¸¥ ¿ÀºêÁ§Æ®¿Í ÀÇÁ¸°ü°è(dependencies)¿¡ ÀÖ´Â ¿ÀºêÁ§Æ®ÀÇ »èÁ¦¸¦ Çã°¡ÇÏÁö ¾Ê½À´Ï´Ù. ¿¹¸¦ µé¸é,Section 5.3.5±×¸®°í ÀÛ¼ºÇÑ products Å×À̺íÀ» »èÁ¦ÇÏ·Á°í ÇØµµ, orders Å×À̺íÀÌ ÀÌ Å×ÀÌºí¿¡ ÀÇÁ¸Çϰí ÀÖÀ¸¹Ç·Î, ÀÌÇÏ¿Í °°Àº ¿¡·¯ ¸Þ¼¼Áö°¡ ³ªÅ¸³³´Ï´Ù.
DROP TABLE products; NOTICE: constraint orders_product_no_fkey on table orders depends on table products ERROR: cannot drop table products because other objects depend on it HINT: Use DROP ... CASCADE to drop the dependent objects too.
¿¡·¯ ¸Þ¼¼Áö¿¡´Â µµ¿òÀÌ µÇ´Â ÈùÆ®°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ÀÌÇÏ¿Í °°ÀÌ Çϸé, ÀÇÁ¸ÇÏ´Â ¸ðµç ¿ÀºêÁ§Æ®¸¦ 1°³¾¿ »èÁ¦ÇÏ´Â ¼ö°í¸¦ ÁÙÀÏ ¼ö ÀÖ½À´Ï´Ù.
DROP TABLE products CASCADE;
À̰ÍÀ¸·Î ¸ðµç ÀÇÁ¸ ¿ÀºêÁ§Æ®°¡ »èÁ¦µË´Ï´Ù. ÀÌ °æ¿ì, orders Å×À̺íÀº »èÁ¦µÇÁö ¾Ê°í ¿ÜºÎ Ű Á¦ÇѸ¸ÀÌ »èÁ¦µË´Ï´Ù (DROP ... CASCADE°¡ ¹«¾ùÀ» ½Ç½ÃÇұ ¾Ë°í ½ÍÀº °æ¿ì´Â CASCADE¸¦ ÁöÁ¤ÇÏÁö ¾Ê°íDROP¸¦ ½ÇÇàÇØNOTICE¸Þ¼¼Áö¸¦ Àоî ÁÖ¼¼¿ä).
PostgreSQL¿¡¼´Â ¸ðµç »èÁ¦¿ë Ä¿¸Çµå¿¡CASCADE¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹°·Ð, ¾î¶°ÇÑ ÀÇÁ¸°ü°è(dependencies)°¡ Á¸ÀçÇÒ±î´Â ¿ÀºêÁ§Æ®ÀÇ Á¾·ù¿¡ µû¶ó¼ ´Ù¸¨´Ï´Ù. ¶Ç,CASCADE´Â ¾Æ´Ï°íRESTRICT¶ó°í ±â¼úÇϸé, ´Ù¸¥ ¿ÀºêÁ§Æ®°¡ ÀÇÁ¸Çϰí ÀÖ´Â ¿ÀºêÁ§Æ®ÀÇ »èÁ¦¸¦ ±ÝÁöÇÑ´Ù°í ÇÏ´Â µðÆúÆ®ÀÇ ÇൿÀ» ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
Note: Ç¥ÁØ SQL¿¡¼´Â RESTRICT¶Ç´Â CASCADEÀÇ ¾î´ÀÂÊÀ̵çÀ» ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ½ÇÁ¦·Î ÀÌ °áÁ¤ ±×´ë·ÎÀÎ µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛÀº ¾øÁö¸¸, µðÆúÆ®°¡RESTRICTÀÎÁö,CASCADEÀϱî´Â ½Ã½ºÅÛ¿¡ µû¶ó¼ ´Ù¸¨´Ï´Ù.
Note: PostgreSQLÀÇ 7.3 ÀÌÀüÀÇ ¹öÀü¿¡ ÀÖ¾î¼ÀÇ ¿ÜºÎ Ű Á¦ÇÑÀÇ ÀÇÁ¸°ü°è(dependencies)¿Í ¿¬¼ÓµÇ´Â ¿ÀÇ ÀÇÁ¸°ü°è(dependencies)´Â ¾÷±×·¹À̵å ó¸® µ¿¾È º¸°üµµ ÀÛ¼ºµµ µÇÁö ¾Ê½À´Ï´Ù . ±× ¿Ü Á¾·ùÀÇ ÀÇÁ¸°ü°è(dependencies)´Â ¸ðµÎ, 7.3 ÀÌÀüÀÇ µ¥ÀÌÅͺ£À̽º·ÎºÎÅÍ ¾÷±×·¹ÀÌµå µ¿¾È¿¡ ÀûÀýÈ÷ ÀÛ¼ºµË´Ï´Ù.