๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€105

[Vanila.js] ์‚ฌ์ „ ์ฝ”๋“œ ์ดํ•ดํ•˜๊ธฐ ๊ฐ•์‚ฌ๋‹˜์ด ๋ฏธ๋ฆฌ ๊ตฌํ˜„ํ•ด ๋‘” ์„œ๋น„์Šค branch : ready/scaffodingIn Memory DB์ถ”์ฒœ ๊ฒ€์ƒ‰์–ด, ๊ฒ€์ƒ‰ ๊ธฐ๋ก, ์ƒํ’ˆ ๋ฐ์ดํ„ฐUtility์‹œ๊ฐ„๊ด€๋ จ UtilDOM Event๋ฅผ ํ™œ์šฉํ•œ Util๊ธฐ๋ณธ์ ์œผ๋กœ JS์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ์ˆ ๋“ค์„ ๋ชจ๋“ˆํ™”ํ–ˆ๋‹ค๊ณ  ๋ณด์ธ๋‹ค.Model์ดํ›„์— ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋ฐ ์ค‘์š” ๋กœ์ง์ด ๋‹ด๊ธธ ๊ฒƒ์œผ๋กœ ๋ณด์ž„.View์ •์  ํŽ˜์ด์ง€ ์ •๋ณด๋ฅผ ๋ Œ๋”๋ง(์ˆ˜์ •)ํ•˜๋Š” ํŽ˜์ด์ง€Utility๋ฅผ ํ™œ์šฉํ•ด ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋œ๋‹ค.ControllerView์— ์ž‘์„ฑ๋  ๋‚ด์šฉ์„ ์ œ์–ดModel์˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ํ™œ์šฉํ•˜๊ฑฐ๋‚˜ ๋”ฐ๋กœ ์„œ๋น„์Šค ๋กœ์ง์„ ์ž‘์„ฑํ•  ๋“ฏ 2024. 7. 31.
[Vanila.js] ํ™˜๊ฒฝ์…‹ํŒ… 1 ์šฐ์•„ํ•œ ํ˜•์ œ๋“ค์—์„œ ๊ทผ๋ฌด ์ค‘์ด์‹  ํ”„๋ก ํŠธ ๊ฐœ๋ฐœ์ž ๊น€์ •ํ™˜๋‹˜์˜ ๊ฐ•์˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.์ธํ”„๋Ÿฐ ๊ฐ•์˜ ์ œ๋ชฉ์€ '๋งŒ๋“ค๊ณ  ๋น„๊ตํ•˜๋ฉฐ ํ•™์Šตํ•˜๋Š” ๋ฆฌ์•กํŠธ'์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ฐ•์˜๋Š” ๊นƒ์„ ์‚ฌ์šฉํ•˜๋ฉฐ Branch๋ณ„๋กœ ๊ฐ•์˜๋ฅผ ํ•ด์ฃผ์‹ญ๋‹ˆ๋‹ค. ํ•™์Šต์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋จผ์ € git์„ forkํ•ฉ๋‹ˆ๋‹ค. fork๊ฐ€ ์ž˜๋˜์—ˆ๋‹ค๋ฉด, ๊ฐ•์‚ฌ๋‹˜์ด ๋งŒ๋“ค์–ด ๋‘” branch๋กœ ์ด๋™ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.์šฐ์„  forkํ•œ ๋‚ด ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋ฅผ cloneํ•˜๊ณ  ํ•ด๋‹น ํด๋”๋กœ ์ด๋™ํ•ด์„œ git bash๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.๊ทธ๋ฆฌ๊ณ  ์•„๋ž˜์™€ ๊ฐ™์€ ๋ช…๋ น์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. 1. git remote add upstream https://github.com/jeonghwan-kim/lecture-react.git2. git fetch upstream3. git checkout -f upstream/ready/scaf.. 2024. 7. 30.
[Vanila.js] ํ™˜๊ฒฝ์…‹ํŒ…2 1. VS ์ฝ”๋“œ๋ฅผ ์„ค์น˜ํ•œ๋‹ค.2. Node.js๋ฅผ ์„ค์น˜ํ•œ๋‹ค.2-1. npm --version ์œผ๋กœ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์น˜๊ฐ€ ์ž˜๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.3. Git Bash๋ฅผ ์„ค์น˜ํ•œ๋‹ค. (์„ ํƒ, ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌํ•˜๋ ค๋ฉด ์„ค์น˜)4. npx lite-server --baseDir "ํด๋”๋ช…" or npx lite-server โ€ป ์ฃผ์˜ (windows ํ™˜๊ฒฝ)Node.js์˜ ๊ฒฝ๋กœ๋ฅผ ์ปค์Šคํ…€ ์˜์—ญ์— ์„ค์น˜ ์‹œ, ์‹คํ–‰์ด ์•ˆ๋œ๋‹ค.1. Ctrl + r -> %appdata% -> ์ƒˆํด๋” ์ƒ์„ฑ(์ด๋ฆ„: npm) 2. System ํ™˜๊ฒฝ๋ณ€์ˆ˜์—์„œ ํ•ด๋‹น node js์˜ custom ์˜์—ญ์„ path ๋ณ€์ˆ˜์— ์ถ”๊ฐ€ํ•œ๋‹ค.๋‚˜๋Š” ์‚ฌ์šฉ์ž ์˜์—ญ์— ์ถ”๊ฐ€ํ–ˆ๋‹ค. โ€ป TipVsCode์—์„œ code . ์œผ๋กœ ์‹คํ–‰ํ•˜๋ ค๋Š”๋ฐ ์•ˆ๋œ๋‹ค.Ctrl + shift + p ๋กœ๋„ code ๋ฅผ ๊ฒ€์ƒ‰ํ•ด.. 2024. 7. 30.
[์‹ค๊ธฐ ํ›„๊ธฐ] ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ๊ฐ€์ฑ„์  ๊ฒฐ๊ณผ 3๋ฌธ์ œ๊ฐ€ ํ‹€๋ ธ๋‹ค. ์ด ๊ณต๋ถ€ ์‹œ๊ฐ„์€ ๋ธ”๋กœ๊ทธ์— ์ž‘์„ฑํ•œ ๋ชจ์˜๊ณ ์‚ฌ ๋์ด๋‹ค.์ „๊ณต์ž์˜ ๊ฒฝ์šฐ, ์ฝ”๋”ฉ๋งŒ ์ค€๋น„๊ฐ€ ๋˜์–ด์žˆ์œผ๋ฉด ํ•˜๋ฃจ๋งŒ ๊ณต๋ถ€ํ•ด๋„ ๋  ๊ฒƒ ๊ฐ™๋‹ค.  ๋‚˜๋Š” 22๋…„๋„๋ถ€ํ„ฐ 24๋…„๊นŒ์ง€ ๋ชจ์˜๊ณ ์‚ฌ๋ฅผ ํ’€์–ด๋ดค๋Š”๋ฐ ๊ฐœ์ธ์ ์œผ๋กœ 23๋…„ 2ํšŒ, 3ํšŒ์™€ ๋น„์Šทํ•œ ํ•ฉ๊ฒฉ๋ฅ ์„ ๋ณด์ด์ง€ ์•Š์„๊นŒ ์‹ถ๋‹ค. 1. ์ฝ”๋“œ๊ฐ€ ์ƒ๋‹นํžˆ ์–ด๋ ค์šธ ์ˆ˜๋„ ์žˆ๋‹ค.์žฌ๊ท€๋ฅผ ์ด์šฉํ•œ ๋ฉ”๋ชจ์ œ์ด์…˜ ๊ธฐ๋ฒ•์ด ๋‚˜์™”๋‹ค.๊ทธ ์™ธ ํฌ์ธํ„ฐ๊ฐ€ ๋‹ค์–‘ํ•˜๊ฒŒ ๋‚˜์™”๋‹ค. 2. ์ด๋ก ๋„คํŠธ์›Œํฌ, ๋ณด์•ˆ๋งŒ ๊ณต๋ถ€ํ–ˆ์œผ๋ฉด ๋์„ ๊ฒƒ ๊ฐ™๋‹ค. ์ด์ „ ํšŒ์ฐจ์— ๋น„ํ•ด ์ฝ”๋”ฉ : ์ƒ, ์ด๋ก  : ํ•˜์•„๋ฌด๋ž˜๋„ ๋น„์ „๊ณต์ž๊ฐ€ ๋งŽ์ด ์‘์‹œํ–ˆ๋‹ค๋ฉด ํ•ฉ๊ฒฉ๋ฅ ์ด ์ข€ ๋‚ฎ์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋œ๋‹ค. 2024. 7. 30.
[์‹ค๊ธฐ] ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ 22๋…„ 1ํšŒ ๊ธฐ์ถœ ์˜ค๋‹ต๋…ธํŠธ 1๋ฒˆRAID์— ๋Œ€ํ•ด ์ ์€ ๊ฒƒ์ด ์žˆ๋”ฐ.RAID 0์ŠคํŠธ๋ผ์ดํ•‘ ๋ฐฉ์‹์ค‘๋ณต ์ €์žฅ์ด ์•ˆ๋˜๋ฏ€๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์‹ค๋  ์ˆ˜ ์žˆ๋‹ค.ํŒจ๋ฆฌํ‹ฐ๊ฐ€ ์—†์–ด์„œ ์—๋Ÿฌ๊ฒ€์ถœ์ด ์•ˆ๋œ๋‹ค.RAID 1๋ฏธ๋Ÿฌ๋ง ๋ฐฉ์‹์ค‘๋ณต ์ €์žฅ์ด ๋œ๋‹ค.์‹ ๋ขฐ๋„๊ฐ€ ๋†’๋‹ค. ๋‹ค๋งŒ ์šฉ๋Ÿ‰์ ์ธ ๋ฌธ์ œRAID 2์ŠคํŠธ๋ผ์ดํ•‘ RAID1์—์„œ ํ•ด๋ฐ์ฝ”๋“œ๋กœ ์—๋Ÿฌ๊ฒ€์ฆRAID 3์ŠคํŠธ๋ผ์ดํ•‘ ๋ฐ”์ดํŠธ ๋‹จ์œ„ ํŒจ๋ฆฌํ‹ฐ๋กœ ์—๋Ÿฌ๊ฒ€์ฆRAID 4๋ธ”๋ก ๋‹จ์œ„RAID 5ํŒจ๋ฆฌํ‹ฐ ๋ธ”๋ก์„ ๊ฐ ๋””์Šคํฌ๋งˆ๋‹ค ๋ถ„์‚ฐ ์ €์žฅRAID 6ํŒจ๋ฆฌํ‹ฐ ๋ธ”๋ก์„ ์ด์ค‘๊ตฌ์กฐ๋กœ ๊ตฌ์ถ•ํ‹€๋ฆฌ๋ผ๊ณ  ๋‚ธ ๋ฌธ์ œ ๊ฐ™๋‹ค.3๋ฒˆREDODB๊ฐ€ ๋น„์ •์ƒ์  ์ข…๋ฃŒ ์‹œ ๋””์Šคํฌ์— ์ €์žฅ๋œ ๋กœ๊ทธ๋ฅผ ๋ถ„์„ํŠธ๋žœ์žญ์…˜ ์‹œ์ž‘๊ณผ ์™„๋ฃŒ์˜ ๊ธฐ๋ก์ด ์žˆ๋Š” ํŠธ๋žœ์žญ์…˜๋“ค์˜ ์ž‘์—…์„ ์žฌ์ž‘์—…๋กœ๊ทธ๋ฅผ ์ด์šฉํ•ด ํ•ด๋‹น ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ์— ๋Œ€ํ•ด ์ด์ „ ๊ฐ’์„ ์ดํ›„ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝUNDOcommit ๊ธฐ๋ก์ด ์—†๋Š” ํŠธ๋žœ์žญ์…˜๋“ค์ด ์ž‘์—…ํ•œ ๋‚ด์šฉ๋“ค์„ ๋ชจ๋‘ ์ทจ์†Œ๋กœ๊ทธ.. 2024. 7. 28.
[์‹ค๊ธฐ] ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ 22๋…„ 2ํšŒ ๊ธฐ์ถœ ์˜ค๋‹ต๋…ธํŠธ 1๋ฒˆ๊ด€๊ณ„๋Œ€์ˆ˜์›ํ•˜๋Š” ์ •๋ณด์™€ ๊ทธ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ป๊ฒŒ ์œ ๋„ํ•˜๋Š”๊ฐ€๋ฅผ ๊ธฐ์ˆ ์ ˆ์ฐจ์ ์ธ ์–ธ์–ด, ๋ฆด๋ ˆ์ด์…˜ ์ฒ˜๋ฆฌ์—ฐ์‚ฐ์ž์™€ ์—ฐ์‚ฐ ๊ทœ์น™์„ ์ œ๊ณตํ”ผ์—ฐ์‚ฐ์ž์™€ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๊ฐ€ ๋ชจ๋‘ ๋ฆด๋ ˆ์ด์…˜ํ•ด๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•œ ์—ฐ์‚ฐ์˜ ์ˆœ์„œ๋ฅผ ๋ช…์‹œ์ˆœ์ˆ˜ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž์™€ ์ผ๋ฐ˜ ์ง‘ํ•ฉ ์—ฐ์‚ฐ์žฆ๊ฐ€ ์žˆ์Œ.๊ด€๊ณ„ํ•ด์„ (Relational Calculus)์ˆ˜ํ•™์˜ ์ˆ ์–ด ํ•ด์„(Predicate Calculus)์— ๊ธฐ๋ฐ˜์„ ๋‘๊ณ  ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ์œ„ํ•ด ์ œ์•ˆ์›ํ•˜๋Š” ์ •๋ณด๊ฐ€ ๋ฌด์—‡์ด๋ผ๋Š” ๊ฒƒ๋งŒ ์ •์˜ํ•จ๋น„์ ˆ์ฐจ์  ํŠน์„ฑ์„ ์ง€๋‹ˆ๊ณ  ์›ํ•˜๋Š” ์ •๋ณด ์ •์˜ ์‹œ ๊ณ„์‚ฐ ์ˆ˜์‹์„ ์‚ฌ์šฉํŠœํ”Œ ๊ด€๊ณ„ํ•ด์„๊ณผ ๋„๋ฉ”์ธ ๊ด€๊ณ„ํ•ด์„์œผ๋กœ ๊ตฌ๋ถ„10๋ฒˆ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋‹จ๊ณ„ -> ํ…Œ์ŠคํŠธ ๋‹จ๊ณ„์š”๊ตฌ์‚ฌํ•ญ -> ๋ถ„์„ -> ์„ค๊ณ„ -> ๊ตฌํ˜„ ->๋‹จ์œ„ ํ…Œ์ŠคํŠธ -> ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ -> ์‹œ์Šคํ…œ ํ…Œ์ŠคํŠธ -> ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ์‹œ์Šคํ…œ ํ…Œ์ŠคํŠธ, ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ ์ž˜ ๊ธฐ.. 2024. 7. 28.
[์‹ค๊ธฐ] ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ 23๋…„ 2ํšŒ ๊ธฐ์ถœ ์˜ค๋‹ต๋…ธํŠธ 8๋ฒˆ - ์˜ค๋‹ต๋…ธํŠธ ๋จผ์ € ์•ˆ์ ๊ณ  ํ…Œ์ŠคํŠธํ•ด์„œ ํ‹€๋ฆผ23๋…„ 3ํšŒ์ฐจ 2๋ฒˆ ๋ณด๋ฉด ๋จ12๋ฒˆํ›„์ง„ ์˜ค๋ฅ˜ ์ •์ • (Backward Error Correction, BEC)์ˆ˜์‹ ์ธก์—์„œ ์†ก์‹ ์ธก์œผ๋กœ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋‹ค๊ณ  ์•Œ๋ฆผ์—ญ๋ฐฉํ–ฅ ์ฑ„๋„์„ ํ†ตํ•ด ์†ก์‹  ์ธก์— ์žฌ์ „์†ก์„ ์š”๊ตฌParity, CRC ๋“ฑ์œผ๋กœ ์˜ค๋ฅ˜ ๊ฒ€์ถœARQ(์ž๋™ ๋ฐ˜๋ณต ์š”์ฒญ)๋กœ ์˜ค๋ฅ˜ ์ •์ •Stop-wait, Continuous(Go-Back-N, SR), Adaptive(์ ์‘์ )ack ์‘๋‹ต๊ณผ nak ์‘๋‹ต์œผ๋กœ ๊ธ์ • ๋ถ€์ • ์‘๋‹ต ์ „์ง„ ์˜ค๋ฅ˜ ์ •์ • (Forward Error Correction, FEC)์ˆ˜์‹ ์ธก์—์„œ ์†ก์‹ ์ธก์˜ ์˜ค๋ฅ˜๋ฅผ ๊ณ ์นจHamming Code๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์˜ค๋ฅ˜ ๊ฒ€์ถœ ํ›„ ์ˆ˜์ • ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ๋‹จ์œ„์— ํŒจ๋ฆฌํ‹ฐ ๋น„ํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ด ์˜ค๋ฅ˜ ๊ฒ€์ถœ2bit์˜ ์˜ค๋ฅ˜๋ฅผ ๊ฒ€์ถœํ•  ์ˆ˜ ์žˆ๊ณ  1bit์˜ ์˜ค๋ฅ˜๋ฅผ ๊ต์ •ํ•จ.์ž.. 2024. 7. 28.
[์‹ค๊ธฐ] ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ 23๋…„ 3ํšŒ ๊ธฐ์ถœ ์˜ค๋‹ต๋…ธํŠธ 2๋ฒˆ22๋…„ 3ํšŒ์ฐจ 10๋ฒˆ์— ์ด์–ด์„œ ๊ณต๋ถ€ํ•˜๋ฉด ์ข‹์ŒSSH (Secure Shell, ์‹œํ์–ด ์…ธ)๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์— ๋กœ๊ทธ์ธ, ์›๊ฒฉ ๋ช…๋ น, ํŒŒ์ผ ๋ณต์‚ฌ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”, ๊ฐ•๋ ฅํ•œ ์ธ์ฆ์œผ๋กœ ๋ณด์•ˆ์„ฑ ๋‚ฎ์€ ๋„คํŠธ์›Œํฌ์—์„œ๋„ ํ†ต์‹  ๊ฐ€๋Šฅํด๋ผ์ด์–ธํŠธ์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ์„œ๋ฒ„์— ๋“ฑ๋กํ•ด์•ผ ํ•จ.ํ‚ค ์ธ์ฆ ์‹œ22๋ฒˆ ํฌํŠธ ์‚ฌ์šฉTCP ์ ‘์†์œผ๋กœ ํ•จFTP : 21, TELNET : 23, SMTP : 25, DNS : 53, HTTP : 80ํ…œํผ ํ”„๋ฃจํ•‘ (Tamper Proofing)์†Œํ”„ํŠธ์›จ์–ด ์œ„, ๋ณ€์กฐ๊ฐ€ ๋ฐœ์ƒ ์‹œ SW๋ฅผ ์˜ค์ž‘๋™ํ•˜๋„๋ก ๋งŒ๋“ฆ์•…์šฉ์„ ๋ฐฉ์ง€ํ•จ, ํ•ด์‹œ ํ•จ์ˆ˜, ํ•‘์ปค ํ”„๋ฆฐํŠธ, ์›Œํ„ฐ๋งˆํ‚น ๋“ฑ ๋ณด์•ˆ ์š”์†Œ๋ฅผ ์ƒ์„ฑ ํ›„ SW์— ์‚ฝ์ž…์‹คํ–‰ ์ฝ”๋“œ ๋‚œ๋…ํ™”, ์‹คํ–‰ ์‹œ ์›๋ณธ๊ณผ ๋น„๊ตํ•˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•˜๋ฉด์„œ SW ๋ณดํ˜ธOAuth (Open Author.. 2024. 7. 28.
[์‹ค๊ธฐ] ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ 24๋…„ 1ํšŒ ๊ธฐ์ถœ ์˜ค๋‹ต๋…ธํŠธ 7๋ฒˆ๋น„์ •๊ทœํ˜• -> ์ œ 1์ •๊ทœํ˜• (1NF) ๋ชจ๋“  ๋„๋ฉ”์ธ์ด ์›์ž๊ฐ’์ด์–ด์•ผ ํ•จ.๋ฒˆํ˜ธ : {a, b}, {c} ๊ฐ™์€ ๊ผด์ด ๋˜๋ฉด ์•ˆ๋˜๊ณ  ๋ฒˆํ˜ธ : {a}, {b}, {c} ์™€ ๊ฐ™์€ ๊ผด์ด ๋˜์–ด์•ผ ํ•จ์ œ 1์ •๊ทœํ˜• -> ์ œ 2์ •๊ทœํ˜•(2NF)1NF๊ฐ€ ๋งŒ์กฑ๋˜์–ด์•ผ ํ•จ.ํ‚ค๊ฐ€ ์•„๋‹Œ ๋ชจ๋“  ์†์„ฑ์ด ๊ธฐ๋ณธํ‚ค ๊ทธ๋ฃน์— ์™„์ „ํ•˜๊ฒŒ ํ•จ์ˆ˜์  ์ข…์†์ด ๋˜์–ด์•ผ ํ•จ.์ฆ‰, ๋ถ€๋ถ„ ์ข…์†์„ฑ์ด ์—†์–ด์•ผ ํ•œ๋‹ค๋Š” ๋ง์ž„.๊ธฐ๋ณธํ‚ค = {๊ณ ๊ฐ์•„์ด๋””, ๊ฐ•์ขŒ๋ช…}, ์ข…์†๋˜๋Š” ํ•จ์ˆ˜ -> ๊ฐ•์‚ฌ๋ฒˆํ˜ธ๋ถ€๋ถ„ ์ง‘ํ•ฉ = {๊ณ ๊ฐ์•„์ด๋””}, {๊ฐ•์ขŒ๋ช…}๊ณ ๊ฐ์•„์ด๋””๋งŒ์œผ๋กœ ๊ฐ•์‚ฌ๋ฒˆํ˜ธ๋ฅผ ์•Œ ์ˆ˜ ์—†์Œ. -> ๋ถ€๋ถ„ ์ข…์†์„ฑ ์—†์Œ.๊ฐ•์ขŒ๋ช…๋งŒ์œผ๋กœ ๊ฐ•์‚ฌ๋ฒˆํ˜ธ๋ฅผ ์•Œ ์ˆ˜ ์—†์Œ -> ๋ถ€๋ถ„ ์ข…์†์„ฑ ์•Œ ์ˆ˜ ์—†์Œ.์ œ 2์ •๊ทœํ˜• -> ์ œ 3์ •๊ทœํ˜• (3NF)A -> B, B -> C, C -> A ๋ญ ์ด๋Ÿฐ๊ฒŒ ์—†์–ด์•ผ ํ•œ๋‹ค.์ด ๋ง์€ ๊ธฐ๋ณธํ‚ค๊ฐ€ ์•„๋‹Œ.. 2024. 7. 28.