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

[SQL ์ „๋ฌธ๊ฐ€] ๊ณผ๋ชฉ I. ์ œ4์ ˆ ๊ด€๊ณ„(Relationship)

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

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

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป์ œ4์ ˆ ๊ด€๊ณ„


1. ๊ด€๊ณ„์˜ ๊ฐœ๋…

์ตœ์ดˆ์˜ ERD(์ฒธ ๋ชจ๋ธ)์—์„œ ๊ด€๊ณ„๋Š” ์†์„ฑ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์—ˆ์œผ๋‚˜,

์š”์ฆ˜ ERD์—์„œ๋Š” ๊ด€๊ณ„๋ฅผ ์œ„ํ•ด ์†์„ฑ์„ ๋„์ถœํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค.

๊ด€๊ณ„์˜ ํ‘œํ˜„์—๋Š” ์ดํ•ญ ๊ด€๊ณ„(Binary Relationship), ์‚ผํ™ฉ ๊ด€๊ณ„(Ternary Relationship), nํ•ญ ๊ด€๊ณ„๊ฐ€ ์กด์žฌํ•œ๋‹ค.

2. ๊ด€๊ณ„์˜ ๋ถ„๋ฅ˜

โœจUML(Unified Modeling Language)

UML์€ Software Engineering์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ‘œ์ค€ํ™”๋œ ๋ฒ”์šฉ ๋ชจ๋ธ๋ง ์–ธ์–ด์ด๋ฉฐ

์ด ํ‘œ์ค€์•ˆ์€ UML์„ ๊ณ ์•ˆํ•œ OMG(Object Management Group)์—์„œ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ๋‹ค. - ์œ„ํ‚ค๋ฐฑ๊ณผ

โˆ™ Unified 

UML์€ ๊ทธ๋ž˜๋”” ๋ถ€์น˜, ์ œ์ž„์Šค๋Ÿผ๋ฒ„, ์ด๋ฐ” ์•ผ์ฝฅ์Šค๋ผ๋Š” ์„ธ ์‚ฌ๋žŒ์€ 80๋…„๋ฐ ์ „๋ฐ˜๋ถ€ํ„ฐ 90๋…„๋Œ€ ์ดˆ๋ฐ˜๊นŒ์ง€ ๊ฐ์ฒด์ง€ํ–ฅ ๋ถ„์„ ์„ค๊ณ„ ๋ถ„์•ผ์—์„œ ๊ฐ์ž์˜ ์˜์—ญ์—์„œ ๋ฐฉ๋ฒ•๋ก ์„ ์—ฐ๊ตฌํ•ด์™”์Šต๋‹ˆ๋‹ค.

๊ทธ๋“ค์€ 90๋…„๋Œ€ ์ค‘๋ฐ˜์— ์ด๋ฅด๋Ÿฌ ๊ฐ์ž์˜ ์•„์ด๋””์–ด๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ  ๊ฒฐ๊ตญ ๊ฐ์ž์˜ ๋ฐฉ๋ฒ•์„ ํ•˜๋‚˜๋กœ ๋ชจ์•„ UML์ด ํƒ„์ƒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

โˆ™ Modeling 

Model์ด๋ž€ ํ”„๋กœ๊ทธ๋žจ์˜ ์„ค๊ณ„๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด Diagram์˜ ์ง‘ํ•ฉ์„ ๋งํ•œ๋‹ค. 

์ด Model์„ ํ†ตํ•ด์„œ ํ˜„์‹ค์„ ๋‹จ์ˆœํ™”/๊ฐ€์‹œํ™”ํ•˜์—ฌ ๊ฐœ๋ฐœํ•  ์‹œ์Šคํ…œ์˜ ๊ณ„ํš์„ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋•Œ Model ๊ตฌ์ถ•์„ ํ†ตํ•ด ๊ฐœ๋ฐœ ๋Œ€์ƒ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ์ฆ์ง„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โˆ™ Language 

์–ดํœ˜์™€ ๊ทœ์น™์„ ๋‘์–ด ์‹œ์Šคํ…œ์„ ๊ฐœ๋…์ ์ด๊ณ  ๋ฌผ๋ฆฌ์ ์œผ๋กœ ํ‘œํ˜„ํ•˜์—ฌ ์˜์‚ฌ ์†Œํ†ต์„ ๋„์›€์„ ์ค๋‹ˆ๋‹ค.  UML์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋„ ๋ฐฉ๋ฒ•๋ก ๋„ ์•„๋‹™๋‹ˆ๋‹ค.  ์‹œ์Šคํ…œ ์ž์ฒด์˜ "๋ชฉ์  ํ–‰๋™"์„ ์„ค๋ช…ํ•˜๋Š” ์–ธ์–ด์ž…๋‹ˆ๋‹ค.


์ถœ์ฒ˜: ๋งํฌ

๊ด€๊ณ„ ํ–‰์œ„ ํ‘œํ˜„๋ฐฉ๋ฒ•
์—ฐ๊ด€๊ด€๊ณ„(Association) ํ•ญ์ƒ ์ด์šฉํ•˜๋Š” ์กด์žฌ์  ๊ด€๊ณ„์— ํ•ด๋‹น ์‹ค์„ (→)
์˜์กด๊ด€๊ณ„(Dependency) ์ƒ๋Œ€๋ฐฉ ํด๋ž˜์Šค์˜ ํ–‰์œ„์— ์˜ํ•ด ๊ด€๊ณ„๊ฐ€ ํ˜•์„ฑ๋  ๋•Œ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ‘œํ˜„ ์ ์„ (โ‡ข)

 

3. ๊ด€๊ณ„์˜ ํ‘œ๊ธฐ๋ฒ•

๊ด€๊ณ„๋ช…(Membership) ๊ด€๊ณ„์˜ ์ด๋ฆ„
๊ด€๊ณ„์ฐจ์ˆ˜(Cardinality) 1:1 (ONE TO ONE)

1:M (ONE TO MANY)

M:N (MANY TO MANY)
๊ด€๊ณ„์„ ํƒ์‚ฌ์–‘(Optionality) ํ•„์ˆ˜๊ด€๊ณ„, ์„ ํƒ๊ด€๊ณ„

 

๊ฐ๊ฐ์˜ ๊ด€๊ณ„์— ๋Œ€ํ•œ IE ํ‘œ๊ธฐ๋ฒ•
by yunamom

4. ๊ด€๊ณ„์˜ ์ •์˜ ๋ฐ ์ฝ๋Š” ๋ฐฉ๋ฒ•

๊ด€๊ณ„ ์ฒดํฌ์‚ฌํ•ญ
๋‘ ๊ฐœ์˜ ์—”ํ„ฐํ‹ฐ ์‚ฌ์ด์— ๊ด€์‹ฌ ์žˆ๋Š” ์—ฐ๊ด€๊ทœ์น™์ด ์กด์žฌํ•˜๋Š”๊ฐ€?
๋‘ ๊ฐœ์˜ ์—”ํ„ฐํ‹ฐ ์‚ฌ์ด์— ์ •๋ณด์˜ ์กฐํ•ฉ์ด ๋ฐœ์ƒํ•˜๋Š”๊ฐ€?
์—…๋ฌด๊ธฐ์ˆ ์„œ, ์žฅํ‘œ์— ๊ด€๊ณ„์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ๊ทœ์น™์ด ์„œ์ˆ ๋˜์–ด ์žˆ๋Š”๊ฐ€?
์—…๋ฌด๊ธฐ์ˆ ์„œ, ์žฅํ‘œ์— ๊ด€๊ณ„์—ฐ๊ฒฐ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๋™์‚ฌ(Verb)๊ฐ€ ์žˆ๋Š”๊ฐ€?
๊ด€๊ณ„ ์ฝ๊ธฐ
๊ธฐ์ค€(Source) ์—”ํ„ฐํ‹ฐ๋ฅผ ํ•œ ๊ฐœ(One) ๋˜๋Š” ๊ฐ(Each)์œผ๋กœ ์ฝ๋Š”๋‹ค.
๋Œ€์ƒ(Target) ์—”ํ„ฐํ‹ฐ์˜ ๊ด€๊ณ„์ฐธ์—ฌ๋„, ์ฆ‰ ๊ฐœ์ˆ˜(ํ•˜๋‚˜, ํ•˜๋‚˜ ์ด์ƒ)๋ฅผ ์ฝ๋Š”๋‹ค.
๊ด€๊ณ„์„ ํƒ์‚ฌ์–‘๊ณผ ๊ด€๊ณ„๋ช…์„ ์ฝ๋Š”๋‹ค.

 

300x250

์ฝ”๋“œ