๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
IT์ž๊ฒฉ์ฆ ๊ณต๋ถ€/SQLD ์ž๊ฒฉ์ฆ

[SQL ์ „๋ฌธ๊ฐ€] ๊ณผ๋ชฉ I. ์ œ1์ ˆ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ์ดํ•ด

by yunamom 2022. 4. 4.
๋ฐ˜์‘ํ˜•

๊ณผ๋ชฉ I.  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป์ œ1์ ˆ  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ์ดํ•ด


1. ๋ชจ๋ธ๋ง์˜ ์ดํ•ด

๋ชจ๋ธ์ด๋ž€ ํ˜„์‹ค์„ธ๊ณ„๋ฅผ ์ถ”์ƒํ™”ํ•œ ๋ฐ˜์˜์ด๋‹ค. (๋ณต์žกํ•œ 'ํ˜„์‹ค์„ธ๊ณ„'๋ฅผ ๋‹จ์ˆœํ™”ํ•ด ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.)
๋ชจ๋ธ๋ง์€ ์ถ”์ƒํ™”, ๋‹จ์ˆœํ™”, ๋ช…ํ™•ํ™” ๋ผ๋Š” 3๋Œ€ ํŠน์ง•์œผ๋กœ ์š”์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค.
๋ชจ๋ธ๋ง์€ ๋ฐ์ดํ„ฐ ๊ด€์ (What,Data), ํ”„๋กœ์„ธ์Šค ๊ด€์ (How,Process), ๋ฐ์ดํ„ฐ์™€ ํ”„๋กœ์„ธ์Šค(Interaction)์˜ ์ƒ๊ด€ ๊ด€์ ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค.

2. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ๊ธฐ๋ณธ ๊ฐœ๋… ์ดํ•ด

์ •๋ณด์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ๊ด€์ ์˜ ์—…๋ฌด ๋ถ„์„ ๊ธฐ๋ฒ•
ํ˜„์‹ค์„ธ๊ณ„์˜ ๋ฐ์ดํ„ฐ(What)์— ๋Œ€ํ•ด ์•ฝ์†๋œ ํ‘œ๊ธฐ๋ฒ•์— ์˜ํ•ด ํ‘œํ˜„ํ•˜๋Š” ๊ณผ์ •
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ๋ถ„์„โˆ™์„ค๊ณ„์˜ ๊ณผ์ •

3. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ค‘์š”์„ฑ๊ณผ ์œ ์˜์ 

๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์ด ์ค‘์š”ํ•œ ์ด์œ ๋Š” ํŒŒ๊ธ‰ํšจ๊ณผ(Leverage), ๋ณต์žกํ•œ ์ •๋ณด ์š”๊ตฌ ์‚ฌํ•ญ์˜ ๊ฐ„๊ฒฐํ•œ ํ‘œํ˜„(Conciseness), ๋ฐ์ดํ„ฐ ํ’ˆ์งˆ(Data Quality)๋กœ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
๋ชจ๋ธ๋ง์„ ํ• ๋•Œ ์œ ์˜ํ•  ์ ์€ ์ค‘๋ณต, ๋น„์œ ์—ฐ์„ฑ, ๋น„์ผ๊ด€์„ฑ(Inconsistency) ์ด ์žˆ๋‹ค.

4. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ 3๋‹จ๊ณ„ ์ง„ํ–‰

 

๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ๋‚ด์šฉ
๊ฐœ๋…์  ์ถ”์ƒํ™” ์ˆ˜์ค€์ด ๋†’๊ณ  ์—…๋ฌด ์ค‘์‹ฌ์ ์ด๊ณ  ํฌ๊ด„์ ์ธ์ˆ˜์ค€์˜ ๋ชจ๋ธ๋ง ์ง„ํ–‰. ์ „์‚ฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง, EA ์ˆ˜๋ฆฝ ์‹œ ๋งŽ์ด ์ด์šฉ
๋…ผ๋ฆฌ์  ์‹œ์Šคํ…œ์œผ๋กœ ๊ตฌ์ถ•ํ•˜๊ณ ์ž ํ•˜๋Š” ์—…๋ฌด์— ๋Œ€ํ•ด Key, ์†์„ฑ, ๊ด€๊ณ„ ๋“ฑ์„ ์ •ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„, ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’์Œ
๋ฌผ๋ฆฌ์  ์‹ค์ œ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ด์‹ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ฑ๋Šฅ, ์ €์žฅ ๋“ฑ ๋ฌผ๋ฆฌ์ ์ธ ์„ฑ๊ฒฉ์„ ๊ณ ๋ คํ•˜์—ฌ ์„ค๊ณ„

5. ํ”„๋กœ์ ํŠธ ์ƒ๋ช…์ฃผ๊ธฐ์—์„œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง

์ผ๋ฐ˜์ ์œผ๋กœ๋Š” ๊ณ„ํš ๋˜๋Š” ๋ถ„์„ ๋‹จ๊ณ„์—์„œ ๊ฐœ๋…์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง
๋ถ„์„ ๋‹จ๊ณ„์—์„œ ๋…ผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง
์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ ๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์ด ์ˆ˜ํ–‰ ๋œ๋‹ค.
๋‹จ ํ˜„์‹ค ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๊ฐœ๋…์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ด ์ƒ๋žต๋œ ๊ฐœ๋…โˆ™๋…ผ๋ฆฌ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์ด ๋ถ„์„ ๋‹จ๊ณ„ ๋•Œ ๋Œ€๋ถ€๋ถ„ ์ˆ˜ํ–‰๋œ๋‹ค.

6. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์—์„œ ๋ฐ์ดํ„ฐ ๋…๋ฆฝ์„ฑ์˜ ์ดํ•ด

๋ฐ์ดํ„ฐ ๋…๋ฆฝ์„ฑ์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ตฌ์กฐ, ๋…๋ฆฝ์„ฑ, ์‚ฌ์ƒ(Mapping)์˜ 3๊ฐ€์ง€๋ฅผ ์ดํ•ดํ•˜๋ฉด ๋œ๋‹ค.

 

โˆ™ ๊ตฌ์กฐ

ํ•ญ๋ชฉ ๋‚ด์šฉ ๋น„๊ณ 
์™ธ๋ถ€ ์Šคํ‚ค๋งˆ (External Schema) - ๋ทฐ ๋‹จ๊ณ„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์‚ฌ์šฉ์ž ๊ด€์ ์œผ๋กœ ๊ตฌ์„ฑ, ์ฆ‰ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ๊ฐœ์ธ์  DB ์Šคํ‚ค๋งˆ
- ์‘์šฉ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ ‘๊ทผํ•˜๋Š” DB ์ •์˜
์‚ฌ์šฉ์ž ๊ด€์  ์ ‘๊ทผ ํŠน์„ฑ์— ๋”ฐ๋ฅธ ์Šคํ‚ค๋งˆ ๊ตฌ์„ฑ
๊ฐœ๋… ์Šคํ‚ค๋งˆ (Conceptual Schema) - ๊ฐœ๋… ๋‹จ๊ณ„ ํ•˜๋‚˜์˜ ๊ฐœ๋…์  ์Šคํ‚ค๋งˆ๋กœ ๊ตฌ์„ฑ ๋ชจ๋“ ์‚ฌ์šฉ์ž ๊ด€์ ์„ ํ†ตํ•ฉํ•œ ์กฐ์ง ์ „์ฒด์˜ DB๋ฅผ ๊ธฐ์ˆ ํ•˜๋Š” ๊ฒƒ ํ†ตํ•ฉ ๊ด€์ 
๋‚ด๋ถ€ ์Šคํ‚ค๋งˆ (Internal Schema) - ๋‚ด๋ถ€ ๋‹จ๊ณ„์™€ ๋‚ด๋ถ€ ์Šคํ‚ค๋งˆ๋กœ ๊ตฌ์„ฑ๋จ.
- DB๊ฐ€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ €์žฅ๋œ ํ˜•์‹
๋ฌผ๋ฆฌ์  ์ €์žฅ๊ตฌ์กฐ

โˆ™ ๋…๋ฆฝ์„ฑ

๋…ผ๋ฆฌ์  ๋…๋ฆฝ์„ฑ์€ ์™ธ๋ถ€์˜ ๋ณ€๊ฒฝ์—๋„ ๊ฐœ๋… ์Šคํ‚ค๋งˆ๊ฐ€ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค.
๋ฌผ๋ฆฌ์  ๋…๋ฆฝ์„ฑ์€ ๋‚ด๋ถ€ ์Šคํ‚ค๋งˆ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด๋„ ์™ธ๋ถ€โˆ™๊ฐœ๋… ์Šคํ‚ค๋งˆ๋Š” ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋„๋ก ์ง€์›ํ•œ๋‹ค.

โˆ™ ์‚ฌ์ƒ(Mapping)

์‚ฌ์ƒ ๋‚ด์šฉ ์˜ˆ
์™ธ๋ถ€์ โˆ™๊ฐœ๋…์  ์‚ฌ์ƒ
(๋…ผ๋ฆฌ์  ์‚ฌ์ƒ)
์™ธ๋ถ€์  ๋ทฐ์™€ ๊ฐœ๋…์  ๋ทฐ์˜ ์ƒํ˜ธ ๊ด€๋ จ์„ฑ์„ ์ •์˜ํ•จ ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘๊ทผํ•˜๋Š” ํ˜•์‹์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ํƒ€์ž…์˜ ํ•„๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ.
*๊ฐœ๋…์  ๋ทฐ์˜ ํ•„๋“œ ํƒ€์ž…์€ ๋ณ€ํ™”๊ฐ€ ์—†์Œ
๊ฐœ๋…์ โˆ™๋‚ด๋ถ€์  ์‚ฌ์ƒ
(๋ฌผ๋ฆฌ์  ์‚ฌ์ƒ)
๊ฐœ๋…์  ๋ทฐ์™€ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํ˜ธ ๊ด€๋ จ์„ฑ์„ ์ •์˜ํ•จ ๋งŒ์•ฝ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ๊ฐ€ ๋ฐ”๋€๋‹ค๋ฉด ๊ฐœ๋…์ โˆ™๋‚ด๋ถ€์  ์‚ฌ์ƒ์ด ๋ฐ”๋€Œ์–ด์•ผ ํ•จ.
๊ทธ๋ž˜์•ผ ๊ฐœ๋…์  ์Šคํ‚ค๋งˆ๊ฐ€ ๊ทธ๋Œ€๋กœ ๋‚จ์•„ ์žˆ๊ฒŒ ๋จ.

7. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ค‘์š”ํ•œ ์„ธ ๊ฐ€์ง€ ๊ฐœ๋…

๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์„ ๊ตฌ์„ฑํ•˜๋Š” ์ค‘์š”ํ•œ ๊ฐœ๋… ์„ธ ๊ฐ€์ง€๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์— ๋Œ€ํ•œ ์ดํ•ด์˜ ๊ทผ๊ฐ„์ด ๋˜๋ฏ€๋กœ ๋ฐ˜๋“œ์‹œ ๊ธฐ์–ตํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

1) ์—…๋ฌด๊ฐ€ ๊ด€์—ฌํ•˜๋Š” ์–ด๋–ค ๊ฒƒ(Things)
2) ์–ด๋–ค ๊ฒƒ์ด ๊ฐ€์ง€๋Š” ์„ฑ๊ฒฉ(Attributes)
3) ์—…๋ฌด๊ฐ€ ๊ด€์—ฌํ•˜๋Š” ์–ด๋–ค ๊ฒƒ ๊ฐ„์˜ ๊ด€๊ณ„(Relationships)

8. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด๊ด€๊ณ„์ž

์‹ค์ œ ์—…๋ฌด ํ”„๋กœ์ ํŠธ์—์„œ๋Š” DBA๊ฐ€ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์„ ์ „์ ์œผ๋กœ ํ•˜๋Š” ์˜ˆ๋Š” ๊ฑฐ์˜ ์—†๋‹ค.

 

๋ณดํ†ต ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์ž, ์—…๋ฌด ๋ถ„์„๊ฐ€ ๊ฐ€ ๋‹ด๋‹นํ•œ๋‹ค.

 

๊ทธ ์ด์œ ๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์ด๋ผ๋Š” ๊ณผ์ •์ด ์—…๋ฌด๋ฅผ ์ดํ•ดํ•˜๊ณ  ๋ถ„์„ํ•˜์—ฌ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๊ณ ,

 

๋งŽ์€ ์‹œ๊ฐ„์„ ์„ค๊ณ„ํ•˜๋Š” ๋ฐ ํ• ์• ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž - DBA ๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

์•ˆ๋…•ํ•˜์„ธ์š” yunamom ์ž…๋‹ˆ๋‹ค :D ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž - DBA ์— ๊ด€ํ•˜์—ฌ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ˜Š โˆ™ DBA๊ฐ€ ๋ญ”๊ฐ€์š”? DBA๋ž€ Database Administrator ์˜ ์•ฝ์ž๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค. ํ•œ

yunamom.tistory.com

 


9. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ํ‘œ๊ธฐ๋ฒ•์ธ ERD ์ดํ•ด

ERD(Entity Relationship Diagram) ๋Š” ๊ฐ ์—…๋ฌด ๋ถ„์„์—์„œ ๋„์ถœ๋œ ์—”ํ„ฐํ‹ฐ์™€ ์—”ํ„ฐํ‹ฐ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ

์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋„์‹ํ™”๋œ ๋‹ค์ด์–ด๊ทธ๋žจ์œผ๋กœ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

ERD ์ž‘์—…์ˆœ์„œโœ๏ธ
1. ์—”ํ„ฐํ‹ฐ๋ฅผ ๊ทธ๋ฆฐ๋‹ค.
2. ์—”ํ„ฐํ‹ฐ๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ๋ฐฐ์น˜ํ•œ๋‹ค.
3. ์—”ํ„ฐํ‹ฐ ๊ฐ„ ๊ด€๊ณ„๋ฅผ ์„ค์ •ํ•œ๋‹ค.
4. ๊ด€๊ณ„๋ช…์„ ๊ธฐ์ˆ ํ•œ๋‹ค.
5. ๊ด€๊ณ„์˜ ์ฐธ์—ฌ๋„๋ฅผ ๊ธฐ์ˆ ํ•œ๋‹ค.
6. ๊ด€๊ณ„์˜ ํ•„์ˆ˜์—ฌ๋ถ€๋ฅผ ๊ธฐ์ˆ ํ•œ๋‹ค.

10. ์ข‹์€ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ์š”์†Œ

์™„์ „์„ฑ
์ค‘๋ณต ๋ฐฐ์ œ
์—…๋ฌด ๊ทœ์น™
๋ฐ์ดํ„ฐ ์žฌ์‚ฌ์šฉ
์˜์‚ฌ์†Œํ†ต
ํ†ตํ•ฉ์„ฑ

 

300x250

์ฝ”๋“œ