¥Ç¡¼¥¿¥Ù¡¼¥¹³µÍ×
¥ê¥ì¡¼¥·¥ç¥Ê¥ë¥â¥Ç¥ë
Oracle ¤Ï¥ê¥ì¡¼¥·¥ç¥Ê¥ë¥â¥Ç¥ë¤ò»ÈÍѤ·¤¿¡¢RDBMS(¥ê¥ì¡¼¥·¥ç¥Ê¥ë¥Ç¡¼¥¿¥Ù¡¼¥¹¥Þ¥Í¡¼¥¸¥á¥ó¥È¥·¥¹¥Æ¥à)¤Ç¤¢¤ë¡£
¥ê¥ì¡¼¥·¥ç¥Ê¥ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¡¢Rows¡§¥í¡¼¤È Columns¡§¥«¥é¥à¤«¤é¹½À®¤µ¤ì¤ë¡£
(Rows¡§¥í¡¼¤È¤Ï¹Ô¡¢Columns¡§¥«¥é¥à¤È¤ÏÎó¤ò¤¢¤é¤ï¤¹)
¤³¤Î 2 ¼¡¸µ¤Îɽ·Á¼°¤Ç¥Ç¡¼¥¿¤ò³ÊǼ¤¹¤ë¡£
¹Ô¤ÈÎó¤Î¸òº¹¤¹¤ëÉôʬ¤Ï¥Õ¥£¡¼¥ë¥É¤È¸Æ¤Ð¤ì¤ë¡£
| Column | Column | Column |
| Row | | | |
| Row | | field | |
| Row | | | |
¾¥â¥Ç¥ë
- ³¬ÁØ¥â¥Ç¥ë
- ¥Í¥Ã¥È¥ï¡¼¥¯¥â¥Ç¥ë
- ¥ª¥Ö¥¸¥§¥¯¥È¥â¥Ç¥ë
À©Ìó¤È¥¡¼
¼ç¥¡¼(Primary Key)
NOT NULL À©Ìó¤È°ì°ÕÀ©Ìó¤òÁȤ߹礻¤¿¤â¤Î
¼ç¥¡¼¤ÎÃͤ¬¡¢É½¤ÎÃæ¤ÎÊ£¿ô¹Ô¤Ë¸ºß¤¹¤ë¤³¤È¤Ï¤Ç¤¤Ê¤¤¡£
¼ç¥¡¼¤ò¹½À®¤¹¤ëÎó¤Ë NULL ¤ò»ý¤¿¤»¤ë¤³¤È¤Ï¤Ç¤¤Ê¤¤¡£
°ì°Õ¥¡¼
ɽ¤ÎÃæ¤Î2 ¤Ä¤Î¹Ô¤¬°ì°Õ¥¡¼¤ËÂФ·¤ÆÆ±¤¸Ãͤò»ý¤¿¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£
ñ°ì¤ÎÎó¤Ç¹½À®¤µ¤ì¤ë°ì°Õ¥¡¼¤Î¾ì¹ç¤Ï¡¢Ê£¿ô¤ÎNULL¡Ê¹Ô¡Ë ¤ò»ý¤Ä¤³¤È¤¬²Äǽ¡£
Ê£¹ç°ì°Õ¥¡¼¤Ë¤ª¤¤¤Æ¤¹¤Ù¤Æ¤Î¥¡¼Îó¤ËÂФ·¤ÆNULL ¤ò»ý¤Ä¹Ô¤âƱÍͤËÊ£¿ô»ý¤Ä¤³¤È¤¬²Äǽ¡£
¤¿¤À¤·¡¢1¤Ä°Ê¾å¤Î¥¡¼Îó¤ËÂФ·¤Æ NULL¤ò»ý¤Á¡¢¤½¤Î¾¤Î¥¡¼Îó¤ËÂФ·¤ÆÆ±¤¸Áȹ礻¤ÎÃͤò»ý¤Ä 2¤Ä¤Î¹Ô¤ÏÀ©Ìó°ãÈ¿¤È¤Ê¤ë¡£(¢¨)
(¢¨) ¤³¤ÎÀ©¸Â¤Ï Oracle ¸¡º÷¥á¥«¥Ë¥º¥à¤Ë¤è¤ë¤È¥Þ¥Ë¥å¥¢¥ë¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¡£É¸½àSQL ¤Ç¤ÏÀ©Ìó¤Î 1¤Ä¤Î¥¡¼Îó¤Ç¤â NULL ¤ò»ý¤Ä¾ì¹ç¤Ë¤ÏÀ©Ìó°ãÈ¿¤Ë¤Ï¤Ê¤é¤Ê¤¤¡£
³°Éô¥¡¼(Foreign Key)
ɽ¤Èɽ¤ÎÏÀÍýŪ¤Ê´ØÏ¢ÉÕ¤±¤ò¹Ô¤¤³°Éô¥¡¼¤ËÂФ·¤ÆÃ͡ʿƥ¡¼¡Ë¤¬Â¸ºß¤¹¤ë¤³¤È¤òÊݾڤ¹¤ë¡£
³°Éô¥¡¼¤Ë¤Ï¡¢¿ÆÉ½¤ÎÃͤ⤷¤¯¤ÏNULL¤ò»ý¤Ä¤³¤È¤¬²Äǽ¡£
³°Éô¥¡¼¤Î¿Æ¥¡¼¤Ï¼ç¥¡¼¤â¤·¤¯¤Ï°ì°Õ¥¡¼¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
ÊäÂ
ɽ¤Î¥Ç¡¼¥¿¤Î¤¹¤Ù¤Æ¤Î¹Ô(NULL¤ò´Þ¤à)¤ò°ì°Õ¤Ë¼±Ê̤¹¤ë¤¿¤á¤Ë¤Ï°ì°Õ¥¡¼¤Ç¤Ï¤Ê¤¯¡¢¼ç¥¡¼¤ò»ÈÍѤ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
¥¡¼¤È¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï°Û¤Ê¤ë¡£¥¡¼¤ÏÀ©Ìó¤Î¸µ¤Ç»È¤ï¤ì¤ë¡£¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¥¡¼¤ò¼ÂÁõ¤¹¤ë¤¿¤á¤ËÍøÍѤµ¤ì¤Æ¤¤¤ë¤¬À©Ìó¤Ç¤Ï¤Ê¤¤¡£RDBMS ¤Î¼ÂÁõ¤Ë¤ª¤±¤ëÉû»ºÊª¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¢¤ë¡£
´ØÏ¢»ö¹à
¼ç¥¡¼¤È°ì°Õ¥¡¼¤Î°ã¤¤¤Ê¤É¤ÎÀ©Ìó¤Ë¤Ä¤¤¤Æ¤è¤ê¾Ü¤·¤¯Ä´¤Ù¤ë
¥ê¥ì¡¼¥·¥ç¥Ê¥ë¥Ç¡¼¥¿¥Ù¡¼¥¹
¤¤¤¯¤Ä¤«¤Î2¼¡¸µÉ½¤ò´ØÏ¢ÉÕ¤±Åý¹ç¤·¤¿¤â¤Î¡£
IBM ¤Î E.F.Codd »á¤Ë¤è¤êÄó¾§ ¡Á1970ǯ6·î ¡ÖÂ絬ÌϤʶ¦Í¥Ç¡¼¥¿¥Ð¥ó¥¯¤Î¤¿¤á¤Î¥ê¥ì¡¼¥·¥ç¥Ê¥ë¥â¥Ç¥ë¡×¡ÊA Relational Model of Data for Large Shared Data Banks¡Ë¤È¤¤¤¦ÏÀʸ¡¡¡Á
¥ê¥ì¡¼¥·¥ç¥Ê¥ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¹½À®Í×ÁÇ(Component)
- ¥Ç¡¼¥¿¤ò³ÊǼ¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ª¤è¤Ó¥ê¥ì¡¼¥·¥ç¥ó
- ¥ê¥ì¡¼¥·¥ç¥ó¤òÁàºî¤·¡¢¤Û¤«¤Î¥ê¥ì¡¼¥·¥ç¥ó¤òºîÀ®¤¹¤ë¤¿¤á¤Î±é»»»Ò
- Àµ³ÎÀ¡¢°ì´ÓÀ¤Î¤¿¤á¤Î¥Ç¡¼¥¿À°¹çÀ
(¥È¥é¥ó¥¶¥¯¥·¥ç¥ó´ÉÍý¤Ï DBMS ¾å¤Îµ¡Ç½¤Ç¤¢¤ê RDB ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤)
¥ê¥ì¡¼¥·¥ç¥Ê¥ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÆÃħ
- ¥Ç¡¼¥¿¹½Â¤¤äʪÍýŪ¤ÊÇÛÃÖ¤ò°Õ¼±¤·¤Ê¤¯¤Æ¤â¥×¥í¥°¥é¥à¤¬²Äǽ¡£
- ¤¢¤ë¸À¸ì (SQL) ¤òÍøÍѤ·¤Æ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¸¡º÷¡Ê¢¨Êѹ¹¡Ë¤Ç¤¤ë¡£
- SQL ¤Ë¤Ï¡¢¿§¡¹¤Ê½¸¹ç±é»»µ¡Ç½¤òÈ÷¤¨¤Æ¤¤¤ë¡£(Oracle¤Ë¤ª¤¤¤ÆÆÈ¼«¤Î³ÈÄ¥¤¢¤ê¡Ë
(¢¨) ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÊѹ¹¤Ï DBMS ¤Îµ¡Ç½¤È½ñ¤«¤ì¤Æ¤¤¤ë¤³¤È¤¬¤¢¤ë¡£
¡á¡Ö¥ê¥ì¡¼¥·¥ç¥ó¤òÁàºî¤¹¤ë¤¿¤á¤Î±é»»»Ò¥»¥Ã¥È¡×¤Ï¡¢´Ø·¸Âå¿ô¤È´Ø·¸ÏÀÍý¤«¤éÀ®¤ë¤¿¤á DML ¤Ï´Þ¤Þ¤ì¤Ê¤¤¤È¤¤¤¦ÆâÍÆ¤È
¥ê¥ì¡¼¥·¥ç¥Ê¥ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò´ÉÍý¤¹¤ë¥·¥¹¥Æ¥à¤ò¥ê¥ì¡¼¥·¥ç¥Ê¥ë¥Ç¡¼¥¿¥Ù¡¼¥¹´ÉÍý¥·¥¹¥Æ¥à(RDBMS)¤È¸Æ¤Ó¡¢¤½¤Î´ðËÜŪ¤Ê»ÈÍÑÊýË¡¤òISO/IEC(JTC Joint Technical Committee for information technology ¡Ë¤äANSI¡ÊAmerican National Standards Institute ¡Ë¤Çɸ½à²½¤·¤¿¤â¤Î¤¬SQL¡ÊStructured Query Language¡Ë¤È¤¤¤¦¤³¤È¤«¤é¤À¤í¤¦¤È»×¤ï¤ì¤ë¡£
¤·¤«¤·¡¢SQL= RDBMS ɸ½à¸À¸ì ¤Ç¤Ï¤¢¤ë¤â¤Î¤Î¡¢¾¯¤Ê¤¯¤È¤â 1985 ǯ¤Ë¤Ï ¥³¥Ã¥É¤Î 12 ¤Îµ¬Â§(¢¨) ¤Ë¤ª¤¤¤Æ INSERT¡¢UPDATE¡¢DELETE ¤Ë¤Ä¤¤¤Æ¤â¥ê¥ì¡¼¥·¥ç¥Ê¥ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÍ×·ï¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë(SQL ¤È¤Ï¸Â¤é¤Ê¤¤)¡£
¤Ê¤ª¡¢Oracle 10g ¤Ç¤â NULL = Ťµ 0 ¤Îʸ»úÎó ¤È¤¤¤¦ÅÀ¤Ë¤ª¤¤¤Æ¡¢¤³¤Îµ¬Â§¤ò´°Á´¤Ë¤ÏËþ¤¿¤·¤Æ¤¤¤Ê¤¤¡£È¯É½Åö»þ¤Ë¤Ïµ¬Â§¤òËþ¤¿¤¹ RDBMS ¤Ï̵¤«¤Ã¤¿¤è¤¦¤Ç¤¹¤¬¡¢¸½ºß¡¢´°Á´¤ËËþ¤¿¤·¤Æ¤¤¤ë RDBMS ¤Ë¤Ä¤¤¤ÆÃΤê¤Þ¤»¤ó¡£
(¢¨) Codd's 12 rules (Rule3:Systematic treatment of null values) (Wikipedia.org)
¥Ç¡¼¥¿À°¹çÀ
ɽ¥Ç¡¼¥¿¤ÎÀ°¹çÀ¡¦°ì´ÓÀ¤ò¿Þ¤ë¤¿¤á¤Î¼êË¡¤È¤·¤Æ¡¢Àµµ¬²½¤¬¤¢¤ë¡£
´ØÏ¢»ö¹à
À°¹çÀÀ©Ìó
´ØÏ¢»ö¹à