| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 3. Çâ»óµÈ Ư¡ | Fast Forward | Next |
»ó¼ÓÀº °´Ã¼ÁöÇâ µ¥ÀÌÅͺ£À̽ºÀÇ °³³äÀÔ´Ï´Ù. À̰ÍÀº µ¥ÀÌÅͺ£À̽º ¼³°èÀÇ »õ·Î¿î °¡´É¼ºÀ» Á¦½ÃÇÕ´Ï´Ù.
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¸¦ ÂüÁ¶ÇϽʽÿä.