๋ฐ์ดํฐ๋ฒ ์ด์ค
๋ฐ์ดํฐ๋ฒ ์ด์ค (DB, DataBase)๋ ์ผ์ ํ ๊ท์น, ํน์ ๊ท์ฝ์ ํตํด ๊ตฌ์กฐํ๋์ด ์ ์ฅ๋๋ ๋ฐ์ดํฐ์ ๋ชจ์์ ๋๋ค.
ํด๋น ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ด, ๊ด๋ฆฌํ๋ ํตํฉ ์์คํ ์ DBMS (DataBase Management System)์ด๋ผ๊ณ ํ๋ฉฐ, ๋ฐ์ดํฐ ๋ฒ ์ด์ค ์์ ์๋ ๋ฐ์ดํฐ๋ค์ ํน์ DBMS๋ง๋ค ์ ์๋ ์ฟผ๋ฆฌ ์ธ์ด(Query Language)๋ฅผ ํตํด ์ฝ์ , ์ญ์ , ์์ , ์กฐํ ๋ฑ์ ์ํํ ์ ์์ต๋๋ค.
๋ํ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ค์๊ฐ ์ ๊ทผ๊ณผ ๋์ ๊ณต์ ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
โ [์ฐธ๊ณ ] DBMS ์์คํ ๊ตฌ์ฑ
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ด๊ณํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค.
๋ชจ๋ ๋ฐ์ดํฐ๋ค์ ํ ์ด๋ธ๊ณผ ๊ฐ์ ํํ๋ก ๋ํ๋ด์ด ์ ์ฅํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ฉฐ ํํ, ์ผ์ ์ํ์์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฆฌํ์ฌ ํํํ ๋ ํ์ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๊ฒ ๋๋๋ฐ (ex. ์์ ) ์ด ํ์ ๊ฐ๋ ์ ์ฌ์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
์ํฐํฐ (Entity)
์ํฐํฐ (Entity)๋ ์ฌ๋, ์ฅ์, ๋ฌผ๊ฑด, ์ฌ๊ฑด, ๊ฐ๋ ๋ฑ ์ฌ๋ฌ ๊ฐ์ ์์ฑ์ ์ง๋ ๋ช ์ฌ๋ฅผ ์๋ฏธํฉ๋๋ค.
์ํฐํฐ ๋ถ๋ฅ
์ํฐํฐ๋ ์ ์ฅํ๋ ๋ฐ์ดํฐ ์ ๋ณด ์ฃผ์ ์ ๋ฐ๋ผ ์ข ๋ฅ๊ฐ ๋ค์ํ๋ฉฐ, ๊ณ ๊ฐ ์ ๋ณด ๊ฐ์ ์ค์ ๋ก ๋ฌผ๋ฆฌ์ ์ธ ํํ๋ก ์๋ ์ ๋ณด์ ๊ตฌ๋งค ์ด๋ ฅ๊ฐ์ ๋ฌดํ์ ์ด๊ณ ๊ฐ๋ ์ ์ธ ์ ๋ณด๊ฐ ์์ต๋๋ค.
์ด ์ํฐํฐ ๋ถ๋ฅ ๊ตฌ๋ถ์ ์ ํด์ฃผ์ด์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ์์ด ๊ฐ ๋ฐ์ดํฐ ์ฃผ์ ์ ๋ง๊ฒ ๋ชจ๋ธ๋ง์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
โ ์ ํ ์ํฐํฐ
- ๋ฌผ๋ฆฌ์ ์ธ ํํ
- ์) ๊ณ ๊ฐ, ์ํ, ๊ฑฐ๋์ฒ, ํ์, ๊ต์
โก ๋ฌดํ ์ํฐํฐ
- ๋ฌผ๋ฆฌ์ ์ธ ํํ๊ฐ ์๊ณ ๊ฐ๋ ์ ์ผ๋ก๋ง ์กด์ฌํ๋ ์ํฐํฐ
- ์) ์ธํฐ๋ท ์ฅ๋ฐ๊ตฌ๋, ๋ถ์ ์กฐ์ง ๋ฑ
โข ๋ฌธ์ ์ํฐํฐ
- ์ ๋ฌด ์ ์ฐจ์์์ ์ฌ์ฉ๋๋ ๋ฌธ์๋ ์ฅ๋ถ, ์ ํ์ ๋ํ ์ํฐํฐ
- ์) ๊ฑฐ๋ ๋ช ์ธ์, ์ฃผ๋ฌธ์
โฃ ์ด๋ ฅ ์ํฐํฐ
- ์ ๋ฌด์ ๋ฐ๋ณต์ ์ผ๋ก ์ด๋ฃจ์ด์ง๋ ํ์๋ ์ฌ๊ฑด์ ๋ด์ฉ์ ์ผ์๋ณ, ์๊ฐ๋ณ๋ก ์ ์ฅํ๊ธฐ ์ํ ์ํฐํฐ
- ์) ์ ๊ณ ์ด๋ ฅ, ์ถ๊ณ ์ด๋ ฅ, ๊ตฌ๋งค ์ด๋ ฅ ๋ฑ
โค ์ฝ๋ ์ํฐํฐ
- ๋ฌดํ ์ํฐํฐ์ ์ผ์ข ์ผ๋ก ๊ฐ์ข ์ฝ๋๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ์ํฐํฐ
- ์) ๊ตญ๊ฐ ์ฝ๋, ๊ฐ์ข ๋ถ๋ฅ ์ฝ๋
โ [์ฐธ๊ณ ] ์ํฐํฐ ๊ทธ๋ฆผ
์๋ฅผ ๋ค์ด, ์ฃผ์๋ผ๋ ์์ฑ์ด ์๋น์ค์ ์๊ตฌ ์ฌํญ๊ณผ ๋ฌด๊ดํ ์์ฑ์ด๋ผ๋ฉด ์ฃผ์๋ผ๋ ์์ฑ์ ์ฌ๋ผ์ง๊ฒ ๋๋ฉฐ ์์ธํ ๋ด์ฉ์ DB ๋ชจ๋ธ๋ง์์ ๋ค๋ฃน๋๋ค.
์ฝํ ์ํฐํฐ์ ๊ฐํ ์ํฐํฐ
์ํฐํฐ๋ ์ฝํ ์ํฐํฐ์ ๊ฐํ ์ํฐํฐ๋ก ๋๋์ด์ง๋๋ฐ, ์๋ฅผ ๋ค์ด A๊ฐ ํผ์์๋ ์กด์ฌํ์ง ๋ชปํ๊ณ B์ ์กด์ฌ ์ฌ๋ถ์ ๋ฐ๋ผ ์ข ์์ ์ด๋ผ๋ฉด A๋ ์ฝํ ์ํฐํฐ์ด๊ณ B๋ ๊ฐํ ์ํฐํฐ๊ฐ ๋ฉ๋๋ค. → ex) PK, FK ๊ด๊ณ
๋ ๋ค๋ฅธ ๊ฐ๋จํ ์์๋ฅผ ๋ค์ด๋ณด์๋ฉด ๋ฐฉ์ ๊ฑด๋ฌผ ์์๋ง ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๋ฐฉ์ ์ฝํ ์ํฐํฐ๋ผ๊ณ ํ ์ ์๊ณ ๊ฑด๋ฌผ์ ๊ฐํ ์ํฐํฐ๋ผ๊ณ ํ ์ ์์ต๋๋ค.
๋ฆด๋ ์ด์ (Relation)
๋ฆด๋ ์ด์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ ๋ณด๋ฅผ ๊ตฌ๋ถํ์ฌ ์ ์ฅํ๋ ๊ธฐ๋ณธ ๋จ์์ด๋ฉฐ, ์ํฐํฐ์ ๊ดํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฆด๋ ์ด์ ํ๋์ ๋ด์์ ๊ด๋ฆฌํฉ๋๋ค.
์์ ๊ทธ๋ฆผ์ฒ๋ผ ํ์์ด๋ผ๋ ์ํฐํฐ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ด๋ฆฌ๋ ๋, ๋ฆด๋ ์ด์ ์ผ๋ก ๋ณํ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
๋ฆด๋ ์ด์ ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ “ํ ์ด๋ธ”์ด๋ผ๊ณ ํ๋ฉฐ, NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ “์ปฌ๋ ์ ”์ด๋ผ๊ณ ํฉ๋๋ค.
โ [์ฐธ๊ณ ] ํ ์ด๋ธ๊ณผ ์ปฌ๋ ์
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ข ๋ฅ๋ ํฌ๊ฒ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋๋์ด์ง๋๋ฐ, ์ด ์ค ๋ํ์ ์ธ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ธ MySQL๊ณผ ๋ํ์ ์ธ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ธ MongDB๋ฅผ ์๋ก ๋ค๋ฉด MySQL์ ๊ตฌ์กฐ๋ “๋ ์ฝ๋ - ํ ์ด๋ธ – ๋ฐ์ดํฐ๋ฒ ์ด์ค”๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ MongDB์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ๋ “๋ํ๋จผํธ – ์ปฌ๋ ์ – ๋ฐ์ดํฐ๋ฒ ์ด์ค”๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
์์ฑ (Attribute)
์์ฑ์ ๋ฆด๋ ์ด์ ์์ ๊ด๋ฆฌํ๋ ๊ตฌ์ฒด์ ์ด๋ฉฐ ๊ณ ์ ํ ์ด๋ฆ์ ๊ฐ๋ ์ ๋ณด๋ก, ์๋ฅผ ๋ค์ด “์ฐจ”๋ผ๋ ์ํฐํฐ์ ์์ฑ์ ๋ฝ์๋ณธ๋ค๋ฉด ์ฐจ ๋๋ฒ, ๋ฐํด ์, ์ฐจ ์๊น, ์ฐจ์ข ๋ฑ์ด ์์ต๋๋ค.
์ด ์ค์์ ์๋น์ค์ ์๊ตฌ ์ฌํญ์ ๊ธฐ๋ฐ์ผ๋ก ๊ด๋ฆฌํด์ผ ํ ํ์๊ฐ ์๋ ์์ฑ๋ค๋ง ์ํฐํฐ์ ์์ฑ์ด ๋ฉ๋๋ค.
๋๋ฉ์ธ (Domain)
๋๋ฉ์ธ์ด๋ ๋ฆด๋ ์ด์ ์ ํฌํจ๋ ๊ฐ๊ฐ์ ์์ฑ๋ค์ด ๊ฐ์ง ์ ์๋ ๊ฐ์ ์งํฉ์ ๋งํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ์ฑ๋ณ์ด๋ผ๋ ์์ฑ์ด ์๋ค๋ฉด ์ด ์์ฑ์ด ๊ฐ์ง ์ ์๋ ๊ฐ์ [๋จ, ์ฌ]๋ผ๋ ์งํฉ์ด ๋ฉ๋๋ค.
ํ๋์ ๋ ์ฝ๋
์์์ ์ค๋ช ํ ๊ฒ๋ค์ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํ๋์ ๋ ์ฝ๋๋ก ๊ตฌ์ฑ๋ ํ ์ด๋ธ์ ๋ง๋ค ์ ์์ต๋๋ค.
๋ฆด๋ ์ด์ ์ ํ(row)๊ณผ ์ด(column)์ผ๋ก ๊ตฌ์ฑ๋ 2์ฐจ์ ํ ์ด๋ธ์ด๋ค.
๋ฆด๋ ์ด์ ์ ๊ฐ ํ(row)์ ํํ (tuple) ๋๋ ๋ ์ฝ๋ (record)๋ผ๊ณ ํ๋ค.
๐ ํํ = ๋ก์ฐ = ๋ ์ฝ๋
๋ฆด๋ ์ด์ ์ ๊ฐ ์ด(column)์ ์์ฑ์ด๋ผ๊ณ ํ๋ค.
๐ ์์ฑ = ์ปฌ๋ผ = ํ๋
์คํค๋ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์ ์ฝ์กฐ๊ฑด์ ์ ์ํ ๊ฒ์ด๋ค.
๐ ex. ๋ถ์ ์คํค๋ง = (๋ถ์๋ฒํธ, ๋ถ์์ด๋ฆ, ๊ด๋ฆฌ์์ฌ๋ฒ, ์์น) + ์คํค๋ง์ ์์ = ์์ฑ, ๋๋ฉ์ธ, ์ฐจ์
์ธ์คํด์ค๋ ์ ์๋ ์คํค๋ง์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ค์ ๋ก ์ ์ฅ๋ ๊ฐ์ ๋งํ๋ค.
๐ ์ธ์คํด์ค์ ์์ = ํํ, ์นด๋๋๋ฆฌํฐ
์นด๋๋๋ฆฌํฐ (Cardinality)๋ ํํ์ ๊ฐ์๋ฅผ ์๋ฏธํ๋ค.
์ฐจ์ (degree)๋ ํํ์ ๊ตฌ์ฑํ๋ ์์ฑ์ ๊ฐ์๋ฅผ ์๋ฏธํ๋ค.
๋ (null) ์ด๋ ์์ฑ ๊ฐ์ด ์ ํด์ง์ง ์์๊ฑฐ๋ ์๋ ๊ฒฝ์ฐ์ ๊ฐ์ ๋งํ๋ค.
'๐จโ๐ป Back End > MySQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Join (์กฐ์ธ) - ๋ด๋ถ ์กฐ์ธ (Inner Join) & ์ธ๋ถ ์กฐ์ธ (Outer Join) (0) | 2023.07.22 |
---|---|
SubQuery (์๋ธ์ฟผ๋ฆฌ) (0) | 2023.07.22 |
SELECT๋ฌธ ๊ตฌ์กฐ ๋ฐ ์คํ ์์ (0) | 2023.07.22 |
ERD (Entity-Relationship Diagram) (0) | 2023.07.21 |
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง (0) | 2023.07.21 |