|Abstract |Introduction |Goals of Research |Object-Oriented Database |System Implementation |Conclusion |References|
III. Object-Oriented Database
since 15 December, 1996, last modified 15 December, 1996
¾Õ¿¡¼ Á¦Á¶ µ¥ÀÌŸº£À̽ºÀÇ Çʿ伺, Á¦Á¶ µ¥ÀÌŸº£À̽ºÀÇ Æ¯Â¡, ±×¸®°í ÇöÀç »ç¿ëµÇ°í ÀÖ´Â Á¦Á¶ µ¥ÀÌŸº£À̽ºÀÇ ¹®Á¦Á¡À» »ìÆì º¸¾Ò´Ù. ¾ð±ÞÇÑ Á¦Á¶ µ¥ÀÌŸº£À̽º¿¡´ëÇÑ ¿ä±¸´Â »õ·Î¿î °³³äÀ» ±âº»À¸·Î ÇÏ´Â µ¥ÀÌŸº£À̽º¸¦ °í¾ÈÇϵµ·Ï ÇÏ¿´´Ù. Â÷¼¼´ë µ¥ÀÌŸº£À̽º(Next Generation Database)·Î ÀÏÄþîÁö´Â ÀÌµé µ¥ÀÌŸº£À̽º ÁßÀÇ Çϳª°¡ °´Ã¼ÁöÇâÀû µ¥ÀÌŸº£À̽º(Object-Oriented Database)ÀÌ´Ù. °´Ã¼ÁöÇâÀû µ¥ÀÌŸº£À̽º´Â ÇÁ·Î±×·¥¹Ö ¾ð¾î, ÀΰøÁö´É¿¡¼ ¹ßÀüµÈ °´Ã¼ÁöÇâÀû °³³äÀ» ±âº»À¸·Î ÇÏ°í ÀÖÀ¸¸ç, ÀÌ °´Ã¼ ÁöÇâÀû °³³äÀº Çö½ÇÀÇ Ç¥Çö·Â(¶Ç´Â Ãß»óÈ ´É·Â)ÀÌ ¶Ù¾î³ª´Ù´Â °Í ÀÌ¿Ü¿¡ »ó¼Ó¼º, Ãß»óÀû Å×ÀÌŸ ÇüÀÇ ±¸ÇöµîÀ¸·Î ¿©·Á°¡Áö ÀåÁ¡À» º¸¿©ÁÖ°í ÀÖ´Ù. ÀÌ Àå¿¡¼´Â °´Ã¼ÁöÇâÀû °³³äÀÌ Á¦Á¶ µ¥ÀÌŸº£À̽º¿¡ ¾î¶°ÇÑ ÀåÁ¡À» ÁÙ ¼ö ÀÖ´ÂÁö¸¦ ¿°µÎ¿¡ µÎ¸é¼, ±âº»ÀÌ µÇ´Â °´Ã¼ÁöÇâÀû °³³ä°ú ÀÌ °³³äÀ» ½ÇÇö ½ÃŲ °´Ã¼ÁöÇâÀû µ¥ÀÌŸº£À̽º¿¡ ´ëÇØ ±â¼úÇÏ°Ú´Ù.
3.1 °´Ã¼ÁöÇâÀû ¸ðµ¨
°ü°èÇü ¸ðµ¨°ú ´Ù¸£°Ô °´Ã¼ÁöÇâÀû ¸ðµ¨Àº ¿©·¯ ¿¬±¸ºÐ¾ßÀÇ ¼º°úÀÇ °áÁ¤Ã¼¶ó°í º¼ ¼ö ÀÖ´Ù. ÇÁ·Î±×·¥ ¾ð¾î, ÀΰøÁö´É, µ¥ÀÌŸº£À̽º¿¡¼ÀÇ ¹ßÀüÀÌ Çϳª·Î ÅëÇյǾî Çö½Ç¼¼°è¸¦ °¢ ºÐ¾ßÀÇ µµ±¸¸¦ ÀÌ¿ëÇؼ ¸ðµ¨¸µÇϴµ¥ ÇÊ¿äÇÑ ÀϹÝÀû ½Ã°¢À» Çü¼ºÇÑ °ÍÀÌ´Ù. ÇÏÁö¸¸ °´Ã¼ÁöÇâÀû ¸ðµ¨Àº ªÀº ¿¬±¸¿ª»ç¿Í ´Ù¾çÇÑ °³³äÀ¸·Î ÀÎÇÏ¿© ¾ÆÁ÷ ÅëÀÏµÈ ¸ðµ¨ÀÌ ¾øÀ¸¸ç, ´ÜÁö ´ë´Ù¼öÀÇ °ü·ÃµÈ ÇÐÀÚµéÀÌ °íÅëÀûÀ¸·Î ¼ö±àÇÏ´Â °øÅë °³³ä(Core Concept)ÀÌ ÀÖ´Ù[9]. °´Ã¼(Object), Ŭ·¡½º(Class), Á¤º¸ ÀºÀÍ(Encapsulation), »ó¼Ó¼º(Inheritance), ¸Þ½îµå(Method), ±×¸®°í ¸Þ¼¼Áö Àü´Þ(Message Passing)µîÀÌ ÀϹÝÀûÀÎ °øÅë °³³ä¿¡ ¼ÓÇÑ´Ù.
°´Ã¼ÁöÇâÀû Á¢±Ù¹æ½Ä¿¡¼´Â Ç¥ÇöÇÏ·Á´Â ¸ðµç ´ë»óÀ» °´Ã¼¶ó´Â ÅëÀÏµÈ °³³äÀ¸·Î º»´Ù. ÀÚµ¿Â÷ÀÇ ¿¹¿¡¼ ÀÚµ¿Â÷ÀÇ ¿£ÁøÀº °´Ã¼À̸ç, ¸öüµµ °´Ã¼ÀÌ´Ù. °´Ã¼´Â ²À ¹°¸®Àû Çüü¸¦ °®Ãâ ÇÊ¿ä°¡ ¾ø´Ù. °³³äÀûÀÌ°í Ãß»óÀûÀÎ °Íµµ µ¿ÀÏÇÑ ½Ã°¢À¸·Î º¼¼ö ÀÖ´Ù[15]. ¿¹ÀÇ ÀÚµ¿Â÷¿¡¼ ¿£ÁøÀÇ Ãâ·ÂÀ» ³ªÅ¸³»´Â ¼ýÀÚµµ °´Ã¼ÀÌ´Ù. ÀÌ¿Í °°Àº ¸ðµç Çö½Ç¼¼°èÀÇ »ç¹°À» °´Ã¼¶ó´Â ´ÜÀÏ °³³äÀ¸·Î °íÁ¤½ÃÅ´À¸·Î½á, º¹ÀâÇÑ Çö½ÇÀ» ÇϳªÀÇ °øÅëµÈ ´ÜÀ§ÀÇ °ü°è·Î ´Ü¼øÈ ½Ãų¼ö ÀÖ´Ù[10]. º¸´Ù ±¸Ã¼ÀûÀ¸·Î °´Ã¼´Â ¼Ó¼ºÀ» ³ªÅ¸³»´Â Ç׸ñ(Attribute)- ÀÌÈķδ ´ÜÁö Ç׸ñÀ̶ó°í ĪÇÑ´Ù- À» °¡Áö°í ÀÖ´Ù. ÇÑ ¹ßµ¿±â °´Ã¼ÀÇ Ç׸ñÀ¸·Î´Â Ãâ·Â, ÇüÁ¤¼ö, ÇǽºÅæÀÇ ¼ö, ±×¸®°í ¹è±â·®µîÀ» °¡Áú ¼ö ÀÖ´Ù. °ü°èÇü ¸ðµ¨°ú´Â ´Ù¸£°Ô À̵é Ç׸ñ°ªÀÌ °´Ã¼¸¦ ÀüÀûÀ¸·Î ±¸º°ÇÏÁö´Â ¾Ê´Â´Ù. °¢ °´Ã¼´Â ÀÚ½ÅÀ» ´Ù¸¥ °´Ã¼¿Í ±¸º°Çϱâ À§ÇÏ¿© Ç׸ñ°ª°ú ¾Æ¿ï·¯ °íÀ¯ÀÇ ½Äº°ÀÚ(Object Identifier)°¡ ÀÖ´Ù. Áï Ãâ·ÂÀÌ 300 ¸¶·Â, 4 ÇàÁ¤, 6±âÅë, 1500 cc ÀÇ Ç׸ñ °ªÀ» °¡Áö°í ÀÖ´Â µÎ°³ÀÇ ¹ßµ¿±â¶ó°í Çصµ ¸¸µç ȸ»ç°¡ ´Ù¸§À¸·Î Çؼ ¼·Î ´Ù¸¥ °´Ã¼·Î Ãë±ÞµÉ(¼·Î ´Ù¸¥ °´Ã¼ ½Äº°ÀÚ¸¦ °¡Áú) ¼ö ÀÖ´Ù.
Ŭ·¡½º´Â °°Àº Á¾·ùÀÇ °´Ã¼¸¦ ¸ð¾ÆÁÖ´Â ÀÏÁ¾ÀÇ Æ²(Structure)ÀÌ´Ù. Çö½Ç¼¼°è¸¦ °´Ã¼¶ó´Â ÇϳªÀÇ ´ÜÀ§·Î º¸¸é, À̵é Çϳª ÇϳªÀÇ °ü°è¸¦ ³ªÅ¸³»´Â °ÍÀº ºñÈ¿À²ÀûÀÌ¸ç ºÒ°¡´ÉÇÏ´Ù. À̵éÁß °°Àº °ÍµéÀ» ÇϳªÀÇ Æ²·Î ¹°í ±× ƲµéÀÇ °ü°è¸¦ Á¤ÀÇÇÏ´Â °ÍÀÌ º¸´Ù È¿À²ÀûÀÏ °ÍÀÌ´Ù. ³ª¾Æ°¡ Ŭ·¡½º´Â ¼ÓÇÑ °´Ã¼µéÀÌ °øÅëÀ¸·Î °¡Áö´Â Ç׸ñ°ªÀ̳ª µÚ¿¡ ¾ð±ÞÇÒ ¸Þ½îµå¸¦ ´ëÇ¥·Î Á¤ÀÇÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù. ¿¹·Î Çö½Ç¼¼°èÀÇ ¸ðµç ¹ßµ¿±âÀÇ ÇàÁ¤ÀÌ 4ÇàÁ¤À̶ó¸é ÀÌ Ç׸ñ°ªÀº °¢ °´Ã¼°¡ °¡Áö´Â °Íº¸´Ù´Â ¹ßµ¿±âÀÇ Å¬·¡½º Ç׸ñ°ª¿¡ ´ëÇ¥·Î Æ÷ÇÔÇÏ¸é º¸´Ù È¿À²ÀûÀÌ´Ù.
Ŭ·¡½º°£ÀÇ °ü°è´Â Å©°Ô µÎ°¡Áö·Î ³ª´¶´Ù. Çϳª´Â ÇÑ Å¬·¡½º°¡ ´Ù¸¥ Ŭ·¡½ºÀÇ Æ¯¼öÇÑ °æ¿ì°¡ µÇ´Â °æ¿ìÀÌ°í, ´Ù¸¥ Çϳª´Â ÇÑ Å¬·¡½º°¡ ´Ù¸¥ Ŭ·¡½ºÀÇ ÇÑ Ç׸ñ°ªÀÇ ¹üÀ§ (Domain)°¡ µÇ´Â °æ¿ìÀÌ´Ù. ÈÄÀÚÀÇ °æ¿ì´Â Aggregation °ü°è¸¦ ±¸¼ºÇÑ´Ù[9]. ÀüÀÚÀÇ °æ¿ì¿¡´Â µÎ Ŭ·¡½º°£¿¡ »ó¼Ó¼º(Inheritance)ÀÌ ³ªÅ¸³»°Ô ÇÑ´Ù. »ó¼Ó¼ºÀÌ ³ªÅ¸³ª´Â °ü°è¿¡¼ ÀϹÝÀûÀΠŬ·¡½º(»óÀ§ Ŭ·¡½º: Super Class)ÀÇ ¸ðµç Ç׸ñÀº Ư¼öÇÑ Å¬·¡½º(ÇÏÀ§ Ŭ·¡½º: Sub Class)¿¡ ¸ðµÎ »ó¼ÓµÈ´Ù. À̶§ ÇÏÀ§ Å©·¡½º´Â »óÀ§ Ŭ·¡½º¿¡¼ »ó¼Ó¹ÞÀº Ç׸ñ¿¡ ´ëÇؼ´Â ´Ù½Ã Á¤ÀÇÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ¿¹·Î Ãâ·Â°ú ¹è±â·®À» Ç׸ñÀ¸·Î °¡Áö´Â ¹ßµ¿±â¶ó´Â Ŭ·¡½º ¾Æ·¡¿¡ Ãâ·Â, ¹è±â·®, Á¡È±â±¸¶ó´Â Ç׸ñÀ» °¡Áø °¡¼Ö¸° ¹ßµ¿±â¿Í Ãâ·Â, ¹è±â·®, ±×¸®°í ¾ÐÃà±â±¸¶ó´Â Ç׸ñÀ» °¡Áø µðÁ© ¹ßµ¿±â¶ó´Â µÎ°¡Áö ÇÏÀ§ Ŭ·¡½º°¡ Á¸ÀçÇÒ ¼ö ÀÖ´Ù. Ãâ·Â°ú ¹è±â·® Ç׸ñÀº »óÀ§ Ŭ·¡½º ¹ßµ¿±â¿¡¼ »ó¼Ó¹ÞÀº °ÍÀ̹ǷΠ°¡¼Ö¸°°ú µðÁ© ¹ßµ¿±â Ŭ·¡½º¿¡¼´Â ´Ù½Ã Á¤ÀÇÇÒ ÇÊ¿ä°¡ ¾ø´Ù.
±×¸² 1. ¹ßµ¿±âÀÇ Inheritance °ü°è¿Í Aggregation °ü°è
ÀÚ·á¿Í ±× ÀڷḦ ó¸®ÇÏ´Â ÇÁ·Î½Ãµà¾î(Procedure)¸¦ °°Àº Àå¼Ò¿¡ °°Àº ¹æ¹ýÀ¸·Î °ü¸®ÇÑ´Ù¸é ¸Å¿ì Æí¸®ÇÏ´Ù. °´Ã¼ÁöÇâÀû °³³ä¿¡¼´Â ¸Þ½îµå(Method)¶ó ºÒ¸®´Â ÇÁ·Î½Ãµà¾î¸¦ ÀÏ¹Ý ÀÚ·á Ç׸ñ°ú °°Àº ¹æ½ÄÀ¸·Î °ü¸®ÇÑ´Ù. ¸Þ½îµå´Â °´Ã¼¿¡ º¸³»Áø ½ÅÈ£¿Í ÇÊ¿äÇÑ ÀÔ·Â Á¤º¸¸¦ ¹ÞÀ¸¸é Á¤ÇØÁø ÀÛ¾÷À» ½ÇÇàÇÏ°í ±× °á°ú¸¦ ³»°Å³ª, ȤÀº ´Ù¸¥ °´Ã¼¿¡ ½ÅÈ£¸¦ º¸³»±âµµ ÇÑ´Ù. À̶§ ƯÁ¤ °³Ã¼¿¡ È°µ¿À» ÀÏÀ¸Å°°Ô ÇÏ´Â ½ÅÈ£¸¦ ¸Þ¼¼Áö(Message)¶ó°í ÇÏ°í ¸Þ¼¼ÁöÀÇ °´Ã¼°£ÀÇ À̵¿À» ¸Þ¼¼Áö Àü´Þ(Message Passing)À̶ó°í ÇÑ´Ù. ¿¹·Î ¹ßµ¿±âÀÇ ¼ö¸íÀ» °è»êÇÏ´Â ¸Þ½îµå°¡ ¹ßµ¿±â Ŭ·¡½º¿¡ ÀÖ°í, ÀÌ´Â ´ÜÁö ¹ßµ¿±â¸¦ ÀåÂøÇÑ Â÷üÀÇ ¹«°Ô¿Í °ü°èÀÖ´Ù°í ÇÑ´Ù¸é ´ÙÀ½°ú °°Àº ¸Þ¼¼Áö Àü´ÞÀ» ÅëÇØ ¹ßµ¿±âÀÇ ¼ö¸íÀ» °è»êÇÒ ¼ö ÀÖ´Ù. ¼ö¸íÀ» ¾Ë±â À§Çؼ ¹ßµ¿±â °´Ã¼¿¡ ¼ö¸íÀ» ±¸Ç϶ó´Â ¸Þ¼¼Áö¸¦ Àü´ÞÇÑ´Ù. ÀÌ ¸Þ¼¼Áö¸¦ ¹ÞÀº °´Ã¼´Â °ð ÇÊ¿äÇÑ Á¤º¸¸¦ ¾ò±âÀ§ÇØ Æ¯Á¤ Â÷ü °´Ã¼ (¹ßµ¿±â¸¦ ÀåÂøÇÒ Â÷ü °´Ã¼) ¹«°Ô¸¦ ÀüÇØ ´Þ¶ó´Â ¸Þ¼¼Áö¸¦ Àü´ÞÇÏ°í, ÇØ´ç Â÷ü °´Ã¼´Â ÀÚ½ÅÀÇ ¹«°Ô¸¦ µÇµ¹·Á ÁÖ°Ô µÈ´Ù. ÀÌ·Î½á ¼ö¸íÀ» °è»êÇÒ ¼ö ÀÖ°ÔµÈ ¹ßµ¿±â °´Ã¼´Â ¼ö¸íÀ» °è»êÇÏ¿© °á°ú¸¦ ³»ÁÖ°Ô µÈ´Ù.
±×¸² 2. ¹ßµ¿±âÀÇ ¼ö¸íÀ» ±¸ÇÏ´Â ¸Þ½îµå(Method)¿Í Message Passing
Á¤º¸ÀºÀÍ(Encapsulation)À̶õ °´Ã¼ÀÇ Á¤º¸¸¦ ÀÏÁ¤ÇÑ °æ·Î¸¦ ÅëÇؼ¸¸ Á¢±ÙÇÒ ¼ö ÀÖ°Ô ÇÏ´Â °Í( ¸Þ½îµå¸¦ ÅëÇÏ¿© )À» ¸»ÇÑ´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î½á, °´Ã¼¿¡ Á¢±ÙÇÏ´Â ÀÌ¿ëÀڴ ǥÁØÈµÈ ¹æ¹ýÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. Ç¥ÁØÈµÈ ¹æ¹ýÀº ´Ù¸¥ ÀÀ¿ë¿¡¼µµ Àç»ç¿ëÇÒ ¼ö ÀÖÀ½À¸·Î È¿À²Àû ÇÁ·Î±×·¥ °ü¸®¸¦ ÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ ÀÏÁ¤ÇÑ °æ·Î¸¦ »ç¿ëÇϹǷνá Á¤º¸ÀÇ ¾ÈÀüÀ̶ó´Â Ãø¸éÀÇ ÀÌÀ͵µ »ý°¢ÇÒ ¼ö ÀÖ´Ù.
3.2 °´Ã¼ÁöÇâÀû µ¥ÀÌŸº£À̽º
°´Ã¼ÁöÇâÀû °³³äÀº ¸Å¿ì ÀϹÝÀûÀÎ °³³äÀ¸·Î µ¥ÀÌŸº£À̽º ºÐ¾ß¿¡µµ ¿µÇâÀ» ¹ÌÃÆ´Ù. ÇÁ·Î±×·¡¹Ö ¾ð¾î, ÀΰøÁö´É, ½Ã½ºÅÛ ºÐ¼®µî ´Ù¸¥ ºÐ¾ß¿¡ ÀÀ¿ëµÈ °´Ã¼ÁöÇâ °³³ä°ú Â÷ÀÌ°¡ ¾ø´Â °³³äÀ» µ¥ÀÌŸº£À̽º ºÐ¾ß¿¡¼µµ ã¾Æº¼ ¼ö ÀÖ´Ù. ÀÌ´Â °´Ã¼ÁöÇâÀû µ¥ÀÌŸº£À̽ºÀÇ ¶Ç´Ù¸¥ ÀåÁ¡À¸·Î ºÎ°¢µÇ°í ÀÖ´Ù. °´Ã¼ÁöÇâÀû ½Ã½ºÅÛ ºÐ¼®¿¡¼ÀÇ ÀÏ°üµÈ °´Ã¼ÁöÇâÀû °³³äÀÌ µ¥ÀÌŸº£À̽º ±¸Çö´Ü°è¿¡¼µµ ±×´ë·Î Àû¿ë µÇ¹Ç·Î ºÐ¼®°ú ±¸Çö´Ü°è¿¡¼ÀÇ ÀÚ¿¬½º·¯¿î ¿¬°áÀÌ µÈ´Ù. ¾Æ¿ï·¯ °´Ã¼ÁöÇâÀû ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ »ç¿ëÇؼ ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇÑ´Ù¸é, µ¥ÀÌŸº£À̽º¿Í ÀÀ¿ë ÇÁ·Î±×·¥ ¾ð¾î Â÷ÀÌ¿¡¼ ¿À´Â ÀÌÁú¼ºÀ» ±Øº¹ÇÏ¿© ÀüüÀûÀ¸·Î ÀÏ°üµÈ °³³ä°ú ȯ°æÇÏ¿¡¼ ½Ã½ºÅÛÀ» ±¸ÇöÇÒ ¼ö ÀÖ´Ù[11].
À§ÀÇ ¾ð±ÞÇÑ ÀåÁ¡ÀÌ¿Ü¿¡ °´Ã¼ÁöÇâ µ¥ÀÌŸº£À̽º´Â Áö±Ý±îÁöÀÇ µ¥ÀÌŸº£À̽ºÀÇ ´ÜÁ¡À» ÇØ¼Ò ½Ãų¼ö ÀÖ´Â ¸î°¡Áö Ư¡À» °¡Áö°í ÀÖ´Ù. ÀÌ Æ¯Â¡Àº °´Ã¤ ÁöÇâÀû °³³äÀÇ Å¬·¡½º °èÃþ±¸Á¶(Class Hierarchy), ¸Þ½îµå(Method), À¯Àü¼º(Inheritance)µîÀÇ ¼ºÁú¿¡¼ºÎÅÍ ÆÄ»ýµÈ´Ù. Áö±ÝºÎÅÍ °´Ã¼ÁöÇâ µ¥ÀÌŸº£À̽º°¡ ±âÁ¸ÀÇ µ¥ÀÌŸº£À̽º¿¡ ºñÇÏ¿© ¾î¶² ÀåÁ¡ÀÌ ÀÖ´ÂÁö¸¦ Á¦Á¶ºÐ¾ß¿¡ ÀÀ¿ëÀ» ¿¹·Î ¾Ë¾Æº¸°Ú´Ù.
°´Ã¼ÁöÇâÀû µ¥ÀÌŸº£À̽º´Â Ŭ·¡½º ÀÚ·á ±¸Á¶¸¦ ÀÌ¿ëÇÏ¿© ´Ù¾çÇÑ Çö½Ç¼¼°è¸¦ ½±°Ô Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. »óÀ§ Ŭ·¡½º¿Í ÇÏÀ§ Ŭ·¡½ºÀÇ °ü°èÀÎ IS-A°ü°è¿Í aggregatoion °ü°è¸¦ ¸¸µå´Â IS-PART-OF °ü°è°¡ °´Ã¼ÁöÇâÀû µ¥ÀÌŸº£À̽º¿¡¼ ³ªÅ¸³¾ ¼ö Àִ Ŭ·¡½º°£ÀÇ °ü°èÀÌ´Ù. ƯÈ÷ ±¸¼º¿ä¼ÒµéÀÌ °èÃþÀû °ü°è¿Í ºÎ¼ÓÀû °ü°è°¡ ¸¹Àº Á¦Á¶ µ¥ÀÌŸº£À̽º¿¡¼´Â Çö½Ç ¼¼°è¿Í Ç¥ÇöÇÏ·Á´Â °´Ã¼ÁöÇâÀû ¸ðµ¨ÀÌ Àß ÀÏÄ¡ÇÑ´Ù. ¿¹·Î ¹ßµ¿±â Á¦Á¶ °øÀå¿¡¼ °¡¼Ö¸°°ú µðÁ© ¹ßµ¿±â¸¦ »ý»êÇϸç, °¢ Á¦Ç° Á¾·ù¸¶´Ù °øÅëÀ¸·Î µé¾î°¡´Â ÀÚ·á Ç׸ñÀÌ ¹è±â·®, Ãâ·ÂÀ̶ó°í ÇÏÀÚ. ÀÌ Á¤º¸ÀÇ Ç¥ÇöÀ» ¹ßµ¿±â¶ó´Â Ŭ·¡½º¿Í °¡¼Ö¸° ¹ßµ¿±â, µðÁ© ¹ßµ¿±â¶ó´Â Ŭ·¡½º¸¦ ¸¸µé°í, ¹ßµ¿±â Ŭ·¡½º¿Í °¡¼Ö¸°, µðÁ© ¹ßµ¿±â Ŭ·¡½º»çÀÌ¿¡ IS-A °ü°è¸¦ ¼³Á¤ÇÏ¸é ½ÇÁ¦ ¼¼°è¸¦ ÀÚ¿¬½º·´°Ô Ç¥ÇöÇÒ ¼ö ÀÖ°í, Ç׸ñÀ» Àç»ç¿ëÇÒ ¼öµµ ÀÖ´Ù.
°´Ã¼ ÁöÇâÀû µ¥ÀÌŸº£À̽º´Â ÀڷᱸÁ¶¸¦ ½±°Ô º¯È½Ãų ¼ö ÀÖ´Ù. ±âÁ¸ÀÇ °ü°èÇü µ¥ÀÌŸº£À̽º´Â ÀڷᱸÁ¶ÀÇ º¯È¸¦ À§Çؼ´Â Àüü ½Ã½ºÅÛÀ» ¸ØÃáÈÄ ¼öÁ¤À» ÇØ¾ß Çß´Ù. ÀÌ¿¡ ºñÇØ °´Ã¼ ÁöÇâ µ¥ÀÌŸº£À̽ºÀÇ ½ºÅ°¸¶ º¯È¯(Schema Evolution) ±â´É - 2Àå¿¡¼ ¾ð±ÞÇÑ ÀڷᱸÁ¶ º¯È¯±â´É- Àº µ¥ÀÌŸº£À̽º ¿î¿ë ´Ü°è¿¡¼ ÀڷᱸÁ¶¸¦ º¯È½Ãų¼ö ÀÖ´Ù.
½ºÅ°¸¶ º¯È¯ ±â´ÉÀº Á¦Ç°ÀÇ µðÀÚÀÎ ´Ü°è¿Í À¯¿¬ Á¦Á¶½Ã½ºÅÛ µî, ªÀº ½Ã°£¿¡ »õ·Î¿î ÇüÅÂÀÇ ÀڷᱸÁ¶°¡ ÇÊ¿äÇÑ ºÎºÐ¿¡ ¸Å¿ì Æí¸®ÇÏ°Ô »ç¿ëµÉ ¼ö ÀÖ´Ù. ƯÈ÷ ¼³°è´Ü°è¿¡¼´Â ¸¹Àº ½ÃÇè Á¦Ç°À» ±¸»óÇغ¸°Ô µÇ´Âµ¥, °¢°¢ÀÇ ½ÃÇè ÀçÇ°Àº ½Ã°£ÀûÀ¸·Î ¾Õ¼± ½ÃÇè Á¦Ç°¿¡ º¯È¸¦ ÁØ °ÍÀÌ´Ù. ±×·¯¹Ç·Î À̵鰣¿¡´Â ´ÜÁö Ç׸ñÀÇ °ªÀÌ ¹Ù²ï º¯È¿¡¼ Àüü ±¸Á¶°¡ ¹Ù²ï º¯È±îÁö ´Ù¾çÇÑ ÇüÅÂÀÇ °ü°è°¡ ¼º¸³µÈ´Ù. ¼³°è ´Ü°è¿¡¼ÀÇ Á¦Ç° Á¤º¸ÀÇ º¯È¸¦ ÀúÀåÇÏ°í °ü¸®ÇÏ´Â ¹öÁ¯ °ü¸®¿¡¼ °´Ã¼ÁöÇâÀû µ¥ÀÌŸº£À̽ºÀÇ ÀÚÀ¯·ÎÀº ½ºÅ°¸¶ º¯È¯ ´É·ÂÀÌ ¸Å¿ì Áß¿äÇÑ ¿ªÇÒÀ» ÇÑ´Ù.
¸Þ½îµå °³³äÀº °´Ã¼ÁöÇâ µ¥ÀÌŸº£À̽º°¡ ÇØ´ç ÀÚ·á¿Í ±×ÀÇ ÇÁ·Î½Ãµà¾î¸¦ °°ÀÌ ¼ÒÀ¯ÇÏ°Ô ÇÑ´Ù. ´Ù¾çÇÑ ÇüÅÂÀÇ Á¤º¸¿Í ±×ÀÇ ´Ù¾çÇÑ Ã³¸®¸¦ ÇÊ¿ä·Î ÇÏ´Â ¼³°è, Á¦Á¶ ȯ°æ¿¡¼ ÀڷḦ »ç¿ëÇؼ ¾Ë¸Â´Â ÀÀ¿ë ÇÁ·Î±×·¥(ó¸® °úÁ¤)À» ¸¸µå´Â °ÍÀº Áß¿äÇÏ°íµµ ¾î·Á¿î ÀÏÀÌ´Ù. °´Ã¼ÁöÇâÀû µ¥ÀÌŸº£À̽º¿¡¼´Â ¸Þ½îµå¸¦ ÇØ´ç ÀÚ·á¿¡ ÇÊ¿äÇÑ ±âº»ÀûÀÌ°í Ç¥ÁØÈµÈ Ã³¸®°úÁ¤À¸·Î½á ¹Ì¸® Á¤ÀÇÇÏ°í, À̸¦ ÀÏ¹Ý ÀÚ·áó·³ °ü¸®ÇÑ´Ù(»ó¼Ó°ü°è, ÁúÀÇ ÀÎÃâ °ü¸® µî). ÀÌ¹Ì ¸¸µé¾îÁø ¸Þ½îµåµéÀº ÀÀ¿ë ÇÁ·Î±×·¥¾îµéÀÌ ÀÚ½ÅÀÇ ÇÁ·Î±×·¥¿¡ °¡Á®´Ù Àç »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¯¹Ç·Î ¸Þ½îµå´Â ¼³°è, Á¦Á¶ºÐ¾ß¿¡¼ ´ë±Ô¸ðÀÇ º¹ÀâÇÑ ÀÀ¿ë ÇÁ·Î±×·¥À̳ª, ÀϽÃÀûÀ¸·Î »ç¿ëµÇ´Â º¯È°¡ ½ÉÇÑ ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼º¿¡ È¿°úÀûÀ¸·Î »ç¿ëµÉ ¼ö ÀÖ´Ù.
±âÁ¸ÀÇ °ü°èÇü µ¥ÀÌŸº£À̽º¿¡¼´Â ÀÌ¿ëÀÚ Á¤ÀÇ ÀÚ·áÇüÀ» Áö¿øÇÏÁö ¸øÇÑ´Ù. ÇÏÁö¸¸ °´Ã¼ÁöÇâÀû µ¥ÀÌŸº£À̽ºÀÇ º¹ÇÕ °´Ã¼[9]´Â ´Ù¾çÇÑ ÀÌ¿ëÀÚ Á¤ÀÇ ÀÚ·áÇü¸¦ Áö¿øÇÑ´Ù. Áï, ÇÑ Ç׸ñÀÇ ÀÚ·áÇüÀÌ ´Ü¼øÇÑ Á¤¼ö, ¹®ÀÚ, ½Ç¼ö°¡ µÉ ¼ö ÀÖÀ» »Ó¸¸ ¾Æ´Ï¶ó ÀÌ¿ëÀÚ°¡ Á¤ÀÇÇÑ ¹ßµ¿±â¶ó´Â Ŭ·¡½º, ȤÀº Â÷ü¶ó´Â Ŭ·¡½ºµµ µÉ ¼ö ÀÖ´Ù. ÀÌ´Â ÀÌ¿ëÀÚ°¡ ÀÚ½ÅÀÌ Ç¥ÇöÇÒ ¼ö ÀÖ´Â ÀÚ·áÇüÅ¿¡ Á¦ÇÑÀ» ´À³¢Áö ¾Ê´Â´Ù´Â °ÍÀ» ¶æÇÑ´Ù. ÀÌ¿ëÀÚ Á¤ÀÇ ÀÚ·áÇüÀÇ Áö¿øÀº °´Ã¼ ÁöÇâÀû µ¥ÀÌŸº£À̽ºÀÇ Çö½Ç ¼¼°è¿¡ ´ëÇÑ Ç¥Çö·ÂÀ» ´õ¿í ³ô¿©ÁÖ´Â ¿ªÇÒÀ» ÇÑ´Ù.
°ü°èÇü Å×À̺íÀ» ÀÌ¿ëÇÏ¿©µµ ºÎºÐÀûÀ¸·Î ºÎÇ°°£ÀÇ º¹ÀâÇÑ °ü°è¸¦ Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ÀÌ °úÁ¤¿¡¼ ¿¬°ü°ü°è¸¦ ¼³Á¤Çϱâ À§ÇÏ¿© µÎ Å×ÀÌºí°£ÀÇ °ü°èµÈ Key Attribue¸¦ ¸ð¾Æ¼ »õ·Î¿î Å×À̺íÀ» ¸¸µé¾î¾ß ÇÏ°í, À̸¦ ÀÌ¿ëÇÏ¿© ½Ã°£°ú ÀÚ¿øÀÌ ¸¹À̵å´Â ¿¬»êÀ¸·Î ¾Ë·ÁÁø JoinÀ» ÇØ¾ß ÇÑ´Ù. ¹Ý¸é¿¡ °´Ã¼ÁöÇâÀû µ¥ÀÌŸº£À̽º´Â °ü°èµÈ ÀÚ·á¿¡°üÇÑ ÀÏÁ¾ÀÇ Áö½ÃÀÚ( Pointer )ÀÎ °´Ã¼ ÀνÄÀÚ(Object id)¸¦ °¡Áö°í ÀÖÀ¸¹Ç·Î ºü¸£°í Á÷Á¢ÀûÀ¸·Î ¿øÇÏ´Â ÀÚ·á¿¡ µµ´ÞÇÒ ¼ö ÀÖ´Ù. ÀÚ·á¿¡´ëÇÑ ºü¸¥ Á¢±Ù ±â´ÉÀº º¹ÀâÇÑ µ¥ÀÌŸ ÀúÀå ±¸Á¶¿¡¼ ´Ù¾çÇÑ ÀÚ·áµéÀ» ºó¹øÈ÷ ã¾Æ¾ßÇÏ´Â Á¦Á¶ µ¥ÀÌŸº£À̽º¿¡¼ Áß¿äÇÑ ¿ä±¸»çÇ×ÀÌ µÈ´Ù. È¿À²ÀûÀÎ °´Ã¼ÁöÇâÀû µ¥ÀÌŸº£À̽ºÀÇ ÀÚ·áÁ¢±Ù ¹æ½ÄÀº °á·Ð ºÎºÐ¿¡¼ Á¦¾ÈµÈ °´Ã¼ÁöÇâÀû ¸ðµ¨¿¡ ´ëÇÑ ÁúÀÇ¿Í µ¿ÀÏÇÑ ¹®Á¦¿¡ Àû¿ëµÈ °ü°èÇü ¸ðµ¨¿¡ ´ëÇÑ ÁúÀÇÀÇ ºñ±³¸¦ ÅëÇؼ º¸´Ù ÀÚ¼¼È÷ ¾Ë¾Æº»´Ù.
Korean Engineering Databases ¨Ï copyright Namchul Do, 1996