J1Yun
ZU-TECHLOG
J1Yun
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๐Ÿ“‘ Category (135)
    • Algorithm (61)
      • ๐Ÿ“š Concept (6)
      • ๐Ÿ“˜ Baekjoon Judge (53)
      • ๐Ÿ“— Programmers (2)
    • Computer Science (42)
      • ๐Ÿ”’ Operating System (14)
      • ๐Ÿ“ก Network (15)
      • ๐Ÿ’พ Database (8)
      • ๐Ÿงฉ Design Pattern (4)
      • ๐Ÿ”‘ Security (1)
    • Activities (12)
      • ๐Ÿฆ ๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ (6)
      • ๐Ÿ’ป SW๋งˆ์—์ŠคํŠธ๋กœ 13๊ธฐ (6)
    • Infra (1)
      • โ˜๏ธ AWS (1)
    • Languages (1)
      • ๐Ÿ’™ Python (1)
    • Backend (7)
      • ๐Ÿ”ต Django (4)
      • ๐ŸŸข Node.js (3)
    • Ect. (8)
      • ๐Ÿ’ฌ Talk (0)
      • ๐Ÿ—‚๏ธ ๊ฐœ๋ฐœ์ง๊ตฐ ์ทจ์—… ์ค€๋น„์ž๋ฃŒ (8)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

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

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.
J1Yun

ZU-TECHLOG

[DB] ์ •๊ทœํ™”(Normalization)์™€ ๋ฐ˜์ •๊ทœํ™”(De-Normalization)
Computer Science/๐Ÿ’พ Database

[DB] ์ •๊ทœํ™”(Normalization)์™€ ๋ฐ˜์ •๊ทœํ™”(De-Normalization)

728x90

์ •๊ทœํ™”(Normalization)

  • ๋ฆด๋ ˆ์ด์…˜์„ ์—ฌ๋Ÿฌ ๊ฐœ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๊ณผ์ •
  • ๋ฆด๋ ˆ์ด์…˜ ๊ฐ„ ์ž˜๋ชป๋œ ํ•จ์ˆ˜ ์ข…์† ๊ด€๊ณ„๋กœ ๋ฐœ์ƒํ•˜๋Š” ๊ฐ์ข… ์‚ฝ์ž…/๊ฐฑ์‹ /์‚ญ์ œ ์ด์ƒ ํ˜„์ƒ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•จ
  • ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์ œ๊ฑฐ๋ฅผ ํ†ตํ•ด ์ €์žฅ ๊ณต๊ฐ„์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉ
  • ํ•จ์ˆ˜ ์ข…์† ๊ด€๊ณ„๋Š” ๋ฆด๋ ˆ์ด์…˜ ๋ถ„๋ฆฌ(์ •๊ทœํ™”)์˜ ๊ธฐ์ค€์ด ๋จ

โ€ป ์‚ฝ์ž…/๊ฐฑ์‹ /์‚ญ์ œ ์ด์ƒ ํ˜„์ƒ์— ๊ด€ํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ํฌ์ŠคํŠธ ์ฐธ๊ณ 
https://zu-techlog.tistory.com/141

 

[DB] ์ด์ƒ ํ˜„์ƒ(Anomaly) ๊ฐœ๋…, ์ข…๋ฅ˜

์ด์ƒ ํ˜„์ƒ(Anomaly) ์ค‘๋ณต์ด ๋ฐœ์ƒํ•˜๊ณ  ์ „์ฒด์ ์ธ ๋ฌด๊ฒฐ์„ฑ์ด ์ €ํ•˜ ๋ฆด๋ ˆ์ด์…˜์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ์‚ฝ์ž…, ์ˆ˜์ •, ์‚ญ์ œ ์—ฐ์‚ฐ์„ ํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€์ž‘์šฉ ํ˜„์‹ค์„ธ๊ณ„์˜ ์‹ค์ œ ๊ฐ’๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ๊ฐ’์ด ์ผ

zu-techlog.tistory.com

 

์ œ 1์ •๊ทœํ™”(1NF)

  • ๋ฆด๋ ˆ์ด์…˜์˜ ๋ชจ๋“  ๋„๋ฉ”์ธ์ด ๋” ์ด์ƒ ๋ถ„ํ•ด๋  ์ˆ˜ ์—†๋Š” ์›์ž ๊ฐ’๋งŒ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด์•ผ ํ•จ
  • ์œ„ ๊ทธ๋ฆผ์€ Telephone Number์˜ ๋„๋ฉ”์ธ์ด ์›์ž ๊ฐ’์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ œ 1์ •๊ทœํ˜• ๋งŒ์กฑ X

  • ๋ฆด๋ ˆ์ด์…˜์˜ ์†์„ฑ ๊ฐ’ ์ค‘์—์„œ ํ•œ ๊ฐœ์˜ ๊ธฐ๋ณธํ‚ค์— ๋Œ€ํ•ด ๋‘ ๊ฐœ ์ด์ƒ์˜ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋ฐ˜๋ณต ์ง‘ํ•ฉ์ด ์žˆ๋‹ค๋ฉด ์ œ๊ฑฐ
  • ์œ„ ๊ทธ๋ฆผ์€ Telephone Number์— ๋Œ€ํ•ด 2๊ฐœ์˜ ๋ฐ˜๋ณต ์ง‘ํ•ฉ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์ œ 1์ •๊ทœํ˜• ๋งŒ์กฑ X

 

์ œ 2์ •๊ทœํ˜•(2NF)

  • ์ œ 1์ •๊ทœํ˜•์„ ๋งŒ์กฑํ•˜๋ฉด์„œ ๊ธฐ๋ณธํ‚ค๊ฐ€ ์•„๋‹Œ ๋ชจ๋“  ์†์„ฑ์— ์™„์ „ ํ•จ์ˆ˜ ์ข…์†์„ ๋งŒ์กฑํ•ด์•ผ ํ•จ
  • ๋ถ€๋ถ„์  ํ•จ์ˆ˜ ์ข…์† ์ œ๊ฑฐ
๐Ÿ’ก ํ•จ์ˆ˜ ์ข…์†์ด๋ž€?

- ์™„์ „ ํ•จ์ˆ˜ ์ข…์†: ๊ธฐ๋ณธํ‚ค๊ฐ€ ๋‹จ์ผํ‚ค ์ผ ๊ฒฝ์šฐ X -> Y ๋งŒ์กฑ, ๊ธฐ๋ณธํ‚ค๊ฐ€ ๋ณตํ•ฉํ‚ค ์ผ ๊ฒฝ์šฐ {X1,X2} -> Y ๋งŒ์กฑ
- ๋ถ€๋ถ„ ํ•จ์ˆ˜ ์ข…์†: ๊ธฐ๋ณธํ‚ค๊ฐ€ ๋ณตํ•ฉํ‚ค ์ผ ๊ฒฝ์šฐ X1, X2 ์ค‘ ํ•˜๋‚˜๋งŒ์œผ๋กœ๋„ Y์˜ ๊ฐ’์„ ๊ฒฐ์ •
- ์ดํ–‰์  ํ•จ์ˆ˜ ์ข…์†: X -> Y์ธ๋ฐ, Y -> Z ๋‹ค. ๊ฒฐ๊ตญ X -> Z์ธ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ

์˜ˆ์‹œ)

Model Full Name์€ ๋ณตํ•ฉํ‚ค์ธ Manufacturer์™€ Model์— ๋Œ€ํ•ด ์™„์ „ ํ•จ์ˆ˜ ์ข…์†์„ ๋งŒ์กฑํ•˜์ง€๋งŒ Manufacturer Country๋Š” Manufacturer์— ๋”ฐ๋ผ์„œ๋งŒ ๊ฒฐ์ •๋˜๋Š” ๋ถ€๋ถ„ ํ•จ์ˆ˜ ์ข…์† ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง

๋”ฐ๋ผ์„œ, ์œ„์™€ ๊ฐ™์ด ํ…Œ์ด๋ธ”์„ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ถ€๋ถ„ ํ•จ์ˆ˜ ์ข…์†์„ ์ œ๊ฑฐํ•˜๋ฉด ์ œ 2์ •๊ทœํ˜• ๋งŒ์กฑ ๊ฐ€๋Šฅ

 

์ œ 3์ •๊ทœํ˜•(3NF)

  • ์ œ 2์ •๊ทœํ˜•์„ ๋งŒ์กฑํ•˜๋ฉด์„œ ๊ธฐ๋ณธํ‚ค๊ฐ€ ์•„๋‹Œ ๋ชจ๋“  ์†์„ฑ์ด ๊ธฐ๋ณธํ‚ค์— ๋Œ€ํ•ด ์ดํ–‰์  ํ•จ์ˆ˜ ์ข…์†์„ ๋งŒ์กฑํ•˜์ง€ ์•Š๋„๋ก ํ•จ

์˜ˆ์‹œ)

Winner Date of Birth ์†์„ฑ์€ ๊ธฐ๋ณธํ‚ค๊ฐ€ ์•„๋‹Œ ์†์„ฑ Winner์—๊ฒŒ ์ข…์†๋˜๊ณ , Winner๋Š” ๊ธฐ๋ณธํ‚ค์ธ Tournament์™€ Year์— ์ข…์†๋˜๋ฏ€๋กœ ๊ฒฐ๊ตญ Winner Date of Birth๋Š” {Tournament, Year}์— ์˜์กดํ•˜๊ฒŒ ๋˜๋Š” ์ดํ–‰์  ํ•จ์ˆ˜ ์ข…์† ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง

๋”ฐ๋ผ์„œ, ์œ„์™€ ๊ฐ™์ด ํ…Œ์ด๋ธ”์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์ดํ–‰์  ํ•จ์ˆ˜ ์ข…์†์„ ์ œ๊ฑฐํ•˜๋ฉด ์ œ 3์ •๊ทœํ˜• ๋งŒ์กฑ ๊ฐ€๋Šฅ

 

BCNF

  • ์ œ 3์ •๊ทœํ˜•์„ ๋งŒ์กฑํ•˜๋ฉด์„œ ๋ชจ๋“  ๊ฒฐ์ •์ž๊ฐ€ ํ›„๋ณดํ‚ค ์ง‘ํ•ฉ์— ์†ํ•ด์•ผ ํ•จ

์˜ˆ์‹œ) 

๊ต์ˆ˜๋Š” ํ•˜๋‚˜์˜ ๊ณผ๋ชฉ๋งŒ ๊ฐ•์˜ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•  ๋•Œ, ๊ฒฐ์ •์ž๋Š” '๊ต์ˆ˜' (๊ต์ˆ˜์— ๋”ฐ๋ผ ๊ณผ๋ชฉ์ด ์ •ํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ) ์ด์ง€๋งŒ ํ›„๋ณดํ‚ค๋Š” {ํ•™์ƒ, ๊ณผ๋ชฉ}๋กœ '๊ต์ˆ˜'๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์Œ

๋”ฐ๋ผ์„œ, ์œ„์™€ ๊ฐ™์ด ํ…Œ์ด๋ธ”์„ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ฒฐ์ •์ž๊ฐ€ ํ›„๋ณดํ‚ค๊ฐ€ ๋˜๋„๋ก ํ•˜๋ฉด BCNF ๋งŒ์กฑ ๊ฐ€๋Šฅ

 

 

๋ฐ˜์ •๊ทœํ™”(De-Normalization)

  • ์ •๊ทœํ™”๋Š” ๋ฆด๋ ˆ์ด์…˜ ๋ถ„๋ฆฌ๋กœ ์ธํ•ด ๋ฆด๋ ˆ์ด์…˜ ๊ฐ„ JOIN ์—ฐ์‚ฐ์ด ๋งŽ์•„์ ธ ์งˆ์˜์— ๋Œ€ํ•œ ์‘๋‹ต ์‹œ๊ฐ„์ด ๋А๋ ค์งˆ ์ˆ˜ ์žˆ์Œ
  • ๋ฐ์ดํ„ฐ ์กฐํšŒ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜๋ฉฐ ๋ฆด๋ ˆ์ด์…˜์„ ํ•ฉ์น˜๋Š” ๊ณผ์ •
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์™„๋ฒฝํ•œ ๊ตฌ์กฐ ์„ค๊ณ„๋ฅผ ํฌ๊ธฐํ•˜๊ณ  ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ๊นจ๋œจ๋ฆฌ๋Š” ๋Œ€์‹  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฝ๊ธฐ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ
  • ๋ฐ์ดํ„ฐ ์ค‘๋ณต์œผ๋กœ ์‚ฝ์ž…, ์ˆ˜์ •, ์‚ญ์ œ์˜ ์„ฑ๋Šฅ์€ ๋‚ฎ์•„์งˆ ์ˆ˜ ์žˆ์Œ
  • ์ƒํ™ฉ์— ๋”ฐ๋ผ ํ•„์š” ์‹œ ๋ฐ˜์ •๊ทœํ™” ์ˆ˜ํ–‰
    • ์ •๊ทœํ™”์— ์ถฉ์‹คํ•˜์—ฌ ์ข…์†์„ฑ, ํ™œ์šฉ์„ฑ์€ ํ–ฅ์ƒ๋˜์—ˆ์ง€๋งŒ, ์ˆ˜ํ–‰์†๋„๊ฐ€ ๋А๋ ค์ง„ ๊ฒฝ์šฐ
    • ๋‹ค๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ ๋ฒ”์œ„๋ฅผ ์ž์ฃผ ์ฒ˜๋ฆฌํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ
    • ํŠน์ • ๋ฒ”์œ„์˜ ๋ฐ์ดํ„ฐ๋งŒ ์ž์ฃผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ
    • ์š”์•ฝ/์ง‘๊ณ„ ์ •๋ณด๊ฐ€ ์ž์ฃผ ์š”๊ตฌ๋˜๋Š” ๊ฒฝ์šฐ

์˜ˆ์‹œ)

๊ฐ•์‚ฌ, ์ˆ˜์—…, ์ˆ˜๊ฐ•๋ฃŒ 3๊ฐœ์˜ ํ…Œ์ด๋ธ”์„ JOINํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋Š” ๊ณผ์ •์—์„œ ์†๋„ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋ฐ˜์ •๊ทœํ™”๋ฅผ ํ†ตํ•ด ์ผ๋ถ€ ๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜๋ฉฐ ์กฐํšŒ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ

728x90
์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Computer Science > ๐Ÿ’พ Database' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[DB] ์ด์ƒ ํ˜„์ƒ(Anomaly) ๊ฐœ๋…, ์ข…๋ฅ˜  (0) 2023.03.31
[DB] SQL ์กฐ์ธ(Join) ๊ฐœ๋…, ์ข…๋ฅ˜  (0) 2023.03.24
[DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ์ดˆ ์šฉ์–ด, ํ‚ค(Key)์˜ ๊ฐœ๋…๊ณผ ์ข…๋ฅ˜  (0) 2023.03.23
[DB] ํŠธ๋žœ์žญ์…˜(Transaction) ๊ฐœ๋…, ํŠน์ง•, ์—ฐ์‚ฐ, ์ƒํƒœ  (0) 2023.03.22
[DB] RDBMS์˜ SQL๊ณผ NoSQL ์ฐจ์ด  (0) 2023.03.21
    'Computer Science/๐Ÿ’พ Database' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€์ด๋‹ค
    • [DB] ์ด์ƒ ํ˜„์ƒ(Anomaly) ๊ฐœ๋…, ์ข…๋ฅ˜
    • [DB] SQL ์กฐ์ธ(Join) ๊ฐœ๋…, ์ข…๋ฅ˜
    • [DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ์ดˆ ์šฉ์–ด, ํ‚ค(Key)์˜ ๊ฐœ๋…๊ณผ ์ข…๋ฅ˜
    • [DB] ํŠธ๋žœ์žญ์…˜(Transaction) ๊ฐœ๋…, ํŠน์ง•, ์—ฐ์‚ฐ, ์ƒํƒœ
    J1Yun
    J1Yun
    ๊ฐœ๋ฐœ ๊ด€๋ จ ๊ธฐ์ˆ  ๋ฐ ๊ณต๋ถ€ ๋‚ด์šฉ ๊ธฐ๋ก์žฅ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”