๐ก ์ด๋ฒ ์๊ฐ์๋ ๋ฐ์ดํฐ์ ์ข ๋ฅ๋ฅผ ์์๋ณด๊ณ , ์ด๋ฅผ ์ฐจ์๊ณผ ์ธก์ ๊ฐ์ผ๋ก ๋๋์ด ๊ตฌ๋ถํด ๋ณธ๋ค. ํนํ ์ฐจ์๊ณผ ์ธก์ ๊ฐ์ด๋ผ๋ ์ด ๋ ๊ฐ๋ ์ ๋ฐ์ดํฐ์ ์์ฑ์ผ๋ก์ ๊ธฐ๋ฅํ๋ฉฐ, ์ฐจ์๊ณผ ์ธก์ ๊ฐ์ ์ ๊ตฌ๋ถํ ์ ์์ด์ผ ๋ฐ์ดํฐ๋ฅผ ์ด๋ฆฌ์ ๋ฆฌ ์ง๊ณํ ๋ ์ค๋ฅ๊ฐ ์๊ธฐ์ง ์๋๋ค.
- ๋ฐ์ดํฐ ํํ์ ์ข ๋ฅ (Data Type)
- ์ฐจ์๊ณผ ์ธก์ ๊ฐ
- ์ฐจ์/์ธก์ ๊ฐ๊ณผ ๋ฐ์ดํฐ ํ์ ์ ๊ด๊ณ
์์ฝ
- ๋ฐ์ดํฐ ํ์ ์๋ ์ซ์, ๋ฌธ์์ด, ๋ ์ง, ๋ถ์ธ๊ฐ ๋ฑ์ด ์๋ค.
- ์ฐจ์์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฅ/์ธ๋ถํํ ๋ ์ฌ์ฉ๋๋ ์์ฑ์ด๋ค.
- ์ธก์ ๊ฐ์ ๋ฐ์ดํฐ ๋ถ์์ ๋ชฉ์ ์ธ ์ต์ข ๊ฐ์ด๋ค.
๋ฐ์ดํฐ ํํ์ ์ข ๋ฅ (Data Type)
์ฐ๋ฆฌ๊ฐ ์ ๋ฌด๋ฅผ ํ๋ฉด์ ๊ด๋ฆฌํ๋ ๋ฐ์ดํฐ์๋ ์ฌ๋ฌ ์ข ๋ฅ๊ฐ ์๋ค. ๊ฑฐ๋์ฒ์ฝ๋, ๋งค์ถ์ก, ์๊ฐ, ๋ด๋น์๋ช , ์กฐ์ง๋ช ๋ฑ ์ฌ๋ฌ ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋๋ฐ, ์ด๋ฌํ ๋ฐ์ดํฐ๋ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๋ ฅ๋๊ณ ์ ์ฅ๋ ๋ ํน์ ํ ํํ์์ ํจ๊ป ์ ์ธํ์ฌ์ผ ์ ์ฅ์ด ๋๋ค. ์ด๋ฅผ ๋ฐ์ดํฐ ํ์ ์ด๋ผ๊ณ ํ๋๋ฐ, ํฌ๊ฒ๋ ์๋ ๋ค ๊ฐ์ง ์ข ๋ฅ์ ๋ฐ์ดํฐ ํ์ ์ด ์กด์ฌํ๋ค. (๋ฌผ๋ก ์ด๊ฒ๋ณด๋ค ๊ทธ ์ข ๋ฅ๋ ์ ์์ ๋ฐ๋ผ ํจ์ฌ ๋ง์ ์ ์๋ค)
- ์ซ์ํ
์๋ง๋ ๊ฐ์ฅ ๋ง์ด ์ฐ์ผ ๋ฐ์ดํฐ ํ์ ์ธ ์ซ์ ๋ฐ์ดํฐ๋ ์ ์ํ๊ณผ ์ค์ํ์ผ๋ก ๋๋ ์ ์์ผ๋ฉฐ, ์ ์ํ(Integer)์ ์์์ ์ด ์๋ ์๋ฅผ ์๋ฏธํ๊ณ , ์ค์ํ(Float)์ ์์์ ์ด ์๋ ์๋ฅผ ์๋ฏธํ๋ค. ์๋ฅผ ๋ค์ด, 1, 2, 3 ๋ฑ์ ์ ์ํ ๋ฐ์ดํฐ์ธ ๋ฐ๋ฉด, 1.2, 3.14, 10.0 ๋ฑ์ ์ค์ํ ๋ฐ์ดํฐ์ด๋ค.
- ๋ฌธ์์ด
๋ฌธ์์ด ๋ฐ์ดํฐ๋ ๋ง ๊ทธ๋๋ก ๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋ฐ์ดํฐ๋ฅผ ์๋ฏธํ๋ค. ์ด ๋ฌธ์๋ ํ๊ธ์ผ์๋, ์ํ๋ฒณ์ผ ์๋, ํน์ ๋ค๋ฅธ ์ธ์ด์ ๋ฌธ์์ผ ์๋ ์๋ค. ์๋ฅผ ๋ค์ด, "hello", "world", "123", "๊ฐ๋๋ค" ๋ฑ์ ๋ฌธ์์ด ๋ฐ์ดํฐ์ด๋ค. "123"์ด ์ด๋ป๊ฒ ๋ฌธ์์ด ๋ฐ์ดํฐ์ธ์ง ์๋ฌธ์ ํํ ์ ์๋๋ฐ, ๊ฒ๋ณด๊ธฐ์ ์ซ์ ํํ์ด์ง๋ง ์ฌ์ค ๋ฌธ์์ด์ธ ๋ฐ์ดํฐ๊ฐ ์๋ค. ์๋ฅผ ๋ค๋ฉด "001845"์ ๊ฐ์ด 0์ผ๋ก ์์๋๋ ๋ฐ์ดํฐ์ด๋ค. ์๋ [์ฐจ์/์ธก์ ๊ฐ๊ณผ ๋ฐ์ดํฐ ํ์ ์ ๊ด๊ณ]์์ ํ๋ฒ ๋ ๋ค๋ฃจ๋๋ก ํ๊ฒ ๋ค.
- ๋ ์ง
๋ ์ง ๋ฐ์ดํฐ๋ ์ผ๋ฐ์ ์ผ๋ก YYYY-MM-DD ํ์์ผ๋ก ์ ์ฅํ๋ฉฐ, ๋ ์ง์ ํจ๊ป ์๊ฐ ์ ๋ณด๋ฅผ ํฌํจํ ์๋ ์๋ค. ๋ ์ง์ ์๊ฐ ์ ๋ณด๊ฐ ํฉ์ณ์ง ๊ฒฝ์ฐ์๋ ํ์์คํฌํ(Timestamp)๋ผ๊ณ ํํํ๋ค. ์๋ฅผ ๋ค์ด, ๋ ์งํ ๋ฐ์ดํฐ๋ “2023-03-14”๋ก, ํ์์คํฌํ๋ “2023-03-14 08:19:54”์ ๊ฐ์ ํ์์ผ๋ก ์ ์ฅํ ์ ์๋ค.
- ๋ถ์ธ๊ฐ
๋ถ์ธ๊ฐ(Boolean)์ ์ ๋ฐ์ดํฐ์ ๋นํด ์์ฃผ ๊ฐ๋จํ ๋ฐ์ดํฐ ํ์ ์ธ๋ฐ, ์ฐธ(True) ๋๋ ๊ฑฐ์ง(False) ์ค ํ๋์ ๊ฐ๋ง์ ๊ฐ์ง๋ ํ์ ์ด๋ค. ์ฝ๊ฒ ๋งํด ๋ถ์ธ๊ฐ์๋ Y ์๋๋ฉด N์ด๋ผ๋ ๋ ๊ฐ์ ์ ํ์ง๋ฐ์ ์๋ค.
์ด ๋ถ๋ถ ์ญ์ ํ๋ก๊ทธ๋๋ฐ์ด๋ ์ปดํจํฐ๊ณตํ ์ฐจ์์์ ํ๊ธฐ ์์ํ๋ฉด ์ ๋ง ๋๋ ์์ด ํ ์ ์๋ค. ์ ๋ฌด ์ ์ฌ์ฉํ๋ SQL๋ง ๋ฐฐ์ธ ๋ชฉ์ ์ด๋ผ๋ฉด ์ซ์ํ, ๋ฌธ์์ด, ๋ ์ง ์ ๋๊ฐ ์๋ค๋ ๊ฒ๋ง ์ดํดํ๊ณ ๊ฐ๋ 90% ์ด์์ ์ ๋ฌด์์ SQL์ ์ฌ์ฉํ๋ ๋ฐ ์ ํ ์ด๋ ค์์ด ์์ ๊ฒ์ด๋ค.
์ฐจ์๊ณผ ์ธก์ ๊ฐ
๊ทธ๋ ๋ค๋ฉด ์ด์ ์ฐจ์๊ณผ ์ธก์ ๊ฐ์ ๋ฐฐ์๋ณผ ์ฐจ๋ก๋ค. ์ฐ๋ฆฌ๊ฐ ์ ๋ฌด๋ฅผ ํ๋ฉฐ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ ๋, ๋ณดํต ์ด๋ฌํ ์ง๋ฌธ์ ๋ํด ๋ต์ ์ฐพ์ผ๋ ค๊ณ ํ๋ค. “์ผ์๋ณ ๋งค์ถ ํํฉ”, “์ผ์๋ณ ์กฐ์ง๋ณ ๋งค์ถํํฉ”, “์ง๊ธ๋ณ ํ๊ท ์ฐ๋ด” ๋ฑ์ ์ง๋ฌธ์ด ์์ ํ ๋ฐ, ์ด๋ฌํ ์ง๋ฌธ๋ค์ ์๊ฑฐํ์ฌ ์์ ๋ฐ์ดํฐ ํ์ ์ ์ฐจ์๊ณผ ์ธก์ ๊ฐ์ผ๋ก ๊ตฌ๋ถํ ์ ์๋ค.
์ฐจ์(dimension)์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฅํ๊ฑฐ๋ ์ธ๋ถํํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์์ฑ์ด๋ค. “์ผ์๋ณ ๋งค์ถ ํํฉ”์ด๋ผ๋ ์ง๋ฌธ์ ๋งค์ถ์ก์ด๋ผ๋ ๋ฐ์ดํฐ๋ฅผ ์ผ์๋ณ๋ก ๋๋ ๊ฒ์ ๋งํ๋ค. ๋ฐ๋ผ์ ๋งค์ถ์ก์ ๋๋๋ ๊ธฐ์ค์ธ ‘์ผ์’๊ฐ ์ฐจ์์ด ๋๋ ๊ฒ์ด๋ค. ์ฐจ์์๋ ๋ณดํต ๋ ์ง, ์ง์ญ, ์ ํ ๋ฑ์ด ํด๋น๋๋ค.
Q. ์ ํฌ์ผ๋ชฌ๋๊ฐ ๋ฐ์ดํฐ์์ ์ฐจ์์ด ๋ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ๊ณจ๋ผ๋ณด์์ค.
์ธก์ ๊ฐ(measure)์ ๋ฐ์ดํฐ ๋ถ์์ ์ฌ์ฉ๋๋ ๊ณ์ฐ์ด๋ ์ง๊ณ๋ ๊ฐ์ด๋ค. “์ผ์๋ณ ๋งค์ถ ํํฉ”์ผ๋ก ๋์์ค๋ฉด, ์ผ์๋ผ๋ ์ฐจ์์ผ๋ก ๋๋์ด์ผ ํ๋ ๊ฐ ๊ทธ ์์ฒด๊ฐ ์ธก์ ๊ฐ์ด ๋๊ฒ ์ผ๋ฉฐ, ์ด ๊ฒฝ์ฐ ‘๋งค์ถ์ก’์ด ์ธก์ ๊ฐ์ด ๋๋ค. ์ด์ ๊ฐ์ด ์ธก์ ๊ฐ์ ๋งค์ถ์ก, ์ฃผ๋ฌธ๋, ์๋ ๋ฑ์ ๋ฐ์ดํฐ๊ฐ ํด๋น๋๋ค.
Q. ์ ํฌ์ผ๋ชฌ๋๊ฐ ๋ฐ์ดํฐ์์ ์ธก์ ๊ฐ์ด ๋ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ๊ณจ๋ผ๋ณด์์ค.
์์ ๊ฐ์ด ์ฐจ์๊ณผ ์ธก์ ๊ฐ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์๋ก ๋ค๋ฅธ ์ญํ ์ ์ํํ๋ค. ์ฐจ์์ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํ๊ณ ๋ถ๋ฅํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ฐ๋ฉด, ์ธก์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ณ์ฐํ๊ณ ์ง๊ณํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์ด๋ฅผ ์์ ๋ฐ์ดํฐ ํ์ ๊ฐ๋ ๊ณผ ์ฐ๊ด์์ผ๋ณด๋ฉด, ์ด๋ ํ ๋ฐ์ดํฐ ํ์ ์ ์ฐจ์, ํน์ ์ธก์ ๊ฐ์ผ๋ก ์ฌ์ฉํ ์ ์๋์ง ์ ์ ์๊ฒ ๋๋ค.
์ฐจ์/์ธก์ ๊ฐ๊ณผ ๋ฐ์ดํฐ ํ์ ์ ๊ด๊ณ
์ธก์ ๊ฐ์ ์ผ๋ฐ์ ์ผ๋ก ์ซ์ ๋ฐ์ดํฐ ํ์ ๋ง์ด ํด๋น๋๋ค. ์ด์ ๋ฅผ ์๊ฐํด๋ณด๋ฉด ์์ฃผ ์ฌ์ด๋ฐ, ๋ช ์นญ ์์ฒด๊ฐ ์ธก์ ๊ฐ์ธ ๋งํผ ํน์ ํ ์์น๋ฅผ ์ ์ ์์ด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ๋งค์ถ์ก, ์ฃผ๋ฌธ๋, ์๋ ๋ฑ์ ๋ฐ์ดํฐ๋ ๋ชจ๋ ์ซ์๋ก๋ฐ์ ํํ๋์ง ์๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ๋ค๋ฅด๊ฒ ๋ฐ๋ผ๋ณด๋ฉด, ์ธก์ ๊ฐ์ ์๋ก ๊ฐ์ ๊ฒ์ฐ์ด ๊ฐ๋ฅํด์ผ ํ๋ค. ์ผ์๋ณ ๋งค์ถ์ก์ ๋ชจ๋ ๋ํ๋ฉด ์ ์ฒด ๊ธฐ๊ฐ์ ๋งค์ถ์ก์ด ๋์ฌ ๊ฒ์ด๊ณ , ์ด๋ฅผ ์ฐ๋๋ณ, ํน์ ์๋ณ๋ก ์ชผ๊ฐค ์๋ ์์ ๊ฒ์ด๋ค.
๋ฐ๋ฉด ์ฐจ์์ ์ฌ์ค์ ๋ชจ๋ ๋ฐ์ดํฐ ํ์ ์ ์ฌ์ฉํ ์ ์๋ ๊ฐ๋ ์ด๋ค. ์๋ฅผ ๋ค์ด “์ผ์”์ ๊ฐ์ ์ฐจ์์ ๋ ์ง ํ์ ์ ์ฌ์ฉํ ์ ์๊ณ , “์กฐ์ง”์ด๋ผ๋ ์ฐจ์์ ๋ฌธ์์ด์ ํตํด ํํํ ์ ์๋ค. ์ซ์ ๋ํ ์ฐจ์์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ฐ, ์๋ฅผ ๋ค์ด ํน์ ์ผ๋ จ๋ฒํธ๊ฐ ๋งค๊ฒจ์ง ์ ํ ์ฝ๋์ ๊ฒฝ์ฐ์๋ ์ฐจ์์ผ๋ก ๋ณผ ์ ์๋ค.
์ฌ๊ธฐ์ ๋ง์ด๋ค ํท๊ฐ๋ฆฌ๋ ๊ฐ๋ ์ด ๋ฐ๋ก ์ฐจ์/์ธก์ ๊ฐ๊ณผ ์ซ์ ๋ฐ์ดํฐ ํ์ ์ ๊ด๊ณ์ด๋ค. ์์์ ์ธ๊ธํ๋ค์ํผ ์ซ์ ํ์ ์ ์ฐจ์๊ณผ ์ธก์ ๊ฐ์์ ๋ชจ๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด๋ค ์ซ์ ๋ฐ์ดํฐ๊ฐ ์ธก์ ๊ฐ์ด๊ณ , ์ด๋ค ์ซ์ ๋ฐ์ดํฐ๊ฐ ์ฐจ์๊ฐ์ผ๊น? ํด๋ต์ ๋ฐ๋ก “์ง๊ณ๊ฐ ๊ฐ๋ฅํ์ง ์ฌ๋ถ”์ ๋ฐ๋ผ ๊ตฌ๋ถ๋๋ค๋ ๊ฒ์ด๋ค.
์๋ฅผ ๋ค์ด, ‘๋งค์ถ์ก’์ด๋ผ๋ ๋ฐ์ดํฐ๋ ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฒฐํฉํ์ฌ ์ด ๋งค์ถ์ก, ํ๊ท ๋งค์ถ์ก ๋ฑ์ผ๋ก ์ง๊ณ๊ฐ ๊ฐ๋ฅํ๋ค. ‘๋งค์ถ์ก’์ ์ง๊ณ๊ฐ ๊ฐ๋ฅํ ๋ฟ๋ง ์๋๋ผ, ์ง๊ณ๋ ๋งค์ถ์ก์ ๋ ๋ค๋ฅธ ์๋ฏธ๋ฅผ ๊ฐ์ง ๋ฐ์ดํฐ๋ก ์ฌํ์ํ๋ ์ ์ด๋ค. ํ์ง๋ง ‘์ผ๋ จ๋ฒํธ’ ๋ฐ์ดํฐ๋ ๋ง์ ๋บ์ ์ ํ ์ ์์๊น? ๋ฌผ๋ก ์ต์ง๋ก ํ๋ฉด ๊ฐ๋ฅ์ ํ ๊ฒ์ด๋ค. ํ์ง๋ง 12345678์ด๋ผ๋ ์ผ๋ จ๋ฒํธ์ 90123456์ด๋ผ๋ ์ผ๋ จ๋ฒํธ๋ฅผ ๋ํ๊ณ ๋บ๋ค๋ฉด ์ด๋ค ์๋ฏธ๊ฐ ์ถ๊ฐ๋ก ์๊ธธ ์ ์์๊น? ์๋ฌด ์๋ฏธ๋ ์๊ธฐ์ง ์๋๋ค. ์ด ๊ฒฝ์ฐ ‘์ผ๋ จ๋ฒํธ’๋ผ๋ ๋ฐ์ดํฐ๋ ์๋ฌด๋ฆฌ ์ซ์ํ์ผ์ง๋ผ๋ ์ธก์ ๊ฐ์ด ์๋ ์ฐจ์์ผ๋ก ์ ์๋๋ค. ๊ทธ๋์ ์์ ์ด๋ฌํ ์ผ๋ จ๋ฒํธ ๋ฑ์ ๋ฐ์ดํฐ๋ ์ซ์๊ฐ ์๋ ๋ฌธ์์ด๋ก ๋ฐ๊พธ์ด๋ฒ๋ฆฌ๊ธฐ๋ ํ๋ค.
์ฐจ์๊ณผ ์ธก์ ๊ฐ์ ๋ฐ์ดํฐ์ ๊ด๋ จ๋ ํ์ต์ ํ ๋ ๊ผญ ์์์ผ ํ ๋งค์ฐ ๊ธฐ์ด์ ์ธ ๊ฐ๋ ์ด๋ค. ํนํ ์ซ์ ํ์ ๊ณผ ์ฐจ์/์ธก์ ๊ฐ์ ๊ด๊ณ๋ ๋ฐ์ดํฐ๋ฅผ ๊ธ๋ก๋ง ๋ฐฐ์ ์ ๋ ์์ฃผ ํท๊ฐ๋ฆฌ๊ธฐ ์์ฃผ ์ข์ ๊ฐ๋ ์ด๋ฏ๋ก ๋ฐ๋์ ์ดํดํ๊ณ ๋์ด๊ฐ๋ ๊ฒ์ด ์ข๋ค.
๋ฐ๋์ ์ดํดํด์ผ ํ๋ ํต์ฌ ๋ด์ฉ
- ๋ฐ์ดํฐ ํ์ ์ ์ข ๋ฅ
- ์ฐจ์๊ณผ ์ธก์ ๊ฐ์ ์ ์
- ์ด๋ค ๋ฐ์ดํฐ ํ์ ์ด ์ฐจ์๊ณผ ์ธก์ ๊ฐ์ผ๋ก ์ฐ๊ฒฐ๋๋๊ฐ?
์ฌ๋ฏธ์๊ฒ ๋ณด์
จ๋ค๋ฉด ๊ณต๊ฐ ๋ฒํผ / ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์!
์ปจํ
์ธ ์์ฑ์ ํฐ ํ์ด ๋ฉ๋๋ค :)
'WORK > SQL 101' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SQL 101] ๋ฐ์ดํฐ๋ ์ด๋ป๊ฒ ์๊ฒจ๋จน์๋๊ฐ: ๋ฐ์ดํฐ ๊ตฌ์กฐ ์์๋ณด๊ธฐ (0) | 2023.03.07 |
---|---|
[SQL 101] SQL ๊ณต๋ถ๋ฅผ ์์ํ๊ธฐ ์ ์ (0) | 2023.03.05 |