โ ๊ด๊ณ ๋ชจ๋ธ
- ๊ด๊ณ ๋ชจ๋ธ์์ ๋ฐ์ดํฐ๋ ์ฃผ๋ก ๋ฆด๋ ์ด์ (Relation)์ ์ํด ํํ๋๋ค.
- ๋ฆด๋ ์ด์ ์ ๋ฆด๋ ์ด์ ์คํค๋ง์ ๋ฆด๋ ์ด์ ์ธ์คํด์ค๋ก ์ด๋ฃจ์ด์ง๋ค.
๐ ๋ฆด๋ ์ด์ ์คํค๋ง
- ์์ด๋ก '๊ฐ์,๊ธฐ๋ณธ ํ' ์ด๋ผ๋ ๋ป์ด๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์คํค๋ง๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ์ ์ ์ฝ์กฐ๊ฑด์ ๊ดํ ์ ๋ฐ์ ์ธ ๋ช ์ธ๋ฅผ ์๋ฏธํ๋ค.
- ์ฆ ๊ฐ์ฒด(entity)์ ๊ฐ์ฒด์ ์์ฑ(attribute), ๊ฐ์ฒด ๊ด์ ๊ด๊ณ(relation), ์ ์ฝ์กฐ๊ฑด(constraint)๋ค์ ๋ช ์ธ์ ๋ง๊ฒ ๊ธฐ์ ํ ๊ฒ์ด๋ค.
- ๊ด๊ณ๋ฐ์ดํฐ๋ฒ ์ด์ค(RDB)์์ ์คํค๋ง๋ ๋ฆด๋ ์ด์ ์ด๋ฆ, ์์ฑ(attribute) ์ด๋ฆ, ๊ฐ ์์ฑ์ ๋๋ฉ์ธ ์ด๋ฆ์ ๋ช ์ธํ๋ค.
๐ฃ ๋๋ฉ์ธ์ด๋?
- ํ๋์ ์์ฑ(attribute)์ด ๊ฐ์ง ์ ์๋ ๋์ผํ ์ ํ์ ์์๊ฐ๋ค์ ์งํฉ์ด๋ค.
- ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๊ด์ ์์ "ํ๋์ ๋ฐ์ดํฐ ํ์ "์ ์๋ฏธํ๋ค.
- ๋ฆด๋ ์ด์ ์คํค๋ง ์ ์ ์์:
๐ ๋ฆด๋ ์ด์ ์ธ์คํด์ค
- ๋ฆด๋ ์ด์ ์คํค๋ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ง ์ค์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ํ ์ด๋ธ
- ์ฆ, ํํ(tuple)์ ์งํฉ ์ด๋ค. (ํํ ๋์ ๋ ์ฝ๋(record) ๋๋ ๊ฐ์ฒด(entity)๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค.)
- ํํ(tuple)์ด๋, ์คํค๋ง์์ ์ ์๋ ์์ฑ๋ค๋ก ๊ตฌ์ฑ๋ ํ๋์ ๋ฐ์ดํฐ ๋ฌถ์์ด๋ค. ์ฆ ํ ์ด๋ธ์ ํ(row)์ ํด๋นํ๋ค.
- ๋ฆด๋ ์ด์ ์ธ์คํด์ค์ tuple ์๋ฅผ ์นด๋๋๋ฆฌํฐ(cardinality)๋ผ๊ณ ํ๊ณ , attribute ์๋ฅผ ์ฐจ์(degree)๋ผ๊ณ ํ๋ค.
(์นด๋๋๋ฆฌํฐ๋ผ๋ ๊ฐ๋ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ ๋ถ์์์ ๋งค์ฐ ์ค์ํ๋ค๊ณ ํ๋ค. ์ฟผ๋ฆฌ ์ต์ ํํ ๋ cardinality estimate๊ฐ ๊ฐ์ฅ ์ค์ํ๋ค๊ณ ํ๋ค!)
- ๋ฆด๋ ์ด์ ์ธ์คํด์ค์์ tuple์ ์์๋ ์ค์ํ์ง ์๋ค.
- ๋ฆด๋ ์ด์ ์ธ์คํด์ค๋ ๋ฆด๋ ์ด์ ์คํค๋ง์ ์ ์๋ ๋ช ์ธ๋ฅผ ๋ฐ๋์ ๋ฐ๋ผ์ผ ํ๋ค.
๐ ๊ด๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค(Relational database)
- ์๋ก ๋ค๋ฅธ ๋ฆด๋ ์ด์ ์ด๋ฆ์ ๊ฐ์ง ๋ฆด๋ ์ด์ ์ธ์คํด์ค๋ค์ ๋ชจ์์ ๊ด๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ผ๊ณ ํ๋ค.
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํ ๋ชจ๋ ๋ฆด๋ ์ด์ ์ ์คํค๋ง ์งํฉ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ผ๊ณ ํ๋ค.
โ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด (Integrigy Constraint)
์ ์ฅ๋ ์ ๋ณด์ ํ์ง์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ง์ด ๊ฒฐ์ ๋๋ค.
๋ฐ์ดํฐ ํ์ง์ด ๋จ์ด์ง๋ฉด "๋ฐ์ดํฐ๋ฅผ ํตํ ์์ฌ๊ฒฐ์ "์ด๋ผ๋ ๋ชฉ์ ์ ์ด๋ฃฐ ์ ์๋ค.
๋ฐ๋ผ์ DBMS๋ ๋ฐ์ดํฐ ํ์ง์ ์งํฌ ์ ์๋๋ก ํ๋ ์๋จ์ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค.
๋ฐ์ดํฐ ํ์ง์ด ๋๋ค๋ ๊ฒ์, ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ์ ํํ๊ณ , ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ์ค๋ณต๋์ง ์๋๋ค๋ ๊ฒ์ด๋ค.
RDB์์ ๋ฐ์ดํฐ ํ์ง์ ์งํค๊ธฐ ์ํด์๋ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ ์ง์ผ์ผ ํ๋ค.
RDB์์ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ด๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง์ ๋ช ์ธ๋์ด ์๋ ์ ์ฝ์กฐ๊ฑด์ ๋งํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง์ ๋ช ์ธ๋ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ ๋ชจ๋ ์งํค๋ ์ธ์คํด์ค๋ฅผ legalํ ์ธ์คํด์ค๋ผ๊ณ ํ๊ณ ,
DBMS๋ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ ๊ฐ์ ํ์ฌ ์ธ์คํด์ค๋ฅผ legalํ๋๋ก ๋ณด์ฅํ๋ค.
์ฆ DBMS๋ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ ์๋ฐํ๋ ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ ์๋ํ๋ ๋ช ๋ น์ ์ฆ์ ๊ฑฐ๋ถํ๋ค.
๋ฌด๊ฒฐ์ฑ์๋ ๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ, ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ, ๋๋ฉ์ธ ๋ฌด๊ฒฐ์ฑ์ด ์๋ค.
๐ ๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ
- ํ๋์ ๊ฐ์ฒด(tuple)๋ ๊ฐ์ ๋ฆด๋ ์ด์ ์ ๋ค๋ฅธ tuple๋ค๊ณผ ๋ช ํํ ๊ตฌ๋ถ๋์ด์ผ ํ๋ค.
- ๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ์ ์งํค๊ธฐ ์ํด์ "ํค ์ ์ฝ์กฐ๊ฑด"์ ์ฌ์ฉํ๋ค.
- ๊ทธ๋ฌ๋ ค๋ฉด ๋ฆด๋ ์ด์ ์ ์์ฑ๋ค์ ์ต์ ๋ถ๋ถ์งํฉ์ธ ํค๊ฐ ๊ฐ tuple์ ๋ํ ๊ณ ์ ์๋ณ์๊ฐ ๋์ด์ผ ํ๋ค.
- ์ฆ key๋ ํ๋์ tuple์ ์๋ณํ๋ ์์ฑ์ ๋ถ๋ถ์งํฉ์ด๋ค.
๐ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ
- ์ฐธ์กฐ ๊ด๊ณ์ ์๋ ๋ ๋ฆด๋ ์ด์ ์ ๋ฐ์ดํฐ๋ ํญ์ ์ผ๊ด๋ ๊ฐ์ผ๋ก ์ ์ง๋์ด์ผ ํ๋ค.
- ์ฆ, ํ๋์ ๋ฆด๋ ์ด์ ์ ๋ฐ์ดํฐ๊ฐ ์์ ๋๊ฑฐ๋ ์ญ์ ๋ ๊ฒฝ์ฐ, ์ฐธ์กฐ ๊ด๊ณ์ ์๋ ๋ฐ์ดํฐ ๋ํ ์์ ๋๊ฑฐ๋ ์ญ์ ๋์ด์ผ ํ๋ค.
- ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ์งํค๊ธฐ ์ํด์ "์ธ๋ํค ์ ์ฝ์กฐ๊ฑด"์ ์ฌ์ฉํ๋ค.
- ์ธ๋ํค๋, ํ๋์ ๋ฆด๋ ์ด์ ์ ํค ์ค์์ ๋ค๋ฅธ ๋ฆด๋ ์ด์ ์ tuple์ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ํค์ด๋ค.
- ์ด ์ธ๋ํค๋ฅผ ์ด์ฉํด์ ํ๋์ ๋ฆด๋ ์ด์ ์ tuple์์ ๋ค๋ฅธ ๋ฆด๋ ์ด์ ์ tuple์ ์ฐธ์กฐํ๋ค.
๐ ๋๋ฉ์ธ ๋ฌด๊ฒฐ์ฑ
- ๋ฆด๋ ์ด์ ์ ๊ฐ ์์ฑ์ ํ๋์๋ ์ผ๊ด๋ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋์ด์ผ ํ๋ค. ๋ฐ๋ผ์ ์์ฑ ํ๋์ ์ง์ ๋ ํ์ ์ธ์ ๋ฐ์ดํฐ๋ ์ ์ฅ๋์ด์๋ ์ ๋๋ค.
- ๋๋ฉ์ธ ๋ฌด๊ฒฐ์ฑ์ ์งํค๊ธฐ ์ํด์ "๋๋ฉ์ธ ์ ์ฝ์กฐ๊ฑด"์ ์ฌ์ฉํ๋ค.
'๊ฐ์ธ ๊ณต๋ถ > DB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์คํค๋ง ์ ์ ๋ฅผ ํด์ผ ํ๋ ์ด์ (์ฝ์ ์ด์, ์ญ์ ์ด์, ๊ฐฑ์ ์ด์) (1) | 2024.11.11 |
---|---|
DBMS์์ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐฉ์ (Heap, ISAM, B+ Tree) (1) | 2024.11.08 |
DBMS๋ฅผ ์ฌ์ฉํ๋ ์ด์ ์ DBMS ์คํค๋ง (0) | 2024.11.07 |
๊ด๊ณ๋์์ (1) | 2023.12.27 |
[๊ฐ์ ์ ๋ฆฌ] Relational Database, KEY, Constraints (1) | 2023.12.18 |