๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์‹œ๋„/๊ตญ๋น„์ง€์›

[D+28] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค Database

by ๐Ÿ‡๋ฐ•๋ด‰๋ด‰๐Ÿ‡ 2022. 11. 1.

 

 

Algorithm

-  ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค Database -

 


 

๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค Database

• ๋ฐ์ดํ„ฐ Data

๋ฐ์ดํ„ฐ๋Š” ์›์ž์„ฑ์„ ๊ฐ€์ง€๋Š” ์ •๋ณด๋‹จ์œ„๋กœ ์ด๋•Œ์˜ ์ •๋ณด๋‹จ์œ„๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค์— ๋”ฐ๋ผ ์ฃผ๊ด€์ ์ธ ์„ฑ๊ฒฉ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค๋ฉด, ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ๋ฅผ ๋ฐ์ดํ„ฐ๋กœ ๋ฐ›์•„์˜ฌ๋•Œ ๋ˆ„๊ตฐ๊ฐ€๋Š” ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ ์ „์ฒด๋ฅผ ์š”๊ตฌํ•  ์ˆ˜๋„ ์žˆ๊ณ , ๋ˆ„๊ตฐ๊ฐ€๋Š” ์•ž๋ถ€๋ถ„์ด๋‚˜ ๋’ท๋ถ€๋ถ„๋งŒ ํ•„์š”ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋ง์ธ ์ฆ‰, ๋ฌด์—‡์ด ๋งž๊ณ  ํ‹€๋ฆฌ๊ณ ๊ฐ€ ์•„๋‹ˆ๋ผ ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค์— ๋”ฐ๋ผ์„œ ์š”๊ตฌํ•˜๋Š” ์ •๋ณด๋‹จ์œ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋ฉด ๊ทธ ์ž์ฒด๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค๋Š” ๋ง์ด๋‹ค.

 

• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค Database

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ฆ๊ฐ€ํ•ด ์ฐจ๊ณก์ฐจ๊ณก ์Œ“์ธ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

 

๋ฐ์ดํ„ฐ๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉด ๋ฐ์ดํ„ฐ์˜ ์š”๊ตฌ์‚ฌํ•ญ์ด ์ฆ๊ฐ€ํ•˜๊ฒŒ ๋œ๋‹ค.

์ฆ‰, ์šฐ๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ†ตํ•ด์„œ ๋ฏธ๋ž˜๋ฅผ ์˜ˆ์ธกํ• ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ˜„ํ™ฉ์„ ๋ถ„์„ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

 

ํŠน์ง•)

- ์‹ค์‹œ๊ฐ„ ์ ‘๊ทผ

- ์ง€์†์ ๋ณ€ํ™”

- ๋™์‹œ๊ณต์šฉ

- ๋‚ด์šฉ์— ์˜ํ•œ ์ฐธ์กฐ

- ๋ฐ์ดํ„ฐ ์—ฐ๊ณ„์„ฑ

 

• DBMS (Data Base Management System)

์šฐ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ์˜ ์–‘์ด ์ฆ๊ฐ€ํ•˜๊ฒŒ ๋˜๋ฉด ๋ฏธ๋ž˜๋ฅผ ์˜ˆ์ธกํ•˜๊ณ  ํ˜„ํ™ฉ์„ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ๋„ ์žˆ์ง€๋งŒ ๋ณด๋‹ค ์ •ํ™•ํ•œ ๋ถ„์„์„ ์œ„ํ•ด์„œ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ž˜ ๋ณด์กด๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.

๋˜ํ•œ ๋ฐ์ดํ„ฐ์˜ ์–‘์ด ๋ฌด์ˆ˜ํžˆ ๋งŽ์•„์ง€๊ฒŒ ๋˜๋ฉด ๊ธฐ์กด์˜ ๋ถ„์„ ๋ฐฉ์‹์—์„œ ์ƒˆ๋กœ์šด ๋ถ„์„๋ฐฉ์‹๋„์ž…์˜ ํ•„์š”์„ฑ์„ ๋Š๋ผ๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋•Œ ๋งค๋ฒˆ ์ƒˆ๋กœ์šด ๋ถ„์„๋ฐฉ์‹์„ ๋„์ž…ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๊ด€๋ จ๋œ ์–ธ์–ด๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ์šฐ๋ฆฌ๋Š” ์ด๋ฅผ DBMS๋ผ๊ณ  ํ•œ๋‹ค.

 

DBMS๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋Š” ๊ด€์ ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ž˜ ์ €์žฅํ•  ๊ฒƒ์ธ๊ฐ€, ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ž˜ ๋ถ„์„ํ•  ๊ฒƒ์ธ๊ฐ€ ์ด๋‹ค.

 

๋‚ด๊ฐ€ ์‚ฌ์šฉํ•  DBMS๋Š” Mysql Community์ธ๋ฐ ํ•˜๋‚˜์˜ DBMS๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ DB๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

(DBMS๋งˆ๋‹ค ์ด๋Š” ๋‹ค๋ฅด๊ฒŒ ์ž‘์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.)

 

• Table

ํ…Œ์ด๋ธ”์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•ˆ์—์„œ ํ–‰๊ณผ ์—ด๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š” ์ •๋ณด์˜ ๋ชจ์Œ์œผ๋กœ ํ–‰์— ๊ด€ํ•œ ์ •๋ณด๋ฅผ ๋กœ์šฐ(row)๋‚˜ ํŠœํ”Œ๋กœ ๋ถ€๋ฅด๋ฉฐ ์—ด์ •๋ณด๋Š” ์ปฌ๋Ÿผ์ด๋‚˜ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ ๊ทธ๋ฆฌ๊ณ  ํ•„๋“œ๋กœ ๋ถ€๋ฅธ๋‹ค.

 

• ์Šคํ‚ค๋งˆ schema

- schema : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ž๋ฃŒ์˜ ๊ตฌ์กฐ, ํ‘œํ˜„ ๋ฐฉ๋ฒ•, ์ž๋ฃŒ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ํ˜•์‹ ์–ธ์–ด๋กœ ์ •์˜ํ•œ ๊ตฌ์กฐ

- Meta Data : ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋กœ, ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์˜๋ฏธ

 

• ๋ฐ์ดํ„ฐ ํƒ€์ž…

๋ฌธ์ž ๋ฐ์ดํ„ฐํƒ€์ž…์—์„œ char๋Š” ๊ณ ์ •๋˜์–ด ์žˆ๋Š” ์‚ฌ์ด์ฆˆ๋กœ ์„ค์ •ํ•œ ๊ฐ’๋ณด๋‹ค ์ž‘์€ ๊ฐ’์„ ์ž…๋ ฅํ•ด๋„ ์„ค์ •ํ•œ ๊ฐ’์œผ๋กœ ๋‚ด๋ณด๋‚ด๋ฉฐ, ์‚ฌ์ด์ฆˆ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ธฐ๋•Œ๋ฌธ์— ์ ‘๊ทผ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.

๋ฐ˜๋ฉด varchar๋Š” ์„ค์ •๊ฐ’๋ณด๋‹ค ์ ๊ฒŒ ์ž…๋ ฅํ•  ๊ฒฝ์šฐ ๊ฐ’์„ ํŒŒ์•…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์ด์ฆˆ๋ฅผ ๊ณ ๋ คํ•˜๋Š๋ผ ์ ‘๊ทผ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค.

 

๋ฐ์ดํ„ฐํƒ€์ž…์ด ๋‹ค์–‘ํ•œ ์ด์œ 

- ๋ฐ์ดํ„ฐํƒ€์ž…์˜ ์ข…๋ฅ˜๊ฐ€ ๋‹ค์–‘ํ•œ ์ด์œ ๋Š” ์ธ๊ฐ„์ด ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

- ๋ฐ์ดํ„ฐํƒ€์ž…์„ ์„ ์ •ํ•˜๋Š”๋ฐ ๋น„๊ต์  ๋ฏผ๊ฐํ•œ๋ฐ ์ด์œ ๋Š” ๋ฐ์ดํ„ฐ ์–‘์ด ๋งŽ์•„์งˆ์ˆ˜๋ก ๋ฐ์ดํ„ฐํƒ€์ž…์„ ์ž˜๋ชป์„ค์ •ํ•˜๋ฉด ๋‚ญ๋น„๊ฐ€ ๋ฐœ์ƒ๋  ์šฐ๋ ค๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

• ์ œ์•ฝ์กฐ๊ฑด

- ํ…Œ์ด๋ธ” ๋ฐ ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ์ฒด ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋ช…์„ธํ•œ ์กฐ๊ฑด

- ๋ฐ์ดํ„ฐ์˜ ๊ตฌ์กฐ์  ์ œ์•ฝ๊ณผ ์‹ค์ œ๊ฐ’์— ๋Œ€ํ•œ ์ œ์•ฝ

 

- ์ œ์•ฝ์กฐ๊ฑด์˜ ์ข…๋ฅ˜)

• ๋„๋ฉ”์ธ ๋ฌด๊ฒฐ์„ฑ : ์‹ค์ œ๊ฐ’(ํ•„๋“œ์ง‘ํ•ฉ)์— ๋Œ€ํ•œ ์ œ์•ฝ → Datatype, NN
• ๊ฐœ์ฒด ๋ฌด๊ฒฐ์„ฑ : ๊ธฐ๋ณธํ‚ค๋ฅผ ์„ค์ •, ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด NULLํ—ˆ์šฉ ์•ˆํ•จ → PK, NN
• ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ : ์ฐธ์กฐํ•  ์ˆ˜ ์—†๋Š” ์™ธ๋ž˜ํ‚ค๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค. → NN
NN : NOT NULL์˜ ์˜๋ฏธ๋กœ ๋น„์–ด์žˆ๋‹ค๋Š” ์˜๋ฏธ์˜ NULL์ด ์กด์žฌํ•˜๋ฉด ์•ˆ๋œ๋‹ค.
PK : Primary Key๋กœ ๊ธฐ๋ณธํ‚ค๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ๊ธฐ์ค€์ด ๋˜๋Š” ํ‚ค์ด๋‹ค.
UQ : Unique์˜ ์˜๋ฏธ๋กœ ๊ณ ์œ ํ•œ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ณ ์œ ํ‚ค๋ผ๊ณ  ํ•œ๋‹ค.
AI : Auto Increment๋กœ ์ž๋™์œผ๋กœ ๊ฐ’์ด ์ฆ๊ฐ€ํ•˜๋ฉด์„œ ์ž…๋ ฅ๋œ๋‹ค.

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€