๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ51 DB] ์ ์ฝ ์กฐ๊ฑด(constraint) 2 - ์ฐธ์กฐ ์ ์ฝ ์กฐ๊ฑด / ์ฐ๊ณ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ ์กฐ๊ฑด / ์ ๋ํฌ ์ ์ฝ ์กฐ๊ฑด / ์ฒดํฌ ์ ์ฝ ์กฐ๊ฑด ์ ์ฝ ์กฐ๊ฑด์ ํ ์ด๋ธ์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฝํ๋ ํน์ ๊ท์น์ผ๋ก ์ปฌ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ ๊ฒฝ์ฐ ํน์ ํ ์กฐ๊ฑด์ ๋ง์กฑ์์ผ์ผ ํ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ค. ์ฆ, ์ง์ ๋ ์กฐ๊ฑด์ ๋ง์ง์์ผ๋ฉด ๋ฐ์ดํฐ ์ ๋ ฅ์ด ์๋๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ์ ์ ํ์ฑ์ด ์ ์ง๋๋ค. ๊ธฐ๋ณธ ํค ์ ์ฝ ์กฐ๊ฑด ( PK ) - primary key NOT NULL ์ฐธ์กฐ ์ ์ฝ ์กฐ๊ฑด (์ธ๋ํค, ์ฐธ์กฐํค , FK) - foreign key references ์ฐ๊ณ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ ์กฐ๊ฑด - on delete cascade ์ ๋ํฌ ์ ์ฝ ์กฐ๊ฑด ( ์ ๋ํฌ ํค, ํ๋ณด ํค) - unique ์ฒดํฌ ์ ์ฝ ์กฐ๊ฑด - check 1. ์ฐธ์กฐ ์ ์ฝ ์กฐ๊ฑด - ์ธ๋ ํค, ์ฐธ์กฐ ํค ๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค. FOREIGN KEY (FK) - ์ธ๋ ํค๋ก ์ฐ๊ฒฐ๋์ด ์์ผ๋ฉด ๋ถ๋ชจ - ์์ ๊ด๊ณ๊ฐ ๋๋ค. - ๋ฐ๋ผ์ ๋ถ๋ชจ ํ ์ด.. 2022. 5. 6. DB] ํธ๋์ ์ (TRANSACTION) Transaction database ์์ ์ฌ์ฉ๋๋ ์ชผ๊ฐค ์ ์๋ ์ ๋ฌด ์ฒ๋ฆฌ์ ๋จ์. ALL or Nothing, ์์ ๋ด๋ถ์ ๊ณผ์ ์ด ํ๋๋ผ๋ ์๋ชป๋๋ฉด ๋ชจ๋ ์ทจ์๋์ด์ผ ํ๋ค. ์์) 5000๋ง์์ ์ก๊ธํ๋ ๊ณผ์ ์ '5000๋ง์์ A์ ๊ณ์ข์์ ์ถ๊ธ'ํ๊ณ 'B์ ๊ณ์ข์ ์ ๊ธ'ํ๋ 2๋ฒ์ ๊ณผ์ ์ผ๋ก ๋๋ ์ ธ์๋ค. ๋ง์ฝ 5000๋ง์์ด 'A์ ๊ณ์ข์์ ์ถ๊ธ'ํ๋ ๊ฒ ๊น์ง ์ฑ๊ณตํ์ผ๋ 'B์ ๊ณ์ข์ ์ ๊ธ'ํ๋ ๊ฒ์ ์คํจํ๊ฒ ๋๋ฉด ๊ทธ 5000๋ง์์ ์ด๋๋ก ๊ฐ๋์ง ์ ์ ์๊ฒ ๋๋ค. ๋ฐ๋ผ์ 5000๋ง์์ 'A์๊ฒ์ ์ถ๊ธ'ํ๋ ๊ฒ๊ณผ 'B์๊ฒ ์ ๊ธ'ํ๋ ๊ฒ์ ํธ๋์ ์ ์ผ๋ก ๋ฌถ์ด ํ ๋ฒ์ ์ฒ๋ฆฌํด์ผ ์์ ํ๋ค. ์ด ๋ ์ฌ์ฉ๋๋ ๊ฒ์ด rollback ๊ณผ commit ์ด๋ค. ์ ๊ธ ์คํจ ํ๋ฉด ์ถ๊ธ๊น์ง rollback, ์ถ๊ธ๊ณผ ์ ๊ธ ๋ชจ๋ .. 2022. 5. 2. DB] ์ ์ฝ ์กฐ๊ฑด(constraint) 1 - ๊ธฐ๋ณธ ํค ์ ์ฝ ์กฐ๊ฑด / NOT NULL ์ ์ฝ ์กฐ๊ฑด์ ํ ์ด๋ธ์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฝํ๋ ํน์ ๊ท์น์ผ๋ก ์ปฌ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ ๊ฒฝ์ฐ ํน์ ํ ์กฐ๊ฑด์ ๋ง์กฑ์์ผ์ผ ํ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ค. ์ฆ, ์ง์ ๋ ์กฐ๊ฑด์ ๋ง์ง์์ผ๋ฉด ๋ฐ์ดํฐ ์ ๋ ฅ์ด ์๋๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ์ ์ ํ์ฑ์ด ์ ์ง๋๋ค. ๊ธฐ๋ณธ ํค ์ ์ฝ ์กฐ๊ฑด ( PK ) - primary key NOT NULL ์ฐธ์กฐ ์ ์ฝ ์กฐ๊ฑด (์ธ๋ํค, ์ฐธ์กฐํค , FK) - foreign key references ์ฐ๊ณ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ ์กฐ๊ฑด - on delete cascade ์ ๋ํฌ ์ ์ฝ ์กฐ๊ฑด ( ์ ๋ํฌ ํค, ํ๋ณด ํค) - unique ์ฒดํฌ ์ ์ฝ ์กฐ๊ฑด - check 1. ๊ธฐ๋ณธ ํค ์ ์ฝ ์กฐ๊ฑด (Primary Key, PK) - ํ ์ด๋ธ ๋น 1๊ฐ๋ง ์กด์ฌ - ์ค๋ณต ํ์ฉ ์ํจ, NULL ํ์ฉ ์ํจ - ํ ๊ฐ์ ์ปฌ๋ผ์ ์ง์ ํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด์ง๋ง.. 2022. 4. 28. DB] DML 2 - SELECT DML (Data Manipulation Language) ๋ฐ์ดํฐ ์กฐ์์ด : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ์ ๋ค์ด์๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ / ์์ / ์ญ์ / ์กฐํ ํ๋ ๋ช ๋ น์ด INSERT : ๋ฐ์ดํฐ ์ฝ์ UPDATE : ๋ฐ์ดํฐ ์์ DELETE : ๋ฐ์ดํฐ ์ญ์ UPSERT : INSERT or UPDATE SELECT : ๋ฐ์ดํฐ ์กฐํ SELECT : ๋ฐ์ดํฐ ์กฐํ 1. ํน์ ์ปฌ๋ผ ์กฐํ SELECT * FROM [ํ ์ด๋ธ ๋ช ]; -- ํน์ ํ ์ด๋ธ์ ๋ชจ๋ ์ปฌ๋ผ์ ์กฐํํ๋ค. 1) ์ฐ์ ํํ, ๋ณ์นญ(ALIAS) salary * 12 ๋๋ salary / 10000 ๋ฑ๊ณผ ๊ฐ์ด ์ฐ์ ํํ ๊ฐ๋ฅ ๋ณต์กํ ์ปฌ๋ผ๋ช ์ ๊ฒฝ์ฐ ๋ณ์นญ์ ์ค ์ ์๋ค. [๋ณต์กํ ์ปฌ๋ผ๋ช ] AS [๋ณ์นญ] 2) ๋ฌธ์์ด ํฉ์น๊ธฐ (CONCAT) CONCAT(ํฉ์น , ์ปฌ๋ผ, ๋ฌธ์.. 2022. 4. 28. DB] DML 1 - INSERT / UPDATE / DELETE / UPSERT DML (Data Manipulation Language) ๋ฐ์ดํฐ ์กฐ์์ด : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ์ ๋ค์ด์๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ / ์์ / ์ญ์ / ์กฐํ ํ๋ ๋ช ๋ น์ด INSERT : ๋ฐ์ดํฐ ์ฝ์ UPDATE : ๋ฐ์ดํฐ ์์ DELETE : ๋ฐ์ดํฐ ์ญ์ UPSERT : ์ ๋ ฅ๋๋ KEY๊ฐ ์ค๋ณต์ผ ๊ฒฝ์ฐ UPDATE, ์๋ ๊ฒฝ์ฐ INSERT SELECT : ๋ฐ์ดํฐ ์กฐํ 1. ๋ฐ์ดํฐ ์ฝ์ (INSERT) INSERT INTO [ํ ์ด๋ธ๋ช ] ([์ปฌ๋ผ๋ช ]) VALUES ([์ปฌ๋ผ์ ํด๋นํ๋ ๊ฐ]); ๊ฐ ์ปฌ๋ผ์ ํด๋นํ๋ ๊ฐ๋ค์ ์ปฌ๋ผ ์์๋๋ก ์จ์ค๋ค. ํ ์ด๋ธ์ ๋ชจ๋ ์ปฌ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์ค ๋ ์ปฌ๋ผ ์๋ฆฌ์ * ์ ์จ์ฃผ๋ฉด ๋๋ค. ํ์ง๋ง DB๋ ํผ์ ๋ณด๋ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์ ์ปฌ๋ผ๋ช ์ ๋ชจ๋ ์จ์ฃผ๋ ๊ฒ์ด ์ข๊ณ , * ์ ์ฌ์ฉํ๋ฉด valu.. 2022. 4. 28. DB] DDL(๋ฐ์ดํฐ ์ ์์ด) / ํ ์ด๋ธ root ์์ ํด์ค ์ผ์ด ๋๋ฌ์ผ๋ root๊ฐ ์๋ localhost ๋ผ๋ ๋ฐ๋ฒ ๋ง๊ณ ๋ค๋ฅธ ๋ฐ๋ฒ ๋ฅผ ๋ง๋ค์ด์ ๊ทธ ๊ณณ์์ web_user ๋ผ๋ ์ฌ์ฉ์๋ก ํ ์ด๋ธ์ ๋ง๋ค๊ณ ๋ฐ์ดํฐ ๋ฃ๊ณ ๋นผ๊ณ ์ฟผ๋ฆฌ๋ฌธ ์ฐ์ต์ ํด๋ณด์. ์๋ก์ด Database ์์ฑ ๋ฐ์ดํฐ๋ฒ ์ด์ค( ์๋ฐ์์ ํจํค์ง) ์ ํ ์ด๋ธ์ ์๋ฐ์์์ ํด๋์ค๋ผ๊ณ ์๊ฐํ๋ฉด ์ฝ๋ค. ํ ์ด๋ธ ์์ฑ, ์์ , ์ญ์ ๋ DDL(๋ฐ์ดํฐ ์ ์์ด) - CREATE / ALTER / DROP ๋ก ํ๋ค. 1. ํ ์ด๋ธ ์์ฑ ํ ์ด๋ธ ์์ฑ (CREATE) CREATE TABLE [ํ ์ด๋ธ ์ด๋ฆ]( [์ปฌ๋ผ๋ช ] [๋ฐ์ดํฐ ํ์ ] [์ฌ์ด์ฆ] ); [์ปฌ๋ผ๋ช ] [๋ฐ์ดํฐ ํ์ ] [์ฌ์ด์ฆ] ์ ํ ์ธํธ. ํ ์ด๋ธ์ ๋ฃ์ ์ปฌ๋ผ๋ผ๋ฆฌ๋ ์ฝค๋ง๋ก ๊ตฌ๋ถํ๋ค. ๋ง์ง๋ง ์ปฌ๋ผ ๋ค์๋ ์ฝค๋ง๋ฅผ ๋ถ์ด์ง ์๋๋ค. ์ฟผ๋ฆฌ๋ฌธ ๋ง์ง๋ง์ ์ธ๋ฏธ์ฝ๋ก .. 2022. 4. 28. ์ด์ 1 ยทยทยท 4 5 6 7 8 9 ๋ค์