๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์ž๊ฒฉ์ฆ ์žˆ์œผ๋ฉด ์ข‹์ง€/์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ

[์‹ค๊ธฐ] ์ดˆ์ดˆ์ดˆ์š”์•ฝ - 2์žฅ ๋ฐ์ดํ„ฐ ์ž…์ถœ๋ ฅ ๊ตฌํ˜„

by ์ž„๋ฆฌ๋‘ฅ์ ˆ 2024. 10. 13.
๋ฐ˜์‘ํ˜•

์ธ๋„ค์ผ ์ง์ ‘ ๋งŒ๋“ค์–ด๋”ฐ ใ…‹ใ…‹

 


๋”๋ณด๊ธฐ

์ฑ… ์ž์ฒด์—์„œ A, B ์ด๋Ÿฐ ์‹์œผ๋กœ ์ถœ์ œ ์ •๋„๋ฅผ ํ‘œ์‹œํ•˜๊ณ , ์ถœ์ œ๋œ ๋…„๋„ ์ˆ˜๋„ ๋‚˜์˜จ๋‹ค. ํ‘œ์‹œ๋œ ๋Œ€๋กœ ํ•œ ๋ฒˆ ์ด์ƒ ์ถœ์ œ๋Š” ํšŒ์ƒ‰ ๋ฐฐ๊ฒฝ,  ๋‘ ๋ฒˆ์ด์ƒ ๋ฐ ์ง์ ‘ ์ถœ์ œ๋ฅผ ํ™•์ธํ•œ ๊ฒฝ์šฐ, ๋…ธ๋ž‘ ๋ฐฐ๊ฒฝ์œผ๋กœ ํ‘œ์‹œํ•  ์˜ˆ์ •์ด๋‹ค. ๋˜ํ•œ ํ‚ค์›Œ๋“œ ์œ„์ฃผ๋กœ ์ตœ๋Œ€ํ•œ ๊ธฐ์–ตํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๊ธฐ๋กํ•  ์˜ˆ์ •์ด๋‹ค. ๊ทธ๋ž˜์„œ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค ์ˆ˜๋„์žˆ์ง€๋งŒ ์ตœ๋Œ€ํ•œ ์‰ฝ๊ฒŒ ์จ๋ณผ ์˜ˆ์ •์ด๋‹ค...


์Šคํ‚ค๋งˆ**

๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ์™€ ์ œ์•ฝ์กฐ๊ฑด์— ๊ด€ํ•œ ์ „๋ฐ˜์  ๋ช…์„ธ

์™ธ๋ถ€ ์Šคํ‚ค๋งˆ  ๊ฐœ๋… ์Šคํ‚ค๋งˆ ๋‚ด๋ถ€ ์Šคํ‚ค๋งˆ
์‚ฌ์šฉ์ž๊ฐ€ ๊ฐœ์ธ์˜ ์ž…์žฅ์—์„œ ํ•„์š”๋กœ ํ•˜๋Š” ๋ฐ๋ฒ  ๋…ผ๋ฆฌ๊ตฌ์กฐ ๋ฐ๋ฒ  ์ „์ฒด์ ์ธ ๋…ผ๋ฆฌ๊ตฌ์กฐ, ๋ชจ๋‘ ํ•„์š”๋กœ ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ข…ํ•ฉ -> ํ•˜๋‚˜๋งŒ ์กด์žฌ ๋ฌผ๋ฆฌ์  ์ €์žฅ์žฅ์น˜ ์ž…์žฅ์—์„œ ๋ณธ ๋ฐ๋ฒ . ์‹ค์ œ ์ €์žฅ๋  ๋ ˆ์ฝ”๋“œ์˜ ํ˜•์‹, ํ‘œํ˜„ ๋ฐฉ๋ฒ• ๋“ฑ 

์š”๊ตฌ์กฐ๊ฑด๋ถ„์„ → ๊ฐœ๋…์ ์„ค๊ณ„ → ๋…ผ๋ฆฌ์ ์„ค๊ณ„ → ๋ฌผ๋ฆฌ์  ์„ค๊ณ„ → ๊ตฌํ˜„  (์š”๊ฐœ๋…ผ๋ฌผ๊ตฌ)

    • ๊ฐœ๋…์  ์„ค๊ณ„ - ํ˜„์‹ค ์„ธ๊ณ„์— ๋Œ€ํ•œ ์ธ์‹์„ ์ถ”์ƒ์  ๊ฐœ๋… ํ‘œํ˜„, ๊ฐœ๋… ์Šคํ‚ค๋งˆ ๋ชจ๋ธ๋ง, ํŠธ๋žœ์žญ์…˜ ๋ชจ๋ธ๋ง. ์š”๊ตฌ์กฐ๊ฑด ๋ช…์„ธ๋ฅผ E-R ๋‹ค์ด์–ด๊ทธ๋žจ์œผ๋กœ ์ž‘์„ฑ
    • ๋…ผ๋ฆฌ์  ์„ค๊ณ„ - ํŠน์ • DB ๊ฐ€ ์ง€์›ํ•˜๋Š” ๋…ผ๋ฆฌ์  ์ž๋ฃŒ ๊ตฌ์กฐ๋กœ ๋ณ€ํ™˜ (mapping). ๋ฐ์ดํ„ฐํ•„๋“œ๋กœ ๊ธฐ์ˆ ๋œ ๋ฐ์ดํ„ฐ ํƒ€์ž…, ๋ฐ์ดํ„ฐ ํƒ€์ž…๋“ค ๊ฐ„์˜ ๊ด€๊ณ„๋กœ ํ‘œํ˜„๋˜๋Š” ๋…ผ๋ฆฌ์  ๊ตฌ์กฐ์˜ ๋ฐ์ดํ„ฐ. ๊ฐœ๋… ์Šคํ‚ค๋งˆ๋ฅผ ํ‰๊ฐ€ ๋ฐ ์ •์ œ, DB์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๋…ผ๋ฆฌ์  ์Šคํ‚ค๋งˆ ์„ค๊ณ„ํ•˜๋Š” ๋‹จ๊ณ„ 
    • ๋ฌผ๋ฆฌ์  ์„ค๊ณ„ - ๋…ผ๋ฆฌ์  ์„ค๊ณ„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌผ๋ฆฌ์  ๊ตฌ์กฐ์˜ ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜. DBํŒŒ์ผ์˜ ์ €์žฅ ๊ตฌ์กฐ ๋ฐ ์•ก์„ธ์Šค ๊ฒฝ๋กœ ๊ฒฐ์ •. 
    • ๋ฐ์ดํ„ฐ ๋ชจ๋ธ - ํ˜„์‹ค์„ธ๊ณ„ ์ •๋ณด๋“ค → ์ฒด๊ณ„์ ์œผ๋กœ ํ‘œํ˜„ํ•œ ๊ฐœ๋…์  ๋ชจํ˜• / ๊ตฌ์กฐ, ์—ฐ์‚ฐ, ์ œ์•ฝ์กฐ๊ฑด
    • E-R ๋‹ค์ด์–ด๊ทธ๋žจ

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ ๋ฆด๋ ˆ์ด์…˜ ๊ตฌ์กฐ

  • ๋ฆด๋ ˆ์ด์…˜ : ๋ฐ์ดํ„ฐ๋“ค ํ‘œ ํ˜•ํƒœ๋กœ ํ‘œํ˜„
  • ํŠœํ”Œ - ํ–‰, ๋ ˆ์ฝ”๋“œ / ์†์„ฑ - ์—ด, ๋ฐ์ดํ„ฐ ํ•„๋“œ 

ํ›„๋ณดํ‚ค
Candidate Key
ํŠœํ”Œ์„ ์œ ์ผํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์†์„ฑ๋“ค์˜ ๋ถ€๋ถ„์ง‘ํ•ฉ
  • ์œ ์ผ์„ฑ - ํ•˜๋‚˜ ํ‚ค๋กœ ํ•˜๋‚˜ ํŠœํ”Œ ์‹๋ณ„
  • ์ตœ์†Œ์„ฑ - ๊ผญ ํ•„์š”ํ•œ ์ตœ์†Œ์˜ ์†์„ฑ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด์•ผ ํ•จ
๊ธฐ๋ณธํ‚ค
Primary Key
ํ›„๋ณดํ‚ค ์ค‘ ํŠน๋ณ„ํžˆ ์„ ์ •๋œ ์ฃผํ‚ค. ์ค‘๋ณต X.
ํŠน์ • ํŠœํ”Œ์„ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ
NULL ๊ฐ’ X
์Šˆํผํ‚ค
Super Key
ํ•œ ๋ฆด๋ ˆ์ด์…˜ ๋‚ด ์†์„ฑ๋“ค์˜ ์ง‘ํ•ฉ์œผ๋กœ ๊ตฌ์„ฑ๋œ ํ‚ค 
๋ชจ๋“  ํŠœํ”Œ์— ๋Œ€ํ•ด ์œ ์ผ์„ฑ O, ์ตœ์†Œ์„ฑ X
์™ธ๋ž˜ํ‚ค
Foreign Key
๋‹ค๋ฅธ ๋ฆด๋ ˆ์ด์…˜์˜ ๊ธฐ๋ณธํ‚ค๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์†์„ฑ, ์†์„ฑ๋“ค์˜ ์ง‘ํ•ฉ
A, ์ฐธ์กฐ ๋ฆด๋ ˆ์ด์…˜์˜ ๊ธฐ๋ณธ ํ‚ค B๊ฐ€ ๋™์ผํ•œ ๋„๋ฉ”์ธ ์ƒ -> A ์™ธ๋ž˜ํ‚ค

 

๋ฌด๊ฒฐ์„ฑ Integrity

DB์— ์ €์žฅ๋œ ๊ฐ’ = ํ˜„์‹ค ์„ธ๊ณ„์˜ ์‹ค์ œ๊ฐ’์ด ์ผ์น˜ํ•˜๋Š” ์ •ํ™•์„ฑ

  • ๊ฐœ์ฒด ๋ฌด๊ฒฐ์„ฑ : ๊ธฐ๋ณธํ‚ค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์–ด๋–ค ๊ฒƒ๋„ Null, ์ค‘๋ณต X
  • ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ : ์™ธ๋ž˜ํ‚ค ๊ฐ’์€ Null์ด๊ฑฐ๋‚˜ ์ฐธ์กฐ ๋ฆด๋ ˆ์ด์…˜์˜ ๊ธฐ๋ณธํ‚ค ๊ฐ’๊ณผ ๋™์ผ. (์ฐธ์กฐํ•  ์ˆ˜ ์—†๋Š” ์™ธ๋ž˜ํ‚ค X)

๊ด€๊ณ„๋Œ€์ˆ˜

๊ด€๊ณ„ํ˜• DB์—์„œ ์›ํ•˜๋Š” ์ •๋ณด์™€ ๊ทธ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ป๊ฒŒ ์œ ๋„ํ•˜๋Š”๊ฐ€๋ฅผ ๊ธฐ์ˆ ํ•˜๋Š” ์ ˆ์ฐจ์  ์–ธ์–ด 

ํ•ด๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ์—ฐ์‚ฐ์˜ ์ˆœ์„œ ๋ช…์‹œ

 

์ˆœ์ˆ˜ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž

Select (์‹œ๊ทธ๋งˆ Project (ํŒŒ์ด Join (๊ต์ฐจ๊ณฑ, select) Division (๋‚˜๋ˆ„๊ธฐ
σ ๐ฟ

โ–ทโ—

÷

์„ ํƒ ์กฐ๊ฑด ๋งŒ์กฑํ•˜๋Š” ๋ถ€๋ถ„์ง‘ํ•ฉ ๊ตฌํ•ด ์ƒˆ๋กœ ๋งŒ๋“œ๋Š” ์—ฐ์‚ฐ. 
ํ–‰ (tuple) ๊ตฌํ•˜๋Š” ์—ฐ์‚ฐ์ด๋ผ ์ˆ˜ํ‰์—ฐ์‚ฐ์ด๋ผ๊ณ ๋„ ํ•จ. 
์†์„ฑ ๊ฐ’๋งŒ์„ ์ถ”์ถœํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฆด๋ ˆ์ด์…˜ ๋งŒ๋“œ๋Š” 
์—ด (attribute) ๊ตฌํ•˜๋Š” ์—ฐ์‚ฐ์ด๋ผ ์ˆ˜์ง ์—ฐ์‚ฐ์ž๋ผ๊ณ ๋„ ํ•จ.
๊ณตํ†ต ์†์„ฑ ์ค‘์‹ฌ์œผ๋กœ ๋‘ ๊ฐœ ๋ฆด๋ ˆ์ด์…˜ ํ•ฉ์ณ์„œ ๋งŒ๋“œ๋Š” X⊃Y ์ธ ๋‘ ๊ฐœ์˜ ๋ฆด๋ ˆ์ด์…˜ R(X), S(Y)๊ฐ€ ์žˆ์„ ๋•Œ, ๊ฒน์น˜์ง€ ์•Š๋Š” ๊ฑฐ ์ œ๊ฑฐ

 

์ผ๋ฐ˜ ์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž

ํ•ฉ์ง‘ํ•ฉ UNION ๊ต์ง‘ํ•ฉ INTERSECTION ์ฐจ์ง‘ํ•ฉ DIFFERENCE ๊ต์ฐจ๊ณฑ CARTESIAN PRODUCT
-

X

์„ ํƒ ์กฐ๊ฑด ๋งŒ์กฑํ•˜๋Š” ๋ถ€๋ถ„์ง‘ํ•ฉ ๊ตฌํ•ด ์ƒˆ๋กœ ๋งŒ๋“œ๋Š” ์—ฐ์‚ฐ. 
ํ–‰ (tuple) ๊ตฌํ•˜๋Š” ์—ฐ์‚ฐ์ด๋ผ ์ˆ˜ํ‰์—ฐ์‚ฐ์ด๋ผ๊ณ ๋„ ํ•จ. 
์†์„ฑ ๊ฐ’๋งŒ์„ ์ถ”์ถœํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฆด๋ ˆ์ด์…˜ ๋งŒ๋“œ๋Š” 
์—ด (attribute) ๊ตฌํ•˜๋Š” ์—ฐ์‚ฐ์ด๋ผ ์ˆ˜์ง ์—ฐ์‚ฐ์ž๋ผ๊ณ ๋„ ํ•จ.
๊ณตํ†ต ์†์„ฑ ์ค‘์‹ฌ์œผ๋กœ ๋‘ ๊ฐœ ๋ฆด๋ ˆ์ด์…˜ ํ•ฉ์ณ์„œ ๋งŒ๋“œ๋Š” X⊃Y ์ธ ๋‘ ๊ฐœ์˜ ๋ฆด๋ ˆ์ด์…˜ R(X), S(Y)๊ฐ€ ์žˆ์„ ๋•Œ, ๊ฒน์น˜์ง€ ์•Š๋Š” ๊ฑฐ ์ œ๊ฑฐ

 

๊ด€๊ณ„ํ•ด์„ Relational Calculus

๊ด€๊ณ„ ๋ฐ์ดํ„ฐ์˜ ์—ฐ์‚ฐ ํ‘œํ˜„. ๋ชจ๋ธ์˜ ์ œ์•ˆ์ž ์ฝ”๋“œ ๊ฐ€ ์ œ์•ˆ. 

์›ํ•˜๋Š” ์ •๋ณด๊ฐ€ ๋ฌด์—‡์ด๋ผ๋Š” ๊ฒƒ. (๋น„์ ˆ์ฐจ์  ํŠน์„ฑ)

์›ํ•˜๋Š” ์ •๋ณด๋Š” ๊ณ„์‚ฐ ์ˆ˜์‹

 

์ด์ƒ Anomaly

๋ฐ์ดํ„ฐ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์ค‘๋ณต, ์กฐ์ž‘ ์‹œ ์˜ˆ๊ธฐ์น˜ ์•Š๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” ๊ณค๋ž€ํ•œ..

  • ์‚ฝ์ž… ์ด์ƒ : ์›ํ•˜์ง€ ์•Š์€ ๊ฐ’๋“ค๋กœ ์ธํ•ด ์‚ฝ์ž…ํ•  ์ˆ˜ ์—†๊ฒŒ ๋˜๋Š” ํ˜„์ƒ
  • ์‚ญ์ œ ์ด์ƒ : ์ƒ๊ด€์—†๋Š” ๊ฐ’๋“ค๋„ ํ•จ๊ป˜ ์‚ญ์ œ๋˜๋Š”, ์—ฐ์‡„ ์‚ญ์ œ
  • ๊ฐฑ์‹  ์ด์ƒ : ์ผ๋ถ€ ํŠœํ”Œ์˜ ์ •๋ณด๋งŒ ๊ฐฑ์‹ ๋˜์–ด ์ •๋ณด์— ๋ถˆ์ผ์น˜์„ฑ Inconsistency

ํ•จ์ˆ˜์  ์ข…์†

table R ์—์„œ X, Y ๋ถ€๋ถ„ ์ง‘ํ•ฉ. ํ•ญ์ƒ ์†์„ฑ Y์˜ ๊ฐ’์ด ์˜ค์ง ํ•˜๋‚˜๋งŒ ์—ฐ๊ด€ (X→Y) 

  • ์™„์ „ ํ•จ์ˆ˜์  ์ข…์† Full Functional Dependency
    table R์—์„œ
    Y๊ฐ€ X์— ์ „์ฒด ์ข…์†,
    Z ⊂ X
    = Y๋Š” X์— ์™„์ „ ํ•จ์ˆ˜์  ์ข…์†
  • ๋ถ€๋ถ„ ํ•จ์ˆ˜์  ์ข…์† Partial Functional Dependency
    table R์—์„œ
    Y๊ฐ€ ๋‹ค๋ฅธ ์†์„ฑ X์˜ ์ „์ฒด์— ์ข…์†,
    ์†์„ฑ X ์ž„์˜ ๋ถ€๋ถ„ ์ง‘ํ•ฉ์— ์ข…์†.
  • ์ดํ–‰์  ํ•จ์ˆ˜์  ์ข…์† Transitive Functional Dependency
    X → Y, Y → Z์ผ๋•Œ X → Z

์ดํ•ด๊ฐ€ ์ž˜ ์•ˆ๋˜๊ธธ๋ž˜...

kyungi.tistory.com

์™„์ „ ํ•จ์ˆ˜์  ์ข…์† : ํ•™๋ฒˆ, ๊ณผ๋ชฉ๋ฒˆํ˜ธ  ์„ฑ์  

๋ถ€๋ถ„ ํ•จ์ˆ˜์  ์ข…์† : ํ•™๋ฒˆ  ํ•™๋…„

์ •๊ทœํ™” Normalization

ํ…Œ์ด๋ธ”์˜ ์†์„ฑ๋“ค์ด ์ƒํ˜ธ ์ข…์†์ ์ธ ๊ด€๊ณ„๋ฅผ ๊ฐ–๋Š” ํŠน์„ฑ์„ ์ด์šฉํ•˜์—ฌ ํ…Œ์ด๋ธ”์„ ๋ฌด์†์‹ค ๋ถ„ํ•ดํ•˜๋Š” ๊ณผ์ •

์ค‘๋ณต ์ œ๊ฑฐํ•˜์—ฌ ์‚ฝ์ž…, ์‚ญ์ œ, ๊ฐฑ์‹  ์ด์ƒ์˜ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ ์ค„์ด๊ธฐ 

 

- ์˜ˆ์‹œ๋กœ ์„ค๋ช…

๋”๋ณด๊ธฐ
์ œํผ๋ฒˆํ˜ธ ์ œํ’ˆ๋ช… ์žฌ๊ณ ์ˆ˜๋Ÿ‰ ์ฃผ๋ฌธ๋ฒˆํ˜ธ ๊ณ ๊ฐ๋ฒˆํ˜ธ ์ฃผ์†Œ ์ฃผ๋ฌธ์ˆ˜๋Ÿ‰
1001 ๋ชจ๋‹ˆํ„ฐ 2000 A345
D347
100
200
์„œ์šธ
๋ถ€์‚ฐ
150
300
1007 ๋งˆ์šฐ์Šค 9000 A210
A345
B230
300
100
200
๊ด‘์ฃผ
์„œ์šธ
๋ถ€์‚ฐ
600
400
700
1201 ํ‚ค๋ณด๋“œ 2100 D347 200 ๋ถ€์‚ฐ 300

<์ฃผ๋ฌธ๋ชฉ๋ก> - table

์ œํ’ˆ๋ฒˆํ˜ธ - Primary Key ๊ธฐ๋ณธํ‚ค

  • ์ œ 1 ์ •๊ทœํ˜• (1NF; First Normal Form)
    ์ฃผ๋ฌธ๋ฒˆํ˜ธ ๊ณ ๊ฐ๋ฒˆํ˜ธ ๊ฐ™์ด ์—ฌ๋Ÿฌ ์ •๋ณด๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ → 1์ •๊ทœํ˜• ํ•˜๋ฉด
์ œํผ๋ฒˆํ˜ธ ์ œํ’ˆ๋ช… ์žฌ๊ณ ์ˆ˜๋Ÿ‰
1001 ๋ชจ๋‹ˆํ„ฐ 2000
1007 ๋งˆ์šฐ์Šค 9000
1201 ํ‚ค๋ณด๋“œ 2100
์ฃผ๋ฌธ๋ฒˆํ˜ธ ์ œํ’ˆ๋ฒˆํ˜ธ ๊ณ ๊ฐ๋ฒˆํ˜ธ ์ฃผ์†Œ ์ฃผ๋ฌธ์ˆ˜๋Ÿ‰
A345 1001 100 ์„œ์šธ 150
D347 1001 200 ๋ถ€์‚ฐ 300
A210 1007 300 ๊ด‘์ฃผ 600
A345 1007 100 ์„œ์šธ 400
B230 1007 200 ๋ถ€์‚ฐ 700
D347 1201 200 ๋ถ€์‚ฐ 300

 

  • ์ œ 2 ์ •๊ทœํ˜• (2NF; Second Normal Form)
    1 ์ •๊ทœํ˜• + ๊ธฐ๋ณธํ‚ค๊ฐ€ ์•„๋‹Œ ์†์„ฑ์ด ๊ธฐ๋ณธํ‚ค์— ๋Œ€ํ•ด ์™„์ „ ํ•จ์ˆ˜์  ์ข…์†
    ์ฃผ๋ฌธ๋ฒˆํ˜ธ์— ์ข…์†์ด ๋˜๋Š” ์†์„ฑ์„ ๋ถ„๋ฆฌํ•ด๋ผ !  → ๊ด€๋ จ ์žˆ๋Š”๊ฑฐ ์•„๋‹Œ๊ฑฐ ๋ถ„๋ฆฌํ•ด๋ผ
์ฃผ๋ฌธ๋ฒˆํ˜ธ ์ œํ’ˆ๋ฒˆํ˜ธ ์ฃผ๋ฌธ์ˆ˜๋Ÿ‰
A345 1001 150
D347 1001 300
A210 1007 600
A345 1007 400
B230 1007 700
D347 1201 300
์ฃผ๋ฌธ๋ฒˆํ˜ธ ๊ณ ๊ฐ๋ฒˆํ˜ธ ์ฃผ์†Œ
A345 100 ์„œ์šธ
D347 200 ๋ถ€์‚ฐ
A210 300 ๊ด‘์ฃผ
A345 100 ์„œ์šธ
B230 200 ๋ถ€์‚ฐ
D347 200 ๋ถ€์‚ฐ
  • ์ œ 3 ์ •๊ทœํ˜• (3NF; Third Normal Form)
    2 ์ •๊ทœํ˜• + ์ดํ–‰์  ํ•จ์ˆ˜์  ์ข…์†์„ ๋งŒ์กฑํ•˜์ง€ ์•Š๋Š” ์ •๊ทœํ˜•
    <์ฃผ๋ฌธ> ํ…Œ์ด๋ธ”์—์„œ ์ดํ–‰์  ํ•จ์ˆ˜์  ์ข…์†์„ ์ œ๊ฑฐํ•ด 3์ •๊ทœํ˜• ๋งŒ๋“œ์‹œ์˜ค 

    ์ฃผ๋ฌธ๋ฒˆํ˜ธ ๊ณ ๊ฐ๋ฒˆํ˜ธ, ์ฃผ์†Œ
    ๊ณ ๊ฐ๋ฒˆํ˜ธ → ์ฃผ์†Œ
  • ์˜ ์ข…์†์ด ์กด์žฌํ•˜๋ฏ€๋กœ, ์ฃผ๋ฌธ๋ฒˆํ˜ธ ์ฃผ์†Œ ๋Š” ์ดํ–‰์  ํ•จ์ˆ˜์  ์ข…์†์ด ๋œ๋‹ค.
    ์ด๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ๋ฌด์†์‹ค ๋ถ„ํ•ด.  
์ฃผ๋ฌธ๋ฒˆํ˜ธ ๊ณ ๊ฐ๋ฒˆํ˜ธ ์ฃผ์†Œ
A345 100 ์„œ์šธ
D347 200 ๋ถ€์‚ฐ
A210 300 ๊ด‘์ฃผ
A345 100 ์„œ์šธ
B230 200 ๋ถ€์‚ฐ
D347 200 ๋ถ€์‚ฐ

์—์„œ..

์ฃผ๋ฌธ๋ฒˆํ˜ธ ๊ณ ๊ฐ๋ฒˆํ˜ธ
A345 100
D347 200
A210 300
A345 100
B230 200
D347 200
์ฃผ๋ฌธํ…Œ์ด๋ธ”
๊ณ ๊ฐ๋ฒˆํ˜ธ ์ฃผ์†Œ
100 ์„œ์šธ
200 ๋ถ€์‚ฐ
300 ๊ด‘์ฃผ
100 ์„œ์šธ
200 ๋ถ€์‚ฐ
200 ๋ถ€์‚ฐ
๊ณ ๊ฐํ…Œ์ด๋ธ”

 

 

  • ์ œ 1 ์ •๊ทœํ˜• (1NF; First Normal Form)
    ๋ชจ๋“  ์†์„ฑ์˜ ๋„๋ฉ”์ธ์ด ์›์ž ๊ฐ’์œผ๋กœ๋งŒ ๋˜์–ด์žˆ๋Š”. ์ •๋ฆฌ๋Š๋‚Œ
  • ์ œ 2 ์ •๊ทœํ˜• (2NF; Second Normal Form)
    1 ์ •๊ทœํ˜• + ๊ด€๋ จ ์žˆ๋Š”๊ฑฐ ์•„๋‹Œ๊ฑฐ ๋ถ„๋ฆฌ
  • ์ œ 3 ์ •๊ทœํ˜• (3NF; Third Normal Form)
    2 ์ •๊ทœํ˜• + ๊ด€๋ จ ์—†๋Š”๊ฑฐ ๋ถ„๋ฆฌ 
  • BCNF (Boyce-Codd Normal Form)
    ๋ชจ๋“  ๊ฒฐ์ •์ž๊ฐ€ ํ›„๋ณดํ‚ค Candidate Key์ธ ์ •๊ทœํ˜•
    3์ •๊ทœํ˜• + ํ›„๋ณดํ‚ค ์—ฌ๋Ÿฌ๊ฐœ -> ์ด๊ฒŒ ์ค‘์ฒฉ์ธ ๊ฒฝ์šฐ ์ ์šฉ O

    ๊ฐ„๋‹จ ์„ค๋ช…์˜ˆ์‹œ 
    {(ํ•™๋ฒˆ, ๊ณผ๋ชฉ๋ช…)  → ๋‹ด๋‹น๊ต์ˆ˜, (ํ•™๋ฒˆ, ๋‹ด๋‹น๊ต์ˆ˜)  → ๊ณผ๋ชฉ๋ช…, ๋‹ด๋‹น๊ต์ˆ˜  → ๊ณผ๋ชฉ๋ช…}
    ๋ฉด, ํ›„๋ณดํ‚ค๋Š” (ํ•™๋ฒˆ, ๊ณผ๋ชฉ๋ช…), (ํ•™๋ฒˆ, ๋‹ด๋‹น๊ต์ˆ˜)
    ์•„๋‹Œ๊ฑด ๋‹ด๋‹น๊ต์ˆ˜  → ๊ณผ๋ชฉ๋ช…. == ๋‹ด๋‹น๊ต์ˆ˜๋Š” ํ›„๋ณดํ‚ค๊ฐ€ ์•„๋‹ˆ๋‹ค 
    ๊ทธ๋Ÿผ ํ…Œ์ด๋ธ”์„ ํ•™๋ฒˆ, ๋‹ด๋‹น๊ต์ˆ˜ / ๋‹ด๋‹น๊ต์ˆ˜, ๊ณผ๋ชฉ๋ช… ์œผ๋กœ ๋ถ„๋ฆฌํ•˜๋ฉด๋œ๋‹ค. 
  • ์ œ 4 ์ •๊ทœํ˜• (4NF; Fourth Normal Form)
    ๋‹ค์ค‘ ๊ฐ’ ์ข…์† (MVD ; Multi Valued Dependency) A →B
    3๊ฐœ ์ข…์†์ค‘ ํ•˜๋‚˜๊ฐ€ ๋‹ค๋ฅธ ํ•˜๋‚˜์—๋งŒ ์ข…์†์ด๊ณ  ๋‚˜๋จธ์ง€ ๋ฌด๊ด€์ด๋ฉด ใ…‡ใ…‡
  • ์ œ 5 ์ •๊ทœํ˜• (5NF; Fifth Normal Form)
    ๋ชจ๋“  ์กฐ์ธ ์ข…์† (JD ; Join Dependency)์ด ํ›„๋ณดํ‚ค๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์„ฑ๋ฆฝ.
    ๋ถ€๋ถ„์ง‘ํ•ฉ์ด ์—ฌ๋Ÿฌ๊ฐœ, ๊ทธ ํ…Œ์ด๋ธ”์˜ Projection x, y, z.. ๋ฅผ ๋ชจ๋‘ ์กฐ์ธํ•œ ๊ฒฐ๊ณผ์™€ ๋™์ผํ•œ ๊ฒฝ์šฐ ๋งŒ์กฑํ•œ๋‹ค.. (?) ๋ณต์‚ฌ?

๋น„์ •๊ทœ ๋ฆด๋ ˆ์ด์…˜ → 1NF → 2NF → 3NF → BCNF → 4NF → 5NF

๋„๋ฉ”์ธ์›์ž๊ฐ’, ๋ถ€๋ถ„์ ํ•จ์ˆ˜์ข…์†์ œ๊ฑฐ, ์ดํ–‰์ ์ œ๊ฑฐ, ๊ฒฐ์ •์ž+ํ›„๋ณดํ‚ค์•„๋‹Œ๊ฑฐ์ œ๊ฑฐ, ๋‹ค์น˜์ œ๊ฑฐ, ์กฐ์ธ ์ข…์†์„ฑ์ด์šฉ

๋ฐ˜์ •๊ทœํ™” Denormalization 

์ •๊ทœํ™”๋œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์˜๋„์ ์œผ๋กœ ํ†ตํ•ฉ, ์ค‘๋ณต, ๋ถ„๋ฆฌํ•˜์—ฌ ์ •๊ทœํ™” ์›์น™ ์œ„๋ฐฐ.

์„ฑ๋Šฅํ–ฅ์ƒ, ํšจ์œจ์ฆ๊ฐ€ BUT ์ผ๊ด€ ์ €ํ•˜ or ๊ณผ๋„ํ•˜๋ฉด ์„ฑ๋Šฅ์ €ํ•˜


์šฉ์–ด ์ง€์˜ฅ ์‹œ์ž‘ ;;

์‹œ์Šคํ…œ ์นดํƒˆ๋กœ๊ทธ System Catalog 

๋‹ค์–‘ํ•œ ๊ฐ์ฒด์— ๊ด€ํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” ์‹œ์Šคํ…œ DB

Data Dictionary์— ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ์‚ฌ์ „์ด๋ผ๊ณ ๋„ํ•จ.

ํŠธ๋žœ์žญ์…˜ ์˜ ํŠน์„ฑ

  • Atomicity ์›์ž์„ฑ - DB์— ์˜ฌ commit or Rollback ๊ฐ€๋Šฅ
  • Consistency ์ผ๊ด€์„ฑ - ์„ฑ๊ณต์ ์œผ๋กœ ํ•˜๋ฉด ์–ธ์ œ๋‚˜ ์ผ๊ด€์„ฑ์žˆ๋Š” DB
  • Isolation ๋…๋ฆฝ์„ฑ - ๋‘˜ ์ด์ƒ์ด ๋ณ‘ํ–‰ ์‹คํ–‰, ํ•˜๋‚˜ ์‹คํ–‰ ์ค‘์— ๋‚„ ์ˆ˜ ์—†์Œ
  • Durability ์˜์†์„ฑ - ์™„๋ฃŒ๋œ ํŠธ๋žœ์žญ์…˜ ๊ฒฐ๊ณผ๋Š” ๊ณ ์žฅ๋‚˜๋”๋ผ๋„ ์˜๊ตฌ์  ๋ฐ˜์˜

์˜์ผ๋…์˜

CRUD ๋ถ„์„ (Create, Read, Update, Delete)

ํ”„๋กœ์„ธ์Šค์™€ ํ…Œ์ด๋ธ” ๊ฐ„์— CRUD ๋งคํŠธ๋ฆญ์Šค๋ฅผ ๋งŒ๋“ค์–ด ํŠธ๋žœ์žญ์…˜ ๋ถ„์„. 

๋งŽ์ด ํŠธ๋žœ์žญ์…˜ ๋ชฐ๋ฆฌ๋Š” ํ…Œ์ด๋ธ” ๋ถ„์„ 

Index

๋ฐ์ดํ„ฐ ๋น ๋ฅด๊ฒŒ ์ ‘๊ทผ ์œ„ํ•ด <ํ‚ค๊ฐ’, ํฌ์ธํ„ฐ> ์Œ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

View 

์‚ฌ์šฉ์ž์—๊ฒŒ ์ ‘๊ทผ๊ฐ€๋Šฅํ•œ ์ž๋ฃŒ๋งŒ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด 

ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”๋กœ๋ถ€ํ„ฐ ์œ ๋„๋œ ๊ฐ€์ƒ ํ…Œ์ด๋ธ”. *๊ธฐ๋ณธ์„ ์‚ญ์ œํ•˜๋ฉด ๋‹ค ์—†์–ด์ง„๋‹ค

CREATE, DROP

ํŒŒํ‹ฐ์…˜์˜ ์ข…๋ฅ˜ 

  • ๋ฒ”์œ„ ๋ถ„ํ•  Range Partitioning : ์ง€์ • ์—ด์˜ ๊ฐ’ ๊ธฐ์ค€ ๋ถ„ํ• . ์ผ๋ณ„, ์›”๋ณ„... 
  • ํ•ด์‹œ ๋ถ„ํ•  Hash Partitioning : ํ•ด์‹œ ํ•จ์ˆ˜ ์ ์šฉํ•œ ๊ฒฐ๊ณผ ๊ฐ’ ๋”ฐ๋ผ ๋ถ„ํ• .
    ๋ฐ์ดํ„ฐ ๊ณ ๋ฅด๊ฒŒ ๋ถ„์‚ฐํ•  ๋•Œ ์šฉ์ด. ๊ณ ๊ฐ๋ฒˆํ˜ธ, ์ฃผ๋ฏผ๋ฒˆํ˜ธ๊ฐ™์€..๊ฑฐ ๊ตฟ 
  • ์กฐํ•ฉ ๋ถ„ํ•  Composite Partitioning :  ๋ฒ”์œ„ → ํ•ด์‹œ. ๋ฒ”์œ„ํ–ˆ๋Š”๋ฐ ๋„ˆ๋ฌด ํด ๋•Œ ์œ ์šฉ

RTO / RPO

  • Recovery Time Objective ๋ชฉํ‘œ ๋ณต๊ตฌ ์‹œ๊ฐ„ : ๋ณต๊ตฌ๋˜์–ด ์žฌ๊ฐ€๋™ ; ์žฅ์•  ํ›„ 6์‹œ๊ฐ„ ๋‚ด ๋ณต๊ตฌ ๊ฐ€๋Šฅ
  • Recovery Point Objective ๋ชฉํ‘œ ๋ณต๊ตฌ ์‹œ์  : ๋ฐฑ์—… ๊ธฐ์ค€์  ; ์žฅ์•  ์ „ ๊ธˆ์šœ ๋ฐฑ์—…์œผ๋กœ ๋ณต๊ตฌ ๊ฐ€๋Šฅ

DAC, MAC, RBAC

  • ์ž„์˜ ์ ‘๊ทผํ†ต์ œ DAC ; Discretionary Access Control
    ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๋Š” ์‚ฌ์šฉ์ž์˜ ์‹ ์›์— ๋”ฐ๋ผ ์ ‘๊ทผ ๊ถŒํ•œ ๋ถ€์—ฌ. ๋ฐ์ดํ„ฐ ์†Œ์œ ์ž๊ฐ€ ๊ถŒํ•œ์ง€์ •
  • ๊ฐ•์ œ ์ ‘๊ทผํ†ต์ œ MAC ; Mandatory Access Control
    ์ฃผ์ฒด์™€ ๊ฐ์ฒด์˜ ๋“ฑ๊ธ‰ ๋น„๊ต, ์‹œ์Šคํ…œ์ด ๊ถŒํ•œ ์ง€์ •, ์ธ๊ฐ€ ๋“ฑ๊ธ‰ ๋ถ€์—ฌ
  • ์—ญํ• ๊ธฐ๋ฐ˜ ์ ‘๊ทผํ†ต์ œ RBAC; Role Based Access control
    ์—ญํ• ์— ๋”ฐ๋ผ. ์ค‘์•™๊ด€๋ฆฌ์ž๊ฐ€ ๊ถŒํ•œ ์ง€์ •. ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์— ์ตœ์ ํ™”

DAS ; Direct Attached Storage 

์„œ๋ฒ„ - ์ €์žฅ์žฅ์น˜ ์ „์šฉ ์ผ€์ด๋ธ”๋กœ ์ง์ ‘ ์—ฐ๊ฒฐ

์ปดํ“จํ„ฐ์— ์™ธ์žฅํ•˜๋“œ. ๋‹ค๋ฅธ ์„œ๋ฒ„์—์„œ ์ ‘๊ทผ ๋ถˆ๊ฐ€

SAN ; Storage Area Network

DAS ๋น ๋ฆ„ + NAS ํŒŒ์ผ ๊ณต์œ , ์„œ๋ฒ„์™€ ์ €์žฅ์žฅ์น˜๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์ „์šฉ ๋„คํŠธ์›Œํฌ ๋ณ„๋„ ๊ตฌ์„ฑ

Fibre Channel ๊ด‘์ฑ„๋„ ์Šค์œ„์น˜ ์ด์šฉํ•˜์—ฌ ๊ตฌ์„ฑ. ์†๋„ ๋น ๋ฆ„. ์žฅ์น˜ ๋ฐ ํŒŒ์ผ ๊ณต์œ 


์ž๋ฃŒ๊ตฌ์กฐ

  • ์„ ํ˜• ๊ตฌ์กฐ : ๋ฐฐ์—ด, ์„ ํ˜•(์—ฐ์†, ์—ฐ๊ฒฐ), ์Šคํƒ, ํ, ๋ฐํฌ
  • ๋น„์„ ํ˜• ๊ตฌ์กฐ : ํŠธ๋ฆฌ, ๊ทธ๋ž˜ํ”„
    -------------------
  • (์„ ํ˜•) Stack : ๋ฆฌ์ŠคํŠธ ํ•œ์ชฝ ๋์œผ๋กœ๋งŒ ์ž๋ฃŒ์˜ ์‚ฝ์ž…, ์‚ญ์ œ ์ž‘์—…
    • LIFO ํ›„์ž…์„ ์ถœ 
    • ๊ณต๊ฐ„์—†์œผ๋ฉด overflow
    • ์—†๋Š”๋ฐ ์‚ญ์ œํ•˜๋ฉด underflow
  • (๋น„์„ ํ˜•) ๋ฐฉํ–ฅ / ๋ฌด๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์˜ ์ตœ๋Œ€ ๊ฐ„์„  ์ˆ˜ 
    • ๋ฐฉํ–ฅ n(n-1)
    • ๋ฌด๋ฐฉํ–ฅ n(n-1)/2
  • (๋น„์„ ํ˜•) ํŠธ๋ฆฌ

์ถ”๊ฐ€๋กœ ํŠธ๋ฆฌ ์—ฌ๋Ÿฌ๊ฐœ = ์ˆฒ Forest, ํŠธ๋ฆฌ์˜ ๋””๊ทธ๋ฆฌ = ๋””๊ทธ๋ฆฌ ์ค‘ ๊ฐ€์žฅ ๋งŽ์€ ์ˆ˜

 

Preorder / Inorder / Postorder ์šดํ–‰๋ฒ•

๋ผ์ธ์„ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ์ดํ•ดํ•˜๋ฉด ํŽธํ•˜๋‹ค. pre, in, post๋Š” root ๊ธฐ์ค€์ž„์„ ๊ธฐ์–ตํ•˜์ž


Postfix ์ˆ˜์‹ → Infix

์—ฐ์‚ฐ์ž๋ฅผ ๋’ค๋กœ ๋ฏธ๋ฃฌ post ๋ฅผ ์•ˆ์œผ๋กœ ๋‹ค์‹œ ๋„ฃ๊ธฐ

  • A B C - / D E F + * +
  1. ์ธ์ ‘ ๊ธฐ์ค€์œผ๋กœ ๋‘๊ฐœ์”ฉ ๋ฌถ๊ธฐ 
    ( ( A ( B C - ) / ) ( D ( E F + ) * ) + )
  2. ์—ฐ์‚ฐ์ž๋ฅผ ๊ฐ€์šด๋ฐ๋กœ ์ด๋™
    ( ( A / ( B - C ) ) + ( D * ( E + F ) ) )
  3. ๊ด„ํ˜ธ ์ œ๊ฑฐ
    A / ( B - C ) + D * ( E + F )

์‚ฝ์ž…, ์„ ํƒ, ๋ฒ„๋ธ”, ํ€ต ์ •๋ ฌ

์ดํ•ด ๋”ฑ์ด๋‹ค ใ…‹ ์ธ์ •? ใ…‹ใ…‹ ์ž๋ฃŒ๊ตฌ์กฐ ํ•˜๋ฉด ๋งŽ์ดํ•˜๋‹ˆ๊นŒ ๋Œ€์ถฉ ๋ณด๋„๋กํ•˜์ž...


์ค‘์š” ํ‚ค์›Œ๋“œ ์ˆœ ์žฌ์ •๋ฆฌ 

์Šคํ‚ค๋งˆ(์™ธ๋ถ€, ๊ฐœ๋…, ๋‚ด๋ถ€), ์š”๊ฐœ๋…ผ๋ฌผ๊ตฌ (์„ค๊ณ„์ˆœ์„œ), ๊ด€๊ณ„ํ˜• DB ๋ฆด๋ ˆ์ด์…˜ ๊ตฌ์กฐ (๊ธฐ๋ณธํ‚ค, ํ›„๋ณดํ‚ค, ์Šˆํผํ‚ค, ์™ธ๋ž˜ํ‚ค), ์ˆœ์ˆ˜ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž (๊ธฐํ˜ธ๊ฐ€ ๋ˆˆ์— ์ต๋„๋ก ํ•˜์ž), ์ด์ƒ (์‚ฝ์ž…, ์‚ญ์ œ ๊ฐฑ์‹ ), ๋ฐ˜์ •๊ทœํ™”, ํŠธ๋žœ์žญ์…˜ ํŠน์„ฑ (์›์ž, ์ผ๊ด€, ๋…๋ฆฝ, ์˜์†), ์ ‘๊ทผํ†ต์ œ (DAC, MAC, RBAC)

 

๊ฝค๋‚˜ ๋งŽ์ด ๋‹ค์–‘ํ•˜๊ฒŒ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ด๋ฒˆ ์žฅ์€ ์ค‘์š”ํ•˜๊ฒŒ ์ „๋ฐ˜์ ์œผ๋กœ ๋‹ค ๋ณด๋Š” ๊ฒƒ์ด.. ์ข‹๊ฒ ๋‹ค... ใ…œใ…œ
๋ฐ˜์‘ํ˜•

์ตœ๊ทผ๋Œ“๊ธ€

์ตœ๊ทผ๊ธ€

skin by ยฉ 2024 ttutta