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

์ „์ฒด ๊ธ€43

[SQL ๋ ˆ๋ฒจ์—…] 3์žฅ: SQL์˜ ์กฐ๊ฑด ๋ถ„๊ธฐ UNION์„ ์‚ฌ์šฉํ•œ ๊ธด ํ‘œํ˜„ UNION์„ ์‚ฌ์šฉํ•œ ์กฐ๊ฑด ๋ถ„๊ธฐ๋Š” ์ƒ๊ฐํ•˜๊ธฐ ์‰ฝ์ง€๋งŒ ์„ฑ๋Šฅ์ ์ธ ์ธก๋ฉด์—์„œ ๋ณด๋ฉด SELECT๋ฌธ์„ ์—ฌ๋Ÿฌ๊ฐœ ์‹คํ–‰ํ•˜์—ฌ ํ…Œ์ด๋ธ” ์ ‘๊ทผ ํšŸ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ -> I/O๋น„์šฉ ์ฆ๊ฐ€ 1. UNION ์‚ฌ์šฉํ•œ ์กฐ๊ฑด ๋ถ„๊ธฐ ์˜ˆ์ œ SELECT Item_name, year, price_tax_ex AS price FROM Items WHERE year 2001; ๊ฑฐ์˜ ๊ฐ™์€ ์ฟผ๋ฆฌ๋ฅผ ๋‘๋ฒˆ ์‹คํ–‰ํ•˜์—ฌ ๊ฐ€๋…์„ฑ ์ €ํ•˜ Items ํ…Œ์ด๋ธ”์— 2ํšŒ ์ ‘๊ทผํ•˜์—ฌ ์„ฑ๋Šฅ ์ €ํ•˜ -> ์ •ํ™•ํ•œ ํŒ๋‹จ ์—†์ด UNION ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ž์ œํ•˜์ž 2. SELECT ๊ตฌ๋ฅผ ์‚ฌ์šฉํ•œ ์กฐ๊ฑด ๋ถ„๊ธฐ ์˜ˆ์ œ SELECT item_name, year, CASE WHEN year ํ…Œ์ด๋ธ”์ด ํฌ๊ณ  WHERE ์กฐ๊ฑด์œผ๋กœ ์„ ํƒ๋˜๋Š” ๋ ˆ์ฝ”๋“œ ์ˆ˜๊ฐ€ ์ถฉ๋ถ„ํžˆ ์ž‘๋‹ค๋ฉด UNION์ด ๋” ๋น ๋ฆ„ ์ ˆ์ฐจ ์ง€.. 2022. 4. 11.
[SQL ๋ ˆ๋ฒจ์—…] 2์žฅ: SQL ๊ธฐ์ดˆ SELECT ๊ตฌ๋ฌธ 1. SELECT ๊ตฌ์™€ FROM ๊ตฌ ๊ฒ€์ƒ‰(=์งˆ์˜=์ถ”์ถœ): ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ด์šฉํ•˜๋Š” ๋•Œ ํ•ต์‹ฌ์ด ๋˜๋Š” ์ฒ˜๋ฆฌ SELECT ๊ตฌ๋ฌธ: ๊ฒ€์ƒ‰์„ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” SQL ๊ตฌ๋ฌธ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ SELECT (field1), (field2) FROM (table name); 2. WHERE ๊ตฌ WHERE ๊ตฌ: SELECT ๊ตฌ๋ฌธ ์‚ฌ์šฉํ•˜์—ฌ ๋ ˆ์ฝ”๋“œ ์„ ํƒ ์‹œ ์ถ”๊ฐ€์ ์ธ ์กฐ๊ฑด ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ๋ฌธ - ๋‹ค์–‘ํ•œ ์กฐ๊ฑด ์ง€์ • ์—ฐ์‚ฐ์ž ์˜๋ฏธ = ~์™€ ๊ฐ™์Œ ~์™€ ๊ฐ™์ง€ ์•Š์Œ >=, , Address ํ…Œ์ด๋ธ”์—์„œ address๊ฐ€ tokyo๋‚˜ seoul์ธ ๋ ˆ์ฝ”๋“œ๋งŒ ๊ฒ€์ƒ‰ํ•˜๋Š” ์ฟผ๋ฆฌ - IS NULL ์‚ฌ์šฉํ•ด NULL๊ฐ’์ธ ๋ ˆ์ฝ”๋“œ ๊ฒ€์ƒ‰ SELECT name, phone_nbr FROM Address WHERE phone_nbr IS NULL; ->.. 2022. 4. 10.
์šด์˜์ฒด์ œ ๋ฉด์ ‘ ์งˆ๋ฌธ ์ •๋ฆฌ ์šด์˜์ฒด์ œ๋ž€? ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ ์ฐจ์ด ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค ๋Œ€์‹  ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  context switching๊ฐœ๋…, ์‚ฌ์šฉ ์ด์œ  ๋ฐ๋“œ๋ฝ ์ •์˜, ๋ฐœ์ƒ ์กฐ๊ฑด banker’s algorithm ์„ธ๋งˆํฌ์–ด๋ž€? ๋ฎคํ…์Šค๋ž€? ํŽ˜์ด์ง•์ด๋ž€? ์„ธ๊ทธ๋จผํ…Œ์ด์…˜์ด๋ž€? CPU ์Šค์ผ€์ค„๋ง ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ ๐Ÿ€ ์šด์˜์ฒด์ œ๋ž€ - ํ•˜๋“œ์›จ์–ด๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ•˜๋“œ์›จ์–ด ์‚ฌ์ด์—์„œ ์ธํ„ฐํŽ˜์ด์Šค ์—ญํ• ์„ ํ•˜๋ฉฐ ์‹œ์Šคํ…œ์˜ ๋™์ž‘์„ ์ œ์–ดํ•˜๋Š” ์‹œ์Šคํ…œ ์†Œํ”„ํŠธ์›จ์–ด - ์—ญํ• : ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ, ์ €์žฅ์žฅ์น˜ ๊ด€๋ฆฌ, ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ ์ง€์›, ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ, ๋””๋ฐ”์ด์Šค ๋“œ๋ผ์ด๋ฒ„ ๊ด€๋ฆฌ ๋”๋ณด๊ธฐ ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ: ์šด์˜์ฒด์ œ์—์„œ ์ž‘๋™ํ•˜๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ด€๋ฆฌ, CPU๋ฅผ ์ ์œ ํ•ด์•ผ ํ•  ํ”„๋กœ์„ธ์Šค ๊ฒฐ์ •, CPU๋ฅผ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น, ํ”„๋กœ์„ธ์Šค ๊ฐ„ ๊ณต์œ  ์ž์› ์ ‘๊ทผ๊ณผ ํ†ต์‹  ๋“ฑ์„ ๊ด€๋ฆฌ ์ €์žฅ์žฅ์น˜ ๊ด€๋ฆฌ: ๋ฉ”์ธ.. 2022. 4. 9.
[์ฝ”๋“œ๋กœ ๋ฐฐ์šฐ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ ์›น ํ”„๋กœ์ ํŠธ] 7. M:N ๊ด€๊ณ„์˜ ์„ค๊ณ„์™€ ๊ตฌํ˜„ 1. M:N ๊ด€๊ณ„์˜ ํŠน์ง• ์˜ํ™”์™€ ํšŒ์› ๋งคํ•‘ ํ…Œ์ด๋ธ” JPA์—์„œ M:N ์ฒ˜๋ฆฌ 2. ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์—”ํ‹ฐํ‹ฐ ํด๋ž˜์Šค ์„ค๊ณ„ 3. M:N Repository์™€ ํ…Œ์ŠคํŠธ Repository ์ž‘์„ฑ ํŽ˜์ด์ง€ ์ฒ˜๋ฆฌ๋˜๋Š” ์˜ํ™”๋ณ„ ํ‰๊ท  ๋ณ„์  / ๋ฆฌ๋ทฐ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ ํŠน์ • ์˜ํ™”์˜ ๋ชจ๋“  ์ด๋ฏธ์ง€์™€ ํ‰๊ท  ๋ณ„์ /๋ฆฌ๋ทฐ ๊ฐœ์ˆ˜ ํŠน์ • ์˜ํ™”์˜ ๋ชจ๋“  ๋ฆฌ๋ทฐ์™€ ํšŒ์›์˜ ๋‹‰๋„ค์ž„ ํšŒ์› ์‚ญ์ œ ๋ฌธ์ œ์™€ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ 1. M:N ๊ด€๊ณ„์˜ ํŠน์ง• ๋…ผ๋ฆฌ์ ์ธ ์„ค๊ณ„์™€ ์‹ค์ œ ํ…Œ์ด๋ธ”์˜ ์„ค๊ณ„๊ฐ€ ๋‹ค๋ฅด๊ฒŒ ๋œ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์Œ ์˜ํ™”์™€ ํšŒ์› ํšŒ์›: ์—ฌ๋Ÿฌ ํŽธ์˜ ์˜ํ™”๋ฅผ ํ‰๊ฐ€ ์˜ํ™”: ํ•œ ํŽธ์˜ ์˜ํ™”์— ์—ฌ๋Ÿฌ ํšŒ์›์ด ์กด์žฌ ์˜ํ™”๋ฒˆํ˜ธ ์˜ํ™” ์ด๋ฆ„ ํšŒ์› 1 ํƒ€์งœ a, b 2 ์ธํ„ฐ์Šคํ…”๋ผ b, c, d 3 ์œ„๋Œ€ํ•œ ๊ฐœ์ธ ๋น„ a, c ์œ„์™€ ๊ฐ™์ด ํ•ด๋‹น ์ƒํ’ˆ์ด ์—ฌ๋Ÿฌ ์นดํ…Œ๊ณ ๋ฆฌ์— ์†ํ•˜๋Š” ๊ฒƒ์„ ๊ณ ์ •๋œ ์ˆ˜์˜ ์นผ๋Ÿผ์œผ๋กœ ํ‘œํ˜„ํ•˜๊ณ  ์žˆ์ง€.. 2022. 4. 6.
[์ฝ”๋“œ๋กœ ๋ฐฐ์šฐ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ ์›น ํ”„๋กœ์ ํŠธ] ์ด ์ฑ…์„ ์ฝ๊ธฐ ์‹œ์ž‘ํ•œ ์ด์œ  http://www.yes24.com/Product/Goods/96051853 ์ฝ”๋“œ๋กœ ๋ฐฐ์šฐ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ ์›น ํ”„๋กœ์ ํŠธ - YES24 ‘์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ข€ ๋” ๊ฐ„๋‹จํžˆ ์‚ฌ์šฉํ•  ์ˆ˜๋Š” ์—†์„๊นŒ?’์ด ์ฑ…์˜ ์‹œ์ž‘์€ ์œ„์˜ ์งˆ๋ฌธ์—์„œ ์‹œ์ž‘ํ•œ๋‹ค. ์ข€ ๋” ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” www.yes24.com ์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์Šคํ”„๋ง ๋ถ€ํŠธ ๊ฐ•์ขŒ๋‚˜ ์ฑ…์ด ๊ธฐ๋ณธ์ ์ธ CRUD๊นŒ์ง€๋งŒ ๋‹ค๋ฃจ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋‹ค๋ณด๋‹ˆ ํ•œ๊ณ„๊ฐ€ ๋งŽ์ด ์ฐพ์•„์™”๋‹ค. ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์˜ ๋‚œ๊ด€์€ ๋ฌผ๊ฑด์— ๋Œ€ํ•œ ํ‰์  ํ‰๊ท ๊ณผ ๋ฆฌ๋ทฐ์ˆ˜๋ฅผ ์–ป์–ด๋‚ด ๋ฌผ๊ฑด์„ ์ •๋ ฌํ•˜๋Š” ๋ถ€๋ถ„์ด์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ •๋ง ๋งŽ์ด ๊ตฌ๊ธ€๋ง์„ ํ–ˆ์ง€๋งŒ ๋งŒ์กฑํ•˜๋Š” ๋‹ต์„ ๋ชป์ฐพ๋˜ ์™€์ค‘ ์ด ์ฑ…์„ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด ์ฑ…์„ ์ฝ์œผ๋ฉด์„œ ๋‚ด๊ฐ€ ๊ฒช์€ ๋‚œ๊ด€์— ๋Œ€.. 2022. 4. 6.
velog์—์„œ ํ‹ฐ์Šคํ† ๋ฆฌ๋กœ ๋„˜์–ด์˜จ ์ด์œ  https://velog.io/@oliviarla oliviarla (Minkyeong Kim) - velog ๋งต ์ž๋ฃŒํ˜•์„ ์•Œ์•„๋ณด์ž dictionary์™€ ์œ ์‚ฌํ•œ ๊ตฌ์กฐkey, value์˜ ์Œ์„ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒํ˜•๋ฆฌ์ŠคํŠธ๋‚˜ ๋ฐฐ์—ด๊ณผ ๋‹ฌ๋ฆฌ ์ˆœ์ฐจ์ ์œผ๋กœ(index๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ) ๊ฐ’์„ ์ฐพ์ง€ ์•Š๊ณ , key๋ฅผ ํ†ตํ•ด ๊ฐ’์„ ์–ป์ŒHashMap ๊ฐ์ฒด ์ƒ์„ฑHashMap 2022. 4. 4.
[SQL ๋ ˆ๋ฒจ์—…] 1์žฅ: DBMS ์•„ํ‚คํ…์ฒ˜ ๐Ÿ“ 1์žฅ์˜ ๋ชฉํ‘œ: RDB์˜ ๋‚ด๋ถ€์ ์ธ ๋™์ž‘ ๋ชจ๋ธ ์ดํ•ด DBMS ์•„ํ‚คํ…์ฒ˜ ๊ฐœ์š” 1. DBMS์˜ ์ผ๋ฐ˜์ ์ธ ์•„ํ‚คํ…์ฒ˜ ๊ฐœ์š” DBMS๋ฅผ ํ†ตํ•ด SQL ๊ตฌ๋ฌธ์ด ์‹คํ–‰๋˜์–ด ๋ฐ์ดํ„ฐ๋ฅผ '๋‹ค์–‘ํ•˜๊ฒŒ ์ฒ˜๋ฆฌ' ๊ฐ€๋Šฅ 2. DBMS ๋‚ด๋ถ€ ๊ธฐ๋Šฅ ์ฟผ๋ฆฌ ํ‰๊ฐ€ ์—”์ง„ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ SQL ๊ตฌ๋ฌธ ๋ถ„์„, ์–ด๋–ค ์ˆœ์„œ๋กœ ๊ธฐ์–ต์žฅ์น˜์˜ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ง€ ์‹คํ–‰ ๊ณ„ํš์„ ๊ฒฐ์ • -> DBMS์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ ๋‹ด๋‹น ์ ‘๊ทผ ๋ฉ”์„œ๋“œ(access method): ์‹คํ–‰ ๊ณ„ํš์— ๊ธฐ๋ฐ˜์„ ๋‘์–ด ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ• ์ฟผ๋ฆฌ(query): ์ข์€ ์˜๋ฏธ๋กœ๋Š” SELECT ๊ตฌ๋ฌธ์„, ๋„“์€ ์˜๋ฏธ๋กœ๋Š” SQL ๊ตฌ๋ฌธ ์ „์ฒด๋ฅผ ๋‚˜ํƒ€๋ƒ„ ๋ฒ„ํผ ๋งค๋‹ˆ์ € ํŠน๋ณ„ํ•œ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์ธ ๋ฒ„ํผ๋ฅผ ๊ด€๋ฆฌ ๋””์Šคํฌ ์šฉ๋Ÿ‰ ๋งค๋‹ˆ์ € ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ ์œ„์น˜์™€ ๋ฐฉ๋ฒ•์„ ๊ด€๋ฆฌ, ์ฝ๊ณ  ์“ฐ๊ธฐ๋ฅผ ์ œ์–ด ํŠธ๋žœ์žญ์…˜ ๋งค๋‹ˆ์ €์™€ ๋ฝ ๋งค๋‹ˆ์ € .. 2022. 4. 3.