728x90
๋ฐ˜์‘ํ˜•

1.3. ํ…Œ์ŠคํŒ…์˜ ์ผ๋ฐ˜์ ์ธ ์›๋ฆฌ

  • ์›๋ฆฌ 1. ํ…Œ์ŠคํŒ…์€ ๊ฒฐํ•จ์ด ์กด์žฌํ•จ์„ ๋ฐํžˆ๋Š” ๊ฒƒ (Testing shows presence of defects)
    • ์ž ์žฌ์ ์œผ๋กœ ์กด์žฌํ•˜๋Š” ๊ฒฐํ•จ ์ค„์ž„
    • But, ๊ฒฐํ•จ์ด ์—†๋‹ค๊ณ  ์ฆ๋ช…ํ•  ์ˆ˜๋Š” ์—†์Œ
  • ์›๋ฆฌ 2. ์™„๋ฒฝํ•œ ํ…Œ์ŠคํŒ… (Exhaustive testing)์€ ๋ถˆ๊ฐ€๋Šฅ (Exhaustive testing is impossible)
    • ํ•œ ํ”„๋กœ๊ทธ๋žจ ๋‚ด์— ๋‚ด๋ถ€ ์กฐ๊ฑด์ด ๋งŽ์Œ
    • ์ž…๋ ฅ์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฐ’์˜ ์กฐํ•ฉ์ด ๋ฌด์ˆ˜ํžˆ ๋งŽ์Œ
    • ์ด๋ฒคํŠธ ๋ฐœ์ƒ์‹œ ๋ฐœ์ƒ ์ˆœ์„œ์— ๋Œ€ํ•œ ์กฐํ•ฉ๋„ ๋ฌด์ˆ˜ํžˆ ๋งŽ์Œ
    • ๋ฆฌ์Šคํฌ์— ๋”ฐ๋ผ ํ…Œ์ŠคํŠธ ๊ฐ•๋„ ๋†’๊ฒŒ ์ˆ˜ํ–‰ -> ์‹ค์ œ ์™„๋ฒฝ์€ ๋ถˆ๊ฐ€
  • ์›๋ฆฌ 3. ๊ฐœ๋ฐœ ์ดˆ๊ธฐ์— ํ…Œ์ŠคํŒ… ์‹œ์ž‘ (Early testing)
    • ๊ฐœ๋ฐœ์˜ ์‹œ์ž‘๊ณผ ๋™์‹œ์— ํ…Œ์ŠคํŠธ๋ฅผ ๊ณ„ํšํ•˜๊ณ  ์ „๋žต์ ์œผ๋กœ ์ ‘๊ทผ
    • ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„์„œ์™€ ์„ค๊ณ„์„œ ๋“ฑ์˜ ๊ฐœ๋ฐœ ์‚ฐ์ถœ๋ฌผ ๋ถ„์„ ํ›„ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ๋„์ถœ
    • ๋‹ค ๋งŒ๋“ค๊ณ  ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๊ฐ€ ์—‰๋ง์ด ๋‚˜์˜ค๋ฉด ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ์ด ์žฅ๋‚œ ์•„๋‹ˆ๊ฒ ์ฅ~
  • ์›๋ฆฌ 4. ๊ฒฐํ•จ ์ง‘์ค‘ (Defect clustering)
    • ๋Œ€๋‹ค์ˆ˜์˜ ๊ฒฐํ•จ๋“ค์€ ์†Œ์ˆ˜์˜ ํŠน์ • ๋ชจ๋“ˆ์— ์ง‘์ค‘๋˜์–ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝํ–ฅ์„ ๋ณด์ž„
    • ๊ฒฐํ•จ์˜ ์ง‘์ค‘์€ ์šด์˜์ƒ์˜ ์žฅ์• ๋ฅผ ์ดˆ๋ž˜
      • ๋ณต์žกํ•œ ๊ตฌ์กฐ์˜ ๋ชจ๋“ˆ
      • ๋‹ค๋ฅธ ๋ชจ๋“ˆ๊ณผ ๋‹ค๋Ÿ‰์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ํ•˜๋Š” ๋ชจ๋“ˆ (์ž๊พธ ํ˜ธ์ถœํ•˜๋‹ค ๋ณด๋ฉด ๊ฒฐํ•จ ๋‚˜์˜ค๊ธฐ ์‰ฌ์›€)
      • ๊ฐœ๋ฐœ ๋‚œ์ด๋„๊ฐ€ ๋†’๊ฑฐ๋‚˜ ์ตœ์‹  ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•œ ๋ชจ๋“ˆ
      • ํฌ๊ธฐ๊ฐ€ ํฐ ๋ชจ๋“ˆ
      • ๊ฒฝํ—˜์ด ๋ฏธํกํ•œ ํŒ€์—์„œ ๊ฐœ๋ฐœํ•œ ๋ชจ๋“ˆ
      • ์ƒˆ๋กญ๊ฒŒ ๊ฐœ๋ฐœํ•œ ๋ชจ๋“ˆ
  • ์›๋ฆฌ 5. ์‚ด์ถฉ์ œ ํŒจ๋Ÿฌ๋…์Šค (Pesticide paradox)
    • ๋™์ผํ•œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ๋™์ผํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ๋ฐ˜๋ณตํ•˜๋ฉด ๊ฒฐํ•จ์œผ๋กœ ์ฐพ๊ธฐ ์–ด๋ ค์›Œ์ง
    • ๋” ๋งŽ์€ ๊ฒฐํ•จ์„ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ •๊ธฐ์ ์œผ๋กœ ๋ฆฌ๋ทฐํ•˜๊ณ  ๊ฐœ์„ 
  • ์›๋ฆฌ 6. ํ…Œ์ŠคํŒ…์€ ์ •ํ™ฉ(Context)์— ์˜์กด์  (Testing is context dependent)
    • ํ…Œ์ŠคํŒ…์€ ์ •ํ™ฉ(context)๊ณผ ๋„๋ฉ”์ธ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์ง„ํ–‰
    • ๋ชจ๋“  ํ…Œ์ŠคํŠธ์— ์ ์šฉ๋˜์–ด์•ผ ํ•˜๋Š” ๊ฒƒ
      • ํ…Œ์ŠคํŠธ ํ”„๋กœ์ ํŠธ ๊ธฐํš
      • ํ‘œ์ค€์ ์ธ ๊ธฐ๋ฒ•์ ์šฉ
      • ๋…๋ฆฝ์ ์ธ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ
      • ํšจ์œจ์ /ํšจ๊ณผ์  ํ…Œ์ŠคํŠธ ํŒ€ ์กฐ์ง
      • ์ •์‹ ๋ฆฌํฌํŒ… ๋“ฑ
  • ์›๋ฆฌ 7. ์˜ค๋ฅ˜-๋ถ€์žฌ์˜ ๊ถค๋ณ€ (Absence-of-errors fallacy)
    • ๊ฐœ๋ฐœ๋œ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์‚ฌ์šฉ์ž ์š”๊ตฌ์ˆ˜์ค€์„ ๋งŒ์กฑํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์€ ์˜๋ฏธ๊ฐ€ ์—†์Œ
728x90
๋ฐ˜์‘ํ˜•

'์ž๊ฒฉ์ฆ > istqb' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์ œ 1์žฅ ํ…Œ์ŠคํŒ…์˜ ๊ธฐ์ดˆ (2)  (0) 2025.03.26
์ œ 1์žฅ ํ…Œ์ŠคํŒ…์˜ ๊ธฐ์ดˆ (1)  (0) 2025.03.26
728x90
๋ฐ˜์‘ํ˜•

1.2 ํ…Œ์ŠคํŒ…์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

  • ํ…Œ์ŠคํŒ…
    • ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋˜๋Š” ์‹œ์Šคํ…œ์˜ ๋™์ž‘๊ณผ ์„ฑ๋Šฅ, ์•ˆ์ •์„ฑ์ด ์‚ฌ์šฉ์ž๊ฐ€ ์š”๊ตฌํ•˜๋Š” ์ˆ˜์ค€์„ ๋งŒ์กฑํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๊ฒฐํ•จ์„ ๋ฐœ๊ฒฌํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜
      • ์ •์ƒ ๋™์ž‘ ์—ฌ๋ถ€ ํ™•์ธ
      • ์‚ฌ์šฉ์ž์˜ ๊ธฐ๋Œ€ ์ˆ˜์ค€๊ณผ ์š”๊ตฌ์‚ฌํ•ญ์— ๋งž๊ฒŒ ๊ตฌํ˜„๋˜๊ณ  ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธ
      • ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ์˜ ๋ฆฌ์Šคํฌ ์ •๋ณด๋ฅผ ์ •๋Ÿ‰์  ์ˆ˜์น˜๋กœ ์˜์‚ฌ๊ฒฐ์ •๊ถŒ์ž์—๊ฒŒ ์ „๋‹ฌ
    • ์ดˆ๊ธฐ ๊ฐœ๋ฐœ ์‚ฐ์ถœ๋ฌผ -> ๋ฆฌ๋ทฐ
    • ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž‘์„ฑ ๊ณผ์ •(๊ฒฐํ•จ ์˜ˆ๋ฐฉ ํ™œ๋™)
    • ๋‹ค์–‘ํ•œ ํ…Œ์ŠคํŒ… ํ™œ๋™

 

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

 

  • ๊ด€์ ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŒ…์˜ ๋ชฉ์ 
    • ๊ฐœ๋ฐœ ๊ณผ์ • - ๊ฒฐํ•จ์„ ์ฐพ๊ณ  ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€๋Šฅํ•œ ๋งŽ์€ ์žฅ์•  ์ƒํ™ฉ ์žฌ์—ฐ
    • ์ธ์ˆ˜ ํ…Œ์ŠคํŒ… - ์˜ˆ์ƒ๋Œ€๋กœ ์‹œ์Šคํ…œ์ด ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธ, ์š”๊ตฌ์‚ฌํ•ญ ํ™•์ธ
    • ์†Œํ”„ํŠธ์›จ์–ด ํ’ˆ์งˆ - ์ถœ์‹œํ•˜๋Š” ๊ฒƒ์˜ ๋ฆฌ์Šคํฌ๋ฅผ ๊ด€๋ จ์ž์—๊ฒŒ ์ „๋‹ฌ
    • ์œ ์ง€๋ณด์ˆ˜ ํ…Œ์ŠคํŒ… - ๋ณ€๊ฒฝ์— ๋Œ€ํ•ด ์ƒˆ๋กœ์šด ๊ฒฐํ•จ์˜ ์œ ์ž…์„ ํ™•์ธ(๋ฐ˜๋ณต ํ…Œ์ŠคํŠธ)
    • ์šด์˜ ํ…Œ์ŠคํŒ… - ์‹ ๋ขฐ์„ฑ ๋˜๋Š” ๊ฐ€์šฉ์„ฑ ๊ฐ™์€ ์‹œ์Šคํ…œ ํŠน์„ฑ์„ ํ‰๊ฐ€
    • ํ…Œ์ŠคํŒ…์€ ๋ฌธ์„œ์˜ ๋ฆฌ๋ทฐ์™€ ํ•จ๊ป˜ ์ •์  ๋ถ„์„์— ์˜ํ•œ ํ…Œ์ŠคํŠธ ํฌํ•จ

 

๋‚˜์ค‘์—~~

 

728x90
๋ฐ˜์‘ํ˜•

'์ž๊ฒฉ์ฆ > istqb' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์ œ 1์žฅ ํ…Œ์ŠคํŒ…์˜ ๊ธฐ์ดˆ (3)  (0) 2025.03.26
์ œ 1์žฅ ํ…Œ์ŠคํŒ…์˜ ๊ธฐ์ดˆ (1)  (0) 2025.03.26
728x90
๋ฐ˜์‘ํ˜•

1.1. ํ…Œ์ŠคํŒ…์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

 

1.1.1 SW ์‹œ์Šคํ…œ ๊ด€์ ์—์„œ ํ…Œ์ŠคํŒ…์˜ ํ•„์š”์„ฑ

  • SW ๊ด€์ ์—์„œ ํ…Œ์ŠคํŒ…
    • ๋น„์ฆˆ๋‹ˆ์Šค ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์†Œ๋น„์ž ์ œํ’ˆ์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ํญ๋„“๊ฒŒ ์ƒํ™œ์˜ ๋งŽ์€ ๋ถ€๋ถ„์— ์‚ฌ์šฉ -> ๋น„์ค‘์€ ๊ณ„์† ์ฆ๊ฐ€
    • ๊ธˆ์ „์ ์ธ ์†์‹ค, ์‹œ๊ฐ„ ๋‚ญ๋น„, ๋น„์ฆˆ๋‹ˆ์Šค์˜ ์ด๋ฏธ์ง€ ์†์ƒ, ๊ทธ๋ฆฌ๊ณ  ๋ถ€์ƒ์ด๋‚˜ ์‚ฌ๋ง์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ๋‹ค์–‘ํ•˜๊ณ  ์‹ฌ๊ฐ
    • ํ…Œ์ŠคํŒ…์€ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์˜ ๋ฌธ์ œ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”

 

1.1.2 ์†Œํ”„ํŠธ์›จ์–ด ๊ฒฐํ•จ์˜ ์›์ธ

  • ์†Œํ”„ํŠธ์›จ์–ด ๊ฒฐํ•จ
    • ์˜ค๋ฅ˜(error) - ์ธ๊ฐ„์˜ ํ–‰์œ„, ์‹ค์ˆ˜
      • ์ฝ”๋“œ ์ž‘์„ฑ, ์†Œํ”„ํŠธ์›จ์–ด๋‚˜ ์‹œ์Šคํ…œ ๋˜๋Š” ๋ฌธ์„œ ์ž‘์„ฑ์‹œ ๊ฒฐํ•จ์„ ๋งŒ๋“œ๋Š” ์˜ค๋ฅ˜
    • ๊ฒฐํ•จ(defect) - ์š”๊ตฌ๋œ ๊ธฐ๋Šฅ์˜ ๋ถ€์ •ํ™•ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ๋งํ•˜๋ฉฐ ์ด๊ฒƒ์œผ๋กœ ์ธํ•ด ๊ณ ์žฅ ๋˜๋Š” ์žฅ์• ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ์›์ธ์ด ๋จ
      • ์‹œ๊ฐ„์ ์ธ ์••๋ฐ•, ๋ณต์žกํ•œ ์ฝ”๋“œ, ๊ธฐ๋ฐ˜ํ™˜๊ฒฝ์˜ ๋ณต์žก์„ฑ, ๊ธฐ์ˆ ์ด๋‚˜ ์‹œ์Šคํ…œ์˜ ๋ณ€๊ฒฝ, ์ˆ˜๋งŽ์€ ์‹œ์Šคํ…œ ์ƒํ˜ธ๊ฐ„์˜ ์—ฐ๋™
      • ๊ฒฐํ•จ์€ ์žฅ์• ์˜ ์›์ธ
      • But, ๋ชจ๋“  ๊ฒฐํ•จ์ด ์žฅ์• ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๊ฒƒ์€ ์•„๋‹˜
    • ์žฅ์• (failure) - ์ฝ”๋“œ์— ์กด์žฌํ•˜๋Š” ๊ฒฐํ•จ์˜ ์‹คํ–‰ ๋˜๋Š” ํ™˜๊ฒฝ์  ์กฐ๊ฑด์— ์˜ํ•ด ๋ถ€์ •ํ™•ํ•˜๊ฒŒ ์ฒ˜๋ฆฌ๋˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•จ
      • ๊ฒฐํ•จ + ํ™˜๊ฒฝ์ ์ธ(๋ฐฉ์‚ฌ, ์ „์ž๊ธฐ์žฅ, ๋ฌผ๋ฆฌ์  ์˜ค์—ผ ๋“ฑ) ์กฐ๊ฑด

๋ฆฌ์Šคํฌ๋Š” ๋‚˜์ค‘์—...

๋”๋ณด๊ธฐ

์—๋Ÿฌ - ๊ฒฐํ•จ - ์žฅ์•  ์˜ˆ์‹œ ๋งŒ๋“ค๊ธฐ

 

์—๋Ÿฌ - ์‚ฌ๋žŒ์˜ ์‹ค์ˆ˜ (๋‚ ์งœ ๊ณ„์‚ฐ์—์„œ ์œค๋…„ ๋นผ๋จน์Œ)

๊ฒฐํ•จ - ์ฝ”๋“œ์˜ ๋ฌธ์ œ (2/29์ผ ์žˆ๋Š” ํ•ด์—๋„ 2/28์ผ ๊นŒ์ง€๋งŒ ์žˆ๋‹ค๊ณ  ๊ตฌํ˜„)

์žฅ์•  - ์‚ฌ์šฉ์ž์—๊ฒŒ ๋“œ๋Ÿฌ๋‚˜๋Š” ๋ฌธ์ œ (2/29์ผ ์˜ˆ์•ฝ๋ถˆ๊ฐ€)

 

1.1.3 SW ๊ฐœ๋ฐœ, ์œ ์ง€๋ณด์ˆ˜, ์šด์˜ ์‹œ ํ…Œ์ŠคํŒ…์˜ ์—ญํ• 

  • ํ…Œ์ŠคํŒ…
    • ๊ฐœ๋ฐœ ์ดˆ๊ธฐ์˜ ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„ ๋‹จ๊ณ„๋ถ€ํ„ฐ ๋ฆฌ๋ทฐ์™€ ์ •์ ๋ถ„์„(๋ฌธ์„œ ์ •๋„๋กœ ์ƒ๊ฐ)์„ ํ†ตํ•ด ์ •์ ์œผ๋กœ ์‹œ์ž‘ -> ๊ฐ๊ฐ์˜ ๊ฐœ๋ฐœ๋‹จ๊ณ„์— ๋Œ€์‘ํ•˜๋Š” ํ…Œ์ŠคํŠธ ๋ ˆ๋ฒจ๋ณ„
    • ์ปดํฌ๋„ŒํŠธ, ํ†ตํ•ฉ ํ…Œ์ŠคํŒ…์€ ๊ฐœ๋ฐœ ์กฐ์ง ์ค‘์‹ฌ์œผ๋กœ ์ˆ˜ํ–‰
    • ์‹œ์Šคํ…œ์ด ๊ฐ–์ถฐ์ง„ ์ดํ›„์˜ ํ…Œ์ŠคํŒ…์€ ๋…๋ฆฝ์ ์ธ ํ…Œ์ŠคํŠธ ์กฐ์ง ์ค‘์‹ฌ
    • ํ…Œ์ŠคํŠธ ๋ ˆ๋ฒจ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ
      • ์†Œํ”„ํŠธ์›จ์–ด ํ’ˆ์งˆ์„ ๋†’์ด๊ณ , ๊ฒฐํ•จ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์„ ์ตœ์†Œํ™”
    • ์œ ์ง€๋ณด์ˆ˜ ํ™œ๋™์œผ๋กœ ๋ณ€๊ฒฝ ๋ฐ ๋‹จ์ข…๋˜๊ฑฐ๋‚˜ ๊ฐ€๋Šฅ์„ฑ์„ ์ตœ์†Œํ™”
      • ๋ณ€๊ฒฝ๋œ ํ™˜๊ฒฝ์— ๋Œ€ํ•ด ์šด์˜ ํ…Œ์ŠคํŒ…(๋ฆฌ๊ทธ๋ ˆ์…˜ ํ…Œ์ŠคํŒ…)
      • ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•œ ๊ฒฐํ•จ๊ณผ ์žฅ์• ๋ฅผ ์˜ˆ๋ฐฉ
    • ๊ณ„์•ฝ์ƒ ์š”๊ตฌ์กฐ๊ฑด ๋ฐ ์‚ฐ์—…์— ํŠนํ™”๋œ ํ‘œ์ค€ ๋งŒ์กฑ

 

๋”๋ณด๊ธฐ

๋ฆฌ๊ทธ๋ ˆ์…˜ ํ…Œ์ŠคํŒ…(Regression Test)

 

์ด๋ฏธ ํ…Œ์ŠคํŠธ๋œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋ณ€๊ฒฝํ•œ ํ›„, ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด ์ƒˆ๋กœ์šด ๊ฒฐํ•จ์ด ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ํ…Œ์ŠคํŠธ

ํšŒ๊ท€ํ…Œ์ŠคํŠธ๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค

 

 

1.1.4 ํ…Œ์ŠคํŒ…๊ณผ ํ’ˆ์งˆ

  • ํ’ˆ์งˆ ํŠน์„ฑ ๋ฐ ํ–ฅ์ƒ
    • ISO/IEC 9126 ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ ํ’ˆ์งˆ
      • ๊ธฐ๋Šฅ์„ฑ, ์‹ ๋ขฐ์„ฑ, ์‚ฌ์šฉ์„ฑ, ํšจ์œจ์„ฑ, ์œ ์ง€๋ณด์ˆ˜์„ฑ, ์ด์‹์„ฑ
    • ํ’ˆ์งˆ ํ–ฅ์ƒ -> ํ…Œ์ŠคํŒ…์ด ๊ฒฐํ•จ์„ ์ฐพ์•„๋‚ด๊ณ , ๋ฐœ๊ฒฌ๋œ ๊ฒฐํ•จ ์ˆ˜์ •
    • ํ’ˆ์งˆ ๋ณด์ฆ(Quality Assurance)
      • ์ด์ „ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ๋งŽ์€ ํ…Œ์ŠคํŠธ ๊ฒฝํ—˜๊ณผ ์ •๋ณด ํ™•๋ณด
      • ๋ฐœ๊ฒฌ๋œ ๊ฒฐํ•จ์˜ ๊ทผ๋ณธ ์›์ธ ์ดํ•ด๋ฅผ ํ†ตํ•ด ํ”„๋กœ์„ธ์Šค ๊ฐœ์„ 
      • ๊ฒฐํ•จ์˜ ์žฌ๋ฐœ ๋ฐฉ์ง€
    • ๊ฐœ๋ฐœ ํ‘œ์ค€์ด๋‚˜ ๊ต์œก ํ›ˆ๋ ฅ ๊ทธ๋ฆฌ๊ณ  ๊ฒฐํ•จ ๋ถ„์„

 

1.1.5 ํ…Œ์ŠคํŒ…, ์–ผ๋งˆ๋‚˜ ํ•ด์•ผ ์ถฉ๋ถ„ํ•œ๊ฐ€?

  • ์ ์ ˆํ•œ ํ…Œ์ŠคํŒ… ์ •๋„
    • ๋ฆฌ์Šคํฌ ์ˆ˜์ค€์„ ๊ณ ๋ ค
    • ํ”„๋กœ์ ํŠธ ์ œ์•ฝ ์‚ฌํ•ญ
      • ๊ธฐ์ˆ ์ ์ธ ๋‚ด์šฉ
      • ๋น„์ฆˆ๋‹ˆ์Šค
      • ์ œํ’ˆ
      • ํ”„๋กœ์ ํŠธ ๋ฆฌ์Šคํฌ
      • ์‹œ๊ฐ„
      • ๋น„์šฉ
    • ํ…Œ์ŠคํŒ…์€ ํ…Œ์ŠคํŠธ๋œ SW๋‚˜ ์‹œ์Šคํ…œ์„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ์ „๋‹ฌํ•˜๋Š” ๋ฐ ์žˆ์–ด ํ”„๋กœ์ ํŠธ ์ดํ•ด๊ด€๊ณ„์ž๋“ค์ด ๋ฆด๋ฆฌ์ฆˆ ๊ฒฐ์ •(์ถœ์‹œ)์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ๋„๋ก ์ถฉ๋ถ„ํ•œ ์ •๋ณด ์ œ๊ณต (๋งจ๋‚  ์œ ์ง€๋ณด์ˆ˜ํ•  ์ˆ˜๋Š” ์—†์ž๋‚˜...)

 

 

 

728x90
๋ฐ˜์‘ํ˜•

'์ž๊ฒฉ์ฆ > istqb' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์ œ 1์žฅ ํ…Œ์ŠคํŒ…์˜ ๊ธฐ์ดˆ (3)  (0) 2025.03.26
์ œ 1์žฅ ํ…Œ์ŠคํŒ…์˜ ๊ธฐ์ดˆ (2)  (0) 2025.03.26
728x90
๋ฐ˜์‘ํ˜•

***  ์ผ๋ฐ˜ + ์‹ ์œ ํ˜•

์˜ค๋ผํด, sql server ์ฐจ์ด ๋ด๋‘๊ธฐ

 

oracle์—์„œ ๋นˆ๋ฌธ์ž์—ด์€ null๋กœ ์ €์žฅ / sql server์—์„œ๋Š” ๋นˆ๋ฌธ์ž์—ด ๊ทธ๋Œ€๋กœ ์ €์žฅ๋˜์–ด 

4๋ฒˆ์€ null์ด ์•„๋‹ˆ์ž๋‚˜... ๊ทธ๋ž˜์„œ ์กฐํšŒ๊ฐ€ ์•ˆ๋ฉ๋‹ˆ๋‹ค...

 

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„ : NOT > AND > OR

 

null ์€ ํฌํ•จํ•˜์ง€ ์•Š๊ณ  ๊ณ„์‚ฐํ•˜๋ฉด

 

1. (20 + 0) / 2 = 10

2. (20 + null (x)) / 1  = 20

3. (20 + null (x)) / 1  = 20

 

NVL(๋Œ€์ƒ๋ฐ์ดํ„ฐ , NULL์ผ๋•Œ ๋ฐ์ดํ„ฐ)

๊ฐ’์ด null ์ธ ๊ฒฝ์šฐ, 2๋ฒˆ์งธ ์ง€์ •๊ฐ’์„ ์ถœ๋ ฅํ•˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋Œ€์ƒ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

SELECT TOP(3) WITH TIES ํŒ€๋ช…, ์Šน๋ฆฌ๊ฑด์ˆ˜   // TOP(3) ๋งŒ ์ ๋Š”๋‹ค๋ฉด ๊ทธ๋ƒฅ 3๊ฐœ๋งŒ ์ถœ๋ ฅ
	FROM ํŒ€๋ณ„ ์„ฑ์ 
    ORDER BY ์Šน๋ฆฌ๊ฑด์ˆ˜ DESC;

 

=> 3๋ฒˆ์งธ ํ–‰๊ณผ ๋™์ผํ•œ ๊ฐ’์„ ๊ฐ€์ง„ ์ถ”๊ฐ€ ํ–‰์ด ์žˆ๋‹ค๋ฉด ์ด ํ–‰๋“ค๋„ ํฌํ•จ(SQL Server์—์„œ ์‚ฌ์šฉ)

 

SELECT ํŒ€๋ช…. ์Šน๋ฆฌ๊ฑด์ˆ˜
	FROM ํŒ€๋ณ„์„ฑ์ 
    WHERE ROWNM <= 3
    ORDER BY ์Šน๋ฆฌ๊ฑด์ˆ˜ DESC;

 

=> 3๋ฒˆ์งธ ํ–‰๊ณผ ๋™์ผํ•œ ๊ฐ’์„ ๊ฐ€์ง€ ์ถ”๊ฐ€ํ–‰์ด ์žˆ๋”๋ผ๋„ ํฌํ•จ x (Oracle์—์„œ ์‚ฌ์šฉ)

=> Oracle์—์„œ์„œ TOP(3) WITH TIES์™€ ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด DENSE_RANK()์˜ ์œˆ๋„์šฐ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

 

 

RANK()์™€ DENSE_RANK()์˜ ์ฐจ์ด....

 

EmployeeIDNameSalary

1 Alice 5000
2 Bob 4000
3 Carol 4000
4 Dave 3000
5 Eve 2000

RANK() ์‚ฌ์šฉ ์˜ˆ์‹œ

SELECT *
FROM (
    SELECT e.*, RANK() OVER (ORDER BY Salary DESC) AS rnk
    FROM Employees e
)
WHERE rnk <= 3;

 

EmployeeIDNameSalaryrnk

EmployeeID Name Salary rank
1 Alice 5000 1
2 Bob 4000 2
3 Carol 4000 2
4 Dave 3000 4

 

RANK() ํ•จ์ˆ˜๋Š” Salary๊ฐ€ ๊ฐ™์€ Bob๊ณผ Carol์—๊ฒŒ ๋™์ผํ•œ 2์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•˜๊ณ , ๋‹ค์Œ ์ˆœ์œ„์ธ 3์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  4๋ฅผ Dave์—๊ฒŒ ๋ถ€์—ฌ

DENSE_RANK() ์‚ฌ์šฉ ์˜ˆ์‹œ

SELECT *
FROM (
    SELECT e.*, DENSE_RANK() OVER (ORDER BY Salary DESC) AS rnk
    FROM Employees e
)
WHERE rnk <= 3;

 

EmployeeIDNameSalaryrnk

1 Alice 5000 1
2 Bob 4000 2
3 Carol 4000 2
4 Dave 3000 3

DENSE_RANK() ํ•จ์ˆ˜๋Š” Salary๊ฐ€ ๊ฐ™์€ Bob๊ณผ Carol์—๊ฒŒ ๋™์ผํ•œ 2์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•˜๊ณ , ๋‹ค์Œ ์ˆœ์œ„๋ฅผ 3์œผ๋กœ ๋ถ€์—ฌํ•˜์—ฌ ์—ฐ์†์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

 

  • RANK(): ๋™์ผํ•œ ๊ฐ’์„ ๊ฐ€์ง„ ํ–‰๋“ค์ด ์žˆ์œผ๋ฉด ์ˆœ์œ„์— ๊ณต๋ฐฑ์ด ์ƒ๊น๋‹ˆ๋‹ค.
  • DENSE_RANK(): ๋™์ผํ•œ ๊ฐ’์„ ๊ฐ€์ง„ ํ–‰๋“ค์ด ์žˆ๋”๋ผ๋„ ์ˆœ์œ„์— ๊ณต๋ฐฑ์ด ์ƒ๊ธฐ์ง€ ์•Š๊ณ  ์—ฐ์†์ ์œผ๋กœ ๋ถ€์—ฌ๋ฉ๋‹ˆ๋‹ค.

 

๋‹จ, auto commit์€ false๋กœ ์„ค์ • ๋˜์–ด ์žˆ๋‹ค๋Š” ๋ง์€ sql server๋ผ๋Š” ๋ง..

oracle์€ ์ˆ˜์ •ํ›„์— createํ•˜๋ฉด ์ž๋™์œผ๋กœ ์ €์žฅ๋œ๋‹ค

    

ํ—ท๊ฐˆ๋ฆฌ๊ธฐ ์‰ฌ์šด ๋ฌธ์ œ...

ROWNUM ์„ ์ •๋ ฌ ์ „์— ์“ฐ๋ฉด ์•„๋ฌด ์˜๋ฏธ ์—†๋‹ค....

์ •๋‹ต์€ 3๋ฒˆ

 

' \d+', 'xxx', 1, 2 => ๋ฌธ์ž๋ฅผ xxx๋กœ ๋ฐ”๊พธ๋Š”๋ฐ ์ฒ˜์Œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ 2๋ฒˆ์งธ ์œ„์น˜๊บผ๋ฅผ REPLACE ๋ฐ”๊ฟ”๋ผ

 

 

*** ๋…ธ๋žญ์ด ๋ชจ๋ฅด๋Š”๊ฑฐ

 

TCL :  ๋…ผ๋ฆฌ์ ์ธ ์ž‘์—…์˜ ๋‹จ์œ„๋ฅผ ๋ฌถ์–ด DML์— ์˜ํ•ด ์กฐ์ž‘๋œ ๊ฒฐ๊ณผ๋ฅผ ์ž‘์—… ๋‹จ์œ„(Transaction) ๋ณ„๋กœ ์ œ์–ดํ•˜๋Š” ๋ช…๋ น์–ด์ธ Commit, Rollback, Savepoint ๋“ฑ์ด ์—ฌ๊ธฐ์— ํ•ด๋‹นํ•˜๋ฉฐ, ์ผ๋ถ€์—์„œ๋Š” DCL๋กœ ๋ถ„๋ฅ˜ํ•˜๊ธฐ๋„ ํ•œ๋‹ค

 

UNIQUE๋Š” NULL ์ž…๋ ฅ์ด ๊ฐ€๋Šฅํ•˜๋‹ค!!! PK๋Š” ๋ถˆ๊ฐ€๋Šฅํ•จ ใ…‹ใ…‹ใ…‹

 

 

****  ๋…ธ๋žญ์ด ์ •๋ฆฌ

 

๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง

1. ๊ฐœ๋…์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง : ์ถ”์ƒํ™” ์ˆ˜์ค€์ด ๋†’๊ณ  ์—…๋ฌด์ค‘์‹ฌ์ ์ด๊ณ  ํฌ๊ด„์ ์ธ ์ˆ˜์ค€์˜ ๋ชจ๋ธ๋ง ์ง„ํ–‰, ์ „์‚ฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง, EA ์ˆ˜๋ฆฝ์‹œ ๋งŽ์ด ์ด์šฉ

2. ๋…ผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง : ์‹œ์Šคํ…œ์œผ๋กœ ๊ตฌ์ถ•ํ•˜๊ณ ์ž ํ•˜๋Š” ์—…๋ฌด์— ๋Œ€ํ•ด Key ์†์„ฑ, ๊ด€๊ณ„ ๋“ฑ์„ ์ •ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„, ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’์Œ

3. ๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง : ์‹ค์ œ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ด์‹ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ฑ๋Šฅ, ์ €์žฅ ๋“ฑ ๋ฌผ๋ฆฌ์ ์ธ ์„ฑ๊ฒฉ์„ ๊ณ ๋ คํ•˜์—ฌ ์„ค๊ณ„ 

 

 

๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์„ ํ•˜๋Š” ์ฃผ์š”ํ•œ ์ด์œ 

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

2. ๋ถ„์„๋œ ๋ชจ๋ธ์„ ๊ฐ€์ง€๊ณ  ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ฐœ๋ฐœ ๋ฐ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ์— ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ

 

=> ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์ด๋ผ๋Š” ๊ฒƒ์€ ๋‹จ์ง€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋งŒ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ ์“ฐ์ด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ฐ์ดํ„ฐ๋ชจ๋ธ๋ง ์ž์ฒด๋กœ์„œ ์—…๋ฌด๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ๋ถ„์„ํ•˜๋Š” ๋ถ€๋ถ„์—์„œ๋„ ๋งค์šฐ ์ค‘์š”ํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง

 

๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์œ ์˜์  : ์ค‘๋ณต, ๋น„์œ ์—ฐ์„ฑ, ๋น„์ผ๊ด€์„ฑ

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๊ตฌ์กฐ 3๋‹จ๊ณ„

- ์™ธ๋ถ€ ์Šคํ‚ค๋งˆ : ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ถ€๋ถ„์  ๋ทฐ๋ฅผ ์ •์˜

- ๊ฐœ๋… ์Šคํ‚ค๋งˆ : ํ†ตํ•ฉ ๊ด€์ ์˜ ์Šคํ‚ค๋งˆ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•œ ๊ฒƒ์œผ๋กœ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์€ ํ†ตํ•ฉ๊ด€์ ์˜ ๋ทฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐœ๋… ์Šคํ‚ค๋งˆ๋ฅผ ๋งŒ๋“ค์–ด๊ฐ€๋Š” ๊ณผ์ •์ž„.

- ๋‚ด๋ถ€ ์Šคํ‚ค๋งˆ : ๋ฐ์ดํ„ฐ์˜ ๋ฌผ๋ฆฌ์  ์ €์žฅ ๊ตฌ์กฐ๋ฅผ ์ •์˜

 

ERD ์ž‘์„ฑ ์ˆœ์„œ

1. ์—”ํ„ฐํ‹ฐ๋ฅผ ๊ทธ๋ฆฐ๋‹ค

2. ์—”ํ„ฐํ‹ฐ๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ๋ฐฐ์น˜ํ•œ๋‹ค

3. ์—”ํ„ฐํ‹ฐ ๊ฐ„ ๊ด€๊ณ„๋ฅผ ์„ค์ •ํ•œ๋‹ค

4. ๊ด€๊ณ„๋ช…์„ ๊ธฐ์ˆ ํ•œ๋‹ค

5, ๊ด€๊ณ„์˜ ์ฐธ์—ฌ๋„๋ฅผ ๊ธฐ์ˆ ํ•œ๋‹ค

6. ๊ด€๊ณ„์˜ ํ•„์ˆ˜์—ฌ๋ถ€๋ฅผ ๊ธฐ์ˆ ํ•œ๋‹ค

 

์—”ํ„ฐํ‹ฐ์˜ ํŠน์ง•

1.๋ฐ˜๋“œ์‹œ ํ•ด๋‹น ์—…๋ฌด์—์„œ ํ•„์š”ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ณ ์ž ํ•˜๋Š” ์ •๋ณด์—ฌ์•ผ ํ•œ๋‹ค

2. ์œ ์ผํ•œ ์‹๋ณ„์ž์— ์˜ํ•ด ์‹๋ณ„์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค

3. ์˜์†์ ์œผ๋กœ ์กด์žฌํ•˜๋Š” (๋‘๊ฐœ ์ด์ƒ์˜)์ธ์Šคํ„ด์Šค์˜ ์ง‘ํ•ฉ์ด์–ด์•ผ ํ•œ๋‹ค

4. ์—”ํ„ฐํ‹ฐ๋Š” ์—…๋ฌด ํ”„๋กœ์„ธ์Šค์— ์˜ํ•ด ์ด์šฉ๋˜์–ด์•ผ ํ•œ๋‹ค

5. ์—”ํ„ฐํ‹ฐ๋Š” ๋ฐ˜๋“œ์‹œ ์†์„ฑ์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค

6. ์—”ํ„ฐํ‹ฐ๋Š” ๋‹ค๋ฅธ ์—”ํ„ฐํ‹ฐ์™€ ์ตœ์†Œ ํ•œ ๊ฐœ ์ด์ƒ์˜ ๊ด€๊ณ„์•ผ ์žˆ์–ด์•ผ ํ•œ๋‹ค 

 

๊ธฐ๋ณธ์—”ํ„ฐํ‹ฐ(ํ‚ค์—”ํ„ฐํ‹ฐ) 

- ์›๋ž˜ ์กด์žฌํ•˜๋Š” ์ •๋ณด๋กœ์„œ ๋‹ค๋ฅธ ์—”ํ„ฐํ‹ฐ์™€์˜ ๊ด€๊ณ„์— ์˜ํ•ด ์ƒ์„ฑ๋˜์ง€ ์•Š๊ณ  ๋…๋ฆฝ์ ์œผ๋กœ ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๊ณ  ์ž์‹ ์€ ํƒ€ ์—”ํ„ฐํ‹ฐ์˜ ๋ถ€๋ชจ์˜ ์—ญํ• ์„ ํ•˜๊ฒŒ ๋œ๋‹ค

- ๋‹ค๋ฅธ ์—”ํ„ฐํ‹ฐ๋กœ๋ถ€ํ„ฐ ์ฃผ์‹๋ณ„์ž๋ฅผ ์ƒ์†๋ฐ›์ง€ ์•Š๊ณ  ์ž์‹ ์˜ ๊ณ ์œ ํ•œ ์ฃผ์‹๋ณ„์ž๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค

- ์˜ˆ๋ฅผ ๋“ค์–ด ์‚ฌ์›, ๋ถ€์„œ, ๊ณ ๊ฐ...

-  vs) ์ค‘์‹ฌ์—”ํ„ฐํ‹ฐ(๋ฉ”์ธ์—”ํ„ฐํ‹ฐ) : ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์—์„œ ๋‹ค๋ฅธ ์—ฌ๋Ÿฌ ์—”ํ„ฐํ‹ฐ์™€ ๊ด€๊ณ„๋ฅผ ๋งบ๋Š” ์ค‘์‹ฌ์ ์ธ ์—ญํ• ์„ ํ•˜๋Š” ์—”ํ„ฐํ‹ฐ๋กœ ์—ฌ๋Ÿฌ ์—”ํ„ฐํ‹ฐ์™€์˜ ๊ด€๊ณ„๋ฅผ ๋งบ๊ณ  ๊ด€๊ณ„๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•œ๋‹ค

 

์†์„ฑ(Attribute) 

: ์—…๋ฌด์—์„œ ํ•„์š”๋กœ ํ•˜๋Š” ์ธ์Šคํ„ด์Šค์—์„œ ๊ด€๋ฆฌํ•˜๊ณ ์ž ํ•˜๋Š” ์˜๋ฏธ์ƒ ๋” ์ด์ƒ ๋ถ„๋ฆฌ๋˜์ง€ ์•Š๋Š” ์ตœ์†Œ์˜ ๋ฐ์ดํ„ฐ ๋‹จ์œ„

=> ์—…๋ฌด์ƒ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ตœ์†Œ์˜ ์˜๋ฏธ ๋‹จ์œ„(์—”ํ„ฐํ‹ฐ์˜ ํ•œ ๋ถ„์•ผ)

 

์†์„ฑ์˜ ํŠน์„ฑ์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜

- ๊ธฐ๋ณธ์†์„ฑ :  ์—”ํ„ฐํ‹ฐ๊ฐ€ ๋ณธ์งˆ์ ์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์†์„ฑ('๊ณ ๊ฐ' ์—”ํ„ฐํ‹ฐ์˜  '์ด๋ฆ„', '์ฃผ์†Œ', '์ „ํ™”๋ฒˆํ˜ธ')

- ์„ค๊ณ„ ์†์„ฑ : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„๋ฅผ ์œ„ํ•ด ์ถ”๊ฐ€๋œ ์†์„ฑ('์ฃผ๋ฌธ' ์—”ํ„ฐํ‹ฐ์˜ '์ฃผ๋ฌธ๋ฒˆํ˜ธ', '๊ณ ๊ฐID')

- ํŒŒ์ƒ ์†์„ฑ : ๋‹ค๋ฅธ ์†์„ฑ ๊ฐ’์—์„œ ๊ณ„์‚ฐ๋˜๊ฑฐ๋‚˜ ์œ ๋„๋˜๋Š” ์†์„ฑ, ์กฐํšŒํ•  ๋•Œ ๋น ๋ฅธ ์„ฑ๋Šฅ์„ ๋‚ด๋„๋ก ํ•จ('์ฃผ๋ฌธ' ์—”ํ„ฐํ‹ฐ์˜ ์ด๊ธˆ์•ก)

 

 ์†์„ฑ์˜ ๋„๋ฉ”์ธ

:  ๊ฐ ์†์„ฑ์€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ’์˜ ๋ฒ”์œ„๊ฐ€ ์žˆ๋Š”๋ฐ ์ด๋ฅผ ์†์„ฑ์˜ ๋„๋ฉ”์ธ์ด๋ผํ•˜๋ฉฐ, ์—”ํ„ฐํ‹ฐ ๋‚ด์—์„œ ์†์„ฑ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐํƒ€์ž…๊ณผ ํฌ๊ธฐ ๊ทธ๋ฆฌ๊ณ  ์ œ์•ฝ์‚ฌํ•ญ์„ ์ €์žฅํ•˜๋Š” ๊ฒƒ

 

๋‘๊ฐœ์˜ ์—”ํ„ฐํ‹ฐ ์‚ฌ์ด์— ์ฒดํฌํ•ด์•ผ ํ•  ์‚ฌํ•ญ

1. ๋‘ ๊ฐœ์˜  ์—”ํ„ฐํ‹ฐ ์‚ฌ์ด์— ๊ด€์‹ฌ์žˆ๋Š” ์—ฐ๊ด€๊ทœ์น™์ด ์กด์žฌํ•˜๋Š”๊ฐ€?

2. ๋‘ ๊ฐœ์œ ์—”ํ„ฐํ‹ฐ ์‚ฌ์ด์— ์ •๋ณด์˜ ์กฐํ•ฉ์ด ๋ฐœ์ƒํ•˜๋Š”๊ฐ€?

3. ์—…๋ฌด๊ธฐ์ˆ ์„œ, ์žฅํ‘œ์— ๊ด€๊ณ„์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ๊ทœ์น™์ด ์„œ์ˆ ๋˜์–ด ์žˆ๋Š”๊ฐ€?

4. ์—…๋ฌด๊ธฐ์ˆ ์„œ, ์žฅํ‘œ์— ๊ด€๊ณ„์—ฐ๊ฒฐ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๋™์‚ฌ๊ฐ€ ์žˆ๋Š”๊ฐ€?

 

์ฃผ์‹๋ณ„์ž๋ฅผ ์ €์žฅํ•  ๋•Œ ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ

- ์ฃผ์‹๋ณ„์ž์— ์˜ํ•ด ์—”ํ„ฐํ‹ฐ๋‚ด์— ๋ชจ๋“  ์ธ์Šคํ„ด์Šค๋“ค์ด ์œ ์ผํ•˜๊ฒŒ ๊ตฌ๋ถ„๋˜์–ด์•ผ ํ•œ๋‹ค(์œ ์ผ์„ฑ)

- ์ฃผ์‹๋ณ„์ž๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์†์„ฑ์˜ ์ˆ˜๋Š” ์œ ์ผ์„ฑ์„ ๋งŒ์กฑํ•˜๋Š” ์ตœ์†Œ์˜ ์ˆ˜๊ฐ€ ๋˜์–ด์•ผ ํ•œ๋‹ค(์ตœ์†Œ์„ฑ)

- ์ง€์ •๋œ ์ฃผ์‹๋ณ„์ž์˜ ๊ฐ’์€ ์ž์ฃผ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด์–ด์•ผ ํ•œ๋‹ค(๋ถˆ๋ณ€์„ฑ)

- ์ฃผ์‹๋ณ„์ž๊ฐ€ ์ง€์ •์ด ๋˜๋ฉด ๋ฐ˜๋“œ์‹œ ๊ฐ’์ด ๋“ค์–ด์™€์•ผ ํ•œ๋‹ค(์กด์žฌ์„ฑ)                                                                                                                                                                                                                                                                              

์‹๋ณ„์ž์˜ ์ข…๋ฅ˜

- ์—”ํ„ฐํ‹ฐ ๋‚ด์—์„œ ๋Œ€ํ‘œ์„ฑ์„ ๊ฐ€์ง€๋Š”๊ฐ€์— ๋”ฐ๋ผ ์ฃผ์‹๋ณ„์ž์™€ ๋ณด์กฐ์‹๋ณ„์ž๋กœ ๊ตฌ๋ถ„

- ์—”ํ„ฐํ‹ฐ ๋‚ด์—์„œ ์Šค์Šค๋กœ ์ƒ์„ฑ๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‚ด๋ถ€์‹๋ณ„์ž์™€ ์™ธ๋ถ€์‹๋ณ„์ž๋กœ ๊ตฌ๋ถ„

- ๋‹จ์ผ ์†์„ฑ์œผ๋กœ ์‹๋ณ„์ด ๋˜๋Š”๊ฐ€์— ๋”ฐ๋ผ ๋‹จ์ผ์‹๋ณ„์ž์™€ ๋ณตํ•ฉ ์‹๋ณ„์ž๋กœ ๊ตฌ๋ถ„

- ์›๋ž˜ ์—…๋ฌด์ ์œผ๋กœ ์˜๋ฏธ๊ฐ€ ์žˆ๋˜ ์‹๋ณ„์ž ์†์„ฑ์„ ๋Œ€์ฒดํ•˜์—ฌ ์ผ๋ จ๋ฒˆํ˜ธ์™€ ๊ฐ™์ด ์ƒˆ๋กญ๊ฒŒ ๋งŒ๋“  ์‹๋ณ„์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ณธ์งˆ์‹๋ณ„์ž์™€ ์ธ์กฐ์‹๋ณ„์ž๋กœ ๊ตฌ๋ถ„

 

์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์ˆ˜ํ–‰ ์ ˆ์ฐจ์— ๋Œ€ํ•œ ์„ค๋ช…..

1. ๋ฐ์ดํ„ฐ๋ชจ๋ธ๋ง์„ ํ•  ๋•Œ ์ •๊ทœํ™”๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์ˆ˜ํ–‰

2. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์šฉ๋Ÿ‰์‚ฐ์ •์„ ์ˆ˜ํ–‰

3. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐœ์ƒ๋˜๋Š” ํŠธ๋žœ์žญ์…˜์˜ ์œ ํ˜•์„ ํŒŒ์•…

4. ์šฉ๋Ÿ‰๊ณผ ํŠธ๋žœ์žญ์…˜ ์œ ํ˜•์— ๋”ฐ๋ผ ๋ฐ˜์ •๊ทœํ™”๋ฅผ ์ˆ˜ํ–‰

5. ์ด๋ ฅ๋ชจ๋ธ์˜ ์กฐ์ •, PK/FK ์กฐ์ •, ์Šˆํผ ํƒ€์ž…/์„œ๋ธŒํƒ€์ž… ์กฐ์ • ๋“ฑ์„ ์ˆ˜ํ–‰

6. ์„ฑ๋Šฅ๊ด€์ ์—์„œ ๋ฐ์ดํ„ฐ๋ชจ๋ธ์„ ๊ฒ€์ฆ                                                                                                                                         

 

 

 

728x90
๋ฐ˜์‘ํ˜•
728x90
๋ฐ˜์‘ํ˜•

2023 ๊ธฐ์ถœ..

 

JavaScript ๋ฅผ ์‚ฌ์šฉํ•œ ๋น„๋™๊ธฐ ํ†ต์‹ ๊ธฐ์ˆ ๋กœ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์— XML๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ์ „์ฒด ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ ๊ณ ์น˜์ง€ ์•Š๊ณ ๋„ ํŽ˜์ด์ง€์˜ ์ผ๋ถ€๋งŒ์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œ ํ•  ์ˆ˜ ์žˆ์–ด, ๋ฉ”๋‰ด ๋“ฑ ํ™”๋ฉด์ƒ์˜ ๊ฐ์ฒด๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์›€์ง์ด๊ณ  ๋‹คํˆด ์ˆ˜ ์žˆ๋‹ค. ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์˜ ์•กํ‹ฐ๋ธŒX ๋‚˜ ํ”Œ๋ž˜์‹œ ๋“ฑ์— ๋น„ํ•ด ๊ฐ€๋ณ๊ณ  ์†๋„๊ฐ€ ๋นจ๋ผ ์ฐจ์„ธ๋Œ€ ์›น ๊ธฐ์ˆ ๋กœ ๊ฐ๊ด‘๋ฐ›๊ณ  ์žˆ๋‹ค.

:AJAX(Asynchronmous JavaScript and XML, ๋น„๋™๊ธฐ์‹ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ XML)

 

 

 

์‹œ์Šค์ฝ”์˜ L2F์™€ PPTP ์„ ์กฐํ•ฉํ•˜์—ฌ ๋งŒ๋“  VPN์ด๋‹ค. ์ž์ฒด์ ์œผ๋กœ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ณดํ†ต IPsec๊ณผ ๊ฐ™์€ ๋ณด์•ˆ์šฉ ํ”„๋กœํ† ์ฝœ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ PPTP ๋ฐฉ์‹์„ ๋”ฐ๋ฅด๊ธฐ ๋•Œ๋ฌธ์—, ์„œ๋ฒ„-ํด๋ผ์ด์–ธํŠธ ํ†ต์‹  ๋ฐฉ์‹์€ ์œ ์‚ฌํ•˜๋‚˜ UDP 500๋ฒˆ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•ด ํ†ต์‹ ์„ ํ•œ๋‹ค๋Š” ์ ์ด PPTP์™€ ์กฐ๊ธˆ ๋‹ค๋ฅด๋‹ค. ๋”ฐ๋ผ์„œ NAT ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ ๋ฐฉํ™”๋ฒฝ์— ์‰ฝ๊ฒŒ ์ฐจ๋‹จ๋  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋†’์€ ๋ณด์•ˆ์„ฑ๊ณผ ์„ค์น˜ ๋ฐ’ ์„ค์ •์ด ๊ฐ„๋‹จํ•˜๊ณ  ๋น ๋ฅธ ์†๋„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์žฅ์ ์ด ์žˆ๋‹ค,

- ๋ฐ์ดํ„ฐ๋งํฌ ๊ณ„์ธต์—์„œ ๊ตฌํ˜„๋˜๋Š” ํ„ฐ๋„๋ง(๋‘ ๋…ธ๋“œ ๋˜๋Š” ๋„คํŠธ์›Œํฌ ๊ฐ„ ๊ฐ€์ƒ์˜ ๋งํฌ๋ฅผ ํ˜•์„ฑํ•˜๋Š” ๊ธฐ๋ฒ•) ๊ธฐ์ˆ 

: L2TP

 

 

 

๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ ์›๊ฒฉ ํ˜ธ์ŠคํŠธ ์—ฐ๊ฒฐ ๊ณผ์ •์„ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ

: SSH(Secure Shell, ์‹œํ์–ด ์‰˜)

 

 

 

ํฌํŠธ : ์ปดํ“จํ„ฐ ๊ฐ„ ์ƒํ˜ธ ํ†ต์‹ ์„ ์œ„ํ•ด ํ”„๋กœํ† ์ฝœ์—์„œ ์ด์šฉํ•˜๋Š” ๊ฐ€์ƒ์˜ ์—ฐ๊ฒฐ๋‹จ

- ์ปดํ“จํ„ฐ๋Š” ๋™์‹œ์— ํ•˜๋‚˜ ์ด์ƒ์˜ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ธฐ  ๋–„๋ฌธ์—  IP์ฃผ์†Œ๋งŒ์œผ๋กœ๋Š” ํŠน์ง• ์„œ๋น„์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ

ํฌํŠธ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์„œ๋น„์Šค์— ํ• ๋‹น๋  ์ˆ˜ ์žˆ๊ณ , ์›ํ•˜๋Š” ์„œ๋น„์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

- ์ž˜ ์•Œ๋ ค์ง„ ํฌํŠธ

ํฌํŠธ ์„ค๋ช… ํฌํŠธ ์„ค๋ช…
20 FTP - ๋ฐ์ดํ„ฐ ํฌํŠธ 21 FTP - ์ œ์–ด ํฌํŠธ
22 SSH - ์›๊ฒฉ ์ ‘์† ๋ณด์•ˆ 23 TELNET - ์›๊ฒฉ ์ ‘์†
25 SMTP - ์ด๋ฉ”์ผ ์ „์†ก 80 HTTP - ์›น ํŽ˜์ด์ง€ ์ „์†ก
110 POP3 - ์ด๋ฉ”์ผ ์ˆ˜์‹  443 HTTPS - ์•”ํ˜ธํ™” ์ „์†ก

 

 

 

์•…์„ฑ ๋ฃจํ‹ด์ด ์ˆจ์–ด ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ, ๊ฒ‰๋ณด๊ธฐ์—๋Š” ์ •์ƒ์ ์ธ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ณด์ด์ง€๋งŒ ์‹คํ–‰ํ•˜๋ฉด ์•…์„ฑ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

- ์ปดํ“จํ„ฐ ๋ฐ”์ด๋Ÿฌ์Šค๋‚˜ ์›œ๊ณผ๋Š” ๋‹ฌ๋ฆฌ, ํŠธ๋กœ์ด ๋ชฉ๋งˆ๋Š” ๋ณดํ†ต ๋‹ค๋ฅธ ํŒŒ์ผ์— ์‚ฝ์ž…๋˜๊ฑฐ๋‚˜ ์Šค์Šค๋กœ ์ „ํŒŒ๋˜์ง€ ์•Š๋Š”๋‹ค.

: ํŠธ๋กœ์ด ๋ชฉ๋งˆ

 

 

 

์Šค์Šค๋กœ๋ฅผ ๋ณต์ œํ•˜์—ฌ ํŒŒ์ผ์„ ์†์ƒ์‹œํ‚ค๋Š” ์•…์„ฑ ํ”„๋กœ๊ทธ๋žจ

- ๋‹ค๋ฅธ ์‹คํ–‰ ํ”„๋กœ๊ทธ๋žจ์— ๊ธฐ์ƒํ•˜์—ฌ ์‹คํ–‰

- CD,. USB ๋“œ๋ผ์ด๋ฒ„ ๋“ฑ์„ ํ†ตํ•ด ์ „ํŒŒ => ์Šค์Šค๋กœ ์ „ํŒŒ ๋ถˆ๊ฐ€๋Šฅ

: ๋ฐ”์ด๋Ÿฌ์Šค

 

 

 

์Šค์Šค๋กœ๋ฅผ ๋ณต์ œํ•˜์—ฌ ๋„คํŠธ์›Œํฌ๋ฅผ ์†์ƒ์‹œํ‚ค๋Š” ์•…์„ฑ ํ”„๋กœ๊ทธ๋žจ

- ๋…์ž์ ์œผ๋กœ ์‹คํ–‰๋˜์–ด ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Œ

- ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์ œ๋ณธ์„ ์Šค์Šค๋กœ ์ „ํŒŒ

: ์›œ

 

 

 

TCP/IP์—์„œ ์‹ ๋ขฐ์„ฑ ์—†๋Š” IP๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ์†ก์‹  ์ธก์œผ๋กœ ๋„คํŠธ์›Œํฌ์˜ IP ์ƒํƒœ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌํ•ด์ฃผ๋Š” ํ”„๋กœํ† ์ฝœ

- ์„œ๋ฒ„์™€ ๊ฒŒ์ดํŠธ์›จ์ด ์‚ฌ์ด์—์„œ ๋ฉ”์‹œ์ง€๋ฅผ ์ œ์–ดํ•˜๊ณ  ์•Œ๋ ค์ฃผ๋Š” ํ”„๋กœํ† ์ฝœ

: ICMP 

 

 

 

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

: Proxy

 

 

์ƒ์„ฑ ๋‹จ๊ณ„๋ฅผ ์บก์Šํ™”ํ•˜์—ฌ ๊ตฌ์ถ• ๊ณต์ ์„ ๋™์ผํ•˜๊ฒŒ ์ด์šฉํ•˜๋„๋ก ํ•˜๋Š” ํŒจํ„ด

: Builder(๋นŒ๋”)

 

 

 

๊ตฌํ˜„๋ถ€์—์„œ ์ถ”์ƒ์ธต์„ ๋ถ„๋ฆฌํ•˜์—ฌ  ๊ฐ์ž ๋…๋ฆฝ์ ์œผ๋กœ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒํ•˜์—ฌ ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถ˜ ํŒจํ„ด

:Bridge(๋ธŒ๋ฆฟ์ง€)

 

 

ํ•œ ๊ฐ์ฒด์˜ ์ƒํƒœ ๋ณ€ํ™”๊ฐ€ ์ผ์–ด๋‚ฌ์„ ๋•Œ ๊ทธ ๊ฐ์ฒด์— ์˜์กด(์ƒ์†)ํ•˜๋Š” ๋‹ค๋ฅธ ๊ฐ์ฒด๋“ค์—๊ฒŒ ์•Œ๋ฆฌ๊ณ , ์ž๋™์œผ๋กœ ๋‚ด์šฉ์ด ๊ฐฑ์‹ ๋˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ผ๋Œ€๋‹ค(One-To-Many)์˜์กด์„ฑ์„ ๊ฐ€์ง€๋Š” ํŒจํ„ด

:Observer(์˜ต์ €๋ฒ„)

 

 

*** db ์š”์†Œ๋“ค

๋ฆด๋ ˆ์ด์…˜ ์ธ์Šคํ„ด์Šค :  ํŠœํ”Œ๋“ค์˜ ์ง‘ํ•ฉ(๋ฆด๋ ˆ์ด์…˜ ์‹ค์ œ๊ฐ’)

๋„๋ฉ”์ธ : ํ•œ ์†์„ฑ์— ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๋Š” ๊ฐ’๋“ค์˜ ๋ฒ”์œ„

ํŠœํ”Œํ–‰(Row)

์ฐจ์ˆ˜ : ์†์„ฑ๋“ค์˜ ์ˆ˜

๋ฆด๋ ˆ์ด์…˜ ์Šคํ‚ค๋งˆ : ์†์„ฑ ์ด๋ฆ„๋“ค(๋ฆด๋ ˆ์ด์…˜ ํ‹€, ๊ตฌ์กฐ)

์นด๋””๋„๋ฆฌํ‹ฐ : ํŠœํ”Œ๋“ค์˜ ์ˆ˜

 

 

 

*** ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ

์™ธ๋ถ€ ์Šคํ‚ค๋งˆ : ๊ฐœ๋… ์‚ฌ์šฉ์ž๋‚˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ ‘๊ทผํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋…ผ๋ฆฌ์  ๊ตฌ์กฐ๋ฅผ ์ •์˜

๊ฐœ๋… ์Šคํ‚ค๋งˆ : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ „์ฒด์ ์ธ ๋…ผ๋ฆฌ์  ๊ตฌ์กฐ๋กœ, ๊ฐœ์ฒด๊ฐ„์˜ ๊ด€๊ณ„์™€ ์ œ์•ฝ์กฐ๊ฑด์„ ๋‚˜ํƒ€๋ƒ„

๋‚ด๋ถ€ ์Šคํ‚ค๋งˆ : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฌผ๋ฆฌ์  ๊ตฌ์กฐ๋กœ, ๋ฐ์ดํ„ฐ์˜ ์‹ค์ œ ์ €์žฅ ๋ฐฉ๋ฒ•์„ ๊ธฐ์ˆ 

 

 

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ ์ˆœ์„œ(์š”๊ดด๋ˆˆ๋ฌผ)

์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„ -> ๊ฐœ๋…์  ์„ค๊ณ„ -> ๋…ผ๋ฆฌ์  ์„ค๊ณ„ -> ๋ฌผ๋ฆฌ์  ์„ค๊ณ„ -> ๊ตฌํ˜„

 

 

 

DROP VIEW ๊ณ ๊ฐ CASCADE

: [๊ณ ๊ฐ] ๋ทฐ๋ฅผ ์‚ญ์ œํ•˜๊ณ , [๊ณ ๊ฐ] ๋ทฐ์™€ ์˜์กด์„ฑ ๊ด€๊ณ„๊ฐ€ ์žˆ๋Š” ๊ฐ์ฒด๋“ค์„ ๋ชจ๋‘ ์‚ญ์ œ\

 

 

 

๋Œ€์นญํ‚ค(=๊ฐœ์ธํ‚ค, Private) ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ์•”ํ˜ธํ™” ํ‚ค = ๋ณตํ˜ธํ™” ํ‚ค

- ์ข…๋ฅ˜ : LFSR, RC4, SEED. AES, DES. ARIA,

 

 

 

๋น„๋Œ€์นญํ‚ค(=๊ณต๊ฐœํ‚ค, Public) ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ์•”ํ˜ธํ™” ํ‚ค <> ๋ณตํ˜ธํ™” ํ‚ค

- ์ข…ํœด : RSA, ECC 

 

 

 

**์ฝ”๋“œ ์ปค๋ฒ„๋ฆฌ์ง€

๊ตฌ๋ฌธ ์ปค๋ฒ„๋ฆฌ์ง€ : ๋ชจ๋“  ๊ตฌ๋ฌธ์ด ํ•œ ๋ฒˆ ์ด์ƒ ์ˆ˜ํ–‰๋˜๋„๋ก ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์„ค๊ณ„

๋‹ค์ค‘ ์กฐ๊ฑด ์ปค๋ฒ„๋ฆฌ์ง€ : ๊ฒฐ์ • ํฌ์ธํŠธ ๋‚ด์— ์žˆ๋Š” ๋ชจ๋“  ๊ฐœ๋ณ„ ์กฐ๊ฑด์‹์˜ ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ๋…ผ๋ฆฌ์ ์ธ ์กฐํ•ฉ์„ ๊ณ ๋ คํ•˜์—ฌ 100%์ปค๋ฒ„๋ฆฌ์ง€ ๋ณด์žฅ

๋ณ€ํ˜• ์กฐ๊ฑด/๊ฒฐ์ • ์ปค๋ฒ„๋ฆฌ์ง€ : ์กฐ๊ฑด๊ณผ ๊ฒฐ์ •์„ ๋ณตํ•ฉ์ ์œผ๋กœ ๊ณ ๋ คํ•œ ์ธก์ • ๋ฐฉ๋ฒ•์ด๋ฉฐ, ๊ฒฐ์ • ํฌ์ธํŠธ ๋‚ด์˜ ๋‹ค๋ฅธ ๊ฐœ๋ณ„์ ์ธ ์กฐ๊ฑด์‹ ๊ฒฐ๊ณผ์— ์ƒ๊ด€์—†์ด ๋…๋ฆฝ์ ์œผ๋กœ ์ „์ฒด ์กฐ๊ฑด์‹์˜ ๊ฒฐ๊ณผ์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€

๊ฒฐ์ • ์ปค๋ฒ„๋ฆฌ์ง€ : ๊ฒฐ์ • ํฌ์ธํŠธ ๋‚ด์˜ ๋ชจ๋“  ๋ถ„๊ธฐ๋ฌธ(์กฐ๊ฑด๋ฌธ)์ด ์ ์–ด๋„ ํ•œ ๋ฒˆ ์ด์ƒ ์ˆ˜ํ–‰๋˜๋„๋ก ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์„ค๊ณ„

์กฐ๊ฑด/๊ฒฐ์ • ์ปค๋ฒ„๋ฆฌ์ง€ : ๋ชจ๋“  ์กฐ๊ฑด๋ฌธ๊ณผ ๊ฐ ๊ฐœ๋ณ„ ์กฐ๊ฑด์‹์ด ์ ์–ด๋„ ํ•œ ๋ฒˆ ์ด์ƒ ์ˆ˜ํ–‰๋˜๋„๋ก ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์„ค๊ณ„

๊ฒฝ๋กœ ์ปค๋ฒ„๋ฆฌ์ง€ : ๋ชจ๋“  ๋…ผ๋ฆฌ์ ์ธ ๊ฒฝ๋กœ๊ฐ€ ํ•œ ๋ฒˆ ์ด์ƒ ์ˆ˜ํ–‰๋˜๋„๋ก ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์„ค๊ณ„

์กฐ๊ฑด ์ปค๋ฒ„๋ฆฌ์ง€ : ๊ฒฐ์ • ํฌ์ธํŠธ ๋‚ด์˜ ๋ชจ๋“  ๊ฐœ๋ณ„ ์กฐ๊ฑด์‹์ด ์ ์–ด๋„ ํ•œ ๋ฒˆ ์ด์ƒ ์ˆ˜ํ–‰๋˜๋„๋ก ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์„ค๊ณ„

 

 

 

 

 

 

 

Tampering(๋ถ€์ • ์กฐ์ž‘)๊ฒ€์ถœ ์‹œ์Šคํ…œ์„ ํ†ตํ•˜์—ฌ ์†Œํ”„ํŠธ์›จ์–ด์— ์ ์šฉ๋œ ์œ„,๋ณ€์กฐ๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ํ”„๋กœ๊ทธ๋žจ์ด ์˜ค์ž‘๋™ ํ•˜๋„๋ก ๋งŒ๋“œ๋Š” ๊ธฐ์ˆ 

: ํ…œํผ ํ”„๋ฃจํ•‘(Tamper Proofing)

 

 

 

์ธํ„ฐ๋„ท ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉ์ž ์ธ์ฆ์— ์‚ฌ์šฉ๋˜๋Š” ๊ณต๊ฐœ API(OpenAPI)๋กœ ๊ตฌํ˜„๋œ ํ‘œ์ค€ ์ธ์ฆ ๋ฐฉ๋ฒ•

- ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋„ค์ด๋ฒ„, ์นด์นด์˜คํ†ก, ๊ตฌ๊ธ€ ๋“ฑ์˜ ์ €์žฅ๋œ ์‚ฌ์šฉ์ž ์ •๋ณด์— ์ ‘๊ทผํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

- ex) ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— Google๋กœ ๋กœ๊ทธ์ธํ•˜๋ฉด ์—ฐ๋™๋œ ๊ณ„์ •์˜ Google Calendar  ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค

: OAuth(Open Authorization, ๊ณต๊ฐœ ์ธ์ฆ)

 

 

 

#include <stdio.h>
int main() {
	char*p = "KOREA";
    printf("%s\n", p);				// KOREA
    printf("%s\n", p+1);			// OREA
    printf("%c\n", *p);				// K
    printf("%c\n", *(p+3));			// E
    printf("%c\n", *p+4);			// O (์•„์Šคํ‚ค ์ฝ”๋“œ ๊ทœ์น™์— ๋”ฐ๋ผ *p(K = 75) + 4 = 79๋กœ ๊ณ„์‚ฐ)
}

 

 

 

 

๊ตฌ์กฐ์ฒด ํฌ์ธํ„ฐ ๋ณ€์ˆ˜๊ฐ€ ๊ตฌ์กฐ์ฒด ๋ฉค๋ฒ„์— ์ ‘๊ทผํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์—ฐ์‚ฐ์ž

: ํ™”์‚ดํ‘œ ์—ฐ์‚ฐ์ž(->)

 

 

 

 

** .super

: ์ƒ์œ„ ํด๋ž˜์Šค๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์˜ˆ์•ฝ์–ด

** this 

: ๊ฐ์ฒด ์ž๊ธฐ์ž์‹ ์„ ์˜๋ฏธํ•˜๋Š” ์˜ˆ์•ฝ์–ด

 

 

A b = new B();
A : ์ƒ์œ„ ํด๋ž˜์Šค
B : ํ•˜์œ„ ํด๋ž˜์Šค

** ์˜ค๋ฒ„๋ผ์ด๋”ฉ(Overriding)
:ํ•˜์œ„(์ž์‹) ํด๋ž˜์Šค์—์„œ ์ƒ์œ„(๋ถ€๋ชจ) ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์žฌ์ •์˜ ํ•˜๋Š” ๊ณผ์ •
- ํ•˜์œ„ ํด๋ž˜์Šค์˜ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ๋ฉ”์†Œ๋“œ๋Š” ์ƒ์œ„ ํด๋ž˜์Šค ๋ฉ”์†Œ๋“œ๋ณด๋‹ค ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’๋‹ค

 

 

 

                                                 

ATM(Asynchronous Transger Mode, ๋น„๋™๊ธฐ ์ „์†ก ๋ชจ๋“œ)

- ๊ธฐ์กด ํŒจํ‚ท๊ตํ™˜๋ฐฉ์‹๊ณผ ์œ ์‚ฌํ•˜๋‚˜, ํŒจํ‚ท ํฌ๊ธฐ๋ฅผ ์ผ์ •(์ƒCell)ํ•˜๊ฒŒ ํ•˜๊ณ  ์—๋Ÿฌ ๋ณต๊ตฌ ๋“ฑ์„ ๊ฐ„๋žตํ™”์‹œํ‚ด

- ATM ์ƒ๋“ค์„ ๋ชจ์•„์„œ -> ๋น„๋™๊ธฐ ์‹œ๋ถ„ํ•  ๋‹ค์ค‘ํ™”( ATDM)์ „์†กํ•  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฒ„ํผ์— ์šฐ์„  ์ €์žฅ  -> ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ ๋‹ค์ค‘ํ™” ์Šฌ๋กฏ(ATM ์ƒ๋“ค์˜ ์ „๋‹ฌ์—๋งŒ ๊ด€์—ฌ) ์— ์‚ฝ์ž…

 

 

 

 

*** ์ ‘๊ทผ ํ†ต์ œ(Access Control, ์ ‘๊ทผ ์ œ์–ด)

- ์ž„์˜ ์ ‘๊ทผ ํ†ต์ œ(DAC; Discretionary Access Control, ์‹ ๋ถ„ ๊ธฐ๋ฐ˜ ์ •์ฑ…)

: ์ž์›์— ์ ‘๊ทผํ•˜๋Š” ์‚ฌ์šฉ์ž์˜ ์‹ ์›์— ๋”ฐ๋ผ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ๋ฐฉ์‹

 

- ๊ฐ•์ œ ์ ‘๊ทผ ํ†ต์ œ(MAC; Mandatory Access Control, ๊ทœ์น™ ๊ธฐ๋ฐ˜ ์ •์ฑ…)

: ์‚ฌ์šฉ์ž๋‚˜ ์ž์›(๊ฐ์ฒด) ๋ชจ๋‘ ๋ณด์•ˆ ๋ ˆ๋ฒจ(๋“ฑ๊ธ‰)์„ ๋ถ€์—ฌ ๋ฐ›์•„ ์„œ๋กœ์˜ ๋ ˆ๋ฒจ์„ ๋น„๊ตํ•˜์—ฌ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ๋ฐฉ์‹

 

- ์—ญํ• ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ํ†ต์ œ(RBAC; Role-Based Access Control)

: ์‚ฌ์šฉ์ž์—๊ฒŒ ํ• ๋‹น๋œ ์—ญํ• ์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ์ ‘๊ทผ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ๋ฐฉ์‹ -> ์ง์ฑ…์— ๊ถŒํ•œ์„ ๋ถ€์—ฌ

 

 

 

*** RIP(Routing Information Protocol, ๊ฒฝ๋กœ ์„ ํƒ ์ •๋ณด ํ”„๋กœํ† ์ฝœ)

- ๊ฑฐ๋ฆฌ ๋ฐฑํ„ฐ ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ… ํ”„๋กœํ† ์ฝœ

- ๊ฒฝ์œ ํ•˜๋Š” ๋ผ์šฐํ„ฐ์˜ ๋Œ€์ˆ˜(ํ™‰์ˆ˜)์— ๋”ฐ๋ผ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ๋™์ ์œผ๋กœ ๊ฒฐ์ • -> ์ตœ์ ์˜ ๊ฒฝ๋กœ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ๋ฐœ์ƒ(์™œ? ์†๋„๋‚˜ ์ง€์—ฐ ๋“ฑ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š์•„)

- 30์ดˆ ์ฃผ๊ธฐ๋กœ ์ „์ฒด ๋ผ์šฐํŒ… ์ •๋ณด ๊ฐฑ์‹  -> ๋ณ€ํ™” ์—…๋ฐ์ดํŠธ ์‹œ ๋งŽ์€ ์‹œ๊ฐ„ ์†Œ์š” -> ์†Œ๊ทœ๋ชจ ๋™์ข… ๋„คํŠธ์›Œํฌ์— ์ ํ•ฉ

 

 

 

**** ๊ด€๊ณ„๋Œ€์ˆ˜(์ˆœ์ˆ˜๊ด€๊ณ„ ์—ฐ์‚ฐ์ž)

- SELECT( ฯƒ ) : ๋ฆด๋ ˆ์ด์…˜์—์„œ ์ฃผ์–ด์ง„ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ํŠœํ”Œ๋“ค์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ

- PROJECT( ฮ  ) : ๋ฆด๋ ˆ์ด์…˜์—์„œ ์ฃผ์–ด์ง„ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์†์„ฑ๋“ค์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ

- JOIN( โ‹ˆ ) : ๋‘๊ฐœ์˜ ๋ฆด๋ ˆ์ด์…˜ A์™€ B์— ๊ณตํ†ต๋œ ์†์„ฑ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ

- DIVISION(%)  : X > Y์ธ ๋‘ ๊ฐœ์˜ ๋ฆด๋ ˆ์ด์…˜ R(X)์™€ S(Y)๊ฐธ ์žˆ์„ ๋•Œ,  R์˜ ์†์„ฑ์ด S์˜ ์†์„ฑ ๊ฐ’์„ ๋ชจ๋‘ ๊ฐ€์ง„ ํŠœํ”Œ์—์„œ S๊ฐ€ ๊ฐ€์ง„ ์†์„ฑ์„ ์ œ์™ธํ•œ ์†์„ฑ๋งŒ์„ ๊ตฌํ•˜๋Š” ๊ฒƒ

 

 


 

2022 ๊ธฐ์ถœ...

 

*** RAID(.Redundant Array of Inexpensive Disk)

: ๋””์Šคํฌ์˜ ๊ณ ์žฅ์— ๋Œ€๋น„ํ•ด ๋ฐ์ดํ„ฐ์˜ ์•ˆ์ •์„ฑ์„ ๋†’์ธ ์ปดํ“จํ„ฐ์˜ ์ €์žฅ ์žฅ์น˜๋กœ์„œ, ํ•˜๋‚˜์˜ ๋Œ€ํ˜• ์ €์žฅ ์žฅ์น˜ ๋Œ€์‹  ๋‹ค์ˆ˜์˜ ์ผ๋ฐ˜ ํ•˜๋“œ๋ฅผ ๋ฐฐ์—ด๋กœ ๊ตฌ์„ฑํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํ• ํ•ด์„œ ๋ถ„์‚ฐ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ๋‹ค์ค‘ํ™”ํ•œ ์ €์žฅ ์žฅ์น˜

- ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ•˜๋“œ ๋””์Šคํฌ์— ์ผ๋ถ€ ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆ ์„œ ์ €์žฅํ•˜๋Š” ๊ธฐ์ˆ 

- ๊ฐ’์‹ผ ๋””์Šคํฌ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ๋ฌถ์–ด ๋Œ€์šฉ๋Ÿ‰์˜ ์ €์žฅ ๊ณต๊ฐ„์„ ๋งŒ๋“ค๊ณ ์ž ํ•จ

- ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋””์Šคํฌ๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ์–ด ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ์  ๋””์Šคํฌ๋กœ ์ž‘๋™ํ•˜๊ฒŒ ํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ•˜๋‚˜์˜ ๋””์Šคํฌ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ํ•œ๋‹ค

- ๋””์Šคํฌ ์–ด๋ ˆ์ด(Disk Array)๋ผ๊ณ ๋„ ํ•œ๋‹ค.

- RAID์— ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ์ˆ 

์ŠคํŠธ๋ผ์ดํ•‘(Striping) ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋””์Šคํฌ์— ๋ถ„์‚ฐ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ์ˆ 
๋ฏธ๋Ÿฌ๋ง(Mirroring) ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์ œํ•˜๋Š” ๊ธฐ์ˆ 
ํŒจ๋ฆฌํ‹ฐ(Parity) ๋ฐ์ดํ„ฐ์˜ ์˜ค๋ฅ˜ ๊ฒ€์ถœ ํ™•์ธ์— ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ์ˆ 

 

- RAID ์ข…๋ฅ˜

RAID 0 ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋””์Šคํฌ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋˜‘๊ฐ™์ด ๋ถ„ํ• ํ•˜์—ฌ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹
- ์ŠคํŠธํ•˜์ดํ•‘(Striping)์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค.
- ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋””์Šคํฌ๋ฅผ ํ•˜๋‚˜์˜ ๋””์Šคํฌ์ฒ˜๋Ÿผ ์ธ์‹ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, ํ•˜๋‚˜์˜ ๋””์Šคํฌ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ „์ฒด์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๊ฒŒ ๋œ๋‹ค
RAID 1 ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋””์Šคํฌ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋˜‘๊ฐ™์ด ๋ณต์ œ(Mirroring)ํ•˜๋Š” ๋ฐฉ์‹
- ๋ฏธ๋Ÿฌ๋ง(Mirroring)์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค.
- ๋””์Šคํฌ๋งˆ๋‹ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณต์ œ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์•ˆ์ •์„ฑ์ด ๋†’๋‹ค
RAID 2 ๊ธฐ๋ก์šฉ ๋””์Šคํฌ์™€ ๋ณต๊ตฌ์šฉ(ํŒจ๋ฆฌํ‹ฐ์šฉ, ํ•ด๋ฐ ์ฝ”๋“œ)๋””์Šคํฌ๋ฅผ ๋ณ„๋„๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ์‹

 

 

*** TKIP(Temporal Key Integrity Protocol, ์ž„์‹œ ํ‚ค ๋ฌด๊ฒฐ์„ฑ ํ”„๋กœํ† ์ฝœ)

: IEEE 802.11 ๋ฌด์„ ๋žœ ๋ณด์•ˆ์— ์‚ฌ์šฉ๋œ WEP ๋ฐฉ์‹์˜ ์ทจ์•ฝ์„ฑ์„ ๋ณด์™„ํ•œ ๋ฐ์ดํ„ฐ ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ

 

 

** UI ์ข…๋ฅ˜

- CLI : ํ…์ŠคํŠธ ๋˜๋Š” ํ‚ค๋ณด๋“œ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ธฐ๊ธฐ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค

- GUI : ๊ทธ๋ž˜ํ”ฝ ๋˜๋Š” ๋งˆ์šฐ์Šค ๊ธฐ๋ฐ˜์œผ๋กœ ๊ธฐ๊ธฐ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค

- NUI : ์ธ๊ฐ„์˜ ์ž์—ฐ์Šค๋Ÿฌ์šด ์‹ ์ฒด ์›€์ง์ž„์œผ๋กœ ๊ธฐ๊ธฐ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค

- VUI : ์‚ฌ๋žŒ์˜ ์Œ์„ฑ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ธฐ๊ธฐ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค

- OUI : ๋ชจ๋“  ์ž์—ฐ ์ƒํƒœ๊ฐ€ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์ด ๋™์‹œ์— ์ด๋ค„์ง€๋Š” ์ธํ„ฐํŽ˜์ด์Šค

 

 

*** ISMS(Information Security Management System, ์ •๋ณด ๋ณดํ˜ธ ๊ด€๋ฆฌ ์ฒด๊ณ„)

: ์ •๋ณด ์ž์‚ฐ์˜ ๋น„๋ฐ€์„ ์œ ์ง€ํ•˜๊ณ  ๊ฒฐํ•จ์ด ์—†๊ฒŒ ํ•˜๋ฉฐ, ์–ธ์ œ๋“  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ ๋ณดํ˜ธ ์ ˆ์ฐจ์™€ ๊ณผ์ •

- ๊ธฐ์—…์˜ ์ •๋ณด ๋ณดํ˜ธ ์ˆ˜์ค€์„ ๋Œ์–ด์˜ฌ๋ฆฌ๋ผ๋Š” ๊ฒƒ

- ๋ฐฉ์†กํ†ต์‹ ์œ„์›ํšŒ๋Š” ์ •๋ณดํ†ต์‹  ์„œ๋น„์Šค๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๋ณด์•ˆ ์œ„ํ—˜์„ ๋ถ„์„ํ•ด ๋ฏธ๋ฆฌ ์กฐ์น˜ํ•˜๊ณ , ์‚ฌ์ด๋ฒ„ ๊ณต๊ฒฉ์— ๋Œ€์‘ํ•  ์ตœ์†Œ ๋ณดํ˜ธ ์กฐ์น˜ ๊ธฐ์ค€์„ ๋งˆ๋ จํ•˜์˜€๋‹ค.

 

 

*** Watering Hole(์›Œํ„ฐ๋ง ํ™€)

: ํ‘œ์ ์œผ๋กœ ์‚ผ์€ ํŠน์ • ์ง‘๋‹จ์ด ์ฃผ๋กœ ๋ฐฉ๋ฌธํ•˜๋Š” ์›น ์‚ฌ์ดํŠธ(๋ฌผ์›…๋ฉ์ด)๋ฅผ ๊ฐ์—ผ์‹œํ‚ค๊ณ  ํ”ผํ•ด ๋Œ€์ƒ์ด ๊ทธ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ฐฉ๋ฌธํ•  ๋–„๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ณต๊ฒฉ

- ๊ฐ์—ผ๋œ ์›น ์‚ฌ์ดํŠธ์˜ ๋ฐฉ๋ฌธ์ž๋Š” ๋ชจ๋‘ ์•…์„ฑ ์ฝ”๋“œ์— ๊ฐ์—ผ๋˜์–ด, ์ „์—ผ์„ฑ์ด ๋†’์•„์ง€๋Š” ๊ฒƒ์ด ํŠน์ง•์ด๋‹ค

 

 

1. ๋‹จ์œ„ ํ…Œ์ŠคํŠธ

2. ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

3. ์‹œ์Šคํ…œ ํ…Œ์ŠคํŠธ

4. ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ

 

 

*** ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ์—ฐ์‚ฐ

๊ด€๊ณ„ ๋Œ€์ˆ˜ - ์ ˆ์ฐจ์  ์–ธ์–ด(์ ˆ์ฐจ ์ค‘์‹ฌ)
: ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ '์–ด๋–ป๊ฒŒ' ์œ ๋„ํ•˜๋Š”๊ฐ€๋ฅผ ์—ฐ์‚ฐ์ž์™€ ์—ฐ์‚ฐ ๊ทœ์น™ ์ด์šฉํ•˜์—ฌ ๊ธฐ์ˆ 
- ๋ถ„๋ฅ˜ : ์ˆœ์ˆ˜ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž, ์ผ๋ฐ˜ ์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž
๊ด€๊ณ„ ํ•ด์„ - ๋น„์ ˆ์ฐจ์  ์–ธ์–ด(๊ฒฐ๊ณผ ์ค‘์‹ฌ)
: ์›ํ•˜๋Š” ์ •๋ณด๊ฐ€ '๋ฌด์—‡'์ด๋ผ๋Š” ๊ฒƒ๋งŒ ์ •์˜
- ๋ถ„๋ฅ˜ : ํŠœํ”Œ ๊ด€๊ณ„ ํ•ด์„, ๋„๋ฉ”์ธ ๊ด€๊ณ„ ํ•ด์„

 

 

 

*** ALL : ๊ฒ€์ƒ‰๋œ ์กฐ๊ฑด์„ ๋ชจ๋‘ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค

SELECT ์ด๋ฆ„, ๊ณผ๋ชฉ, ์ ์ˆ˜ FROM ์ˆ˜๊ฐ•์ƒ

WHERE ์ ์ˆ˜ > ALL (

SELECT ์ ์ˆ˜ FROM ์ˆ˜๊ฐ•์ƒ WHERE ์ด๋ฆ„ = '๊น€๊ธธํ˜„');

 

์ด๋ฆ„ ๊ณผ๋ชฉ ์ ์ˆ˜
๋‚จ๊ธฐ์šฑ ์ •๋ณด 100

: '๊น€๊ธธํ˜„' ์ˆ˜๊ฐ•์ƒ์˜ ์ ์ˆ˜์ธ 90 ๊ทธ๋ฆฌ๊ณ  70ใ…‚๋ณด๋‹ค ๋†’์€ ํŠœํ”Œ์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

***  ANY : ๊ฒ€์ƒ‰๋œ ์กฐ๊ฑด์„ ํ•˜๋‚˜ ์ด์ƒ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค.

SELECT ์ด๋ฆ„, ๊ณผ๋ชฉ, ์ ์ˆ˜ FROM ์ˆ˜๊ฐ•์ƒ

WHERE ์ ์ˆ˜ > ANY (

SELECT ์ ์ˆ˜ FROM ์ˆ˜๊ฐ•์ƒ WHERE ์ด๋ฆ„ = '๊น€๊ธธํ˜„');

 

์ด๋ฆ„ ๊ณผ๋ชฉ ์ ์ˆ˜
๊น€๊ธธํ˜„ ์ •๋ณด 90
๋‚จ๊ธฐ์šฑ ์ •๋ณด 100
๊น€์ƒํ˜„ ์ปดํ™œ 80

: '๊น€๊ธธํ˜„' ์ˆ˜๊ฐ•์ƒ์˜ ์ ์ˆ˜์ธ 90 ๋˜๋Š” 70๋ณด๋‹ค ๋†’์€ ํŠœํ”Œ์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

*** COUNT() : .๊ทธ๋ฃน๋ณ„ ํŠœํ”Œ ์ˆ˜

COUNT(*) NULL ๊ฐ’์„ ํฌํ•จํ•œ ํŠœํ”Œ ์ˆ˜ ๋ฐ˜ํ™˜
COUNT(์†์„ฑ๋ช…) NULL ๊ฐ’์„ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ํŠœํ”Œ ์ˆ˜ ๋ฐ˜ํ™˜

 

 

*** VPN(Virtual Private Network; ๊ฐ€์ƒ ์‚ฌ์„ค๋ง)

: ์ธํ„ฐ๋„ท๋ง๊ณผ ๊ฐ™์€ ๊ณต์ค‘๋ง์„ ์‚ฌ์„ค๋ง์ฒ˜๋Ÿผ ์ด์šฉํ•ด์„œ ํšŒ์„  ๋น„์šฉ์„ ํฌ๊ฒŒ ์ ˆ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์—…ํ†ต์‹  ์„œ๋น„์Šค

- ์ธํ„ฐ๋„ท๋ง์„ ์ „์šฉ์„ ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํŠน์ˆ˜ํ†ต์‹ ์ฒด๊ณ„์˜ ์•”ํ˜ธํ™”๊ธฐ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค๋กœ ๊ธฐ์—… ๋ณธ์‚ฌ์™€ ์ง€์‚ฌ ๋˜๋Š” ์ง€์‚ฌ๊ฐ„์— ์ „์šฉ๋ง์„ ์„ค์น˜ํ•œ ๊ฒƒ๊ณผ ๊ฐ™์€ ํšจ๊ณผ๋ฅผ ๊ฑฐ๋‘˜ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ „์šฉ์„ ์— ๋น„ํ•ด 20 ~ 80% ์ด์ƒ์˜ ๋น„์šฉ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

 

 

** ๋ณด์•ˆ ์†”๋ฃจ์…˜

- ๋ฐฉํ™”๋ฒฝ(Firewall) : ๋„คํŠธ์›Œํฌ ๊ฐ„์— ์ „์†ก๋˜๋Š” ์ •๋ณด๋ฅผ ์„ ๋ณ„ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ์นจ์ž… ์ฐจ๋‹จ ์‹œ์Šคํ…œ

- ์›น๋ฐฉํ™”๋ฒฝ(Web Firewall) : ์›น ๊ธฐ๋ฐ˜ ๊ณต๊ฒฉ์„ ๋ฐฉ์–ดํ•  ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์›น ์„œ๋ฒ„ ํŠนํ™” ๋ฐฉํ™”๋ฒฝ

- ์นจ์ž…ํƒ์ง€ ์‹œ์Šคํ…œ(IDS; Intrusion Detection System) : ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ๋น„์ •์ƒ์ ์ธ ์‚ฌ์šฉ, ์˜ค์šฉ ๋“ฑ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํƒ์ง€ํ•˜๋Š” ์‹œ์Šคํ…œ, ์ด์ƒํƒ์ง€, ์˜ค์šฉํƒ์ง€

- ์นจ์ž… ๋ฐฉ์ง€ ์‹œ์Šคํ…œ(IPS; Intrusion Prevention System) :  ๋ฐฉํ™”๋ฒฝ๊ณผ ์นจ์ž…ํƒ์ง€ ์‹œ์Šคํ…œ์„ ๊ฒฐํ•ฉํ•œ ๊ฒƒ

- ๋ฐ์ดํ„ฐ์œ ์ถœ๋ฐฉ์ง€(DLP; Data Leakage/Loss Prevention) : ๋‚ด๋ถ€ ์ •๋ณด์˜ ์œ ์ถœ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋ณด์•ˆ ์†”๋ฃจ์…˜

- NAC(Network Access Control) : ๋„คํŠธ์›Œํฌ์— ์ ‘์†ํ•˜๋Š” ๋‚ด๋ถ€ PC์˜ MAC์ฃผ์†Œ(๊ณ ์œ ๋žœ์นด๋“œ์ฃผ์†Œ)๋ฅผ IP๊ด€๋ฆฌ ์‹œ์Šคํ…œ์— ๋“ฑ๋กํ•œ ํ›„ ์ผ๊ด€๋œ ๋ณด์•ˆ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๋ณด์•ˆ์†”๋ฃจ์…˜

- ESM(Enterprise Security Management) : ๋‹ค์–‘ํ•œ ์žฅ๋น„์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋กœ๊ทธ ๋ฐ ๋ณด์•ˆ ์ด๋ฒคํŠธ๋ฅผ ํ†ตํ•ฉ๊ด€๋ฆฌํ•˜๋Š” ๋ณด์•ˆ ์†”๋ฃจ์…˜

 

 

 

*** ํƒœ์ŠคํŠธ ์ข…๋ฅ˜

- ์•ˆ์ „ ํ…Œ์ŠคํŠธ(Security Test) : ๋ถˆ๋ฒ•์ ์ธ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์ ‘๊ทผํ•˜์—ฌ ์‹œ์Šคํ…œ์„ ํŒŒ๊ดดํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์†Œ์Šค์ฝ”๋“œ ๋‚ด์˜ ๋ณด์•ˆ์ ์ธ ๊ฒฐํ•จ์„ ๋ฏธ๋ฆฌ ์ ๊ฒ€ํ•˜๋Š” ํ…Œ์ŠคํŠธ

- ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ(Performance Test) : ์‹œ์šฉ์ž์˜ ์ด๋ฒคํŠธ์— ์‹œ์Šคํ…œ์ด ์‘๋‹ตํ•˜๋Š” ์‹œ๊ฐ„, ํŠน์ • ์‹œ๊ฐ„ ๋‚ด์— ์ฒ˜๋ฆฌํ•˜๋Š” ์—…๋ฌด๋Ÿ‰, ์‚ฌ์šฉ์ž ์š”๊ตฌ์— ์‹œ์Šคํ…œ์ด ๋ฐ˜์‘ํ•˜๋Š” ์†๋„ ๋“ฑ์„ ํ…Œ์ŠคํŠธ

- ๋ณ‘ํ–‰ ํ…Œ์ŠคํŠธ(Parallel Test) : ๋ณ€๊ฒฝ๋œ ์‹œ์Šคํ…œ๊ณผ ๊ธฐ์กด ์‹œ์Šคํ…œ์— ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ ํ›„ ๊ฒฐ๊ณผ๋ฅผ ๋น„๊ตํ•˜๋Š” ํ…Œ์ŠคํŠธ

- ํšŒ๋ณต ํ…Œ์ŠคํŠธ(Recovery Test) : ์‹œ์Šคํ…œ์— ๊ณ ์˜๋กœ ์‹คํŒจ๋ฅผ ์œ ๋„ํ•˜๊ณ  ์‹œ์Šคํ…œ์ด ์ •์ƒ์ ์œผ๋กœ ๋ณต๊ท€ํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธ

- ํšŒ๊ท€ ํ…Œ์ŠคํŠธ(Regression Test) : ๋ณ€๊ฒฝ ๋˜๋Š” ์ˆ˜์ •๋œ ์ฝ”๋“œ์— ๋Œ€ํ•˜์—ฌ ์ƒˆ๋กœ์šด ๊ฒฐํ•จ ๋ฐœ๊ฒฌ ์—ฌ๋ถ€๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ํ…Œ์ŠคํŠธ

- ๊ตฌ์กฐ ํ…Œ์ŠคํŠธ(Strategy Test) : ์‹œ์Šคํ…œ์˜ ๋‚ด๋ถ€ ๋…ผ๋ฆฌ ๊ฒฝ๋กœ, ์†Œ์Šค์ฝ”๋“œ์˜ ๋ณต์žก๋„๋ก ํ‰๊ฐ€ํ•˜๋Š” ํ…Œ์ŠคํŠธ

 

 

*** ๋ผ์šฐํŒ… ๋ฐฉ์‹

- ๋‚ด/์™ธ๋ถ€ ๋ผ์šฐํŒ…

1) IGP(Interior Gateway Protocol)

- ์ž์œจ ์‹œ์Šคํ…œ ๋‚ด๋ถ€์—์„œ๋งŒ ์ด๋ฃจ์–ด์ง€๋Š” ๋ผ์šฐํŒ… ํ”„๋กœํ† ์ฝœ

- ํ”„๋กœํ† ์ฝœ ์ข…๋ฅ˜ : RIP, IGRP, OSPF

 

* ์ž์œจ ์‹œ์Šคํ…œ(AS; Autonomous System)

: ํ•˜๋‚˜์˜ ๋„๋ฉ”์ธ(ํšŒ์‚ฌ)์— ์†ํ•˜๋Š” ๋ผ์šฐํ„ฐ๋“ค์˜ ์ง‘ํ•ฉ

 

2) EGP(Exterior Gateway Protocol)

- ์ž์œจ ์‹œ์Šคํ…œ ๊ฐ„ ๋ผ์šฐํŒ… ํ”„๋กœํ† ์ฝœ

- ํ”„๋กœํ† ์ฝœ ์ข…๋ฅ˜ : BGP

 

** RIP(Routing Information Protocol, ๊ฒฝ๋กœ ์„ ํƒ ์ •๋ณด ํ”„๋กœํ† ์ฝœ)

- ๊ฑฐ๋ฆฌ ๋ฐฑํ„ฐ ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ… ํ”„๋กœํ† ์ฝœ

- ๊ฒฝ์œ ํ•˜๋Š” ๋ผ์šฐํ„ฐ์˜ ๋Œ€์ˆ˜(ํ™‰์ˆ˜)์— ๋”ฐ๋ผ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ๋™์ ์œผ๋กœ ๊ฒฐ์ • -> ์ตœ์ ์˜ ๊ฒฝ๋กœ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ๋ฐœ์ƒ(์™œ? ์†๋„๋‚˜ ์ง€์—ฐ ๋“ฑ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š์•„)

- 30์ดˆ ์ฃผ๊ธฐ๋กœ ์ „์ฒด ๋ผ์šฐํŒ… ์ •๋ณด ๊ฐฑ์‹  -> ๋ณ€ํ™” ์—…๋ฐ์ดํŠธ ์‹œ ๋งŽ์€ ์‹œ๊ฐ„ ์†Œ์š” -> ์†Œ๊ทœ๋ชจ ๋™์ข… ๋„คํŠธ์›Œํฌ์— ์ ํ•ฉ

- ์ตœ๋Œ€ ํ™‰์ˆ˜๋ฅผ 15 ์ดํ•˜๋กœ ํ•œ์ • -> ๋Œ€๊ทœ๋ชจ ๋„คํŠธ์›Œํฌ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ

 

** IGRP(Interior Gateway Routing Protocol, ๋‚ด๋ถ€ ๊ฒฝ๋กœ ์ œ์–ด ํ”„๋กœํ† ์ฝœ)

: RIP์˜ ๋ฌธ์ œ์  ๊ฐœ์„ ์„ ์œ„ํ•ด ์‹œ์Šค์ฝ”์—์„œ ๊ฐœ๋ฐœ

- ๋„คํŠธ์›Œํฌ ์ƒํƒœ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๋ผ์šฐํŒ…(๋Œ€์—ญํญ, ์†๋„ ๋“ฑ) -> ์ค‘๊ทœ๋ชจ ๋„คํŠธ์›Œํฌ์— ์ ํ•ฉ

 

** OSPF(Open Shortest Path First, ์ตœ๋‹จ ๊ฒฝ๋กœ ์šฐ์„  ํ”„๋กœํ† ์ฝœ)

: RIP(๊ฒฝ๋กœ ์„ ํƒ ์ •๋ณด ํ”„๋กœํ† ์ฝœ)์˜ ๋‚œ์ ์„ ํ•ด๊ฒฐ -> ๋ฐœ์ƒํ•œ ๋ณ€๊ฒฝ ์ •๋ณด์— ๋Œ€ํ•ด RIP๋ณด๋‹ค ๋น ๋ฅธ ์—…๋ฐ์ดํŠธ

- ์ธํ„ฐ๋„ท๋ง์—์„œ ์ด์šฉ์ž๊ฐ€ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ์„ ์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ผ์šฐํŒ… ์ •๋ณด์— ๋…ธ๋“œ ๊ฐ„์˜ ๊ฑฐ๋ฆฌ ์ •๋ณด, ๋งํฌ ์ƒํƒœ ์ •๋ณด๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์กฐํ•ฉํ•˜์—ฌ ์ตœ๋‹จ ๊ฒฝ๋กœ๋กœ ๋ผ์šฐํŒ…์„ ์ง€์›ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ

- ๊ฒฝ๋กœ์ˆ˜์— ์ œํ•œ์ด ์—†์œผ๋ฏ€๋กœ ๋Œ€๊ทœ๋ชจ ๋„คํŠธ์›Œํฌ์— ์‚ฌ์šฉ

- Link State ๋ฐฉ์‹(๋งํฌ ์ƒํƒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜) : ๋ผ์šฐํŒ… ์ •๋ณด์— ๋ณ€ํ™”๊ฐ€ ์ƒ๊ธธ ๊ฒฝ์šฐ, ๋ณ€ํ™”๋œ ์ •๋ณด๋งŒ ๋„คํŠธ์›Œํฌ ๋‚ด์˜ ๋ชจ๋“  ๋ผ์šฐํ„ฐ์—๊ฒŒ ์•Œ๋ฆฌ๋Š” ๋ฐฉ์‹(OSPF๊ฐ€ ๋Œ€ํ‘œ์ )

 

 

** BGP(Border Gateway Protocol, ๊ฒฝ๊ณ„ ๊ฒŒ์ดํŠธ์›จ์ด ํ”„๋กœํ† ์ฝœ)

: EGP์˜ ๋‹จ์ (๋‹ค๋ฅธ ๋„๋ฉ”์ธ ์‚ฌ์ด์— ๋ผ์šฐํŒ…์‹œ ์†๋„ ๋ฌธ์ œ์ , ๋ณด์•ˆ๊ณผ ์ œ์–ด๊ฐ€ ๋ณธ๋ž˜ ๋ชฉ์ )์„ ๋ณด์™„

- ์—ฌ๋Ÿฌ ์ž์œจ ์‹œ์Šคํ…œ(Autonomous System) ๊ฐ„์— ๋ผ์šฐํŒ… ์ •๋ณด๋ฅผ ๊ตํ™˜ -> ๊ทœ๋ชจ๊ฐธ ํฐ ๋„คํŠธ์›Œํฌ์˜ ์ƒํ˜ธ ์—ฐ๊ฒฐ -> ์ธํ„ฐ๋„ท ์„œ๋น„์Šค ์—…์ฒด(ISP; Internet Service Provider) ๊ฐ„์˜ ์ƒํ˜ธ ๋ผ์šฐํŒ…

- ๋ฐœ์ „๋œ ํ˜•ํƒœ์˜ ๊ฑฐ๋ฆฌ ๋ฐฑํ„ฐ ๋ผ์šฐํŒ… ํ”„๋กœํ† ์ฝœ

 

 

*** ์‘์ง‘๋„์˜ ์œ ํ˜•(๋ชจ๋“ˆ์— ํฌํ•จ๋œ ๋‚ด๋ถ€ ์š”์†Œ๋“ค์ด ํ•˜๋‚˜์˜ ์ฑ…์ž„ / ๋ชฉ์ ์„ ์œ„ํ•ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์—ฐ๊ด€๋œ ์ •๋„)

- ์šฐ์—ฐ์  ์‘์ง‘๋„(Coincidental Cohesion) : ๋ชจ๋“ˆ ๋‚ด๋ถ€์˜ ๊ฐ ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ์—ฐ๊ด€์ด ์—†์„ ๊ฒฝ์šฐ์˜ ์‘์ง‘๋„

- ๋…ผ๋ฆฌ์  ์‘์ง‘๋„(Logical Cohesion) : ์œ ์‚ฌํ•œ ์„ฑ๊ฒฉ์„ ๊ฐ–๊ฑฐ๋‚˜ ํŠน์ • ํ˜•ํƒœ๋กœ ๋ถ„๋ฅ˜๋˜๋Š” ์ฒ˜๋ฆฌ ์š”์†Œ๋“ค์ด ํ•œ ๋ชจ๋“ˆ์—์„œ ์ฒ˜๋ฆฌ๋˜๋Š” ๊ฒฝ์šฐ์˜ ์‘์ง‘๋„

- ์‹œ๊ฐ„์  ์‘๋”ฅ๋„(Temporal Cohesion) : ์—ฐ๊ด€๋œ ๊ธฐ๋Šฅ์ด๋ผ๊ธฐ๋ณด๋‹ค๋Š” ํŠน์ • ์‹œ๊ฐ„์— ์ฒ˜๋ฆฌ๋˜์–ด์•ผ ํ•˜๋Š” ํ™œ๋™๋“ค์„ ํ•œ ๋ชจ๋“ˆ์—์„œ ์ฒ˜๋ฆฌํ•  ๊ฒฝ์šฐ์˜ ์‘์ง‘๋„

- ์ ˆ์ฐจ์  ์‘์ง‘๋„(Procedural Cohesion) : ๋ชจ๋“ˆ ๋‹ค์ˆ˜์˜ ๊ด€๋ จ ๊ธฐ๋Šฅ์„ ๊ฐ€์งˆ ๋•Œ ๋ชจ๋“ˆ ์•ˆ์˜ ๊ตฌ์„ฑ์š”์†Œ๋“ค์ด ๊ทธ ๊ธฐ๋Šฅ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ๊ฒฝ์šฐ์˜ ์‘์ง‘๋„

- ํ†ต์‹ ์  ์‘์ง‘๋„(Communication Cohesion) : ๋™์ผํ•œ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰

- ์ˆœ์ฐจ์  ์‘์ง‘๋„(Sequential Cohesion) : ๋ชจ๋“ˆ ๋‚ด์—์„œ ํ•œ ํ™œ๋™์œผ๋กœ๋ถ€ํ„ฐ ๋‚˜์˜จ ์ถœ๋ ฅ๊ฐ’์„ ๋‹ค๋ฅธ ํ™œ๋™์ด ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ์˜ ์‘์ง‘๋„

- ๊ธฐ๋Šฅ์  ์‘์ง‘๋„(Functional Cohesion) : ๋ชจ๋“ˆ ๋‚ด๋ถ€์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ๋‹จ์ผํ•œ ๋ชฉ์ ์„ ์œ„ํ•ด ์ˆ˜ํ–‰๋˜๋Š” ๊ฒฝ์šฐ์˜ ์‘์ง‘๋„

(์šฐ๋…ผ์‹œ์ ˆํ†ต์ˆœ๊ธฐ)

 

 

*** ๊ฒฐํ•ฉ๋„์˜ ์œ ํ˜•(๋‹ค๋ฅธ ๋ชจ๋“ˆ๊ณผ์˜ ์˜์กด์„ฑ์˜ ์ •๋„)

- ๋‚ด์šฉ ๊ฒฐํ•ฉ๋„(Content Coupling) : ๋‹ค๋ฅธ ๋ชจ๋“ˆ ๋‚ด๋ถ€์— ์žˆ๋Š” ๋ณ€์ˆ˜๋‚˜ ๊ธฐ๋Šฅ์„ ๋‹ค๋ฅธ ๋ชจ๋“ˆ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์˜ ๊ฒฐํ•ฉ๋„

- ๊ณตํ†ต ๊ฒฐํ•ฉ๋„(Common Coupling) : ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์•„๋‹Œ ๋ชจ๋“ˆ ๋ฐ–์— ์„ ์–ธ๋˜์–ด ์žˆ๋Š” ์ „์—ญ ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ•˜๊ณ , ์ „์—ญ ๋ณ€์ˆ˜๋ฅผ ๊ฐฑ์‹ ํ•˜๋Š” ์‹์œผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๊ฒฝ์šฐ์˜ ๊ฒฐํ•ฉ๋„

- ์™ธ๋ถ€ ๊ฒฐํ•ฉ๋„(External Coupling) : ๋ชจ๋“ˆ์—์„œ ์™ธ๋ถ€๋กœ ์„ ์–ธํ•œ ๋ณ€์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๋ชจ๋“ˆ์—์„œ ์ฐธ์กฐ

- ์ œ์–ด ๊ฒฐํ•ฉ๋„(Control Coupling) : ๋‹จ์ˆœ ์ฒ˜๋ฆฌํ•  ๋Œ€์ƒ์ธ ๊ฐ’๋งŒ ์ „๋‹ฌ๋˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ œ์–ด ์š”์†Œ๊ฐ€ ์ „๋‹ฌ๋˜๋Š” ๊ฒฝ์šฐ์˜ ๊ฒฐํ•ฉ๋„

- ์Šคํƒฌํ”„ ๊ฒฐํ•ฉ๋„(Stamp Coupling) : ๋ชจ๋“ˆ ๊ฐ„์˜ ์–ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ฐฐ์—ด์ด๋‚˜ ๊ฐ์ฒด, ๊ตฌ์กฐ ๋“ฑ์ด ์ „๋‹ฌ๋˜๋Š” ๊ฒฝ์šฐ์˜ ๊ฒฐํ•ฉ๋„

- ์ž๋ฃŒ ๊ฒฐํ•ฉ๋„(Data Coupling) :๋ชจ๋“ˆ๊ฐ„์˜ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ž๋ฃŒ(๊ฐ’)๋ฅผ ํ†ตํ•ด์„œ๋งŒ ๋ชจ๋“ˆ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์ด ์ผ์–ด๋‚˜๋Š” ๊ฒฝ์šฐ์˜ ๊ฒฐํ•ฉ๋„

(๋‚ด๊ณต์™ธ์ œ์Šค์ž)

 

 

*** ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„์›์น™(SOLID)

- ๋‹จ์ผ ์ฑ…์ž„ ์›์น™(SRP, Single responsibility principle) : ํ•œ ํด๋ž˜์Šค๋Š” ํ•˜๋‚˜์˜ ์ฑ…์ž„๋งŒ์„ ๊ฐ€์ ธ์•ผํ•œ๋‹ค

- ๊ฐœ๋ฐฉ ํ์‡„ ์›์น™(OCP, Open-closed principle) : ํ™•์žฅ์—๋Š” ์—ด๋ ค ์žˆ๊ณ , ์ˆ˜์ •์—๋Š” ๋‹ซํ˜€ ์žˆ์–ด์•ผ ํ•œ๋‹ค

- ๋ฆฌ์Šค์ฝ”ํ”„ ์น˜ํ™˜ ์›์น™(LSP, Liskov substitution priciple) : ์ž์‹ ํด๋ž˜์Šค๋Š” ์–ธ์ œ๋‚˜ ์ž์‹ ์˜ ๋ถ€๋ชจ ํด๋ž˜์Šค๋ฅผ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

- ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ ์›์น™(ISP, Interface Segregation principle) : ์ž์‹ ์ด ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๊ตฌํ˜„ํ•˜์ง€ ๋ง์•„์•ผ ํ•œ๋‹ค

- ์˜์กด์„ฑ ์—ญ์ „ ์›์น™(DIP, Dependency Inversion principle) : ์˜์กด ๊ด€๊ณ„๋ฅผ ๋งบ์„ ๋•Œ ์ž์ฃผ ๋ณ€ํ™”ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค, ๋ณ€ํ™”๊ฐ€ ๊ฑฐ์˜ ์—†๋Š” ๊ฒƒ์— ์˜์กดํ•ด์•ผ ํ•œ๋‹ค

 

 

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

- ๋ถ€๋ถ„ ํ•จ์ˆ˜ ์ข…์†(Partial Functional Dependency) : ๋ฆด๋ ˆ์ด์…˜์—์„œ ๊ธฐ๋ณธ ํ‚ค๊ฐ€ ๋ณตํ•ฉ ํ‚ค์ผ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ํ‚ค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์†์„ฑ ์ค‘ ์ผ๋ถ€์—๊ฒŒ ์ข…์†๋œ ๊ฒฝ์šฐ

ex) { ํ•™๋ฒˆ, ๊ณผ๋ชฉ๋ฒˆํ˜ธ } -> ์„ฑ์ 

 

- ์™„์ „ ํ•จ์ˆ˜ ์ข…์†(Full Functional Dependency) : ๋ฆด๋ ˆ์ด์…˜์—์„œ X -> Y ๊ด€๊ณ„๊ฐ€ ์žˆ์„ ๋•Œ, Y๋Š” X์˜ ์ „์ฒด ์†์„ฑ์— ๋Œ€ํ•ด ์ข…์†ํ•˜๊ณ , ๋ถ€๋ถ„ ์ง‘ํ•ฉ ์†์„ฑ์— ์ข…์†ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

ex) ํ•™๋ฒˆ -> ํ•™๋…„

 

- ์ดํ–‰ ํ•จ์ˆ˜ ์ข…์†(Transtive Functional Dependency) : ๋ฆด๋ ˆ์ด์…˜์—์„œ X -> Y, Y -> Z ์ข…์† ๊ด€๊ณ„๊ฐ€ ์žˆ์„ ๋•Œ, X -> Z๊ฐ€ ์„ฑ๋ฆฝ๋˜๋Š” ๊ฒฝ์šฐ 

 

 

*** ํ˜•์ƒ๊ด€๋ฆฌ ์ ˆ์ฐจ(ํ˜•์ƒ๊ด€๋ฆฌ : ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ฒด๊ณ„์ ์œผ๋กœ ์ถ”์ ํ•˜๊ณ  ํ†ต์ œํ•˜๋Š” ๊ฒƒ)

: ํ˜•์ƒ ์‹๋ณ„ -> ํ˜•์ƒ ํ†ต์ œ -> ํ˜•์ƒ ๊ฐ์‚ฌ -> ํ˜•์ƒ ๊ธฐ๋ก

ํ†ต์ œ => ์†Œํ”„ํŠธใ…œ์—์–ด ํ˜•์ƒ ๋ณ€๊ฒฝ ์š”์ฒญ์„ ๊ฒ€ํ† ํ•˜๊ณ  ์Šน์ธํ•˜์—ฌ ํ˜„์žฌ์˜ ๋ฒ ์ด์Šค๋ผ์ธ์— ๋ฐ˜์˜๋  ์ˆ˜ ์žˆ๋„๋ก ํ†ต์ œ

 

 

*** ๊ด€๊ณ„

- ์ผ๋ฐ˜ํ™” ๊ด€๊ณ„(Generalization) : ํ•œ ํด๋ž˜์Šค๊ฐ€ ๋‹ค๋ฅธ ํด๋ž˜์Šค๋ฅผ ํฌํ•จํ•˜๋Š” ์ƒ์œ„ ๊ฐœ๋…์ผ ๋•Œ์˜ ๊ด€๊ณ„

- ์—ฐ๊ด€ ๊ด€๊ณ„(Accociation) : ํ•œ ํด๋ž˜์Šค๊ฐ€ ๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ๋•Œ ํ‘œ์‹œ

- ์˜์กด ๊ด€๊ณ„(Dependency) : ํด๋ž˜์Šค์˜ ๊ด€๊ณ„๊ฐ€ ํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋™์•ˆ๊ณผ ๊ฐ™์ด ๋งค์šฐ ์งง์€ ์‹œ๊ฐ„๋งŒ ์œ ์ง€

- ์‹ค์ฒดํ™” ๊ด€๊ณ„(Realization) : ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ  ๊ตฌํ˜„๋ฐ›์•„ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธ

- ์ง‘์•ฝ ๊ด€๊ณ„(Aggregation) : ์ „์ฒด ๊ฐ์ฒด์˜ ๋ผ์ดํ”„ํƒ€์ž…๊ณผ ๋ถ€๋ถ„ ๊ฐ์ฒด์˜ ๋ผ์ดํ”„ํƒ€์ž…์€ ๋…๋ฆฝ์ 

- ํ•ฉ์„ฑ ๊ด€๊ณ„(Composition) : ๋ถ€๋ถ„ ๊ฐ์ฒด๊ฐ€ ์ „์ฒด ๊ฐ์ฒด์— ์†ํ•˜๋Š” ๊ด€๊ณ„๋กœ ๊ธด๋ฐ€ํ•œ ํ•„์ˆ˜์  ๊ด€๊ณ„

 

 

*** ๋ธ”๋ž™๋ฐ•์Šค ํ…Œ์ŠคํŠธ

- ๋™๋“ฑ ๋ถ„ํ•  ๊ธฐ๋ฒ•(Equivalence Partitioning) : ์ž…๋ ฅ ์ž๋ฃŒ์— ์ดˆ์ ์„ ๋งž์ถฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ๋งŒ๋“ค์–ด ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•

- ๊ฒฝ๊ณ„๊ฐ’ ๋ถ„์„(Boundary Value Analysis) : ์ž…๋ ฅ ์กฐ๊ฑด์˜ ๊ฒฝ๊ณ„๊ฐ’์„ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ์„ ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

- ์›์ธ-ํšจ๊ณผ ๊ทธ๋ž˜ํ”„ ๊ฒ€์‚ฌ(Cause Effect Graph) : ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ๊ด€๊ณ„์™€ ์ถœ๋ ฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์ƒํ™ฉ์„ ์ฒด๊ณ„์ ์œผ๋กœ ๋ถ„์„ํ•œ ๋‹ค์Œ ํšจ์šฉ์„ฑ์ด ๋†’์€ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์„ ์ •ํ•˜์—ฌ ๊ฒ€์‚ฌํ•˜๋Š” ๊ธฐ๋ฒ•

- ์˜ค๋ฅ˜ ์˜ˆ์ธก ๊ฒ€์‚ฌ(Error Guessing) : ๊ณผ๊ฑฐ์˜ ๊ฒฝํ—˜์ด๋‚˜ ํ…Œ์Šคํ„ฐ์˜ ๊ฐ๊ฐ์œผ๋กœ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ธฐ๋ฒ•

- ๋น„๊ต ๊ฒ€์‚ฌ(Comparison Testing) : ์—ฌ๋Ÿฌ ๋ฒ„์ „์˜ ํ”„๋กœ๊ทธ๋žจ์— ๋™์ผํ•œ ํ…Œ์ŠคํŠธ ์ž๋ฃŒ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋™์ผํ•œ ๊ฒฐ๊ณผ๊ฐ€ ์ถœ๋ ฅ๋˜๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ธฐ๋ฒ•

 

 

*** ์„ ์ ํ˜• ๊ธฐ๋ฒ• -> ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ•์ œ๋กœ ๋บ์„ ์ˆ˜ ์žˆ๋Š”๊ฒƒ

- Round Robin(RR)

- SRT(Shortest Remaining Time) : ์‹คํ–‰์‹œ๊ฐ„ ์งง์€๊ฒƒ ๋จผ์ €

- ๋‹ค๋‹จ๊ณ„ ํ(MLQ, Multi-Level Queue)

- ๋‹ค๋‹จ๊ณ„ ํ”ผ๋“œ๋ฐฑ ํ(MLFQ, Multi-Level Feedback Queue)

 

*** ๋น„์„ ์ ํ˜• ๊ธฐ๋ฒ• => ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ•์ œ๋กœ ๋ชป๋บ์Œ

- FCFS(First Come First Serve)

- SJF(Shortest Job First)

- HRN(Highest Response ratio Next)

- ์šฐ์„ ์ˆœ์œ„(Priority)

- ๊ธฐํ•œ๋ถ€(Deadline)

 

 

2021 ๊ฐ€์ถœ...

 

๋ฌผ๋ฆฌ์ฃผ์†Œ(MAC Address)๋ฅผ IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™”ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ

RARP

 

IP ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ์ฃผ์†Œ๋กœ ๋ณ€ํ™”ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ

ARP

 

์„ค๊ณ„3์ข…๋ฅ˜(๊ฐœ-๋…ผ-๋ฌผ)

๊ฐœ๋…์  ์„ค๊ณ„ : ํ˜„์‹ค ์„ธ๊ณ„์— ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ์‚ฌ๋žŒ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ์˜ ์ •๋ณด๊ตฌ์กฐ๋กœ ๋งŒ๋“ค์–ด๊ฐ€๋Š” ๊ณผ์ •์„ ์˜๋ฏธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ •๋ณด ๋ชจ๋ธ์ด๋ผ๊ณ  ํ•œ๋‹ค.(์‚ฐ์ถœ๋ฌผERD)

๋…ผ๋ฆฌ์  ์„ค๊ณ„ : ์ถ”์ถœ๋œ ์—”ํ„ฐํ‹ฐ์™€ ์†์„ฑ๋“ค์˜ ๊ด€๊ณ„๋ฅผ ๊ตฌ์กฐ์ ์œผ๋กœ ์ •์˜ํ•˜๋Š” ๋‹จ๊ณ„๋กœ, ๊ฐœ๋…์  ์„ค๊ณ„์—์„œ ๋งŒ๋“ค์–ด์ง„ ๊ตฌ์กฐ๋ฅผ ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•˜๊ณ  ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •

๋ฌผ๋ฆฌ์  ์„ค๊ณ„ : ์‹ค์ œ ์ €์žฅ์žฅ์น˜์— ์–ด๋–ป๊ฒŒ ์ €์žฅํ• ์ง€ ์„ค๊ณ„ํ•˜๋Š” ๋‹จ๊ณ„

 

์นด๋””๋„๋ฆฌํ‹ฐ(ํŠœํ”Œ์˜ ์ˆ˜) : ์„ธ๋กœ์ฐจ์ˆ˜(์–ดํŠธ๋ฆฌ๋ทฐํŠธ: ์†์„ฑ์˜ ์ˆ˜) : ๊ฐ€๋กœ

 

 

 

EAI

๊ธฐ์—… ๋‚ด๋ถ€์—์„œ ์šด์˜๋˜๋Š” ๊ฐ์ข… ํ”Œ๋žซํผ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„์˜ ์ •๋ณด์ „๋‹ฌ, ์—ฐ๊ณ„, ํ†ตํ•ฉ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์†”๋ฃจ์…˜Point to Point, Hub&Spoke, Message Bus, Hybrid ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ

- Point to Point : ๊ฐ€์žฅ ๊ธฐ์ดˆ์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ†ตํ•ฉ ๋ฐฉ๋ฒ•( 1:1 ๋‹จ์ˆœ ํ†ตํ•ฉ ๋ฐฉ๋ฒ• ) / ๊ฐœ๋ฐœ์ž๊ฐ„ ๋Œ€ํ™”๋ฅผ ํ†ตํ•ด ํ†ตํ•ฉ ๊ฐ€๋Šฅ

ํ—ˆ๋ธŒ ์•ค ์Šคํฌํฌ : ๋‹จ์ผํ•œ ์ ‘์ ์˜ ํ—ˆ๋ธŒ ์‹œ์Šคํ…œ์„ ํ†ตํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ์ค‘์•™ ์ง‘์ค‘์  ๋ฐฉ์‹

๋ฉ”์‹œ์ง€ ๋ฒ„์Šค : ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ฌ์ด ๋ฏธ๋“ค์›จ์–ด๋ฅผ ๋‘์–ด ์—ฐ๊ณ„ํ•˜๋Š” ํ†ตํ•ฉ ๋ฐฉ์‹ / ๋›ฐ์–ด๋‚œ ํ™•์žฅ์„ฑ๊ณผ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ : ๊ทธ๋ฃน ๋‚ด๋Š” ํ—ˆ๋ธŒ ์•ค ์Šคํฌํฌ ๋ฐฉ์‹ / ๊ทธ๋ฃน ๊ฐ„์—๋Š” ๋ฉ”์„ธ์ง€ ๋ฒ„์Šค ๋ฐฉ์‹ ์‚ฌ์šฉํ•˜๋Š” ํ†ตํ•ฉ ๋ฐฉ์‹

 

 

๋ฐ์ดํ„ฐ ๋ชจ๋ธ ๊ตฌ์„ฑ 3์š”์†Œ

์—ฐ์‚ฐ : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ž‘์—…์— ๋Œ€ํ•œ ๋ช…์„ธ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ๋„๊ตฌ

๊ตฌ์กฐ : ๋…ผ๋ฆฌ์ ์œผ๋กœ ํ‘œํ˜„๋œ ๊ฐœ์ฒด ํƒ€์ž…๋“ค ๊ฐ„์˜ ๊ด€๊ณ„๋กœ์„œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋ฐ ์ •์  ์„ฑ์ฐฐ์„ ํ‘œํ˜„ํ•œ๋‹ค.

์ œ์•ฝ์กฐ๊ฑด : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋  ์ˆ˜ ์ž‡๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ์˜ ๋…ผ๋ฆฌ์ ์ธ ์ œ์•ฝ ์กฐ๊ฑด

 

 

์š”๊ตฌ์‚ฌํ•ญ ์ข…๋ฅ˜

๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ์€ ์ œํ’ˆ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๊ฐ€์ ธ์•ผ ํ•  ๊ธฐ๋Šฅ์  ์†์„ฑ

๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ์€ ์ œํ’ˆ ํ’ˆ์งˆ ๊ธฐ์ค€ ๋“ฑ์˜ ๋งŒ์กฑ์„ ์œ„ํ•ด ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๊ฐ€์ ธ์•ผ ํ•  ํŠน์„ฑ(์„ฑ๋Šฅ, ๋ณด์•ˆ, ํ’ˆ์งˆ...)

์›น ์„œ๋น„์Šค์˜ ๊ตฌ์ฒด์  ๋‚ด์šฉ์ด ๊ธฐ์ˆ ๋˜์–ด ์žˆ์–ด ์„œ๋น„์Šค ์ œ๊ณต ์žฅ์†Œ, ์„œ๋น„์Šค ๋ฉ”์‹œ์ง€ ํฌ๋งท, ํ”„๋กœํ† ์ฝœ ๋“ฑ์ด ๊ธฐ์ˆ ๋˜์–ด ์žˆ๋Š” ์–ธ์–ด๋Š”?

: WSDL

SQL(SELECT)

SELECT * FROM ํ…Œ์ด๋ธ” ์ด๋ฆ„

WHERE ์กฐ๊ฑด AND, OR

GROUP BY ์ปฌ๋Ÿผ๋ช…

HAVING SUM()

ORDER BY ASC, DESC....

 

 

IPC(Inter-Process Communication)

์ปดํ“จํ„ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ†ต์‹ ์„ ์˜๋ฏธํ•˜๋Š” ์šฉ์–ด๋กœ ์šด์˜์ฒด์ œ ์ƒ์—์„œ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค ์‚ฐ์— ํ†ต์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๊ธฐ์ˆ , ์ฃผ์š” ๊ธฐ๋ฒ•์—๋Š” ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฒ•, ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ ๊ธฐ๋ฒ•์ด ์žˆ์œผ๋ฉฐ ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ ๊ธฐ๋ฒ•์— ๊ธฐ๋ฐ˜์„ ๋‘” ๊ธฐ๋ฒ•๋“ค์—๋Š” ์†Œ์ผ“, ํŒŒ์ดํ”„, ์„ธ๋งˆํฌ์–ด, ์‹œ๊ทธ๋„ ๋“ฑ์ด ์žˆ๋‹ค

 

๋„คํŠธ์›Œํฌ์˜ ๊ตฌ์„ฑ ๋ฐ ์œ ์ง€๋ฅผ ์œ„ํ•ด ๊ธฐ์ง€๊ตญ์ด๋‚˜ ์•ก์„ธ์Šค ํฌ์ธํŠธ์™€ ๊ฐ™์€ ๊ธฐ๋ฐ˜ ๋„คํŠธ์›Œํฌ ์žฅ์น˜๋ฅผ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š๊ณ , ๋ฉ€ํ‹ฐ ํ™‰ ๋ผ์šฐํŒ… ๊ธฐ๋Šฅ์— ์˜ํ•ด ๋ฌด์„  ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๊ฐ€์ง€๋Š” ํ†ต์‹  ๊ฑฐ๋ฆฌ์ƒ์˜ ์ œ์•ฝ์„ ๊ทน๋ณตํ•˜๋ฉฐ๋…ธ๋“œ๋“ค์˜ ์ด๋™์ด ์ž์œ ๋กญ๊ธฐ ๋•Œ๋ฌธ์— ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€๊ฐ€ ๋™์ ์œผ๋กœ ๋ณ€ํ™”๋˜๋Š” ํŠน์ง•์ด ์žˆ๋‹ค. ์‘์šฉ ๋ถ„์•ผ๋กœ๋Š” ๊ธด๊ธ‰ ๊ตฌ์กฐ, ๊ธด๊ธ‰ ํšŒ์˜, ์ „์Ÿํ„ฐ์—์„œ์˜ ๊ตฐ์‚ฌ ๋„คํŠธ์›Œํฌ ๋“ฑ์ด ์žˆ๋‹ค

AD-hoc Network

 

 

*** ๋ณ‘ํ–‰ ์ œ์–ด ๊ธฐ๋ฒ•์˜ ์ข…๋ฅ˜

๋กœํ‚น(Locking) : ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜์„ ์‹คํ–‰ํ•˜๋Š” ๋™์•ˆ ํŠน์ • ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์ด ๋™์‹œ์— ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์ƒํ˜ธ๋ฐฐ์ œ(Mutual Exclusion) ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋ฒ•

 * ๋กœํ‚น์˜ ํŠน์ง•!!

ยท         ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŒŒ์ผ, ๋ ˆ์ฝ”๋“œ ๋“ฑ์€ ๋กœํ‚น ๋‹จ์œ„๊ฐ€ ๋  ์ˆ˜ ์žˆ์Œ

ยท         ๋กœํ‚น ๋‹จ์œ„๊ฐ€ ์ž‘์•„์ง€๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ณต์œ ๋„๊ฐ€ ์ฆ๊ฐ€

ยท         ๋กœํ‚น ๋‹จ์œ„๊ฐ€ ์ž‘์•„์ง€๋ฉด ๋กœํ‚น ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ฆ๊ฐ€

ยท         ํ•œ๊บผ๋ฒˆ์— ๋กœํ‚นํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด์˜ ํฌ๊ธฐ๋ฅผ ๋กœํ‚น ๋‹จ์œ„๋ผ๊ณ  ํ•จ

๋‚™๊ด€์  ๊ฒ€์ฆ(Optimistic Validation) :  ํŠธ๋žœ์žญ์…˜์ด ์–ด๋– ํ•œ ๊ฒ€์ฆ๋„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ  ์ผ๋‹จ ํŠธ๋žœ์žญ์…˜์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ํŠธ๋žœ์žญ์…˜ ์ข…๋ฃŒ ์‹œ ๊ฒ€์ฆ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ˜์˜ํ•˜๋Š” ๊ธฐ๋ฒ•

ํƒ€์ž„ ์Šคํƒฌํ”„ ์ˆœ์„œ(Time Stamp Orderring) : ํŠธ๋žœ์žญ์…˜๊ณผ ํŠธ๋žœ์žญ์…˜์ด ์ฝ๊ฑฐ๋‚˜ ๊ฐฑ์‹ ํ•œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ํŠธ๋žœ์žญ์…˜์ด ์‹คํ–‰์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ํƒ€์ž„ ์Šคํƒฌํ”„๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ ๋ถ€์—ฌ๋œ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ํŠธ๋žœ์žญ์…˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ธฐ๋ฒ•

 

 

 

*** ๋ณด์•ˆ์˜ ์„ธ ๊ฐ€์ง€ ์šฉ์–ด

- ์ธ์ฆ(Authentication) : ๋ณด์•ˆ ๊ธฐ๋Šฅ์—์„œ, ์‚ฌ๋žŒ์ด๋‚˜ ํ”„๋กœ์„ธ์Šค์˜ ์‹ ๋ถ„์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ

- ์ธ๊ฐ€(Authorization) : ๊ฒ€์ฆ๋œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์–ด๋–ค ์ˆ˜์ค€์˜ ๊ถŒํ•œ๊ณผ ์„œ๋น„์Šค๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ

- ๊ณ„์ • ๊ด€๋ฆฌ(Accounting) : ์‚ฌ์šฉ์ž์˜ ์ž์›์— ๋Œ€ํ•œ ์‚ฌ์šฉ ์ •๋ณด๋ฅผ ๋ชจ์•„์„œ ๊ณผ๊ธˆ, ๊ฐ์‚ฌ, ์šฉ๋Ÿ‰์ฆ์„ค, ๋ฆฌํฌํŒ… ๋“ฑ์„ ์‹ค์‹œํ•˜๋Š” ๊ฒƒ

 

 

*** ์Šคํ‘ธํ•‘(Spoofing)

- IP ์Šคํ‘ธํ•‘

  • IP ์ž์ฒด์˜ ๋ณด์•ˆ ์ทจ์•ฝ์„ฑ์„ ์•…์šฉํ•œ ๊ฒƒ์œผ๋กœ ์ž์‹ ์˜ IP ์ฃผ์†Œ๋ฅผ ์†์—ฌ์„œ ์ ‘์†ํ•˜๋Š” ๊ณต๊ฒฉ
  • IP ์Šคํ‘ธํ•‘์„ ํ†ตํ•ด ์„œ๋น„์Šค ๊ฑฐ๋ถ€ ๊ณต๊ฒฉ(DoS)๋„ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅํ•˜๋ฉฐ ๊ณต๊ฒฉ ๋Œ€์ƒ ์ปดํ“จํ„ฐ์™€ ์„œ๋ฒ„ ์‚ฌ์ด์˜ ์—ฐ๊ฒฐ๋œ ์„ธ์…˜์„ ๋Š์„ ์ˆ˜๋„ ์žˆ๋‹ค
  • ์ข…๋‹จ ์ธ์ฆ(end point authentication) ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด๊ฒฐํ•œ๋‹ค

- DNS ์Šคํ‘ธํ•‘

  • ๊ณต๊ฒฉ๋Œ€์ƒ์—๊ฒŒ ์ „๋‹ฌ๋˜๋Š” DNS IP ์ฃผ์†Œ๋ฅผ ์กฐ์ž‘ํ•˜์—ฌ ์˜๋„์น˜ ์•Š๋Š” ์ฃผ์†Œ๋กœ ์ ‘์†ํ•˜๋Š” ๊ณต๊ฒฉ
  • ๊ณต๊ฒฉ๋Œ€์ƒ์€ ์ •์ƒ์ ์ธ URL์„ ํ†ตํ•ด์„œ ์ ‘์†ํ•˜์ง€๋งŒ, ์‹ค์ œ๋กœ ๊ฐ€์งœ ์‚ฌ์ดํŠธ๋กœ ์ ‘์†๋œ๋‹ค

 

 

*** ํŒŒ์ผ์˜ ๊ตฌ์กฐ

- ์ˆœ์ฐจ ํŒŒ์ผ(Sequential File, ์ˆœ์„œ ํŒŒ์ผ) : ์ˆœ์ฐจ ํŒŒ์ผ์€ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋…ผ๋ฆฌ์ ์ธ ์ฒ˜๋ฆฌ ์ˆœ์„œ์— ๋”ฐ๋ผ ์—ฐ์†๋œ ๋ฌผ๋ฆฌ์  ๊ณต๊ฐ„์œผ๋กœ ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ

- ์ง์ ‘ ํŒŒ์ผ(Direct File) : ํŒŒ์ผ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์ž„์˜์˜ ๋ฌผ๋ฆฌ์  ์ €์žฅ๊ณต๊ฐ„์— ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ

- ์ƒ‰์ธ ์ˆœ์ฐจ ํŒŒ์ผ(Indexed Sequential File) : ์ˆœ์ฐจ ํŒŒ์ผ๊ณผ ์ง์ ‘ ํŒŒ์ผ์—์„œ ์ง€์›ํ•˜๋Š” ํŽธ์„ฑ ๋ฐฉ๋ฒ•์ด ๊ฒฐํ•ฉ๋œ ํ˜•ํƒœ

 

 

*** ๊ตฌ์กฐ์  ๋‹ค์ด์–ด๊ทธ๋žจ(Sturcture Diagram)

- ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ : ์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•˜๋Š” ํด๋ž˜์Šค๋“ค ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค

- ํŒจํ‚ค์ง€ ๋‹ค์ด์–ด๊ทธ๋žจ : ํด๋ž˜์Šค๋‚˜ ์œ ์Šค ์ผ€์ด์Šค ๋“ฑ์„ ํฌํ•จํ•œ ์—ฌ๋Ÿฌ ๋ชจ๋ธ ์š”์†Œ๋“ค์„ ๊ทธ๋ฃนํ™”ํ•˜์—ฌ ํŒจํ‚ค์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ํŒจํ‚ค์ง€ ๋“ค ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค

- ๋ณตํ•ฉ์ฒด ๊ตฌ์กฐ ๋‹ค์ด์–ด๊ทธ๋žจ : ๋ณตํ•ฉ ๊ตฌ์กฐ์˜ ํด๋ž˜์Šค์™€ ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค

- ๊ฐ์ฒด ๋‹ค์ด์–ด๊ทธ๋žจ : ๊ฐ์ฒด ์ •๋ณด๋ฅผ ๋ณด์—ฌ์ค€๋‹ค 

- ์ปดํฌ๋„ŒํŠธ ๋‹ค์ด์–ด๊ทธ๋žจ : ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐ ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค

- ๋ฐฐ์น˜ ๋‹ค์ด์–ด๊ทธ๋žจ : ์†Œํ”„ํŠธ์›จ์–ด, ํ•˜๋“œ์›จ์–ด, ๋„คํŠธ์›Œํฌ๋ฅผ ํฌํ•จํ•œ ์‹คํ–‰ ์‹œ์Šคํ…œ์˜ ๋ฌผ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค

 

 

*** ํ–‰์œ„ ๋‹ค์ด์–ด๊ทธ๋žจ(Behavior Diagram)

- ์œ ์Šค ์ผ€์ด์Šค ๋‹ค์ด์–ด๊ทธ๋žจ : ์‚ฌ์šฉ์ž ๊ด€์ ์—์„œ ์‹œ์Šคํ…œ ํ–‰์œ„๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค

- ํ™œ๋™ ๋‹ค์ด์–ด๊ทธ๋žจ : ์—…๋ฌด ์ฒ˜๋ฆฌ ๊ณผ์ •์—์„œ ์—ฐ์‚ฐ์ด ์ˆ˜ํ–‰๋˜๋Š” ๊ณผ์ •์„ ํ‘œํ˜„ํ•œ๋‹ค.

- ์ฝœ๋ผ๋ณด๋ ˆ์ด์…˜ ๋‹ค์ด์–ด๊ทธ๋žจ : ์ˆœ์ฐจ ๋‹ค์ด์–ด๊ทธ๋žจ๊ณผ ๊ฐ™์œผ๋ฉฐ ๋ชจ๋ธ๋ง ๊ณต๊ฐ„์— ์ œ์•ฝ์ด ์—†์–ด ๊ตฌ์กฐ์ ์ธ ๋ฉด์„ ์ค‘์‹œํ•œ๋‹ค.

- ์ƒํƒœ ๋จธ์‹  ๋‹ค์ด์–ด๊ทธ๋žจ : ๊ฐ์ฒด์˜ ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค.

- ์ˆœ์ฐจ ๋‹ค์ด์–ด๊ทธ๋žจ : ์‹œ๊ฐ„ ํ๋ฆ„์— ๋”ฐ๋ผ ๊ฐ์ฒด ์‚ฌ์ด์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ํ‘œํ˜„ํ•œ๋‹ค

- ํ†ต์‹  ๋‹ค์ด์–ด๊ทธ๋žจ : ๊ฐ์ฒด ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์ƒํ˜ธ์ž‘์šฉ์„ ํ‘œํ˜„ํ•œ๋‹ค

- ์ƒํ˜ธ์ž‘์šฉ ๋‹ค์ด์–ด๊ทธ๋žจ : ์—ฌ๋Ÿฌ ์ƒํ˜ธ์ž‘์šฉ ๋‹ค์ด์–ด๊ทธ๋žจ ์‚ฌ์ด์˜ ์ œ์–ด ํ๋ฆ„์„ ํ‘œํ˜„ํ•œ๋‹ค.

- ํƒ€์ด๋ฐ ๋‹ค์ด์–ด๊ทธ๋žจ : ๊ฐ์ฒด ์ƒํƒœ ๋ณ€ํ™”์™€ ์‹œ๊ฐ„ ์ œ์•ฝ์„ ๋ช…์‹œ์ ์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹ค.

 

 

*** UML ๊ด€๊ณ„

- ์ผ๋ฐ˜ํ™” ๊ด€๊ณ„(Generalization) : ํ•œ ํด๋ž˜์Šค๊ฐ€ ๋‹ค๋ฅธ ํด๋ž˜์Šค๋ฅผ ํฌํ•จํ•˜๋Š” ์ƒ์œ„ ๊ด€์กˆ์ผ ๋•Œ์˜ ๊ด€๊ณ„

- ์—ฐ๊ด€๊ด€๊ณ„(Accociation) : 2๊ฐœ ์ด์ƒ ์‚ฌ๋ฌผ์ด ์„œ๋กœ ๊ด€๋ จ๋œ ๊ด€๊ณ„

- ์˜์กด๊ด€๊ณ„(Dependency) : ์—ฐ๊ด€๊ด€๊ณ„์™€ ๊ฐ™์ด ํ•œ ํด๋ž˜์Šค๊ฐ€ ๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ๋•Œ ํ‘œ์‹œ, ์ผ์‹œ์ ์œผ๋กœ

- ์‹ค์ฒดํ™” ๊ด€๊ณ„(Realizatrion) : ํ•œ ๊ฐ์ฒด๊ฐ€ ๋‹ค๋ฅธ ๊ฐ์ฒด์—๊ฒŒ ์˜คํผ๋ ˆ์ด์…˜์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์ง€์ •

- ์ง‘ํ•ฉ ๊ด€๊ณ„ - ์ง‘์•ฝ๊ด€๊ณ„(Aggregation) : ํ•œ ๊ฐ์ฒด๊ฐ€ ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์†Œ์œ ํ•˜๋Š” 'has a'๊ด€๊ณ„

- ์ง‘ํ•ฉ ๊ด€๊ณ„ - ํ•ฉ์„ฑ๊ด€๊ณ„(Composition) : ๋ถ€๋ถ„ ๊ฐ์ฒด๊ฐ€ ์ „์ฒด ๊ฐ์ฒด์— ์†ํ•˜๋Š” ๊ด€๊ณ„๋กœ ๊ธด๋ฐ€ํ•œ ํ•„์ˆ˜์  ๊ด€๊ณ„

 

 

 

 


 

 

 

 

***** ๋””์ž์ธ ํŒจํ„ด ์ค‘ ํ–‰์œ„ ํŒจํ„ด

- Mediator : ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„์—์„œ ๊ฐ์ฒด ์ˆ˜๊ฐ€ ๋งŽ์•„์ง€๋ฉด ์„œ๋กœ ๊ฐ„ ํ†ต์‹ ์„ ์œ„ํ•ด ๋ณต์žกํ•ด์ ธ์„œ ๊ฐ์ฒด์ง€ํ–ฅ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋Š์Šจํ•œ ๊ฒฐํ•ฉ์˜ ํŠน์„ฑ์„ ํ•ด์น  ์ˆ˜ ์žˆ๊ธฐ์— ์ค‘๊ฐ„์—์„œ ์ด๋ฅผ ํ†ต์ œํ•˜๊ณ  ์ง€์‹œํ•  ์ˆ˜ ์žˆ๋Š” ์—ญํ• ์˜ ์ค‘์žฌ์ž๋ฅผ ๋‘๊ณ , ์ค‘์žฌ์ž์—๊ฒŒ ๋ชจ๋“  ๊ฒƒ์„ ์š”๊ตฌํ•˜์—ฌ ํ†ต์‹ ์˜ ๋นˆ๋„๋ฅผ ์ค„์—ฌ ๊ฐ์ฒด์ง€ํ–ฅ์˜ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ฒŒ ํ•ด์คŒ

- Interpreter : ์–ธ์–ด์˜ ๋‹ค์–‘ํ•œ ํ•ด์„, ๊ตฌ์ฒด์ ์œผ๋กœ ๊ตฌ๋ฌธ์„ ๋‚˜๋ˆ„๊ณ , ๊ทธ ๋ถ„๋ฆฌ๋œ ๊ตฌ๋ฌธ์˜ ํ•ด์„์„ ๋งก๋Š” ํด๋ž˜์Šค๋ฅผ ๊ฐ๊ฐ ์ž‘์„ฑํ•˜์—ฌ ์—ฌ๋Ÿฌ ํ˜•ํƒœ์˜ ์–ธ์–ด ๊ตฌ๋ฌธ์„ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ฌ

- .Iterator : ์ปฌ๋ ‰์…˜ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ ๋…ธ์ถœ์‹œํ‚ค์ง€ ์•Š์œผ๋ฉด์„œ๋„ ๊ทธ ์ง‘ํ•ฉ์ฒด ์•ˆ์— ๋“ค์–ด๊ฐ€์žˆ๋Š” ๋ชจ๋“  ํ•ญ๋ชฉ์— ์ ‘๊ทผํ•  ๋ฐฉ๋ฒ•์„ ์ œ๊ณต

- Template Method : ์–ด๋–ค ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ผ๋ถ€๋ถ„์„ ์„œ๋ธŒ ํด๋ž˜์Šค๋กœ ์บก์Šํ™”ํ•ด ์ „์ฒด ์ผ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ตฌ์กฐ๋Š” ๋ฐ”๊พธ์ง€ ์•Š์œผ๋ฉด์„œ ํŠน์ • ๋‹จ๊ณ„์—์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ๋‚ด์—ญ์„ ๋ฐ”๊ฟˆ

- Observer : ํ•œ ๊ฐ์ฒด์˜ ์ƒํƒœ๊ฐ€ ๋ฐ”๋€Œ๋ฉด ๊ทธ ๊ฐ์ฒด์— ์˜์กดํ•˜๋Š” ๋‹ค๋ฅธ ๊ฐ์ฒด๋“ค์— ์—ฐ๋ฝ์ด ๊ฐ€๊ณ  ์ž๋™์œผ๋กœ ๋‚ด์šฉ์ด ๊ฐฑ์‹ ๋˜๋Š” ๋ฐฉ๋ฒ•

- State : ๊ฐ์ฒด ์ƒํƒœ๋ฅผ ์บก์Šํ™”ํ•˜์—ฌ ํด๋ž˜์Šคํ™”ํ•จ์œผ๋กœ์จ ๊ทธ๊ฒƒ์„ ์ฐธ์กฐํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ์‹

- Visitor : ๊ฐ ํด๋ž˜์Šค ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋กœ๋ถ€ํ„ฐ ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ์„ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ณ„๋„์˜ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด ๋†“๊ณ  ํ•ด๋‹น ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ๊ฐ€ ๊ฐ ํด๋ž˜์Šค๋ฅผ ๋Œ์•„๋‹ค๋‹ˆ๋ฉฐ ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ๋งŒ๋“ฆ

- Command : ์‹คํ–‰๋  ๊ธฐ๋Šฅ์„ ์บก์Šํ™”ํ•จ์œผ๋กœ์จ ์ฃผ์–ด์ง„ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์žฌ์‚ฌ์šฉ์ด ๋†’์€ ํด๋ž˜์Šค๋ฅผ ์„ค๊ณ„

- Strategy : ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฐ์„ ์ •์˜ํ•˜๊ณ (์ถ”์ƒ ํด๋ž˜์Šค)๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐ๊ฐ ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋กœ ์บก์Šํ™”ํ•œ ๋‹ค์Œ, ํ•„์š”ํ•  ๋•Œ ์„œ๋กœ ๊ตํ™˜ํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ํŒจํ„ด

- Memento : ํด๋ž˜์Šค ์„ค๊ณ„ ๊ด€์ ์—์„œ ๊ฐ์ฒด์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ๋•Œ ์ ์šฉํ•˜๋Š” ๋””์ž์ธ ํŒจํ„ด

- Chain of Responsibility : ์ •์ ์œผ๋กœ ์–ด๋–ค ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ์˜ ์—ฐ๊ฒฐ์ด ํ•˜๋“œ ์ฝ”๋”ฉ์ด ์žˆ์„ ๋•Œ ๊ธฐ๋Šฅ์ฒ˜๋Ÿฌ์˜ ์—ฐ๊ฒฐ ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ๋ฐ, ์ด๋ฅผ ๋™์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ์ฒ˜๋ฆฌ๋  ์ˆ˜ ์žˆ๋„๋ก ์—ฐ๊ฒฐํ•œ ๋””์ž์ธ ํŒจํ„ด

 

 

 

 

์ž…๋ ฅ ๋ฐ์ดํ„ฐ ๊ฒ€์ฆ ๋ฐ ํ‘œํ˜„์— ๋Œ€ํ•œ ์ทจ์•ฝ์ 

- XSS(Cross Site Script) : ๊ฒ€์ฆ๋˜์ง€ ์•Š์€ ์™ธ๋ถ€ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋œ ์›น ํŽ˜์ด์ง€๊ฐ€ ์ „์†ก๋˜๋Š” ๊ฒฝ์šฐ, ์‚ฌ์šฉ์ž๊ฐ€ ํ•ด๋‹น ์›น ํŽ˜์ด์ง€๋ฅผ ์—ด๋žŒํ•จ์œผ๋กœ์จ ์›น ํŽ˜์ด์ง€์— ํฌํ•จ๋œ ๋ถ€์ ์ ˆํ•œ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ณต๊ฒฉ

- ์‚ฌ์ดํŠธ ๊ฐ„ ์š”์ฒญ ์œ„์กฐ(CSRF) :์‚ฌ์šฉ์ž๊ฐ€ ์ž์‹ ์˜ ์˜์ง€์™€๋Š” ๋ฌด๊ด€ํ•˜๊ฒŒ ๊ณต๊ฒฉ์ž๊ฐ€ ์˜๋„ํ•œ ํ–‰์œ„๋ฅผ ํŠน์ง• ์›น ์‚ฌ์ดํŠธ์— ์š”์ฒญํ•˜๊ฒŒ ํ•˜๋Š” ๊ณต๊ฒฉ

- SQL ์‚ฝ์ž…(Injection) : ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ์ด์šฉํ•ด์„œ ์•…์˜์ ์ธ sql ๊ตฌ๋ฌธ์„ ์‚ฝ์ž…, ์‹คํ–‰์‹œ์ผœ์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ ‘๊ทผ์„ ํ†ตํ•ด ์ •๋ณด๋ฅผ ํƒ•์ทจํ•˜๊ฑฐ๋‚˜ ์กฐ์ž‘ ๋“ฑ์„ ํ–‰์œ„ํ•˜๋Š” ๊ณต๊ฒฉ ๊ธฐ๋ฒ•

 

 

 

 

๊ณต๊ฒฉ๊ธฐ๋ฒ• , uml, ๋‹ค์ž์ธ ํŒจํ„ด ๋” ์ •๋ฆฌ...

728x90
๋ฐ˜์‘ํ˜•

'์ž๊ฒฉ์ฆ > ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ์‹ค๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ  (0) 2024.04.12
728x90
๋ฐ˜์‘ํ˜•

1. ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ ๊ตฌํ•˜๊ธฐ

 

1๋ฒˆ
IPv4 ์ฃผ์†Œ Aํด๋ž˜์Šค์— ๋Œ€ํ•œ ํ‘œ์ค€ ๋„คํŠธ์›Œํฌ ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ๋กœ ์˜ณ์€ ๊ฒƒ์€?

=> ๋‹ต :  255.0.0.0

=> ํ’€์ด :  192. 168. 0. 1
                  A      B   C  D
A ํด๋ž˜์Šค์˜ ํ‘œ์ค€ ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ : 255.0.0.0
B ํด๋ž˜์Šค์˜ ํ‘œ์ค€ ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ : 255.255.0.0
C ํด๋ž˜์Šค์˜ ํ‘œ์ค€ ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ : 255.255.255.0

 

2๋ฒˆ
๋‹ค์Œ ์ค‘ 192.168.0.1/25๊ฐ€ ์˜๋ฏธํ•˜๋Š” ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ ๊ฐ’์œผ๋กœ ์•Œ๋งž์€ ๊ฒƒ์€?

=> ๋‹ต : 255.255.255.128

=> ํ’€์ด : /25(์‚ฌ์ด๋‹ค ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ 25๋ผ๋Š” ์˜๋ฏธ)  
255.255.255. ~~~
  8     8     8
Cํด๋ž˜์Šค์˜ ๊ฒฝ์šฐ ์•ž์— ์žˆ๋Š” 24bit๋ฅผ ๋„คํŠธ์›Œํฌ ID๋กœ ์‚ฌ์šฉํ•œ๋‹ค
๋‚˜๋จธ์ง€ ๋’ท๋ถ€๋ถ„์„ ํ˜ธ์ŠคํŠธ ID๋กœ ์‚ฌ์šฉํ•œ๋‹ค
๋‚˜๋จธ์ง€ 1bit๋ฅผ ๋’ค์— ํ˜ธ์ŠคํŠธID์—์„œ ์‚ฌ์šฉํ•˜์—ฌ 10000000 => 128
... ์กฐํ•ฉํ•˜๋ฉด 255.255.255.128

 

++) ์•„๋ž˜ ๋‚ด์šฉ์— ํ•ด๋‹นํ•˜๋Š” ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ ๊ฐ’์€?
203.76.25.1/26
=> 255.255.255.192

 

3๋ฒˆ
IPv4์˜ Cํด๋ž˜์Šค ๋„คํŠธ์›Œํฌ๋ฅผ 26๊ฐœ์˜ ์„œ๋ธŒ๋„ท์œผ๋กœ ๋‚˜๋ˆ„๊ณ , ๊ฐ ์„œ๋ธŒ๋„ท์—๋Š” 4~5๊ฐœ์˜ ํ˜ธ์ŠคํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜๋ ค๊ณ  ํ•œ๋‹ค.
์ด๋Ÿฌํ•œ ์„œ๋ธŒ๋„ท์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ ๊ฐ’์€?

=> ๋‹ต :  255.255.255.248

=> ํ’€์ด :  1bit๋ฅผ ๊ฐ€์ง€๊ณ ๋Š” 2๊ฐœ์˜ ํšŒ์‚ฌ์—, 2bit๋Š” 4๊ฐœ, 3์€ 8๊ฐœ, 4๋Š” 16๊ฐœ...5bit๋ฅผ ๊ฐ€์ง€๊ณ ๋Š” 32๊ฐœ๋กœ ๋‚˜๋ˆŒ์ˆ˜ ์žˆ์–ด์„œ
                26๊ฐœ์˜ ์„œ๋ธŒ๋„ท์„ ๋ชจ๋‘ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค
          
11111000 => 128 + 64 + 32 + 16 + 8 = 248์ด๋ฏ€๋กœ ๋‹ต์€ 255.255.255.248

 

4๋ฒˆ
ํด๋ž˜์Šค B์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ 255.255.255.240์œผ๋กœ ์„œ๋ธŒ๋„ท์„ ๋งŒ๋“ค์—ˆ์„ ๋•Œ ๋‚˜์˜ค๋Š” ์„œ๋ธŒ๋„ท์˜ ์ˆ˜์™€ ํ˜ธ์ŠคํŠธ์˜ ์ˆ˜๊ฐ€ ๋งž๊ฒŒ ์ง์ง€์–ด์ง„ ๊ฒƒ์€?

=> ๋‹ต : ์„œ๋ธŒ๋„ท ์ˆ˜ : 4094 / ํ˜ธ์ŠคํŠธ ์ˆ˜ : 14

=> ํ’€์ด :์„œ๋ธŒ๋„ท : ๋ช‡๊ฐœ๋กœ ๋‚˜๋ˆŒ๊ฑด์ง€ / ํ˜ธ์ŠคํŠธ : ๋ช‡๊ฐœ์˜ ip๋ฅผ ํ• ๋‹น๋ฐ›์„ ์ˆ˜ ์žˆ๋Š”์ง€

255.255.255.240 => 1*8. 1*8. 1*8.11110000

์„œ๋ธŒ๋„ท : 2์˜ 12์Šน : 4094
ํ˜ธ์ŠคํŠธ : 2์˜ 4์Šน -2 : 14

 

 

728x90
๋ฐ˜์‘ํ˜•
728x90
๋ฐ˜์‘ํ˜•

๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด

  • ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ๊ฐœ์š”
  • ์—”ํ„ฐํ‹ฐ
  • ์†์„ฑ
  • ๊ด€๊ณ„ with ERD
  • ์‹๋ณ„์ž
  • ์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง
  • ์ •๊ทœํ™”
  • ๋ฐ˜์ •๊ทœํ™”
  • ๊ธฐํƒ€ ๋ง๋ฌธ์ œ ๊ฐœ๋… ์ •๋ฆฌ

 

1) ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ํŠน์ง•

  • ์ถ”์ƒํ™” : ํ˜„์‹ค ์„ธ๊ณ„๋ฅผ ์ผ์ •ํ•œ ํ˜•์‹์— ๋งž์ถฐ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•จ
  • ์ •ํ™•ํ™” : ๋ˆ„๊ตฌ๋‚˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ํ˜„์ƒ์„ ๊ธฐ์ˆ 
  • ๋‹จ์ˆœํ™” : ๋ณต์žกํ•œ ํ˜„์‹ค์„ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์ œํ•œ๋œ ์–ธ์–ด์™€ ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ๋‹จ์ˆœํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•จ
    >>> ํ˜„์‹ค์„ธ๊ณ„๋ฅผ ๋‹จ์ˆœํ•˜๊ฒŒ ์ถ”์ƒํ™”ํ•˜์—ฌ ์ •ํ™•ํ•˜๊ฒŒ ๊ณต์œ ํ•˜๋Š” ์ž‘์—…์ด ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง!!
  • ์ •๋ณด์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ์—…๋ฌด ๋ถ„์„ ๊ธฐ๋ฒ•
  • ํ˜„์‹ค์„ธ๊ณ„์˜ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์•ฝ์†๋œ ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ํ‘œํ˜„
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ๋ถ„์„๊ณผ ์„ค๊ณ„๋ฅผ ์œ„ํ•œ ๊ณผ์ •

 

๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์œ ์˜์‚ฌํ•ญ

  • ์ค‘๋ณต์„ฑ :  ์ค‘๋ณต์„ ์ตœ์†Œํ™”ํ•ด์•ผ ํ•จ(๊ฐ™์€ ์ •๋ณด๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ์ €์žฅํ•˜๋Š” ๊ฒƒ์€ ์ง€์–‘)
  • ๋น„์œ ์—ฐ์„ฑ : ๋ฐ์ดํ„ฐ์˜ ์ •์˜ <=> ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ ํ”„๋กœ์„ธ์Šค, ํ”„๋กœ๊ทธ๋žจ <=> ํ…Œ์ด๋ธ” ๊ฐ„์˜ ์—ฐ๊ณ„์„ฑ์„ ์ค„์—ฌ์„œ, 
             ๋ฐ์ดํ„ฐ ํ˜น์€ ํ”„๋กœ์„ธ์Šค์˜ ๋ณ€ํ™”๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ค‘๋Œ€ํ•œ ๋ณ€ํ™”๋ฅผ ์ดˆ๋ž˜ํ•˜์ง€ ์•Š๋„๋ก ์œ ์—ฐํ•˜๊ฒŒ ๊ด€๋ฆฌํ•ด์•ผ ํ•จ
  • ๋น„์ผ๊ด€์„ฑ : '์•ฝ์†๋œ ํ‘œ๊ธฐ๋ฒ•'์„ ์ค€์šฉํ•˜๋Š” ๋“ฑ ์—…๋ฌด๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜ํ•ด์„œ ์ •๋ณด ๊ด€๋ฆฌ์˜ ์ผ๊ด€์„ฑ์„ ์ตœ๋Œ€ํ™” ํ•ด์•ผํ•จ

 

๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ๋‹จ๊ณ„

  • ๊ฐœ๋…์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง : ์ถ”์ƒํ™” ์ˆ˜์ค€์ด ๋†’์Œ, ์ „์‚ฌ์  ๋ชจ๋ธ๋ง ์‹œ ๋งŽ์ด ํ•จ, ํฌ๊ด„์  ์ˆ˜์ค€์˜ ๋ชจ๋ธ๋ง
  • ๋…ผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง : Key, ์†์„ฑ, ๊ด€๊ณ„ ๋“ฑ์„ ์ •ํ™•ํžˆ ๊ธฐ์ˆ ํ•˜๋Š” ๋ชจ๋ธ๋ง
  • ๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง : ์‹ค์ œ๋กœ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์— ์ด์‹ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ €์žฅ, ์„ฑ๋Šฅ ๋“ฑ ๋ฌผ๋ฆฌ์ ์ธ ํŠน์„ฑ์„ ๊ณ ๋ คํ•œ ๋ชจ๋ธ๋ง

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๊ตฌ์กฐ 3๋‹จ๊ณ„

  • ์™ธ๋ถ€์Šคํ‚ค๋งˆ : [์‚ฌ์šฉ์ž ๊ด€์ ] ์‘์šฉํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ณ„ ์‚ฌ์šฉ์ž ๊ด€์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ •์˜ํ•˜๋Š” ๊ตฌ์กฐ
  • ๊ฐœ๋…์Šคํ‚ค๋งˆ : [ํ†ตํ•ฉ ๊ด€์ ] ๋ชจ๋“  ์‚ฌ์šฉ์ž์˜ ๊ด€์ ์„ ํ†ตํ•ฉํ•œ ์กฐ์ง ์ „์ฒด์˜ ๊ด€์ ์˜ ํ†ตํ•ฉ์  ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๊ตฌ์กฐ
  • ๋‚ด๋ถ€์Šคํ‚ค๋งˆ : [๊ฐœ๋ฐœ์ž ๊ด€์ ] ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ €์žฅํ•  ๊ฒƒ์ธ์ง€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฌผ๋ฆฌ์  ์ €์žฅ ๊ตฌ์กฐ

 

๋ฐ์ดํ„ฐ์˜ ๊ตฌ์„ฑ

 

์—”ํ„ฐํ‹ฐ(Entity) ์ค‘์š”!!!

  • ํ•ด๋‹น ์—…๋ฌด์—์„œ ํ•„์š”ํ•˜๊ณ  ๊ด€๋ฆฌํ•ด์•ผํ•˜๋Š” ์ •๋ณด์—ฌ์•ผ ํ•จ
  • ์œ ์ผํ•œ ์‹๋ณ„์ž์— ์˜ํ•ด ์‹๋ณ„์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ (ex ํšŒ์› ํ…Œ์ด๋ธ” ์ƒ ๊ณ ๊ฐ๋ฒˆํ˜ธ)
  • ํ•˜๋‚˜์˜ ์—”ํ„ฐํ‹ฐ๋Š” ๋ฐ˜๋“œ์‹œ 2๊ฐœ ์ด์ƒ์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€์ ธ์•ผ ํ•จ
  • ํ•˜๋‚˜์˜ ์—”ํ„ฐํ‹ฐ๋Š” ๋ฐ˜๋“œ์‹œ ์†์„ฑ์ด ์žˆ์–ด์•ผ ํ•จ (2๊ฐœ ์ด์ƒ)
  • ํ•˜๋‚˜์˜ ์—”ํ„ฐํ‹ฐ๋Š” ๋ฐ˜๋“œ์‹œ 1๊ฐœ ์ด์ƒ์˜ ๊ด€๊ณ„๊ฐ€ ์žˆ์–ด์•ผ ํ•จ (ํ†ต๊ณ„์„ฑ, ์ฝ”๋“œ์„ฑ ์—”ํ„ฐํ‹ฐ ์ œ์™ธ)

 

- ๋ฐœ์ƒ ์‹œ์ ์— ๋”ฐ๋ฅธ ์—”ํ„ฐํ‹ฐ ๋ถ„๋ฅ˜

  • ๊ธฐ๋ณธ์—”ํ„ฐํ‹ฐ : ๋…๋ฆฝ์  ์ƒ์„ฑ๋˜๋Š” ์—”ํ„ฐํ‹ฐ
  • ์ค‘์‹ฌ์—”ํ„ฐํ‹ฐ : ๊ธฐ๋ณธ ์—”ํ„ฐํ‹ฐ๋กœ๋ถ€ํ„ฐ ๋ฐœ์ƒํ•˜๊ณ  ํ–‰์œ„ ์—”ํ„ฐํ‹ฐ๋ฅผ ์ƒ์„ฑํ•จ
  • ํ–‰์œ„์—”ํ„ฐํ‹ฐ : ๊ธฐ๋ณธ, ์ค‘์‹ฌ ์—”ํ„ฐํ‹ฐ ๋“ฑ 2๊ฐœ ์ด์ƒ์˜ ์—”ํ„ฐํ‹ฐ๋กœ๋ถ€ํ„ฐ ๋ฐœ์ƒํ•จ

 

- ๋ฌผ๋ฆฌ์  ํ˜•ํƒœ์— ๋”ฐ๋ฅธ ์—”ํ„ฐํ‹ฐ ๋ถ„๋ฅ˜

  • ์œ ํ˜•์—”ํ„ฐํ‹ฐ : ๋ฌผ๋ฆฌ์  ํ˜•ํƒœ๊ฐ€ ์žˆ๋Š” ์—”ํ„ฐํ‹ฐ
  • ๊ฐœ๋…์—”ํ„ฐํ‹ฐ : ๋ฌผ๋ฆฌ์  ํ˜•ํƒœ๋Š” ์—†์ง€๋งŒ ๊ด€๋ฆฌํ•ด์•ผํ•˜๋Š” ๊ฐœ๋…์  ์ •๋ณด
  • ์‚ฌ์ „์—”ํ„ฐํ‹ฐ : ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค ์ค‘ ์ƒ๊ธฐ๋Š” ์—”ํ„ฐํ‹ฐ

 

 

์†์„ฑ(Column)

  • ์ธ์Šคํ„ด์Šค์—์„œ ๊ด€๋ฆฌํ•˜๊ณ ์ž ํ•˜๋Š” ์˜๋ฏธ๊ฐ€ ๋” ์ด์ƒ ๋ถ€๋ฆฌ๋˜์ง€ ์•Š๋Š” ์ตœ์†Œ์˜ ๋ฐ์ดํ„ฐ ๋‹จ์œ„
  • 1๊ฐœ์˜ ์†์„ฑ์€ 1๊ฐœ์˜ ์†์„ฑ๊ฐ’์„ ๊ฐ€์ง„๋‹ค
  • ๊ธฐ๋ณธ์†์„ฑ / ์„ค๊ณ„์†์„ฑ / ํŒŒ์ƒ์†์„ฑ
    - ์„ค๊ณ„ ์†์„ฑ : ์ฝ”๋“œ์„ฑ ์ปฌ๋Ÿผ, ์ผ๋ จ๋ฒˆํ˜ธ ๋“ฑ ๊ทœ์น™ํ™”๋ฅผ ์œ„ํ•œ ์†์„ฑ
    - ํŒŒ์ƒ ์†์„ฑ : ๊ณ„์‚ฐ๋œ ๊ฐ’ (ํ…Œ์ด๋ธ” ๋‚ด์— ์ ์„์ˆ˜๋ก ์ข‹์Œ)
    - ๊ธฐ๋ณธ ์†์„ฑ : ์—…๋ฌด์ƒ ๋ฐ”๋กœ ์ •์˜๊ฐ€ ๊ฐ€๋Šฅํ•œ ์†์„ฑ(์ด๋ฆ„, ๊ณ„์ขŒ๋ฒˆํ˜ธ, ์ฃผ๋ฌธ์ผ์ž..)

 

EX) ์€ํ–‰์€ ๊ณ ๊ฐ์—๊ฒŒ ์ง€๊ธ‰๋˜๋Š” ์›”๋‹จ์œ„ '์ด์ž'๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ ์ž ํ•œ๋‹ค. ์ด๋•Œ ์ด์ž๋Š” ์–ด๋–ค ์†์„ฑ์ผ๊นŒ? ํŒŒ์ƒ์†์„ฑ

ex) ๊ทธ๋ ‡๋‹ค๋ฉด, ์˜ˆ๊ธˆ ๋ถ„๋ฅ˜์— ๋”ฐ๋ผ ๊ด€๋ฆฌ๋˜๋Š” '์ด์ž์œจ'์€ ์–ด๋–ค ์†์ƒ์ผ๊นŒ? ๊ธฐ๋ณธ์†์„ฑ

 

  • ๊ฐ ์†์„ฑ์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ์†์„ฑ์˜ '๋„๋ฉ”์ผ'์ด๋ผ๊ณ  ํ•จ (๋ฐ์ดํ„ฐ ํƒ€์ž…, ํฌ๊ธฐ, ์ œ์•ฝ์‚ฌํ•ญ ๋“ฑ ์ง€์ •)
    ex) ์€ํ–‰๊ณ„์ขŒ ๋ผ๋Š” ์—”ํ„ฐํ‹ฐ๊ฐ€ ์žˆ์„ ๋•Œ, ๊ณ„์ขŒ๋ช…์ด๋ผ๋Š” ์†์„ฑ์€ ๊ธธ์ด๊ฐ€ 20์ž๋ฆฌ ์ด๋‚ด์˜ ๋ฌธ์ž์—ด๋กœ ์ •์˜

 

๊ด€๊ณ„ with ERD(Entity-Relationship Model)

  • ํ•˜๋‚˜์˜ ์—”ํ„ฐํ‹ฐ๋Š” 1๊ฐœ ์ด์ƒ์˜ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ ธ์•ผ ํ•จ(ํ†ต๊ณ„์„ฑ, ์ฝ”๋“œ์„ฑ ์—”ํ„ฐํ‹ฐ ์ œ์™ธ)
  • ๊ด€๊ณ„์˜ ๊ตฌ๋ถ„ : ํ–‰์œ„์— ์˜ํ•œ ๊ด€๊ณ„, ์กด์žฌ์— ์˜ํ•œ ๊ด€๊ณ„
    >> ERD ์—์„œ๋Š” ๋‘ ๊ด€๊ณ„๋ฅผ ๊ตฌ๋ถ„์—†์ด ๋™์ผํ•œ ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ํ‘œํ˜„ํ•จ
    (๋‹จ, ํด๋ž˜์Šค๋‹ค์ด์–ด๊ทธ๋žจ์—์„œ๋Š” ๊ตฌ๋ถ„ํ•˜์—ฌ ์—ฐ๊ด€๊ด€๊ณ„์™€ ์˜์กด๊ด€๊ณ„๋กœ ์‹ค์„ ๊ณผ ์ ์„ ์˜ ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ๋‹ค๋ฅด๊ฒŒ ํ‘œํ˜„ํ•จ)

 

* ๋‘ ๊ฐœ์˜ ์—”ํ„ฐํ‹ฐ ์‚ฌ์ด์—์„œ ๊ด€๊ณ„๋ฅผ ๋„์ถœํ•  ๋•Œ ์ฒดํฌํ•ด์•ผ ํ•˜๋Š” ์‚ฌํ•ญ

  • ๊ด€์‹ฌ์žˆ๋Š” ์—ฐ๊ด€๊ทœ์น™ ์—ฌ๋ถ€
  • ์ •๋ณด์˜ ์กฐํ•ฉ ์—ฌ๋ถ€
  • ์—…๋ฌด๊ธฐ์ˆ ์„œ, ์žฅํ‘œ์— ๊ด€๊ณ„์—ฐ๊ฒฐ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๋™์‚ฌ ์—ฌ๋ถ€
  • ์—…๋ฌด๊ธฐ์ˆ ์„œ, ์žฅํ‘œ์— ๊ด€๊ณ„์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ๊ทœ์น™ ์„œ์ˆ  ์—ฌ๋ถ€

 

* ERD ์ž‘์„ฑ์ˆœ์„œ

1) ์—”ํ„ฐํ‹ฐ ๋„์ถœ & ๊ทธ๋ฆฌ๊ธฐ

2) ์—”ํ„ฐํ‹ฐ ๋ฐฐ์น˜(๊ฐ€์žฅ ์ค‘์š”ํ•œ ์—”ํ„ฐํ‹ฐ๋ฅผ ์ขŒ์ธก ์ƒ๋‹จ์— ๋ฐฐ์น˜, ์ถ”๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์—”ํ„ฐํ‹ฐ๋Š” ์šฐ์ธก๊ณผ ํ•˜๋‹จ์— ๋ฐฐ์น˜)

 

3) ์—”ํ„ฐํ‹ฐ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์„ค์ •

4) ์—”ํ„ฐํ‹ฐ ๊ฐ„์˜ ๊ด€๊ณ„๋ช… ๊ธฐ์ˆ 

 

์‹๋ณ„๊ด€๊ณ„์™€ ๋น„์‹๋ณ„๊ด€๊ณ„!!!

 

5) ๊ด€๊ณ„์˜ ์ฐธ์—ฌ๋„ ๊ธฐ์ˆ (1:1, 1:N, M:N)

6) ๊ด€๊ณ„์˜ ํ•„์ˆ˜์—ฌ๋ถ€ ๊ธฐ์ˆ (ํ•„์ˆ˜์  ๊ด€๊ณ„ : I, ์„ ํƒ์  ๊ด€๊ณ„ : O)

 

 

์‹๋ณ„์ž ๊ตฌ๋ถ„

 

๋Œ€ํ‘œ์„ฑ ์—ฌ๋ถ€

  • ์ฃผ์‹๋ณ„์ž : ์œ ์ผ์„ฑ, ์ตœ์†Œ์„ฑ, ๋Œ€ํ‘œ์„ฑ์„ ๋งŒ์กฑํ•˜๋Š” ์‹๋ณ„์ž์ด๋ฉฐ ํƒ€ ์—”ํ„ฐํ‹ฐ์™€ ์ฐธ์กฐ ๊ด€๊ณ„๋กœ ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋‹ค.(Primary Key)
  • ๋ณด์กฐ์‹๋ณ„์ž : ์œ ์ผ์„ฑ, ์ตœ์†Œ์„ฑ์€ ๋งŒ์กฑํ•˜์ง€๋งŒ ๋Œ€ํ‘œ์„ฑ์„ ๊ฐ–์ง€ ๋ชปํ•˜๋Š” ์‹๋ณ„์ž์ด๋‹ค.

์†์„ฑ์˜ ์ˆ˜

  • ๋‹จ์ผ ์‹๋ณ„์ž
  • ๋ณตํ•ฉ ์‹๋ณ„์ž : 2๊ฐธ ์ด์ƒ์˜ ์†์„ฑ์„ ๊ตฌ์„ฑ๋œ ์‹๋ณ„์ž

 

 

์Šค์Šค๋กœ ์ƒ์„ฑ ์—ฌ๋ถ€

  • ๋‚ด๋ถ€ ์‹๋ณ„์ž : ์—”ํ„ฐํ‹ฐ ๋‚ด์—์„œ ์ƒ์„ฑ๋œ ์‹๋ณ„์ž
  • ์™ธ๋ถ€ ์‹๋ณ„์ž : ํƒ€ ์—”ํ„ฐํ‹ฐ์™€์˜ ๊ด€๊ณ„๋ฅผ ํ†ตํ•ด ๋ฐ›์•„์˜ค๋Š” ์‹๋ณ„์ž(Foreign Key)

๋Œ€์ฒด ์—ฌ๋ถ€

  • ๋ณธ์งˆ ์‹๋ณ„์ž : ์—…๋ฌด์— ์˜ํ•ด ๋งŒ๋“ค์–ด์ง€๋Š” ์‹๋ณ„์ž
  • ์ธ์กฐ ์‹๋ณ„์ž : ๋ณต์žกํ•œ ์›์กฐ ์‹๋ณ„์ž ๋Œ€์‹ ์— ์ธ์œ„์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์‹๋ณ„์ž(ex. ์ผ๋ จ๋ฒˆํ˜ธ)

 

์ฃผ์‹๋ณ„์ž

  • ์œ ์ผ์„ฑ : ์ฃผ์‹๋ณ„์ž์— ์˜ํ•ด ์—”ํ„ฐํ‹ฐ ์† ๋ชจ๋“  ์ธ์Šคํ„ด์Šค๋“ค์ด ์œ ์ผํ•˜๊ฒŒ ๊ตฌ๋ถ„๋  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ
  • ์ตœ์†Œ์„ฑ : ์ฃผ์‹๋ณ„์ž๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์†์„ฑ์˜ ์ˆ˜๋Š” ์œ ์ผ์„ฑ์„ ๋งŒ์กฑํ•˜๋Š” ์ตœ์†Œ์˜ ์ˆ˜๊ฐ€ ๋˜์–ด์•ผ ํ•จ
  • ๋ถˆ๋ณ€์„ฑ : ์ง€์ •๋œ ์ฃผ์‹๋ณ„์ž์˜ ๊ฐ’์€ ์ž์ฃผ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด์–ด์•ผ ํ•จ
  • ์กด์žฌ์„ฑ : ์ฃผ์‹๋ณ„์ž๊ฐ€ ์ง€์ •๋˜๋ฉด ๋ฐ˜๋“œ์‹œ ๊ฐ’์ด ์žˆ์–ด์•ผ ํ•จ(NULL)

 

2) ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๊ณผ ์„ฑ๋Šฅ

 

์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ๋ถ„์„/์„ค๊ณ„ ๋‹จ๊ณ„๋ถ€ํ„ฐ ์„ฑ๋Šฅ๊ณผ ๊ด€๋ จ๋œ ์‚ฌํ•ญ์ด ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ฆฌ์— ๋ฐ˜์˜๋˜๋„๋ก ํ•˜๋Š” ๊ฒƒ
  • ๋ฐ์ดํ„ฐ์˜ ์ฆ๊ฐ€๊ฐ€ ๋น ๋ฅผ์ˆ˜๋ก ์„ฑ๋Šฅ ๊ฐœ์„  ๋น„์šฉ์ด ์ฆ๊ฐ€ํ•จ
  • ์„ค๊ณ„๋‹จ๊ณ„๋ถ€ํ„ฐ ๊ณ ๋ คํ•  ์…ฉ์šฐ ๋น„์šฉ ์ตœ์†Œํ™”๊ฐ€ ๊ฐ€๋Šฅํ•จ

 

์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์ˆœ์„œ

  1. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์‹œ ์ •๊ทœํ™”๋ฅผ ์ •ํ™•ํžˆ ์ˆ˜ํ–‰ํ•จ
  2. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์šฉ๋Ÿ‰์„ ์‚ฐ์ •ํ•จ
  3. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐœ์ƒํ•˜๋Š” ํŠธ๋žœ์žญ์…˜ ์œ ํ˜•์„ ํŒŒ์•…ํ•จ
  4. ์šฉ๋Ÿ‰๊ณผ ํŠธ๋žœ์žญ์…˜์˜ ์œ ํ˜•์— ๋”ฐ๋ผ ๋ฐ˜์ •๊ทœํ™”๋ฅผ ์ˆ˜ํ–‰ํ•จ
  5. ์ด๋ ฅ๋ชจ๋ธ, PK/FK ์กฐ์ •, ์Šˆํผํƒ€์ž…/์„œ๋ธŒํƒ€์ž… ์กฐ์ •์„ ์ˆ˜ํ–‰ํ•จ

 

์ •๊ทœํ™”๋ž€?

  • ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํ•ดํ•˜๋Š” ๊ณผ์ •
  • ๋ชฉ์  : ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์„ ์ตœ์†Œํ™”ํ•˜๊ณ , ์œ ์—ฐ์„ฑ์„ ๊ฐ€์ง€๋ฉฐ, ๋ณ€๊ฒฝ์„ ์ตœ์†Œํ™”ํ•˜๊ณ , ๋ฐ์ดํ„ฐ๊ฐ€ ์ผ๊ด€๋  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ์ œ 1~5 ์ •๊ทœํ™”๊ฐ€ ์žˆ์ง€๋งŒ, ์ฃผ๋กœ 1~3 ์ •๊ทœํ™”๊นŒ์ง€ ์ˆ˜ํ–‰ํ•จ

 

* ์ œ1์ •๊ทœํ™”

  • ๊ธฐ๋ณธํ‚ค๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ณผ์ •
  • ์†์„ฑ์˜ ์›์ž์„ฑ๊ณผ ์—”ํ„ฐํ‹ฐ์˜ ์œ ์ผ์„ฑ์„ ํ™•๋ณดํ•จ
  • ๋ชจ๋“  ์†์„ฑ์ด ์‹๋ณ„์ž์— ์ข…์†๋˜์–ด์•ผ ํ•จ
    X๊ฐ€ ๋ณ€ํ•˜๋ฉด Y๊ฐ€ ๋ณ€ํ•œ๋‹ค(T๋Š” X์— ํ•จ์ˆ˜์ ์œผ๋กœ ์ข…์†๋จ)
    ์‹๋ณ„์ž๊ฐ€ ๋ณ€ํ•˜๋ฉด ์†์„ฑ์ด ๋ณ€ํ•จ
  • ์†์„ฑ๊ฐ’์˜ ์ค‘๋ณต ์—ฌ๋ถ€ ์ฒดํฌ! (๋‹จ์ผ -> ๋ณตํ•ฉ ์ˆœ)

๋งค์žฅ ์ฝ”๋“œ์™€ ๋ฉ”๋‰ด ์ฝ”๋“œ์— ๋”ฐ๋ผ ๊ฐ€๊ฒฉ์ด ๋ณ€๋™๋˜๋ฏ€๋กœ ๋งค์žฅ ์ฝ”๋“œ์™€ ๋ฉ”๋‰ด์ฝ”๋“œ๋ฅผ ์‹๋ณ„์ž๋กœ ์„ ์ •

 

* ์ œ2์ •๊ทœํ™”

  • ๊ธฐ๋ณธํ‚ค๊ฐ€ 2๊ฐœ ์ด์ƒ์œผ๋กœ ๊ตฌ์„ฑ๋  ๊ฒฝ์šฐ ์ˆ˜ํ–‰ํ•จ
  • ๋ชจ๋“  ์†์„ฑ(์ง€์—ญ๋ช…, ์ ์ฃผ๋ช…, ๋ฉ”๋‰ด๋ช…, ์ถœ์‹œ์ผ, ๊ฐ€๊ฒฉ)์ด ์‹๋ณ„์ž์— ์ข…์†ํ•ด์•ผํ•˜๋ฉฐ, ์•„๋‹ˆ๋ฉด ๋ถ„ํ•ดํ•ด์•ผ ํ•จ
  • ๋ถ€๋ถ„ํ•จ์ˆ˜ ์ข…์†์„ฑ์„ ๋ถ„ํ•ดํ•จ
  • ์ฃผ์‹๋ณ„์ž ์ค‘ ์ผ๋ถ€๋กœ๋ถ€ํ„ฐ ๋…๋ฆฝํ•˜์—ฌ 1:M ์˜ ๊ด€๊ณ„๋กœ ์žฌ์„ค๊ณ„

 

* ์ œ 3์ •๊ทœํ™”

  • ๊ธฐ๋ณธํ‚ค ์™ธ์— ์ปฌ๋Ÿผ๊ฐ„ ์ข…์†์„ฑ์„ ์ œ๊ฑฐํ•จ
  • ์ดํ–‰ ํ•จ์ˆ˜ ์ข…์†์„ฑ ์ œ๊ฑฐ

 

๋ฐ˜์ •๊ทœํ™”

  • ์ •๊ทœํ™”๋ฅผ ํ–ˆ์„ ๋•Œ ์„ฑ๋Šฅ์ด ๋”์šฑ ์•…ํ™”๋  ๊ฒฝ์šฐ, ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜๊ณ  ์กฐ์ธ์„ ์ค„์—ฌ์„œ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•

 

๋ฐ˜์ •๊ทœํ™” ๊ธฐ๋ฒ•(์ปฌ๋Ÿผ & ํ…Œ์ด๋ธ”)

* ์ปฌ๋Ÿผ ์ถ”๊ฐ€ - ์ค‘๋ณต ์ปฌ๋Ÿผ ์ถ”๊ฐ€, ํŒŒ์ƒ์ปฌ๋Ÿผ ์ถ”๊ฐ€(ex. ๊ณ„์‚ฐ๋œ ์ปฌ๋Ÿผ), ์ด๋ ฅํ…Œ์ด๋ธ” ์ปฌ๋Ÿผ ์ถ”๊ฐ€, PK์— ์˜ํ•œ ์นผ๋Ÿผ ์ถ”๊ฐ€ ๋“ฑ

ex) ์ค‘๋ณต ์ปฌ๋Ÿผ ์ถ”๊ฐ€
      A ํ…Œ์ด๋ธ”์— ์žˆ๋Š” a, b ์ •๋ณด๋ฅผ ์กฐํšŒํ•  ๋•Œ, C ํ…Œ์ด๋ธ”์˜ c ์ •๋ณด์™€ D ํ…Œ์ด๋ธ”์˜ d์ •๋ณด๋ฅผ ๋Š˜ ํ•จ๊ป˜ ์กฐํšŒํ•œ๋‹ค๋ฉด?

     >>> ๊ณผ๋„ํ•œ ์กฐ์ธ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด A ํ…Œ์ด๋ธ”์— c, d ์ปฌ๋Ÿผ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์กฐํšŒ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค.

 

ex) ํŒŒ์ƒ์ปฌ๋Ÿผ ์ถ”๊ฐ€

      ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์„ JOINํ•ด์„œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ •๋ณด ๊ฐ’์ด ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค๋ฉด?

      >>> ๋ฏธ๋ฆฌ ๊ณ„์‚ฐ๋œ ์ปฌ๋Ÿผ์„ ์ถ”๊ฐ€ํ•ด๋‘”๋‹ค. ex) SUM(๋‹จ๊ธฐ)

 

 

* ํ…Œ์ด๋ธ” ๋ณ‘๋ฐฅ / ํ…Œ์ด๋ธ” ๋ถ„ํ•  / ํ…Œ์ด๋ธ” ์ถ”๊ฐ€

  • ํ…Œ์ด๋ธ” ๋ณ‘ํ•ฉ : 1:1๊ด€๊ณ„ ํ…Œ์ด๋ธ” ๋ณ‘ํ•ฉ, 1:M ๊ด€๊ณ„ ํ…Œ์ด๋ธ” ๋ณ‘ํ•ฉ, ์Šˆํผ/์„œ๋ธŒํƒ€์ž… ํ…Œ์ด๋ธ” ๋ณ‘ํ•ฉ
    * ์Šˆํผ ํƒ€์ž…(ํšŒ์›œ) <=> ์„œ๋ธŒ ํƒ€์ž…(๊ฐœ์ธํšŒ์›, ๋ฒ•์ธํšŒ์›)
  • ํ…Œ์ด๋ธ” ๋ถ„ํ• 
    * ์ˆ˜์ง๋ถ„ํ•  : [a, b, c, d] ์ปฌ๋Ÿผ -> [a,b] [c,d] ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ณด๊ด€
    * ์ˆ˜ํ‰๋ถ„ํ•  : ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ํ…Œ์ด๋ธ” ๋ถ„ํ• (Partition ๊ธฐ๋ฒ•)
    ex. ๋ฉ”์ผ ์Œ’์ด๋Š” ๊ณ ๊ฐ๋ณ„ ์œ„์น˜ ์ •๋ณด๋ฅผ ํ•œ ํ…Œ์ด๋ธ”์— ๋„ฃ์–ด๋‘๋ฉด ์—‘์„ธ์Šค ๋ฒ”์œ„๊ฐ€ ๋„“์Œ -> ์—ฐ๋„๋ณ„๋กœ ์ชผ๊ฐœ์„œ ์ €์žฅ
  • ํ…Œ์ด๋ธ” ์ถ”๊ฐ€ : ์ค‘๋ณตํ…Œ์ด๋ธ”, ํ†ต๊ณ„ํ…Œ์ด๋ธ”, ์ด๋ ฅํ…Œ์ด๋ธ”, ๋ถ€๋ถ„ํ…Œ์ด๋ธ”

 

๊ธฐํƒ€ ์„ฑ๋Šฅ๊ด€๋ จ ๋ง๋ฌธ์ œ ๊ฐœ๋… ์ •๋ฆฌ

 

1. ํ•œ ํ…Œ์ด๋ธ”์— ๋„ˆ๋ฌด ๋งŽ์€ ์นผ๋Ÿผ์ด ์กด์žฌํ•˜๋ฉฐ ๋กœ์šฐ์ฒด์ด๋‹˜์ด ๋ฐœ์ƒํ•˜๋Š” ๋“ฑ ์กฐํšŒ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด
=> ํŠธ๋žœ์žญ์…˜์ด ์ ‘๊ทผํ•˜๋Š” ์ปฌ๋Ÿผ ์œ ํ˜•์„ ๋ถ„์„ํ•ด ํ…Œ์ด๋ธ”์„ ๋ถ„๋ฆฌํ•˜๋ฉด, ๋””์Šคํฌ I/O๊ฐ€ ์ค„์–ด์„œ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋  ์ˆ˜ ์žˆ๋‹ค.

2. WHERE๋ฌธ์„ ํ†ตํ•ด ์กฐํšŒ๋ฅผ ํ•  ๋•Œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” PK ์ˆœ์œผ๋กœ ์ˆœ์„œ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์„ฑ๋Šฅ์— ์œ ๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค
ex) WHERE ์ง€์—ญ๋ช… = '์„œ์šธ' AND ์ถœ์‹œ์ผ BETWEEN '20220101' AND '20220331'
-> (1) ์ƒ์ˆ˜๊ฐ’์œผ๋กœ ์กฐํšŒํ•˜๋Š” PK(2) ๋ฒ”์œ„๋กœ ์กฐํšŒํ•˜๋Š” PK ์ˆœ
-> ์•ž์ชฝ์— ์œ„์น˜ํ•œ ์†์„ฑ์˜ ๊ฐ’์ด ๊ฐ€๊ธ‰์  '=', ์ตœ์†Œํ•œ ๋ฒ”์œ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” 'BETWEEN', '<' '>'๊ฐ€ ๋“ค์–ด์™€์•ผ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

3. ํŠธ๋žœ์žญ์…˜์˜ ํ†ตํ•ฉ / ๊ฐœ๋ณ„ ์ฒ˜๋ฆฌ ์ผ€์ด์Šค
- ๋ฐ์ดํ„ฐ ์ „์ฒด๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ผ๊ด„ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ํ…Œ์ด๋ธ”์ด ๋ถ„๋ฆฌ๋˜์–ด ๊ฐœ๋ณ„๋กœ ๊ด€๋ฆฌํ•˜๋ฉด ์˜คํžˆ๋ ค ์—ฐ์‚ฐ๋Ÿ‰์„ ๋Š˜๋ฆด ์ˆ˜ ์žˆ๊ณ 
- ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐœ๋ณ„๋กœ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ํ…Œ์ด๋ธ”์€ ํ•˜๋‚˜๋กœ ํ†ตํ•ฉ๋˜์–ด ๊ด€๋ฆฌํ•˜๋ฉด ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๋งŽ์€ ๋ฐ์ดํ„ฐ์˜ ์ง‘์ ์œผ๋กœ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Œ
-> ํŠธ๋žœ์žญ์…˜์„ ํ†ตํ•ฉํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๋ฉด ํ†ตํ•ฉํ•ด๋‘๋Š” ๊ฒƒ์ด ์„ฑ๋Šฅ์— ์ข‹๊ณ , ๊ฐœ๋ณ„๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉด ๊ฐœ๋ณ„๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค

 

 

728x90
๋ฐ˜์‘ํ˜•
728x90
๋ฐ˜์‘ํ˜•

 

1) JOIN : ํ…Œ์ด๋ธ” ๊ฐ„์˜ ๊ฒฐํ•ฉ / ์ง‘ํ•ฉ๊ณผ ์œ ์‚ฌํ•จ!

*๊ต์ง‘ํ•ฉ & ํ•ฉ์ง‘ํ•ฉ 

  • INNER JOIN
  • LEFT (OUTER) JOIN
  • RIGHT (OUTER) JOIN
  • (FULL) OUTER JOIN

 

* ํ•ฉ์ง‘ํ•ฉ

- UNION (ALL)

 

* ์ฐจ์ง‘ํ•ฉ

- MINUS (#orable) = EXCEPT (#SQL Server)

 

* ๊ฒฐํ•ฉ๋˜๋Š” ๋Œ€์ƒ๊ฐ„์˜ ์ผ์น˜ ์ •๋„

- EQUI ์กฐ์ธ <> non-EQUI ์กฐ์ธ

 

* ์กฐ๊ฑด๊ตฌ ์—†๋Š” CROSS JOIN(์ƒํ˜ธ ๊ฒฐํ•ฉ)

 

INNER JOIN

์™„์ „ํ•œ ๊ต์ง‘ํ•ฉ๋งŒ ๊ฐ€์ ธ์˜ฌ ๋–„ INNER JOIN์„ ์‚ฌ์šฉํ•œ๋‹ค

 

INNER JOIN ํ‘œํ˜„ ๋ฐฉ์‹ 2๊ฐ€์ง€

1๋ฒˆ
SELECT A.*, B.์—ฐ๋ น
FROM GENDER A INNER JOIN AGE B
         ON A.ํšŒ์›์ฝ”๋“œ = B.ํšŒ์›์ฝ”๋“œ
WHERE A.์„ฑ๋ณ„ = 'F';

2๋ฒˆ.
SELECT A.*, B.์—ฐ๋ น
FROM GENDER A, AGE B
WHERE A.ํšŒ์›์ฝ”๋“œ = B.ํšŒ์›์ฝ”๋“œ
           AND A.์„ฑ๋ณ„ = 'F';

 

 

LEFT (OUTER) JOIN

 

 

LEFT (OUTER) JOIN ํ‘œํ˜„๋ฐฉ์‹ 2๊ฐ€์ง€

1๋ฒˆ
SELECT A.*, B.์—ฐ๋ น
FROM GENDER A LEFT JOIN AGE B
        ON A.ํšŒ์›์ฝ”๋“œ = B.ํšŒ์›์ฝ”๋“œ;

2๋ฒˆ
SELECT A.*, B.์—ฐ๋ น
FROM GENDER A, AGE B
WHERE A.ํšŒ์›์ฝ”๋“œ = B.ํšŒ์›์ฝ”๋“œ(+);

 

 

RIGHT (OUTER) JOIN

 

 

RIGHT (OUTER) JOIN ํ‘œํ˜„๋ฐฉ์‹ 2๊ฐ€์ง€

1๋ฒˆ
SELECT B.ํšŒ์›์ฝ”๋“œ, ์„ฑ๋ณ„, ์—ฐ๋ น
FROM GENDER A RIGHT JOIN AGE B
          ON A.ํšŒ์›์ฝ”๋“œ = B.ํšŒ์›์ฝ”๋“œ;

2๋ฒˆ
SELECT B.ํšŒ์›์ฝ”๋“œ, ์„ฑ๋ณ„, ์—ฐ๋ น
FROM GENDER A, AGE B
WHERE A.ํšŒ์›์ฝ”๋“œ(+) = B.ํšŒ์›์ฝ”๋“œ;

 

 

(FULL) OUTER JOIN

 

(FULL) OUTTER JOIN  ํ‘œํ˜„๋ฐฉ์‹ 2๊ฐ€์ง€

1๋ฒˆ.
SELECT A.*, B.์—ฐ๋ น
FROM GENDER A FULL OUTER JOIN AGE B
         ON A.ํšŒ์›์ฝ”๋“œ = B.ํšŒ์›์ฝ”๋“œ;

2๋ฒˆ.
SELECT A.*, B.์—ฐ๋ น
FROM GENDER A , AGE B
WHERE A.ํšŒ์›์ฝ”๋“œ(+) = B.ํšŒ์›์ฝ”๋“œ(+);
# Oracle9 ๋ฒ„์ „ ์ดํ›„๋ถ€ํ„ฐ๋Š” ์–‘์ชฝ์˜ (+) ๊ฐ€๋Šฅ

 

 

์˜ˆ์ œ1)

 

 => ์ •๋‹ต!!

 

SELECT *

FROM T1 [ LEFT OUTER JOIN ] T2

ON T1.c2 = T2.c2;

 

 

UNION, UNION ALL - ๋‘ ํ”Œ๋žซํผ ๊ธฐ์—…์ด ํ•ฉ๋ณ‘ํ•  ๋–„!

UNION : ์ค‘๋ณต๋œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ•œ ํ›„ ๋ฐ˜ํ™˜ / UNION ALL : ์ค‘๋ณต๋œ ๋ ˆ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•˜์—ฌ ๋ฐ˜ํ™˜

 

์˜ˆ์ œ2)

=> ์ •๋‹ต!!

A. JOIN

B. UNION

 

 

์˜ˆ์ œ3)

 

์˜ˆ์ œ4)

 

MINUS - A ํšŒ์‚ฌ์—๋งŒ ์žˆ๋Š” ๊ณ ๊ฐ ์ •๋ณด๋ฅผ ์ถ”๋ฆฌ๋ ค๊ณ  ํ•œ๋‹ค!!!

EQUI JOIN, non-EQUI JOIN

 

CROSS JOIN - A ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ํ–‰๊ณผ B ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ํ–‰์„ ์กฐ์ธ(A ๋ ˆ์ฝ”๋“œ ์ˆ˜ * B ๋ ˆ์ฝ”๋“œ ์ˆ˜)

๋‘˜์„ ๊ณฑ์…ˆํ•˜๋Š” ๋Š๋‚Œ!!

 

 

2) ๊ณ„์ธตํ˜• ์กฐํšŒ & ๊ทธ๋ฃน ํ•จ์ˆ˜

 

๊ณ„์ธตํ˜• ์กฐํšŒ : ํŠธ๋ฆฌํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์กฐํšŒ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ

 

>> ์ž์‹ ๋…ธ๋“œ๊ฐ€ ์—†๋Š” ๋ฐ์ดํ„ฐ : LEAF ๋…ธ๋“œ

 

์˜ˆ์ œ 1)

=> ์ •๋‹ต!!  12

 

๊ณ„์ธตํ˜• ์กฐํšŒ ๋ฌธ์ œ๋Š”...

์กฐํšŒ๋ฅผ ํ†ตํ•ด ์–ด๋–ป๊ฒŒ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์žฌ๋ฐฐ์น˜ ๋˜๋Š”์ง€ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”!!

1. ์‹œ์ž‘์  ์žก๊ธฐ

START WITH : ๊ณ„์ธต ๊ตฌ์กฐ๊ฐ€ ์‹œ์ž‘๋˜๋Š” ์ง€์ (ROOT NODE)์„ ์•Œ๋ ค์คŒ, ์—ฌ๊ธฐ์— ์ ํžŒ ์กฐ๊ฑด์— ๋งž๋Š” ๋ ˆ์ฝ”๋“œ๊ฐ€ ROOT(๋ถ€๋ชจ), ํ˜„ ๋ฌธ์ œ์—์„œ๋Š” ์ฒซ๋ฒˆ์งธ ๋ ˆ์ฝ”๋“œ๊ฐ€ ํŠธ๋ฆฌ ๊ตฌ์กฐ์˜ ROOT NODE

 

 

2. ์žฌ๋ฐฐ์น˜ ๊ธฐ์ค€

CONNECT BY, PRIOR : ๋‹ค์Œ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์–ด๋–ค ๊ฒƒ์ด ์˜ฌ์ง€ ์•Œ๋ ค์คŒ
- CONNECT BY PRIOR a = b
- CONNECT BY a = PRIOR b
๋ชจ๋“  ๋ ˆ์ฝ”๋“œ์— ๋Œ€ํ•˜์—ฌ ๊ด€๊ณ„์„ฑ(๊ณ„์ธต ๊ตฌ์กฐ)๋ฅผ ํŒŒ์•…ํ•˜์—ฌ ํ…Œ์ด๋ธ”์„ ์žฌ๋ฐฐ์น˜ํ•˜๊ธฐ ์œ„ํ•จ

1) a์ปฌ๋Ÿผ๊ณผ b์ปฌ๋Ÿผ์ด ๋™์ผํ•œ ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ฐ„์— ๊ณ„์ธตํ™”๊ฐ€ ๋ฐœ์ƒ(a=b)
2) ์•ž์„ (PRIOR) ๋ ˆ์ฝ”๋“œ์˜ a์ปฌ๋Ÿผ๊ณผ ๋™์ผํ•œ b์ปฟํ—˜์„ ๊ฐ€์ง„ ๋ ˆ์ฝ”๋“œ๋“ค์ด ๋’ค์— ์˜จ๋‹ค
CONNECT BY PRIOR a = b : ์•ž์„  ๋ ˆ์ฝ”๋“œ์˜ a = b์ด๋‹ค

ํ˜„ ๋ฌธ์ œ์—์„œ๋Š” 
1) col1๊ณผ col2๊ฐ€ ๋™์ผํ•œ ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ฐ„์— ๊ณ„์ธตํ™”๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค
2) ใ„ฑ์˜ col1๊ณผ ๋™์ผํ•œ col2๋ฅผ ๊ฐ€์ง„ ๋ ˆ์ฝ”๋“œ๊ฐ€ ๋‹ค์Œ ์ˆœ์„œ์— ์˜จ๋‹ค

 

 

๊ทธ๋Ÿผ ใ„ด, ใ„ท ์ค‘์— ๋ญ๊ฐ€ ๋จผ์ € ์˜ฌ์ง€ ์–ด๋–ป๊ฒŒ ์•”?? =? ORDER SIBLINGS BY ๊ฐ€ ํ•ด๊ฒฐํ•ด์คŒ!!

 ORDER SIBLINGS BY col3 
: col3 ๊ธฐ์ค€, ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋ฐฐ์น˜ ์ˆœ์„œ ๊ฒฐ์ •
>> col3 : [ใ„ด] 12 < [ใ„ท] 13 

 

 

์˜ˆ์ œ 2)

 

GROUP ํ•จ์ˆ˜

GROUP BY ์„ฑ๋ณ„, ์—ฐ๋ น 1. ์„ฑ๋ณ„ * ์—ฐ๋ น ๋ณ„ ์†Œ๊ณ„
GROUP BY
GROUPING SETS(
์„ฑ๋ณ„, ์—ฐ๋ น)
1. ์„ฑ๋ณ„ ๋ณ„ ์†Œ๊ณ„
2. ์—ฐ๋ น ๋ณ„ ์†Œ๊ณ„
* ๊ด„ํ˜ธ ๋ฌถ์€ ์ง‘ํ•ฉ๋ณ„ ์ง‘๊ณ„ ๊ฐ€๋Šฅ
GROUP BY
ROLLUP(์„ฑ๋ณ„, ์—ฐ๋ น)
1. ์„ฑ๋ณ„ * ์—ฐ๋ น ๋ณ„ ์†Œ๊ณ„
2. ์„ฑ๋ณ„ ๋ณ„ ์†Œ๊ณ„
3. ์ „์ฒด ์ง‘๊ณ„
GROUP BY
CUBE(์„ฑ๋ณ„, ์—ฐ๋ น)
1. ์„ฑ๋ณ„ * ์—ฐ๋ น ๋ณ„ ์†Œ๊ณ„
2. ์„ฑ๋ณ„ ๋ณ„ ์†Œ๊ณ„
3. ์—ฐ๋ น ๋ณ„ ์†Œ๊ณ„
4. ์ „์ฒด ์ง‘๊ณ„
* ๊ทธ๋ฃนํ™”๋  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์— ๋Œ€ํ•ด ์ƒ์„ฑ

 

ex) QUERY ์‚ฌ๋ก€

SELECT ์„ฑ๋ณ„, ์—ฐ๋ น, SUM(๊ฒฐ์ œ๊ธˆ์•ก)

FROM ๊ฒฐ์ œ

GROUP BY GROUPING SETS(์„ฑ๋ณ„, ์—ฐ๋ น๋Œ€);

 

์™ธ์šฐ๊ธฐ!!!

  • Grouping Sets (set1, set2) :๊ทธ๋ฃนํ•‘ ์„ธํŠธ ์„ธํŠธ(UNION ALL๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ)
  • Rollup(์•ž, ๋’ค) : ๋กค์—… ์••๋’ค
  • CUBE(๋ชจ๋“ ๊ฒฝ์šฐ) : ํ๋ธŒ

 

์˜ˆ์ œ 3)

 

=> ์ •๋‹ต!! 2๋ฒˆ

CUBE๋Š” ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์กฐํ•ฉ์˜ ๊ฒฝ์šฐ

 

์˜ˆ์ œ 4)

=> ์ •๋‹ต!! 1, 2๋ฒˆ

1๋ฒˆ => ROLLUP์— ํ•ด๋‹นํ•˜๋Š” ์„ค๋ช…

2๋ฒˆ => ์ง‘๊ณ„ ๋Œ€์ƒ ์ปฌ๋Ÿผ ๊ฐ’์€ NULL์ด ์•„๋‹ˆ๋ผ ๊ธฐ์ค€์ด ๋˜๋Š” ๊ฐ’์œผ๋กœ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค

 

 

3) TOP(N) ์ฟผ๋ฆฌ

: ํ…Œ์ด๋ธ”์—์„œ N ๊ฐœ์˜ ํ–‰๋งŒ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ๋‹ค!

 

1. ORACLE ๊ธฐ์ค€ : ROWNUM ์Šˆ๋„ ์นผ๋Ÿผ
 => ์ปฌ๋Ÿผ๊ณผ ๋น„์Šทํ•œ ์„ฑ๊ฒฉ์˜ Pseudo Column ์œผ๋กœ์„œ, SQL ์ฒ˜๋ฆฌ๊ฒฐ๊ณผ ์ง‘ํ•ฉ์˜ ๊ฐ ํ–‰์— ๋Œ€ํ•ด ์ž„์‹œ์ ์œผ๋กœ ๋ถ€์—ฌ๋˜๋Š” ์ผ๋ จ๋ฒˆํ˜ธ

SELECT *
FROM C_INFO
WHERE ROWNUM <= 100;

** (์˜ค๋ฅ˜) C_INFO ํ…Œ์ด๋ธ”์—์„œ ๋‚˜์ด๊ฐ€ ์–ด๋ฆฐ 100๋ช…์„ ์กฐํšŒํ•˜๋ ค๋ฉด?
SELECT *
FROM C_INFO
WHERE ROWNUM <= 100
ORDER BY AGE;
=> C_INFO์—์„œ ๋ฌด์ž‘์œ„๋กœ ์ถ”์ถœ๋œ 100๊ฐœ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ AGE ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๊ฒƒ๊ณผ ๊ฐ™๋‹ค

** (์ •๋‹ต) C_INFO ํ…Œ์ด๋ธ”์—์„œ ๋‚˜์ด๊ฐ€ ์–ด๋ฆฐ 100๋ช…์„ ์กฐํšŒํ•˜๋ ค๋ฉด?
=> ์ธ๋ผ์ธ ๋ทฐ์—์„œ ๋จผ์ € ์ •๋ ฌํ•˜๊ธฐ!
SELECT *
FROM (SELECT *
            FROM C_INFO
            ORDER BY AGE)
WHERE ROWNUM <= 100;

 

 

2. SQL SERVER ๊ธฐ์ค€ : TOP ์ ˆ

** C_INFO ํ…Œ์ด๋ธ”์—์„œ ๋‚˜์ด๊ฐ€ ์–ด๋ฅธ 100๋ช…์„ ์กฐํšŒํ•˜๋ ค๋ฉด?
SELECT TOP(100)
              NAME, AGE
FROM C_INFO
ORDER BY AGE;

** WITH TIES
=> TOP N์˜ ๋งˆ์ง€๋ง‰ ํ–‰๊ณผ ๋™์ผํ•œ ๊ฐ’์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ถ”๊ฐ€ ํ–‰์ด ์ถœ๋ ฅ๋จ
SELECT TOP(2) WITH TIES
               NAME, AGE
FROM C_INFO
ORDER BY AGE;

=> C_INFO ํ…Œ์ด๋ธ”์—์„œ AGE๊ฐ€ ๋‚ฎ์€ 2๋ช…์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š”๋ฐ, ๊ฐ™์€ AGE์ธ ๊ณ ๊ฐ์ด ์ž‡์œผ๋ฉด ๊ฐ™์ด ์ถœ๋ ฅํ•œ๋‹ค
=> ORDER BY๊ฐ€ ์ง€์ •๋œ ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

 

 

3. ROW LIMITING ์ ˆ(ANSI ํ‘œ์ค€ SQL)

** C_INFO ํ…Œ์ด๋ธ”์—์„œ ๋‚˜์ด๊ฐ€ ์–ด๋ฆฐ 100๋ช…์„ ์กฐํšŒํ•˜๋ ค๋ฉด?
SELECT NAME, AGE
FROM C_INFO
ORDER BY AGE FETCH FIRST 100 ROWS ONLY;

* FETCH : ๋ฐ˜ํ™˜ํ•  ๊ฒƒ ์ง€์ •ํ•ด์คŒ
* ONLY : ์ง€์ •ํ•œ ๋งŒํผ(with ties ๋งˆ์ง€๋ง‰ํ–‰ ๋™์ˆœ์œ„ ํฌํ•จ)

- ORACLE 
SELECT *
FROM (SELECT *
             FROM C_INFO
             ORDER BY AGE )
WHERE ROWNUM <= 100;

- SQL SERVER
SELECT TOP(100)
               NAME, AGE
FROM C_INFO
ORDER BY AGE;

**์ƒ์œ„ 100๊ฐœ ํ–‰์„ ๊ฑด๋„ˆ๋›ด ์ดํ›„์˜ ์ „์ฒด ํ–‰ ๋ฐ˜ํ™˜ํ•˜๋ ค๋ฉด?
SELECT NAME, AGE FROM C_INFO ORDER BY AGE OFFSET 100 ROWS;

* OFFSET : ๊ฑด๋„ˆ๋›ธ ๊ฒƒ ์ง€์ •ํ•ด์คŒ

 

 

3. ์œˆ๋„์šฐ ํ•จ์ˆ˜ & ํŒŒํ‹ฐ์…˜

 

WINDOW ํ•จ์ˆ˜

: ๋ ˆ์ฝ”๋“œ(ํ–‰) ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ์‰ฝ๊ฒŒ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ ํ•จ์ˆ˜

๋งค์žฅ ์ฝ”๋“œ ์ง€์—ญ๋ช… ๋ฉ”๋‰ด๋ช… ํŒ๋งค๋Ÿ‰ ํŒ๋งค์ˆœ์œ„
101 ์„œ์šธ ์—ฐ์–ด์Šค์‹œ 500 1
101 ์„œ์šธ ์ฐธ์น˜์Šค์‹œ 400 2
101 ์„œ์šธ ์™€๊ทœ 300 3
102 ๋ถ€์‚ฐ ์—ฐ์–ด์Šค์‹œ 600 1
102 ๋ถ€์‚ฐ ํŠ€๊น€ 300 2

 

SELECT WINDOW_FUNCTION (ARGUMENTS) OVER ( [PARTITON BY ์ปฌ๋Ÿผ๋ช…] [ORDER BY ์ปฌ๋Ÿผ๋ช…] [WINDOWING] ) FROM ํ…Œ์ด๋ธ”๋ช…;

- WINDOW_FUNCTION : ์œˆ๋„์šฐ ํ•จ์ˆ˜
- ARGUMENTS : ์ธ์ˆ˜(์ปฌ๋Ÿผ๋ช… ๋“ฑ ํ•จ์ˆ˜์˜ ์ž‘์—…์ด ์ด๋ค„์ง€๋Š” ๋Œ€์ƒ)
- PARTITION BY : ํ…Œ์ด๋ธ”์˜ ๋ ˆ์ฝ”๋“œ๋“ค์„ ์ชผ๊ฐœ๋Š” ๊ธฐ์ค€
- ORDER BY : ์ชผ๊ฐœ์ง„ ๋ ˆ์ฝ”๋“œ๋“ค ๋‚ด์—์„œ ํ˜น์€ ์ „์ฒด ํ…Œ์ด๋ธ”์—์„œ ๋ ˆ์ฝ”๋“œ๋“ค์„ ์–ด๋–ค ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ• ์ง€
- WINDOWING : ํ•จ์ˆ˜์˜ ์—ฐ์‚ฐ ๋Œ€์ƒ์ด ๋˜๋Š” ๋ ˆ์ฝ”๋“œ์˜ ๋ฒ”์œ„๋ฅผ ์ •ํ•จ

 

* WINDOW_FUNCTION ์ข…๋ฅ˜

- ๊ทธ๋ฃน ๋‚ด ์ง‘๊ณ„ ํ•จ์ˆ˜ : COUNT, SUM, MIN, MAX, AVG๋“ฑ

- ๊ทธ๋ฃน ๋‚ด ์ˆœ์œ„(RANK) ํ•จ์ˆ˜

- ๊ทธ๋ฃน ๋‚ด ๋น„์œจ ๊ด€๋ จ ํ•จ์ˆ˜

- ๊ทธ๋ฃน ๋‚ด ํ–‰ ์ˆœ์„œ ํ•จ์ˆ˜

 

 

WINDOW ํ•จ์ˆ˜ - ๊ทธ๋ฃน ๋‚ด RANK ํ•จ์ˆ˜

RANK - ๋™์ผํ•œ ์ˆœ์œ„์— ๋Œ€ํ•ด ๋™์ผํ•œ ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•œ๋‹ค
- ๋™์ผํ•œ ์ˆœ์œ„๋ฅผ ํ•˜๋‚˜์˜ ๊ฑด์ˆ˜๋กœ ๊ณ„์‚ฐํ•˜์ง€ ์•Š๋Š”๋‹ค (1 / 2, 2 / 4)
DENSE_RANK - ๋™์ผํ•œ ์ˆœ์œ„์— ๋Œ€ํ•ด ๋™์ผํ•œ ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•œ๋‹ค
- ๋™์ผํ•œ ์ˆœ์œ„๋Š” ํ•˜๋‚˜์˜ ๊ฑด์ˆ˜๋กœ ๊ณ„์‚ฐํ•œ๋‹ค (1 / 2, 2 / 3)
ROW_NUMBER - ๋™์ผํ•œ ์ˆœ์œ„์— ๋Œ€ํ•ด ๊ณ ์œ ํ•œ ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•œ๋‹ค (1 / 2 / 3 / 4 )

**RANK์™€ DENSE_RANK ์ฐจ์ด ๋น„๊ต!!

 

์˜ˆ์‹œ1)

 

=> ์ •๋‹ต!! 

 

A : DENSE_RANK

B : RANK

C : ROW_NUMBER

 

์˜ˆ์‹œ2) 

 

=> ์ •๋‹ต!!  1๋ฒˆ (์—ฌํƒ€ SQL๋ฌธ๊ณผ ๋™์ผํ•˜๊ฒŒ ORDER BY๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜ค๋ฆ„์ฐจ์ˆœ, ๋‚ด๋ฆผ์ฐจ์ˆœ ์ถœ๋ ฅ์ด ๊ฐ€๋Šฅ / ์ˆœ์œ„๋กœ ์ž๋™์œผ๋กœ ์ •๋ ฌ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹˜)

 

์˜ˆ์‹œ 3)

 

=> ์ •๋‹ต!!

 

SELECT ๋งค์žฅ ์ฝ”๋“œ, ์ง€์—ญ๋ช…, ๋ฉ”๋‰ด๋ช…, ํŒ๋งค๋Ÿ‰

                , DENSE_RANK () OVER (PARTITION BY ์ง€์—ญ๋ช… ORDER BY ํŒ๋งค๋Ÿ‰ DESC) AS

            ํŒ๋งค์ˆœ์œ„

FROM ํŒ๋งค

 

 

 Window ํ•จ์ˆ˜ - ๊ทธ๋ฃน ๋‚ด ๋น„์œจ ํ•จ์ˆ˜

PERCENT_RANK - ๊ฐ’์ด ์•„๋‹Œ, ์ˆœ์„œ๋ฅผ ๋Œ€์ƒ์œผ๋กœ, ํŒŒํ‹ฐ์…˜ ๋‚ด์—์„œ์˜ ์ˆœ์„œ๋ณ„ ๋ฐฑ๋ถ„์œจ์„ ์กฐํšŒํ•จ
NTILE(n) - ํŒŒํ‹ฐ์…˜๋ณ„๋กœ ์ „์ฒด ๊ฑด์ˆ˜๋ฅผ n๋“ฑ๋ถ„ํ•œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. n=4์ด๋ฉด 4๋“ฑ๋ถ„ํ•œ ๊ฒƒ ๋‚ด์—์„œ ๋ช‡์ธ์ง€ ์กฐํšŒ
CUME_DIST - ํŒŒํ‹ฐ์…˜ ๋‚ด ์ „์ฒด์—์„œ ํ˜„์žฌ ํ–‰์˜ ๊ฐ’ ์ดํ•˜์ธ ๋ ˆ์ฝ”๋“œ ๊ฑด์ˆ˜์— ๋Œ€ํ•ด ๋ˆ„์  ๋ฐฑ๋ถ„์œจ์„ ์กฐํšŒ
- ๋ˆ„์  ๋ถ„ํฌ ์ƒ์— 0~1 ๊ฐ’์„ ๊ฐ€์ง

 

 

WIndow ํ•จ์ˆ˜ - ๊ทธ๋ฃน ๋‚ด ํ–‰ ์ˆœ์„œ ํ•จ์ˆ˜

FIRST_VALUE - ํŒŒํ‹ฐ์…˜ ๋‚ด์—์„œ ๊ฐ€์žฅ ์ฒ˜์Œ ๋‚˜์˜ค๋Š” ๊ฐ’ ๋ฐ˜ํ™˜
- MIN๊ณผ ๋™์ผํ•œ ๊ฒฐ๊ณผ
LAST_VALUE - ํŒŒํ‹ฐ์…˜ ๋‚ด์—์„œ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ๋‚˜์˜ค๋Š” ๊ฐ’ ๋ฐ˜ํ™˜
- MAX์™€ ๋™์ผํ•œ ๊ฒฐ๊ณผ
LAG(์ปฌ๋Ÿผ๋ช…, ๋ ˆ์ฝ”๋“œ ์œ„์น˜ ์ฐจ์ด๊ฐ’) - ์ด์ „ ํ–‰์„ ๊ฐ€์ ธ์˜จ๋‹ค
LEAD(์ปฌ๋Ÿผ๋ช…, ๋ ˆ์ฝ”๋“œ ์œ„์น˜ ์ฐจ์ด๊ฐ’,  null์ผ ๊ฒฝ์šฐ ๋Œ€์ฒด๊ฐ’) - ๋‹ค์Œ(ํŠน์ • ์œ„์น˜์˜) ํ–‰์„ ๊ฐ€์ ธ์˜จ๋‹ค
- default๋Š” 1์ด๋‹ค

 

์˜ˆ์ œ4)

 

 

=> ์ •๋‹ต (ใ„ฑ : E,  ใ„ด : E)

 

 

Window ํ•จ์ˆ˜ ์ค‘ WINDOWING

SELECT WINDOW _FUNCTION (ARGUMENTS) OVER ( [PARTITION BY ์ปฌ๋Ÿผ๋ช…] [ORDER BY ์ปฌ๋Ÿผ๋ช…] [WINDOWING] ) FROM ํ…Œ์ด๋ธ”๋ช…; 

 

- WINDOWING : ํ•จ์ˆ˜์˜ ์—ฐ์‚ฐ ๋Œ€์ƒ์ด ๋˜๋Š” ๋ ˆ์ฝ”๋“œ์˜ ๋ฒ”์œ„๋ฅผ ์ •ํ•จ

 

RANGE ex ) RANGE BETWEEN 100 AND 200
๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•ด์ค„ ๋•Œ ์‚ฌ์šฉ
BETWEEN a AND b a๋ถ€ํ„ฐ b๊นŒ์ง€ ์œˆ๋„์šฐ๊ฐ€ ์ ์šฉ๋จ
UNBOUNDED PRECEDING ์œˆ๋„์šฐ์˜ ์‹œ์ž‘ ์œ„์น˜ = ์ฒซ ๋ฒˆ์งธ ํ–‰
UNBOUNDED FOLLOWING ์œˆ๋„์šฐ์˜ ๋งˆ์ง€๋ง‰ ์œ„์น˜ = ๋งˆ์ง€๋ง‰ ํ–‰
CURRENT ROW ์œˆ๋„์šฐ ์‹œ์ž‘ ์œ„์น˜๊ฐ€ ํ˜„์žฌ ํ–‰

 

์˜ˆ์ œ5)

 

=> ์ •๋‹ต!! UNBOUNDED PRECEDING

 

 

ํ…Œ์ด๋ธ” ํŒŒํ‹ฐ์…˜

 

- ๋Œ€์šฉ๋Ÿ‰์˜ ํ…Œ์ด๋ธ”์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์— ๋ถ„๋ฆฌํ•˜์—ฌ ์ €์žฅํ•˜๋Š” ๊ฒƒ

๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ถ„๋ฆฌ๋œ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์— ์ €์žฅ๋˜์–ด ์ž…๋ ฅ / ์ˆ˜์ • / ์‚ญ์ œ / ์กฐํšŒ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜๊ณ , ๋…๋ฆฝ์  ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅ

์กฐํšŒ์˜ ๋ฒ”์œ„๋ฅผ ์ค„์ด๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ์–ด ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋จ

** ๋ง‰ ์—„์ฒญ ์ค‘์š”ํ•˜์ง„ ์•Š์Œ;;

 

RANGE PARTITION ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํŒŒํ‹ฐ์…˜์„ ๋‚˜๋ˆ  ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•
ex) ๋งค์ถœ์•ก์— 50000 ์ด์ƒ์ธ ๋ ˆ์ฝ”๋“œ์™€ ๋ฏธ๋งŒ์ธ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ณ„๋„๋กœ ์ €์žฅ
LIST PARTITION ํŠน์ • ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ๋ถ„ํ• 
ex) ํŠน์ • ๊ฐ’์ด 100์ผ ๋•Œ์™€ 250์ผ ๋•Œ ๊ฐ๊ฐ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐํŒŒ์ผ์— ์ €์žฅ
HASH PARTITION ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด ์ž์ฒด์ ์œผ๋กœ ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ๋ถ„ํ• ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹

 

 

728x90
๋ฐ˜์‘ํ˜•

+ Recent posts