CodeGym/Java Course/All lectures for KO purposes/SQL ์„œ๋ฒ„ ์ž‘์—…

SQL ์„œ๋ฒ„ ์ž‘์—…

์‚ฌ์šฉ ๊ฐ€๋Šฅ

SQL์€ ์šฐ๋ฆฌ์˜ ์ „๋ถ€์ž…๋‹ˆ๋‹ค

์ด๋ฏธ ์ง์ž‘ํ•˜์…จ๊ฒ ์ง€๋งŒ SQL ์„œ๋ฒ„์— ๋Œ€ํ•œ ๋ชจ๋“  ๋ช…๋ น์€ SQL ์ฟผ๋ฆฌ๋ฅผ ํ†ตํ•ด ์ œ๊ณต๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ.

์ด ํŒ€์€ ๊ณต์‹์ ์œผ๋กœ 4๊ฐœ์˜ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.

  • ๋ฐ์ดํ„ฐ ์ •์˜ ๋ฌธ (๋ฐ์ดํ„ฐ ์ •์˜ ์–ธ์–ด, DDL ):

    • CREATE๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ์ฒด(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž์ฒด, ํ…Œ์ด๋ธ”, ๋ทฐ, ์‚ฌ์šฉ์ž ๋“ฑ)๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
    • ALTER๋Š” ๊ฐ์ฒด๋ฅผ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
    • DROP์€ ๊ฐœ์ฒด๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ์กฐ์ž‘ ์—ฐ์‚ฐ์ž (Data Manipulation Language, DML ):

    • SELECT๋Š” ์ฃผ์–ด์ง„ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    • INSERT๋Š” ์ƒˆ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
    • ์—…๋ฐ์ดํŠธ๋Š” ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
    • DELETE๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ์ •์˜ ์—ฐ์‚ฐ์ž (๋ฐ์ดํ„ฐ ์ œ์–ด ์–ธ์–ด, DCL ):

    • GRANT๋Š” ๊ฐœ์ฒด์— ๋Œ€ํ•ด ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž(๊ทธ๋ฃน) ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.
    • REVOKE๋Š” ์ด์ „์— ๋ฐœ๊ธ‰๋œ ๊ถŒํ•œ์„ ์ทจ์†Œํ•ฉ๋‹ˆ๋‹ค.
    • DENY๋Š” ํ—ˆ๊ฐ€๋ณด๋‹ค ์šฐ์„ ํ•˜๋Š” ๊ธˆ์ง€๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  • TCL ( ํŠธ๋žœ์žญ์…˜ ์ œ์–ด ์–ธ์–ด) ๋ฌธ :

    • COMMIT์€ ํŠธ๋žœ์žญ์…˜์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • ROLLBACK์€ ํ˜„์žฌ ํŠธ๋žœ์žญ์…˜์˜ ์ปจํ…์ŠคํŠธ์—์„œ ์ด๋ฃจ์–ด์ง„ ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋กค๋ฐฑํ•ฉ๋‹ˆ๋‹ค.
    • SAVEPOINT๋Š” ํŠธ๋žœ์žญ์…˜์„ ๋” ์ž‘์€ ์„น์…˜์œผ๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ฒ˜์Œ ๋‘ ์ˆ˜์ค€์—์„œ๋Š” ๋‹ค์–‘ํ•œ SELECT ๋ฌธ๋งŒ ์—ฐ๊ตฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์•ž์œผ๋กœ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ํฅ๋ฏธ๋กœ์šด ์ผ๋“ค์ด ์šฐ๋ฆฌ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์„์ง€ ์ƒ์ƒํ•ด ๋ณด์‹ญ์‹œ์˜ค.

๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ๋Š” ์—ฌ๊ธฐ์„œ ์ฃผ๋กœ Java ํ”„๋กœ๊ทธ๋ž˜๋จธ์— ๋Œ€ํ•ด ์ค€๋น„ํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์ง์žฅ์—์„œ ํ™•์‹คํžˆ ์ ‘ํ•˜๊ฒŒ ๋  ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์—ฐ๊ตฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ์˜ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž๊ฐ€ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์ง€๋งŒ ๋ฐ์ดํ„ฐ์—์„œ ์ง์ ‘ ์—ฌ๋Ÿฌ ๋ฒˆ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋”์šฑ์ด ๋•Œ๋กœ๋Š” ์ฝ”๋“œ๊ฐ€ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์“ฐ์ง€ ์•Š๊ฑฐ๋‚˜ ์ž˜๋ชป๋œ ๋ฐฉ์‹์œผ๋กœ ์ž‘์„ฑํ•˜๋ฏ€๋กœ ์ข…์ข… ํŽœ์„ ๋“ค๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋“ค์–ด๊ฐ€ ์‹ค์ œ๋กœ ๋ฌด์—‡์ด ์ €์žฅ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด์ „ ๊ฐ•์˜์—์„œ ๋‹ค๋ค˜๋˜ ๋‚ด์šฉ์„ ๋‹ค์‹œ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์Šคํ‚ค๋งˆ ์ƒ์„ฑ

DBMS์—์„œ ์ƒˆ ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

CREATE SCHEMA Name;

์ด๊ฒƒ์ด ๊ฐ€์žฅ ์‰ฌ์šด ์˜ต์…˜์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์ƒˆ ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋ฐ์ดํ„ฐ ์ธ์ฝ”๋”ฉ ํ˜•์‹ ๋ฐ ๊ธฐํƒ€ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์Šคํ‚ค๋งˆ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์‹ถ์ง€๋งŒ ์กด์žฌ ์—ฌ๋ถ€๊ฐ€ ํ™•์‹คํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

DROP SCHEMA IF EXIST Name;

๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐฑ์—…์ด ์žˆ๋Š” ํŒŒ์ผ์—์„œ ์ด๋Ÿฌํ•œ ๋ช…๋ น์„ ์ž์ฃผ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์—ฌ๊ธฐ์— ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

ํ˜„์žฌ ๊ตฌ์„ฑํ‘œ ์„ ํƒ

DBMS์— ๋งŽ์€ ์Šคํ‚ค๋งˆ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์„œ๋กœ ๋‹ค๋ฅธ ์Šคํ‚ค๋งˆ์— ๋™์ผํ•œ ํ…Œ์ด๋ธ”์ด ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์‰ฝ๊ฒŒ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜ผ๋™์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ•ญ์ƒ ํ…Œ์ด๋ธ” ์ด๋ฆ„ ์•ž์— ์Šคํ‚ค๋งˆ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค.
  • ๊ธฐ๋ณธ ์Šคํ‚ค๋งˆ ์ง€์ •

ํ…Œ์ŠคํŠธ ์Šคํ‚ค๋งˆ ์— ์žˆ๋Š” ์‚ฌ์šฉ์ž ํ…Œ์ด๋ธ” ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค . ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

SELECT * FROM test.user;

์ด๋Š” ํ•˜๋‚˜์˜ ์ฟผ๋ฆฌ์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ์Šคํ‚ค๋งˆ์˜ ์—ฌ๋Ÿฌ โ€‹โ€‹ํ…Œ์ด๋ธ”์„ ์กฐ์ธ(JOIN)ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ํ•„์ˆ˜ ๋ถˆ๊ฐ€๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , Java ์–ธ์–ด์—์„œ ์šฐ๋ฆฌ๋Š” ์ข…์ข… ์œ ์‚ฌํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ์—์„œ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์˜ ๋™์ผํ•œ ์ด๋ฆ„์„ ๊ฐ€์ง„ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ํด๋ž˜์Šค ์ด๋ฆ„ ์•ž์— ํŒจํ‚ค์ง€ ์ด๋ฆ„์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ ๊ธฐ๋ณธ ์Šคํ‚ค๋งˆ๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค . ์ฟผ๋ฆฌ์—์„œ ํ…Œ์ด๋ธ” ์ด๋ฆ„์€ ์ง€์ •ํ•˜์ง€๋งŒ ์Šคํ‚ค๋งˆ๋Š” ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ ์Šคํ‚ค๋งˆ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด USE ๋ฌธ์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค .

USE name - schemes;

USE ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด์ „ ์ฟผ๋ฆฌ๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

USE test;
SELECT * FROM user;

๋ณด๊ธฐ ๋งŒ๋“ค๊ธฐ

์‹ค์ œ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ํ…Œ์ด๋ธ” ์™ธ์—๋„ SQL์„ ์‚ฌ์šฉํ•˜๋ฉด ์‹ค์ œ ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฐ€์ƒ ํ…Œ์ด๋ธ”๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐ€์ƒ ํ…Œ์ด๋ธ”์„ VIEW๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ํ…Œ์ด๋ธ”์€ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ์•ก์„ธ์Šคํ•  ๋•Œ๋งˆ๋‹ค ์‹ค์ œ ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ VIEW์˜ ๋‚ด์šฉ์€ SQL ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์ •๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  SELECT ์ฟผ๋ฆฌ์—์„œ VIEW๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CREATE VIEW Name AS
SELECT-request;
์ง์› ํ…Œ์ด๋ธ”์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ง์› ๊ธ‰์—ฌ ์ •๋ณด๊ฐ€ ์ˆจ๊ฒจ์ง€๋Š” public_employee ๊ฐ€์ƒ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
CREATE VIEW public_employee AS
SELECT id, name FROM employee

์œ„์˜ ์˜ˆ์—์„œ ํ…Œ์ด๋ธ”(VIEW) public_employee์—๋Š” ์ง์› ID์™€ ์ด๋ฆ„๋งŒ ํฌํ•จ๋˜๋ฉฐ ๊ธ‰์—ฌ์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ํ…Œ์ด๋ธ”๊ณผ ๊ฐ™์€ ๊ณณ์—์„œ ์ด๋Ÿฌํ•œ ๋ทฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ทฐ๊ฐ€ ํ•„์š”ํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ •๋ณด์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค . ํŠน์ • ์‚ฌ์šฉ์ž์—๊ฒŒ VIEW์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ๋งŒ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์€ ๋ถ€์—ฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  View์—์„œ๋Š” ํ…Œ์ด๋ธ”์—์„œ ๊ณต๊ฐœ๋œ ์ •๋ณด๋งŒ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ–ฅํ›„ ์ค‘์š”ํ•œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ์ƒˆ๋กœ์šด ์—ด์ด ํ…Œ์ด๋ธ”์— ์ถ”๊ฐ€๋˜๋”๋ผ๋„ ์‹ค์ˆ˜๋กœ View์— ๋“ค์–ด๊ฐ€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๋น„์ •๊ทœํ™” . ์ €์žฅ์˜ ํŽธ์˜๋ฅผ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋Š” ์ข…์ข… ์ˆ˜๋ฐฑ, ์ˆ˜์ฒœ ๊ฐœ์˜ ํ…Œ์ด๋ธ”๋กœ ๋‚˜๋‰˜์ง€๋งŒ ์ผ๋ฐ˜์ธ์ด ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ๋กœ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์€ ๊ทธ๋ฆฌ ํŽธ๋ฆฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ๋ณต์žกํ•œ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. View๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ˆ˜์‹ญ ๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹จ์ผ ํ…Œ์ด๋ธ”์— ํ‘œ์‹œํ•˜๋Š” ๊ฐ€์ƒ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹คํ˜•์„ฑ๊ณผ ์บก์Šํ™” . ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— ๊ท€ํ•˜์˜ ๋ณด๊ธฐ๋กœ ์ž‘์—…ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์‚ฌ์šฉ์ž๋Š” ๋ณ€๊ฒฝ๋œ ์‚ฌํ•ญ์ด ์žˆ๋‹ค๊ณ  ์ถ”์ธกํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ View์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. VIEW์™€ ๊ด€๋ จ๋œ SQL ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ฝ๊ธฐ ์ „์šฉ . View๋Š” SELECT ์ฟผ๋ฆฌ๋กœ๋งŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ View๋กœ ์ž‘์—…ํ•ด๋„ ์‹ค์ œ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , ์ด๊ฒƒ์€ ์ฟผ๋ฆฌ ์บ์‹ฑ์„ ์„ ํ˜ธํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ์žฅ์ ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹ค์Œ์— ๋” ์ž์„ธํžˆ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์ฝ”๋ฉ˜ํŠธ
  • ์ธ๊ธฐ
  • ์‹ ๊ทœ
  • ์ด์ „
์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋‚จ๊ธฐ๋ ค๋ฉด ๋กœ๊ทธ์ธ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค
์ด ํŽ˜์ด์ง€์—๋Š” ์•„์ง ์ฝ”๋ฉ˜ํŠธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค