๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

TIL/๐Ÿงฌ DB

(4)
DB์™€ DBMS, ๊ทธ๋ฆฌ๊ณ  SQL ๋ช…๋ น์–ด ๋ชจ์Œ DB(DataBase) ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋“ค์ด ๊ณต์œ ํ•˜๊ณ  ์‚ฌ์šฉํ•  ๋ชฉ์ ์œผ๋กœ ํ†ตํ•ฉ ๊ด€๋ฆฌ๋˜๋Š” ๋ฐ์ดํ„ฐ๋“ค์˜ ๋ชจ์ž„ ์ฆ‰, ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ์˜ ๋ชจ์ž„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ •์˜ 4๊ฐ€์ง€ Integrated data(ํ†ตํ•ฉ ๋ฐ์ดํ„ฐ) : ์ค‘๋ณต ์ตœ์†Œํ™”, ํ†ต์ œ๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ค‘๋ณต๋งŒ ํ—ˆ์šฉ Shared data(๊ณต์œ  ๋ฐ์ดํ„ฐ) : ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ํ•จ๊ป˜ ์†Œ์œ , ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต์šฉ ๋ฐ์ดํ„ฐ Operational data(์šด์˜ ๋ฐ์ดํ„ฐ) : ์กฐ์ง ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ Stored data(์ €์žฅ ๋ฐ์ดํ„ฐ) : ์ปดํ“จํ„ฐ๊ฐ€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋งค์ฒด์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ ํŠน์ง• Continuous evolution ๊ณ„์† ๋ณ€ํ™” : insert, delete, update Real-time accessibility ์‹ค์‹œ๊ฐ„ ์ ‘๊ทผ์„ฑ : ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ ์š”๊ตฌ์— ์‹ค์‹œ๊ฐ„์œผ๋กœ ์‘๋‹ต C..
DB๊ฐ€ DBMS๋ž‘ ๋‹ค๋ฅธ ๊ฐœ๋…์ธ๊ฐ€์š”? ๊ทธ๋ ‡๋‹ค๋ฉด RDBMS๋Š”์š”? ์ž˜ ๋“ค์–ด์˜ค์…จ์Šต๋‹ˆ๋‹ค!!! DB์™€ DBMS๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐœ๋… ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ณ„์ ์œผ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ DBMS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DB๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋” ์ž์„ธํžˆ ์‚ดํŽด๋ณผ๊นŒ์š”? ๐Ÿ’‍โ™€๏ธ 1. DB์™€ DBMS๋Š” ๋‹ค๋ฅธ ๊ฐ€์š”? DB(Database)๋ž€? ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ฒด๊ณ„ํ™”๋œ ๋ฐฉ๋ฒ•์ด๋‚˜ ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ ์ž์ฒด๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์—‘์…€ ์‹œํŠธ๋‚˜ ํ…์ŠคํŠธ ํŒŒ์ผ ๋“ฑ์˜ ๋ฐ์ดํ„ฐ ํŒŒ์ผ๋„ DB์˜ ์ผ์ข…์ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ, DB๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDBMS)๋ฅผ ์˜๋ฏธํ•œ๋‹ต๋‹ˆ๋‹ค. DBMS(Database Management System)๋ž€? DB๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ , ์กฐ์ž‘ํ•˜๋ฉฐ, ๋ณดํ˜ธํ•˜๊ณ , ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. DB์˜ ๊ตฌ์กฐ, ์Šคํ‚ค๋งˆ, ์ธ๋ฑ์Šค ๋“ฑ์„ ..
DML๊ณผ DDL DML๊ณผ DDL์€ ๋ชจ๋‘ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•œ๋‹ค. DML์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…, ์ˆ˜์ •, ์‚ญ์ œํ•˜๊ณ  DDL์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑ, ์ˆ˜์ • ๋ฐ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค. DML(Data Manipulation Language) ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰, ์‚ฝ์ž…, ์ˆ˜์ • ๋ฐ ์‚ญ์ œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ ์ข…๋ฅ˜ SELECT : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ INSERT : ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์‚ฝ์ž… UPDATE : ๋ฐ์ดํ„ฐ ์ˆ˜์ • DELETE : ๋ฐ์ดํ„ฐ ์‚ญ์ œ ์‹คํ–‰ ์ˆœ์„œ FROM, JOIN ON, WHERE → 2์ฐจ ํ…Œ์ด๋ธ” ์ƒ์„ฑ GROUP BY AGGREGATE → 3์ฐจ ํ…Œ์ด๋ธ” ์ƒ์„ฑ HAVING → 4์ฐจ ํ…Œ์ด๋ธ” ์ƒ์„ฑ(HAVING ์ž‘์—…์ด ์žˆ์„ ๊ฒฝ์šฐ์—๋งŒ) ORDER BY LIMIT DDL(Date Definition L..
Index(์ƒ‰์ธ) ์ธ๋ฑ์Šค๋ž€, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํ…Œ์ด๋ธ”์˜ ์—ด(Colunm)์— ๋Œ€ํ•œ ๊ฒ€์ƒ‰ ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์˜ ํ…Œ์ด๋ธ”์—์„œ ํŠน์ • ์—ด์— ๋Œ€ํ•œ ๊ฒ€์ƒ‰์„ ๋น ๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰์ด ๋นจ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์—, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ํŠน์ง• ์ธ๋ฑ์Šค๋Š” ํ•ด๋‹น ์—ด์— ๋Œ€ํ•œ ์ •๋ ฌ๋œ ๋ชฉ๋ก์„ ๋งŒ๋“ ๋‹ค. ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ๊ฒ€์ƒ‰ ์†๋„๊ฐ€ ํ–ฅ์ƒ๋œ๋‹ค. ์ธ๋ฑ์Šค๋Š” ๋””์Šคํฌ ๊ณต๊ฐ„์„ ์ถ”๊ฐ€๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ์ ์ ˆํ•œ ์—ด์— ๋Œ€ํ•ด์„œ๋งŒ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค. ์ธ๋ฑ์Šค๋ฅผ ์ง€๋‚˜์น˜๊ฒŒ ๋งŽ์ด ์ƒ์„ฑํ•˜๋ฉด ๋ฐ์ดํ„ฐ ์ž…๋ ฅ ๋ฐ ์‚ญ์ œ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ๋‹ค. (์—ญํšจ๊ณผ ๋ฐœ์ƒ ๊ฐ€๋Šฅ) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ ์‚ญ์ œ๋  ๋•Œ ์ธ๋ฑ์Šค ์—…๋ฐ์ดํŠธ ์ž‘์—…์ด ์ˆ˜ํ–‰๋œ๋‹ค. ์นผ๋Ÿผ์— ์ธ๋ฑ์Šค๋ฅผ ๊ฑฐ๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ์žฅ๋‹จ์  ์žฅ์  : SEL..