๐Ÿ’ป/CS

[DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋ธ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ

ruhz 2020. 10. 20. 10:08

0. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ

๋ฐ์ดํ„ฐ ๋ชจ๋ธ
  - ๊ณ„์ธต ๋ฐ์ดํ„ฐ ๋ชจ๋ธ : ํฌ์ธํ„ฐ ์‚ฌ์šฉ
  - ๋„คํŠธ์›Œํฌ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ : ํฌ์ธํ„ฐ ์‚ฌ์šฉ
  - ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ : ์†์„ฑ๊ฐ’ ์‚ฌ์šฉ
  - ๊ฐ์ฒด ๋ฐ์ดํ„ฐ ๋ชจ๋ธ : ๊ฐ์ฒด ์‹๋ณ„์ž ์‚ฌ์šฉ


DBMS
  - 1์„ธ๋Œ€ : ๋„คํŠธ์›Œํฌ DBMS, ๊ณ„์ธต DBMS (๊ทธ๋ž˜ํ”„, ํŠธ๋ฆฌ)
  - 2์„ธ๋Œ€ : ๊ด€๊ณ„ DBMS (ํ…Œ์ด๋ธ”)
  - 3์„ธ๋Œ€ : ๊ฐ์ฒด์ง€ํ–‰ DBMS, ๊ฐ์ฒด๊ด€๊ณ„ DBMS (ํด๋ž˜์Šค)
  - 4์„ธ๋Œ€ : No-SQL(๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ, ์œ ์—ฐ์„ฑ, ๋ถ„์‚ฐ์ €์žฅ ๋ฐฉ์‹์— ์œ ๋ฆฌ), NewSQL(๊ด€๊ณ„DBMS์™€ No-SQL์˜ ์žฅ์ )

 

 

 

1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ(DBS; DataBase System)
  : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ , ์ด๋ฅผ ๊ด€๋ฆฌํ•˜์—ฌ ์กฐ์ง์— ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๋Š” ์‹œ์Šคํ…œ

 

์Šคํ‚ค๋งˆ์™€ ์ธ์Šคํ„ด์Šค
  - ์Šคํ‚ค๋งˆ : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ ์ œ์•ฝ์กฐ๊ฑด์„ ์ •์˜ํ•œ ๊ฒƒ
  - ์ธ์Šคํ„ด์Šค : ์Šคํ‚ค๋งˆ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์‹ค์ œ๋กœ ์ €์žฅ๋œ ๊ฐ’

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ(3๋‹จ๊ณ„)
  - ์™ธ๋ถ€ ๋‹จ๊ณ„ : ๊ฐœ๋ณ„ ์‚ฌ์šฉ์ž ๊ด€์ (์™ธ๋ถ€ ์Šคํ‚ค๋งˆ, ์„œ๋ธŒ ์Šคํ‚ค๋งˆ, ์‚ฌ์šฉ์ž๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ชจ์Šต)
  - ๊ฐœ๋… ๋‹จ๊ณ„ : ์กฐ์ง ์ „์ฒด์˜ ๊ด€์ (๊ฐœ๋… ์Šคํ‚ค๋งˆ, ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๋Š”์ง€)
  - ๋‚ด๋ถ€ ๋‹จ๊ณ„ : ๋ฌผ๋ฆฌ์ ์ธ ์ €์žฅ์žฅ์น˜์˜ ๊ด€์ (๋‚ด๋ถ€ ์Šคํ‚ค๋งˆ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ €์žฅ์žฅ์น˜์— ์‹ค์ œ๋กœ ์ €์žฅ๋˜๋Š” ๋ฐฉ๋ฒ•)

 

๋ฐ์ดํ„ฐ ๋…๋ฆฝ์„ฑ
  - ์™ธ๋ถ€/๊ฐœ๋… ์‚ฌ์ƒ : ์™ธ๋ถ€ ์Šคํ‚ค๋งˆ์™€ ๊ฐœ๋… ์Šคํ‚ค๋งˆ์˜ ๋Œ€์‘(์‘์šฉ ์ธํ„ฐํŽ˜์ด์Šค), ๋…ผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋…๋ฆฝ์„ฑ

  - ๊ฐœ๋…/๋‚ด๋ถ€ ์‚ฌ์ƒ : ๊ฐœ๋… ์Šคํ‚ค๋งˆ์™€ ๋‚ด๋ถ€ ์Šคํ‚ค๋งˆ์˜ ๋Œ€์‘(์ €์žฅ ์ธํ„ฐํŽ˜์ด์Šค), ๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋…๋ฆฝ์„ฑ

 

๋ฐ์ดํ„ฐ ์‚ฌ์ „(data dictionary)
  - ์‹œ์Šคํ…œ ์นดํƒˆ๋กœ๊ทธ
  - ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ(๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ), ์Šคํ‚ค๋งˆ, ์‚ฌ์ƒ์ •๋ณด ๋“ฑ ์ €์žฅ
  - DBMS๊ฐ€ ์Šค์Šค๋กœ ์ƒ์„ฑํ•˜๊ณ  ์œ ์ง€
  - ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋„ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์ €์žฅ ๋‚ด์šฉ์„ ๊ฒ€์ƒ‰๋งŒ ํ•  ์ˆ˜ ์žˆ์Œ

 

๋ฐ์ดํ„ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ(data directory)
  - ๋ฐ์ดํ„ฐ ์‚ฌ์ „์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ์— ์‹ค์ œ๋กœ ์ ‘๊ทผํ•˜๋Š” ๋ฐ์— ํ•„์š”ํ•œ ์œ„์น˜์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ์‹œ์Šคํ…œ

 

์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
  - ์‚ฌ์šฉ์ž๊ฐ€ ์‹ค์ œ๋กœ ์ด์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์ผ๋ฐ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

 

 

 

2. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์–ธ์–ด, ์‚ฌ์šฉ์ž

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์–ธ์–ด
  - ๋ฐ์ดํ„ฐ ์ •์˜์–ด(DDL) : ์Šคํ‚ค๋งˆ๋ฅผ ์ •์˜ํ•˜๊ฑฐ๋‚˜, ์ˆ˜์ • ๋˜๋Š” ์‚ญ์ œํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
  - ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด(DML) : ๋ฐ์ดํ„ฐ์˜ CRUD๋ฅผ ์œ„ํ•ด์„œ ์‚ฌ์šฉ, ์ ˆ์ฐจ์ (what-how)-๋น„์ ˆ์ฐจ์ (what)์œผ๋กœ ๊ตฌ๋ถ„
  - ๋ฐ์ดํ„ฐ ์ œ์–ด์–ด(DCL) : ๋‚ด๋ถ€์ ์œผ๋กœ ํ•„์š”ํ•œ ๊ทœ์น™์ด๋‚˜ ๊ธฐ๋ฒ•์„ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ(๋ฌด๊ฒฐ์„ฑ, ๋ณด์•ˆ, ํšŒ๋ณต, ๋™์‹œ์„ฑ ์ œ์–ด)

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉ์ž
  - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž(DBA) : DBS๋ฅผ ์šด์˜ ๋ฐ ๊ด€๋ฆฌ, ๋ฐ์ดํ„ฐ ์ •์˜์™€ ๋ฐ์ดํ„ฐ ์ œ์–ด์–ด ์ด์šฉ
  - ์ตœ์ข… ์‚ฌ์šฉ์ž(end user) : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘, ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด๋ฅผ ์‚ฌ์šฉ
  - ์‘์šฉ ํ”„๋กœ๊ทธ๋ž˜๋จธ(application programmer) : ๋ฐ์ดํ„ฐ ์–ธ์–ด๋ฅผ ์‚ฝ์ž…ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ, ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด๋ฅผ ์‚ฌ์šฉ