View

  • ํ•˜๋‚˜ ์ด์ƒ์˜ ํ…Œ์ด๋ธ”์„ ํ•ฉํ•˜์—ฌ ๋งŒ๋“  ๊ฐ€์ƒ์˜ ํ…Œ์ด๋ธ”

  • ์งˆ์˜์˜ ๊ฒฐ๊ณผ ๋งŒ๋“ค์–ด์ง€๋Š” ๊ฐ€์ƒ์˜ ํ…Œ์ด๋ธ”๋กœ, ์‹ค์ œ ํ…Œ์ด๋ธ” ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์‹ค์ œ ๋””์Šคํฌ์—๋Š” ์ €์žฅ๋˜์ง€ ์•Š๊ณ , ๋ทฐ ์ƒ์„ฑ์‹œ ์‚ฌ์šฉํ•œ select ๋ฌธ์˜ ์ •์˜๋ฅผ DBMS๊ฐ€ ์ €์žฅํ•œ๋‹ค.

  • ์žฅ์ 

    • ํŽธ๋ฆฌ์„ฑ & ์žฌ์‚ฌ์šฉ์„ฑ:

      • ๋ฏธ๋ฆฌ ์ •์˜๋œ ๋ทฐ๋ฅผ ์ผ๋ฐ˜ ํ…Œ์ด๋ธ”์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํŽธ๋ฆฌ.

      • ์‚ฌ์šฉ์ž๊ฐ€ ํ•„์š”ํ•œ ์ •๋ณด๋งŒ ์š”๊ตฌ์— ๋งž๊ฒŒ ๊ฐ€๊ณตํ•˜์—ฌ ๋ทฐ๋กœ ๋งŒ๋“ค์–ด ์“ธ ์ˆ˜ ์žˆ๋‹ค.

      • ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์งˆ์˜๋ฅผ ๋ทฐ๋กœ ๋ฏธ๋ฆฌ ์ •์˜ํ•ด ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

    • ๋ณด์•ˆ์„ฑ

      • ๊ฐ ์‚ฌ์šฉ์ž๋ณ„๋กœ ๋ณด์•ˆ์ด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ์™ธํ•˜์—ฌ ์„ ๋ณ„ํ•˜์—ฌ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค.

    • ๋…๋ฆฝ์„ฑ

      • ๋…ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์›๋ณธ ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ๊ฐ€ ๋ณ€ํ•ด๋„, ์‘์šฉํ”„๋กœ๊ทธ๋žจ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๋…ผ๋ฆฌ์  ๋…๋ฆฝ์„ฑ์„ ์ œ๊ณต.

  • SELECT ๋ฌธ์„ ์ œ์™ธํ•œ ์ผ๋ถ€ ๋ฌผ๋ฆฌ์ ์ธ ํ…Œ์ด๋ธ”์˜ ๊ฐฑ์‹ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ ์ œ์•ฝ์ด ์žˆ๋‹ค.

  • ๊ธฐ๋ณธํ‚ค๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ์ˆ˜์ • ์š”์ฒญ์ด๋‚˜, ํ…Œ์ด๋ธ” 2๊ฐœ ์ด์ƒ์—์„œ ์†์„ฑ์„ ํฌํ•จํ•˜๋Š” ์ˆ˜์ •์š”์ฒญ์€ ์ œ์•ฝ์„ ์œ„ํ•œ ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์œผ๋ฏ€๋กœ ๊ฐฑ์‹ ์ž‘์—… ์ œ์•ฝ์ด ์žˆ๋‹ค.

๋ทฐ์˜ ์ƒ์„ฑ

  • CREATE VIEW ๋ทฐ์ด๋ฆ„ [(์—ด์ด๋ฆ„ [, ... n])]
    AS SELECT ๋ฌธ
    
    -- ์˜ˆ์‹œ
    create view vw_book
    as select * 
    from book
    where bookname like '%์ถ•๊ตฌ%';
  • ๋ทฐ์ด๋ฆ„: ์ƒ์„ฑํ•  ๋ทฐ์˜ ์ด๋ฆ„

  • ์—ด์ด๋ฆ„: ๋ทฐ์—์„œ ์‚ฌ์šฉํ•  ์—ด์˜ ์ด๋ฆ„

  • ์—ด ์ด๋ฆ„๊ณผ select๋ฌธ์—์„œ ์ถ”์ถœํ•˜๋Š” ์†์„ฑ์€ 1:1 ๋Œ€์‘

๋ทฐ์˜ ์ˆ˜์ •

  • ๋ฌผ๋ฆฌ์ ์ธ ํ…Œ์ด๋ธ”์˜ ์ˆ˜์ •์ž‘์—…๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ๋ทฐ๋„ ํ•„์š”์— ๋”ฐ๋ผ ์ •์˜๋œ SQL๋ฌธ์˜ ์ˆ˜์ •์ด ํ•„์š”.

  • ๋ทฐ์˜ ์ˆ˜์ •์€ CREATE VIEW๋ฌธ์— OR REPLACE๋ช…๋ น์„ ๋”ํ•˜์—ฌ ์ž‘์„ฑ

    CREATE OR REPLACE VIEW ๋ทฐ์ด๋ฆ„ [(์—ด์ด๋ฆ„ [, ... n])]
    AS SELECT๋ฌธ
    
    --์˜ˆ
    create or replace view vw_orders (custid, name, address)
    as select custid, name, address
    from customer
    where address like '%์˜๊ตญ%';

๋ทฐ์˜ ์‚ญ์ œ

  • DROP VIEW ๋ทฐ์ด๋ฆ„ [,...n];
    
    --์˜ˆ
    DROP VIEW vw_orders;

์‹œ์Šคํ…œ ๋ทฐ

  • DBMS๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ์ฒด(ํ…Œ์ด๋ธ”, ํ•จ์ˆ˜, ๋ทฐ ๋“ฑ)๋‚˜ ์‹œ์Šคํ…œ์˜ ํ†ต๊ณ„ ์ •๋ณด ๋“ฑ์„ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ์‹œ์Šคํ…œ ๋ทฐ๋ฅผ ๋งŒ๋“ค์–ด ์ œ๊ณตํ•œ๋‹ค.

  • ์‹œ์Šคํ…œ ๋ทฐ(=๋ฐ์ดํ„ฐ ๋”•์…”๋„ˆ๋ฆฌ ๋ทฐ, ์‹œ์Šคํ…œ ์นดํƒˆ๋กœ๊ทธ)

  • DBMS ๊ด€๋ จ ์ •๋ณด๋ฅผ ํ…Œ์ด๋ธ” ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ œ๊ณต.

  • ์‚ฌ์šฉ์ž๋“ค์€ ์‹œ์Šคํ…œ๋ทฐ๋ฅผ ์ฐธ์กฐํ•ด์„œ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ํŠœ๋‹, ๊ธฐํƒ€๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

  • MySQL ์‹œ์Šคํ…œ ๋ทฐ๋Š” INFORMATION_SCHEMA ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋˜์–ด ์žˆ์œผ๋ฉฐ, SELECT ๋ช…๋ น์œผ๋กœ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฉ”๋‰ด์–ผ์„ ์ฐธ์กฐํ•˜์—ฌ ํ•„์š”ํ•œ ๋ทฐ๋ฅผ ์ฐพ์•„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

    SELECT * FROM INFORMATION_SCHEMA.TABLES
    WHERE table_schema like '์Šคํ‚ค๋งˆ์ด๋ฆ„';
    
    --์œ„ ์งˆ์˜๋ฌธ์€ ์•„๋ž˜ ๋ช…๋ น๊ณผ ๊ฐ™๋‹ค.
    show tables;

Last updated