๊ด€๋ฆฌ ๋ฉ”๋‰ด

bom's happy life

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ์ฒด์˜ ํ™œ์šฉ ๋ณธ๋ฌธ

Deveolpment Study๐Ÿ—‚๏ธ/Databases

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ์ฒด์˜ ํ™œ์šฉ

bompeach 2023. 2. 22. 11:55

*SELECT๋ฌธ ์‚ฌ์šฉ๋ฒ•

-ํšŒ์› ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์กฐํšŒ

SELECT ์—ด ์ด๋ฆ„ FROM ํ…Œ์ด๋ธ” ์ด๋ฆ„ WHERE ์กฐ๊ฑด

 

.

.

 

*SQL๋ฌธ์œผ๋กœ ํ…Œ์ด๋ธ” ์ƒ์„ฑํ•˜๊ธฐ

 CREATE TABLE testTBL(id INT);
 
 -- testTBL์€ ํ…Œ์ด๋ธ”๋ช…, id๋Š” ํ•„๋“œ๋ช…, INT๋Š” ์ž๋ฃŒํ˜•
 -- ๋งŒ๋“  ํ…Œ์ด๋ธ”์€ ๊ผญ ์ƒˆ๋กœ๊ณ ์นจ ํ•ด์ค˜์•ผ ๋งŒ๋“ค์–ด์ง„ ํ…Œ์ด๋ธ”์ด ๋ณด์ธ๋‹ค.

 

.

.

 

**์ธ๋ฑ์Šค(INDEX)๋ž€?

-์ฑ…์˜ ๋’ค์— ๋ถ™์–ด ์žˆ๋Š” '์ฐพ์•„๋ณด๊ธฐ'์™€ ๊ฐ™์€ ๊ฐœ๋…

-์‹ค๋ฌด์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ์˜ ๊ฒฝ์šฐ ํ•„์š”

-๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ํŠœ๋‹์—์„œ ์ค‘์š”ํ•œ ์š”์†Œ - ์ฟผ๋ฆฌ๋ฌธ์— ๋Œ€ํ•œ ์‘๋‹ต ์†๋„ ํ–ฅ์ƒ

-๋ฐ์ดํ„ฐ์˜ ์—ด ๋‹จ์œ„์— ์ƒ์„ฑ

 

CREATE INDEX idx_indexTBL_firstname ON indexTBL(first_name);

-- ์ธ๋ฑ์Šค ์ƒ์„ฑ ํ›„ ์‹คํ–‰๊ณ„ํš ํ™•์ธ

.

.

 

**๋ทฐ(VIEW)๋ž€?

-๊ฐ€์ƒ์˜ ํ…Œ์ด๋ธ” : ์‹ค์ œ ํ–‰ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์Œ

-์‚ฌ์šฉ์ž์˜ ์ž…์žฅ์—์„œ๋Š” ํ…Œ์ด๋ธ”๊ณผ ๋™์ผํ•˜๊ฒŒ ๋ณด์ž„

-์‹ค์ฒด๋Š” ์—†๋Š” ๊ฒƒ์ด๋ฉฐ, ์ง„์งœ ํ…Œ์ด๋ธ”์— ๋งํฌ๋œ ๊ฐœ๋…

-๋ทฐ๋ฅผ SELECTํ•˜๋ฉด ์ง„์งœ ๋ฐ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ๊ฒฐ๊ณผ

-๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ/๋ณด์•ˆ์„ ์œ„ํ•ด์„œ๋„ ์‚ฌ์šฉ

 

 

 

๋ทฐ(VIEW) ์‚ฌ์šฉ ์˜ˆ์‹œ

 

 

๋ทฐ์˜ ์‚ฌ์šฉ๋ฒ• ์‹ค์Šต : ๋ทฐ๋ฅผ ๋งŒ๋“ค๊ณ  ๋‚ด์šฉ ์กฐํšŒ

CREATE VIEW uv_memberTBL AS SELECT memberName, memberAddress FROM memberTBL;

-- uv_memberTBL๋Š” ๋ทฐ๋ช…
-- memberTBL ์—์„œ memberName, memberAddress ๋ฅผ ์ฐพ์•„์˜ค๊ฒŸ๋‹ค(SELECT).

 

.

.

 

ํ”„๋กœ์‹œ์ €๋ž€? - procedure :์ ˆ์ฐจ

- ๋งค๋ฒˆ ๊ฐ™์€ SQL๋ฌธ์€ ์—ฐ๋‹ฌ์•„ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ์‚ฌ์šฉ  : ์˜คํƒ€์˜ ์œ„ํ—˜์ด๋‚˜ ๋ฌธ๋ฒ• ์‹ค์ˆ˜ํ•  ๊ฐ€๋Šฅ์„ฑ ๋†’๊ธฐ ๋•Œ๋ฌธ์—.

 

(1) ํ”„๋กœ์‹œ์ €๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ

ํ”„๋กœ์‹œ์ €๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ

 

(2) ํ”„๋กœ์‹œ์ €๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ

 

.

.

 

ํŠธ๋ฆฌ๊ฑฐ๋ž€? 

Trigger์˜ ์‚ฌ์ „์  ํŠธ๋ฆฌ๊ฑฐ์˜ ๋œป์€ ์ด์˜ ๋ฐฉ์•„์‡ .

-- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ๋œปํ•˜๋Š” ๋ง์€ ์ด์˜ ๋ฐฉ์•„์‡ ๋ฅผ ๋‹น๊ธฐ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด 
์–ด๋–ค ์ด๋ฒคํŠธ์˜ ์ž๋™์œผ๋กœ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค.
-- ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ญ์ œ๋˜์—ˆ์„ ๋•Œ,๋ณ€๊ฒฝ๋˜์—ˆ์„ ๋•Œ, ์ถ”๊ฐ€๋˜์—ˆ์„ ๋•Œ์— 
๋”ฐ๋ผ ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์ƒ์„ฑํ•ด ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

-ํ…Œ์ด๋ธ”์— ๋ถ€์ฐฉ๋˜์–ด์„œ, ํ…Œ์ด๋ธ”์— INSERT๋‚˜ UPDATE ๋˜๋Š” DELETE ์ž‘์—…์ด ๋ฐœ์ƒ๋˜๋ฉด ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ

-ex) ํšŒ์›์ด ํƒˆํ‡ดํ•  ๊ฒฝ์šฐ ํƒˆํ‡ด์ž ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ๋ฅผ ์ผ๋ถ€ ์˜ฎ๊ฒจ๋†“๊ณ  ์ง€์šฐ๋Š” ์ž‘์—…

 

ํŠธ๋ฆฌ๊ฑฐ์˜ ์šฉ๋„ : ๋ฐฑ์—… ํ…Œ์ด๋ธ”์— ์ง€์›Œ์ง„ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ•˜๋Š”๊ฒŒ ํŠธ๋ฆฌ๊ฑฐ!

 

ํŠธ๋ฆฌ๊ฑฐ์˜ ์šฉ๋„ ์‹ค์Šต

-ํšŒ์› ๊ฐ€์ž…/์—…๋ฐ์ดํŠธ/์‚ญ์ œ์˜ ์ผ๋ จ ์ž‘์—…

-ํšŒ์› ๊ฐ€์ž…ํ–ˆ๋˜ ์ ์ด ์žˆ๋Š”์ง€ ๊ธฐ๋ก์ด ์—†์–ด ์ฆ๋ช…์„ ์š”๊ตฌํ•  ๊ฒฝ์šฐ์—๋Š” ์–ด๋–ป๊ฒŒ ํ•˜๋‚˜?

 : ์‚ญ์ œ ์ž‘์—… ์ผ์–ด๋‚  ๊ฒฝ์šฐ ๋ฐฑ์—…ํ…Œ์ด๋ธ”์— ์ง€์›Œ์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋กํ•˜๋Š” ํŠธ๋ฆฌ๊ฑฐ ์ƒ์„ฑ

๋ฐฑ์—… ํ…Œ์ด๋ธ”์— ์ง€์›Œ์ง„ ๊ฒฐ๊ณผ ๊ธฐ๋กํ•˜๋Š” ํŠธ๋ฆฌ๊ฑฐ