์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ/์ค๊ธฐ ๊ฐ๋ (8) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ] SQL(Structured Query Language) SQL(Structured Query Language) โ๏ธ SQL(Structured Query Language)์ด๋? - ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ดํ๋ DBMS์ ํ์ค ์ธ์ด - ๋ฐ์ดํฐ ์ ์์ด, ๋ฐ์ดํฐ ์กฐ์์ด, ๋ฐ์ดํฐ ์ ์ด์ด๋ก ๊ตฌํ ๋ฐ์ดํฐ ์ ์์ด(DDL) ๋ฐ์ดํฐ ์กฐ์์ด(DML) ๋ฐ์ดํฐ ์ ์ด์ด(DCL) - CREATE : DB ๊ฐ์ฒด ์์ฑ - ALTER : DB ๊ฐ์ฒด ์์ - DROP : DB ๊ฐ์ฒด ์ ๊ฑฐ - TRUNCATE : ํ ์ด๋ธ์ ๋ชจ๋ ๋ฐ์ดํฐ ์ญ์ - SELECT : ๋ฐ์ดํฐ ์กฐํ - INSERT : ๋ฐ์ดํฐ ์ฝ์ - UPDATE : ๋ฐ์ดํฐ ์์ - DELETE : ๋ฐ์ดํฐ ์ญ์ - GRANT : ๊ถํ ๋ถ์ฌ - REVOKE : ๊ถํ ํ์ - COMMIT : ๊ฒฐ๊ณผ ๋ฐ์ - ROLLBACK : ์์ ์ทจ์ โ๏ธ.. [์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ] ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทํ & ์ ๊ทํ ์ ๊ทํ(Normalization) โถ ์ ๊ทํ๋? ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๊ธฐ ์ํด ์ค๋ณต์ฑ์ ์ต์ํํ๊ณ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํ ๋ฐ์ดํฐ ๊ตฌ์ฑ ํ๋ก์ธ์ค โถ ์ ๊ทํ์ ๋ชฉ์ ์๋ชป๋ DB ์ค๊ณ ์ ๋ฐ์ํ๋ ์ด์ ํ์(anmaly)์ ์ ๊ฑฐํ๋ ๊ฒ - ์ฝ์ ์ด์ : ๋ฐ์ดํฐ ์ฝ์ ์, ๊ด๋ จ์๋ ์ ๋ณด๋ ํจ๊ป ์ฝ์ ํด์ผ ํ๋ ํ์ - ์ญ์ ์ด์ : ๋ฐ์ดํฐ ์ญ์ ์, ๋ค๋ฅธ ๋ฐ์ดํฐ๋ ํจ๊ป ์ญ์ ๋๋ ํ์ - ๊ฐฑ์ ์ด์ : ๋ฐ์ดํฐ ๊ฐฑ์ ์, ๋ฐ์ดํฐ ๋ถ์ผ์น๊ฐ ๋ฐ์ํ๋ ํ์ โถ ์ ๊ทํ์ ํํ(์ ๊ทํ, NF) ๋น์ ๊ทํ ์ ๊ทํ ์ ํ ์งํ๋์ง ์์ ์ํ 1NF *๋๋ฉ์ธ์ด ์์ ๊ฐ๋ง ๊ฐ์ง๋๋ก ๋ถํด 2NF ๋ถ๋ถ *ํจ์ ์ข ์ ์ ๊ฑฐ 3NF ์ดํ์ ํจ์ ์ข ์ ์ ๊ฑฐ BCNF *๊ฒฐ์ ์๊ฐ *ํ๋ณดํค๊ฐ ์๋ ์ข ์ ์ ๊ฑฐ 4NF *๋ค์น ์ข ์ ์ ๊ฑฐ 5NF ํ๋ณดํค๋ฅผ .. [์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ] ๋์์ธ ํจํด GoF(Gang of Four) ๋์์ธ ํจํด โถ ๋์์ธ ํจํด : ๋ฐ๋ณต์ ์ธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ํด๊ฒฐ์ฑ ์ ์ผ๋ฐํํ ๊ฒ - ์์ฑ ํจํด (5๊ฐ์ง), ๊ตฌ์กฐ ํจํด (7๊ฐ์ง), ํ์ ํจํด (11๊ฐ์ง) ์์ฑ ํจํด (5๊ฐ์ง) ๊ตฌ์กฐ ํจํด (7๊ฐ์ง) ํ์ ํจํด (11๊ฐ์ง) (1) Factory Method (2) Abstract Factory (3) Builder (4) Prototype (5) Singleton (1) Adapter (2) Bridge (3) Composite (4) Decorator (5) Facade (6) Flyweight (7) Proxy (1) Interpreter (2) Template Method (3) Chain of Responsibility (4) Command (5) I.. [์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ] ์คํค๋ง(Schema) ์คํค๋ง (Schema) โถ ์คํค๋ง(Schema)๋? - ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ฃ ๊ตฌ์กฐ์ ํํ ๋ฐฉ๋ฒ, ๊ด๊ณ ๋ฑ์ ์ ์ํ ์ ์ฝ์กฐ๊ฑด - ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๋ฐ์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๊ณ ๋ฌธ์ํ - ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ, ๊ตฌ์ถ, ์ ์ง๋ณด์ ๋ฑ์ ๊ด๋ฆฌํ๋ ๋ฐ ์ค์ - ๊ด์ ์ ๋ฐ๋ผ ์ธ๋ถ, ๊ฐ๋ , ๋ด๋ถ์ ๊ตฌ์กฐ โถ ์ธ๋ถ์คํค๋ง - ํน์ ์ฌ์ฉ์์ ๊ด์ ์์ - ์ ์ฒด์ ์ธ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ ์ ์ - ์ด๋ป๊ฒ ํํํ ๊ฒ์ธ์ง โถ ๊ฐ๋ ์คํค๋ง - ๋ชจ๋ ์ฌ์ฉ์์ ๊ด์ ์์ - ์ ๊ทผ๊ถํ, ๋ณด์์ ์ฑ , ๋ฌด๊ฒฐ์ฑ ๊ท์น ๋ฑ ํฌํจ - DB ์ค๊ณ์์ ์ฌ์ฉ์ ๊ฐ์ ์์ฌ์ํต ์ฉ์ดํ๋๋ก โถ ๋ด๋ถ์คํค๋ง - ๋ฌผ๋ฆฌ์ ์ ์ฅ์ฅ์น์ ๊ด์ ์์ - ์ ์ฅ ์์น, ์ธ๋ฑ์ค ์์ฑ, ํ์ผ ๊ตฌ์กฐ ๋ฑ ํฌํจ - ๊ธฐ์ ์ ์ธก๋ฉด [์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ] ํ๋ก์ธ์ค ํ์ ๊ด๋ฆฌ ํ๋ก์ธ์ค ํ์ ๊ด๋ฆฌ โถ ํ์๊ด๋ฆฌ - ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ ํธ์์ ๋ฐ์ํ๋ ์ฐ์ถ๋ฌผ๋ค์ ์ข ํฉ ๋ฐ ๋ณ๊ฒฝ๊ณผ์ (version)์ ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ํ๋ - ์ฌ๋ฌ ๊ฐ๋ฐ์๊ฐ ๊ฐ์ ํ๋ก์ ํธ ๊ฐ๋ฐํ ๋ ๋ฐ์ํ๋ ๋ฌธ์ ์ ์ต์ํ 1) ํ์ ์๋ณ : ๊ด๋ฆฌ๋ฒํธ ๋ถ์ฌ, ๊ธฐ์ค์ ์ ์ 2) ํ์ ํต์ : ๋ณ๊ฒฝ ์๊ตฌ ๊ฒํ ๋ฐ ์น์ธ, ๋ฐ์ 3) ํ์ ์ํ ๋ณด๊ณ : ๊ฒฐ๊ณผ ๊ธฐ๋ก 4) ํ์ ๊ฐ์ฌ : ๊ณต์ ๊ฒ์ฆ [์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ] OSI 7๊ณ์ธต OSI 7๊ณ์ธต โ ํต์ ํ๋กํ ์ฝ : ์๋ก ๋ค๋ฅธ ์์คํ ์ ์กด์ฌํ๋ ๋ ธ๋ ๊ฐ ์ํํ ํต์ ์ ์ํ ๊ท์น ๊ธฐ๋ณธ ๊ตฌ์ฑ ์์ : ๊ตฌ๋ฌธ(Syntax), ์๋ฏธ(Timing), ์๊ฐ(Timing) โ OSI 7๊ณ์ธต : ๋คํธ์ํฌ์์ ํต์ ์ด ์ผ์ด๋๋ ๊ณผ์ ์ 7๊ณ์ธต์ผ๋ก ๋๋ ๊ตญ์ ํ์ค ์์ ๊ณ์ธต : ์์ฉ, ํํ, ์ธ์ ๊ณ์ธต ํ์ ๊ณ์ธต : ์ ์ก, ๋คํธ์ํฌ, ๋ฐ์ดํฐ๋งํฌ, ๋ฌผ๋ฆฌ๊ณ์ธต 1๏ธโฃ ๋ฌผ๋ฆฌ ๊ณ์ธต(Physical Layer) : ๋ฌผ๋ฆฌ์ ์ ํธ ์ฃผ๊ณ ๋ฐ๋ ๊ณ์ธต 2๏ธโฃ ๋ฐ์ดํฐ๋งํฌ ๊ณ์ธต(Data Link Layer) : ๋ ธ๋ ๊ฐ ์ก์์ ๋๋ ์ค๋ฅ์ ํ๋ฆ ๊ด๋ฆฌ - MAC์ฃผ์(๋ธ๋ฆฌ์ง, ์ค์์น) 3๏ธโฃ ๋คํธ์ํฌ ๊ณ์ธต(Network Layer) : ์ฃผ์ ์ ํ๊ณ ๊ฒฝ๋ก ์ ํํด ํจํท ์ ๋ฌ - IP์ฃผ์(๋ผ์ฐํฐ, L3 ์ค์์น) 4๏ธโฃ ์ ์ก ๊ณ์ธต(Tran.. [์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ] ๋ชจ๋ ์์ง๋์ ๋ชจ๋ ๊ฒฐํฉ๋ ๋ชจ๋ ์์ง๋์ ๋ชจ๋ ๊ฒฐํฉ๋ โถ ๋ชจ๋ ์์ง๋ (Cohesion) : ๋ชจ๋ ๋ด๋ถ ๊ธฐ๋ฅ ๊ฐ, ๋์์๋ก ์ข๋ค. ๋ ์ . . . ๋ฎ ์ ๊ธฐ๋ฅ์ ์์ง๋ (๋) Functional ๋จ์ผ ๋ชฉ์ ์์ฐจ์ ์์ง๋ Sequential ๋ชจ๋ ๋ด ์ถ๋ ฅ๊ฐ → ๋ค๋ฅธ ๋ชจ๋ ์ ๋ ฅ๊ฐ ํต์ ์ ์์ง๋ Communication ๋์ผ ์ ๋ ฅ์ ์ถ๋ ฅ๊ฐ์ผ๋ก ๋ค๋ฅธ ๊ธฐ๋ฅ ์ ์ฐจ์ ์์ง๋ Procedural ๋ค๋ฅธ ๊ธฐ๋ฅ์ ์์ฐจ์ ์ผ๋ก ์ํ ์๊ฐ์ ์์ง๋ Temporal ํน์ ์๊ธฐ์ ํจ๊ป ๋ ผ๋ฆฌ์ ์์ง๋ Logical ์ ์ฌํ ๊ธฐ๋ฅ ํ๋์ ๋ชจ๋ ์ฐ์ฐ์ ์์ง๋ (๋ฎ) Coincidental ์๋ฌด๋ฐ ๊ด๋ จ X โถ ๋ชจ๋ ๊ฒฐํฉ๋ (Coupling) : ๋ชจ๋๊ณผ ๋ชจ๋ ๊ฐ ๊ฒฐํฉ ์ ๋, ๋ฎ์์๋ก ์ข๋ค. ๋ฎ ์ . . . ๋ ์ ์๋ฃ ๊ฒฐํฉ๋ (๋ฎ) Data ์ธ์์ ๋งค๊ฐ๋ณ์ ํตํด์๋ง.. [์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ] ํ์ดํธ๋ฐ์ค ํ ์คํธ์ ๋ธ๋๋ฐ์ค ํ ์คํธ ํ์ดํธ๋ฐ์ค ํ ์คํธ์ ๋ธ๋๋ฐ์ค ํ ์คํธ โถ ์ํํธ์จ์ด ํ ์คํธ๋? ์์ฉ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ ์์คํ ์ ๊ฒฐํจ์ ์ฐพ์๋ด์ด ๋ฌธ์ ์ ์ ํด๊ฒฐํ๋ ๊ฒ โถ ํ๋ก๊ทธ๋จ์ ์คํ ์ฌ๋ถ์ ๋ฐ๋ฅธ ํ ์คํธ ์ข ๋ฅ - ์ ์ ํ ์คํธ : ์คํ ์์ด ์์ค์ฝ๋ ๊ตฌ์กฐ ๋ถ์ (์ธ์คํ์ , ๋๋ฃ๊ฒํ , ์ํฌ์ค๋ฃจ) - ๋์ ํ ์คํธ : ์คํํ๋ฉด ๋ณด๋ฉด์ (ํ์ดํธ๋ฐ์ค, ๋ธ๋๋ฐ์ค) โถ ํ์ดํธ๋ฐ์ค ํ ์คํธ ๊ธฐ๋ฒ : ๋ด๋ถ ๋ก์ง์ ์ค์ฌ์ผ๋ก 1. ๊ธฐ์ด ๊ฒฝ๋ก(Basic Path) ํ ์คํธ ์ค๊ณ์๋ ์์ค ์ฝ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฆ๋ ์์ฑํ์ฌ ๋ ผ๋ฆฌ์ ์ํ ๋ณต์ก๋ ์ธก์ (๋ณต์ก๋ = ๊ฐ์ ์ - ๋ ธ๋์ + 2) 2. ์ ์ด๊ตฌ์กฐ ๊ฒ์ฌ - ์กฐ๊ฑด ๊ฒ์ฌ(Condition Testing) : ๋ ผ๋ฆฌ์ ์ค์ฌ - ๋ฃจํ ๊ฒ์ฌ(Loop Testing) : ๋ฐ๋ณต ๊ตฌ์กฐ ์ค์ฌ - ๋ฐ์ดํฐ ํ๋ฆ ๊ฒ์ฌ(Data Flow Te.. ์ด์ 1 ๋ค์