728x90 ์ค๋ผํด3 [DB] ์ ๊ทํ ์ค๋ณต์ ์ต์ํํ๊ธฐ์ํด์ ์ ๊ทํ๋ฅผ ํ๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ฅ ํฐ ๋ชฉ์ ์ ์ค๋ณต์ ์ ๊ฑฐํ๋ ๊ฒ์ด๋ค. ์? ์ค๋ณต์ด ์์ผ๋ฉด ์ด์ ํ์์ด ๋ฐ์ํ ์ ์๋ค. ๐ฒ ์ด์ ํ์ ( Anomaly ) ์ญ์ ์ด์: ์ฐ์์ ์ญ์ ๋ฌธ์ ๋ฐ์ ์ฝ์ ์ด์: NULL ๊ฐ ๋ฌธ์ ๋ฐ์ ์์ ์ด์: ๋ถ์ผ์น ๋ฌธ์ ๋ฐ์ ๐ฒ ํจ์ ์ข ์์ฑ( Functional Dependency ) ์ด๋ค ์์ฑ์ ๊ฐ์ ์๋ฉด ๋ค๋ฅธ ์์ฑ ๊ฐ์ด ์ ์ผํ๊ฒ ์ ํด์ง๋ ์์กด ๊ด๊ณ๋ฅผ ์ข ์ํ๋ค๊ณ ํ๋ค. ex. ํ์ ๋ฒํธ๋ฅผ ์๋ฉด ํ์์ด๋ฆ์ ์ ์ ์๋ค. ํ์ง๋ง ํ์๋ฒํธ๋ก ํ์์ด ์๊ฐํ๋ ๊ฐ์ข์ด๋ฆ์ ์ ์ผํ๊ฒ ์ ์๋ ์๋ค. (์ฌ๋ฌ๊ฐ๋ฅผ ์๊ฐํ ์ ๋ ์๊ธฐ๋๋ฌธ์) X ๊ฐ๊ฐ์ ๊ฐ์ด Y์ ๊ฐ ํ ๊ฐ์ ๋์์ด ๋๋ฉด ‘X๋ Y๋ฅผ ํจ์์ ์ผ๋ก ๊ฒฐ์ ํ๋ค’, X→Y๋ก ํ๊ธฐํ๋ค. X๊ฐ ๊ฒฐ์ ์์ด๋ค. * ํจ์ .. 2024. 1. 2. [DB] ๋ถ์ ์ง์(sub query) ์ฐ์ต๋ฌธ์ 1. ๋ง๋น์์ ์ ๊ณ ๊ฐ์ด ์๊ตฌํ๋ ๋ค์ ์ง๋ฌธ์ ๋ํด SQL ๋ฌธ์ ์์ฑํ์์ค. (5) ๋ฐ์ง์ฑ์ด ๊ตฌ๋งคํ ๋์์ ์ถํ์ฌ ์ (6) ๋ฐ์ง์ฑ์ด ๊ตฌ๋งคํ ๋์์ ์ด๋ฆ, ๊ฐ๊ฒฉ, ์ ๊ฐ์ ํ๋งค๊ฐ๊ฒฉ์ ์ฐจ์ด (7) ๋ฐ์ง์ฑ์ด ๊ตฌ๋งคํ์ง ์์ ๋์์ ์ด๋ฆ -- 5. SELECT PUBLISHER FROM BOOK WHERE BOOKID IN (SELECT BOOKID FROM ORDERS WHERE CUSTID=1); -- 6. SELECT CS.NAME, BK.BOOKNAME, BK.PRICE, BK.PRICE - OD.SALEPRICE "์ฐจ์ด" FROM CUSTOMER CS, ORDERS OD, BOOK BK WHERE CS.CUSTID = OD.CUSTID AND OD.BOOKID = BK.BOOKID AND CS.CUSTID.. 2023. 12. 29. [DB] DML ์ฐ์ต๋ฌธ์ ๐ ์ค๋ผํด๋ก ๋ฐฐ์ฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ก ๊ณผ ์ค์ต ์ฐ์ต๋ฌธ์ 1 ๋ง๋น์์ ์ ๊ณ ๊ฐ์ด ์๊ตฌํ๋ ๋ค์ ์ง๋ฌธ์ ๋ํด SQL ๋ฌธ์ ์์ฑํ์์ค. (1) ๋์๋ฒํธ๊ฐ 1์ธ ๋์์ ์ด๋ฆ (2) ๊ฐ๊ฒฉ์ด 20,000์ ์ด์์ธ ๋์์ ์ด๋ฆ (3) ๋ฐ์ง์ฑ์ ์ด ๊ตฌ๋งค์ก(๋ฐ์ง์ฑ์ ๊ณ ๊ฐ๋ฒํธ๋ 1๋ฒ์ผ๋ก ๋๊ณ ์์ฑ) (4) ๋ฐ์ง์ฑ์ด ๊ตฌ๋งคํ ๋์์ ์(๋ฐ์ง์ฑ์ ๊ณ ๊ฐ๋ฒํธ๋ 1๋ฒ์ผ๋ก ๋๊ณ ์์ฑ) SELECT BOOKNAME FROM BOOK WHERE BOOKID = 1; SELECT BOOKNAME FROM BOOK WHERE PRICE >= 20000; SELECT SUM(SALEPRICE) FROM ORDERS WHERE CUSTID = 1; SELECT COUNT(*) FROM ORDERS WHERE CUSTID =1; 2 ๋ง๋น์์ ์ ์ด์์.. 2023. 12. 28. ์ด์ 1 ๋ค์ 728x90