Chapter 1. Database ์ค๊ณ
๐ฏํต์ฌ ํค์๋ ์ ๋ฆฌ
๐น์ธ๋ํค (foreign key)
- ์ธ๋ํค๋ ๋ ํ ์ด๋ธ์ ์๋ก ์ฐ๊ฒฐํ๋๋ฐ ์ฌ์ฉ๋๋ ํค์ด๋ค.
- ๋ฐ์ดํฐ๊ฐ ์ผ๊ด๋ ์ ์๋๋ก ๋๋ ์ญํ ์ ํ๋ค
- ์ธ๋ํค๊ฐ ํฌํจ๋ ํ ์ด๋ธ์ ์์ ํ ์ด๋ธ์ด๋ผ๊ณ ํ๊ณ ์ธ๋ํค ๊ฐ์ ์ ๊ณตํ๋ ํ ์ด๋ธ์ ๋ถ๋ชจ ํ ์ด๋ธ์ด๋ผ ํ๋ค.
๐น์ธ๋ํค (foreign key) ํน์ง
- ์ธ๋ ํค๋ ๊ด๊ณ๋ฅผ ํํํ๋ค.
- ์ธ๋ ํค๋ ๊ธฐ๋ณธํค์ ๋ค๋ฅด๊ฒ ํ๋์ ํ ์ด๋ธ์ ์ฌ๋ฌ ๊ฐ๋ฅผ ์ง์ ํ ์ ์๋ค.
- ์ธ๋ ํค๋ NULL๊ฐ๊ณผ ์ค๋ณต ๊ฐ์ด ํ์ฉ๋๋ค.
- ์ฐธ์กฐ๋๋ ๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด ์ฐธ์กฐํ๋ ๊ฐ๋ ๋ณ๊ฒฝ๋๋ค.
- ์ธ๋ ํค๋ ๊ธฐ๋ณธ ํค์ ์ผ๋ถ๊ฐ ๋ ์ ์๋ค.
โ FOREIGN KEY (country_id) REFERENCES country(country_id)
-> FK๋ country_id ์ด๊ณ ์ด๊ฒ์ country(country_id) ์ฐธ์กฐ๋์๋ค!
๐น๊ธฐ๋ณธํค
- ๊ธฐ๋ณธํค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ ๋ด์ ๋ชจ๋ ๋ ์ฝ๋์์ ๊ณ ์ ํ ์์ด๋๋ฅผ ์ ๊ณตํ๋ค
- ์ ์ผ์ฑ๊ณผ ์ต์์ฑ์ ๊ฐ์ง๋ฉฐ(ํ๋ณดํค), ํด๋น ๋ ์ฝ๋๋ฅผ ์๋ณํ ๋ ๊ธฐ์ค์ด ๋๋ ๋ฐ๋์ ํ์ํ ํค
๐น๊ธฐ๋ณธํค์ ํน์ง
- ๋ชจ๋ ๋ ์ฝ๋๊ฐ ์๋ก ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ง๊ณ ์์ด ๊ฐ ๋ ์ฝ๋๋ฅผ ์๋ณํ ์ ์๋ค.
- NULL๊ฐ์ด ์กด์ฌํ ์ ์๋ค.
- ๋ ์ฝ๋์ ๊ฐ์ ์ค๋ณต์ด ๋ถ๊ฐ๋ฅํ๋ค.
- ํ ์ด๋ธ์๋ ํ๋์ ๊ธฐ๋ณธํค๋ง ๊ฐ์ง ์ ์์ง๋ง ๊ฒฝ์ฐ์ ๋ฐ๋ผ 1๊ฐ ์ด์์ ๊ธฐ๋ณธํค๋ฅผ ์ ์ํ ์๋ ์๋ค. (๋ค์ ์ด ๊ธฐ๋ณธ ํค, ๋ณตํฉ ๊ธฐ๋ณธ ํค)
๐นER ๋ค์ด์ด๊ทธ๋จ
- ๊ฐ์ฒด ๊ด๊ณ ์ง๋, ๊ฐ์ฒด ๊ด๊ณ ๋ค์ด์ด๊ทธ๋จ์ด๋ผ๊ณ ๋ถ๋ฆฐ๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์๋ ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ๋ฅผ ์๊ฐํํด์ ๋ณด์ฌ์ฃผ๋ ๋ฐฉ์์ ๋งํ๋ค.
๐น๋ณตํฉ ํค
- ๋๊ฐ ์ด์์ ์ปฌ๋ผ์ ๋ฌถ์ด์ ํ๋์ ๊ธฐ๋ณธํค๋ก ์ง์ ํ๋๊ฒ.
- ๊ธฐ๋ณธํค๋ ํ๋์ ํ
์ด๋ธ์ ํ๋๋ง ์กด์ฌํ ์ ์๋ค, ๋ํ ๊ธฐ๋ณธํค๋ ํ๋ ์ด์์ ์ปฌ๋ผ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
- ๊ธฐ๋ณธํค๊ฐ ๋ง์ฝ ๋ณตํฉํค๋ผ๋ฉด, ๋ณตํฉํค ๋ํ ๋น์ฐํ ์ ์ผ์ฑ๊ณผ ์ต์์ฑ์ ๋ง์กฑํด์ผํ๋ค.
๐น์ฐ๊ด ๊ด๊ณ
์กด์ฌ์ ๊ด๊ณ๋ผ๊ณ ๋ ํ๋ค(์ฐ๊ด๊ด๊ณ)
ํ ์ํฐํฐ์ ์กด์ฌ๊ฐ ๋ค๋ฅธ ์ํฐํฐ์ ์กด์ฌ์ ์ํฅ์ ๋ฏธ์น๋ ๊ด๊ณ
- ์ํฐํฐ ๊ฐ์ ์ฐ๊ด๋ ์ํ๋ฅผ ์๋ฏธ
- ์ฐ๊ด๊ด๊ณ๋ ํญ์ ์ด์ฉํ๋ ๊ด๊ณ๋ก ์กด์ฌ์ ๊ด๊ณ์ ํด๋น
๐น์์กด ๊ด๊ณ
ํ์์ ๊ด๊ณ (์์กด๊ด๊ณ)
์ํฐํฐ ๊ฐ์ ์ด๋ค ํ์๊ฐ ์๋ ๊ฒ์ ์๋ฏธ
- ์์กด๊ด๊ณ๋ ์๋๋ฐฉ ํด๋์ค์ ํ์์ ์ํด ๊ด๊ณ๊ฐ ํ์ฑ๋๋ ํ์์ ๊ด๊ณ
- ERD์์๋ ์กด์ฌ๊ด๊ณ์ ํ์๊ด๊ณ๋ฅผ ๊ตฌ๋ถํ์ง ์๋๋ค
- UML์๋ ํด๋์ค๋ค์ด์ด๊ทธ๋จ ๊ด๊ณ ์ค ์ฐ๊ด๊ด๊ณ์ ์์กด๊ด๊ณ๊ฐ ์๊ณ ์ด๊ฒ์ ์ค์ ๊ณผ ์ ์ ์ ํ๊ธฐ๋ฒ์ผ๋ก ๋ค๋ฅด๊ฒ ํํ์ด ๋๋ค
- ์์กด๊ด๊ณ๋ ์คํผ๋ ์ด์ ์์ ํ๋ผ๋ฏธํฐ ๋ฑ์ผ๋ก ์ด์ฉํ ์ ์๋ค.
- ์ฐ๊ด๊ด๊ณ๋ ์์ค์ฝ๋์์ ๋ฉค๋ฒ๋ณ์๋ก ์ ์ธํ์ฌ ์ฌ์ฉํ ์ ์๋ค.
๐น์ ๊ทํ
ํ๋์ ์ํฐํฐ์ ๋ง์ ์์ฑ์ ๋ฃ์→ ์ํฐํฐ๋ฅผ ์กฐํํ ๋ ๋ง๋ค ๋ง์ ์์ ๋ฐ์ดํฐ๊ฐ ์กฐํ ๋จ
- ์ต์ํ์ ๋ฐ์ดํฐ๋ง์ ํ๋์ ์ํฐํฐ์ ๋ฃ๋์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ถํดํ๋ ๊ณผ์ ์ ์ ๊ทํ๋ผ๊ณ ํจ
- ๋ฐ์ดํฐ์ ์ค๋ณต์ ์ ๊ฑฐํ์ฌ ์ฉ๋์ ์ต์ํ์ํด
- ๋ฐ์ดํฐ ์ผ๊ด์ฑ, ์ต๋ํ ๋ฐ์ดํฐ ์ ์ฐ์ฑ์ ์ํ ๊ณผ์
- ๋ฐ์ดํฐ์ ์ด์ํ์์ ์ค์ด๊ธฐ ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ๊ธฐ๋ฒ
- ๋ ผ๋ฆฌ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ์ํ ์์ ์์ ๊ณ ๋ ค๋จ
๐น์ด์ํ์
์ ๊ทํ๋ฅผ ํ์ง ์์ ๋ฐ์ํ๋ ํ์
- ์ฝ์ ์ด์
- ๊ฐฑ์ ์ด์
- ์ญ์ ์ด์
๐น์ ๊ทํ๋จ๊ณ
1) ์ 1์ ๊ทํ
- ๋ชจ๋ ์์ฑ์ ๋ฐ๋์ ํ๋์ ๊ฐ์ ๊ฐ์ ธ์ผ ํจ
- ํ ์ด๋ธ ์ปฌ๋ผ์ด ์์์ฑ์ ๊ฐ๋๋ก ํ ์ด๋ธ์ ๋ถํดํ๋ ๋จ๊ณ
2) ์ 2 ์ ๊ทํ
- ์ 1์ ๊ทํ๋ฅผ ์งํํ ํ ์ด๋ธ์ ๋ํด ์์ ํจ์ ์ข ์์ ๋ง๋ค๋๋ก ํ ์ด๋ธ์ ๋ถํด
- ์ํฐํฐ์ ์ผ๋ฐ์์ฑ์ ์ฃผ์๋ณ์ ์ ์ฒด์ ์ข ์์ด์ด์ผ ํ๋ค
3) ์ 3 ์ ๊ทํ
- ์ํฐํฐ์ ์ผ๋ฐ ์์ฑ ๊ฐ์๋ ์๋ก ์ข ์์ ์ด์ง ์๋ค
- ์ดํ์ ์์ฑ์ ์ ๊ฑฐํ๋๋ก ํ ์ด๋ธ์ ๋ถํด
4) BNCF ์ ๊ทํ
- ๋ชจ๋ ๊ฒฐ์ ์๊ฐ ํ๋ณดํค๊ฐ ๋๋๋ก ํ ์ด๋ธ์ ๋ถํดํ๋ ๊ฒ(๊ฒฐ์ ์๊ฐ ํ๋ณดํค๊ฐ ์๋ ๋ค๋ฅธ ์ปฌ๋ผ์ ์ข ์๋๋ฉด ์๋จ)
5) ์ 4 ์ ๊ทํ
- ์ฌ๋ฌ ์ปฌ๋ผ๋ค์ด ํ๋์ ์ปฌ๋ผ์ ์ข ์์ํค๋ ๊ฒฝ์ฐ ๋ถํดํ์ฌ ๋ค์ค๊ฐ ์ข ์์ฑ์ ์ ๊ฑฐ
6) ์ 5 ์ ๊ทํ
- ์กฐ์ธ์ ์ํด์ ์ข ์์ฑ์ด ๋ฐ์๋๋ ๊ฒฝ์ฐ ๋ถํด
๐น๋ฐ ์ ๊ทํ
- ์ญ์ ๊ทํ(De-Normalization)์ ๊ฐ๋
- ์ฑ๋ฅ์ ์ํด ๋ฐ์ดํฐ ์ค๋ณต์ ํ์ฉ
- ์ฑ๋ฅ์ ํฅ์์ ํญ์ ๋ณด์ ํ๋ ๊ฒ์ ์๋
- ์กฐํ(SELECT) ์๋๋ฅผ ํฅ์์ํค์ง๋ง, ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ ์ฐ์ฑ์ ๋ฎ์์ง
- ๋น์ ๊ทํ๋ ์ ๊ทํ๋ฅผ ์ํํ์ง ์์์ ์๋ฏธ
โ๏ธ ์ค์ต ์ธ์ฆ
1. Data grip ์ค์น


2. ๋ก์ปฌ DB ์ ํ

๐ฅ ๋ฏธ์
- ์ฃผ์ด์ง IA(๊ธฐํ ํ๋ก์ฐ)์ ์์ด์ด ํ๋ ์(๋์์ธ ํ๋กํ ํ์ )์ ๋ณด๊ณ ์ง์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค๊ณํด์ค๊ธฐ, ์์์ ์ธ๊ธํ ๊ฒฝ์ฐ๋ฅผ ๋ค ์ ์ฉํด์ ํ ๊ฒ
- ์ด๋ฆ ๊ธ์ ์ ๋ฑ ์ธ๋ถ์ ์ธ ๋ถ๋ถ์ ์ํ๋ ๋๋ก ํด๋ ๋จ!
- ๊ฐ ์ง์ญ ๋ณ๋ก ๊ฐ๊ฒ๋ค์ด ์์ผ๋ฉฐ ๊ฐ๊ฒ๋ฅผ ๋ฐฉ๋ฌธํ๋ ๋ฏธ์
์ ํด๊ฒฐํ๋ฉฐ ํฌ์ธํธ๋ฅผ ๋ชจ์ผ๋ ์๋น์ค
- ๋ชจ๋ ์ง์ญ๋ง๋ค 10๊ฐ์ ๋ฏธ์ ํด๋ฆฌ์ด์ 1000 point ๋ถ์ฌ๋ก ๊ณ ์
์ต์ํ ๋ก๊ทธ์ธ/ํ์๊ฐ์
, ๋ฏธ์
, ํ ํ๋ฉด์ ํ์ํ ๋ฐ์ดํฐ๋ ์ค๊ณ๋ฅผ ํด์ผํจ

๐ข 1์ฃผ์ฐจ ํ์ต ํ๊ธฐ
๐บ: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ๊ฐ์ ๊ฒฝ์ฐ๋ ์์ผ๋ก ํ๋ก์ ํธ์ ์์ด์ ์ค์ํ ๋ถ๋ถ์ด๊ธฐ ๋๋ฌธ์ ์ป์ด๊ฐ ์ ์ด ๋ง์์ต๋๋ค. ๋ ์ด๋๊น์ง Draw.io ๋ก๋ง erd๋ฅผ ์ค๊ณํ์๋๋ฐ ์์ผ๋ก ERDcloud ๋ฑ ๋ค์ํ ํด๋ ์ฌ์ฉํด๋ด์ผ๊ฒ ๋ค๊ณ ๋ค์งํ์ต๋๋ค.
'{Extracurricular Activities} > UMC 7๊ธฐ - Node.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [UMC 7th Server] Chapter 4. ES6์ ํ๋ก์ ํธ ํ์ผ ๊ตฌ์กฐ์ ์ดํด (1) | 2024.10.28 |
|---|---|
| [UMC 7th Server] Chapter 3. API URL์ ์ค๊ณ & ํ๋ก์ ํธ ์ธํ (1) | 2024.10.10 |
| [UMC 7th Server] Chapter 2. ์ค์ SQL ์ํฌ๋ถ (1) | 2024.10.06 |
| [UMC 7th Server] Chapter 0. ์๋ฒ ์ฒ์ ํด๋ณด๊ธฐ ์ํฌ๋ถ (4) | 2024.09.26 |
| [UMC 7๊ธฐ/Node.js ํํธ] UMC 7๊ธฐ ํฉ๊ฒฉ ํ๊ธฐ (0) | 2024.09.23 |