Certificate/SQLD (5) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ Part 3 - 03. SQL ๊ธฐ๋ณธ๊ณผ ํ์ฉ โก ์ตํฐ๋ง์ด์ (Optimizer) - SQL๋ฌธ์ ๋ํด์ ์คํ๊ณํ์ ์๋ฆฝ - ์ฌ๋ฌ ๊ฐ์ ์คํ ๊ณํ ์ค์์ ์ต์ ๋น์ฉ์ ๊ฐ์ง๊ณ ์๋ ๊ณํ์ ์ ํํด์ SQL ์คํ โก ์ตํฐ๋ง์ด์ ์์ง - Query Transformer: SQL๋ฌธ์ ํจ์จ์ ์ผ๋ก ์คํํ๊ธฐ ์ํด์ ์ตํฐ๋ง์ง์ด๊ฐ ๋ณํ / ๋ณํ๋๊ธฐ ์ ๊ณผ ๊ฒฐ๊ณผ๋ ๋์ผ - Estimator: ํต๊ณ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ฌ SQL ์คํ๋น์ฉ์ ๊ณ์ฐ - Plan Generator: SQL์ ์คํํ ์คํ ๊ณํ ์๋ฆฝ โก ์ธ๋ฑ์ค - ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ๊ฒ์ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณต โก ์ธ๋ฑ์ค ํธ๋ฆฌ ๊ตฌ์กฐ - Root, Branch, Double โก Nested Loop - Random Access๊ฐ ๊ฐ์ฅ ๋ง์ด ๋ฐ์ โก Sort Merge - SORT๊ฐ ๊ฐ์ฅ ๋ง์ด ๋ฐ์ โก High Water mark - .. Part 3 - 02. SQL ํ์ฉ โก EQUI ์กฐ์ธ - ๋ ๊ฐ์ ํ ์ด๋ธ ๊ฐ์ ์ผ์นํ๋ ๊ฒ์ ์กฐ์ธ - "="์ ๋น๊ต ์ฐ์ฐ์๋ฅผ ์ฌ์ฉ - ISO ํ์ค SQL๋ก INNER JOIN์ ์ฌ์ฉํด์ผ ํจ โก HASH JOIN - EQUI ์กฐ์ธ์์๋ง ๋ํ๋๋ ์คํ ๊ณํ โก OUTER JOIN - ๋ ๊ฐ์ ํ ์ด๋ธ ๊ฐ์ ๊ต์งํฉ์ ์กฐํํ๊ณ ํ์ชฝ ํ ์ด๋ธ์๋ง ์๋ ๋ฐ์ดํฐ๋ ํฌํจ์์ผ์ ์กฐํ - ์ผ์ชฝ ํ ์ด๋ธ์ ์๋ ํ๋ ํฌํจํ๋ฉด LEFT OUTER JOIN, ์ค๋ฅธ์ชฝ ํ ์ด๋ธ์ ์๋ ํ๋ ํฌํจํ๋ฉด RIGHT OUTER JOIN, ์์ชฝ ๋ชจ๋ ํฌํจ์ํค๋ฉด FULL OUTER JOIN์ด๋ผ ํจ โก CROSS JOIN - ์กฐ์ธ๊ตฌ๊ฐ ์์ด ์กฐ์ธ์ด ๋๋ฉฐ, ์นดํ ์์ ๊ณฑ์ด ๋ฐ์ํ์ฌ ๋ง์ ํ์ด ์กฐํ โก UNION - ๋ ๊ฐ์ ํ ์ด๋ธ์ ํ๋๋ก ํฉ์น๋ฉด์ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐ / ์ด ๊ณผ์ ์์ ์ ๋ ฌ.. Part 3 - 01. SQL ๊ธฐ๋ณธ โก ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์งํฉ ์ฐ์ฐ๊ณผ ๊ด๊ณ ์ฐ์ฐ ์งํฉ ์ฐ์ฐ - ํฉ์งํฉ: ๋ ๊ฐ์ ๋ฆด๋ ์ด์ ์ ํ๋๋ก ํฉ์นจ / ์ค๋ณต๋ ํ์ ํ ๋ฒ๋ง ์กฐํ - ์ฐจ์งํฉ: ๋ณธ๋ ๋ฆด๋ ์ด์ ์๋ ์กด์ฌํ๊ณ ๋ค๋ฅธ ๋ฆด๋ ์ด์ ์๋ ์กด์ฌ ํ์ง ์๋ ๊ฒ์ ์กฐํ - ๊ต์งํฉ: ๋ ๊ฐ์ ๋ฆด๋ ์ด์ ๊ฐ์ ๊ณตํต๋ ๊ฒ์ ์กฐํ - ๊ณฑ์งํฉ: ๊ฐ ๋ฆด๋ ์ด์ ์ ์กด์ฌํ๋ ๋ชจ๋ ๋ฐ์ดํฐ์ ์กฐํฉ ์ฐ์ฐ ๊ด๊ณ ์ฐ์ฐ - ์ ํ ์ฐ์ฐ: ์กฐ๊ฑด์ ๋ง๋ ํ๋ง ์กฐํ - ํฌ์ ์ฐ์ฐ: ์กฐ๊ฑด์ ๋ง๋ ์์ฑ๋ง์ ์กฐํ - ๊ฒฐํฉ ์ฐ์ฐ: ์ฌ๋ฌ ๋ฆด๋ ์ด์ ์ ๊ณตํต๋ ์์ฑ์ ์ฌ์ฉํ์ฌ ์๋ก์ด ๋ฆด๋ ์ด์ ์์ฑ - ๋๋๊ธฐ ์ฐ์ฐ: ๊ธฐ์ค ๋ฆด๋ ์ด์ ์ ๋๋๋ ๋ฆด๋ ์ด์ ์ด ๊ฐ์ง๊ณ ์๋ ์์ฑ๊ณผ ๋์ผํ ๊ฐ์ ๊ฐ์ง๋ ํ์ ์ถ์ถํ๊ณ ๋๋๋ ๋ฆด๋ ์ด์ ์ ์์ฑ์ ์ญ์ ํ ํ ์ค๋ณต๋ ํ์ ์ ๊ฑฐํ๋ ์ฐ์ฐ โก DDL(Data Definition La.. Part 2 - 02. ๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ ์ฑ๋ฅ โก ์ ๊ทํ - ์ 1์ ๊ทํ: ๊ธฐ๋ณธํค๋ฅผ ์ค์ / ์๋ณ์๋ฅผ ์ฐพ๋ ๊ณผ์ - ์ 2์ ๊ทํ: ๊ธฐ๋ณธํค๊ฐ 2๊ฐ ์ด์์ ์์ฑ์ผ๋ก ์ด๋ฃจ์ด์ง ๊ฒฝ์ฐ, ๋ถ๋ถ ํจ์ ์ข ์์ฑ์ ์ ๊ฑฐ(๋ถํด) - ์ 3์ ๊ทํ: ๊ธฐ๋ณธํค(์ฃผ์๋ณ์)๋ฅผ ์ ์ธํ ์นผ๋ผ ๊ฐ์ ์ข ์์ฑ ์ ๊ฑฐ / ์ดํ ํจ์ ์ข ์์ฑ ์ ๊ฑฐ - BCNF: ์ผ๋ฐ ์ปฌ๋ผ์ด ํ๋ณดํค๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒฝ์ฐ ๋ง์กฑํ์ง ์์ - ์ 4์ ๊ทํ: ๋ค์ค ๊ฐ ์ข ์์ฑ์ ์ ๊ฑฐ - ์ 5์ ๊ทํ: ์กฐ์ธ์ ์ํด์ ์ข ์์ฑ์ด ๋ฐ์๋๋ ๊ฒฝ์ฐ ๋ถํด โก ์ ๊ทํ์ ๋ฌธ์ ์ - ๋ฐ์ดํฐ ์กฐํ ์์ ์กฐ์ธ์ ์ ๋ฐํ๊ธฐ ๋๋ฌธ์ CPU์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด ์ฌ์ฉ - ์ค์ฒฉ๋ ๋ฃจํ โก ๋ฐ์ ๊ทํ - ๋ฐ์ดํฐ์ ์ค๋ณต์ ํ์ฉํ์ฌ ์ฑ๋ฅ์ ํฅ์ ์ํค๋ ๋ฐฉ๋ฒ - SELECT๋ฌธ์ ์คํ ์๋๊ฐ ๋๋ ค์ง ๊ฒฝ์ฐ, ์ง๊ณ ์ ๋ณด๊ฐ ์๊ตฌ๋๋ ๊ฒฝ์ฐ, ํน์ ๋ฒ์๋ฅผ ์์ฃผ ์กฐํํ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉ - ๋ฐ์ด.. Part 2 - 01. ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง โก ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ฃผ์ ํน์ง - ์ถ์ํ: ํ์ค์ธ๊ณ๋ฅผ ๊ฐ๋ตํ ํํ - ๋จ์ํ: ์ดํดํ๊ธฐ ์ฝ๋๋ก ํํ - ๋ช ํํ: ๋ช ํํ ์๋ฏธ ์ ๋ฌ โก ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ์ ์ฐจ 1. ๊ฐ๋ ์ ๋ชจ๋ธ๋ง: ์ ๋ฌด ์ธก๋ฉด์์ ๋ชจ๋ธ๋ง / ๊ธฐ์ ์ ์ฉ์ด ์ฌ์ฉ ์ง์ 2. ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง: ์๋ณ์ ๋์ถ ๋ฐ ํ์ํ ๋ฆด๋ ์ด์ ์ ์ / ์ ๊ทํ ์ํ 3. ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ๋ง: ํ ์ด๋ธ, ์ธ๋ฑ์ค, ํจ์ ๋ฑ ์์ฑ / ์ฑ๋ฅ, ๋ณด์, ๊ฐ์ฉ์ฑ ๋ฑ์ ๊ณ ๋ คํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์ถ โก ๋ฐ์ดํฐ ๋ชจ๋ธ์ 3๊ฐ์ง ๊ด์ - ๋ฐ์ดํฐ: ๋น์ฆ๋์ค ํ๋ก์ธ์ค์์ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ - ํ๋ก์ธ์ค: ๋น์ฆ๋์ค ํ๋ก์ธ์ค์์ ์ํ๋๋ ์์ - ๋ฐ์ดํฐ์ ํ๋ก์ธ์ค: ํ๋ก์ธ์ค์ ๋ฐ์ดํฐ ๊ฐ์ ๊ด๊ณ ์๋ฏธ โก ERD ์์ฑ ์ ์ฐจ 1. ์ํฐํฐ ๋์ถ ๋ฐ ๊ทธ๋ฆผ 2. ์ํฐํฐ ๋ฐฐ์น 3. ์ํฐํฐ ๊ฐ์ ๊ด๊ณ ์ค์ 4. ๊ด๊ณ ์์ 5... ์ด์ 1 ๋ค์