๐Ÿ’พ RDBMS์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

suRanยท2022๋…„ 7์›” 11์ผ
0

๐Ÿ’พ MySQL

๋ชฉ๋ก ๋ณด๊ธฐ
1/9
post-thumbnail

๋ณธ ํฌ์ŠคํŒ…์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฏธ๋‹ˆ ๋ฐ๋ธŒ ์ฝ”์Šค๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉฐ
ํ•™์Šต์„ ๊ธฐ๋กํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ์ž‘์„ฑ๋œ ๊ธ€์ž…๋‹ˆ๋‹ค.

1. RDBMS๋ž€?

๐Ÿ’ฟDBMS๋ถ€ํ„ฐ ์•Œ์•„์•ผ๊ฒ ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์— ์ €์žฅ๋˜๋Š” ๊ตฌ์กฐํ™”๋œ ์ •๋ณด, ์กฐ์งํ™”๋œ ๋ฐ์ดํ„ฐ์˜ ๋ชจ์Œ์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ผ๊ณ  ํ•œ๋‹ค. ๋ณดํ†ต ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ œ์–ดํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์‹œ์Šคํ…œ, ์—ฐ๊ฒฐ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ•˜๋‚˜๋กœ ๋ฌถ์–ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ(DBMS) ์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ฑฐ๋‚˜ ๋‹จ์ถ•ํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์œ ํ˜•์€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDBMS), NoSQL๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(๋น„๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค), ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค ๋“ฑ ๋งค์šฐ ๋‹ค์–‘ํ•˜๋‹ค.

(์ถœ์ฒ˜: https://www.oracle.com/kr/database/what-is-database/)


๐Ÿ’ฟ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ํ•„์š”ํ•œ ์ด์œ 

๋ชจ๋“  IT ์„œ๋น„์Šค๋Š” ๊ณ„์† ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๊ณ  ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋”˜๊ฐ€์— ์ €์žฅํ•ด์•ผ ํ•œ๋‹ค.

์˜ˆ) ์นด์นด์˜คํ†ก์ด๋ผ๋ฉดโ€ฆ
์‚ฌ์šฉ์ž๊ฐ€ ํšŒ์›๊ฐ€์ž… ์‹œ ์ž…๋ ฅํ•œ ์‚ฌ์šฉ์ž ์ •๋ณด ๋ฐ์ดํ„ฐ(ID, ํŒจ์Šค์›Œ๋“œ, ์ „ํ™”๋ฒˆํ˜ธ)
์‚ฌ์šฉ์ž์˜ ์นœ๊ตฌ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์นœ๊ตฌ๋“ค์˜ ID
์‚ฌ์šฉ์ž์˜ ์ฑ„ํŒ…๊ธฐ๋ก

์˜ˆ) ์ฟ ํŒก์ด๋ผ๋ฉดโ€ฆ
์ด์šฉ์ž๊ฐ€ ํšŒ์›๊ฐ€์ž… ์‹œ ์ž…๋ ฅํ•œ ํšŒ์› ์ •๋ณด ๋ฐ์ดํ„ฐ(ID, ํŒจ์Šค์›Œ๋“œ, ์ „ํ™”๋ฒˆํ˜ธ, ์ฃผ์†Œ)
์ด์šฉ์ž์˜ ๊ตฌ๋งค์ด๋ ฅ, ์ƒํ’ˆ ๊ฒ€์ƒ‰๊ธฐ๋ก, ํด๋ฆญํ–ˆ๋˜ ์ƒํ’ˆ ์ •๋ณด

๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์˜๊ตฌ์ ์œผ๋กœ ์ €์žฅํ•  ํ•„์š”๋Š” ์—†์ง€๋งŒ
์„œ๋น„์Šค ํ’ˆ์งˆ์„ ๋†’์ด๊ณ  ํšจ์œจ์ ์ธ ์šด์˜์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋Š” ๊ณ„์† ๊ธฐ๋ก๋˜์–ด์•ผ ํ•œ๋‹ค.

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


๐Ÿ’ฟRDBMS์™€ ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ข…๋ฅ˜ ์ค‘ ํ”„๋กœ๋•์…˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDBMS)๊ณผ ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

  • ํ”„๋กœ๋•์…˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDBMS)
    ์ค‘์š”ํ•œ ๊ฒƒ: ๋น ๋ฅธ ์ฒ˜๋ฆฌ์†๋„
    ์ €์žฅ๋ฐ์ดํ„ฐ: ์„œ๋น„์Šค ์šด์˜์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ
    ์ด๋ ‡๊ฒŒ๋„ ๋ถ€๋ฅธ๋‹ค: OLTP

  • ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค
    ์ค‘์š”ํ•œ ๊ฒƒ: ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์˜ ํฌ๊ธฐ
    ์ €์žฅ๋ฐ์ดํ„ฐ:์‚ฌ์ดํŠธ ๋ฐฉ๋ฌธ ํŠธ๋ž˜ํ”ฝ๊ณผ ์™ธ๋ถ€๋ฐ์ดํ„ฐ(์ด๋ฉ”์ผ, ๋งˆ์ผ€ํŒ… ๋“ฑ) ๋ชจ๋“  ํšŒ์‚ฌ ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ
    ์ด๋ ‡๊ฒŒ๋„ ๋ถ€๋ฅธ๋‹ค: OLSP

ํ”„๋กœ๋•์…˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDBMS) ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐํ™”๋œ ํ…Œ์ด๋ธ”๋“ค์˜ ์ง‘ํ•ฉ์œผ๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•œ๋‹ค. ํ”„๋กœ๋•์…˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋ณดํ†ต Star schema ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•œ๋‹ค.

๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค ๋Š” ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค. ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค์ฒ˜๋Ÿผ ํšŒ์‚ฌ์— ํ•„์š”ํ•œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๊ตฐ๋ฐ์— ์ €์žฅํ•ด๋‘๋ฉด ํฐ ์ด์ ์ด ์ƒ๊ธด๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถ„์‚ฐ๋˜์–ด์žˆ๋‹ค๋ฉด ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์„ ์œ„ํ•œ JOIN์— ์ธ๋ ฅ๊ณผ ์‹œ๊ฐ„์ด ์†Œ๋ชจ๋˜๊ณ  ์‹ค์ˆ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฌ์›Œ์ง„๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค๋Š” ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์—ฌ ๊ทธ๋Ÿฐ ์ˆ˜๊ณ ๋กœ์›€๊ณผ ์‹ค์ˆ˜๋ฅผ ์ค„์ธ๋‹ค. ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•ด ๋น„์ฆˆ๋‹ˆ์Šค ์˜์‚ฌ๊ฒฐ์ •๊ณผ ์„œ๋น„์Šค ์ตœ์ ํ™”์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค๋Š” ๋ณดํ†ต Denormalized schema ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•œ๋‹ค.


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


2. ๋ฐฑ์—”๋“œ์—์„œ์˜ DBMS

๐Ÿ’ฟ์‹œ์Šคํ…œ ๊ตฌ์„ฑ์˜ ๋ณ€ํ™”

2tier
๋ฐ์Šคํฌํƒ‘ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์•„ํ‚คํ…์ณ
๋‘ ๊ฐœ์˜ ์ปดํฌ๋„ŒํŠธ(tier)๋กœ ์ด๋ฃจ์–ด์ง„ ์‹œ์Šคํ…œ์œผ๋กœ,
ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” UI๊ฐ€ ๋œ๋‹ค(Front-end).
2tier์—์„œ๋Š” ํ”„๋ก ํŠธ ์—”๋“œ์ธ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ง์ ‘ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
์„œ๋ฒ„๋‹จ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋œ๋‹ค(Back-end).

3tier
์›น ์„œ๋น„์Šค, ๋ชจ๋ฐ”์ผ ์•ฑ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์•„ํ‚คํ…์ณ
์„ธ ๊ฐœ์˜ ์ปดํฌ๋„ŒํŠธ๋กœ ์ด๋ฃจ์–ด์ง„ ์‹œ์Šคํ…œ์œผ๋กœ,
ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ํ‹ฐ์–ด๊ฐ€ ์‚ฌ์šฉ์ž์—๊ฒŒ UI๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. HTML, CSS ๋“ฑ์„ ์‚ฌ์šฉํ•œ ์›นํŽ˜์ด์ง€๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค(Front-end).
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ‹ฐ์–ด๋ผ๋Š” ๋ฏธ๋“ค ํ‹ฐ์–ด๊ฐ€ ์กด์žฌํ•œ๋‹ค. 3tier์—์„œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ‹ฐ์–ด๊ฐ€ ์„œ๋น„์Šค์— ๋งž๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•œ๋‹ค(Back-end). ์˜ˆ) ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๊ตฌ๋งค์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ‹ฐ์–ด์—์„œ ์žฌ๊ณ ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ์žฌ๊ณ ๊ฐ€ ์žˆ์œผ๋ฉด transaction. ์žฌ๊ณ ๊ฐ€ ์—†์œผ๋ฉด ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ํ‹ฐ์–ด์— ์žฌ๊ณ ๊ฐ€ ์—†๋‹ค๋Š” ์˜ค๋ฅ˜๋ฅผ ์†ก์ถœํ•œ๋‹ค.
๋ฐ์ดํ„ฐ ํ‹ฐ์–ด ๋Š” ์‚ฌ์šฉ์ž๋“ค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ์„œ๋ฒ„์ด๋‹ค(Back-end).


์–ด๋–ค ๊ตฌ์กฐ์ด๊ฑด ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋ฅผ ๊ผญ ์ €์žฅํ•ด์•ผํ•˜๊ณ , ๊ทธ ์šฉ๋„๋กœ ์“ฐ์ด๋Š” ๊ฒŒ RDBMS์ด๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์–ด๋–ค ๊ตฌ์กฐ์—์„œ๋“  ๊ผญ ํ•„์š”ํ•œ ์ปดํฌ๋„ŒํŠธ์ด๋‹ค.


3. RDBMS์˜ ๊ตฌ์กฐ

๐Ÿ’ฟ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” 2๋‹จ๊ณ„(ํ…Œ์ด๋ธ”๊ณผ ์Šคํ‚ค๋งˆ)๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. RDBMS๋Š” ๋””๋ ‰ํ† ๋ฆฌ, ํ˜น์€ ํด๋”์™€ ๊ฐ™์€ ์ปจ์…‰์„ ๊ฐ€์ง„๋‹ค. ํ…Œ์ด๋ธ”๋“ค์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(์Šคํ‚ค๋งˆ)๋ผ๋Š” ํด๋” ๋ฐ‘์— ๊ตฌ์„ฑํ•ด ํ…Œ์ด๋ธ” ์†์„ฑ์— ๋งž์ถฐ ์Šคํ‚ค๋งˆ๋ฅผ ๋งŒ๋“ค๋ฉด ์กฐ๊ธˆ ๋” ํŽธํ•˜๊ฒŒ ํ…Œ์ด๋ธ”์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
์˜ˆ) ๊ฐœ์ธ์ •๋ณด ํ…Œ์ด๋ธ”์„ ๊ฐœ์ธ์ •๋ณด๊ฐ€ ๋“ค์–ด๊ฐ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๊ตฌ์„ฑํ•ด ๊ฐ•๋ ฅํ•œ ์ ‘๊ทผ ์ œ์–ด๋ฅผ ์‹คํ–‰ํ•œ๋‹ค

๐Ÿ’ฟ๋ฐ์ดํ„ฐ ๋ชจ๋ธ

๋ฐ์ดํ„ฐ ๋ชจ๋ธ์€ ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ค ํ…Œ์ด๋ธ”์˜ ์ง‘ํ•ฉ์œผ๋กœ ์ €์žฅํ•  ๊ฒƒ์ธ๊ฐ€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.
Star scheme ๋ชจ๋ธ ๊ณผ Denormalized schema๋ชจ๋ธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

Star scheme ๋ชจ๋ธ
Star scheme ๋ชจ๋ธ์€ ํ•œ ์—”ํ‹ฐํ‹ฐ์˜ ์ •๋ณด๋ฅผ ๊ทธ ํ…Œ์ด๋ธ”์— ์œ ์ง€ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋งค์žฅ ํ…Œ์ด๋ธ”, ๊ธฐ๊ฐ„ ํ…Œ์ด๋ธ”, ์ œํ’ˆ ํ…Œ์ด๋ธ”, ์˜์—…์ง์› ํ…Œ์ด๋ธ”์ด ์กด์žฌํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ๋งค์ถœ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด ๊ทธ๋“ค์„ JOINํ•˜์—ฌ ๋งค์ถœ์ •๋ณด ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ ๋‹ค. ์ •๋ณด๋ฅผ ์ค‘๋ณตํ•ด์„œ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ์„ ๋ง‰๋Š” ํ˜•ํƒœ์ด๋‹ค.
์žฅ์ 
์Šคํ† ๋ฆฌ์ง€ ๋‚ญ๋น„๊ฐ€ ๋œํ•˜๋‹ค.
์—…๋ฐ์ดํŠธ๊ฐ€ ์‰ฝ๋‹ค : ๋งค์žฅ์ •๋ณด๊ฐ€ ๋ฐ”๋€Œ๋ฉด ๋งค์žฅ ํ…Œ์ด๋ธ”๋งŒ ์ˆ˜์ •ํ•˜๋ฉด ๋œ๋‹ค.
๋‹จ์ 
JOIN์œผ๋กœ ์ธํ•ด ๋งŽ์€ ๋ฆฌ์†Œ์Šค ํˆฌ์ž…๊ณผ ์†๋„ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

ํ”„๋กœ๋•์…˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋ณดํ†ต ์ปดํ“จํ„ฐ ํ•œ ๋Œ€์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋‹ค. ์ปดํ“จํ„ฐ ํ•œ ๋Œ€๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋‚˜ ๋””์Šคํฌ ํฌ๊ธฐ์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ €์žฅ๊ณต๊ฐ„์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•ด์•ผํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ”„๋กœ๋•์…˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Star scheme ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•œ๋‹ค.

Denormalized schema๋ชจ๋ธ
Denormalized schema ๋ชจ๋ธ์€ ์ •๋ณด๋ฅผ ๋‹จ์œ„ ํ…Œ์ด๋ธ”๋กœ ๋‚˜๋ˆ„์–ด ์ €์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋ณ„๋„์˜ ์กฐ์ธ์ด ํ•„์š”์—†๋Š” ํ˜•ํƒœ๋กœ ๋งค์ถœ ํ…Œ์ด๋ธ” ์ž์ฒด์— ์ง์›์ •๋ณด, ์ œํ’ˆ ์ •๋ณด, ๊ธฐ๊ฐ„ ์ •๋ณด ๋“ฑ์„ ๋ชจ๋‘ ์ง‘์–ด๋„ฃ๋Š”๋‹ค.
์žฅ์ 
JOIN์ด ํ•„์š” ์—†์œผ๋ฏ€๋กœ ๋น ๋ฅธ ๊ณ„์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
๋‹จ์ 
์—…๋ฐ์ดํŠธ๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๋ณต์žกํ•˜๋‹ค.

๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค๋Š” ๋‹ค์ˆ˜์˜ ์ปดํ“จํ„ฐ๋กœ ๊ตฌ์„ฑ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋‹ค. ์ปดํ“จํ„ฐ ์—ฌ๋Ÿฌ ๋Œ€๋กœ ๊ตฌ์„ฑ๋˜๋Š” ํด๋Ÿฌ์Šคํ„ฐ ํ˜•ํƒœ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ๋•์…˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ณด๋‹ค ๊ณต๊ฐ„์  ์ œ์•ฝ์ด ๋œํ•˜๊ณ  ์ €์žฅ๊ณต๊ฐ„์„ ์•„๋ผ์ง€ ์•Š์•„๋„ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค์—์„œ๋Š” Denormalized schema๋ชจ๋ธ ์„ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Star scheme๋ชจ๋ธ์„ ์“ธ ์ˆ˜๋„ ์žˆ๋‹ค.



4. SQL์ด๋ž€?

๐Ÿ’ฟSQL์— ๋Œ€ํ•ด์„œ

SQL์€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค.
๋‹จ๊ณ„์ ์œผ๋กœ ์ง„ํ–‰ํ•˜๋Š” ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๋‹ฌ๋ฆฌ SQL์€ ์„ ์–ธํ•˜๋Š” ํ˜•ํƒœ์ด๋‹ค.
SQL์€ ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฒ€์ฆ๋œ ์–ธ์–ด๋กœ, ์ง๊ตฐ์— ๊ด€๊ณ„์—†์ด ๋ฐฐ์šฐ๋ฉด ํฐ ๋„์›€์ด ๋˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค.


๐Ÿ’ฟSQL์˜ ์žฅ์ ๊ณผ ๋‹จ์ 

์žฅ์ 
๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š”๋ฐ ์ตœ์ ํ™” ๋˜์–ด์žˆ๋‹ค.


๋‹จ์ 
๋น„๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฒƒ์€ ์ œ์•ฝ์ด ์‹ฌํ•˜๋‹ค.
(๊ทธ๋ž˜์„œ ๋ณดํ†ต RDBMS๋ฅผ ๋ณด์™„ํ•ด์ค„ ์ˆ˜ ์žˆ๋Š” ๋˜ ๋‹ค๋ฅธ ๋ถ„์‚ฐ ์ปดํ“จํŒ… ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•œ๋‹ค.)



5. ์ •๋ฆฌ

์˜ค๋Š˜์€ RDBMS์˜ ๊ฐœ๋…๊ณผ ๊ตฌ์กฐ, ๋ฐฑ์—”๋“œ์—์„œ์˜ DBMS์˜ ์ค‘์š”์„ฑ, RDBMS์˜ ๊ตฌ์กฐ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๊ณผ RDBMS์—์„œ ์“ฐ์ด๋Š” ์–ธ์–ด์ธ SQL์˜ ํŠน์ง•์— ๋Œ€ํ•ด ํ•™์Šตํ•ด๋ณด์•˜๋‹ค.

๋‹ค์Œ ํ•™์Šต ์˜ˆ๊ณ 

๋ณธ๊ฒฉ์ ์œผ๋กœ RDBMS๋ฅผ ๋‹ค๋ฃจ๋Š” SQL ๋ฌธ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณธ๋‹ค.
๋‹ค์Œ ์‹œ๊ฐ„์— ๊ณ„์†โ€ฆ

profile
๊ฐœ๋ฐœ ๊ณต๋ถ€๋ฅผ ํ•ด๋ผ

4๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2022๋…„ 7์›” 15์ผ

์ž์„ธํ•˜๊ณ  ์‰ฝ๊ฒŒ ์„ค๋ช…๋˜์–ด์žˆ์–ด์„œ ์ดํ•ด๊ฐ€ ์ž˜ ํ–ˆ์Šต๋‹ˆ๋‹ค! ๊ฐ์‚ฌํ•ด์š” ใ…Žใ…Ž

1๊ฐœ์˜ ๋‹ต๊ธ€
comment-user-thumbnail
2022๋…„ 7์›” 17์ผ

๊ตฌ๋… ์ข‹์•„์š” ์–ด๋””์— ์žˆ๋‚˜์—ฐ?? ๋ˆ„๋ฅด๊ณ  ๊ฐ‘๋‹ˆ๋‹ค :)

1๊ฐœ์˜ ๋‹ต๊ธ€