°úÁ¤ ¸ñÀû

   º» °úÁ¤¿¡¼­´Â RDBMS(Relational Database Management System)¿Í    ORDBMS(Object Relational Database Management System)¸¦ ÀÌÇØ    Çϵµ·Ï ÇÕ´Ï´Ù. ¶ÇÇÑ ´ÙÀ½À» ¼Ò°³ ÇÕ´Ï´Ù.

°ü°èÇü ¸ðµ¨

 °ü°èÇü ¸ðµ¨ÀÇ ¿øÄ¢Àº 1970³â 6¿ù, E. F. Codd ¹Ú»çÀÇ ¡°A Relational Model of Data for Large Shared  Data Banks¡± ¶ó´Â ³í¹®¿¡¼­ óÀ½À¸·Î À±°ûÀ» µå·¯³»¾ú°í, ÀÌ ³í¹®¿¡¼­ Codd ¹Ú»ç´Â µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ  ¿¡ °ü°èÇü ¸ðµ¨ µµÀÔÀ» Á¦¾ÈÇß½À´Ï´Ù.
±× ´ç½Ã ¸¹ÀÌ »ç¿ëµÇ¾ú´ø ´ëÁßÀû ¸ðµ¨Àº °èÃþÇü, ³×Æ®¿÷Çü, ½ÉÁö¾î´Â ´Ü¼øÇüÅÂÀÇ ÆÄÀÏ µ¥ÀÌÅÍ ±¸Á¶ µîÀ̾úÀ¸³ª RDBMS (Relational Database Management Systems)°¡ ±¸Á¶»óÀÇ À¯¿¬¼ºÀ̶óµç°¡, »ç¿ë»óÀÇ ÆíÀÇ·Î ÀÎÇØ ½±°Ô ´ëÁßÈ­ µÇ¾ú½À´Ï´Ù. °Ô´Ù°¡, ÃÑüÀû ÇØ°áÀ» Á¦°øÇÏ´Â °­·ÂÇÑ ÀÀ¿ëÇÁ·Î±×·¥ °³¹ß°ú »ç¿ëÀÚ Á¦Ç° ±ºµéÀ» RDBMS·Î °¡´ÉÇÏ°Ô ÇØÁÖ´Â Oracle °°Àº Çõ½ÅÀûÀÎ ¾÷üµéÀÌ ´Ù¼ö ÀÖ¾ú½À´Ï´Ù.

°ü°èÇü ¸ðµ¨ÀÇ ±¸¼º¿ä¼Ò

º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¾Ë°íÀÚ ÇÑ´Ù¸é, ´ÙÀ½À» ÂüÁ¶ÇϽʽÿÀ.
E. F. Codd, The Relational Model for Database Management Version 2 (Reading, Mass.: Addison-Wesley, 1990).

°ü°èÇü µ¥ÀÌÅͺ£À̽º

°ü°èÇü µ¥ÀÌÅͺ£À̽º´Â Á¤º¸ ÀúÀåÀ» À§ÇØ °ü°è³ª 2Â÷¿ø Å×À̺íÀ» ÀÌ¿ëÇÕ´Ï´Ù.
¿¹¸¦ µé¾î, ȸ»ç´Â ±× ȸ»ç Á÷¿øµé¿¡ °üÇÑ Á¤º¸¸¦ ÀúÀåÇÒ ÇÊ¿ä°¡ Àִµ¥, °ü°èÇü µ¥ÀÌÅͺ£À̽º¿¡¼­´Â Á÷¿ø Å×À̺í, ºÎ¼­ Å×À̺í, ±Þ¿© Å×ÀÌºí µî°ú °°Àº Á÷¿øµé¿¡ ´ëÇÑ °¢Á¾ Á¤º¸µéÀ» ÀúÀåÇϱâ À§ÇØ ¿©·¯ Å×À̺íÀ» »ý¼ºÇÏ°Ô µË´Ï´Ù.

ER ¸ðµ¨¸µ

½ÇÁ¦ ½Ã½ºÅÛ¿¡¼­ µ¥ÀÌÅÍ´Â ¿£Æ¼Æ¼(entity) ´ÜÀ§·Î ºÐ·ùµÇ¾î ³ª´©¾îÁ® ÀÖ½À´Ï´Ù. ER(Entity Relationship)¸ðµ¨Àº ¾÷¹«»óÀÇ ´Ù¾çÇÑ ¿£Æ¼Æ¼(entity)¿Í ±×µé°£ÀÇ °ü°è(relationship)¸¦ ±×¸²À¸·Î ³ªÅ¸³½ °ÍÀÔ´Ï´Ù.  ER ¸ðµ¨Àº ¾÷¹« ¿ä±¸³ª »ç¾çÀ¸·ÎºÎÅÍ À¯ÃâµÇ¸ç ½Ã½ºÅÛ °³¹ß »ý¼º Áֱ⠴ܰèÁß ºÐ¼® ´Ü°è¿¡¼­ ¸¸µé¾îÁý´Ï´Ù. ER ¸ðµ¨Àº ¾î¶² ÇÑ ¾÷¹«³»¿¡¼­ ¼öÇàµÇ´Â ÇÒµ¿ÀÌ ¿ä±¸ÇÏ´Â Á¤º¸¸¦ ºÐ¸®½ÃÄÑ ÁÝ´Ï´Ù. ºñ·Ï ¾÷¹«´Â ±×µéÀÇ È°µ¿¿¡ º¯È­¸¦ °¡ÇÒ ¼ö ÀÖÁö¸¸ Á¤º¸ÀÇ ÇüÅ´ ±×´ë·Î ³²À¸·Á´Â °æÇâÀÌ ÀÖ½À´Ï´Ù. ±×·¯¹Ç·Î µ¥ÀÌÅÍ ±¸Á¶µµ º¯ÇÔ¾øÀÌ ±×´ë·Î ÀÖÀ¸·Á°í ÇÕ´Ï´Ù.

ER ¸ðµ¨¸µÀÇ ÀåÁ¡

 

°ü°èÇü µ¥ÀÌÅͺ£À̽º¿¡¼­ »ç¿ëµÇ´Â ¿ë¾î
  
   °ü°èÇü µ¥ÀÌÅͺ£À̽º´Â ÇÑ °³ ÀÌ»óÀÇ Å×À̺íÀ» °¡Áö°í ÀÖ½À´Ï´Ù. Å×À̺íÀº RDBMS¿¡¼­ÀÇ ±âº» ÀúÀå ±¸Á¶ÀÔ´Ï´Ù. Å×À̺íÀº Çö½Ç¼ÓÀÇ ¾î¶² »ç¹°¿¡ ´ëÇØ ÇÊ¿äÇÑ Á¤º¸¸¦ Áö´Ï°í Àִµ¥?¿¹¸¦ µé¸é, °í¿ëÀÎ, ¼ÛÀå, °í°´ µîÀÔ´Ï´Ù.
   
   À§ÀÇ ½½¶óÀ̵å´Â EMP table ¶Ç´Â relationÀ» º¸¿© ÁÖ°í ÀÖ½À´Ï´Ù. °¢ ¼ýÀÚ´Â ´ÙÀ½À» ÀǹÌÇÕ´Ï´Ù:
   
    1.  Æ¯Á¤ Á¾¾÷¿ø¿¡ ´ëÇÑ ¸ðµç µ¥ÀÌÅ͸¦ ³ªÅ¸³»´Â ´ÜÀÏ row ¶Ç´Â tupleÀÔ´Ï´Ù. Å×ÀÌºí¿¡¼­ °¢ ÇàÀº Áߺ¹µÇÁö ¾Ê´Â ÇàÀ» Çã¿ëÇÏ´Â ±âº» Å°(primary key)¿¡ ÀÇÇØ ½Äº°µÇ¾îÁ®¾ß ÇÕ´Ï´Ù. ÇàÀÇ ¼ø¼­´Â ¹«ÀǹÌÇÕ´Ï´Ù. µ¥ÀÌÅ͸¦ ÀÐ¾î µéÀÏ ¶§ Çà ¼ø¼­¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
    2.  ±âº» Å°(primary key)ÀÎ Á¾¾÷¿ø ¹øÈ£¸¦ Æ÷ÇÔÇÏ´Â ¿­ (column) ¶Ç´Â ¼Ó¼º (attribute)ÀÔ´Ï´Ù.  Á¾¾÷¿ø ¹øÈ£´Â EMP Å×ÀÌºí¿¡¼­ À¯ÀÏÇÑ(unique) Á¾¾÷¿øÀ» ½Äº°ÇÕ´Ï´Ù. ±âº» Å°(primary key)´Â °ªÀ» ²À Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù.
    3.  Å° °ªÀÌ ¾Æ´Ñ ¿­ÀÔ´Ï´Ù. ¿­Àº Å×ÀÌºí¿¡¼­ ÇÑ Á¾·ùÀÇ µ¥ÀÌÅ͸¦ ³ªÅ¸³À´Ï´Ù. À§ÀÇ ¿¹¿¡¼­´Â ¸ðµç Á¾¾÷¿ø¿¡ ´ëÇÑ ¾÷¹«¸í(JOB)ÀÌ ÇØ´çµË´Ï´Ù. ¿­ ¼ø¼­´Â µ¥ÀÌÅÍ ÀúÀå ½Ã¿¡´Â ¹«ÀǹÌÇÕ´Ï´Ù. µ¥ÀÌÅ͸¦ ÀÐ¾î µéÀÏ ¶§  ¿­ ¼ø¼­¸¦ ÁöÁ¤ÇϽʽÿÀ.
    4.  ºÎ¼­¹øÈ£¸¦ Æ÷ÇÔÇÏ´Â ¿­Àº ¿Ü·¡ Å°(foreign key)ÀÔ´Ï´Ù. ¿Ü·¡ Å°´Â Å×ÀÌºí °£¿¡ ¼­·Î ¾î¶»°Ô  °ü·ÃµÇ¾ú´Â°¡¸¦ Á¤ÀÇÇÕ´Ï´Ù. ¿Ü·¡ Å°´Â ´Ù¸¥ Å×À̺íÀÇ ±âº» Å° ¶Ç´Â °íÀ¯ Å°¸¦ ÂüÁ¶ÇÕ´Ï´Ù.   À§ÀÇ ¿¹¿¡¼­, DEPTNO´Â DEPT Å×ÀÌºí¿¡¼­ ºÎ¼­¸¦ unique ÇÏ°Ô ½Äº°ÇÕ´Ï´Ù.
    5.   Çʵå(field) ´Â Çà°ú ¿­ÀÇ ±³Â÷µÇ´Â °÷¿¡ ¹ß°ßµÉ ¼ö ÀÖ½À´Ï´Ù. ±× ¾È¿¡´Â ÇϳªÀÇ °ª¸¸ÀÌ Á¸ÀçÇÕ´Ï´Ù.
    6.  Çʵå´Â ±× ¾È¿¡ °ªÀ» °¡ÁöÁö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº null value¶ó ºÒ¸³´Ï´Ù. EMP  Å×ÀÌºí¿¡¼­ ¿µ¾÷ »ç¿øÀÎ Á¾¾÷¿ø¸¸ÀÌ COMM (commission) Çʵ忡¼­ °ªÀ» °¡Áý´Ï´Ù.

ÁÖ: Null °ªÀº ÈÄ¼Ó Àå¿¡¼­ ÀÚ¼¼È÷ ´Ù·ì´Ï´Ù.

 

°ü°èÇü µ¥ÀÌÅͺ£À̽º ¼Ó¼º

   °ü°èÇü µ¥ÀÌÅͺ£À̽º¿¡¼­´Â Å×À̺í·ÎÀÇ ¾×¼¼½º ·çÆ®¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸ç ¶Ç ¹°¸®ÀûÀ¸·Î µ¥ÀÌÅÍ°¡ ¾î¶»°Ô ³ª¿­µÇ´ÂÁö ¾Ë ÇÊ¿ä°¡ ¾ø½À´Ï´Ù.
   µ¥ÀÌÅͺ£À̽º¸¦ ÀÌ¿ëÇϱâ À§Çؼ­´Â, °ü°èÇü µ¥ÀÌÅͺ£À̽º¸¦ °¡µ¿½Ãų ¼ö ÀÖ´Â ANSI(American National Standards Institute) Ç¥ÁØ ¾ð¾îÀÎ SQL(Structured Query Language)¹®À» ½ÇÇàÇØ¾ß ÇÕ´Ï´Ù. ÀÌ ¾ð¾î´Â °ü°è(relation)¸¦ Á¶ÇÕ, ºÐ¸® ½Ãų ¼ö ÀÖ´Â ÀÏ·ÃÀÇ Å« ¿¬»êÀÚ ÁýÇÕÀ» Áö´Ï°í ÀÖ½À´Ï´Ù. µ¥ÀÌÅͺ£À̽º´Â SQL¹® »ç¿ëÀ¸·Î ¼öÁ¤µµ ÇÒ ¼ö ÀÖ½À´Ï´Ù.

SQL ¹®Àå

   SQL·Î ¼­¹ö¿Í Åë½ÅÀÌ °¡´ÉÇÏ¸ç ´ÙÀ½ÀÇ ÀåÁ¡ µîÀ» Áö´Ï°í ÀÖ½À´Ï´Ù:
   

 

Oracle8 ¿¡ ´ëÇÏ¿©

Oracle8Àº ¿À¶óŬ¿¡ ÀÇÇØ °³¹ßµÈ ù ¹ø° °´Ã¼°¡´É µ¥ÀÌÅͺ£À̽º ÀÔ´Ï´Ù. ÀÌ°ÍÀº »õ·Î¿î ORDBMS¸¦ Áö¿ø Çϱâ À§ÇÏ¿© Oracle7ÀÇ µ¥ÀÌÅÍ ¸ðµ¨¸µ ´É·ÂÀ» È®ÀåÇÕ´Ï´Ù. Oracle8Àº °´Ã¼ ÁöÇâ ÇÁ·Î±×·¡¹Ö, º¹ÀâÇÑ µ¥ÀÌÅÍ Å¸ÀÔ, º¹ÀâÇÑ ºñÁö´Ï½º °´Ã¼, ½Ç¼¼°è¿Í ¿ÏÀüÈ÷ ¾ç¸³ °¡´ÉÇÑ »õ ¿£ÁøÀ» Á¦°øÇÕ´Ï´Ù.
Oracle8Àº ¸¹Àº ¸é¿¡¼­ Oracle7À» È®ÀåÇÕ´Ï´Ù. ·±Å¸ÀÓ µ¥ÀÌÅͱ¸Á¶¸¦ ´õ ¸¹ÀÌ °øÀ¯ÇÏ°í, ´õ Å« ¹öÆÛ Ä³½¬¸¦ Àâ°í, Á¦¾àÁ¶°ÇÀ» Áö¿¬ °¡´ÉÄÉ ÇÏ´Â µî OLTP(Online Transaction Processing)ÀÇ ±â´É¼º°ú ¼º´ÉÀ» Çâ»ó½Ãŵ´Ï´Ù. µ¥ÀÌÅÍ ¿þ¾îÇϿ콺 ¾îÇø®ÄÉÀ̼ÇÀº »ðÀÔ, °»½Å, »èÁ¦ÀÇ º´·Ä ¼öÇà, ºÐÇÒ, º´·Ä ÀνÄÁúÀÇ ÃÖÀûÈ­ °°Àº ¼º´É Çâ»ó Ãø¸é¿¡¼­ ÀåÁ¡ÀÌ ÀÖ½À´Ï´Ù. NCA(Network Computing Architecture) ÇÁ·¹ÀÓ¿öÅ©¿¡¼­ ÀÛµ¿ÁßÀÎ Oracle8Àº ºÐ»êµÇ°í(distributed) ´ÙÁßÀ¸·Î °íÁ¤µÈ(multitiered) Ŭ¶óÀ̾ðÆ®-¼­¹ö¿Í À¥ ±â¹Ý ¾îÇø®ÄÉÀ̼ÇÀ» Áö¿øÇÕ´Ï´Ù.
Oracle8Àº ¼ö½Ê¸¸ÀÇ µ¿½Ã »ç¿ëÀÚ¸¦ Á¶Á¤ÇÒ ¼ö ÀÖ°í 512 petabytes ±îÁö Áö¿øÇϸç ÀüÅëÀûÀ¸·Î ±¸Á¶È­µÈ µ¥ÀÌÅÍ »Ó¸¸ ¾Æ´Ï¶ó ÅؽºÆ®, °ø°£ À̹ÌÁö, »ç¿îµå, ºñµð¿À, ÀÏ·ÃÀÇ ½Ã°£À» Æ÷ÇÔÇÏ´Â ¾î¶² ŸÀÔÀÇ µ¥ÀÌÅ͵µ ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÚ¼¼ÇÑ ³»¿ëÀ» ¾Ë°íÀÚ ÇÑ´Ù¸é, ´ÙÀ½À» ÂüÁ¶ÇϽʽÿÀ.

Oracle Server Concepts Manual, Release 7.3.
Oracle Server Concepts Manual, Release 8.0.

 

SQL ¹®Àå
¿À¶óŬ SQLÀº »ê¾÷½ÂÀÎÇ¥ÁØÀ» µû¸¨´Ï´Ù. ¿À¶óŬ ȸ»ç´Â SQL Ç¥ÁØ À§¿øȸ¿¡ ÁÖ¿ä Àλ縦 Àû±ØÀûÀ¸·Î Æ÷ÇÔ½ÃÄÑ, º¯È­, ¹ßÀüÇϴ ǥÁØ¿¡ ´ëÇÑ ¹Ì·¡ ¼ö¿ëÀ» º¸ÁõÇÕ´Ï´Ù. »ê¾÷½ÂÀΠǥÁØÀ§¿øȸ´ÂANSI(American Standards Institute)¿Í ISO(International Standards Organization) ÀÔ´Ï´Ù. ANSI ¿Í ISO ´Â °ü°èÇü µ¥ÀÌÅͺ£À̽º Ç¥ÁØ ¾ð¾î·Î SQLÀ» äÅÃÇß½À´Ï´Ù.

¹®Àå

¼³¸í

SELECT

µ¥ÀÌÅͺ£À̽º·ÎºÎÅÍ µ¥ÀÌÅÍ °Ë»ö

INSERT
UPDATE
DELETE

°³º°ÀûÀ¸·Î µ¥ÀÌÅͺ£À̽º Å×ÀÌºí¿¡¼­ »õ·Î¿î ÇàÀ» ÀÔ·ÂÇÏ°í ±âÁ¸ÀÇ ÇàÀ» º¯°æÇÏ°í, ¿øÄ¡ ¾Ê´Â ÇàÀ» Á¦°ÅÇÕ´Ï´Ù. ÃÑ°ýÇÏ¿©   DML (data manipulation language)À̶ó ºÎ¸¨´Ï´Ù.

CREATE
ALTER
DROP
RENAME
TRUNCATE

Å×À̺í·ÎºÎÅÍ µ¥ÀÌÅÍ ±¸Á¶¸¦ »ý¼º, º¯°æ, Á¦°Å¸¦ Çϸç DDL (data definition language)À̶ó ºÎ¸¨´Ï´Ù.

COMMIT
ROLLBACK
SAVEPOINT

DML ¸í·É¹®À¸·Î ¸¸µç º¯°æÀ» °ü¸®. µ¥ÀÌÅÍ º¯°æÀº ³í¸®Àû Æ®·£Àè¼ÇÀ¸·Î ÇÔ²² ±×·ìÈ­ µÉ ¼ö ÀÖ½À´Ï´Ù.

GRANT
REVOKE

¿À¶óŬ µ¥ÀÌÅͺ£À̽º¿Í ±× ±¸Á¶¿¡°Ô ¾×¼¼½º ±ÇÇÑÀ» Á¦°øÇϰųª Á¦°ÅÇÕ´Ï´Ù. À̸¦ DCL (data control language)À̶ó ºÎ¸¨´Ï´Ù.

 

º» °úÁ¤¿¡ »ç¿ëµÇ´Â Å×À̺í

º» °úÁ¤¿¡¼­ 3°¡ÁöÀÇ ÁÖ¿ä Å×À̺íÀÌ »ç¿ëµÉ °ÍÀÔ´Ï´Ù: