์ ๋จธ๋ฆฌ ์ฐ๊ธฐ ์ซ๋ค..๋ด๊ฐ ๋ณด๋ ค๊ณ ์ ๋ฆฌ ํค์๋๋ณ๋ก ๊ตฌ๊ธ๊ฒ์ + GPT + ์ฑ
๋ณด๊ณ ์ ๋ฆฌ์คJOIN๊น์ง๋ง ๋ธ๋ก๊ทธ์ ์ ๋ฆฌํ๊ณ ๊ทธ ๋ค์๊บผ๋ ๊ทธ๋ฅ ํผ์์ ๋ณด๊ณ ์๊ธฐ๋ง ํด์ผ ๊ฒ ๋ค...์ ๋ฆฌํ๋ค๊ฐ ์ปจ๋์
๊ด๋ฆฌ ์ ๋ ๋ฏ ใ
ใ
ใ
....์ด์ฐจํผ ๋ณต์ตํ๋๊ฑฐ๋ผ ๊ฐ๋
์ ๋ค ์๊ณ ํท๊ฐ๋ฆฌ๋ ๋ถ๋ถ๋ง ์ ๋ฆฌํ๊ฑฐ ํฐ์คํ ๋ฆฌ ํ ๊ธฐ๋ฅ ๊ตฌ๋ ค๋ ๋๋ฌด ๊ตฌ๋ฆฌ๋คํ๋ฅผ ๋ง๋ค๋ฉด ์ ๋ฉ๋๋ก ์์์ด ์น ํด์ง๊ณ ํ
๋๋ฆฌ๊ฐ ์๋ณด์ ์ธ๋ด์ฌ ํ
์คํธ..ํฌํ ์ต๋ง ๊น๋ ค์์ผ๋ฉด ๋ง๋๋๋ฐใ
ใ
ํ..... ๋ค์๋ถํฐ๋ Google Spread Sheet๋ก ๋ง๋ค์ด์ผ๊ฒ ์ ์ฐธ๊ณ ๋ก 2024.11.17 ๊ธฐ์ค ๋ด์ฉ๋ฌผ ์ค ํ์ ์ ์๋ณด์ด๊ณ ๋ฐฐ๊ฒฝ์ ๋ง์๋๋ก ์น ํด์ง ๊ฑด ๋ด๊ฐ ๊ณ ์น ์ ์๋ ๋ถ๋ถ์ด ์๋ํ
์คํธ์๋ํฐ์์๋ ๋ฌธ์ ์์ด ๋ณด์ฌ๋ ๋ฐํํ๋ฉด ๋ค ๊นจ์ ธ์์, ๋ช๋ฒ์ ์์ ํด๋ ๋ต์ด ์๋๋ฐ ๋ด์ผ ์ค์ ์ ๋น์ฅ..
My Tech Blog (์ ์ฒด ๊ธ)
๐ ๐ต๐ ๐๐๐๐ก๐๐๐ข๐, ๐ ๐๐๐ก๐ก๐๐ ๐๐๐๐๐๐๐๐๐ก๐๐๐ ๐๐๐๐ ๐ ๐๐๐๐ ๐ค๐๐ฆ โจ๐ฟ๐๐๐ ๐๐ ๐ ๐๐๐๐๐. ๐ธ๐๐๐๐ฆ ๐๐๐ ๐ต๐๐๐๐ ๐๐๐ฆ.์ค์ํ๊ฑฐ ์ ๋ฆฌํ๊ฑฐ ์๋๊ณ ๋ด๊ฐ ๋ณผ๋ ค๊ณ ํท๊ฐ๋ฆฌ๋๊ฑฐ ์ ๋ฆฌํจ ๊ธฐ๋ณธ์ ์ผ๋ก ORACLE ๊ธฐ์ค์ผ๋ก ์ ๋ฆฌMySQL์ด๋ MSSQL์ ๊ฐ๋ณ์ ์ผ๋ก ๋ฐ๋ก ์ ๋ฆฌ ํด ๋์1. NVL(์ธ์1, ์ธ์2)`์ธ์1`์ ๊ฐ์ด `NULL`์ผ ๊ฒฝ์ฐ `์ธ์2` ๋ฐํ, `NULL` ์๋ ๊ฒฝ์ฐ `์ธ์ 1` ๋ฐํ ํ ๋ง๋๋ก ์ฐ์ฐํด์ผ ํ๋๋ฐ NULL ๊ฐ์ด ์์ผ๋ฉด 0์ผ๋ก ์นํํด์ค์ผ ๋๋๊น 0์ผ๋ก ๋ฐ๊พธ๋ ํจ์๋ผ๊ณ ์ธ์ฐ๋ฉด ๋๋ค. ์๋ฅผ ๋ค๋ฉด ์ํ ๋ฆฌ๋ทฐํ๋๋ฐ ํ์ ์ฌ์ด์ NULL์ด ๊ปด ์์ด์ ํ๊ท ์ ๋ชป ๋ด์ค ๋ ๊ทธ๋ฅ ๋ค 0์ผ๋ก ์นํํ ๋ ์ฐ๋๊ฑฐ๋ผ ์ดํดํ๋ฉด ๋๋ค. NVL(expression, replacement_value)expression: ํ์ธํ ๊ฐ.replacement_value: expression์ด NULL์ผ ๋ ๋์ ์ฌ์ฉํ ๊ฐ. ORACLE `N..
์ค์ํ ๋ด์ฉ์ด ์๋ ๋ด๊ฐ ํท๊ฐ๋ฆฌ๋ ๊ฒ๋ง ์ ๋ฆฌํ ๊ฒ1. SUBSTR๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๋ฌ๋ฆฌ Oracle๊ณผ SQL์์ SUBSTR ํจ์์ ์ธ๋ฑ์ค๋ 1๋ถํฐ ์์. ์ฆ, ๋ฌธ์์ด์์ ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ ์ธ๋ฑ์ค 1์.SUBSTR(string, start_position, [length])start_position: ์ถ์ถ์ ์์ํ ์์น (1๋ถํฐ ์์) length: (์ ํ์ ) ์ถ์ถํ ๊ธธ์ดSELECT SUBSTR('Hello World', 1, 5) AS Substring FROM dual; ์ ์ฟผ๋ฆฌ์์ SUBSTR('Hello World', 1, 5)๋ ๋ฌธ์์ด 'Hello World'์์ ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ถํฐ ์์ํ์ฌ 5๊ฐ์ ๋ฌธ์๋ฅผ 'Hello' ์ถ์ถ SELECT SUBSTR('๋ธ๋ํํฌ์ ๋', 3, 2) FROM DUA..
๋ด๊ฐ ๋ณด๋ ค๊ณ ํท๊ฐ๋ฆฌ๋ ๊ฑฐ ์ ๋ฆฌํ ๊ฒ 1. ์ ๊ทํ๋ฐ์ดํฐ์ ์ ํฉ์ฑ(๋ฐ์ดํฐ์ ์ ํ์ฑ๊ณผ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ ๋ณด์ฅ)ํ๊ธฐ ์ํด ์ํฐํฐ๋ฅผ ์์ ๋จ์๋ก ๋ถ๋ฆฌํ๋ ๊ณผ์ ์ด๋ค. ์ ๊ทํ๋ฅผ ํ ๋ ๋ฐ์ดํฐ ์กฐํ ์ฑ๋ฅ์ ๋ณด์ฅ ๋ชปํ์ง๋ง ์
๋ ฅ, ์์ , ์ญ์ ์ฑ๋ฅ์ ์ผ๋ฐ์ ์ผ๋ก ํฅ์๋๋ค๊ณ ๋ณผ ์ ์๋ค. ๋ด๊ฐ ์์ ์ ์ ๋ฆฌํ๊ฑฐ [Database] ์ ๊ทํ ์ฝ๊ฒ ์ดํดํ๊ธฐ, ์ 1์ ๊ทํ, ์ 2์ ๊ทํ, ์ 3์ ๊ทํ, BCNF์ ๊ทํ(Normalization) ๐ ์ ๊ทํ๋? ์ ๊ทํ(Normalization)๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์์ ์ค๋ณต์ ์ต์ํํ๋๋ก ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐํํ๋ ์์
์ด๋ค. ์ ๊ทํ๋ฅผ ํด์ค์ผ๋ก์จ ์ฝ์
, ์ญ์ , ๊ฐฑ์ ๋ฑ ์ด์ํ์awesomepossum.tistory.com 1) ์ 1์ ๊ทํ ์๋ฐ - ํ ์นธ์ , ๋ก ํญ๋ชฉ ์ฌ๋ฌ๊ฐ ๋ค์ด ๊ฐ๊ฑฐ - ํ ..
๋ด๊ฐ ๋ณผ๋ ค๊ณ ์ ๋ฆฌํจ1. ์ํฐํฐ์ ํน์ง ๋ค์ ์ค ์ํฐํฐ๊ฐ ๊ฐ๋ ํน์ง์ผ๋ก ์ ํฉํ์ง ์์ ๊ฒ์? - ๋ค๋ฅธ ์ํฐํฐ์ 1๊ฐ ์ด์์ ๊ด๊ณ๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค- ๋ฐ๋์ ์์ฑ์ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค.- `1๊ฐ ์ด์`์ ์ธ์คํด์ค๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค. => 2๊ฐ- ์ ๋ํฌํจ์ ๋ณด์ฅํ ์ ์๋ ์๋ณ์๊ฐ ์์ด์ผ ํ๋ค. ํ ๊ฐ์ ์ํฐํฐ๋ ๋ ๊ฐ ์ด์์ ์ธ์คํด์ค๋ฅผ ๊ฐ๋๋ค.ํ ๊ฐ์ ์ธ์คํด์ค๋ ๋ ๊ฐ ์ด์์ ์์ฑ์ ๊ฐ๋๋ค.ํ ๊ฐ์ ์์ฑ์ ํ๋์ ์์ฑ ๊ฐ์ ๊ฐ๋๋ค. ์ํฐํฐ : ํ
์ด๋ธ ์ ์ฒด (์: `๊ณ ๊ฐํ
์ด๋ธ`)์ธ์คํดํธ : ํ (์: `๊ณ ๊ฐ 1๋ช
`)์์ฑ : ์ด (์: ๊ณ ๊ฐ์ `์ด๋ฆ`,`์ ํ๋ฒํธ`,`์ฃผ์`)2. ๊ธฐ๋ณธ ์ํฐํฐ, ์ค์ฌ ์ํฐํฐ, ํ์ ์ํฐํฐ๋ฐ์์์ ์ ๋ฐ๋ฅธ ๋ถ๋ฅ`๊ธฐ๋ณธ ์ํฐํฐ`๋ ๋
๋ฆฝ์ ์ผ๋ก ์์ฑ๋์ด ์์ ๋ง์ ์ฃผ์๋ณ์๋ฅผ ๊ฐ์ง๋ฉฐ ๋ค..
๐ 1. ๋ฌธ์ ์ค๋ช
์ํฌ์๋ ์ํ์ ํฌ๊ธฐํ ์ฌ๋์ ์ค๋ง์
๋๋ค. ์ํฌ์ ์ผ์ธ๋ฐฉ์ ๋ชจ์๊ณ ์ฌ์ ์ํ ๋ฌธ์ ๋ฅผ ์ ๋ถ ์ฐ์ผ๋ ค ํฉ๋๋ค. ์ํฌ์๋ 1๋ฒ ๋ฌธ์ ๋ถํฐ ๋ง์ง๋ง ๋ฌธ์ ๊น์ง ๋ค์๊ณผ ๊ฐ์ด ์ฐ์ต๋๋ค. 1๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1๋ฒ ๋ฌธ์ ๋ถํฐ ๋ง์ง๋ง ๋ฌธ์ ๊น์ง์ ์ ๋ต์ด ์์๋๋ก ๋ค์ ๋ฐฐ์ด answers๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฐ์ฅ ๋ง์ ๋ฌธ์ ๋ฅผ ๋งํ ์ฌ๋์ด ๋๊ตฌ์ธ์ง ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์..
์์ ์ ์ผ์ด ์์ด์ ๊ด์ฃผ ์ ๋จ๋ํ๊ต ๊ทผ์ฒ์ ๊ฐ๋ค๊ฐ ์๊ฐ์ด ๋จ์์ ๊ทธ ์์ ์๋ ์๋ฆฝ๋ฌด๋ฑ๋์๊ด์ ๋ค์ด๊ฐ๋ค. 1์๊ฐ ์ ๋ ์๊ฐ๋ง ๋ผ์ฐ๋ ค๊ณ ํ๋๋ฐ, ๊ธ์๊ฐ ๋ง์ ์ฑ
์ ์ซ์ด์ ๊ทธ๋ฆผ์ด ๋ง์ ์ฑ
์ ๊ณ ๋ฅด๋ ์ค์ ๋์ ๋ค์ด์๋ ์ฑ
600ํ์ด์ง๊ฐ ๋๋ ๋๊บผ์ด ์ฑ
์ด์์ง๋ง ์ด๊ตญ์ ์ด๊ณ ์๋ฆ๋ค์ด ์ ๋ฝ ํ์ผ์ ํ๋ คํจ์ด ๋์ ์ฌ๋ก ์ก์๋ค. ๊ทธ๋์ ๋์ค์ ๋ค๋ฅธ ํธ๋ ์ฐพ์ ์ฝ์ด๋ณด๋ ค๊ณ ์ฌ์ง๊น์ง ์ฐ์ด ๋์๋ค. ์ฐ๋ฆฌ๋๋ผ์์๋ ๊ณ ๋ ค์ฒญ์๊ฐ ์ ๋ช
ํ ๊ฒ์ฒ๋ผ ๋์๊ธฐ๋ ๋์์์ ๋ง๋ก ํ๊ณ ์ฐ๋ฆฌ ์ํ์์ ์ค์ํ ์ฅ์ํ์ผ๋ก ์๋ฆฌ ์ก์๋ค. ํนํ ์ด ์ฑ
์์ ์ธ์๊น์๋ ๋ถ๋ถ์ ์ ๋ฝ์์ ๋์๊ธฐ๋ ์๊ธฐ ๋ฟ๋ง์ด ์๋๋ผ, ๊ฑด์ถ ์ฅ์ ์์์์๋ ๋ง์ ๋ถ๋ถ์ ์์น ํ๊ณ ์๋ค. ํนํ ์๊ฐ๊ฐ ์ต๊ณ ๋ก ๊ผฝ์ ์๊ธฐ์๊ธฐํ '๋ ๋ธ๋ฆฌํ ๊ณต์ ๋ถ์ธ์ ์ง'์ ํ๋ คํจ์ ๊ทน์น์ธ '์ฐํ๋ง๋ฆฌ..
๋ช ๋ฌ ์ ์ ๋์๊ด์ ๊ฐ๋ค๊ฐ ์ด๋ผ๋ ์ฑ
์ ์ฝ์๋ค. ๊ธ์จ๊ฐ ๋ง์ ์ฑ
๋ณด๋ค ๊ทธ๋ฆผ ์์ฃผ๋ก ํธ์ํ๊ฒ ๋ณด๊ณ ์ถ์ด์ ๊ณ ๋ฅธ ์ฑ
์ด์๋๋ฐ, ์ ๋ง ํน๋ณํ ์ฑ
์ด์๋ค. ํ๋ คํ๋ฉด์ ์ ๊ตํ ์ ๋ฝ์ ํ์ผ ์์์ด ๋๋ฌด ์๋ฆ๋ค์ ๋ค. ๊ทธ๋์ ์ง์ ์์ ์ด ์ฑ
์ ๊ตฌ๋งคํ์ฌ ์์ฅํ๊ณ ์ถ์์ผ๋ ์์ ๋ฝํธ์ ํ์ ์ด์ด์ ๊ตฌ๋งคํ์ง ๋ชปํ๋ค. ์ค๋ ๊ฐ์๊ธฐ ์ด ์ฑ
์๊ฐ์ด ๋์ ๋ถ์ ๋ฝํธ์ ์ฃผ๋ฌธ ํด ๋ณด์๋ค > ํ๋ก๊ทธ๋๋จธ์ค ๋ ๋ฒจํ
์คํธ ์ฒซ๋ฒ์งธ ๋ฌธ์ ์ฝ๋๋ง ํฌ์คํ
ํ๋ก๊ทธ๋๋จธ์ค ์์ ํ์ 2 macOS์์๋ ๊ณต์ธ์ธ์ฆ์ ๋ค์ด ์๋๋ ๋ฌธ์ safari๋ง ์๋๋์ง chrome์ ๋๋์ง ํ์ธํด๋ณด์ SQLโญ ์ด๋ก Ie/Crow'sFoot, Peter Chen, IDEF1X, Barker์๋ณ์-๋น์๋ณ์ ๊ด๊ณ๊ธฐ๋ณธ, ์ค์ฌ, ํ์ ์ํฐํฐ์ค๋ณต, ๋น์ ์ฐ์ฑ, ๋น์ผ๊ด์ฑ์ 1์ ๊ทํ - ์ 3์ ๊ทํ..
๐ 1. ๋ฌธ์ ์ค๋ช
๋ช
ํจ ์ง๊ฐ์ ๋ง๋๋ ํ์ฌ์์ ์ง๊ฐ์ ํฌ๊ธฐ๋ฅผ ์ ํ๋ ค๊ณ ํฉ๋๋ค. ๋ค์ํ ๋ชจ์๊ณผ ํฌ๊ธฐ์ ๋ช
ํจ๋ค์ ๋ชจ๋ ์๋ฉํ ์ ์์ผ๋ฉด์, ์์์ ๋ค๊ณ ๋ค๋๊ธฐ ํธํ ์ง๊ฐ์ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ์ด๋ฌํ ์๊ฑด์ ๋ง์กฑํ๋ ์ง๊ฐ์ ๋ง๋ค๊ธฐ ์ํด ๋์์ธํ์ ๋ชจ๋ ๋ช
ํจ์ ๊ฐ๋ก ๊ธธ์ด์ ์ธ๋ก ๊ธธ์ด๋ฅผ ์กฐ์ฌํ์ต๋๋ค.์๋ ํ๋ 4๊ฐ์ง ๋ช
ํจ์ ๊ฐ๋ก ๊ธธ์ด์ ์ธ๋ก ๊ธธ์ด๋ฅผ ๋ํ๋
๋๋ค. ๊ฐ์ฅ ๊ธด ๊ฐ๋ก ๊ธธ์ด์ ์ธ๋ก ๊ธธ์ด๊ฐ ๊ฐ๊ฐ 80, 70์ด๊ธฐ ๋๋ฌธ์ 80(๊ฐ๋ก) x 70(์ธ๋ก) ํฌ๊ธฐ์ ์ง๊ฐ์ ๋ง๋ค๋ฉด ๋ชจ๋ ๋ช
ํจ๋ค์ ์๋ฉํ ์ ์์ต๋๋ค. ํ์ง๋ง 2๋ฒ ๋ช
ํจ์ ๊ฐ๋ก๋ก ๋ํ ์๋ฉํ๋ค๋ฉด 80(๊ฐ๋ก) x 50(์ธ๋ก) ํฌ๊ธฐ์ ์ง๊ฐ์ผ๋ก ๋ชจ๋ ๋ช
ํจ๋ค์ ์๋ฉํ ์ ์์ต๋๋ค. ์ด๋์ ์ง๊ฐ ํฌ๊ธฐ๋ 4000(=80 x 50)์
๋๋ค. ๋ชจ๋ ๋ช
ํจ์ ๊ฐ๋ก ๊ธธ์ด์ ์ธ๋ก ๊ธธ์ด..