MS-SQL > Data Integrity - FOREIGN KEY
µî·ÏÀÏ : 2017-07-03 14:32
Á¶È¸¼ö : 67,188
Æ÷¸°Å° Constraints´Â µ¥ÀÌŸ ¸ðµ¨¸µÀÇ Æ÷¸° Å°¸¦ ±¸ÇöÇÒ°ÍÀ¸·Î Referential Integrity¸¦
±¸ÇöÇϱâ À§ÇÑ ÇϳªÀÇ ¹æ¹ýÀÔ´Ï´Ù. ÀÌ°ÍÀº ÀϹÝÀûÀ¸·Î ¾÷¹« ±ÔÄ¢¿¡¼ ÁÖÁ¾°ü°è°¡ ÀÖ´Â µÎ
Å×ÀÌºí°£¿¡ »ç¿ëµÇ¸ç Á¾¼ÓµÇ´Â Å×À̺íÀÇ Å° Ä÷³ÀÌ ÁÖ°¡ µÇ´Â Å×À̺íÀÇ ÇÁ¶óÀ̸Ӹ® Å° ¶Ç´Â
À¯´ÏÅ© Constraints Ä÷³À» ÂüÁ¶ÇÔÀ» ÀǹÌÇÏ°Ô µË´Ï´Ù.
¾Æ·¡»çÇ×Àº Æ÷¸°Å°¸¦ »ç¿ëÇÒ¶§ °í·ÁÇÒ »çÇ×ÀÔ´Ï´Ù.
¡á Æ÷¸°Å°´Â Çϳª ÀÌ»óÀÇ Ä÷³¿¡ ´ëÇؼ ¼±¾ðÇÒ¼ö ÀÖ´Ù. (µ¥ÀÌÅÍ Å¸ÀÔÀÌ È£È¯µÇ¾ßÇÔ).
¡á Å° Ä÷³ÀÇ µ¥ÀÌŸ´Â ÇÕÇؼ 900byte¸¦ ³ÑÀ» ¼ö ¾ø´Ù.
¡á Æ÷¸°Å° Ä÷³Àº ¹èºÎÀûÀ¸·Î À妽º¸¦ ¸¸µéÁö ¾Ê´Â´Ù.
¡á Æ÷¸°Å°¸¦ ¼³Á¤Çϱâ Àü¿¡ ¸ÕÀú ÂüÁ¶µÇ´Â Å×À̺íÀÌ »ý¼ºµÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.
¡á Æ÷¸°Å°·ÎºÎÅÍ ÂüÁ¶µÇ´Â Å×À̺íÀº Á¦°ÅÇÒ¼ö ¾øÀ¸¹Ç·Î Å×À̺íÀ» Á¦°ÅÇÒ¶§´Â ¸ÕÀú Æ÷¸°Å°
°ü°è¸¦ Á¦°ÅÇϰųª Æ÷¸°Å°¸¦ °¡Áø Å×À̺íÀ» Á¦°ÅÇØ¾ß ÇÑ´Ù.
¡á with nocheck,nocheck¿É¼ÇÀ¸ »ç¿ëÇÏ¿© ±âÁ¸ÀÇ µ¥ÀÌÅͳª »õ·Î ÀúÀåµÇ´Â µ¥ÀÌÅÍ¿¡ ´ëÇؼ
Æ÷¸°Å° Constraints°¡ Àû¿ëµÇÁö ¾Ê°Ô ÇÒ¼öµµ ÀÖ´Ù. |
´ÙÀ½ ¿¹Á¦´Â ÃâÆǻ縦 ÀǹÌÇÏ´Â pubs Å×À̺í°ú ÃâÆǻ翡 Æì³½ Ã¥À» ÀǹÌÇÏ´Â book1,book2 Å×À̺íÀ»
¸ðµ¨¸µÇÏ¿© Ç¥ÇöÇÑ °ÍÀÔ´Ï´Ù.
book1 °ú book2 Å×À̺íÀº Æ÷¸°Å°¸¦ °¡Áö°í ÀÖÀ¸¸ç ÀÌ Å° Ä÷³Àº ¸ðµÎ pubs Å×À̺íÀÇ ÇÁ¶óÀ̸Ӹ®
Å°¸¦ ÂüÁ¶ ÇÏ°í ÀÖ½À´Ï´Ù.
CREATE TABLE pubs
(
pub_id int NOT NULL PRIMARY KEY,
name varchar(10) NULL
)
CREATE TABLE book1
(
book_id int NOT NULL PRIMARY KEY,
pub_id int NOT NULL REFERENCES pubs(pub_id), <-- Ä÷³ ´ÜÀ§ Æ÷¸°Å° ¼±¾ð
name varchar(10) NULL
)
CREATE TABLE book2
(
book_id int NOT NULL PRIMARY KEY,
pub_id int NOT NULL,
name varchar(10) NULL
CONSTRAINT fk_pub_id
FOREIGN KEY(pub_id)
REFERENCES pubs(pub_id) <-- Å×ÀÌºí ´ÜÀ§ Æ÷¸°Å° ¼±¾ð
)
Äõ¸®ºÐ¼®±â¿¡¼ ½ÇÇàÇØ º¸¼¼¿ä...
À§ÀÇ ±×¸²Àº ¿£ÅÍÇÁ¶óÀÌÁî °ü¸®ÀÚ¿¡¼ pubs,book1,book2Å×ÀÌºí¿¡ ´ëÇÑ ´ÙÀ̾î±×·¥ÀÔ´Ï´Ù.
¸¶¿ì½º ¿À¸¥ÂÊÅ°¸¦ ´©¸¥ÈÄ °ü°è¸¦ È®ÀÎÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù.
»õ·Î¿î °ü°è¸¦ ¸ÎÀ» ¼öµµ ÀÖÀ¸¸ç, °ü°è¸¦ »èÁ¦ÇÒ¼öµµ ÀÖ½À´Ï´Ù.
±×·³, ¿À´ÃÀº ¿©±â°¡Áö¸¸ »ìÆ캸±â·ç Çϱ¸¿©, Á»´õ ÀÚ¼¼ÇÑ »çÇ×À» ¾Ë°í ½ÍÀ¸½Ã¸é Àü¹®¼ÀûÀ» ÂüÁ¶ÇÏ
½Ã±â ¹Ù¶ø´Ï´Ù.