Category135 21 Index ์ธ๋ฑ์ค(Index)๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฒ์ ์๋๋ฅผ ํฅ์์ํค๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ก, ํน์ ์ด(๋๋ ์ฌ๋ฌ ์ด)์ ๋ํ ์ ๋ ฌ๋ ํค์ ํด๋น ํค๊ฐ ๊ฐ๋ฆฌํค๋ ์ค์ ๋ฐ์ดํฐ ๋ ์ฝ๋์ ์์น๋ฅผ ๋งคํํฉ๋๋ค. ์ธ๋ฑ์ค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฒ์ ์ฐ์ฐ ์๋๋ฅผ ํฅ์์ํค๊ณ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ์ต์ ํํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์ธ๋ฑ์ค์ ์ฃผ์ ํน์ง๊ณผ ์ญํ ๊ฒ์ ์๋ ํฅ์: ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ง์ ๊ฒ์ ์กฐ๊ฑด์ ๋ง๋ ๋ ์ฝ๋๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์์ต๋๋ค. ํนํ ๋๋์ ๋ฐ์ดํฐ๊ฐ ์๋ ํ ์ด๋ธ์์ ํน์ ์กฐ๊ฑด์ ๋ฐ๋ฅธ ๊ฒ์์ ์ํํ ๋ ์ ์ฉํฉ๋๋ค. ์ ๋ ฌ ๋ฐ ์ ์ผ์ฑ ์ ์ง: ์ธ๋ฑ์ค๋ ํน์ ์ด์ ๋ํด ์ ๋ ฌ๋ ์์๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์งํ๋ฉฐ, ํ์์ ๋ฐ๋ผ ํด๋น ์ด์ ๊ฐ์ด ์ ์ผํ๋๋ก ์ ์งํ ์ ์์ต๋๋ค. ์ด๋ ์ฃผ๋ก ๊ธฐ๋ณธ ํค๋ ๊ณ ์ ์ ์ฝ ์กฐ๊ฑด์ ์ฌ์ฉ๋ฉ๋๋ค. ์กฐ์ธ.. 2024. 1. 17. 20 Normalization Normalization์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์์ ์ค๋ณต์ ์ต์ํํ๊ณ ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ์ ์งํ๊ธฐ ์ํ ํ๋ก์ธ์ค์ ๋๋ค. ์ด๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ ํ ํ ์ด๋ธ์ ๋ถ์ฐ์์ผ ์ค๋ณต์ ๋ฐฉ์งํ๊ณ , ๋ฐ์ดํฐ ๊ฐ์ ์ข ์์ฑ์ ๊ด๋ฆฌํ์ฌ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ๊ณผ ํจ์จ์ฑ์ ํฅ์์ํต๋๋ค. FD์ KEY๋ง์ผ๋ก ์ ์๋๋ Normal Forms 3NF๊น์ง ๋๋ฌํ๋ฉด ์ ๊ทํ๋์๋ค๊ณ ๋งํ ์ ์๋ค ๋ณดํต ์ค๋ฌด์์๋ 3NF ํน์ BCNF๊น์ง๋ง ์งํ ์ ๊ทํ์ ๋ค์ด๊ฐ๊ธฐ ์ ์ ์์๋ณผ ์ฌ๋ฌ๊ฐ์ง Key Super Key (์ํผํค): ์ํผํค๋ ๋ฆด๋ ์ด์ ์์ ํํ๋ค์ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ์์ฑ(๋๋ ์์ฑ์ ์งํฉ)์ ์กฐํฉ Candidate Key (ํ๋ณด ํค): ํ๋ณด ํค๋ ์ํผ ํค์ด๋ฉด์๋ ๋ ๊ฐ์ attributes๊ฐ ์ํผํค๋ก ํ์ฝํ ๋ (ํ๋๊ฐ ์์ผ๋ฉด ์ ๋จ) Primary K.. 2024. 1. 16. 12 Trigger SQL์์ Trigger(ํธ๋ฆฌ๊ฑฐ)๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํน์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ ์๋์ผ๋ก ์คํ๋๋ ์ผ๋ จ์ SQL ๋ฌธ์ ํฌํจํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด์ ๋๋ค. ์ด ์ด๋ฒคํธ๋ ํน์ ํ ์ด๋ธ์ ๋ํ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์์ (INSERT, UPDATE, DELETE ๋ฑ)๋ค์ด ๋ํ์ ์ธ ์์์ ๋๋ค. BEFORE Trigger ํน์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๊ธฐ ์ ์ ์คํ๋๋ Trigger๋ก, ์ฃผ๋ก ๋ฐ์ดํฐ์ ์ ํจ์ฑ์ ๊ฒ์ฌํ๊ฑฐ๋ ๋ณ๊ฒฝ ์ ์ ์ถ๊ฐ ์์ ์ ์ํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. DELIMITER $$๋ ์ธ๋ฏธ์ฝ๋ก ๋์ $$๋ก ๊ตฌ๋ฌธ ๋ถ๋ฆฌ์๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ํธ๋ฆฌ๊ฑฐ์ ๋ณธ๋ฌธ์ ์ฌ๋ฌ SQL ๋ฌธ์ ํฌํจํ ์ ์๊ธฐ ๋๋ฌธ์ ์ด๋ ๊ฒ ๊ตฌ๋ฌธ ๋ถ๋ฆฌ์๋ฅผ ๋ณ๊ฒฝํด์ฃผ๋ ๊ฒ์ด ํ์ํฉ๋๋ค. CREATE TRIGGER ๋ฌธ์ ํธ๋ฆฌ๊ฑฐ๋ฅผ ์์ฑํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. BEFORE UPD.. 2024. 1. 13. 9 ORDER BY, GROUP BY (feat. HAVING) 1) ORDER BY ์กฐํ ๊ฒฐ๊ณผ๋ฅผ ํน์ ์์ฑ(attribute)์ผ๋ก ์ ๋ ฌํ์ฌ ํ์ 2) Aggregate Function ์ฌ๋ฌ tuple๋ค์ ์ ๋ณด๋ฅผ ์์ฝํด์ ํ๋์ ๊ฐ์ผ๋ก ์ถ์ถํ๋ ํจ์ (NULL๊ฐ์ ์ ์ธ) 3) GROUP BY ๊ด์ฌ์๋ attribute(์์ฑ)๋ค์ ๊ธฐ์ค์ผ๋ก ๊ทธ๋ฃน์ ๋๋ ์ ํ์ Grouping attribute : ๊ทธ๋ฃน์ ๋๋๋ ๊ธฐ์ค์ด ๋๋ ์์ฑ Group by๋ Aggregate Function๊ณผ ๊ฐ์ด ์์ฃผ ์ฐ์ธ๋ค NULL๊ฐ์ NULL๊ฐ๋ผ๋ฆฌ ๋ฌถ์ธ๋ค SELECT Country, City, CONCAT_WS(', ', City, Country) FROM Customers GROUP BY Country, City; SELECT COUNT(*), OrderDate FROM Orders **GR.. 2024. 1. 12. 8 JOIN SQL JOIN์ ํ๋ ์ด์์ ํ ์ด๋ธ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฒฐํฉํ๋ ๋ฐ ์ฌ์ฉ๋๋ SQL ๋ช ๋ น๋ฌธ์ ๋๋ค. ์ด๋ฅผ ํตํด ๊ด๋ จ๋ ์ ๋ณด๊ฐ ์ฌ๋ฌ ํ ์ด๋ธ์ ๋ถ์ฐ๋์ด ์๋ ๊ฒฝ์ฐ์๋ ๋ฐ์ดํฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ฒ์ํ ์ ์์ต๋๋ค. Implicit join from์ ์๋ ํ ์ด๋ธ๋ค๋ง ๋์ดํ๊ณ where ์ ์์ ๋ ํ ์ด๋ธ์ ์์ฑ์ JOINํ ์กฐ๊ฑด์ ๋ช ์ํ๋ ๋ฐฉ์์ผ๋ก ์ค๋๋ ์คํ์ผ์ ๋ช ๋ น์ด์ด๋ค. ๋ณต์กํ Join ์ฟผ๋ฆฌ๋ค์ ์์ฑํ๋ค๋ณด๋ฉด ์๋ชป๋ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ๊ฐ๋ฅ์ฑ์ด ํฌ๋ค. Explicit join implicit join ๋ฐฉ์์ ๋๋ฌด ํท๊ฐ๋ฆฌ๊ธฐ ์ฝ๋ค. ์ฐจ๋ผ๋ฆฌ FROM ์ ์ JOIN, ON ํค์๋๋ฅผ ๋ช ์ํ๋ ๋ฐฉ์ 1. INNER JOIN ๋ ํ ์ด๋ธ ๊ฐ์ join condition์ ๋ง์กฑํ๋ tuple๋ก ์ด๋ฃจ์ด์ง ํ ์ด๋ธ (+ ์กฐ๊ฑด์ ๋ง๋ ํํ์ ๊ธฐ์ค์ผ๋ก.. 2024. 1. 12. 7 READ (Feat. Subquery) ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์์ ์ํ๋ ๋๋ก ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ธฐ(READ) ์ํด์๋ SQL์ SELECT Statement๊ฐ ํ์ํฉ๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ Select๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ค์ํ ๊ธฐ๋ฅ๋ค์ ์์๋ณด๊ฒ ์ต๋๋ค. 1. ๊ธฐ๋ณธ์ ์ธ SELECT ๊ธฐ๋ฅ 2. ์ ํ์ ์ธ ์กฐ๊ฑด์ ๊ฐ์ง SELECT ๊ธฐ๋ฅ 3. ์๋ธ์ฟผ๋ฆฌ (Subquery) ID๊ฐ 5์ธ ์์ง์๊ณผ ๊ฐ์ ํ๋ก์ ํธ์ ์ฐธ์ฌํ ์์ง์๋ค์ ID๋? 2. ID๊ฐ 7 ํน์ 12์ธ ์์ง์์ด ์ฐธ์ฌํ ํ๋ก์ ํธ์ ID์ ์ด๋ฆ์ ์๊ณ ์ถ๋ค 3. ์ ํ์ ๊ฐ๊ฒฉ์ด 50๋ถ์ด ๋๋ ์ด๋ค ์ ํ์ด๋ผ๋ ์๋ค๋ฉด ๊ทธ ์ ํ์ ID, ์ด๋ฆ, ์ค๋ช ์ ๋ณด๊ณ ์ถ์ด 4. ์ ํ id๊ฐ 2์ธ ๊ฐ๊ฒฉ๋ณด๋ค ๋์ ๊ฐ๊ฒฉ์ ์ ํ๋ค์ ๋ชจ๋ ๊ฐ์ ธ ์๋ผ P.S) NULL์ ๋ํด์ NULL ๊ฐ์ ์ธ ๊ฐ์ง ๋ ผ๋ฆฌ ์ํ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด๋ฅผ th.. 2024. 1. 11. 6 Create(Insert), Update, Delete SQL ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ, ์์ , ์ญ์ ํ๋ ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค. SQL ์ฟผ๋ฆฌ ํ์ค์ ์ค์ ์ผ๋ก ๋ฐฐ์ธ ๊ฒ์ด์ง๋ง RDBMS๋ง๋ค ์กฐ๊ธ์ฉ ๊ท์น์ด ๋ค๋ฅธ ์ ์ ์ ์ํ์๊ธธ ๋ฐ๋๋๋ค. CREATE 1) ๋ฐ์ดํฐ๋ฒ ์ด์ค, ํ ์ด๋ธ ์์ฑ(CREATE) ๋ฐ ํ์ธ 2) ๋ฐ์ดํฐ ์ถ๊ฐ (INSERT) UPDATE 1) ์ ๋ ฅ๋ ๊ฐ(VALUE) ์์ 2) ์ ๋ ฅ๋ ์์ฑ(Attribute) ์์ ALTER ๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์คํค๋ง๋ฅผ ๋ณ๊ฒฝํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์คํค๋ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ฉฐ, ํ ์ด๋ธ, ์ด, ์ ์ฝ ์กฐ๊ฑด ๋ฑ์ ํฌํจํฉ๋๋ค. ์ด๋ฏธ ์๋น์ค ์ค์ธ ํ ์ด๋ธ์ ์คํค๋ง๋ฅผ ALTER๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๊ฒฝํ ๋, ์๋น์ค์ ๋ฐฑ์๋ ๊ธฐ๋ฅ์ ์ฌ๊ฐํ ์น๋ช ํ๋ฅผ ๊ฐํ ๊ฐ๋ฅ์ฑ์ด ์๊ธฐ ๋๋ฌธ์ ์คํค๋ง ๋ณ๊ฒฝ ์์ ์์๋ ์ถฉ๋ถํ ๊ฒํ ํ์ ์ฌ์ฉ.. 2024. 1. 11. Hadean Eon (๋ช ์ ๋๋) ์ง๊ตฌ์ ์ญ์ฌ๋ ์ง์ง ์๋๋ก ํฌ๊ฒ ๋๋์ด์ ธ ์์ต๋๋ค. ์ง์ง ์๋๋ ์ง๊ตฌ์ ์ง์งํ์ , ๊ธฐํํ์ , ์๋ฌผํ์ ๋ณํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์๊ฐ ๋จ์์ ๋๋ค. ๊ฐ ์ง์ง ์๋๋ ํน์ ํ ์ง์ง์ฌ๊ฑด์ด๋ ์๋ฌผ ์งํ์ ์ค์ํ ๋จ๊ณ๋ฅผ ๋ํ๋ด๊ณ ์์ต๋๋ค. ์ง๊ตฌ๊ฐ ํ์ฑ๋ 46์ต ๋ ์ ๋ถํฐ 38์ต ๋ ์ ์ ์๊ธฐ๋ฅผ ๋ช ์ ๋๋(Hadean Eon)๋ผ ํฉ๋๋ค. '๋ช ์๋๋'๋ ๊ทธ๋ฆฌ์ค ์ ํ์ ๋์ค๋ ์งํ์ธ๊ณ์ ์ ์ธ "Hades"์์ ์ ๋๋ ์์ด ๋จ์ด "Hadean"์ ์ง์ญ์ ๋๋ค. "Hadean"์ด๋ผ๋ ์ฉ์ด๋ ๊ทธ๋ฆฌ์ค ์ ํ์ ์งํ์ ์ธ Hades(ํ๋ฐ์ค)์ ๊ด๋ จ์ด ์์ด์, ๋น์ ์ง๊ตฌ์ ์ํ๋ฅผ ๋ง์น ์ง์ฅ๊ณผ ๊ฐ์ด ํน๋ ํ๊ณ ๊ดด๋ก์ด ์ํ๋ก ๋ฌ์ฌํ๋ ๋ฐ ์ฌ์ฉ๋์์ต๋๋ค. ์ด ์๊ธฐ๋ ์ง๊ตฌ์ ์ด๊ธฐ ํ์ฑ ๋จ๊ณ๋ก, ์ง๊ตฌ๊ฐ ์์ง ์์ ํ ์์ ํ๋์ง ์์๊ณ ๊ทน๋๋ก ํญํ์ฐ, ์ฉ์ .. 2024. 1. 8. Solar System ์๋ ์์ , ์ฐ์ฃผ๋ ์ด๋ ์ผ๋ก ๊ฐ๋ ์ฐจ ์์์ต๋๋ค. ๊ทธ ์ด๋ ์ ๋ฐํ๊ธฐ ์ํด ์ฑ์ญ๋ ๋ณ๋ค์ด ํ์ํ๊ณ ์๋ฆฌ์์ด ์ถ์ ๋ฅผ ์์ํ์ต๋๋ค. ๊ทธ ์ถ์ ์์ ํ์๊ณ์ ์ด์ผ๊ธฐ๊ฐ ์์๋์์ต๋๋ค. ํ์๊ณ์ ํ์ฑ์ ์ฝ 46์ต ๋ ์ ์ ์ผ์ด๋ฌ์ผ๋ฉฐ, ๋ณต์กํ๊ณ ํฅ๋ฏธ๋ก์ด ๊ณผ์ ์ ๊ฑฐ์ณค์ต๋๋ค. ์จ๊ธฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ ๋ณ๋ค์ ๊ฑฐ๋ํ ๊ตฌ๋ฆ๊ณผ ๋จผ์ง์ ๋ฌด๋ฆฌ๋ฅผ ๋ง๋ค์ด ๋์ต๋๋ค. ์ด ๋ฌด๋ฆฌ๋ ์๋ก์ ๋ฌด๊ฒ์ ์ค๋ ฅ์ ์ํด ์์ํ ์์ถ๋๊ธฐ ์์ํ์ต๋๋ค. ์์ถ๋ ๋จผ์ง์ ๋ฌด๋ฆฌ๋ ์ค๋ ฅ์ ์ถค๊ณผ ํจ๊ป ํ์ ํ๊ธฐ ์์ํ์ต๋๋ค. ๋ง์น ์ฐ์ฃผ์ ์ถ์ ์์ ์ถค์ถ๋ฏ, ๊ฐ๊ฐ์ ๋จผ์ง ์ ์๋ ์๋ก๋ฅผ ๋์ด๋น๊ธฐ๋ฉฐ ๋ฌด๋ฆฌ๋ฅผ ํ์ฑํ์ต๋๋ค. ๊ทธ ์ค์ฌ์์ ๊ฐ์ฅ ๋ง์ ๋จผ์ง์ ๊ฐ์ค๊ฐ ๋ชจ์ฌ๋ค์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ๋น๋๋ ํ์์ด ๋์์ต๋๋ค. ๋ณ๋ค์ ์ถ์ ์์ ๊ฐ์ฅ ๋๋ถ์๊ฒ ๋น๋๋ ๋ณ์ด ๋์ด, ํ์์ ํ์ํ์ต.. 2024. 1. 8. ์ด์ 1 ยทยทยท 4 5 6 7 8 9 10 ยทยทยท 15 ๋ค์