๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

๐Ÿ–ฅWeb/๐Ÿ”ฅDB & SQL19

SQL ์ตœ์ ํ™”, SQL ์˜ตํ‹ฐ๋งˆ์ด์ € SQL ์ตœ์ ํ™” DBMS ๋‚ด๋ถ€์—์„œ ํ”„๋กœ์‹œ์ €๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์ปดํŒŒ์ผํ•ด์„œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ๋งŒ๋“œ๋Š” ์ „ ๊ณผ์ •์„ 'SQL ์ตœ์ ํ™”'๋ผ๊ณ  ํ•œ๋‹ค. SQL์„ ์‹คํ–‰ํ•˜๊ธฐ ์ „ ์ตœ์ ํ™” ๊ณผ์ •์„ ์„ธ๋ถ„ํ™”ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค. SQL ํŒŒ์‹ฑ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ SQL์„ ์ „๋‹ฌ๋ฐ›์œผ๋ฉด ๊ฐ€์žฅ ๋จผ์ € SQL ํŒŒ์„œ(Parser)๊ฐ€ ํŒŒ์‹ฑ์„ ์ง„ํ–‰ํ•œ๋‹ค. SQL ํŒŒ์‹ฑ์„ ์š”์•ฝํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ํŒŒ์‹ฑ ํŠธ๋ฆฌ ์ƒ์„ฑ: SQL ๋ฌธ์„ ์ด๋ฃจ๋Š” ๊ฐœ๋ณ„ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ๋ถ„์„ํ•ด์„œ ํŒŒ์‹ฑ ํŠธ๋ฆฌ ์ƒ์„ฑ Syntax ์ฒดํฌ: ๋ฌธ๋ฒ•์  ์˜ค๋ฅ˜๊ฐ€ ์—†๋Š”์ง€ ํ™•์ธ, ์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ๊ฑฐ๋‚˜ ์ˆœ์„œ๊ฐ€ ๋ฐ”๋ฅด์ง€ ์•Š๊ฑฐ๋‚˜ ๋ˆ„๋ฝ๋œ ํ‚ค์›Œ๋“œ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธ Semantic ์ฒดํฌ: ์˜๋ฏธ์ƒ ์˜ค๋ฅ˜๊ฐ€ ์—†๋Š”์ง€ ํ™•์ธ. ์˜ˆ๋ฅผ ๋“ค์–ด, ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ…Œ์ด๋ธ” ๋˜๋Š” ์ปฌ๋Ÿผ์„ ์‚ฌ์šฉํ–ˆ๋Š”์ง€, ์‚ฌ์šฉํ•œ ์˜ค๋ธŒ์ ํŠธ์— ๋Œ€ํ•œ ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ํ™•์ธ SQ.. 2023. 2. 11.
[DB & SQL] ์—”ํ‹ฐํ‹ฐ ๊ฐœ๋…๊ณผ ์ถ”์ถœ ์—”ํ‹ฐํ‹ฐ ๊ฐœ๋…๊ณผ ์ถ”์ถœ ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์€ ๋™์ผํ•œ ๊ตฌ์กฐ(๋ฆด๋ ˆ์ด์…˜)์˜ ๊ด€์ ์—์„œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ตฌ์„ฑ ๋ฆด๋ ˆ์ด์…˜์€ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ ํ•˜๋‚˜์˜ ๋ฆด๋ ˆ์ด์…˜์€ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์— ํ‘œํ˜„๋˜๋Š” ํ•œ ๊ฐœ ์—”ํ‹ฐํ‹ฐ์— ๊ด€ํ•œ ์ •๋ณด ์ €์žฅ์— ์‚ฌ์šฉ ๋ฆด๋ ˆ์ด์…˜์€ ํ•˜๋‚˜์˜ ๊ฐ์ฒด์— ๊ด€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ 2์ฐจ์› ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋กœ ํ‘œํ˜„ ER(Entity-Relationship) ๋ชจ๋ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ ์ดˆ๊ธฐ์˜ ๊ฐœ๋…์  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„๋ฅผ ์‰ฝ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋ธ 1976๋…„ ํ”ผํ„ฐ์ฑˆ์ด ์ œ์•ˆ ER ๋ชจ๋ธ์€ ์‰ฝ๊ฒŒ ๊ด€๊ณ„๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋ธ๋กœ ์‚ฌ์ƒ์ด ๋จ ์—”ํ‹ฐํ‹ฐ ์—…๋ฌด์ˆ˜ํ–‰์„ ์œ„ํ•ด ๊ธฐ์—…์ด ์•Œ์•„์•ผ ํ•  ๋Œ€์ƒ์ด ๋˜๋Š” ์‚ฌ๋žŒ, ์žฅ์†Œ, ์‚ฌ๋ฌผ, ์‚ฌ๊ฑด ๋ฐ ๊ฐœ๋…์„ ์˜๋ฏธ ๊ฐ ์—”ํ‹ฐํ‹ฐ๋Š” ์ธ์Šคํ„ด์Šค๋ผ ๋ถˆ๋ฆฌ๋Š” ๊ฐœ๋ณ„์  ๊ฐ์ฒด๋“ค์˜ ์ง‘ํ•ฉ์„ ์˜๋ฏธ ์—”ํ„ฐํ‹ฐ๋กœ ์ถ”.. 2022. 11. 26.
[DB & SQL] SQL ๊ณ ๊ธ‰ํ™œ์šฉ ๋ฐ ํŠœ๋‹ / ๊ณ ๊ธ‰ SQL ํŠœ๋‹ SQL ๊ณ ๊ธ‰ํ™œ์šฉ ๋ฐ ํŠœ๋‹ / ๊ณ ๊ธ‰ SQL ํŠœ๋‹ ์†ŒํŠธ์™€ ๊ด€๋ จ๋œ ์˜คํผ๋ ˆ์ด์…˜ ์œ ํ˜• Sort Aggregate ์ „์ฒด ๋กœ์šฐ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ง‘๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋‚˜ํƒ€๋‚˜๋ฉฐ, Oracle ์‹คํ–‰๊ณ„ํš์— sort๋ผ๋Š” ํ‘œํ˜„์ด ์‚ฌ์šฉ๋์ง€๋งŒ ์‹ค์ œ ์†ŒํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜์ง„ ์•Š๋Š”๋‹ค. Sort Order By ์ •๋ ฌ๋œ ๊ฒฐ๊ณผ์ง‘ํ•ฉ์„ ์–ป๊ณ ์ž ํ•  ๋•Œ ๋‚˜ํƒ€๋‚œ๋‹ค. Sort Group By Sorting ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด ๊ทธ๋ฃน๋ณ„ ์ง‘๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋‚˜ํƒ€๋‚œ๋‹ค. Sort Unique ์„ ํƒ๋œ ๊ฒฐ๊ณผ์ง‘ํ•ฉ์—์„œ ์ค‘๋ณต ๋ ˆ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ ์ž ํ•  ๋•Œ ๋‚˜ํƒ€๋‚œ๋‹ค. Union ์—ฐ์‚ฐ์ž๋‚˜ ์•„๋ž˜์™€ ๊ฐ™์ด Distinct ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๊ฐ€ ๋Œ€ํ‘œ์ ์ด๋‹ค. Sort Join Sort Merge Join์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋‚˜ํƒ€๋‚œ๋‹ค. Window Sort ์œˆ๋„์šฐ ํ•จ์ˆ˜๋ฅผ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋‚˜ํƒ€๋‚œ๋‹ค. Oracle์—์„œ Di.. 2022. 5. 26.
[DB & SQL] SQL ๊ณ ๊ธ‰ํ™œ์šฉ ๋ฐ ํŠœ๋‹ / ์ธ๋ฑ์Šค์™€ ์กฐ์ธ SQL ๊ณ ๊ธ‰ํ™œ์šฉ ๋ฐ ํŠœ๋‹ / ์ธ๋ฑ์Šค์™€ ์กฐ์ธ Index Range Scan Index Range Scan์€ ์ธ๋ฑ์Šค ๋ฃจํŠธ ๋ธ”๋ก์—์„œ ๋ฆฌํ”„ ๋ธ”๋ก๊นŒ์ง€ ์ˆ˜์ง์ ์œผ๋กœ ํƒ์ƒ‰ํ•œ ํ›„์— ๋ฆฌํ”„ ๋ธ”๋ก์„ ํ•„์š”ํ•œ ๋ฒ”์œ„(Range)๋งŒ ์Šค์บ”ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. Index Skip Scan Index Skip Scan์€ ๋ฃจํŠธ ๋˜๋Š” ๋ธŒ๋žœ์น˜ ๋ธ”๋ก์—์„œ ์ฝ์€ ์นผ๋Ÿผ ๊ฐ’ ์ •๋ณด๋ฅผ ์ด์šฉํ•ด ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•  "๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š”" ํ•˜์œ„ ๋ธ”๋ก(๋ธŒ๋žœ์น˜ ๋˜๋Š” ๋ฆฌํ”„๋ธ”๋ก)๋งŒ ๊ณจ๋ผ์„œ ์•ก์„ธ์Šคํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. Index Full Scan Index Full Scan์€ ์ˆ˜์ง์  ํƒ์ƒ‰์—†์ด ์ธ๋ฑ์Šค ๋ฆฌํ”„๋ธ”๋ก์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ˆ˜ํ‰์ ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ์„œ, ๋Œ€๊ฐœ๋Š” ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰์„ ์œ„ํ•œ ์ตœ์ ์˜ ์ธ๋ฑ์Šค๊ฐ€ ์—†์„ ๋•Œ ์ฐจ์„ ์œผ๋กœ ์„ ํƒ๋œ๋‹ค. Index Unique Scan Index Un.. 2022. 5. 26.
[DB & SQL] SQL ๊ณ ๊ธ‰ํ™œ์šฉ ๋ฐ ํŠœ๋‹ / ์˜ตํ‹ฐ๋งˆ์ด์ € ์›๋ฆฌ SQL ๊ณ ๊ธ‰ํ™œ์šฉ ๋ฐ ํŠœ๋‹ / ์˜ตํ‹ฐ๋งˆ์ด์ € ์›๋ฆฌ ๊ทœ์น™๊ธฐ๋ฐ˜ ์˜ตํ‹ฐ๋งˆ์ด์ €(Rule-Based Optimizer, ์ดํ•˜ RBO) ๊ทœ์น™๊ธฐ๋ฐ˜ ์˜ตํ‹ฐ๋งˆ์ด์ €(Rule-Based Optimizer, ์ดํ•˜ RBO)๋Š” ๋‹ค๋ฅธ ๋ง๋กœ 'ํœด๋ฆฌ์Šคํ‹ฑ(Heuristic) ์˜ตํ‹ฐ๋งˆ์ด์ €'๋ผ๊ณ  ๋ถˆ๋ฆฌ๋ฉฐ, ๋ฏธ๋ฆฌ ์ •ํ•ด ๋†“์€ ๊ทœ์น™์— ๋”ฐ๋ผ ์•ก์„ธ์Šค ๊ฒฝ๋กœ๋ฅผ ํ‰๊ฐ€ํ•˜๊ณ  ์‹คํ–‰๊ณ„ํš์„ ์„ ํƒํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ๊ทœ์น™์ด๋ž€ ์•ก์„ธ์Šค ๊ฒฝ๋กœ๋ณ„ ์šฐ์„ ์ˆœ์œ„๋กœ์„œ, ์ธ๋ฑ์Šค ๊ตฌ์กฐ, ์—ฐ์‚ฐ์ž, ์กฐ๊ฑด์ ˆ ํ˜•ํƒœ๊ฐ€ ์ˆœ์œ„๋ฅผ ๊ฒฐ์ •์ง“๋Š” ์ฃผ์š”์ธ์ด๋‹ค. ์„ ํƒ๋„ -> ์นด๋””๋„๋ฆฌํ‹ฐ -> ๋น„์šฉ -> ์•ก์„ธ์Šค ๋ฐฉ์‹, ์กฐ์ธ ์ˆœ์„œ, ์กฐ์ธ ๋ฐฉ๋ฒ• ๋“ฑ ๊ฒฐ์ • ์นด๋””๋„๋ฆฌํ‹ฐ = ์ด ๋กœ์šฐ ์ˆ˜ * ์„ ํƒ๋„ = num_rows / num_distinct ํžŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋ทฐ ๋จธ์ง•(View Merging) ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ง‘ํ•ฉ(set) ์—ฐ์‚ฐ์ž(unio.. 2022. 5. 23.
[DB & SQL] SQL ๊ณ ๊ธ‰ํ™œ์šฉ ๋ฐ ํŠœ๋‹ / Lock๊ณผ ํŠธ๋žœ์žญ์…˜ ๋™์‹œ์„ฑ ์ œ์–ด SQL ๊ณ ๊ธ‰ํ™œ์šฉ ๋ฐ ํŠœ๋‹ / Lock๊ณผ ํŠธ๋žœ์žญ์…˜ ๋™์‹œ์„ฑ ์ œ์–ด Lock์— ์˜ํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐฉ์•ˆ ํŠธ๋žœ์žญ์…˜์˜ ์›์ž์„ฑ์„ ํ›ผ์†ํ•˜์ง€ ์•Š๋Š” ์„ ์—์„œ ํŠธ๋žœ์žญ์…˜์„ ๊ฐ€๋Šฅํ•œ ์งง๊ฒŒ ์ •์˜ํ•  ๊ฒƒ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐฑ์‹ ํ•˜๋Š” ํŠธ๋žœ์žญ์…˜์ด ๋™์‹œ์— ์ˆ˜ํ–‰๋˜์ง€ ์•Š๋„๋ก ์„ค๊ณ„ํ•  ๊ฒƒ ์ฃผ๊ฐ„์— ๋Œ€์šฉ๋Ÿ‰ ๊ฐฑ์‹  ์ž‘์—…์ด ๋ถˆ๊ฐ€ํ”ผํ•˜๋‹ค๋ฉด, ๋ธ”๋กœํ‚น ํ˜„์ƒ์— ์˜ํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌดํ•œ์ • ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๋„๋ก ์ ์ ˆํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฒ•์„ ๋„์ž…ํ•  ๊ฒƒ ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ์„ฑ ์ˆ˜์ค€์„ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์ƒํ–ฅ ์กฐ์ •ํ•˜์ง€ ์•Š์„ ๊ฒƒ ํŠธ๋žœ์žญ์…˜์„ ์ž˜ ์„ค๊ณ„ํ•˜๊ณ  ๋Œ€๊ธฐ ํ˜„์ƒ์„ ํ”ผํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฒ•์„ ์ ์šฉํ•˜๊ธฐ์— ์•ž์„œ, SQL ๋ฌธ์žฅ์ด ๊ฐ€์žฅ ๋น ๋ฅธ ์‹œ๊ฐ„ ๋‚ด์— ์ฒ˜๋ฆฌ๋ฅผ ์™„๋ฃŒํ•  ๊ฒƒ ๋ธ”๋กœํ‚น(Blocking) ๋ธ”๋กœํ‚น(Blocking)์€ Lock ๊ฒฝํ•ฉ์ด ๋ฐœ์ƒํ•ด ํŠน์ • ์„ธ์…˜์ด ์ž‘์—…์„ ์ง„ํ–‰ํ•˜์ง€ ๋ชปํ•˜๊ณ  ๋ฉˆ์ถฐ ์„  ์ƒํƒœ๋ฅผ ๋งํ•œ๋‹ค. ๊ณต์œ  Lo.. 2022. 5. 23.
[DB & SQL] SQL ๊ณ ๊ธ‰ํ™œ์šฉ ๋ฐ ํŠœ๋‹ / ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜ ํŠœ๋‹ ์›๋ฆฌ SQL ๊ณ ๊ธ‰ํ™œ์šฉ ๋ฐ ํŠœ๋‹ / ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜ ํŠœ๋‹ ์›๋ฆฌ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค์™€ ์—ฐ๊ฒฐํ•˜๋Š” Oracle์˜ ์˜ˆ ์ „์šฉ ์„œ๋ฒ„(Dedicated Server) ๋ฐฉ์‹ ๊ณต์œ  ์„œ๋ฒ„(Shared Server) ๋ฐฉ์‹ SQL Server์—์„œ๋Š” ์„ธ๊ทธ๋จผํŠธ๋Š” ํ…Œ์ด๋ธ”, ์ธ๋ฑ์Šค, Undo์ฒ˜๋Ÿผ ์ €์žฅ๊ณต๊ฐ„์„ ํ•„์š”๋กœ ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์˜ค๋ธŒ์ ํŠธ๋‹ค. ์ €์žฅ๊ณต๊ฐ„์„ ํ•„์š”๋กœ ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ํ•œ ๊ฐœ ์ด์ƒ์˜ ์ต์Šคํ…ํŠธ๋ฅผ ์‚ฌ์šฉํ•จ์„ ๋œปํ•œ๋‹ค. SQL Server์—์„œ๋Š” ์„ธ๊ทธ๋จผํŠธ๋ผ๋Š” ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์ง€๋งŒ, ํž™ ๊ตฌ์กฐ ๋˜๋Š” ์ธ๋ฑ์Šค ๊ตฌ์กฐ์˜ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์—ฌ๊ธฐ์— ์†ํ•œ๋‹ค. DB ๋ฒ„ํผ ์บ์‹œ์— ๊ฐ€ํ•ด์ง€๋Š” ๋ชจ๋“  ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๊ธฐ๋กํ•˜๋Š” ํŒŒ์ผ์„ Oracle์€ 'Redo ๋กœ๊ทธ'๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, SQL Server๋Š” 'ํŠธ๋žœ์žญ์…˜ ๋กœ๊ทธ'๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. Response Time Analysis ๋ฐฉ๋ฒ•๋ก  R.. 2022. 5. 22.
[DB & SQL] SQL ๊ธฐ๋ณธ ๋ฐ ํ™œ์šฉ / SQL ์ตœ์ ํ™” ๊ธฐ๋ณธ ์›๋ฆฌ SQL ์ตœ์ ํ™” ๊ธฐ๋ณธ ์›๋ฆฌ Sort Merge Join Sort Merge Join์€ ์กฐ์ธ์นผ๋Ÿผ์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•˜์—ฌ ์กฐ์ธ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. NL(Nested Loops Join) Join์€ ์ฃผ๋กœ ๋žœ๋ค ์•ก์„ธ์Šค ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ๋ฐ˜๋ฉด Sort Merge Join์€ ์ฃผ๋กœ ์Šค์บ” ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š”๋‹ค. Sort Merge Join์€ ๋žœ๋ค ์•ก์„ธ์Šค๋กœ NLJoin์—์„œ ๋ถ€๋‹ด์ด ๋˜๋˜ ๋„“์€ ๋ฒ”์œ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์ด์šฉ๋˜๋˜ ์กฐ์ธ๊ธฐ๋ฒ•์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Sort Merge Join์€ ์ •๋ ฌํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์•„ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ชจ๋“  ์ •๋ ฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์–ด๋ ค์šด ๊ฒฝ์šฐ์—๋Š” ์ž„์‹œ ์˜์—ญ(๋””์Šคํฌ)์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค. NL(Nested Loops Join) Join NL Join์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ค‘์ฒฉ๋œ ๋ฐ˜๋ณต๋ฌธ๊ณผ .. 2022. 5. 21.
[DB & SQL] SQL ๊ธฐ๋ณธ ๋ฐ ํ™œ์šฉ / SQL ํ™œ์šฉ SQL ๊ธฐ๋ณธ ๋ฐ ํ™œ์šฉ / SQL ํ™œ์šฉ ์ˆœ์ˆ˜ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž์™€ SQL ๋ฌธ์žฅ ๋น„๊ต SELECT ์—ฐ์‚ฐ์€ WHERE ์ ˆ๋กœ ๊ตฌํ˜„ PROJECT ์—ฐ์‚ฐ์€ SELECT ์ ˆ๋กœ ๊ตฌํ˜„ (NATURAL) JOIN ์—ฐ์‚ฐ์€ ๋‹ค์–‘ํ•œ JOIN ๊ธฐ๋Šฅ์œผ๋กœ ๊ตฌํ˜„ DIVIDE ์—ฐ์‚ฐ์€ ํ˜„์žฌ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Œ ANSI/ISO SQL์—์„œ ํ‘œ์‹œํ•˜๋Š” FROM ์ ˆ์˜ JOIN ํ˜•ํƒœ INNER JOIN NATURAL JOIN USING ์กฐ๊ฑด์ ˆ ON ์กฐ๊ฑด์ ˆ CROSS JOIN OUTER JOIN(LEFT, RIGHT, FULL) INNER JOIN INNER JOIN์€ OUTER(์™ธ๋ถ€) JOIN๊ณผ ๋Œ€๋น„ํ•˜์—ฌ ๋‚ด๋ถ€ JOIN์ด๋ผ๊ณ  ํ•˜๋ฉฐ JOIN ์กฐ๊ฑด์—์„œ ๋™์ผํ•œ ๊ฐ’์ด ์žˆ๋Š” ํ–‰๋งŒ ๋ฐ˜ํ™˜ํ•œ๋‹ค. CROSS JOIN ํ…Œ์ด๋ธ” ๊ฐ„ JOIN ์กฐ๊ฑด์ด ์—†๋Š” ๊ฒฝ์šฐ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋ฐ์ด.. 2022. 5. 17.
[DB & SQL] SQL ๊ธฐ๋ณธ ๋ฌธ๋ฒ• / SQL ๊ธฐ๋ณธ ์ •๋ฆฌ SQL ๊ธฐ๋ณธ ๋ฌธ๋ฒ• / SQL ๊ธฐ๋ณธ ์ •๋ฆฌ DML, DDL, DCL, TCL ๋ช…๋ น์–ด์˜ ์ข…๋ฅ˜ ๋ช…๋ น์–ด ์„ค๋ช… ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด (DML: Data Manipulation Language) SELECT ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋“ค์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด๋ฅผ ๋งํ•˜๋Š” ๊ฒƒ์œผ๋กœ RETRIEVE ๋ผ๊ณ ๋„ ํ•œ๋‹ค. INSERT UPDATE DELETE ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ”์— ๋“ค์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ์— ๋ณ€ํ˜•์„ ๊ฐ€ํ•˜๋Š” ์ข…๋ฅ˜์˜ ๋ช…๋ น์–ด๋“ค์„ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐ์ดํ„ฐ๋ฅผ ํ…Œ์ด๋ธ”์— ์ƒˆ๋กœ์šด ํ–‰์„ ์ง‘์–ด๋„ฃ๊ฑฐ๋‚˜, ์›ํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ๋“ค์˜ ๋ช…๋ น์–ด๋“ค์„ DML์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๋ฐ์ดํ„ฐ ์ •์˜์–ด (DDL: Data Definition Language) CREATE ALTER DROP RENAME ํ…Œ์ด๋ธ”๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๋Š”๋ฐ .. 2022. 5. 14.
[DB & SQL] ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด / ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๊ณผ ์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด / ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๊ณผ ์„ฑ๋Šฅ ์„ฑ๋Šฅ๋ฐ์ดํ„ฐ๋ชจ๋ธ๋ง์ด๋ž€? ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๋ชฉ์ ์œผ๋กœ ์„ค๊ณ„๋‹จ๊ณ„์˜ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ๋•Œ๋ถ€ํ„ฐ ์„ฑ๋Šฅ๊ณผ ๊ด€๋ จ๋œ ์‚ฌํ•ญ์ด ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์— ๋ฐ˜์˜๋  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š”๊ฒƒ์ด๋‹ค. ๋ฐ์ดํ„ฐ ๋ณด๋ธ๋ง ๋‹จ๊ณ„์—์„œ ์„ฑ๋Šฅ์„ ์ถฉ๋ถ„ํžˆ ๊ณ ๋ คํ•˜๊ธฐ ์œ„ํ•œ ์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์ˆ˜ํ–‰ ์ ˆ์ฐจ ์ฒซ๋ฒˆ์งธ, ๋ฐ์ดํ„ฐ๋ชจ๋ธ๋ง์„ ํ•  ๋•Œ ์ •๊ทœํ™”๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋‘๋ฒˆ์งธ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์šฉ๋Ÿ‰์‚ฐ์ •์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์„ธ๋ฒˆ์งธ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐœ์ƒ๋˜๋Š” ํŠธ๋žœ์žญ์…˜์˜ ์œ ํ˜•์„ ํŒŒ์•…ํ•œ๋‹ค. ๋„ค๋ฒˆ์งธ, ์šฉ๋Ÿ‰๊ณผ ํŠธ๋žœ์žญ์…˜์˜ ์œ ํ˜•์— ๋”ฐ๋ผ ๋ฐ˜์ •๊ทœํ™”(์—ญ์ •๊ทœํ™”)๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋‹ค์„ฏ๋ฒˆ์งธ, ์ด๋ ฅ๋ชจ๋ธ์˜ ์กฐ์ •, PK/FK์กฐ์ •, ์Šˆํผํƒ€์ž…/์„œ๋ธŒํƒ€์ž… ์กฐ์ • ๋“ฑ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์—ฌ์„ฏ๋ฒˆ์งธ, ์„ฑ๋Šฅ๊ด€์ ์—์„œ ๋ฐ์ดํ„ฐ๋ชจ๋ธ์„ ๊ฒ€์ฆํ•œ๋‹ค. ์ค‘๋ณต์†์„ฑ์— ๋Œ€ํ•œ ๋ถ„๋ฆฌ๊ฐ€ 1์ฐจ ์ •๊ทœํ™”์˜ ๋Œ€์ƒ์ด ๋˜๋ฉฐ, ๋กœ์šฐ๋‹จ์œ„์˜ ์ค‘.. 2022. 5. 13.
[DB & SQL] ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด / ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด / ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด ๋ฐœ์ƒ์‹œ์ ์— ๋”ฐ๋ฅธ ์—”ํ„ฐํ‹ฐ ๋ถ„๋ฅ˜ ๊ธฐ๋ณธ/ํ‚ค์—”ํ„ฐํ‹ฐ(Fundamental Entity, Key Entity) ์ค‘์‹ฌ์—”ํ„ฐํ‹ฐ(Main Entity) ํ–‰์œ„์—”ํ„ฐํ‹ฐ(Active Entity) ๋ฐ์ดํ„ฐ๋ชจ๋ธ๋ง์ด๋ž€ ์ •๋ณด์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ๊ด€์ ์˜ ์—…๋ฌด ๋ถ„์„ ๊ธฐ๋ฒ• ํ˜„์‹ค์„ธ๊ณ„์˜ ๋ฐ์ดํ„ฐ(what)์— ๋Œ€ํ•ด ์•ฝ์†๋œ ํ‘œ๊ธฐ๋ฒ•์— ์˜ํ•ด ํ‘œํ˜„ํ•˜๋Š” ๊ณผ์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ๋ถ„์„/์„ค๊ณ„์˜ ๊ณผ์ • ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์œ ์˜์  ์ค‘๋ณต(Duplication) ๋น„์œ ์—ฐ์„ฑ(Inflexibility) ๋น„์ผ๊ด€์„ฑ(Inconsistency) ๊ฐœ๋…์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์ถ”์ƒํ™” ์ˆ˜์ค€์ด ๋†’๊ณ  ์—…๋ฌด ์ค‘์‹ฌ์ ์ด๊ณ  ํฌ๊ด„์ ์ธ ์ˆ˜์ค€์˜ ๋ชจ๋ธ๋ง ์ง„ํ–‰. ์ „์‚ฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง. EA์ˆ˜๋ฆฝ์‹œ ๋งŽ์ด ์ด์šฉ ๋…ผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์‹œ์Šคํ…œ์œผ๋กœ ๊ตฌ์ถ•ํ•˜๊ณ ์ž ํ•˜๋Š” .. 2022. 5. 9.
[Sql] Tablespace(ํ…Œ์ด๋ธ”์ŠคํŽ˜์ด์Šค)๋ž€? ํ…Œ์ด๋ธ” ์ŠคํŽ˜์ด์Šค๋ž€ ํ…Œ์ด๋ธ”, ์ธ๋ฑ์Šค, ํ”„๋กœ์‹œ์ €, ๋ทฐ ๋“ฑ์˜ ๊ฐ์ฒด๋“ค์„ ์ €์žฅํ•ด๋†“์€ ์˜ค๋ผํด์˜ ๋…ผ๋ฆฌ์ ์ธ ๊ณต๊ฐ„์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ ๋ฌผ๋ฆฌ์ ์ธ ๊ณต๊ฐ„์€ ๋ฐ์ดํ„ฐํŒŒ์ผ(ํ™•์žฅ์ž๊ฐ€ dbf ํ˜น์€ ora์ธ ํŒŒ์ผ)์ž…๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ” ์ŠคํŽ˜์ด์Šค์˜ ๊ด€๋ฆฌ๋Š” ๊ด€๋ฆฌ์ž๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋ผํด(oracle)์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์‹œ์Šคํ…œ์ด๊ณ  ๋ง ๊ทธ๋Œ€๋กœ ๋ฐ์ดํ„ฐ๋“ค์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๊ด€๋ฆฌ๋ž€ ๋ฐ์ดํ„ฐ๋“ค์„ ์ €์žฅ, ์ถ”์ถœ, ์‚ญ์ œ, ๋ณ€๊ฒฝํ•˜๋Š” ์ž‘์—…์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋ผํด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋ฐ์ดํ„ฐ ํŒŒ์ผ๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์ด ํŒŒ์ผ๋“ค์— ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ” ์ŠคํŽ˜์ด์Šค(Tablespace)๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๋‹จ์œ„์ž…๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(RDBMS)์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, ํ…Œ์ด๋ธ” ์ŠคํŽ˜์ด์Šค๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ ํŒŒ์ผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŒŒ์ผ.. 2020. 6. 7.
[Sql] SQL Cursor SQL์—๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ DBMS๋ผ๋Š” ์• ๊ฐ€ ์‚ฐ๋‹ค. ๋งค๋‹ˆ์ € ์—ญํ• ์„ ํ•œ๋‹ค. ํŒŒ์‹ฑํ•˜๊ณ  ์ˆœ์„œ๋Š” open cursor fetch = true => RAM์— ์˜ฌ๋ฆฐ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ซ์•„์ฃผ์–ด์•ผํ•œ๋‹ค close ์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€์ผ์„ ํ•ด์ค€๋‹ค. ํ•˜๋‹จ์˜ Explain Plan(Ctrl + E)์— ๋“ค์–ด๊ฐ€๋ฉด ์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ํ• ์ผ ๋˜๋Š” ํ•˜๋Š”์ผ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. CREATE OR REPLACE PROCEDURE Implicit_Cursor (p_empno IN emp.empno%TYPE) IS v_sal emp.sal%TYPE; v_update_row NUMBER; BEGIN SELECT sal INTO v_sal FROM emp WHERE empno = p_empno; -- ๊ฒ€์ƒ‰๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„๊ฒฝ์šฐ IF SQL%FOUND THEN DBMS_OUTPUT.. 2020. 3. 20.
[SQL] SQL์˜ ์˜ˆ์™ธ์ฒ˜๋ฆฌ create or replace procedure porc_exception1 is n_i number(10):=0; begin n_i:='๊น€์œ ์‹ '; exception when invalid_number then DBMS_OUTPUT.PUT_LINE('์ž˜๋ชป๋œ ์ˆซ์ž๊ฐ’์— ๋Œ€ํ•œ ์—๋Ÿฌ ์ด๋‹ค.'); when value_error then DBMS_OUTPUT.PUT_LINE('์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ๊ฐ’์— ๋Œ€ํ•œ ์—๋Ÿฌ ์ด๋‹ค.'); when others then DBMS_OUTPUT.PUT_LINE('์ž˜๋ชป๋œ ์ˆซ์ž๋‚˜ ๋ฐ์ดํ„ฐ๊ฐ’์€ ์•„๋‹ˆ๋‹ค.'); end; xec porc_exception1; ์‹คํ–‰์‹œ '์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ๊ฐ’์— ๋Œ€ํ•œ ์—๋Ÿฌ ์ด๋‹ค.' ๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค. create or replace procedure proc_errormsg is er.. 2020. 3. 20.
[SQL] ํ”„๋กœ์‹œ์ €(procedure)์™€ declare ์ฐจ์ด ํ”„๋กœ์‹œ์ €(procedure)์™€ declare ์ฐจ์ด PL/SQL declare ๋ณ€์ˆ˜ ์„ ์–ธ ํ”„๋กœ์‹œ์ € PL/SQL procedure(ํ”„๋กœ์‹œ์ €)์™€์˜ ์ฐจ์ด์ ์€ procedure๋Š” ์ด๋ฆ„์„ ์ €์žฅํ•˜์—ฌ ๋‚˜์ค‘์—๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ declare๋Š” ํ•œ๋ฒˆ ์‹คํ–‰ ํ›„ ์†Œ๋ฉธํ•œ๋‹ค๋Š” ์ ์ด๋‹ค. ๋””ํด๋ฆฌ์–ด ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• declare v_no number(5); begin v_no:=10;--๋ณ€์ˆ˜์ดˆ๊ธฐํ™” dbms_output.put_line('v_no = '|| v_no); end; PL/SQL์˜ ๊ฒฐ๊ณผ๋Š” ํ•˜๋‹จ์˜ DBMS Output(disabled)์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ถœ๋ ฅ์ •๋ณด๊ฐ€ ์Œ“์ด๊ธฐ๋•Œ๋ฌธ์— DBMS Output(disabled) ์—์„œ ์ƒˆํŽ˜์ด์ง€๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ๋Š”๊ฒƒ์ด ์ข‹๋‹ค. declare v_no number(5); v_name VARCHAR(20).. 2020. 3. 20.
[SQL] ํ”„๋กœํ† ์ฝœ์—์„œ procedure ์ƒ์„ฑ Tord์™€ ๋ช…๋ น ํ”„๋กœํ† ์ฝœ ์ฐฝ์—์„œ ์‹คํ–‰๊ฐ€๋Šฅํ•˜๋‹ค tord์˜ ๊ฒฝ์šฐ ์ ‘์†๋˜์–ด์žˆ๋Š” ๊ณ„์ •์œผ๋กœ ์‹คํ–‰ํ•˜๋ฉด๋˜๊ณ  ๋ช…๋ นํ”„๋กœํ† ์ฝœ์˜ ๊ฒฝ์šฐ ๊ณ„์ •์ปจ๋„ฅ ํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค. ์ปจ๋„ฅํ•˜๋Š”๋ฐฉ๋ฒ•์€ sqlplus ๊ณ„์ •์ด๋ฆ„/๊ณ„์ •๋น„๋ฒˆ@ip์ฃผ์†Œ:ํฌํŠธ๋ฒˆํ˜ธ/์˜ค๋ผํด๊ด€๋ฆฌ์ž์ด๋ฆ„ sqlplus yellow/tiger@???.???.???.???:1521/orcl11 ๋„์ค‘์— conn ํƒ€๊ณ„์ •์ด๋ฆ„/๊ณ„์ •๋น„๋ฒˆ ์„ ์ž‘์„ฑํ•˜๋ฉด ํƒ€๊ณ„์ •์œผ๋กœ ์ปจ๋„ฅ๋œ๋‹ค. SQL> conn scott/tiger ์—ฐ๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. SQL> CREATE OR REPLACE procedure proc_deptList(p_rc OUT SYS_REFCURSOR) 2 IS 3 BEGIN 4 open p_rc5 for select deptno, dname from dept; 6 END; 7 /ํ”„๋กœ์‹œ์ €๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค... 2020. 3. 17.
[SQL]MySql - 2 ๊ณ ๊ธ‰ CREATE TABLE city2 AS SELECT * FROM city; = city2๋ผ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด์ค˜ SELECT * FROM city๋กœ SELECT * FROM city2; = ๋ชจ๋“  ์ •๋ณด๋ฅผ ๋ณด์—ฌ์ค˜ city2๋กœ๋ถ€ํ„ฐ CREATA TABLE AS SELECT = cityํ…Œ์ด๋ธ”๊ณผ ๋˜‘๊ฐ™์€ city2 ํ…Œ์ด๋ธ” ์ƒ์„ฑ CREATE DATABASE suan CREATE DATBASE = CREATE DATABASE ๋ฌธ์€ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑ USE suan = USE๋ฌธ์œผ๋กœ ์ƒˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉ GUI๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์€ ํ•ด๋‹น๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ Tables ์˜ค๋ฅธ์ชฝ๋ฒ„ํŠผ Create Table CREATE TABLE test2 ( id INT NOT NULL PRIMARY KEY, = ๊ณ ์œ ์˜ ํ‚ค๊ฐ’๋ถ€์—ฌ, ์ธํŠธ์ด๊ณ  ๋นˆ๊ณต๊ฐ„.. 2020. 1. 5.
[SQL]MySql - 1 ์ดˆ๊ธ‰ DML = Data Manipulation Language ๋ฐ์ดํ„ฐ ์กฐ์ž‘ ์–ธ์–ด, ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘(์„ ํƒ, ์‚ฝ์ž…, ์ˆ˜์ •, ์‚ญ์ œ)ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ด DML ๊ตฌ๋ฌธ์ด ์‚ฌ์šฉ๋˜๋Š” ๋Œ€์ƒ์€ ํ…Œ์ด๋ธ”์˜ ํ–‰ DML ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ผญ ์ด์ „์— ํ…Œ์ด๋ธ”์ด ์ •์˜๋˜์–ด ์žˆ์–ด์•ผํ•จ SQL๋ฌธ ์ค‘ SELECT, INSERT, UPDATE, DELETE๊ฐ€ ์ด ๊ตฌ๋ฌธ์— ํ•ด๋‹น ํŠธ๋žœ์žญ์…˜์ด ๋ฐœ์ƒํ•˜๋Š” SQL๋„ ์ด DML์— ์†ํ•จ -ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝ(์ž…๋ ฅ/์ˆ˜์ •/์‚ญ์ œ)ํ• ๋•Œ ์‹ค์ œ ํ…Œ์ด๋ธ”์— ์™„์ „ํžˆ ์ ์šฉํ•˜์ง€ ์•Š๊ณ , ์ž„์‹œ๋กœ ์ ์šฉ์‹œํ‚ค๋Š”๊ฒƒ -์ทจ์†Œ๊ฐ€๋Šฅ DDL = Data Definition Language ๋ฐ์ดํ„ฐ ์ •์˜ ์–ธ์–ด ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค, ํ…Œ์ด๋ธ”, ๋ทฐ, ์ธ๋ฑ์Šค ๋“ฑ์˜ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๊ฐœ์ฒด๋ฅผ ์ƒ์„ฑ/์‚ญ์ œ/๋ณ€๊ฒฝํ•˜๋Š” ์—ญํ•  CREATE, DROP, ALTER๊ตฌ๋ฌธ DDL์€ ํŠธ๋žœ์žญ์…˜.. 2020. 1. 5.
๋ฐ˜์‘ํ˜•