software engineering 62

[IC] ์ดˆ๊ณ ์† ๊ฐ€์ž…์ž ๋ง ๊ธฐ์ˆ 

์ดˆ๊ณ ์† ์œ ์„  ๊ฐ€์ž…์ž ๋ง xDSL(x Digital Subscriber Line; ๋””์ง€ํ„ธ ๊ฐ€์ž…์ž ํšŒ์„ ), FTTH(Fiber To The Home; ๊ด‘๊ฐ€์ž…์ž๋ง), HFC(Hybrid Fiber Coaxial;๊ด‘๋™์ถ•ํ˜ผํ•ฉ๋ง) ๋“ฑ์˜ ์œ ์„ ๋ง์„ ์ด์šฉํ•˜์—ฌ ๊ฐ€์ž…์ž์—๊ฒŒ ์ธํ„ฐ๋„ท ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ๋ง xDSL ๋ฐฉ์‹์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ „ํ™”์„ ์„ ์‚ฌ์šฉ FTTH(C) ๋ฐฉ์‹์€ ๊ด‘ํšŒ์„ ์„ ์‚ฌ์šฉ HFC ๋ฐฉ์‹์€ ๊ด‘ํšŒ์„ ๊ณผ ๋™์ถ• ์ผ€์ด๋ธ”์„ ์ด์šฉํ•˜์—ฌ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณต [ xDSL ๊ธฐ์ˆ ์˜ ์ข…๋ฅ˜ ] * ADSL(Asymmetric Digital Subscriber Line) : ๋น„๋Œ€์นญํ˜• ๋””์ง€ํ„ธ ๊ฐ€์ž…์ž ๋ผ์ธ ํŠน์ง• ์ „ํ™”์„ ์— ์ €์ฃผํŒŒ(4KHz) ์Œ์„ฑ์‹ ํ˜ธ์™€ ๊ณ ์ฃผํŒŒ(1MHz) ๋ฐ์ดํ„ฐ ์‹ ํ˜ธ๋ฅผ ๋™์‹œ์— ์ „์†ก ์Šคํ”Œ๋ฆฌํ„ฐ๋ผ๋Š” ์žฅ์น˜๋ฅผ ์ด์šฉ, ์‹ ํ˜ธ๋ฅผ ๋ถ„๋ฆฌ ์Œ์„ฑ ๊ตํ™˜๊ธฐ์™€ ๋ฐ์ดํ„ฐ ๊ตํ™˜..

[DB] ์ธ๋ฑ์Šค ์„ ์ •

* ์ธ๋ฑ์Šค ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์ฟผ๋ฆฌ 1. ์ธ๋ฑ์Šค ์ปฌ๋Ÿผ์„ ์กฐ๊ฑด์ ˆ์—์„œ ๊ฐ€๊ณตํ•˜๋Š” ๊ฒฝ์šฐ SELECT * FROM employees WHERE substr(email, 1, 2) = 'SV'; 2. ๋ถ€์ •ํ˜• ๋น„๊ต๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ SELECT * FROM employees WHERE id not between 150 and 200; * ์ธ๋ฑ์Šค ๋Œ€์ƒ ์ปฌ๋Ÿผ ์„ ์ • ๊ธฐ์ค€ ์‹œ, ๊ณ ๋ คํ•  ๊ฒƒ ์ปฌ๋Ÿผ ๋ถ„ํฌ๋„ ์ „์ฒด ๋ ˆ์ฝ”๋“œ์—์„œ ์‹๋ณ„ ๊ฐ€๋Šฅํ•œ ์ˆ˜์— ๋Œ€ํ•œ ๋ฐฑ๋ถ„์œจ ๋ถ„ํฌ๋„ ์ข‹์€ ์ปฌ๋Ÿผ ์„ ์ •์ด ๊ถŒ์žฅ๋˜์ง€๋งŒ, ๋ถ„ํฌ๋„ ๋งŒ์œผ๋กœ ํŒ๋‹จํ•˜๋Š” ๊ฒƒ์€ ์œ„ํ—˜ํ•จ ์ธ๋ฑ์Šค ๋ฐธ๋Ÿฐ์‹ฑ ์ธ๋ฑ์Šค ์ปฌ๋Ÿผ์ด ์ž์ฃผ ์—…๋ฐ์ดํŠธ ๋˜๋ฉด, ์ธ๋ฑ์Šค ๋ฐธ๋Ÿฐ์‹ฑ์ด ๊นจ์ง INSERT, DELETE, UPDATE ์‹œ ์ธ๋ฑ์Šค๋„ ํ•จ๊ป˜ ๋ณ€๊ฒฝ๋˜๋ฏ€๋กœ ๋น„์šฉ์ด ๋ฐœ์ƒ ๊ฐฑ์‹ ์ด ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ์ปฌ๋Ÿผ์€ ์ธ๋ฑ์Šค ์ปฌ๋Ÿผ์œผ๋กœ ์„ ์ • ์‹œ ์‹ ์ค‘ํ•ด..

[Secure] ์ธ์ฆ ๋ฐ ๊ถŒํ•œ๊ด€๋ฆฌ / ์ ‘๊ทผ ์ œ์–ด

1. ์ธ์ฆ ๋ฐ ๊ถŒํ•œ๊ด€๋ฆฌ(์‹๋ณ„, ์ธ์ฆ, ์ธ๊ฐ€) ์ฃผ์ฒด(Subject)๊ฐ€ ๊ฐ์ฒด(Object)๋ฅผ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ํ†ต์ œํ•˜๋Š” ๊ฒƒ Accounting(๊ณ„์ •๊ด€๋ฆฌ) -> Authentication(์ธ์ฆ) -> Authorization(๊ถŒํ•œ๋ถ€์—ฌ) * ์‹๋ณ„ ์œ ์ผํ•œ ์‹๋ณ„์ž(ID) ๋ถ€์—ฌ -> ์ฑ…์ž„ ์ถ”์ •์„ฑ(Accountability) ํ™•๋ณด ๊ณ„์ • ๊ณต์œ  ์‚ฌ์šฉ ์ œํ•œ ์ถ”์ธก ๊ฐ€๋Šฅํ•œ ์‹๋ณ„์ž ์‚ฌ์šฉ ์ œํ•œ (ex. root, admin, manager..) -> ์‹๋ณ„์ž ๋ณ€๊ฒฝ, ๋น„ํ™œ์„ฑํ™” * ์ธ์ฆ ์ •๋ณด์˜ ์ฃผ์ฒด๊ฐ€ ๋˜๋Š” ์†ก์‹ ์ž์™€ ์ˆ˜์‹ ์ž๊ฐ„์— ๊ต๋ฅ˜ํ•˜๋Š” ์ •๋ณด์˜ ๋‚ด์šฉ์ด ๋ณ€์กฐ, ์‚ญ์ œ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธ ์ฃผ์ฒด๊ฐ€ ๋˜๋Š” ์†ก์ˆ˜์‹ ์ž๊ฐ€ ์ •๋‹นํ•œ์ง€ ํ™•์ธ ์ธ์ฆ ์œ ํ˜• (์ˆ˜๋‹จ) ์ง€์‹ : ์‚ฌ์šฉ์ž๊ฐ€ ์•Œ๊ณ ์žˆ๋Š” ์ •๋ณด์— ๊ธฐ๋ฐ˜ (PIN, ํŒจ์Šค์›Œ๋“œ, ๊ณ„์ขŒ๋ฒˆํ˜ธ..) ์†Œ์œ  : ์‚ฌ์šฉ์ž๊ฐ€ ์†Œ์œ ํ•˜๊ณ  ์žˆ๋Š”..

[IC] ์ธํ„ฐ๋„ท (Internet)

1. ํ”„๋กœํ† ์ฝœ : ์ปดํ“จํ„ฐ ๊ฐ„์˜ ํ†ต์‹ ์—์„œ ์‹œ์Šคํ…œ์˜ ์ฐจ์ด์— ์˜ํ•ด ์—ฐ๊ฒฐ์ด ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ -> ์ด์ข…์˜ ์‹œ์Šคํ…œ ๊ฐ„์—๋„ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ธฐ์œ„ํ•ด ๋งŒ๋“  ์ผ๋ จ์˜ ํ‘œ์ค€, ํ˜‘์•ฝ์„ ํ”„๋กœํ† ์ฝœ์ด๋ผ ํ•จ 2. OSI 7 ๊ณ„์ธต ISO(International Standard Organization) ์—์„œ ๊ทœ์ • ํ†ต์‹ ์˜ ํšจ์œจ์„ฑ์„ ๋†’์ด๊ณ ์ž ์ผ๋ จ์˜ ํ†ต์‹  ๊ณผ์ •์„ 7๊ฐœ์˜ ๊ณ„์ธต์œผ๋กœ ๊ตฌ๋ถ„ ๊ฐ ๋‹จ๊ณ„์˜ ํ”„๋กœํ† ์ฝœ๊ณผ ์„œ๋น„์Šค๋ฅผ ํ‘œ์ค€ํ™”ํ•œ ๋„คํŠธ์›Œํฌ ๋ชจ๋ธ = ์ฐธ์กฐ ๋ชจ๋ธ (Reference model) ์ „ ์„ธ๊ณ„์ ์ธ ํ•ฉ์˜๋ฅผ ํ•„์š”๋กœํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ง„์ฒ™์ด ๋”๋””๋‹ค -> ํ•„์š”์„ฑ์— ์˜ํ•ด ๋งŒ๋“ค์–ด์ง„ TCP/IP ( ๋งํฌ, ๋„คํŠธ์›Œํฌ, ํŠธ๋žœ์ŠคํฌํŠธ, ์‘์šฉ ๊ณ„์ธต) 3. ์ธํ„ฐ๋„ท ์ „ ์„ธ๊ณ„์˜ ์ปดํ“จํ„ฐ๋“ค์ด ํ•˜๋‚˜๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๊ฑฐ๋Œ€ํ•œ ๋„คํŠธ์›Œํฌ TCP/IP ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ LAN๊ณผ W..

[Network] ARP(Address Resolution Protocol)

ARP(Address Resolution Protocol) ์ฃผ์†Œ ๋ณ€ํ™˜ ARP ํ”„๋กœํ† ์ฝœ ARP Package 1. ์ฃผ์†Œ ๋ณ€ํ™˜(Address Mapping) : ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์—์„œ ๋‹ค์Œ-ํ™‰์— ๋Œ€ํ•œ ๋…ผ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์•Œ์•„๋‚ด์–ด๋„, ๋ฐ์ดํ„ฐ๋งํฌ๊ณ„์ธต์„ ํ†ตํ•ด์„œ ์ „๋‹ฌํ•˜๋ ค๋ฉด ๋ฌผ๋ฆฌ์ฃผ์†Œ๋ฅผ ์ง€์ •ํ•ด์•ผํ•จ ๋…ผ๋ฆฌ ์ฃผ์†Œ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต ๋ ˆ๋ฒจ์˜ ์ฃผ์†Œ ์ „์„ธ๊ณ„์ ์œผ๋กœ ์œ ์ผํ•œ ์ฃผ์†Œ๊ฐ’, 32๋น„ํŠธ ๊ธธ์ด(IP์ฃผ์†Œ) ๋ฌผ๋ฆฌ ์ฃผ์†Œ ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์—์„œ ์œ ํšจํ•˜๊ณ  ์œ ์ผํ•œ ์ฃผ์†Œ ํ˜ธ์ŠคํŠธ / ๋ผ์šฐํ„ฐ์— ์„ค์น˜๋œ NIC์— ์‹ค์žฅ๋˜์–ด ์žˆ์Œ ์ด๋”๋„ท์˜ ๊ฒฝ์šฐ 48๋น„ํŠธ ๊ธธ์ด(MAC ์ฃผ์†Œ) * ์ •์  ๋ณ€ํ™˜(Static Mapping) ๋…ผ๋ฆฌ์ฃผ์†Œ์™€ ๋ฌผ๋ฆฌ์ฃผ์†Œ๊ฐ„์˜ ์—ฐ๊ด€ ํ…Œ์ด๋ธ”์„ ์ €์žฅํ•˜์—ฌ ์‚ฌ์šฉ ํ•„์š” ์‹œ์— ์—ฐ๊ด€ ํ…Œ์ด๋ธ” ๊ฒ€์ƒ‰ ๋ฌด๋ฆด์ฃผ์†Œ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒฝ์šฐ, ์ •์  ํ…Œ์ด๋ธ”์„ ๋ณ€๊ฒฝํ•ด์•ผํ•จ (NIC ๋ณ€๊ฒฝ, ์ปดํ“จํ„ฐ์˜ ์ด๋™ ..

[DB] ์ธ๋ฑ์Šค (Index)

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

[DB] ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ

์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ(Referential Integrity) ํ…Œ์ด๋ธ” ์‚ฌ์ด์˜ ๊ด€๊ณ„ ๊ทœ์น™์„ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ ์ œ์•ฝ์กฐ๊ฑด ๋ฐ์ดํ„ฐ๊ฐ€ ์ž…๋ ฅ, ์ˆ˜์ •, ์‚ญ์ œ๋  ๋•Œ ๋‘ ํ…Œ์ด๋ธ” ๋กœ์šฐ ์‚ฌ์ด์˜ ์ •ํ•ฉ์„ฑ๊ณผ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ ์ฐธ์กฐํ•˜๋Š” ํ…Œ์ด๋ธ”(์ž์‹ํ…Œ์ด๋ธ”)์— ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฝ์ž…๋  ๋•Œ์—๋Š” ํ•ญ์ƒ ์ฐธ์กฐ๋˜๋Š” ํ…Œ์ด๋ธ”(๋ถ€๋ชจํ…Œ์ด๋ธ”)์— ์žˆ๋Š” ๊ฐ’์œผ๋กœ ๋“ค์–ด๊ฐ ์™ธ๋ž˜ํ‚ค ์ œ์•ฝ์กฐ๊ฑด์œผ๋กœ ๊ตฌํ˜„ํ•จ * ์œ ์˜์‚ฌํ•ญ ์™ธ๋ž˜ํ‚ค๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „์— ๋ฐ˜๋“œ์‹œ ๋ถ€๋ชจํ…Œ์ด๋ธ”์ด ๋จผ์ € ์ƒ์„ฑ๋˜์–ด์•ผํ•œ๋‹ค ์ฐธ์กฐ๋˜๋Š” ๋ถ€๋ชจํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ์€ ๋ฐ˜๋“œ์‹œ ๊ธฐ๋ณธํ‚ค ๋˜๋Š” Unique ์ด์–ด์•ผํ•œ๋‹ค ํ•œ ๊ฐœ ์ด์ƒ์˜ ์ปฌ๋Ÿผ์œผ๋กœ ์™ธ๋ž˜ํ‚ค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Œ ์ž์‹ํ…Œ์ด๋ธ”์— ์กด์žฌํ•˜๋Š” ๊ฐ’์„ ๋ถ€๋ชจํ…Œ์ด๋ธ”์—์„œ ์‚ญ์ œํ•  ์ˆ˜ ์—†์Œ ์ž…๋ ฅ ์‹œ์—๋Š” ๋ถ€๋ชจํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋จผ์ € ์ž…๋ ฅํ•˜๊ณ  ์ž์‹ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ * ON DELETE ์˜ต์…˜ ์ฐธ์กฐ๋˜๊ณ  ์žˆ๋Š” ๋ถ€๋ชจํ…Œ์ด๋ธ”์˜ ๋ฐ..

[DB] ์˜์—ญ ๋ฌด๊ฒฐ์„ฑ

์˜์—ญ ๋ฌด๊ฒฐ์„ฑ(Domain Integrity) ํ•ด๋‹น ์ปฌ๋Ÿผ์˜ ๊ฐ’์ด ์ปฌ๋Ÿผ์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ’์˜ ์˜์—ญ(๋„๋ฉ”์ธ) ๋‚ด์— ์†ํ•œ ๊ฐ’์ด์–ด์•ผ ํ•จ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ธฐ๋Šฅ์— ์˜ํ•ด ์œ ํšจ๊ฐ’์— ๋Œ€ํ•œ ๊ฒ€์ฆ์„ ์„ ํ–‰ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ œ์•ฝ์กฐ๊ฑด์„ ์„ ์–ธํ•˜์—ฌ ๋ฌด๊ฒฐ์„ฑ์„ ๊ฐ•ํ™” * ์ปฌ๋Ÿผ ๋ฐ์ดํ„ฐ ํƒ€์ž…(Data Type) : ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ์ปฌ๋Ÿผ์— ์ €์žฅ๋˜๋Š” ๊ฐ’์˜ ํ˜•์‹๊ณผ ๋ฒ”์œ„๋ฅผ ์ œํ•œํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋„๋ฉ”์ธ ๋ฌด๊ฒฐ์„ฑ์„ ์œ„ํ•œ ๊ธฐ์ดˆ ๋‹จ์œ„ * ์ตœ์†Œํ•œ์˜ ํฌ๊ธฐ ๋ฐ์ดํ„ฐ ํƒ€์ž… ์„ ์ •์˜ ๊ธฐ๋ณธ ์›์น™์€ ์ตœ์†Œํ•œ์˜ ํฌ๊ธฐ๋กœ ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ ์š”๊ตฌ๋ฅผ ๋งŒ์กฑํ•  ์ˆ˜ ์žˆ๋Š” ํƒ€์ž…์„ ์„ ์ •ํ•˜๋Š” ๊ฒƒ ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ฐจ์ง€ํ•˜๋Š” ๊ณต๊ฐ„์ด ์ ์„ ์ˆ˜๋ก ํ•œ ๋ธ”๋ก(ํŽ˜์ด์ง€)์— ๋” ๋งŽ์€ ๋กœ์šฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ธ”๋ก(ํŽ˜์ด์ง€) ๋กœ๋”ฉ ์ˆ˜๊ฐ€ ์ค„์–ด๋“ค์–ด ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•˜๊ฒŒ ๋จ ๋ฌธ์ž์™€ ์ˆซ์ž ๋ฐ์ดํ„ฐ ํ˜•์‹์€ ์ผ๋ฐ˜์ ์œผ..

[DB] ๊ฐœ์ฒด ๋ฌด๊ฒฐ์„ฑ

๊ฐœ์ฒด ๋ฌด๊ฒฐ์„ฑ(Entity Integrity) ํ…Œ์ด๋ธ”์— ์ €์žฅ๋˜๋Š” ๊ฐ๊ฐ์˜ ๋กœ์šฐ์— ๋Œ€ํ•ด์„œ ์œ ์ผ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ฌด๊ฒฐ์„ฑ ๋ฐ˜๋“œ์‹œ ๋ณด์žฅ๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ, ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ํŠธ๋ฆฌ๊ฑฐ๋ณด๋‹ค DBMS๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋ณธํ‚ค(Primary Key) ์ œ์•ฝ์กฐ๊ฑด์ด๋‚˜ ์œ ์ผ์„ฑ(Unique) ์ œ์•ฝ์กฐ๊ฑด ๋“ฑ์„ ์ด์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•จ * ์œ ์ผํ‚ค(Unique Key) ์ œ์•ฝ์กฐ๊ฑด ์ง€์ •๋œ ์ปฌ๋Ÿผ์˜ ๊ฐ’์ด ์ค‘๋ณต๋˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Œ ํ…Œ์ด๋ธ”์— ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ์Œ NULL ๊ฐ’์€ ํ—ˆ์šฉ ๋ณตํ•ฉ ์œ ์ผํ‚ค(Composite Unique Key) : ํ•œ ๊ฐœ ์ด์ƒ์˜ ์ปฌ๋Ÿผ์„ ์กฐํ•ฉํ•˜์—ฌ ์œ ์ผํ‚ค๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ * ๊ธฐ๋ณธํ‚ค(Primary Key) ์ œ์•ฝ์กฐ๊ฑด ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ผํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด ํ…Œ์ด๋ธ” ๋‹น ํ•˜๋‚˜๋งŒ ์ง€์ • ๊ฐ€๋Šฅํ•จ ์œ ์ผ(Unique)ํ•ด์•ผํ•˜๊ณ , NULL๊ฐ’์„ ๊ฐ€..

[DB] ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ

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