[DB] Relational Data Model

eeeeuยท2023๋…„ 8์›” 25์ผ
0

๋ฐ์ดํƒ€๋ฒ ์ด์Šค

๋ชฉ๋ก ๋ณด๊ธฐ
9/11

๐ŸŒ Relational Model Concepts ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

Relational ๋ชจ๋ธ์€ 'Logical Model'์ด๋‹ค. ์ˆ˜ํ•™์  ๊ด€๊ณ„ ๊ฐœ๋…์„ ์‚ฌ์šฉํ•˜๊ณ , ์ง‘ํ•ฉ์ด๋ก ๊ณผ 1์ฐจ ์ˆ ์–ด ๋…ผ๋ฆฌ์— ์ด๋ก ์  ๊ทผ๊ฑฐ๋ฅผ ๋‘”๋‹ค.
e.g) Socrates is mortal. (o)
Being beautiful is good. (x)

Relation(๋ฆด๋ ˆ์ด์…˜)

์ง‘ํ•ฉ ๊ธฐ๋ฐ˜์˜ ์ˆ˜ํ•™์ ์ธ ๊ฐœ๋…

but, ์ง‘ํ•ฉ์€ ์ค‘๋ณต์ด ๋ถˆ๊ฐ€๋Šฅํ•˜์ง€๋งŒ , ์—ฌ๊ธฐ์„œ๋Š” ์ค‘๋ณต์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๊ด€๊ณ„๋ชจ๋ธ์—์„œ DB๋Š” relation๋“ค์˜ ์ง‘ํ•ฉ์ด๋‹ค.

Relation์€ table๊ณผ ๊ฐ™์€ ์—ญํ• ์„ ํ•œ๋‹ค.

Relation์€ ๋ณดํ†ต ์—ฌ๋Ÿฌ ํ–‰(row)๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๊ฐ ํ–‰์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋“ค์€ ํ˜„์‹ค ์„ธ๊ณ„์˜ entity๋‚˜ relationship์— ์ƒ์‘ํ•œ๋‹ค.

๊ฐ row์„ 'tuple'์ด๋ผ๊ณ  ํ•˜๊ณ , ๊ฐ column์˜ header๋ฅผ 'attribute'๋ผ๊ณ  ํ•œ๋‹ค.

Key of a relation

๊ฐ ๊ฐ์˜ row๋Š” ํ…Œ์ด๋ธ”์—์„œ row๋ฅผ ์‹๋ณ„์‹œ์ผœ์ค„ ์œ ํšจํ•œ ๋ฐ์ดํ„ฐ 'element' key๋ฅผ ๊ฐ€์ง„๋‹ค

์‹œ์Šคํ…œ์—์„œ ๋…๋ฆฝ์ ์œผ๋กœ ํ• ๋‹น๋œ ์—ฐ์†์ ์ธ ์ˆซ์ž๋‚˜ ์—ด์˜ ID๋ฅผ ํ‚ค๋กœ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋Š”๋ฐ ์ด ํ‚ค๋ฅผ 'surrogate key' (๋Œ€์ฒดํ‚ค)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

Schema

์Šคํ‚ค๋งˆ๋Š” relation์„ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.

๐Ÿ’ก R(A1,A2,....,An)

R : Realtion์˜ ์ด๋ฆ„

A1,A2,A3,.....,An : Attribute์˜ ๋ฆฌ์ŠคํŠธ

R์˜ degree : R์ด ๊ฐ€์ง„ Attribute ์˜ ์ˆ˜

Tuple(ํŠœํ”Œ)

ํŠœํ”Œ์€ ๊ฐ’๋“ค์˜ ์ •๋ ฌ๋œ ์ง‘ํ•ฉ์ด๋‹ค. <....>์— ํ‘œํ˜„ํ•œ๋‹ค.

ํŠœํ”Œ์˜ ๊ฐ ๊ฐ’์€ ์ ์ ˆํ•œ ๋„๋ฉ”์ธ์œผ๋กœ๋ถ€ํ„ฐ ๋‚˜์™€์•ผ ํ•จ.

Relation์—์„œ ํŠœํ”Œ์˜ ์ˆœ์„œ๋Š” ์ƒ๊ด€์—†์ง€๋งŒย attribute์˜ ์ˆœ์„œ๋Š” ๋ฌด์กฐ๊ฑด ์ง€์ผœ์ ธ์•ผ ํ•œ๋‹ค.

๋˜ํ•œ, ํŠœํ”Œ์˜ ๊ฐ’์€ atomicํ•˜๋‹ค๊ณ  ๊ฐ„์ฃผํ•œ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— โ€˜Compositeโ€™ ๊ฐ’์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ๋กœ, โ€˜Multi-valuedโ€™ ๊ฐ’์€ ๋ถ„๋ฆฌ๋œ relation์œผ๋กœ ๊ด€๋ฆฌํ•ด์•ผ ํ•œ๋‹ค.

Domain

atomicํ•œ ๊ฐ’๋“ค์˜ ์ง‘ํ•ฉ

๋…ผ๋ฆฌ์  ์ •์˜(์ด๋ฆ„)์„ ๊ฐ€์ง€๊ณ  data type์ด๋‚˜ data format์„ ๊ฐ€์ง

๋„๋ฉ”์ธ์„ ์‰ฝ๊ฒŒ ๋งํ•˜์ž๋ฉดย attribute๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฐ’์ด๋‹ค.

attribute์˜ ์ด๋ฆ„์ด ๊ด€๊ณ„์—์„œ ๋„๋ฉ”์ธ์˜ ์—ญํ• ์„ ํ•˜๊ฒŒ ๋˜๋ฉด์„œ ๋„๋ฉ”์ธ์€ ๋” ๊ตฌ์ฒดํ™”๋œ๋‹ค.

์˜ˆ) โ€œํ•œ๊ตญ์˜ ํœด๋Œ€ํฐ ๋ฒˆํ˜ธโ€๋Š” 11 digit์„ ๊ฐ€์ง€๊ณ ย (01X)-dddd-dddd์˜ ํ˜•์‹์„ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค.

State

Relation State : relation์˜ attributes๋“ค์ด ๊ฐ€์ง€๋Š” ๋„๋ฉ”์ธ๋“ค์ด ๊ฐ€์ง€๋Š” ๋ชจ๋“  ๊ฐ’์ธ (์นดํ…Œ์‹œ์•ˆ ๊ณฑ)์˜ ๋ถ€๋ถ„์ง‘ํ•ฉ์ด๋‹ค. ์†์„ฑ๊ฐ’๋“ค๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ์กฐํ•ฉ๋“ค ์ค‘ ๋ถ€๋ถ„์ง‘ํ•ฉ, ์ฆ‰, ์‹ค์ œ๋กœ ์ ์ œ๋œ ํŠœํ”Œ๋“ค์„ ๋œปํ•จ



๊ธฐ์–ตํ•˜๊ธฐ

Relation์—์„œ Null ์ด ๊ฐ€์ง€๋Š” ์˜๋ฏธ

  • Null values in certain tuples:
    • Unknown(์•„์ง ๋ชจ๋ฅธ๋‹ค) : ์•„์ง ๋ชจ๋ฅด๋Š” ๊ฒฝ์šฐ
    • Not available(์ด์šฉ๊ฐ€๋Šฅํ•˜์ง€ ์•Š์€) : ์•„์ง ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ
    • Inapplicable(์‘์šฉํ•  ์ˆ˜ ์—†๋Š”) : ์„ ํƒ ํ•ญ๋ชฉ์ด ๋‹ค๋ฆ„





์ฐธ์กฐ ๋ฌธ์„œ

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ / Abraham Silberschatz, Henry F. Korth, S. Sudarshan ์ง€์Œ ; ์ •์—ฐ๋ˆ [์™ธ]์˜ฎ๊น€
profile
๋ผ๋”ฐ๋šœ์ด ์ธ์ƒ์ด๋ž€

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด