๐Ÿ“š CS [ComputerScience]/๐Ÿชช ์ž๊ฒฉ์ฆ 5

๐Ÿชช [์ž๊ฒฉ์ฆ] [SQLD] 2024๋…„ ์ œ 54ํšŒ SQLD ๊ฐœ๋ฐœ์ž ์‹œํ—˜ ํ›„๊ธฐ

์‹œํ—˜ ํ›„๊ธฐ2024๋…„ 8์›” 24์ผ SQLD ์‹œํ—˜์„ ๋ณด๊ณ ์™”๋‹ค. ์ „๊ณต์ž์— ๋‚œ์ด๋„๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ์–ด๋ ต์ง€ ์•Š๋‹ค๊ณ  ํ•ด์„œ ๊ทธ๋ƒฅ ํ•œ๋ฒˆ ๋ณด์ž๋Š” ์‹์œผ๋กœ ์‹œํ—˜์„ ๋ดค๋‹ค. ์ค€๋น„ ๊ธฐ๊ฐ„๋„ ์—†์ด ๊ทธ๋ƒฅ ์ „๋‚  3-4์‹œ๊ฐ„์ •๋„ ๋…ธ๋žญ์ด ํ’€์–ด๋ณด๊ณ  ์ƒ๊ฐ๋ณด๋‹ค ๋‚œ์ด๋„๊ฐ€ ์–ด๋ ค์›Œ์„œ ๊ทธ๋ƒฅ ๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทผ๋ฐ ์•Œ๊ณ ๋ณด๋‹ˆ ๋…ธ๋žญ์ด๋Š” SQLP ๋ฌธ์ œ๊นŒ์ง€ ์žˆ์–ด์„œ ๋” ์–ด๋ ค์šด ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‚˜๋ณด๋‹ค.  SQLD ์‹œํ—˜์„ ๋ณด๋ฉด์„œ ๋Š๋‚€๊ฑด ํ™•์‹คํžˆ ์‹ค๋ฌด ๊ฒฝํ—˜์ด ์žˆ์œผ๋ฉด SQL์„ ๋งŽ์ด ๋‹ค๋ฃจ๋‹ค ๋ณด๋‹ˆ ์ฟผ๋ฆฌ๋ฅผ ์งœ๊ธฐ์— ์ต์ˆ™ํ•˜๊ณ  ๊ธฐ๋ณธ ๊ฐœ๋…๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ์ „๊ณต์ž๋ผ ํฐ ์–ด๋ ค์›€์€ ์—†์—ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ Oracle๊ณผ SQL-server์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์ž˜ ๋ชฐ๋ผ์„œ ๋ช‡๋ฌธ์ œ๊ฐ€ ํ—ท๊ฐˆ๋ ธ๊ณ  NULL ์ฒ˜๋ฆฌ์— ๋Œ€ํ•ด ์ต์ˆ™ํ•˜๋‹ค๋ฉด ํฐ ์ค€๋น„ ์—†์ด ํ•ฉ๊ฒฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‚œ์ด๋„์˜€๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์‹ค ์œˆ๋„์šฐ ํ•จ์ˆ˜๋„ ์‹ค๋ฌด์—์„œ ๋งŽ์ด ์“ฐ์ง€ ์•Š์•˜๊ณ  ..

๐Ÿชช [์ž๊ฒฉ์ฆ] [์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ํ•„๊ธฐ

2๊ณผ๋ชฉ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์‚ฝ์ž… ์ •๋ ฌ (Insertion Sort) - O(N^2) ๋‘๋ฒˆ์งธ ๊ฐ’๋ถ€ํ„ฐ ์ด์ „ ๊ฐ’๋“ค๊ณผ ๋น„๊ต๋ฅผ ์‹œ์ž‘ ๋น„๊ตํ•˜๋Š” ๊ฐ’์„ Key๋ผ๊ณ  ํ•  ๋•Œ, ์ˆœ์„œ๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•œ๋‹ค๋ฉด Key๋ฅผ ๋ณ€๊ฒฝ ํ•  ์ž๋ฆฌ์— ์‚ฝ์ž…ํ•˜๊ณ  ๊ทธ ์ž๋ฆฌ์— ์žˆ๋˜ ๊ฐ’์€ ๋’ค๋กœ ํ•œ ์นธ ์ด๋™ ์‹œํ‚ด. ์„ ํƒ ์ •๋ ฌ(Selection Sort) - O(N^2) ์ฒ˜์Œ ์›์†Œ ์ž๋ฆฌ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ๋ชจ๋“  ๊ฐ’๋“ค์„ ๊ฒ€์‚ฌํ•˜์—ฌ ์ž‘์€ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ฒ„๋ธ” ์ •๋ ฌ(Bubble Sort) ์„œ๋กœ ์ธ์ ‘ํ•œ ๋‘ ์›์†Œ๋ฅผ ๊ฒ€์‚ฌํ•˜์—ฌ ์ •๋ ฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ธ์ ‘ํ•œ ๋‘ ๊ฐœ์˜ ๋ ˆ์ฝ”๋“œ ํ‚ค ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ๊ทธ ํฌ๊ธฐ์— ๋”ฐ๋ผ ์œ„์น˜๋ฅผ ์„œ๋กœ ๊ตํ™˜ํ•˜๋Š” ์ •๋ ฌ ๋ฐฉ์‹

๐Ÿชช [์ž๊ฒฉ์ฆ] [์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ํ•„๊ธฐ

๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๊ตฌ์ถ• ๋ฆด๋ ˆ์ด์…˜ (ํ…Œ์ด๋ธ”) ์†์„ฑ = ํ…Œ์ด๋ธ”์˜ ์—ด (Column) ์ฐจ์ˆ˜ = ์†์„ฑ์˜ ์ˆ˜ ํŠœํ”Œ = ํ…Œ์ด๋ธ”์˜ ํ–‰ (Row) ์นด๋””๋„๋ฆฌํ‹ฐ = ํŠœํ”Œ์˜ ์ˆ˜ DDL(Data Definition Language) Create, Alter, Drop DML(Data Manipulation Language) SELECT, INSERT, UPDATE, DELETE DCL(Data Control Language) GRANT, REVOKE, COMMIT, ROLLBACK DISTINCT : ์ค‘๋ณต ์ œ๊ฑฐCASCADE : ๋ถ€๋ชจ ๊ฐ’ ์‚ญ์ œ ์‹œ ์ž์‹๋„ ์‚ญ์ œALTER : ์†์„ฑ ์ถ”๊ฐ€, ์‚ญ์ œ ํ›„๋ณดํ‚ค - ์œ ์ผ์„ฑ๊ณผ ์ตœ์†Œ์„ฑ ๋งŒ์กฑ ๊ธฐ๋ณธํ‚ค - null ๊ฐ’ ๋ถˆ๊ฐ€, ์ค‘๋ณต x, ์‹๋ณ„์ž ์Šˆํผํ‚ค - ์œ ์ผ์„ฑ ๋งŒ์กฑ, ์ตœ์†Œ์„ฑ x ์™ธ๋ž˜ํ‚ค - ๊ธฐ๋ณธํ‚ค๋ฅผ ์ฐธ์กฐํ•˜๋Š”..

[์ž๊ฒฉ์ฆ] [SQLD] SQL ๊ธฐ์ดˆ

SQLDSELECT COLUMN1, ~ FROM TABLE;SUBSTR('STRING', INDEX, LENGTH)LTRIM() : ์™ผ์ชฝ ๊ณต๋ฐฑ ์ œ๊ฑฐRTRIM() : ์˜ค๋ฅธ์ชฝ ๊ณต๋ฐฑ ์ œ๊ฑฐ|| : ํ•ฉ์„ฑ ์—ฐ์‚ฐ์žex) 'S' || 'Q' || 'L' || 'D' => SQLDLOWER() : ์†Œ๋ฌธ์ž ๋ณ€๊ฒฝ / UPPER() : ๋Œ€๋ฌธ์ž ๋ณ€๊ฒฝCHR() : ์•„์Šคํ‚ค์ฝ”๋“œSYSDATE : ํ˜„์žฌ์˜ ๋…„, ์›”, ์ผ, ์‹œ, ๋ถ„, ์ดˆEXTRACT(YEAR, MONTH, DAY, HOUR, MINUTE, SECOND)ADD_MONTH() : ๊ฐœ์›”์ˆ˜๋ฅผ ๋”ํ•˜๊ฑฐ๋‚˜ ๋บ€ ๋‚ ์งœABS() : ์ ˆ๋Œ“๊ฐ’ / TRUNC() : ๋ฒ„๋ฆผ / CEIL() : ์˜ฌ๋ฆผ / FLOOR() : ์†Œ์ˆ˜์  ๋ฒ„๋ฆผ / MOD(NUM1, NUM2) : N1์„ N2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€COU..

[์ž๊ฒฉ์ฆ] [SQLD] ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด

1) ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์ด๋ž€? ํ˜„์‹ค ์„ธ๊ณ„๋ฅผ ๋‹จ์ˆœํ™”ํ•˜์—ฌ ํ‘œํ˜„ํ•˜๋Š” ๊ธฐ๋ฒ• ํ˜„์‹ค ์„ธ๊ณ„ ๋ฐ˜์˜ ๋‹จ์ˆœํ™” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋กœ ์„ค๊ณ„ 2) ๋ชจ๋ธ๋ง์˜ ํŠน์ง• ์ถ”์ƒํ™”(Abstraction) ์•„์ด๋””์–ด๋‚˜ ๊ฐœ๋…์„ ๊ฐ„๋žตํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜๋Š” ๊ณผ์ • ๋‹จ์ˆœํ™”(Simplification) ๋‹จ์ˆœํ•˜๊ณ  ์‰ฝ๊ฒŒ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ ๋ช…ํ™•ํ™”(Clarify) ๋ช…ํ™•ํ•˜๊ฒŒ ํ•ด์„์ด ๊ฐ€๋Šฅํ•˜์—ฌ์•ผ ํ•จ 3) ๋ชจ๋ธ๋ง์˜ ์„ธ ๊ฐ€์ง€ ๊ด€์  ๋ฐ์ดํ„ฐ ๊ด€์  ํ”„๋กœ์„ธ์Šค ๊ด€์  ๋ฐ์ดํ„ฐ์™€ ํ”„๋กœ์„ธ์Šค์˜ ์ƒ๊ด€ ๊ด€์  4) ๋ชจ๋ธ๋ง์˜ ์„ธ ๊ฐ€์ง€ ๋‹จ๊ณ„ ๊ฐœ๋…์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง - ์—…๋ฌด ์ค‘์‹ฌ์ , ํฌ๊ด„์  ์ˆ˜์ค€์˜ ๋ชจ๋ธ๋ง ๋…ผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง - ์žฌ์‚ฌ์šฉ์„ฑ์ด ํฌ๊ณ  Key, ์†์„ฑ, ๊ด€๊ณ„ ๋“ฑ์„ ๋ชจ๋‘ ํ‘œํ˜„ํ•˜๋Š” ๋‹จ๊ณ„ ๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง - ์‹ค์ œ ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ฑ๋Šฅ, ๊ฐ€์šฉ์„ฑ ๋“ฑ์˜ ๋ฌผ๋ฆฌ์ ์ธ ์„ฑ๊ฒฉ์„ ๊ณ ๋ คํ•˜์—ฌ ๋ชจ๋‘ ํ‘œํ˜„ํ•˜๋Š” ๋‹จ๊ณ„