[DB] Relational Datal Model 2

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

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

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

๐ŸŒ Goal : Relation Model Constraints ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

Constraints (์ œ์•ฝ ์กฐ๊ฑด)

์ œ์•ฝ์กฐ๊ฑด์€ ์–ด๋–ค ๊ฐ’์ด ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•˜๊ณ  ์–ด๋–ค ๊ฐ’์ด ํ—ˆ์šฉ ๋ถˆ๊ฐ€๋Šฅํ•œ์ง€ ๊ฒฐ์ •ํ•œ๋‹ค. DB์˜ ๋ฌด๊ฒฐ์„ฑ์„ ์œ„ํ•ด ์ œ์•ฝ์กฐ๊ฑด์„ ์„ค์ •ํ•œ๋‹ค.

์ฃผ์š” ์นดํ…Œ๊ณ ๋ฆฌ :

  1. Inherent or implicit constraints

    • ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ์ž์ฒด์— ์˜ํ•ด ๊ฒฐ์ •๋œ๋‹ค. ex) ๊ด€๊ณ„ํ˜• ๋ชจ๋ธ์€ attribute์˜ ๊ฐ’์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ’์„ ๋„ฃ์„ ์ˆ˜ ์—†๋‹ค.
  2. Schema-based or explicit constraints

    • ๋ฐ์ดํ„ฐ๋ชจ๋ธ ์Šคํ‚ค๋งˆ์—์„œ ์ง์ ‘์ ์œผ๋กœ ๋ช…์‹œ๋˜์–ด ํ‘œํ˜„๋œ๋‹ค. ex) ER ๋ชจ๋ธ์˜ total/partial participation, min/max cardinality
  3. Application-based or semantic constraints

    • ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์— ๋ช…์‹œ๋  ์ˆ˜ ์—†๊ณ  ์•ฑ ํ”„๋กœ๊ทธ๋žจ์— ์˜ํ•ด์„œ ๊ตฌํ˜„(๊ฐ•์ œ)ํ•ด์•ผ๋œ๋‹ค.

    ๐ŸŒ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ๊ทธ๋žจ ๋‚ด์—์„œ ํŠน์ •ํ™” ๋  ์ˆ˜ ์žˆ๋‹ค.

Relational ๋ชจ๋ธ์—์„œ๋Š” ์œ„์˜ ๋‘ ๋ฒˆ์งธ ์ œ์•ฝ์กฐ๊ฑด์— ์ง‘์ค‘ํ•œ๋‹ค.

Relational Integrity Constraints (๊ด€๊ณ„ ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด)

  • ์ œ์•ฝ์กฐ๊ฑด์€ ๋ชจ๋“  relation state์—์„œ ์œ ํšจํ•ด์•ผํ•œ๋‹ค.

  • ๋ฌด๊ฒฐ์„ฑ(integrity)์€ ๋ฐ์ดํ„ฐ์— ๊ฒฐํ•จ์ด ์—†๋Š” ์ƒํƒœ, ์ฆ‰ ๋ฐ์ดํ„ฐ๋ฅผ ์ •ํ™•ํ•˜๊ณ  ์œ ํšจํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

  • ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด์˜ ์ฃผ์š” ๋ชฉ์ ์€ย ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ๋ฅผ ์ผ๊ด€๋˜๊ฒŒ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ ์ด๋‹ค.

๐ŸŒ 1) Key ์ œ์•ฝ ์กฐ๊ฑด: Unique constraints( ์œ ์ผ ์ œ์•ฝ ์กฐ๊ฑด)
2) Entity ์ œ์•ฝ์กฐ๊ฑด: ๊ธฐ๋ณธ ํ‚ค(pk)์†์„ฑ์€ NULL์ด ๋  ์ˆ˜ ์—†๋‹ค.
3) Referential ingegrity(์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ) ์ œ์•ฝ์กฐ๊ฑด: ์™ธ๋ž˜ ํ‚ค(FK)์˜ ๊ฐ’์€ ๋ฐ˜๋“œ์‹œ ์ฐธ์กฐํ•˜๋Š” relation์˜ ๊ธฐ๋ณธ ํ‚ค(pk)์ด์–ด์•ผ ํ•œ๋‹ค. ํ˜น์€ NULL ์ผ ์ˆ˜๋„ ์žˆ๋‹ค.

Key ์ œ์•ฝ ์กฐ๊ฑด: Unique constraints( ์œ ์ผ ์ œ์•ฝ ์กฐ๊ฑด)

Realtion์˜ ๋ชจ๋“  ํŠœํ”Œ๋“ค์€ ๋ชจ๋‘ ์‹๋ณ„๋˜์–ด์•ผํ•œ๋‹ค. "distinct"

Super key : ์œ ์ผ์„ฑ์„ ๋งŒ์กฑํ•˜๋Š” ์–ดํŠธ๋ฆฌ๋ทฐํŠธ๋“ค์˜ ์ง‘ํ•ฉ

Candidate key : Super key ์ค‘์—์„œ ์ตœ์†Œ์„ฑ์„ ๋งŒ์กฑํ•˜๋Š” ๊ฒƒ๋“ค

Key (primary key) : Candidate ์ค‘์—์„œ ํ•œ๊ฐœ

๋ชจ๋“  key๋Š” super key์ด์ง€๋งŒ, ๊ทธ ๋ฐ˜๋Œ€๋Š” ์•„๋‹ˆ๋‹ค.

Primary key(๊ธฐ๋ณธ ํ‚ค)๋Š” ํ›„๋ณด ํ‚ค ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•œ ๊ฒƒ์ด๊ณ , ๋‚˜๋จธ์ง€ ํ‚ค๋Š” alternate key(๋Œ€์ฒด ํ‚ค)๊ฐ€ ๋œ๋‹ค.

Primary key(๊ธฐ๋ณธ ํ‚ค)๋Š” relation์—์„œ ๊ฐ ํŠœํ”Œ๋“ค์„ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ๋˜ํ•œ, ๋‹ค๋ฅธ ํŠœํ”Œ์ด ํŠœํ”Œ์„ ์ฐธ์กฐํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ์ด๋•Œ ์ฐธ์กฐ๋˜๋Š” ํ‚ค๋ฅผ โ€˜foreign key(์™ธ๋ž˜ ํ‚ค)โ€˜๋ผ๊ณ  ํ•œ๋‹ค.

Entity ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด

Primary Key(PK)๋Š” NULL๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋Š” ์ œ์•ฝ์กฐ๊ฑด์ด๋‹ค.ย ์–ด๋Š ํŠœํ”Œ์˜ ์–ด๋–ค ๊ธฐ๋ณธ ํ‚ค๋ผ๋„ NULL ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๊ธฐ๋ณธ ํ‚ค๋Š” ์–ด๋–ค ํŠœํ”Œ์„ ์œ ์ผํ•˜๊ฒŒ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

Referential ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด

๋‘ ๊ฐœ ์ด์ƒ์˜ ๊ด€๊ณ„์— ๋Œ€ํ•œ ์ œ์•ฝ์กฐ๊ฑด์ด๋‹ค.ย ์ฐธ์กฐํ•˜๋Š” relation์˜ ํŠœํ”Œย R1์€ ์ฐธ์กฐ๋˜๋Š” ํŠœํ”Œ์˜ PK๋ฅผ ์†์„ฑ(FK)์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋‘ ๊ด€๊ณ„ ๊ฐ„ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.

์ฐธ์กฐ : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ ์กฐ๊ฑด ๋” ์•Œ์•„๋ณด๊ธฐ

Relational Database Schema

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ๋Š” ๋™์ผํ•œ DB์— ์†ํ•˜๋Š” relational schema์˜ ์ง‘ํ•ฉย S๋‹ค.

S: ์ „์ฒด ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ ์ด๋ฆ„ (e.g COMPANY)

S={R1,R2,....,Rn} + set of INTEGRITY CONSTRAINTS(ICs)

R1,R2,....,Rn๋Š” S์— ์žˆ๋Š” relation schema ์˜ ์ด๋ฆ„์ด๋‹ค.

Transaction

์ „์ฒด์˜ ๊ณผ์ •๋“ค์ด ์™„๋ฒฝํ•˜๊ฒŒ ํ•˜๋‚˜์˜ ์—ฐ์‚ฐ์ฒ˜๋Ÿผ ์ผ์–ด๋‚˜์•ผ ํ•˜๋Š” ์ž‘์—…์˜ ๋‹จ์œ„์ด๋‹ค.

OLTP(online transcation processing )

์ฟผ๋ฆฌ ์ž์ฒด๋„ transaction ๋˜์ง€๋งŒ ์ฟผ๋ฆฌ ์ด์™ธ์— ์‚ฝ์ž…,์‚ญ์ œ,๋ณ€๊ฒฝ ๋ฅผ ํฌ๊ด„ํ•˜๊ณ  ์žˆ๋Š” ํ–‰์œ„๋“ค์ด ํ•˜๋‚˜์˜ ์ž‘์—… ๋‹จ์œ„์ฒ˜๋Ÿผ ์ด๋ฃจ์–ด์ ธ์•ผํ•จ.

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

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

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

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