๐ ๋ฌ๋ SQL
ํ๋น๋ฏธ๋์ด <๋๋ ๋ฆฌ๋ทฐ์ด๋ค> ํ๋์ ์ํด์ ์ฑ ์ ์ ๊ณต๋ฐ์ ์์ฑ๋ ์ํ์ ๋๋ค.
Book Infoโ
์ฑ ์ด๋ฏธ์ง๋ฅผ ํด๋ฆญํ๋ฉด ๊ต๋ณด๋ฌธ๊ณ ์ฌ์ดํธ๋ก ์ด๋ํฉ๋๋ค!
- ์ ๋ชฉ: ๋ฌ๋ SQL
- ์ ์: Alan Beaulieu
- ์ญ์: ๋ฅ์๋ฏธ, ์กํฌ์
- ์ถํ์ฌ: ํ๋น๋ฏธ๋์ด
- ์ถ๊ฐ: 2021-03-30
๐ฌ Introโ
๋๋ ์ปดํจํฐ ๊ณตํ ์ ๊ณต์์ด์ง๋ง ์์ง๊น์ง ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ณต๋ถ๋ฅผ ์ ๋๋ก ํด๋ณธ ์ ์ด ์๋ค. ์ฐ๋ฆฌ ํ๊ณผ๋ Computer Science๋ณด๋ค Computer Engineering์ ๋ ๊ฐ๊น์ด ํ๊ณผ์ด๊ธฐ์ 4ํ๋
2ํ๊ธฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ณผ๋ชฉ์ด ๋ฐฐ์ ๋์ด ์๋ค. ๊ทธ๋ฌ๋ ๋๋ ์น ๋ฐฑ์๋๋ฅผ ๊ณต๋ถํ๋ค ๋ณด๋ ์์ฐ์ค๋ฝ๊ฒ SQL ๊ณต๋ถ์ ํ์์ฑ์ ๋๋ผ๊ฒ ๋๊ณ "์ธ์ ๊ฐ ๊ณต๋ถ๋ฅผ ํด์ผ๊ฒ ๋ค."๋ผ๊ณ ์๊ฐํ๋ค. ๋ง์นจ ํ๋น๋ฏธ๋์ด ์ถํ์ฌ์ ๋๋ ๋ฆฌ๋ทฐ์ด๋ค
์ ์ฐธ์ฌํ๊ฒ ๋์ด ์ด ์ฑ
์ ์ฝ์ ์ ์๊ฒ ๋๋ค.
๐ Book Reviewโ
SQLโ
์ด ์ฑ ์ ์ ๋ชฉ์์๋ ์ ์ ์๋ฏ์ด SQL์ ๊ณต๋ถํ๋ ์ฑ ์ด๋ค. SQL์ MySQL, ORACLE DATABASE, IBM DB2, Microsoft SQL Server, PostgreSQL ๋ฅ๊ณผ ๊ฐ์ด ์ข๋ฅ๊ฐ ๋ค์ํ๋ค. ๊ทธ์ค ์ด ์ฑ ์ ๊ฐ์ฅ ๋์ค์ ์ด๋ผ๊ณ ํ ์ ์๋ MySQL์ ์ค์ ์ผ๋ก ์ค๋ช ํ๋ค. ๊ฐ๋ MySQL ์ด์ธ์ SQL ์์ ๋ค์ด ๋์ค๊ธฐ๋ ํ์ง๋ง SQL ๋ฌธ๋ฒ ์์ฒด๊ฐ ๊ฑฐ์ ๋น์ทํ์ฌ ํฐ ์ด๋ ค์์ ์๋ค.
์ค์ต ํ๊ฒฝโ
๋๋ถ๋ถ์ SQL ์ฑ ์ ์์ ๋ค์ ํ ์ด๋ธ์ ์ง์ ์์ฑํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํด๋ณด๊ธฐ๋ ํ๋ฉฐ, ์ฌ์ ์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์ ๋ค์ด ๋ฐ์ ์ค์ตํ ์ ์๋๋ก ๋์ด ์๋ค. ์ด ์ฑ ์์๋ Sakila๋ผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ค. Sakila ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ MySQL์์ ๊ฐ๋ฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ฑ ๋๋ ๋ฌธ์์ ํํ ๋ฆฌ์ผ ๋ฑ์ ์์ ์ ์ฌ์ฉํ ์ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ค.
์ด ์ฑ ์ ๊ณต๋ถํ๊ธฐ ์ํ ํ๊ฒฝ์ ์ธํ ํ๊ธฐ ์ํด์๋ MySQL์ ์ค์นํ๊ณ Sakila ๋ฐ์ดํฐ๋ฒ ์ด์ค๊น์ง ๋ฐ์์ผ ํ์ง๋ง ํ๊ฒฝ์ ๊ตฌ์ฑํ๋ ๊ฒ์ด ์ด๋ ค์ด ์ฌ๋๋ค์ ์ํด ์ด ์ฑ ์ ์์ ์ถํ์ฌ์ธ O'REILLY์์ Katacoda๋ผ๋ ์ค์ต ํ๊ฒฝ์ ์ ๊ณตํ๋ค. ์ด์ ๋ง ๊ณต๋ถ๋ฅผ ์์ํ ์ฌ๋๋ค ์ ์ฅ์์๋ ๋งค์ฐ ํธํ๊ฒ ๊ณต๋ถํ ์ ์๋ค. ์ด๋ ๊ฒ ๊ณต๋ถํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ ๊ฒ์ด ์ฌ์ด ์ผ์ ์๋๊ธฐ์ ๊ฐ์ฅ ์ธ์์ ์ธ ๋ถ๋ถ์ด์๋ค.
์ด์ธ์๋ ํ๊ฒฝ์ ๊ตฌ์ถํ ์ ์๋ ์ฌ๋์ ์ค์ค๋ก ํ๊ฒฝ์ ๊ตฌ์ถํ์ฌ ์ฑ ์ ์์ ๋ฅผ ๋ฐ๋ผ ํ๋ฉฐ ์ค์ต์ ์งํํ๋ฉด ๋๋ค. ๋๋ WSL2(Windows Subsystem for Linux 2)๋ฅผ ์ฌ์ฉํ์ฌ MySQL ํ๊ฒฝ์ ๊ตฌ์ถํ๋ค. ์ฒ์์๋ Windows์์ MySQL์ ์ฌ์ฉํ๋ ค ํ์ผ๋ ์ด ์ฑ ์ ํฐ๋ฏธ๋์์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ธฐ์ ๋๋ MySQL Workbench๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ํฐ๋ฏธ๋์์ ์ค์ต์ ์งํํ๋ค.
์ ๋ฌธ์ ๊ทธ์น์ง ์๋ ์ฑ โ
๋จ์ SQL ์ฟผ๋ฆฌ๋ฌธ๋ง์ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋๋ผ SQL์ ๋ฐฐ๊ฒฝ๋ถํฐ ๊ธฐ์ด ๋ฌธ๋ฒ์ ์ค๋ช ํ๊ณ ๋์๋ ๋ถํ , ๊ตฐ์งํ, ์ค๋ฉ, ๋น ๋ฐ์ดํฐ ๊ฐ์ด SQL์ ์ด์ฉํ ๊ณ ๊ธ ๊ธฐ์ ์ ๊ฐ๋จํ๊ฒ ์๊ฐํ๋ค. ํนํ 2015๋ ์ ์ฒ์ ๋ฑ์ฅํ ์คํ์์ค์ธ Apache Drill์ ์ฌ์ฉํด๋ณธ๋ค.
๊ณต๋ถํ๊ธฐ ํธํ ์ฑ โ
์ด ์ฑ ์ 455 ํ์ด์ง๋ก ๊ฝค ๋๊บผ์ด ์ฑ ์ด์ง๋ง Chapter๊ฐ 18๊น์ง ์์ด ์กฐ๊ธ์ฉ ๋ณด๊ธฐ ์ข๋ค. ํ๋ฃจ์ ํ Chapter์ฉ ๋ณด๋ฉด 18์ผ์ด๋ฉด ๋ค ์ฝ์ ์ ์๋ค. ์ด๋ ๊ฒ ์งง๊ฒ Chapter๊ฐ ๊ตฌ์ฑ๋์ด ์์ด ์ฑ ์ ์ฝ๋๋ฐ ๋ถ๋ด์ ๋ํ๋ค.
๋ํ, ํ Chapter๊ฐ ๋๋ ๋๋ง๋ค ํ์ต ์ ๊ฒ ์ค์ต ๋ฌธ์
๊ฐ ์์ด Chapter์ ๋ด์ฉ๋ค์ ์ ๊ฒํ ์ ์์๋ค. ๊ฝค ๋ง์์ ๋ค์๋ ๋ถ๋ถ์ด๋ค. ๋ณดํต ์ด๋ฐ ์ฑ
๋ค์ ์ค์ต ์์ ๋ง ์๊ณ ๋ณต์ตํ ์ ์๋ ๋ฌธ์ ๋ค์ด ์๊ธฐ ๋ง๋ จ์ด๋ค. ๊ทธ๋ฌ๋ ์ด ์ฑ
์ ๋ฌธ์ ๋ฅผ ์ ๊ณตํ๊ณ ๋ฌธ์ ์ ์ ๋ต๊น์ง ๋ถ๋ก์ ๊ธฐ์ ๋์ด ์๋ค. ์ฆ, ๊ณต๋ถํ ๋ด์ฉ๋ค์ ์ ๊ฒํ๊ธฐ์ ์ข์ ์ฑ
์ด์๋ค.
๋ง์ง๋ง์ผ๋ก ์ค์ตํ ์ ์๋ ์ฝ๋๊ฐ ๋ง์ผ๋ฉฐ, ์ข ์ข ์์ ์ฝ๋๋ง๋ค ์ด๋ ํ ์ํฉ์์ ์ฌ์ฉํด์ผ ํ๋์ง์ ๋ํ ์ค๋ช ์ด ์ ํ ์์๋ค. SQL์ ์์ฑํ๋ฉด์ ์ด๋ ค์ด ๋ถ๋ถ์ด ์์ ๋ ๋ ํผ๋ฐ์ค๋ก ์ฐธ๊ณ ํ๋ฉด์ ์ฝ๊ธฐ์๋ ์ข์ ์ฑ ์ด๋ผ ์๊ฐํ๋ค.
๐ ๋์ ๋ ์โ
๊ฐ๋ ํ Chapter์์ ์ค๋ช ํ๊ณ ์ ํ๋ ์ฃผ์ ๊ฐ ์์ง๋ง, ๊ทธ ์ฃผ์ ์ ์กฐ๊ธ ๋ฒ์ด๋ ๋ค๋ฅธ Chapter์ ์ฝ๋๋ฅผ ๋ฏธ๋ฆฌ ์ค๋ช ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ๊ทธ๋ ๊ธฐ์ SQL์ ์ ์ด๋ ํ ๋ฒ ๊ณต๋ถํด๋ณธ ์ฌ๋์ด ์ฝ์ผ๋ฉด ์ป๋ ๊ฒ์ด ๋ ๋ง์ ๊ฒ์ด๋ผ ์๊ฐํ๋ค.
SQL์ ์์ ํ ์ฒ์ ๊ณต๋ถํ์๋ ๋ ์๋ผ๋ฉด ๋ค๋ฅธ ์ฑ ๋ ๊ฐ์ด ์ฝ์ผ๋ฉด์ ๊ณต๋ถํ๋ ๊ฑธ ์ถ์ฒํ๊ณ , SQL์ ๊ณต๋ถํด๋ณธ ๋ ์๋ผ๋ฉด ์ด ์ฑ ์ ์ฝ๋๋ค์ ๊ฐ๋จํ๊ฒ ์ค์ตํด๋ณด๋ฉด์ ๋ณต์ตํ๋ ๋ฐฉํฅ์ผ๋ก ์ฝ์ผ์๋ฉด ๋์ ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค.