¾Ë±â ½±°Ô ÇØ¼³ÇÑ µ¥ÀÌÅͺ£À̽º·Ð
Ã¥ ¹Ì¸®º¸±â
  • Á¦¸ñ : ¾Ë±â ½±°Ô ÇØ¼³ÇÑ µ¥ÀÌÅͺ£À̽º·Ð
  • ±è°æ¼®, À±È«¿ø, ÀÌÁßÈ­ ±³¼ö ÁöÀ½
  • 2002.09.ÀÌÇÑ ÃâÆÇ»ç 333ÂÊ, ISBN 89-8241-287-5 °ª 11,000¿ø

Ã¥ ÁÖ¿ä³»¿ë
    ÀÌ Ã¥ÀÇ ÀüüÀûÀÎ È帧
    Á¦ 1 Àå µ¥ÀÌÅͺ£À̽º ±âº» °³³ä ¹× ¿ë¾î
    Á¦ 2 Àå °³Ã¼-°ü°è ¸ðµ¨ (entity-relationship model)
    Á¦ 3 Àå °ü°èÇü ¸ðµ¨ ¹× °ü°èÇü ´ë¼ö (relational algebra)
    Á¦ 4 Àå SQL (1): create table, select, from, where, ÅõÇà º¯¼ö
    Á¦ 5 Àå SQL (2): ÁýÇÕ, Áý°è, ºÎ¼Ó ÁúÀÇ, insert, delete, update, view
    Á¦ 6 Àå µµ¸ÞÀÎ, ÂüÁ¶ ¹«°á¼º, ÇÔ¼öÀû Á¾¼Ó
    Á¦ 7 Àå °ü°èÇü µ¥ÀÌÅͺ£À̽º ¼³°è (1): ¸ñÇ¥ ¹× Á¤±ÔÈ­ (normalization)
    Á¦ 8 Àå °ü°èÇü µ¥ÀÌÅͺ£À̽º ¼³°è (2): BCNF¿Í 3NF
    Á¦ 9 Àå Æ®·£Àè¼Ç (transactions)
    ºÙÀÓ
Àå ¹× Àý, Á¦¸ñ Â÷·Ê
  (¾Æ·¡ ÂÊ ¹øÈ£´Â ÆíÁýÇϱâ Àü ¿ø°íÀÇ ÂÊ ¹øÈ£À̸ç,ÆíÁý µÚ ½ÇÁ¦ ÀμâµÈ Ã¥ÀÇ ÂÊ ¹øÈ£¿Í´Â ´Ù¸¨´Ï´Ù.)
    ÀÌ Ã¥ÀÇ ÀüüÀûÀÎ È帧 1

    Á¦ 1 Àå µ¥ÀÌÅͺ£À̽º ±âº» °³³ä ¹× ¿ë¾î 2
      1.1 µ¥ÀÌÅͺ£À̽º¿Í µ¥ÀÌÅͺ£À̽º °ü¸® üÁ¦ 2
      1.2 µ¥ÀÌÅͺ£À̽º °ü¸® üÁ¦°¡ ÆÄÀÏ Ã³¸® Á¢±Ù ¹æ½Äº¸´Ù ÁÁÀº Á¡ 3
      1.3 ºä¿Í ÀÚ·á µ¶¸³¼º 9
      1.4 ½ºÅ°¸¶(schema)¿Í ÀνºÅϽº(instance) 14
      1.5 ÀÚ·á ¸ðµ¨ (data models) 16
      1.6 ÀÚ·á Á¤ÀÇ ¾ð¾î(DDL)¿Í ÀÚ·á Á¶ÀÛ¾î (DML) 18
      1.7 ÀÚ·á Á¶ÀÛ¾îÀÇ ¼ºÁú: ºñÀýÂ÷Àû, ÁýÇÕ °á°ú 18
      1.8 ¿ë¾î: ÁúÀǾî(query language)¿Í ÀÚ·á Á¶ÀÛ¾î(DML) 21
      1.9 µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ¿Í »ç¿ëÀÚ 21
      1.10 4GL, ¿î¿µ üÁ¦ 22

    Á¦ 2 Àå °³Ã¼-°ü°è ¸ðµ¨ (entity-relationship model) 24
      2.1 °³Ã¼ ¸ðÀ½ (entity set) 24
      2.2 ¼Ó¼º (attribute ¶Ç´Â property) 25
      2.3 °ü°è ¸ðÀ½(=ÁýÇÕ) (relationship set) 28
      2.4 »ç»ó(=¸ÅÇÎ) Á¦¾à Á¶°Ç (mapping constraints) 30
      2.5 Ű (keys) 32
      2.6 °³Ã¼-°ü°è ±×¸² (entity-relationship diagram) 37

    Á¦ 3 Àå °ü°èÇü ¸ðµ¨ ¹× °ü°èÇü ´ë¼ö (relational algebra) 38
      3.1 °ü°èÇü µ¥ÀÌÅͺ£À̽ºÀÇ ±¸Á¶ 38
      3.2 °ü°èÇü ´ë¼ö (relational algebra) ¼Ò°³ 42
      3.3 °ü°èÇü ´ë¼ö: ±âº» ¿¬»ê (primitive or fundamental ops) 5 °¡Áö 43
      3.4 °ü°èÇü ´ë¼ö: ±× ¹ÛÀÇ ¿¬»ê (additional operations) 54
      3.5 ºä (view, virtual relation) 58

    Á¦ 4 Àå SQL (1): create table, select, from, where, ÅõÇà º¯¼ö 61
      4.1 SQL ¼Ò°³ 61
      4.2 ÀÚ·á Çü (domain type) 63
      4.3 create table ¸í·ÉÀ» ½á¼­ ½ºÅ°¸¶ Á¤ÀÇÇϱâ 64
      4.4 select-from-where ¸í·É ½ÇÇà ¿ø¸® 66
      4.5 select ¸í·É¿¡¼­ ¼Ó¼ºÀ» ºñÃß±â 69
      4.6 where Àý¿¡¼­ Á¶°ÇÀ» ³ªÅ¸³»±â 71
      4.7 ¼Ó¼ºÀÇ À̸§À» Á¤Çϰųª ¹Ù²Ù±â (renaming attributes [as]) 73
      4.8 Ç¥¸¦ °¡¸®Å°´Â ÅõÇà º¯¼ö¸¦ Á¤ÀÇÇϱâ 75
      4.9 like: ±ÛÀÚ¶¼ (character string) ÆÐÅÏ ¿¬»ê 87
      4.10 ÅõÇà °£Ã߸®±â: order by 87

    Á¦ 5 Àå SQL (2): ÁýÇÕ, Áý°è, ºÎ¼Ó ÁúÀÇ, insert, delete, update, view 91
      5.1 ÁýÇÕ ¿¬»ê (set operations) 91
      5.2 Áý°è ÇÔ¼ö (aggregate functions) 95
      5.3 null °ªÀ» ³Ö´Â ¹æ¹ý 100
      5.4 select ¾ÈÀÇ ºÎ¼Ó ÁúÀÇ (nested subquery) 101
      5.5 ºä (view) Á¤ÀÇÇϱâ: create view 104
      5.6 Ç¥¿¡ ÅõÇÃÀ» ³Ö±â: insert 106
      5.7 Ç¥¿¡¼­ ÅõÇÃÀ» Áö¿ì±â: delete 109
      5.8 Ç¥ÀÇ ÅõÇà °ªÀ» ¹Ù²Ù±â: update 110
      5.9 ºä °»½Å ÀÌ»ó Çö»ó (view update anomaly) 111
      5.10 ³»Æ÷µÈ SQL ¹®Àå (embedded SQL) 116
      5.11 4GL (fourth generation language) 117

    Á¦ 6 Àå µµ¸ÞÀÎ, ÂüÁ¶ ¹«°á¼º, ÇÔ¼öÀû Á¾¼Ó 119
      6.1 µµ¸ÞÀÎ Á¦¾à (domain constraints) 120
      6.2 ÂüÁ¶ ¹«°á¼º (referential integrity) 120
      6.3 ÇÔ¼öÀû Á¾¼Ó (FD: functional dependencies) 125
      6.4 ÇÔ¼öÀû Á¾¼Ó ¸ðÀ½ÀÇ Å¬·ÎÁ®(=¿ïŸ¸®) (closure of a set of FDs) 133
      6.5 ±Ô¹üÀû Ä«¹ö(=µ¤°³) (canonical cover) 135

    Á¦ 7 Àå °ü°èÇü µ¥ÀÌÅͺ£À̽º ¼³°è (1): ¸ñÇ¥ ¹× Á¤±ÔÈ­ (normalization) 139
      7.1 °ü°èÇü µ¥ÀÌÅͺ£À̽º ¼³°èÀÇ ¸ñÇ¥¿Í ¹æ¹ý 139
      7.2 °ü°èÇü µ¥ÀÌÅͺ£À̽º¸¦ À߸ø ¼³°èÇÒ ¶§ÀÇ ¹®Á¦Á¡ 140
      7.3 ½ºÅ°¸¶¸¦ ³ª´©±â (decomposition) 142
      7.4 °¡Â¥ ÅõÇÃ (spurious tuples) 144
      7.5 ÇÔ¼öÀû Á¾¼ÓÀ» ¹ÙÅÁÀ¸·Î ÇÑ Á¤±ÔÈ­ (normalization using FDs) 146
      7.6 ³ª´©±âÇÒ ¶§ÀÇ ¹Ù¶÷Á÷ÇÑ Æ¯¼º (desirable properties of decomp) 146
      7.7 1NF (Á¦ 1 Á¤±Ô Çü) 151
      7.8 2NF (Á¦ 2 Á¤±Ô Çü) 153

    Á¦ 8 Àå °ü°èÇü µ¥ÀÌÅͺ£À̽º ¼³°è (2): BCNF¿Í 3NF 154
      8.1 BCNF (º¸À̽º-Ä«µå Á¤±Ô Çü: Boyce-Codd normal form) 154
      8.2 ³ª´©±â: BCNF°¡ ¾È µÇ¸é 3NF¸¦? 162
      8.3 3NF (Á¦ 3 Á¤±Ô Çü) 163
      8.4 BCNF¿Í 3NF¸¦ °ßÁÜ (comparison of BCNF and 3NF) 170
      8.5 4NF (Á¦ 4 Á¤±Ô Çü) [*ÀÌ ºÎºÐÀº °Ç³Ê¶Ù¾îµµ µÊ] 171
      8.6 5NF (Á¦ 5 Á¤±Ô Çü) [*ÀÌ ºÎºÐÀº °Ç³Ê¶Ù¾îµµ µÊ] 172

    Á¦ 9 Àå Æ®·£Àè¼Ç (transactions) 176
      9.1 Æ®·£Àè¼Ç ¼Ò°³ 176
      9.2 Æ®·£Àè¼ÇÀÇ ³× °¡Áö Ư¼º: ACID 177
      9.3 SQL¿¡¼­ Æ®·£Àè¼ÇÀ» ³ªÅ¸³»±â 179

    ºÙÀÓ 183
      ºÙÀÓ 1. Oracle8i SQL*Plus »ç¿ëÀÚ ¼³¸í¼­ 183
      ºÙÀÓ 2. MySQL »ç¿ëÀÚ ¼³¸í¼­ 192
      ºÙÀÓ 3. mSQL (miniSQL) 2.0 »ç¿ëÀÚ ¼³¸í¼­ 199
      ºÙÀÓ 4. Microsoft SQL Server »ç¿ëÀÚ ¼³¸í¼­ 205
      ºÙÀÓ 5. ÀÌ Ã¥¿¡¼­ ¾´ ÁÖ¿ä ½ºÅ°¸¶(=Ʋ) 209

    ã¾Æº¸±â (ÇѱÛ, Ư¼ö ±ÛÀÚ, ·Î¸¶ÀÚ Â÷·Ê´ë·Î ³ª¿È) 210
¸Ó¸´¸»
    1988 ³â ¹Ì±¹ ´ëÇÐ ±³¼ö ¶§ºÎÅÍ µ¥ÀÌÅͺ£À̽º °­ÀǸ¦ ÇØ¿ÔÀ¸´Ï ÀÌÁ¦ 15 ³âÀÌ µÇ¾ú´Ù. ÁöÀºÀ̰¡ ÀÌ Ã¥¿¡ ´ëÇÏ¿© ÀÚ½ÅÀÖ°Ô ¸»ÇÒ ¼ö ÀÖ´Â °Ô ÇÑ °¡Áö Àִµ¥, "ÀÌ Ã¥Àº ´ëÇпø»ý ¿©·¯ ¸íÀ» ½ÃÄѼ­ ´ëÃæ(?) ¸¸µç ±×·± Ã¥ÀÌ °áÄÚ ¾Æ´Ï¶ó, Ã¥ Àüü¸¦ ±³¼ö°¡ Á÷Á¢ ÇÑ ÀÚ ÇÑ ÀÚ Á¤¼º µé¿© ½è´Ù"´Â °ÍÀÌ´Ù.

    ±× Àü¿¡ ÃâÆÇ»ç¿¡¼­ ÁöÀºÀÌ´õ·¯ µ¥ÀÌÅͺ£À̽º ±³À縦 ½á ´Þ¶ó°í ºÎŹÇϸé, "¾îÈÞ, ±³Àç Çϳª ¸¸µå´Â °Ô ¾ó¸¶³ª Èûµçµ¥¿ä. Ã¥ÀÌ ¸¹ÀÌ ÆÈ¸±Áöµµ Àß ¸ð¸£°í. ±× µ¿¾È Â÷¶ó¸® µý ¿¬±¸ÇÏÁö¿ä" ÇÏ°í °ÅÀýÇÏ¿´´Ù. ±×·±µ¥, °­ÀǸ¦ ÇØº¸¸é ÇØº¼¼ö·Ï, ¸¶À½¿¡ µü ¸Â´Â ±³Àç°¡ ÀÖÀ¸¸é ÇлýµéÀÌ ½Ã°£À» Àû°Ô µéÀÌ°íµµ ÈξÀ ½±°Ô Áß¿äÇÑ ºÎºÐ¸¸À» °øºÎÇÒ ¼ö ÀÖÀ»ÅÙµ¥... ÇÏ´Â »ý°¢ÀÌ ÀÚ²Ù µé±â ½ÃÀÛÇÏ¿´°í, ±×·¡¼­ Ã¥À» ¾²±â·Î ¸¶À½¸Ô¾ú´Ù. ¿À·£ °­ÀÇ °æÇèÀ¸·Î, ¾î¶² ÁÖÁ¦´Â ÇлýµéÀÌ ½±°Ô ÀÌÇØÇÏ°í ¾î¶² ÁÖÁ¦´Â ¾ÆÁÖ Èûµé¾îÇÏ´ÂÁö Àß ¾Ë°í ÀÖÀ¸¹Ç·Î, ÇлýµéÀÌ ¾î·Á¿öÇÏ´Â °÷ÀÌ ¾îµðÀÎÁö¸¦ ¾Ë¾Æ¼­ ¸¶Ä¡ °¡·Á¿î µ¥¸¦ ±Ü¾îÁÖµíÀÌ ÀÌ Ã¥À» ½è´Ù.

    ÀÌ Ã¥Àº´ÙÀ½°ú °°Àº ¸î °¡Áö Ư¡ÀÌ ÀÖ´Ù.

    ù°, 15 ³â µ¿¾ÈÀÇ µ¥ÀÌÅͺ£À̽º °­ÀÇ °æÇèÀ» ¹ÙÅÁÀ¸·Î, 3 ½Ã°£ * 15 ÁÖ°£ÀÇ µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ °ú¸ñ¿¡¼­ ²À ¾Ë¾ÆµÎ¾î¾ß ÇÒ ÁÖÁ¦¸¸À» Áß½ÉÀ¸·Î Ã¥À» ¸¸µé¾ú´Ù. ´Ù¸¥ ¸¹Àº Ã¥µéÀ» º¸¸é, Ã¥¿¡ ´ã±ä ³»¿ëÀÌ ³Ê¹« ¸¹¾Æ¼­, ÇкΠÇлýµéÀÌ Ã¥À» óÀ½ º¸´Â ¼ø°£ Áú·Á¹ö·Á¼­ "¾Æ ÀÌ°Ç µµÀúÈ÷ ´Ù ¹è¿ï ¼ö ¾ø°Ú±¸³ª"ÇÏ´Â ´À³¦À» °­ÇÏ°Ô ¹Þ°Ô ¸¶·ÃÀÌ´Ù. ÇÑ±Û Ã¥ÀÌµç ¿µ¾î Ã¥À̵ç Ã¥ÀÌ 600 ÂÊÀ» ³Ñ¾î°¡¸é, ¾î¶»°Ô ±×°É ÇкλýÀÌ ÇÑ Çбâ 3 ÇÐÁ¡ °­ÀÇ¿¡¼­ ´Ù ¼ÒÈ­ÇÒ ¼ö Àְڴ°¡? ±×·¡µµ Ã¥ À̸§Àº ´ëºÎºÐ introduction ¶Ç´Â °³·ÐÀÌ´Ù. ±× Ã¥ ³»¿ë °¡¿îµ¥ ¹Ý¸¸ ¶¼¼­ °³·ÐÀ¸·Î Çϰí, ³ª¸ÓÁö ºÎºÐÀº Áß±Þ µ¥ÀÌÅͺ£À̽º·Î ¿Å±â´Â °Ô ÁÁÀ» µí Çѵ¥, °³·Ð Ã¥Àº ³¯·Î µÎ²¨¿öÁ®¸¸ °£´Ù.

    µÑ°, ÀÌ Ã¥Àº ÇкÎÀÇ ÄÄÇ»ÅÍ Àü°ø ÇлýÀ» ÀÏÂ÷ÀûÀÎ ´ë»óÀ¸·Î ÇÏ¿´´Ù. ±×·¯³ª SQLµµ Àß ¾Ë°í ½Ç¹« °æÇèµµ ¸¹Áö¸¸ µ¥ÀÌÅͺ£À̽º¸¦ ü°èÀûÀ¸·Î ¹è¿î ÀûÀÌ ¾ø´Â ÀϹÝÀÎÀÌ¶óµµ ÀÌ Ã¥À» ÇÏ·ç 3 ½Ã°£¾¿ 3 ÁÖ°£¸¸ °øºÎÇÏ¸é ¸¶Ä¥ ¼ö ÀÖ´Ù. ÀÌ·ÐÀûÀÎ ºÎºÐ°ú ÀÌ·ÐÀ» Àû¿ëÇÑ º¸±â°¡ ¾ÆÁÖ ¸¹¾Æ¼­, 4 ³âÁ¦ ´ëÇÐ»Ó ¾Æ´Ï¶ó, 2 ³âÁ¦ ´ëÇÐÀÇ ÄÄÇ»ÅÍ, Á¤º¸ Åë½Å µîÀÇ Àü°ø °ü·Ã ÇаúÀÇ ±³Àç·Î ¾Ë¸Â´Ù. ´Ù¸¸, ¿ÏÀüÈ÷ »ç·Ê ºÐ¼® ¹× ½Ç¹« Áß½ÉÀÇ °­ÀÇ¿¡¼­´Â ÀÌ ±³Àç°¡ ¾Ë¸ÂÁö ¾Ê´Ù°í º¸¸ç, »ç·Ê ºÐ¼® Áß½ÉÀÇ µ¥ÀÌÅͺ£À̽º Ã¥Àº µû·Î ÁغñÇϰí ÀÖ´Ù.

    ¼Â°, µ¥ÀÌÅͺ£À̽º¿¡´Â ÀÌ·ÐÀûÀÎ ºÎºÐÀÌ ´õ·¯ Àִµ¥, ´Ù¸¥ Ã¥µéÀ» º¸¸é ÀÌ·ÐÀûÀÎ Ç®À̸¸ Ä¡ÁßÇϰí, ½ÇÁ¦ º¸±â´Â ¸¹ÀÌ µéÁö ¾Ê¾Æ¼­, ÇлýµéÀÌ ÀÌÇØÇÑ µí ¸¸ µí ¾î¼³ÇÁ°Ô ¾Ë°í Áö³ª°¡±â ÀϾ¥ÀÌ´Ù. µû¶ó¼­ ÀÌ Ã¥¿¡´Â ÇлýµéÀÌ ÃæºÐÈ÷ ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï º¸±â¸¦ ¾ÆÁÖ ¸¹ÀÌ µé¾ú°í, ¶ÇÇÑ ±× º¸±â¿¡ ´ëÇÏ¿© ÀÚ¼¼È÷ Ç®ÀÌÇÏ¿© ÀÌ·ÐÀÌ ½ÇÁ¦¿¡¼­ ¾î¶»°Ô Àû¿ëµÇ´ÂÁö Àß ¾Ë ¼ö ÀÖµµ·Ï Çß´Ù.

    ³Ý°, ¿µ¾î ¿ë¾îÀÇ °æ¿ì, ±×·± ¿ë¾î°¡ ³ª¿À°Ô µÈ ¹è°æÀÌ Àִµ¥, Ã¥¿¡ º¸¸é ¿ë¾îÀÇ ¹è°æ¿¡ ´ëÇÑ Ç®À̰¡ ¸¹Áö ¾Ê´Ù. ÀÌ Ã¥¿¡¼­´Â ±×·¯ÇÑ ¿µ¾î ¿ë¾î°¡ ³ª¿À°Ô µÈ ¹è°æÀ» µÉ ¼ö ÀÖ´Â ´ë·Î ¸¹ÀÌ Ç®ÀÌÇÏ¿´´Ù. º¸±â¸¦ µé¾î, īƼÀü (Cartesian) °öÀ̶ó´Â ¿ë¾î°¡ ¿ì¸®°¡ Àß ¾Æ´Â ÇÁ¶û½ºÀÇ Ã¶ÇÐÀÚ¿ä ¼öÇÐÀÚÀÎ µ¥±î¸£¶ß(Descartes, 1596-1650)ÀÇ À̸§¿¡¼­ ³ª¿Ô´Ù´Â °É ¾Æ´Â »ç¶÷ÀÌ ¾ó¸¶³ª µÉ±î?

    ±×¸®°í µÉ ¼ö ÀÖ´Ù¸é ¿µ¾î¿¡ ´ëÀÀÇÏ´Â ÇÑ±Û ¿ë¾î¸¦ º¸¿©ÁÖ·Á°í ³ë·ÂÇÏ¿´´Ù. ¿µ¾î ¿ë¾îÀÇ ¶æµµ ¸ð¸£°í ¾²´Ù°¡, Çѱ۷Π¿Å±ä ¿ë¾î¸¦ º¸¸é, "¾Æ, ¿ø·¡ ¿µ¾î ¿ë¾î¿¡ ±×·± ¶æÀÌ ÀÖ¾ú±¸³ª!"ÇÏ°í ³î¶ó¸é¼­ ÈξÀ °³³äÀ» Àß ÆÄ¾ÇÇÏ°Ô µÇ´Â ¼ö°¡ Á¾Á¾ ÀÖ´Ù.

    ÀÌ Ã¥À» ¸¸µé ¶§ ÇÁ·Î±×·¥À¸·Î È®ÀÎÇÏ°í »ç¿ëÀÚ ¼³¸í¼­¿¡¼­ ¼¼¼¼ÇÑ »çÇ×À» È®ÀÎÇÒ ¶§ µµ¿ÍÁØ À¯ ¿µÈ£, ÀÌ Á¾È¯, Á¤ Àϵ¿, ¿Á Á¦¿µ, ¹Ú ¼±¹Ì, ¼Û µ¿ÁÖ, ÀÌ ÇöÁÖ ´ëÇпø»ý¿¡°Ô °í¸¶¿òÀ» ³ªÅ¸³»°íÀÚ ÇÑ´Ù.

    ¸¶Áö¸·À¸·Î ÀÌ Ã¥À» ÃâÆÇÀ» ¸Ã¾ÆÁֽŠ..., ÆíÁýÀ» ¸Ã¾ÆÁֽŠ...

    2002(4335) ³â 6 ¿ù¿¡, ºÎ»ê ±Ý»ù ±â½¾¿¡¼­ ±è °æ¼® ¾¸
°íħ°ú ¹Ù·ÎÀâÀ½ Ç¥ (errata)
  1. ¹Ù·Î ÀâÀ½ (Ʋ¸° ³»¿ëÀ» ¹Ù·Î Àâ½À´Ï´Ù.)
    1.1 Áß¿äÇÑ ³»¿ë

    * 41 ÂÊ (2002.09.18)
  rec-at-a-time set-at-a-time
procedural hierarchical, network rel. calculus, SQL
non-proc   rel. algebra
-->
  rec-at-a-time set-at-a-time
procedural hierarchical, network rel. algebra
non-proc   rel. calculus, SQL(mostly)

    * 58 ÂÊ, À§¿¡¼­ 7° ÁÙ, ±³¼ö:°ú¸ñ-ºÐ¹Ý = m:1 --> ±³¼ö:°ú¸ñ-ºÐ¹Ý = 1:m
    * 61 ÂÊ, ¾Æ·¡¿¡¼­ 7 °ÁÙ, {ÁÖ¹ø}Àº ¼öÆÛŰÀÌ´Ù. --> {ÁÖ¹ø}Àº Èĺ¸ ŰÀÌ´Ù.
    * 90 ÂÊ, À§¿¡¼­ 6 °ÁÙ,
    sigma (pi Çлý3.Çйø=¼ö°­1.Çйø (Çлý3 X ¼ö°­1) ) --> sigma Çлý3.Çйø=¼ö°­1.Çйø (Çлý3 X ¼ö°­1)

    1.2 »ç¼ÒÇÑ ¿ÀŸ µî

    * 3 ÂÊ, ¸Ó¸®¸», "µÑ°,.. "·Î ½ÃÀÛÇÏ´Â ¹®´ÜÀÇ ¹Ù·Î À§¿¡ "Ã¥À»" -> "Ã¥Àº"
    * 4 ÂÊ, ¸Ó¸®¸», "¼Â°, "·Î ½ÃÀÛÇÏ´Â ¹®´ÜÀÇ Ã¹ ºÎºÐ¿¡ "ÀÌ·ÐÀûÀÌ" -> "ÀÌ·ÐÀûÀÎ"
    * 85 ÂÊ, ¾Æ·¡¿¡¼­ 6 °ÁÙ, r8=(Çйø, ÇÐÁ¡¼ö) --> r8=(Çйø, ÇÐÁ¡_¼ö)

    2 .   ¹Ù²Þ (Ʋ¸° ³»¿ëÀº ¾Æ´ÏÁö¸¸, ´õ Àß ¾Ë ¼ö ÀÖµµ·Ï °íÄ¡´Â °ÍÀÔ´Ï´Ù.)

    * 287 ÂÊ, ´ÙÀ½°ú °°ÀÌ ¹Ù²Þ
    ÇöÀç: 4) SQL> run: ¹öÆÛ¿¡ ÀÖ´Â ¸í·ÉÀ» ½ÇÇà½ÃŲ´Ù.
    --> ¹Ù²Þ: 4) SQL> run: ¹öÆÛ¿¡ ÀÖ´Â ¸í·É ÇÑ °³¸¦ ½ÇÇà½Ã۴µ¥, ¹öÆÛ¿¡ ÀÖ´Â ¸í·É ³¡¿¡ ¹Ý½ÖÁ¡(;)À» ºÙÀÌÁö ¸»¾Æ¾ß ÇÑ´Ù.
    runÀ¸·Î´Â ¸í·É ¿©·¯ °³¸¦ ½ÇÇà½Ãų ¼ö ¾ø´Ù.

    º¸±â: select * from stu (¸ÂÀ½) select * from stu; (Ʋ¸²) select * from stu; select * from crs; (Ʋ¸²)

    * 287 ÂÊ, ´ÙÀ½°ú °°ÀÌ ¹Ù²Þ
    ÇöÀç: 6) edit: SQL ¹öÆÛÀÇ ³»¿ëÀ» ÆíÁýÇÒ ¼ö ÀÖµµ·Ï ¹®¼­ ÆíÁý±â (º¸±â: vi)¸¦ ½ÇÇà½ÃŲ´Ù.
    --> ¹Ù²Þ: 6) edit: SQL ¹öÆÛÀÇ ³»¿ëÀ» ÆíÁýÇÒ ¼ö ÀÖµµ·Ï ¹®¼­ ÆíÁý±â (º¸±â: vi)¸¦ ½ÇÇà½ÃŲ´Ù.
    edit ¸í·ÉÀ¸·Î SQL ¸í·É ÇÑ °³¸¦ ÆíÁýÇÏ¿© run ¶Ç´Â / ¸í·ÉÀ¸·Î ½ÇÇà½Ãų ¼ö Àִµ¥, SQL ¸í·É ³¡¿¡ ¹Ý½ÖÁ¡(;)À» ºÙÀÌÁö ¸»¾Æ¾ß ÇÑ´Ù.

3 .   »õ·Î ³ÖÀº ºÎºÐ (Ã¥¿¡ ¾ø´Â ³»¿ëÀ» º¸ÃæÇÑ °ÍÀÓ)
    * 96 ÂÊ, 3.5 ¹Ù·Î À§¿¡ ´ÙÀ½ ³»¿ëÀ»´õ ³ÖÀ½
    - natural joinÀ» ÇÏ´Â ÀÌÀ¯ (¸ñÀû)
    º¸±â¸¦ µé¾î Çлý (Çйø, À̸§)°ú ¼ö°­ (Çйø, °ú¸ñ_¹øÈ£)ÀÌ ÀÖÀ» ¶§ (Çйø, À̸§, °ú¸ñ_¹øÈ£)¸¦ ¿øÇÒ ¶§, Ç¥ Çϳª¿¡¼­ ÀÌ Á¤º¸¸¦ °¡Á®¿Ã ¼ö ¾ø´Ù. ÀÌ·± °æ¿ì¿¡ Çлý°ú ¼ö°­À» ÀÚ¿¬ Á¶ÀÎÇÏ¸é ¿øÇÏ´Â Á¤º¸¸¦ º¼ ¼ö ÀÖ´Ù.

    À§¿¡¼­ ÇйøÀÌ ¿Ü·¡ ŰÀÎ ¼ö°­ (Çйø, °ú¸ñ_¹øÈ£)¿¡ ÀÖ´Â Á¤º¸¿¡´Ù, ÇйøÀÌ ÀÏÂ÷ ŰÀÎ Çлý Ç¥¿¡¼­ °¡Á®¿Â Á¤º¸ÀÎ À̸§À» µ¡ºÙÀÎ °á°ú¸¦ ¿øÇÒ ¶§ ÀÚ¿¬ Á¶ÀÎÀ» ½è´Âµ¥, ¸¹Àº °æ¿ì¿¡ ÀÌ·± ¸ñÀûÀ¸·Î ÀÚ¿¬ Á¶ÀÎÀ» ÇÑ´Ù.

    * 174 ÂÊ, 5.9 ¹Ù·Î À§¿¡ ´ÙÀ½ ³»¿ëÀ» ´õ ³ÖÀ½
    5.8x create index, drop index
    - »öÀÎ (index)¸¦ ¸¸µé·Á¸é CREATE INDEX ¸í·ÉÀ» ¾´´Ù.
    º¸±â¸¦ µé¾î Çлý3 Ç¥¿¡¼­ Çйø¿¡ ´ëÇÑ »öÀÎÀ» ¸¸µé·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
    create index Çйø_»öÀÎ
    ON Çлý3 (Çйø);
    - »öÀÎÀº ¼Ó¼º ¿©·¯ °³¿¡ ´ëÇÏ¿©µµ ¸¸µé ¼ö ÀÖ´Ù.
    º¸±â: create index (Çйø_°ú¸ñ_¹øÈ£_»öÀÎ)
    on ¼ö°­2 (Çйø, °ú¸ñ_¹øÈ£);
    - ¸¸µé¾îÁ® ÀÖ´Â »öÀÎÀ» ¾ø¾Ö·Á°í Çϸé drop index ¸í·ÉÀ» ¾´´Ù.
    º¸±â: drop index Çйø_»öÀÎ;
    - »öÀÎÀÌ »õ·Î ¸¸µé¾îÁö°Å³ª, ÀÖ´ø »öÀÎÀÌÁö¿öÁö´õ¶óµµ SQL select ¸í·É µî¿¡´Â ¿µÇâÀ» ÁÖÁö ¾ÊÀ¸¸ç, ´Ù¸¸ ¼º´É (½ÇÇà ¼Óµµ)°¡ ¹Ù²ð ¼ö ÀÖ´Ù.
    . 1.3.2, 25 ÂÊÀÇ ÀÚ·á µ¶¸³¼º¿¡¼­ ÀÌ¹Ì ¹è¿î ¹Ù Àִµ¥, Áö±Ý ±× °÷À» ´Ù½Ã ÇÑ ¹ø »ìÆìº¸¸é ÀÚ·á µ¶¸³¼ºÀ» ¾ÆÁÖ Àß ÀÌÇØÇÒ °ÍÀÌ´Ù.

    * 296 ÂÊ, 7.2¿¡¼­
    . export: À¯´Ð½º ¸í·É exp¸¦ ½ÇÇà½Ãų °Í -->. export: À¯´Ð½º ¸í·É exp¸¦ ½ÇÇà½Ãų °Í
    (½Ã½ºÅÛ¿¡ µû¶ó¼­ exp ´ë½Å expO ¸í·ÉÀ» ½á¾ß ÇÒ ¼öµµ ÀÖÀ½)

    * 296 ÂÊ, 7.2¿¡¼­
    . import °æ¿ì¿¡µµ ºñ½ÁÇÔ --> . import °æ¿ì¿¡µµ ºñ½ÁÇÔ (exp ¶Ç´Â expO ¸í·ÉÀ» ¾²¸é µÊ)

    * 296 ÂÊ,
    ¾Æ·¡ ³»¿ëÀ» µ¡ºÙÀÓ
    7.3 SQL> describe relation_name: Ç¥ÀÇ Æ²(=½ºÅ°¸¶)À» º¸¿©ÁÜ (desc¶ó°í ÁÙ¿©µµ µÊ)
    º¸±â: > desc test1;
    7.4 SQL> help index: ¾î¶² ÁÖÁ¦¿¡ °üÇÑ µµ¿ò¸»ÀÌ ÀÖ´ÂÁö º¸¿©ÁØ´Ù.
    SQL> help run: run ¸í·É¿¡ ´ëÇÑ µµ¿ò¸»À» º¸¿©ÁØ´Ù.
    7.5 SQL> host ¶ó°í Çϸé ÇöÀçÀÇ sqlplus¸¦ suspendÇÑ µÚ¿¡, À¯´Ð½ºÀÇ °æ¿ì shell·Î µé¾î°£´Ù.
    - shell¿¡¼­ ´Ù½Ã sqlplus·Î µ¹¾Æ¿À·Á¸é À¯´Ð½ºÀÇ exit ¸í·ÉÀ» ½ÇÇàÇÏ¸é µÈ´Ù.
    - °£´ÜÇÑ À¯´Ð½º ¸í·ÉÀº SQL> host unix_command Çü½ÄÀ¸·Î ½ÇÇà½Ãų ¼öµµ ÀÖ´Ù.
    . º¸±â: SQL> host ls
    7.6 ´ÙÀ½ ¸í·ÉÀº ÀÚ±âÀÇ ¿À¶óŬ °èÁ¤ ¾È¿¡ ÀÖ´Â ¸ðµç Ç¥¸¦ º¸¿©ÁØ´Ù.
    SQL> select table_name
    from user_tables;
    7.7 SQL ¸í·É¿¡ À߸øÀÌ ÀÖÀ» ¶§ °¡²û ¹«½ÃµÇ´Â µí ÇÏ´Ù.
    º¸±â: select * from stu: ³¡¿¡ ¹Ý½ÖÁ¡(;)ÀÌ ¾Æ´Ï¶ó ½ÖÁ¡(:)ÀÌ ÀÖ´Ù)
    select * from crs; ³¡¿¡ ¹Ý½ÖÁ¡ÀÌ Á¦´ë·Î µé¾î°¡ ÀÖ´Ù.
    - À§ÀÇ µÎ ÁÙÀÌ err1.sql À̶ó´Â ÆÄÀÏ¿¡ ÀÖÀ» ¶§, ¾Æ·¡ ¸í·ÉÀ» ½ÇÇàÇϸé, ù° select ¸í·É¿¡ ´ëÇÏ¿©´Â ¿À·ùµµ ¾È ³ª¿Â ä ¹«½ÃµÇ´Â µí Çϸç,
    µÑ° select ¸í·ÉÀÇ °á°ú¸¸ º¸ÀδÙ.
    SQL> @err1

    ³¡.
¡è top