DataBase
- 1, 2์ฃผ์ฐจ์ ์ด์ด์ ์๋น์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ดํดํด๋ณด์
- ์๋(Client) ↔๏ธ ์ข ์ ์(Server) <-> ์๋ฆฌ์ฌ(BackEnd Language) <-> ๋์ฅ๊ณ (DataBase)
- ์์๊ฐ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ฆฌ ์์ฒญ์ ์๋ตํ๊ธฐ ์ํด ํ์ํ ์ฌ๋ฃ ์์๋ผ๊ณ ์ดํดํ๋ฉด ๋๊ฒ ๋ค.
Query/ SQL
- ์ด ๋ BackEnd Language(B.L)๊ฐ DataBase(DB)์๊ฒ ๋ฐ์ดํฐ๋ฅผ ๋ฌ๋ผ๊ณ ์์ฒญํ๋ ๋จ์๋ Query์ด๋ค
- ์ด Query๋ฅผ ์ํ ์ธ์ด๊ฐ SQL, Structured Query Language ์ด๋ค.
- ์ฆ ์๋ฆฌ์ฌ๋ SQL์ ์ฌ์ฉํ์ฌ ๋์ฅ๊ณ ์์ ์ํ๋ ์ฌ๋ฃ๋ฅผ ๊บผ๋ผ ์ ์๋ค.
- SQL
ใด DDL (Data Definition Language) : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ฒด๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ช ๋ น์ด ์งํฉ์ผ๋ก, CREATE/ DROP/ ALTER ๊ฐ ๋ํ์
ใด DML (Data Manipulation Language) : ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๋ช ๋ น ์งํฉ์ผ๋ก, ์ ์ฅ๋ ๋ฐ์ดํฐ(๋ ์ฝ๋)๋ฅผ ์ ์ดํ๋ ์ญํ ์ ํ๋ค. SELECT/ INSERT/ UPDATE/ DELETE๊ฐ ๋ํ์
ใด DCL (Data Control Language) : ๊ฐ์ฒด ๊ถํ ๋ถ์ฌ ๋ฑ์ ์ญํ ์ ๋ด๋นํ๊ณ ์๋ ๋ช ๋ น ์งํฉ์ผ๋ก, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๊ฐ ๊ด๋ฆฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ๋ค. ROLLBACK/ GRANT/ REVOKE ๋ฑ์ด ๋ํ์
[ Example1]
ํ๊ต ์ ๋ณด๋ฅผ ๋ด์ DB
- '์ถ์๋ถ'์ '์ฑ์ ๋ถ'๊ฐ ์๋ค๊ณ ํด๋ณด์
- ์ถ์๋ถ์๋ ์ด๋ฆ, ํ๋ฒ, ํ๊ณผ, ์ถ์์ฌ๋ถ, ์ฐ๋ฝ์ฒ๊ฐ ์๊ณ
- ์ฑ์ ๋ถ์๋ ์ด๋ฆ, ํ๋ฒ, ํ๊ณผ, ์ฑ์ , ์๊ฐ๊ณผ๋ชฉ, ์ฐ๋ฝ์ฒ๊ฐ ์๋ค
- ๋น์ ์ด ์๊ธฐ๋ก ๋ ๊ฐ๋ฅผ ๋ค ์์ฑํด์ผ ํ๋ค๋ฉด "๋ฐ๋ณต์ ์ผ๋ก ๋ฐ์ํ๋ ์ด๋ฆ, ํ๋ฒ, ํ๊ณผ, ์ฐ๋ฝ์ฒ๋ ํ๋ฒ์ ์์ฑํ ์ ์์๊น?" ์๊ฐํ ๊ฒ์ด๋ค
- ๋ฐ๋ณต์ ์ผ๋ก ๋ฐ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ํ๋๋ก ๋ชจ์์ ๋ฐ๋ก ์์ฑํ๋ ๊ฒ์ด ๋ฐ์ดํฐ ์ ๊ทํ์ด๋ค.
- ์ด๋ฒ์๋ ํด๋น ํ๋ ๋ ๋ฐ์ดํฐ ๋๋ฏธ๋ฅผ ์๊ธฐ๊ฐ ์๋ ๋์งํธ ๋ฐ์ดํฐ๋ก ์์ํด๋ด์ผ ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ ๋น์ ์ ์์ ์ ์ ๋ฆฌํด๋ณด๊ธฐ๋ก ํ๋ค
- ์์ ํ์ผ ์์ฒด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค (ํน์ ์คํค๋ง)
- ํ์ผ ์์ ๊ฐ ์ํธ๋ ํ ์ด๋ธ(table)
- ์ํธ์์ ๋ฐ์ดํฐ ์ ๋ชฉ(?)์ ์ปฌ๋ผ(column)
- ์ปฌ๋ผ๋ณ ๋ฐ์ดํฐ๋ฅผ ํ๋์ฉ ํฌํจํ๋ ๋ฐ์ดํฐ๋ ๋ ์ฝ๋(record)
Primary Key/ Foreign Key
- ์ฌ๊ธฐ์ ํ ์ด๋ธ์์ ๊ฐ ๋ ์ฝ๋๋ฅผ ์ ๋ํฌํ๊ฒ( ์ค๋ณต๋์ง ์๊ฒ) ๊ตฌ๋ถํด์ค ์ ์๋ ์ปฌ๋ผ์ ๋ฌด์์ผ๊น? ๋ฐ๋ก ํ๋ฒ์ด๋ค!
- ํ๋ฒ์ ํ์๋ง๋ค ๊ฒน์น๋ ์ผ์ด ์์ด ์ ์ผํ ๊ฐ์ ๊ฐ์ง๋ฏ๋ก ํ๋ฒ ํ ์ด๋ธ์ Primary Key๊ฐ ๋ ์ ์๋ค.
- Primary key๋ ๊ฐ ๋ ์ฝ๋๋ฅผ ์ ์ผํ๊ฒ ํด์ฃผ๋ ์ปฌ๋ผ ํ๋ณด( Candidate Key) ์ค์์ ์ ํ๋ ์ ์๋ค.
- Primary Key(P.K)๋ง์ด ๋ค๋ฅธ ํ ์ด๋ธ์ Foreign Key๊ฐ ๋ ์ ์๋ ๊ธฐํ๊ฐ ์ฃผ์ด์ง๋ค.
- Foreign Key(F.K)๋ ๋ค๋ฅธ ํ ์ด๋ธ์ ์ปฌ๋ผ์ ์ฐธ์กฐํ๊ณ ์๋ค. ํด๋นํ๋ ์ปฌ๋ผ์ ๋ค์ด๊ฐ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฐธ์กฐํ๊ณ ์๋ ์ปฌ๋ผ์ ์กด์ฌํ๋ ๊ฒ์ผ๋ก ์ ํํ๋ค.
- ์๋ฅผ ๋ค์ด ํ์ ํ ์ด๋ธ์์ ํ๋ฒ์ด P.K์ด๊ณ ์ถ์๋ถ์ ํ๋ฒ ์ปฌ๋ผ์ด ์ด๋ฅผ F.K๋ก ์ฐธ์กฐํ๊ณ ์๋ค๊ณ ํด๋ณด์
- ์ถ์๋ถ ํ ์ด๋ธ์ ํ๋ฒ ์ปฌ๋ผ์ ํ์ ํ ์ด๋ธ ํ๋ฒ 2018001, 2018002 ์ค์๋ง ์์ฑ๋ ์ ์๋ค. 2018003์ ์ถ์๋ถ ํ ์ด๋ธ ํ๋ฒ ์ปฌ๋ผ์ ์กด์ฌํ ์ ์๋ค๋ ๋ง์ด๋ค.
Practice
https://www.notion.so/softsquared/3-ERD-Query-4a530ac3c9184f3f84dd546e68e38375?pvs=4