๐ŸŽฏ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ฐœ๋…์„ ์ตํžˆ๊ณ , ํ…Œ์ด๋ธ” ๊ฐ„ ๊ด€๊ณ„๋ฅผ ๊ณ ๋ คํ•œ ๋ฐ์ดํ„ฐ ์„ค๊ณ„๋ฅผ ์—ฐ์Šตํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ“™ Today I Learned

RDBMS

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(Relational Database Management System, RDBMS)์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์—ด๊ณผ ํ–‰์˜ ํ…Œ์ด๋ธ” ํ˜•ํƒœ๋กœ ์ €์žฅํ•˜๊ณ  ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์˜ ๊ด€๊ณ„๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋กœ ์—ฐ๊ฒฐํ•ด ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDB)

  • ๋ฐ์ดํ„ฐ๋ฅผ ํ…Œ์ด๋ธ” ๋‹จ์œ„๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • PK(๊ธฐ๋ณธ ํ‚ค)๐Ÿ”‘๋ฅผ ํ™œ์šฉํ•ด ๊ฐ ํ–‰์„ ์œ ์ผํ•˜๊ฒŒ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.
  • FK(์™ธ๋ž˜ ํ‚ค)๐Ÿ”—๋ฅผ ํ†ตํ•ด ํ…Œ์ด๋ธ” ๊ฐ„ ๊ด€๊ณ„๋ฅผ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • SQL๐Ÿ—ฃ๏ธ์„ ์‚ฌ์šฉํ•ด ๋ฐ์ดํ„ฐ ์กฐ์ž‘ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

    ์ถœ์ฒ˜: ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ

๐ŸŒ DB-Engines Ranking

ํ˜„์žฌ ์ˆ˜๋งŽ์€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์ด ์กด์žฌํ•˜๋ฉฐ, ๊ฐ DBMS๋Š” ์„ฑ๋Šฅ, ํ™•์žฅ์„ฑ, ์‚ฌ์šฉ ๋ชฉ์ ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿค” ๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋ ๊นŒ์š”?

DB-Engines๋Š” ์ „ ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(DBMS)์˜ ์ธ๊ธฐ๋„๋ฅผ ์ธก์ •ํ•˜๋Š” ์‚ฌ์ดํŠธ์ž…๋‹ˆ๋‹ค.

๐Ÿ”— DB-Engines ๋žญํ‚น ๋ฐ”๋กœ๊ฐ€๊ธฐ




DB ๊ด€๋ จ ๊ฐœ๋…

PK(Primary Key, ๊ธฐ๋ณธ ํ‚ค)

  • ํŠน์ • ํ…Œ์ด๋ธ”์—์„œ ๊ฐ ํ–‰(row)์„ ์œ ์ผํ•˜๊ฒŒ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ํ‚ค์ž…๋‹ˆ๋‹ค.
  • ํ•œ ํ…Œ์ด๋ธ”์— ๋ฐ˜๋“œ์‹œ ํ•˜๋‚˜๋งŒ ์กด์žฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

FK(Foreign Key, ์™ธ๋ž˜ ํ‚ค)

  • ํ•œ ํ…Œ์ด๋ธ”์ด ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์„ ์ฐธ์กฐํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํ‚ค์ž…๋‹ˆ๋‹ค.
    (์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ PK ๊ฐ’์„ ์ฐธ์กฐํ•˜๋Š” ๊ฒƒ์ด ์ด์ƒ์ )

์ •๊ทœํ™” (Normalization)

  • ๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ ์ตœ์†Œํ™”ํ•˜๊ณ  ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํ…Œ์ด๋ธ”์„ ๋ถ„๋ฆฌํ•˜๋Š” ๊ณผ์ •
    ์žฅ์ : ๋ฐ์ดํ„ฐ ์ค‘๋ณต ์ œ๊ฑฐ, ์ €์žฅ ๊ณต๊ฐ„ ์ ˆ์•ฝ, ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์‹œ ์ผ๊ด€์„ฑ ์œ ์ง€
    ๋‹จ์ : ๋ณต์žกํ•œ ์ฟผ๋ฆฌ ์ž‘์„ฑ ํ•„์š”, ์„ฑ๋Šฅ ์ €ํ•˜ ๊ฐ€๋Šฅ


ํ…Œ์ด๋ธ” ๊ฐ„ ์—ฐ๊ด€๊ด€๊ณ„

1:1 (์ผ๋Œ€์ผ ๊ด€๊ณ„)

ํ•œ ํ…Œ์ด๋ธ”์˜ ํ•œ ํ–‰์ด ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ํ•œ ํ–‰๊ณผ๋งŒ ์—ฐ๊ฒฐ๋˜๋Š” ๊ด€๊ณ„์ž…๋‹ˆ๋‹ค.

1:N (์ผ๋Œ€๋‹ค ๊ด€๊ณ„)

ํ•œ ํ…Œ์ด๋ธ”์˜ ํ•œ ํ–‰์ด ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ์—ฌ๋Ÿฌ ํ–‰๊ณผ ์—ฐ๊ฒฐ๋˜๋Š” ๊ด€๊ณ„์ž…๋‹ˆ๋‹ค.

M:N (๋‹ค๋Œ€๋‹ค ๊ด€๊ณ„)

๋‘ ํ…Œ์ด๋ธ”์ด ๋‹ค๋Œ€๋‹ค ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๋ฉฐ, ์ค‘๊ฐ„ ํ…Œ์ด๋ธ”(์—ฐ๊ฒฐ ํ…Œ์ด๋ธ”)์ด ํ•„์š”ํ•œ ๊ด€๊ณ„์ž…๋‹ˆ๋‹ค.




๋„์„œ ์ปค๋ฎค๋‹ˆํ‹ฐ DB ์‹ค์Šต

๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ” ์„ค๊ณ„

์ถœํŒ์‚ฌ(์‚ฌ์šฉ์ž)์™€ ์ž‘๊ฐ€ ์ฑ„๋„์€ 1:N ๊ด€๊ณ„์ž…๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“  ํ›„ ๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์ •๊ทœํ™”๋ฅผ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ •๊ทœํ™” ์ „: ๋„์„œ ๋ฐ ์ถœํŒ์‚ฌ ์›๋ณธ ํ…Œ์ด๋ธ”

์ž‘๊ฐ€ ์ •๋ณด์™€ ์ถœํŒ์‚ฌ ์ •๋ณด๊ฐ€ ํ•จ๊ป˜ ์ €์žฅ๋œ ์›๋ณธ ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค.

๐Ÿ“Œ ๋„์„œ ๋ฐ ์ถœํŒ์‚ฌ ์›๋ณธ ํ…Œ์ด๋ธ”

๋„์„œ ๋ฒˆํ˜ธ์ž‘๊ฐ€๋ช…๊ตฌ๋…์ž ์ˆ˜์ถœํŒ์‚ฌํšŒ์› ID๋น„๋ฐ€๋ฒˆํ˜ธ์—ฐ๋ฝ์ฒ˜
1์กฐ์ •๋ž˜1,000๋ฌธํ•™๋™๋„คjo1111010-1234-5678
2๊น€ํ›ˆ20๋ฏผ์Œ์‚ฌkim2222010-5555-5555
3ํ•œ๊ฐ•500์ฐฝ๋น„han3333010-5555-7777
4์‹ ๊ฒฝ์ˆ™100,000๋ฌธํ•™๋™๋„คshin4444010-6666-7777
5์ด๋ฌธ์—ด1,000,000๋ฌธํ•™๊ณผ์ง€์„ฑ์‚ฌlee5555010-1111-2222



์ •๊ทœํ™” ํ›„: ๋„์„œ ๋ฐ ์ถœํŒ์‚ฌ ๋ถ„๋ฆฌ ํ…Œ์ด๋ธ”

๐Ÿ“– ๋„์„œ ํ…Œ์ด๋ธ” (Books Table)

๋„์„œ ๋ฒˆํ˜ธ์ž‘๊ฐ€๋ช…๊ตฌ๋…์ž ์ˆ˜ํšŒ์› ID
1์กฐ์ •๋ž˜1001
2๊น€ํ›ˆ202
3ํ•œ๊ฐ•5003
4์‹ ๊ฒฝ์ˆ™1004
5์ด๋ฌธ์—ด1005

๐Ÿข ์ถœํŒ์‚ฌ ํšŒ์› ํ…Œ์ด๋ธ” (Publisher Members Table)

ํšŒ์› ID์ถœํŒ์‚ฌ๋น„๋ฐ€๋ฒˆํ˜ธ์—ฐ๋ฝ์ฒ˜
1๋ฌธํ•™๋™๋„ค1111010-1234-5678
2๋ฏผ์Œ์‚ฌ2222010-5555-5555
3์ฐฝ๋น„3333010-5555-7777
4๋ฌธํ•™๋™๋„ค4444010-6666-7777
5๋ฌธํ•™๊ณผ์ง€์„ฑ์‚ฌ5555010-1111-2222



โœ๏ธ ํ•œ ์ค„ ํšŒ๊ณ 

ํ…Œ์ด๋ธ” ๊ฐ„ ๊ด€๊ณ„๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•ด์•ผ ํ•˜๋Š”์ง€ ๊ณ ๋ฏผํ•ด๋ณด๋Š” ๊ณผ์ •์—์„œ ์–ด๋–ป๊ฒŒ ์„œ๋กœ ์—ฐ๊ฒฐํ•ด์•ผ ๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ ํ”ผํ•  ์ˆ˜ ์žˆ์„์ง€ ์ƒ๊ฐํ•˜๋Š” ๋ฒ•์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

profile
๐ŸŒฑ๊ฐœ๋ฐœ ๊ธฐ๋ก์žฅ

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