์ผ๋‹จ ํ•˜๊ณ  ๋ณด๋Š” ์‚ฌ๋žŒ

๋‚˜์ค‘๋ณด๋‹จ ์ง€๊ธˆ์— ์ง‘์ค‘ํ•˜๋˜, ์ง€๊ธˆ๋ณด๋‹จ ๋‚˜์ค‘์— ์™„๋ฒฝํ•ด์ง€์ž๐Ÿ’ช๐Ÿป

๐Ÿ—„๏ธData Base ์•„๋Š” ๊ฒƒ๋„ ๋‹ค์‹œ๋ณด์ž

[DB] Basic SQL, DB ๊ตฌ์„ฑ ์š”์†Œ

JanginTech 2024. 8. 4. 17:57

์šฐ์„  db ๊ธฐ๋ณธ์— ๋Œ€ํ•ด ์ดํ•ดํ•˜๊ณ  ๋ฉ”์ธ์„ ๊ณต๋ถ€ํ•ด ๋ณด์ž.

 

 

1. DB ๊ฐœ๋ก 

data? ์˜๋ฏธ ์žˆ๋Š” ์ •๋ณด๋ฅผ ๊ฐ€์ง„ ๋ชจ๋“  ๊ฐ’

DB? : ํ†ตํ•ฉํ•˜์—ฌ ๊ด€๋ฆฌ๋˜๋Š” data์˜ ์ง‘ํ•ฉ

 

DB Modeling?

ํšจ์œจ์  ์šด์˜๊ณผ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์„ค๊ณ„ ๊ณผ์ • โžก๏ธ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ

 

DBMS๊ฐ€ ์–ด๋–ป๊ฒŒ ํƒ„์ƒํ•˜๊ฒŒ ๋œ ๊ฑธ๊นŒ?

[ํŒŒ์ผ์‹œ์Šคํ…œ์˜ ์œ„๊ธฐ]

  • ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ํ•œ๊ณ„?
  • ๋†’์€ ๋ฐ์ดํ„ฐ ์ข…์†์„ฑ → ํ•˜๋‚˜๋งŒ ๋ณ€๊ฒฝํ•ด๋„ ์ „์ฒด์— ์˜ํ–ฅ์„ ์คŒ
  • ๋ฌด๊ฒฐ์„ฑ ์นจํ•ด → ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๋งŒ์œผ๋กœ๋Š” ๋ถˆ์ถฉ๋ถ„
  • ๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ฑ ์นจํ•ด ์šฐ๋ ค ์ผ๊ด€์„ฑ ์นจํ•ด ์šฐ๋ ค

 

๊ทธ๋ž˜์„œ ๋“ฑ์žฅํ–ˆ๋‹ค.

 

DB (Data Base)

 : ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘์•™์—์„œ ํ†ตํ•ฉํ•˜๊ณ  ์ง‘์ค‘ํ™”ํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์•ˆ

 

 

 

 

 

 

2. RDBMS ๐Ÿ†š NoSQL

NoSQL?

  • Non-relational Operatinal SQL
  • insert ์œ„์ฃผ์˜ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ
  • ์†๋„๊ฐ€ ๋น ๋ฆ„   ํฐ ๋ฐ์ดํ„ฐ ๋‹ค๋ฃจ๊ธฐ ์ข‹์Œ

 

RDBMS?

  • ์กฐ์ธ(๋งคํ•‘)
  • ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ
    • ์„œ๋น„์Šค ๊ฐœ๋ฐœํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉ (ex. MySQL, Oracle, mongoDB + msssql)
  • ๋ฌด๊ฒฐ์„ฑ

 

 

โž•

 

๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ?

 โžก๏ธ ๋ฐ์ดํ„ฐ๋“ค์˜ ๊ฐ’์ด ์„œ๋กœ ์ผ์น˜ํ•˜๋Š” ์ƒํƒœ

 โžก๏ธanomaly ๋ฐœ์ƒ = ์ •ํ•ฉ์„ฑ ํ›ผ์†

 

๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ?

 โžก๏ธ ๋ฐ์ดํ„ฐ ๊ฐ’์ด ์ •ํ™•ํ•œ ์ƒํƒœ

 โžก๏ธ ๋ฌด๊ฒฐ์„ฑ์„ ์ง€ํ‚ค๋Š” ๊ฒƒ์ด DB Modeling์˜ ์ตœ๊ณ  ๋ชฉํ‘œ!!

 

 

 

 

์ด ๋‘ ๊ฐœ์˜ ์ฐจ์ด๋ฅผ ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ํ‘œ๋กœ ์ •๋ฆฌํ•ด ๋ณด๊ฒ ๋‹ค.

  NoSQL RDBMS
relation Non-relation relational DBMS
๋ชฉ์  insert ์œ„์ฃผ์˜ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ์กฐ์ธ
์žฅ์  1. ๋ฐ์ดํ„ฐ ์œ ์—ฐ์„ฑ
2. ์ž์œ ๋กœ์šด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ
3. ๋น…๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ
1. ๋ช…ํ™•ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ(์ •ํ•ด์ง„ ์Šคํ‚ค๋งˆ์— ์ €์žฅ)
2. ๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ฑ ํ•ด๊ฒฐ
๋‹จ์  1. ๋ฐ์ดํ„ฐ ์ค‘๋ณต ๋ฐœ์ƒ
2. ๋ช…ํ™•ํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ(์Šคํ‚ค๋งˆ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ)
1. join์ด ๋งŽ์œผ๋ฉด ๋ณต์žกํ•ด์ง(์„ฑ๋Šฅ์ €ํ•˜)
2. ๋ฐ์ดํ„ฐ ์œ ์—ฐ์„ฑ์ด ๋–จ์–ด์ง(์Šคํ‚ค๋งˆ ๋•Œ๋ฌธ์—)
์‚ฌ์šฉ update๊ฐ€ ๋งŽ์ง€ ์•Š์€ ์‹œ์Šคํ…œ
๋งŽ์€ ๋ฐ์ดํ„ฐ ์ €์žฅํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ
๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ๋ช…ํ™•ํ•ด์•ผ ํ•˜๊ณ , ๋ช…ํ™•ํ•œ ์Šคํ‚ค๋งˆ๊ฐ€ ์ค‘์š”ํ•œ ๊ฒฝ์šฐ
๊ด€๊ณ„๋ฅผ ๋งบ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ž์ฃผ ๋ณ€ํ™”ํ•˜๋Š” ์‹œ์Šคํ…œ์— ์ ํ•ฉ

 

 

 

 

 

 

 

์ด์ œ Basic SQL.

 

 

3. Basic SQL โžก๏ธ SQL ์œ ํ˜•

RDBMS์˜ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋œ ํŠน์ˆ˜ ๋ชฉ์ ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด: SQL

 

DQL(๋ฐ์ดํ„ฐ ์งˆ์˜์–ด) - ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” SQL ์œ ํ˜•
- ์ž˜๋ชป์จ๋„ ๋ฐ์ดํ„ฐ ์†์ƒ ์—†์Œ
select
DDL(๋ฐ์ดํ„ฐ ์ •์˜์–ด) - ๋ฐ์ดํ„ฐ ๋ณด๊ด€์„ ์œ„ํ•œ ์ €์žฅํ˜•ํƒœ ๊ด€๋ฆฌ ๋ชฉ์  create, alter, drop
DML(๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด) - ๋ฐ์ดํ„ฐ ๋ณ€๋™ ๋ชฉ์ (ํŠธ๋žœ์žญ์…˜ ๋‹จ์œ„) insert, update, delete
DCL(๋ฐ์ดํ„ฐ ์ œ์–ด์–ด) - ์‚ฌ์šฉ๊ถŒํ•œ ๊ด€๋ฆฌ ๋ฐ ์ œ์–ด ๋ชฉ์  commit, rollback, grant, revoke
TCL(ํŠธ๋žœ์žญ์…˜ ์ œ์–ด์–ด) - DML์„ ๊ฑฐ์นœ ๋ฐ์ดํ„ฐ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ˆ˜์ • commit, rollback

 

 

 

 

 

 

 

 

 

4. DB ๊ตฌ์„ฑ์š”์†Œ

4. 1. Entity

  • ๋ฐ์ดํ„ฐ ์†์„ฑ๋“ค์„ ์ƒ์œ„์˜ ๋™์ผํ•œ ๊ธฐ์ค€/์†Œ์† ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ๋ถ„ → ์ด์— ๋Œ€ํ•œ ๋Œ€ํ‘œ ๋ช…์นญ์„ ๋ถ€์—ฌ ๊ฐ€๋Šฅ
  • ๋Œ€์ƒ ๋ฐ์ดํ„ฐ์˜ ๊ท€์†์ด ๋™์ผํ•œ ๊ฒƒ๋ผ๋ฆฌ ๋ชจ์•„๋†“์€ ์ง‘ํ•ฉ
  • Entity vs Table
    • entity → ๊ตฌ์ฒดํ™”๋˜์ง€ ์•Š์€, ์„ค๊ณ„ ๋‹จ๊ณ„์˜ ๊ท€์†์ง‘ํ•ฉ
    • table → ์‹ค์ œ๋กœ ์ƒ์„ฑ๋œ, ๋ฌผ๋ฆฌ์  ๋‹จ๊ณ„์˜ ๊ท€์†์ง‘ํ•ฉ
  • ex. ํ•™๊ณผ, ํ•™์ƒ(ํ•™๋ฒˆ, ์ด๋ฆ„, ์†Œ์†ํ•™๊ณผ,...)

 

4. 2. Attribute

  • Entity์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ์ตœ์†Œ ๋‹จ์œ„์˜ ์ •๋ณด ํ•ญ๋ชฉ → ๋ฐ์ดํ„ฐ ์ €์ž์˜ ๊ฐ€์žฅ ์ž‘์€ ๋‹จ์œ„
  • Attribute = Column
  • ex. ํ•™๊ณผ, ํ•™์ƒ(ํ•™๋ฒˆ, ์ด๋ฆ„, ์†Œ์†ํ•™๊ณผ,...)

 

 

4. 3. Relation

  • DB Model
  • ๋ฐ์ดํ„ฐ์˜ ์ƒ์œ„ ๊ฐœ๋…์„ ํ™œ์šฉํ•˜์—ฌ ๋งคํ•‘
  • ํŠน์ง•์ด๋‚˜ ๊ตฌ๋ถ„์ด ๋™์ผํ•œ ๊ฒƒ๋ผ๋ฆฌ ๊ตฌ์„ฑ
  •  ex. ์ƒ๋…„์›”์ผ, ์„ฑ๋ณ„, ํ•™๊ณผ๋ช… ๋“ฑ..