3.5. »ó¼Ó

»ó¼ÓÀº °´Ã¼ÁöÇâ µ¥ÀÌÅͺ£À̽ºÀÇ °³³äÀÔ´Ï´Ù. À̰ÍÀº µ¥ÀÌÅͺ£À̽º ¼³°èÀÇ »õ·Î¿î °¡´É¼ºÀ» Á¦½ÃÇÕ´Ï´Ù.

cities°ú capitalsÀÇ µÎ °³ÀÇ Å×À̺íÀ» »ý¼ºÇØ º¾½Ã´Ù. ÇàÁ¤ºÎ ¼ÒÀçÁö´Â µ¿½Ã¿¡ µµ½Ã¿¡ ¼ÓÇϱ⠶§¹®¿¡, ¸ðµç µµ½Ã¸¦ ¸®½ºÆ®ÇÔ¿¡ ÀÖ¾î ÇàÁ¤ºÎ ¼ÒÀçÁö¸¦ Ç¥½ÃÇÏ´Â ¹æ¹ýÀÌ ÇÊ¿äÇÏ°Ô µË´Ï´Ù. Çö¸íÇÑ »ç¶÷À̶ó¸é ´ÙÀ½°ú °°Àº °èȹÀ» ¼¼¿ï °ÍÀÔ´Ï´Ù.

CREATE TABLE capitals (
  name       text,
  population real,
  altitude   int,     -- (in ft)
  state      char(2)
);

CREATE TABLE non_capitals (
  name       text,
  population real,
  altitude   int     -- (in ft)
);

CREATE VIEW cities AS
  SELECT name, population, altitude FROM capitals
    UNION
  SELECT name, population, altitude FROM non_capitals;

Äõ¸®°¡ ÁøÇàµÇ´Â ÇÑ¿¡¼­ ¹®Á¦°¡ ¹ß»ýÇÏÁö ¾ÊÁö¸¸ Çϳª¸¦ À§ÇØ ¸î¸î ÇàÀÇ °»½ÅÀ» ÇÊ¿ä·Î ÇÏ°Ô µÇ¸é Ãß¾ÇÇÏ°Ô º¯ÁúµË´Ï´Ù.

º¸´Ù ³ªÀº ÇØ°áÃ¥Àº ´ÙÀ½°ú °°½À´Ï´Ù.

CREATE TABLE cities (
  name       text,
  population real,
  altitude   int     -- (in ft)
);

CREATE TABLE capitals (
  state      char(2)
) INHERITS (cities);

ÀÌ °æ¿ì capitalsÀÇ ÇàÀº parent(ºÎ¸ð)¿Í cities(µµ½Ã)ÀÇ ¸ðµç ¿­À» (Áï, name(À̸§), population(Àα¸), and altitude(°íµµ)) »ó¼ÓÇÕ´Ï´Ù. name ¿­ÀÇ µ¥ÀÌÅÍÇüÀº °¡½ÃÀûÀÎ ¹®ÀÚ½ºÆ®¸µ ±æÀ̸¦ À§ÇØ PostgreSQL°¡ óÀ½ºÎÅÍ °®Ãß°í ÀÖ´ÂtextÇüÀÔ´Ï´Ù. °¢ ÁÖÀÇ ÇàÁ¤ºÎ´Â ºÎ°¡ÀûÀÎ ¿­,state,À» °¡Áö°í ÀÖÀ¸¸ç À̸¦ ÅëÇØ ÁÖ(State)¸¦ Ç¥½ÃÇÕ´Ï´Ù. PostgreSQL¿¡¼­´Â ÇϳªÀÇ Å×À̺íÀº 0°³ ȤÀº ±× ÀÌ»óÀÇ ´Ù¸¥ Å×À̺í·Î ºÎÅÍ ¼Ó¼ºÀ» »ó¼Ó ¹ÞÀ» ¼ö°¡ ÀÖ½À´Ï´Ù.

¿¹¸¦ µé¸é, ´ÙÀ½ Äõ¸®´Â ÇàÁ¤ºÎ ¼ÒÀçÁö¸¦ Æ÷ÇÔÇÑ 500ÇÇÆ® ÀÌ»óÀÇ °íµµ¿¡ À§Ä¡ÇÏ´Â ¸ðµç µµ½Ã¸¦ ã¾Æ³À´Ï´Ù.

SELECT name, altitude
  FROM cities
  WHERE altitude > 500;

À̰ÍÀº ÀÌÇϸ¦ ¹ÝȯÇÕ´Ï´Ù.

   name    | altitude
-----------+----------
 Las Vegas |     2174
 Mariposa  |     1953
 Madison   |      845
(3 rows)

´Ù¸¥ ÇÑÆíÀ¸·Î ´ÙÀ½ÀÇ Äõ¸®´Â ÇàÁ¤ºÎ ¼ÒÀçÁö°¡ ¾Æ´Ñ Ç¥°í 500ÇÇÆ® ÀÌ»óÀÇ °íµµ¿¡ À§Ä¡ÇÏ´Â µµ½Ã¸¦ ã¾Æ³À´Ï´Ù.

SELECT name, altitude
    FROM ONLY cities
    WHERE altitude > 500;

   name    | altitude
-----------+----------
 Las Vegas |     2174
 Mariposa  |     1953
(2 rows)

¿©±â¼­cities(µµ½Ã) Àü¿¡ ³ª¿À´Â ONLY´Â »ó¼Ó °èÃþ¿¡ ÀÖ¾îcities(µµ½Ã)Å×ÀÌºí¿¡ ¼ÓÇØ ÀÖ´Â Å×À̺íÀÌ ¾Æ´Ï¸ç, cities(µµ½Ã)Å×ÀÌºí¸¸À» ÂüÁ¶ÇÏ´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ÀÌÀü¿¡ ¼³¸íµÇ¾îÁø SELECT,UPDATE ¹× DELETEµî ¼ö¸¹Àº ¸í·É¹®Àº ONLY Ç¥±â¸¦ Áö¿øÇϰí ÀÖ½À´Ï´Ù.

Note: »ó¼ÓÀÌ ÀÚÁÖ À¯¿ëÇÏ°Ô »ç¿ëµÇÁö¸¸, ÀÌ´Â UNIQUE Á¦¾à ¶Ç´Â ¿ÜºÎŰ¿Í ÅëÇÕµÉ ¼ö ¾øÀ¸¹Ç·Î »ç¿ëÀÇ ÇѰ踦 °¡Áý´Ï´Ù. º¸´Ù ÀÚ¼¼ÇÑ ³»¿ëÀº Section 5.8¸¦ ÂüÁ¶ÇϽʽÿä.