๋ฐ์ดํฐ ๋ชจ๋ธ
- ๋ฌผ๋ฆฌ์ ์ผ๋ก ์กด์ฌํ๋ ๋ณต์กํ ํ์ค์ธ๊ณ๋ฅผ ๋จ์ํ๋๊ณ ์ ํํ๋ ํํ๋ก ํํํ๋ ๋ฐฉ์ ๋๋ ๊ท๋ฒ
- ์ค์ ๋ฐ์ดํฐ๊ฐ ๊ฐ๋ ํน์ฑ์ ์ด๋ฆฌ๋ฉด์ ๋ชฉ์ ์ ๋ง๊ฒ ๊ด์ฌ ์๋ ์ ๋ณด๋ง์ ๋จ์ํํ์ฌ ํํํ๋ ๋ฐฉ์
โ๋ฐ์ดํฐ์ ๋ํ ํจ์จ์ ์ธ ๊ฒ์ ๋ฐ ์กฐ์์ด ๊ฐ๋ฅํด์ง๋ค
โ
๊ด๊ณํ ๋ฐ์ดํฐ ๋ชจ๋ธ(relational data model)
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋ฐ์ด ๋๋ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ก ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์์
- ํ(ํ ์ด๋ธ)์ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๊ณ ์ค๋ช ํ ๋ชจ๋ธ
- ํ ์ด๋ธ์ ๋ฆด๋ ์ด์ (relation)์ด๋ผ๊ณ ๋ถ๋ฆ
โ
๋ฆด๋ ์ด์
- ์ํ์ ์ผ๋ก ๋ ๊ฐ ์ด์์ ์งํฉ์ด ์ฃผ์ด์ง ๋ ๊ฐ ์งํฉ์ ๊ตฌ์ฑํ๋ ์์๋ค์ ์์์์ ๋ํ ์งํ์ ์๋ฏธ
<์์>
์ด๋ฆ = {'ํ๊ธธ๋', '๊น๊ด์', '๋ฐ์ฒ ์', '์ต์ฉ๋ง'}
์ฃผ์ = {'์์ธ', '๋์ ', '๋๊ตฌ', '๊ด์ฃผ', '๋ถ์ฐ'}
โ
์์์ ์งํฉ : {<'ํ๊ธธ๋', '์์ธ'>,<'๊น๊ด์','๋๊ตฌ'>,<'๋ฐ์ฒ ์','์์ธ'>,<'์ต์ฉ๋ง','๊ด์ฃผ'>}
์ด๋ฌํ ์์์๋ค์ ํ ์ด๋ธ ํํ๋ก ํํ ๊ฐ๋ฅ
โ
<๋ฆด๋ ์ด์ ์ ๊ฐ๋ >
โ
์์ฑ(attribute) - ํ๋(field), ์ด(column)
- ๋ฆด๋ ์ด์ ์ ๊ตฌ์ฑํ๋ ๊ฐ ์ด์ ์ด๋ฆ
์) ์ฃผ์๋ก ๋ฆด๋ ์ด์ ์ ๊ตฌ์ฑํ๋ ์์ฑ : ์ด๋ฆ, ์ ํ๋ฒํธ, ์ฃผ์, ์์ผ
โ
ํํ(tuple) - ๋ ์ฝ๋(record), ํ(row)
- ๋ฆด๋ ์ด์ ์ ๊ฐ ํ
์) ์ฃผ์๋ก ๋ฆด๋ ์ด์ ์ ํ ํํ : <'ํ๊ธธ๋', '010-1234-5678', '์์ธ', '1์ 1์ผ'>
๋ฆด๋ ์ด์ (relation) |
ํ ์ด๋ธ(table) |
์์ฑ(attribute) |
ํ๋(field), ์ปฌ๋ผ(column) |
ํํ(tuple) |
๋ ์ฝ๋(record), ํ(row) |
๋๋ฉ์ธ(domain)
- ๊ฐ ํ๋์ ์ ๋ ฅ ๊ฐ๋ฅํ ๊ฐ๋ค์ ๋ฒ์, ์ฆ ๊ฐ ํ๋๊ฐ ๊ฐ์ง ์ ์๋ ๋ชจ๋ ๊ฐ๋ค์ ์งํฉ
- ์์๊ฐ, ์ฆ ๋ ์ด์ ๋ถ๋ฆฌ๋์ง ์๋ ๊ฐ์ด์ด์ผ ํ๋ค
์) ์ฃผ์๋ก์ ๊ฐ ํ๋์ ๋๋ฉ์ธ
์ด๋ฆ : ์ฌ๋ ์ด๋ฆ๋ค๋ก ๊ตฌ์ฑ๋ ๋ฌธ์์ด ์งํฉ
์ ํ๋ฒํธ : 'ddd-dddd-dddd'์ ํ์์ผ๋ก ๊ตฌ์ฑ๋ ๋ฌธ์์ด์ ์งํฉ (d๋ 0๋ถํฐ 9๊น์ง์ ์ซ์)
์ฃผ์ : ๋์๋ฅผ ๋ํ๋ด๋ ๋ฌธ์์ด์ ์งํฉ
์์ผ : 'dd์ dd์ผ'๋ก ๊ตฌ์ฑ๋ ๋ฌธ์์ด์ ์งํฉ
โ
๋(null)
- ํน์ ํ๋์ ๋ํ ๊ฐ์ ์์ง ๋ชปํ๊ฑฐ๋, ์์ง ์ ํด์ง์ง ์์ ์ ๋ ฅํ์ง ๋ชปํ ๊ฒฝ์ฐ
- 0์ด๋ ๊ณต๋ฐฑ ๋ฌธ์์๋ ๋ค๋ฅด๋ค
โ
ํ ์ด๋ธ ์คํค๋ง(table schema)
- ํ ์ด๋ธ์ ์ ์ํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ๋ฐ์ดํฐ ๊ตฌ์กฐ
R(A1, A2, ..., An)
R : ํ ์ด๋ธ์ ์ด๋ฆ
A1, A2, ...,An : ํ๋๋ค์ ์ด๋ฆ
์) ์ ์ ์(ํ๋ฒ, ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ, ์ด๋ฆ, ์ฃผ์, ํ๊ณผ๋ช )
โ
์ฐจ์(degree)
- ํ ์ด๋ธ ์คํค๋ง์ ์ ์๋ ํ๋์ ์
โ์ฐจ์ = 1 ์ด๋ฉด ๋จํญ ํ ์ด๋ธ(unary relation)
โ์ฐจ์ = 2 ์ด๋ฉด ์ดํญ ํ ์ด๋ธ(binary relation)
โ์ฐจ์ = n ์ด๋ฉด nํญ ํ ์ด๋ธ(n-ary relation)
โ
ํ ์ด๋ธ ์ธ์คํด์ค(table instance)
- ํ ์ด๋ธ ์คํค๋ง์ ํ์ค ์ธ๊ณ์ ๋ฐ์ดํฐ๋ฅผ ๋ ์ฝ๋๋ก ์ ์ฅํ ํํ(์งํฉ)
- ์คํค๋ง๋ ํ๋ฒ ์ ์ํ๋ฉด ๊ฑฐ์ ๋ณํจ์ด ์์ง๋ง ์ธ์คํด์ค๋ ์์๋ก ๋ฐ๋ ์ ์์
โ ๋ ์ฝ๋์ ์ฝ์ , ์ญ์ , ์์ ๋ฑ
โ
๊ธฐ์(cardinality)
- ํ ์ด๋ธ ์ธ์คํด์ค์ ์ํ ๋ ์ฝ๋์ ์
โ
ํ ์ด๋ธ์ ํน์ฑ
โฝ์ค๋ณต๋ ๋ ์ฝ๋๊ฐ ์กด์ฌํ์ง ์์
โฝ ๋ ์ฝ๋ ๊ฐ์ ์์๋ ์๋ฏธ๊ฐ ์์
โฝ ๋ ์ฝ๋ ๋ด์์ ํ๋์ ์์๋ ์๋ฏธ๊ฐ ์์
โฝ ๋ชจ๋ ํ๋๋ ์์๊ฐ์ ๊ฐ์ง
โ
ํค(key)
- ๋ ์ฝ๋ ๊ฐ์ ์์๊ฐ ์์ผ๋ฏ๋ก ๋ ์ฝ๋๋ฅผ ๊ตฌ๋ถ(์๋ณ)ํ๊ธฐ ์ํด์๋ ๊ฐ ํ๋์ ๊ฐ์ ์ด์ฉํด์ผํจ
- ํ๋๋ค์ ์ผ๋ถ๋ก, ๊ฐ ๋ ์ฝ๋๋ค์ ์ ์ผํ๊ฒ ์๋ณํด๋ผ ์ ์๋ ์๋ณ์ ์ญํ ์ ํจ
- ์ผ๋ฐ์ ์ผ๋ก ํ๋์ ํ๋๋ฅผ ํค๋ก ์ง์ ํ๋, ์ฌ๋ฌ ๊ฐ์ ํ๋๋ค๋ก ํค๋ฅผ ๊ตฌ์ฑํ ์๋ ์์
โ ๋ ๊ฐ ์ด์์ ํ๋๋ค๋ก ๊ตฌ์ฑ๋ ํค๋ฅผ ๋ณตํฉ ํค(composite key)๋ผ๊ณ ํจ
์) ์ ์ ์ ํ ์ด๋ธ์ 'ํ๋ฒ' ๋๋ '์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ' ํ๋๋ ๋ ์ฝ๋ ๋ง๋ค ์ ์ผํ๋ฏ๋ก ํค๊ฐ ๋ ์ ์์
โ 'ํ๊ณผ๋ช '์ ์ค๋ณต๋ ์ ์์ผ๋ฏ๋ก ํค๊ฐ ๋ ์ ์์
์ํผ ํค(super key)
- ์๋ฌด๋ฐ ์ ์ฝ ์กฐ๊ฑด ์์ด ๋ ์ฝ๋๋ค์ ์๋ณํ ์ ์๋ ํ๋์ ์งํฉ
์) (์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ), (ํ๋ฒ, ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ), (์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ, ์ด๋ฆ), (์ด๋ฆ. ์ฃผ์), (์ด๋ฆ, ํ๊ณผ๋ช ) ๋ฑ
โ
ํ๋ณด ํค(candidate key)
- ๋ ์ฝ๋๋ฅผ ๊ตฌ๋ณํ๋๋ฐ ๋ถํ์ํ ํ๋๋ ์ ์ธํ๊ณ ์ต์ํ์ ํ๋๋ง์ผ๋ก ๊ตฌ์ฑ
์) (ํ๋ฒ), (์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ), (์ด๋ฆ, ์ฃผ์), (์ด๋ฆ, ํ๊ณผ๋ช ) ๋ฑ
โ
๊ธฐ๋ณธ ํค(primary key)
- ํ๋ณด ํค ์ค์์ ๋ ์ฝ๋๋ค์ ์๋ณ์๋ก ์ ํํ ํ๋์ ํค
- ํ๋์ ํ๋๋ก ๊ตฌ์ฑ๋ ํ๋ณด ํค๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด ์ ๋ฆฌ
์) (ํ๋ฒ), (์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ)
โ
โ ๊ธฐ๋ณธ ํค๋ ์๋ณ์์ ๊ธฐ๋ฅ์ ํ๊ธฐ ๋๋ฌธ์ null์ด ๋ ์ ์์
โ
์ธ๋ ํค(foreign key)
- ๋ค๋ฅธ ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ฅผ ์ฐธ์กฐํ๋ ํ๋ ์งํฉ
๋ ํ ์ด๋ธ์ ์คํค๋ง R1, R2์ ๋ํด์ R1์ ์ด๋ค ํ๋ ์งํฉ FK๊ฐ ๋ค์ ๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด, FK๋ R2์ ๊ธฐ๋ณธํค์ธ PK๋ฅผ ์ฐธ์กฐํ๋ R1์ ์ธ๋ํค์ด๋ค.
1. FK์ ํ๋๋ค์ R2์ ๊ธฐ๋ณธ ํค PK์ ๋์ผํ ๋๋ฉ์ธ์ ๊ฐ๋๋ค
2. R1์ ๋ชจ๋ ๋ ์ฝ๋์ FK๊ฐ์ R2์ ๋ ์ฝ๋ ์ค ํ๋์ PK ๊ฐ๊ณผ ์ผ์นํ๊ฑฐ๋ ๋์ด ๋๋ค
โ ์ด๋, R1์ ์ฐธ์กฐํ๋ ํ ์ด๋ธ(referencing table), R2๋ฅผ ์ฐธ์กฐ๋๋ ํ ์ด๋ธ(referenced table)์ด๋ผ ํจ
โฌ๏ธ ์ง์ ํ ์ด๋ธ
๋ถ์๋ฒํธ |
์ด๋ฆ |
์ฌ๋ฌด์ค |
D01 |
๊ธฐํ๊ณผ |
201ํธ |
D02 |
์ด๋ฌด๊ณผ |
202ํธ |
D03 |
์์ ๊ณผ |
203ํธ |
โฌ๏ธ ๋ถ์ ํ ์ด๋ธ
โ
R1 : ์ง์(์ง์๋ฒํธ, ์ด๋ฆ, ๋ถ์๋ฒํธ)
R2 : ๋ถ์(๋ถ์๋ฒํธ, ๋ถ์๋ช , ์ฌ๋ฌด์ค)
โ
์ง์ ํ ์ด๋ธ๊ณผ ๋ถ์ ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ ๊ฐ๊ฐ ์ง์๋ฒํธ์ ๋ถ์๋ฒํธ์ด๋ค
์ง์ ํ ์ด๋ธ์ ์ ์๋ ๋ถ์๋ฒํธ ํ๋๋ ๋ถ์ ํ ์ด๋ธ์ ์ฐธ์กฐํ๋ ์ธ๋ ํค๊ฐ ๋๋ค
โ
๊ต์๋ฒํธ |
์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ |
์ด๋ฆ |
ํ๊ณผ๋ช |
ํ๊ณผ์ฅ |
92001 |
590327-1839240 |
์ดํ๊ท |
์ปดํจํฐ๊ณตํ๊ณผ |
92001 |
92002 |
690702-1350026 |
๊ณ ํฌ์ |
์ปดํจํฐ๊ณตํ๊ณผ |
92001 |
92301 |
741011-2765501 |
์ต์ฑํฌ |
์ฐ์ ๊ณตํ๊ณผ |
92301 |
โฌ๏ธ ๊ต์ ํ ์ด๋ธ ์ธ์คํด์ค
โ
์ฐธ์กฐ๋๋ ํ ์ด๋ธ๊ณผ ์ฐธ์กฐํ๋ ํ ์ด๋ธ์ด ๋์ผํ ์ ์์
๊ต์(๊ต์๋ฒํธ, ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ, ์ด๋ฆ, ํ๊ณผ๋ช , ํ๊ณผ์ฅ)
โ
โฝ ๊ธฐ๋ณธ ํค๋ ํ๋ณดํค ์ค ํ๋์ด๋ฉฐ, ์ค๋ณต๋ ๊ฐ์ ๊ฐ๋ ๋ ์ฝ๋๊ฐ ์์ด์ผํ๊ณ ๋ํ ๋ ๊ฐ์ ๊ฐ์ ธ์๋ ์๋๋ค
โฝ ์ธ๋ํค๋ ์ฐธ์กฐํ๋ ๋ค๋ฅธ ํ ์ด๋ธ์ ๊ธฐ๋ณธํค์ ๊ทธ ๊ฐ์ด ๋ฐ๋์ ์กด์ฌํ๊ฑฐ๋ ์ต์ํ ๋ ๊ฐ์ ๊ฐ์ ธ์ผ ํ๋ค
โ
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ๊ด๊ณํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๊ธฐ๋ฐํ์ฌ ํ๋ ์ด์์ ํ ์ด๋ธ๋ก ์ค ์ธ๊ณ์ ๋ฐ์ดํฐ๋ฅผ ํํํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์ค ์ธ๊ณ๋ฅผ ๊ด๊ณํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ด๋ผ๋ ์ถ์์ ์ธ ๋๊ตฌ๋ฅผ ์ด์ฉํ์ฌ ํํ
- ํ ์ด๋ธ๋ค์ ์ปดํจํฐ์ ๊ธฐ์ต ์ฅ์น์ ์ด๋ค ๋ฐฉ๋ฒ์ผ๋ก ์ ์ฅํ ๊ฒ์ธ๊ฐ์ ๋ํ ๋ฌผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ๊น์ง ์ ์ํ ๊ฒ์ ์๋
โ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง(schema)
โ ํ ์ด๋ธ ์คํค๋ง์ ์งํฉ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค(instance)
โ ํ ์ด๋ธ ์คํค๋ง๋ค์ ๋ํ ํ ์ด๋ธ ์ธ์คํด์ค์ ์งํฉ