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

Category88

4 Constant C ์–ธ์–ด์—์„œ ์ƒ์ˆ˜(Constant)๋Š” ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ณ ์ •๋œ ๊ฐ’์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ƒ์ˆ˜๋Š” ์ฃผ๋กœ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ’ ์ค‘์— ๋ณ€ํ•˜์ง€ ์•Š์•„์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. C ์–ธ์–ด์—์„œ๋Š” ์ƒ์ˆ˜๋ฅผ ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1) Const const ํ‚ค์›Œ๋“œ๋Š” C ์–ธ์–ด์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ, ๋ณ€์ˆ˜๋ฅผ ์ƒ์ˆ˜๋กœ ์„ ์–ธํ•˜๋Š” ๋ฐ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. const๋ฅผ ๋ณ€์ˆ˜ ์„ ์–ธ ์•ž์— ๋ถ™์ด๋ฉด, ํ•ด๋‹น ๋ณ€์ˆ˜๋Š” ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ์ƒ์ˆ˜๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. 2) ๊ธฐํ˜ธ ์ƒ์ˆ˜(Symbolic Constant ๋˜๋Š” ๋งคํฌ๋กœ ์ƒ์ˆ˜) ์ฝ”๋“œ ๋‚ด์—์„œ ์ฝ๊ธฐ ์‰ฝ๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์šฉ์ดํ•˜๋„๋ก ์ด๋ฆ„์„ ๋ถ€์—ฌํ•œ ์ƒ์ˆ˜์ž…๋‹ˆ๋‹ค. #define ์ „์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •์˜ํ•˜๋ฉฐ, ์ผ๋ฐ˜์ ์œผ๋กœ ๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ const๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํƒ€์ž… ์•ˆ์ „์„ฑ์ด๋‚˜ ์ฝ”.. 2024. 1. 23.
3 Variable ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๋ณ€์ˆ˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ฐธ์กฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ด๋ฆ„์ด ๋ถ™์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋Š” ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ์กฐ์ž‘ํ•˜๋Š” ๋ฐ์— ํ•„์ˆ˜์ ์ธ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. C ์–ธ์–ด์—์„œ ๋ณ€์ˆ˜๋Š” ์„ ์–ธ๋˜๊ณ  ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹์— ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค. C์–ธ์–ด์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž… char C ์–ธ์–ด๋Š” ์ดˆ๊ธฐ์—๋Š” UNIX ์šด์˜ ์ฒด์ œ๋ฅผ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ, ์ด ๋•Œ ์‚ฌ์šฉ๋œ ๊ธฐ๊ณ„๋Š” 8๋น„ํŠธ(1๋ฐ”์ดํŠธ) ํฌ๊ธฐ์˜ ๋ฌธ์ž๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ํšจ์œจ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ char๋ฅผ 1๋ฐ”์ดํŠธ๋กœ ์ •์˜ํ•˜๋Š” ๊ฒƒ์€ ๋‹น์‹œ ํ•˜๋“œ์›จ์–ด์˜ ํŠน์„ฑ์— ๋ถ€ํ•ฉํ•˜๋Š” ๊ฒฐ์ •์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, char ํƒ€์ž…์€ ASCII ๋ฌธ์ž ์ง‘ํ•ฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ASCII๋Š” ์˜์–ด ์•ŒํŒŒ๋ฒณ, ์ˆซ์ž, ํŠน์ˆ˜ ๋ฌธ์ž ๋“ฑ์„ 7๋น„ํŠธ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฌธ์ž ์ธ์ฝ”๋”ฉ ํ‘œ์ค€์œผ๋กœ, char๊ฐ€ 1๋ฐ”์ดํŠธ์ด๋ฉด์„œ 7๋น„ํŠธ๋กœ ํ‘œํ˜„๋˜๋Š” ๊ฒƒ์€ AS.. 2024. 1. 22.
2 Hello world C ์–ธ์–ด๋กœ "Hello, World!"๋ฅผ ์ถœ๋ ฅํ•˜๋ ค๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋จผ์ €, ํ…์ŠคํŠธ ์—๋””ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฐ„๋‹จํ•œ C ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ์˜ ์ด๋ฆ„์€ hello.c๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ์ €์žฅํ•œ ํŒŒ์ผ์„ ์ปดํŒŒ์ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. gcc (GNU Compiler Collection)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปดํŒŒ์ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”๋ณด๊ธฐ GCC๋Š” GNU Compiler Collection์˜ ์•ฝ์ž๋กœ, ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์œ„ํ•œ ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ํฌํ•จํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ C, C++, Fortran, Ada, Objective-C, ๋“ฑ ๋‹ค์–‘ํ•œ ์–ธ์–ด์— ๋Œ€ํ•œ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. GCC๋Š” ๋ฆฌ๋ˆ…์Šค ์šด์˜ ์ฒด์ œ์—์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋‹ค๋ฅธ ์œ ๋‹‰์Šค ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ ๋ฐ ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ํ”Œ๋žซํผ์—์„œ.. 2024. 1. 22.
1 C language - Why do we learn it C ์–ธ์–ด๋Š” 1972๋…„์— ๋ฒจ ์—ฐ๊ตฌ์†Œ์˜ ๋ฐ๋‹ˆ์Šค ๋ฆฌ์น˜(Dennis Ritchie)์™€ ์ผ„ ํ†ฐ์Šจ(Ken Thompson)์— ์˜ํ•ด ๊ฐœ๋ฐœ๋œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. C ์–ธ์–ด๋Š” ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์ ํ•ฉํ•˜๋ฉฐ, ์šด์˜ ์ฒด์ œ, ์ปดํŒŒ์ผ๋Ÿฌ, ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์–ธ์–ด๋Š” ์ €๊ธ‰ ์–ธ์–ด์™€ ๊ณ ๊ธ‰ ์–ธ์–ด์˜ ํŠน์ง•์„ ๋ชจ๋‘ ๊ฐ€์ง€๊ณ  ์žˆ์–ด, ํ•˜๋“œ์›จ์–ด์™€ ๋ฐ€์ ‘ํ•˜๊ฒŒ ์—ฐ๊ฒฐ๋˜๋ฉด์„œ๋„ ์ƒ๋Œ€์ ์œผ๋กœ ์‚ฌ์šฉ์ž ์นœํ™”์ ์ž…๋‹ˆ๋‹ค. C์–ธ์–ด์˜ ํŠน์ง• ๊ฐ„๊ฒฐํ•˜๊ณ  ๊ฐ„๋‹จํ•œ ๋ฌธ๋ฒ• C ์–ธ์–ด๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ๊ฐ„๊ฒฐํ•œ ๋ฌธ๋ฒ•์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ฝ”๋“œ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ดํ•ดํ•˜๊ณ  ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋•์Šต๋‹ˆ๋‹ค. ์ €์ˆ˜์ค€ ์–ธ์–ด ํŠน์ง• ๋ฉ”๋ชจ๋ฆฌ์™€ ํ•˜๋“œ์›จ์–ด์— ์ง์ ‘ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ํŠน์ง•์„ ๊ฐ€์ง€๋ฉฐ, ์ด๋Š” ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋‚˜ ํ•˜๋“œ์›จ์–ด ์ œ์–ด์— ์ ํ•ฉํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด์‹์„ฑ ๋™์ผํ•œ ์ฝ”๋“œ๋ฅผ ์—ฌ๋Ÿฌ ํ”Œ.. 2024. 1. 22.
[Algorithm] Time complexity (์‹œ๊ฐ„๋ณต์žก๋„) ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ์— ๋Œ€ํ•ด ์–ผ๋งˆ๋‚˜ ํšจ์œจ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. ์ข€ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ž…๋ ฅ ํฌ๊ธฐ์— ๋”ฐ๋ผ ์†Œ์š”๋˜๋Š” ๊ณ„์‚ฐ ์‹œ๊ฐ„์˜ ์ฆ๊ฐ€ ์ •๋„๋ฅผ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํšจ์œจ์„ฑ์„ ๋ถ„์„ํ•˜๊ณ  ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋น„๊ตํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ์˜ Running time์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์œ„ 3์ค„ ์งœ๋ฆฌ ์ฝ”๋“œ์˜ ์†Œ์š” ์‹œ๊ฐ„์€ 7ns ์ž…๋‹ˆ๋‹ค. ์ข‹์€ ํ”„๋กœ๊ทธ๋žจ์ด๋ผ๋ฉด ์ค€์ˆ˜ํ•œ ์†๋„์™€ ์ •ํ™•์„ฑ์ด ๋’ท๋ฐ›์นจ๋˜์–ด์•ผ ํ•˜๊ธฐ๋•Œ๋ฌธ์— ํ”„๋กœ๊ทธ๋žจ์˜ ์†Œ์š” ์‹œ๊ฐ„์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ๋ฐ˜๋ณต๋ฌธ์˜ ๊ฒฝ์šฐ๋Š” ์–ด๋–จ๊นŒ์š”? 'Outer loop'์˜ ๊ฒฝ์šฐ 5๋ฒˆ โ†’ n๋ฒˆ์ผ ๊ฒฝ์šฐ n๋ฒˆ 'Inner loop'์˜ ๊ฒฝ์šฐ 25๋ฒˆ โ†’ n๋ฒˆ์ผ ๊ฒฝ์šฐ n^2๋ฒˆ = 5n^2 + .. 2024. 1. 21.
25 NoSQL NoSQL์€ "Not Only SQL"์˜ ์•ฝ์ž๋กœ, ์ „ํ†ต์ ์ธ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์ด ์ œ๊ณตํ•˜๋Š” ํ…Œ์ด๋ธ” ํ˜•ํƒœ์˜ ์Šคํ‚ค๋งˆ์™€ SQL ์ฟผ๋ฆฌ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ง€์นญํ•ฉ๋‹ˆ๋‹ค. NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋Œ€๋Ÿ‰์˜ ๋ถ„์‚ฐ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ €์žฅํ•˜๋Š” ๋ฐ์— ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ ์ธํ„ฐ๋„ท๊ณผ ๋ชจ๋ฐ”์ผ ๊ธฐ์ˆ ์˜ ๊ธ‰๊ฒฉํ•œ ๋ฐœ์ „์œผ๋กœ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์ด๋Ÿฌํ•œ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์ „ํ†ต์ ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๊ณ ์ •๋œ ์Šคํ‚ค๋งˆ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ๋ณ€๊ฒฝ์ด ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ˜„๋Œ€์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ด ์ž์ฃผ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„์ง€๋ฉด์„œ ์œ ์—ฐํ•œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ด ํ•„์š”ํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ๋˜ ํ•œ, ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ๊ณผ ์„œ๋น„์Šค์—์„œ๋Š” ๊ณ ๊ฐ€์šฉ์„ฑ, ํ™•์žฅ์„ฑ.. 2024. 1. 18.
21 Index ์ธ๋ฑ์Šค(Index)๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ฒ€์ƒ‰ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋กœ, ํŠน์ • ์—ด(๋˜๋Š” ์—ฌ๋Ÿฌ ์—ด)์— ๋Œ€ํ•œ ์ •๋ ฌ๋œ ํ‚ค์™€ ํ•ด๋‹น ํ‚ค๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ ๋ ˆ์ฝ”๋“œ์˜ ์œ„์น˜๋ฅผ ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ฒ€์ƒ‰ ์—ฐ์‚ฐ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ์ฟผ๋ฆฌ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค์˜ ์ฃผ์š” ํŠน์ง•๊ณผ ์—ญํ•  ๊ฒ€์ƒ‰ ์†๋„ ํ–ฅ์ƒ: ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”์ง„์€ ๊ฒ€์ƒ‰ ์กฐ๊ฑด์— ๋งž๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ํ…Œ์ด๋ธ”์—์„œ ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ฅธ ๊ฒ€์ƒ‰์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ •๋ ฌ ๋ฐ ์œ ์ผ์„ฑ ์œ ์ง€: ์ธ๋ฑ์Šค๋Š” ํŠน์ • ์—ด์— ๋Œ€ํ•ด ์ •๋ ฌ๋œ ์ˆœ์„œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ง€ํ•˜๋ฉฐ, ํ•„์š”์— ๋”ฐ๋ผ ํ•ด๋‹น ์—ด์˜ ๊ฐ’์ด ์œ ์ผํ•˜๋„๋ก ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ฃผ๋กœ ๊ธฐ๋ณธ ํ‚ค๋‚˜ ๊ณ ์œ  ์ œ์•ฝ ์กฐ๊ฑด์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์กฐ์ธ.. 2024. 1. 17.
20 Normalization Normalization์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„์—์„œ ์ค‘๋ณต์„ ์ตœ์†Œํ™”ํ•˜๊ณ  ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ์„ธ์Šค์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ ์ ˆํ•œ ํ…Œ์ด๋ธ”์— ๋ถ„์‚ฐ์‹œ์ผœ ์ค‘๋ณต์„ ๋ฐฉ์ง€ํ•˜๊ณ , ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ์ข…์†์„ฑ์„ ๊ด€๋ฆฌํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ๊ณผ ํšจ์œจ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. FD์™€ KEY๋งŒ์œผ๋กœ ์ •์˜๋˜๋Š” Normal Forms 3NF๊นŒ์ง€ ๋„๋‹ฌํ•˜๋ฉด ์ •๊ทœํ™”๋˜์—ˆ๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ๋‹ค ๋ณดํ†ต ์‹ค๋ฌด์—์„œ๋Š” 3NF ํ˜น์€ BCNF๊นŒ์ง€๋งŒ ์ง„ํ–‰ ์ •๊ทœํ™”์— ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ์•Œ์•„๋ณผ ์—ฌ๋Ÿฌ๊ฐ€์ง€ Key Super Key (์Šˆํผํ‚ค): ์Šˆํผํ‚ค๋Š” ๋ฆด๋ ˆ์ด์…˜์—์„œ ํŠœํ”Œ๋“ค์„ ์œ ์ผํ•˜๊ฒŒ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ(๋˜๋Š” ์†์„ฑ์˜ ์ง‘ํ•ฉ)์˜ ์กฐํ•ฉ Candidate Key (ํ›„๋ณด ํ‚ค): ํ›„๋ณด ํ‚ค๋Š” ์Šˆํผ ํ‚ค์ด๋ฉด์„œ๋„ ๋‘ ๊ฐœ์˜ attributes๊ฐ€ ์Šˆํผํ‚ค๋กœ ํ™œ์•ฝํ•  ๋–„ (ํ•˜๋‚˜๊ฐ€ ์—†์œผ๋ฉด ์•ˆ ๋จ) Primary K.. 2024. 1. 16.
12 Trigger SQL์—์„œ Trigger(ํŠธ๋ฆฌ๊ฑฐ)๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํŠน์ • ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ์ž๋™์œผ๋กœ ์‹คํ–‰๋˜๋Š” ์ผ๋ จ์˜ SQL ๋ฌธ์„ ํฌํ•จํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ์ด ์ด๋ฒคํŠธ๋Š” ํŠน์ • ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์ž‘์—…(INSERT, UPDATE, DELETE ๋“ฑ)๋“ค์ด ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค. BEFORE Trigger ํŠน์ • ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์ „์— ์‹คํ–‰๋˜๋Š” Trigger๋กœ, ์ฃผ๋กœ ๋ฐ์ดํ„ฐ์˜ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ ์ „์— ์ถ”๊ฐ€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. DELIMITER $$๋Š” ์„ธ๋ฏธ์ฝœ๋ก  ๋Œ€์‹  $$๋กœ ๊ตฌ๋ฌธ ๋ถ„๋ฆฌ์ž๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํŠธ๋ฆฌ๊ฑฐ์˜ ๋ณธ๋ฌธ์€ ์—ฌ๋Ÿฌ SQL ๋ฌธ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ ‡๊ฒŒ ๊ตฌ๋ฌธ ๋ถ„๋ฆฌ์ž๋ฅผ ๋ณ€๊ฒฝํ•ด์ฃผ๋Š” ๊ฒƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. CREATE TRIGGER ๋ฌธ์€ ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. BEFORE UPD.. 2024. 1. 13.