์กฐ์ธ ์ด๋ (Join) ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์ ์ฌ๋ฌ ํ
์ด๋ธ์์ ๊ฐ์ ธ์จ ๋ ์ฝ๋๋ฅผ ์กฐํฉํ์ฌ ํ๋์ ํ
์ด๋ธ์ด๋ ๊ฒฐ๊ณผ ์งํฉ์ผ๋ก ํํํ๋ ๊ฒ์ Join ์ด๋ผ๊ณ ํ๋ค.์ด๋ฌํ JOIN์ ๋ณดํต SELECT๋ฌธ๊ณผ ํจ๊ป ์์ฃผ ์ฌ์ฉ๋๋ฉฐ ํ์ค SQL์์๋ ๋ ์ฝ๋๋ฅผ ์กฐํฉํ๋ ๋ฐฉ์์ ๋ฐ๋ผ JOIN์ INNER JOIN, LEFT JOIN, RIGHT JOIN ์ผ๋ก ๊ตฌ๋ถํ๋ค. ๊ธฐ๋ณธ ์๋ฆฌJoin์ ๊ธฐ๋ณธ ์๋ฆฌ๋ N ๊ฐ์ ํ
์ด๋ธ์ ์นดํ
์์ ๊ณฑ (Cartesian Product)์ผ๋ก ํ
์ด๋ธ์ ์กฐํฉํ๋ค๋ ๊ฒ์ ์๋ค. ์กฐ์ธ์ ํตํ์ฌ ํ์ํ ์ ๋ณด๋ฅผ ์กฐํํ๊ณ ์ ํ ๋๋ ์กฐ์ธ ์กฐ๊ฑด์ ๋ช
์ํด์ค์ผ ํ๋๋ฐ ์ผ๋ฐ์ ์ผ๋ก ๊ฐ๊ฐ์ ํ
์ด๋ธ์ PK๋ FK์ ๊ด๊ณ๋ฅผ ์ด์ฉํ๊ฑฐ๋ ์ด ๊ฐ์ ํน์ ํ ๊ท์น์ ํตํด์ ๋ช
์ํ๋ค. ์๋ฅผ ๋ค์ด, N๊ฐ์ ํ
์ด๋ธ์ ์กฐ์ธํ ๋์๋ ์ต์ (N-..
๐จ๐ป Back End
์๋ธ์ฟผ๋ฆฌ (SubQuery)SQL ๋ฌธ์ฅ (SQL Statement) ์์์ ๋ณด์กฐ๋ก ์ฌ์ฉ๋๋ ๋ ๋ค๋ฅธ SELECT๋ฌธ์ ์๋ฏธํ๋ฉฐ, ์๋ฅผ ๋ค์ด ์ต์ข
๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ์ฟผ๋ฆฌ๋ฅผ ๋ฉ์ธ ์ฟผ๋ฆฌ๋ผ๊ณ ํ๋ค๋ฉด ์ด๋ฅผ ์ํ ์ค๊ฐ ๋จ๊ณ ํน์ ๋ณด์กฐ ์ญํ ์ ํ๋ SELECT๋ฌธ์ ์๋ธ์ฟผ๋ฆฌ๋ผ ํ๋ ๊ฒ์ด๋ค. ์ฆ, ํ๋์ SQL๋ฌธ์ ๊ธฐ์ค์ผ๋ก ๋ฉ์ธ ์ฟผ๋ฆฌ๋ฅผ ์ ์ธํ ๋๋จธ์ง ๋ชจ๋ SELECT๋ฌธ์ ์๋ธ์ฟผ๋ฆฌ๋ก ๋ณด๋ฉด ๋๋ฉฐ, ์๋ธ์ฟผ๋ฆฌ๋ ์ฌ๋ฌ ๊ฐ๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ๋๋ณด๊ธฐโ
[์ฐธ๊ณ ] ํ
์ด๋ธ ์ฐธ์กฐ์กฐ์ธ (Join)์ ์กฐ์ธ์ ์ฐธ์ฌํ๋ ๋ชจ๋ ํ
์ด๋ธ์ด ๋๋ฑํ ๊ด๊ณ์ ์๊ธฐ ๋๋ฌธ์ ์กฐ์ธ์ ์ฐธ์ฌํ๋ ๋ชจ๋ ํ
์ด๋ธ์ ์ปฌ๋ผ์ ์ด๋ ์์น์์๋ผ๋ ์์ ๋กญ๊ฒ ์ฌ์ฉํ ์ ์์ผ๋ ์๋ธ์ฟผ๋ฆฌ๋ ๋ฉ์ธ์ฟผ๋ฆฌ๊ฐ ์๋ธ ์ฟผ๋ฆฌ๋ฅผ ํฌํจํ๋ ์ข
์์ ์ธ ๊ด๊ณ๋ก ์๋ธ์ฟผ๋ฆฌ๋ ๋ฉ์ธ ์ฟผ๋ฆฌ์ ์ปฌ๋ผ์ ๋ชจ๋ ์ฌ์ฉํ ์ ..
SELECT๋ฌธ ๊ตฌ์กฐSELECT [DISTINCT] ํ๋ ์ด๋ฆFROM ํ
์ด๋ธ ์ด๋ฆWHERE ์กฐ๊ฑดGROUP BY ํ๋ ์ด๋ฆ [ํํ์]HAVING ์กฐ๊ฑดORDER BY ํ๋ ์ด๋ฆ ASC[DESC]LIMIT ๋ณด์ฌ์ค ๋ฐ์ดํฐ ๊ฐฏ์OFFSET ๊ฑด๋๋ธ ๊ฐฏ์ SELECT๋ฌธ ์คํ ์์โ FROM- SELECT ๋ฌธ์ ํ์ํ ํ
์ด๋ธ ์ ํโก WHERE- WHERE ์กฐ๊ฑด์ ์ ์ด์ฉํ์ฌ ํ(row) ๋ฐ์ดํฐ ํํฐ๋ง (๊ทธ๋ฃนํจ์ ์ฌ์ฉ ๋ถ๊ฐ๋ฅ!! HAVING ๊ตฌ๋ฌธ์์๋ง)โข GROUP BY - GROUP BY ์ ์ ์ด์ฉํ์ฌ ํน์ ์ปฌ๋ผ์ ๊ทธ๋ฃนํ๋ฅผ ์ํโฃ HAVING- HAVING ์ ์ ์ด์ฉํ์ฌ ๊ทธ๋ฃนํ๋ ๊ฒฐ๊ณผ์ ๋ํ ์กฐ๊ฑด ํํฐ๋งโค SELECT- SELECT ์ ์์ ์ฌ์ฉํ ์ปฌ๋ผ ์ ํโฅ ORDER BY- ORDER BY ์ ์ ์ด์ฉํ์ฌ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ์ ..
Entity-Relationship Digagram (E-R Model)๊ฐ์ฒด-๊ด๊ณ ๋ชจ๋ธ (Entity-Relationship Modeling, E-R Modeling)์ ์ธ์์ ์ฌ๋ฌผ์ ๊ฐ์ฒด (Entity)์ ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ (Relationship)๋ก ํํํ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๋ฐฉ์์ผ๋ก ๊ฐ๋
์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๋จ๊ณ์์ ์ฌ์ฉ๋ฉ๋๋ค.ํ๋ง๋๋ก ๋ฆด๋ ์ด์
๊ฐ์ ๊ด๊ณ๋ค์ ์ ์ํ๋ ๊ฒ์ด๋ฉฐ Entity (๊ฐ์ฒด)์ Relationship (๊ด๊ณ)๋ฅผ ์ค์ ์ ์ผ๋ก ํ์ํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ๋ฅผ ํ ๋์ ์์๋ณด๊ธฐ ์ํด ๊ทธ๋ ค๋๋ ๋ค์ด์ด๊ทธ๋จ์
๋๋ค. ๊ฐ์ฒด ๊ด๊ณ๋๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ฉฐ ์ฝ๊ฒ ๋งํด, ์๊ตฌ๋ถ์ ์ฌํญ์์ ์ป์ ์ํฐํฐ์ ์์ฑ๋ค์ ๊ด๊ณ๋ฅผ ๊ทธ๋ฆผ์ผ๋ก ํํํ ๊ฒ์
๋๋ค. ERD ๊ตฌ์ฑ ์์ Entity์ํฐํฐ๋ ์ ์ ๊ฐ๋ฅํ ์ฌ๋ฌผ ๋๋ ๊ฐ๋
์ ์๋ฏธํ๋ค.์ฌ..
๋ฐ์ดํฐ ๋ชจ๋ธ์ด๋๋ณต์กํ ์ค์ธ๊ณ๋ฅผ ๋จ์ํํ์ฌ ์ค์ธ๊ณ์ ์กด์ฌํ๋ ๊ฐ์ฒด๋ค์ ์๋ณํ์ฌ ์ด๋ค ๊ฐ์ฒด์ ๊ฐ์ฒด ์ฌ์ด์ ๊ด๊ณ๋ฅผ ์ ์ํจ์ผ๋ก์จ ์ปดํจํฐ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ถ์ํ๋ ๊ฐ๋
์ผ๋ก ์ดํดํ๊ธฐ ์ฝ๊ฒ ํ ๋ฟ๋ง ์๋๋ผ ์ฌ์ฉ์๋ค ์ฌ์ด์ ์์ฌ์ํต์ ์ํํ ํ ์ ์๋๋ก ๋์์ฃผ๋ ๋๊ตฌ์ด๋ค.๋ชจ๋ธ์ ์ค๊ณ์ ๊ธฐ๋ฐ์ผ๋ก ์๋ฅผ ๋ค์ด, ์์ง๋์ด๋ ์๋์ฐจ๋ฅผ ์ ํํํ๊ธฐ ์ ์ ๋ชจ๋ธ์ ์์ฑํ์ฌ ์ธ๋ถ์ฌํญ๋ค์ ํ์ธํ๋ฉฐ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์์คํ
์ค๊ณ์๋ ๋ชจ๋ธ์ ๊ฐ๋ฐํ์ฌ ์์ด๋์ด๋ฅผ ์ ๊ฒํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ๋ํ ์ดํด๋ฅผ ๋ํ ์ ์๋ค. ์ฆ, ๋ฐ์ดํฐ ๋ชจ๋ธ์ ํ์ค ์ธ๊ณ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ํํํ๋ ์ค๊ฐ ๊ณผ์ ์ผ๋ก์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ๊ณผ์ ์์ ์ปดํจํฐ์ ์ ์ฅํ ๋ฐ์ดํฐ์ ๊ตฌ์กฐ๋ฅผ ๋
ผ๋ฆฌ์ ์ผ๋ก ํํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋๊ตฌ๋ผ๊ณ ๋ณผ ์ ์๋ค. ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๊ฐ๋
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ด๋ ์ ๋ณด..
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฐ์ดํฐ๋ฒ ์ด์ค (DB, DataBase)๋ ์ผ์ ํ ๊ท์น, ํน์ ๊ท์ฝ์ ํตํด ๊ตฌ์กฐํ๋์ด ์ ์ฅ๋๋ ๋ฐ์ดํฐ์ ๋ชจ์์
๋๋ค.ํด๋น ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ด, ๊ด๋ฆฌํ๋ ํตํฉ ์์คํ
์ DBMS (DataBase Management System)์ด๋ผ๊ณ ํ๋ฉฐ, ๋ฐ์ดํฐ ๋ฒ ์ด์ค ์์ ์๋ ๋ฐ์ดํฐ๋ค์ ํน์ DBMS๋ง๋ค ์ ์๋ ์ฟผ๋ฆฌ ์ธ์ด(Query Language)๋ฅผ ํตํด ์ฝ์
, ์ญ์ , ์์ , ์กฐํ ๋ฑ์ ์ํํ ์ ์์ต๋๋ค. ๋ํ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ค์๊ฐ ์ ๊ทผ๊ณผ ๋์ ๊ณต์ ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. โ
[์ฐธ๊ณ ] DBMS ์์คํ
๊ตฌ์ฑ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ด๊ณํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์
๋๋ค.๋ชจ๋ ๋ฐ์ดํฐ๋ค์ ํ
์ด๋ธ๊ณผ ๊ฐ์ ํํ๋ก ๋ํ๋ด์ด ์ ์ฅํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ฉฐ ํํ, ์ผ์ ์ํ์์ ๋ฐ..