관리 메뉴

Partially Committed

[#06] Database Design Using the E-R Model λ³Έλ¬Έ

πŸ’» Study !/Database System

[#06] Database Design Using the E-R Model

WonderJay 2022. 7. 18. 14:16
728x90
λ°˜μ‘ν˜•
SMALL

ν•™λΆ€ μˆ˜μ—…μ„ μ •λ¦¬ν•˜κΈ° μœ„ν•΄ μ˜¬λ¦¬λŠ” κ²Œμ‹œκΈ€μœΌλ‘œ, 잘λͺ»λœ λ‚΄μš©μ΄ μžˆμ„ μ‹œ μ§€μ ν•΄μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€!


   Database Design Using the E-R Model

Entity λž€ λ‹€λ₯Έ object κ³Ό λͺ…ν™•νžˆ κ΅¬λ³„λ˜λŠ” object λ₯Ό μ˜λ―Έν•˜λ©°, Database λŠ” collection of entities, relationship among entities 둜 modeling λœλ‹€. entity set 이라함은  같은 νŠΉμ„±μ„ κ³΅μœ ν•˜λŠ” 같은 type 의 entity λ“€μ˜ 집합을 λ§ν•œλ‹€. Relation μ΄λž€ entity λ“€κ°„μ˜ association  λ₯Ό μ˜λ―Έν•˜λ©°, relationship set 은 n>=2 인 entity λ“€ κ°„μ˜ μˆ˜ν•™μ μΈ 관계λ₯Ό λ§ν•œλ‹€. E-R λ‹€μ΄μ–΄κ·Έλž¨μ—μ„œ μ‚¬κ°ν˜•μ€ entity set 을 μ˜λ―Έν•˜λ©°, 닀이아λͺ¬λ“œλŠ” relationship set 을 μ˜λ―Έν•œλ‹€. 각각의 Attribute 듀은 entity λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ‚¬κ°ν˜• 내뢀에 μ°¨λ‘€λŒ€λ‘œ list up 되며, Underline 은 primary key attribute λ₯Ό μ˜λ―Έν•œλ‹€. 

 

Relationship set λ˜ν•œ attribute λ₯Ό κ°€μ§ˆ 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄ instructor κ³Ό student 사이에 advisor relationship set 이 μ‘΄μž¬ν•œλ‹€λ©΄ student κ°€ νŠΉμ • instructor 의 track 을 μ–Έμ œλΆ€ν„° μ‹œμž‘ν–ˆλŠ”μ§€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” data λΌλŠ” relationship set 이 μžˆμ„ 수 있고, κ·ΈλŸ¬ν•œ κ²½μš°μ—λŠ” data λŠ” 각각의 λ‹€λ₯Έ λ‚ μ§œ 데이터에 ν•΄λ‹Ήν•˜λŠ” attribute λ₯Ό 가지기 λ§ˆλ ¨μ΄λ‹€. λ˜ν•œ relationship 은 degree λ₯Ό κ°€μ§€λŠ”λ°, κ·Έ μ€‘μ—μ„œλ„ 두 개의 entity set μ‚¬μ΄μ˜ relationship 은 binary 라고 λΆ€λ₯Έλ‹€. (degree = 2) λŒ€λΆ€λΆ„μ˜ relationship 듀은 binary 이닀. degree κ°€ 3인 κ²½μš°λŠ” Ternary relationship 이라고 λΆ€λ₯΄λŠ”데, ternary relationship μ—μ„œλŠ” κ΄€κ³„μ„±μ˜ μ •μ˜μ— 따라 λ‹€μ†Œ λͺ¨ν˜Έν•œ 뢀뢄이 생길 여지가 많기 λ•Œλ¬Έμ— λŒ€λΆ€λΆ„ binary relationship 을 μ‚¬μš©ν•œλ‹€κ³  ν•œλ‹€.

 

    Attributes

●  Entity λŠ” attribute λ“€μ˜ 집합이닀.

●  Domain 은 attribute 듀이 각각 κ°€μ§ˆ 수 μžˆλŠ” (permitted) value λ“€μ˜ 집합이닀.

●  Attribute 듀은 λ‹€μ–‘ν•œ type λ“€λ‘œ ꡬ뢄할 수 μžˆλ‹€.

    Composite attribute 와 simple attribute κ°€ μžˆλŠ”λ° 예λ₯Ό λ“€μ–΄, name μ΄λΌλŠ” attribute κ°€ μžˆλ‹€λ©΄ ν•΄λ‹Ή attribute λŠ” first_name, middle_name, last_name 으둜 λΆ„ν•΄κ°€ κ°€λŠ₯ν•œλ° μ΄λŸ¬ν•œ nam κ³Ό 같은 κ²½μš°λŠ” composite attribute 라고 ν•œλ‹€. 

    그리고 Single - valued attribute 와 multivalued attribute κ°€ μžˆλŠ”λ°, 예λ₯Ό λ“€μ–΄ phone_numbers μ΄λΌλŠ” attribute κ°€ μžˆλ‹€λ©΄ μ „ν™”λ²ˆν˜ΈλŠ” ν•œ μ‚¬λžŒμ΄ μ—¬λŸ¬ 개λ₯Ό κ°€μ§ˆ 수 μžˆμœΌλ―€λ‘œ multivalued attribute 인 것이닀.

     κ·Έλ¦¬κ³  λ§Œμ•½ ν•˜λ‚˜μ˜ attribute λ‘œλΆ€ν„° λ‹€λ₯Έ attribute κ°€ μ–»μ–΄μ§€λŠ” κ²½μš°κ°€ μžˆλŠ”λ°, 이λ₯Ό Derived attribute 라고 ν•œλ‹€.

 

  Keys

Key λΌλŠ” 것은 단일 attribute μ΄κ±°λ‚˜ composite attribute 인데, record λ₯Ό unique ν•˜κ²Œ 식별할 수 μžˆλŠ” identifier 을 λ§ν•œλ‹€. κ·Έ μ€‘μ—μ„œλ„ Super Key λŠ” 각각의 μ—”ν‹°ν‹°λ₯Ό unique ν•˜κ²Œ ꡬ뢄지을 수 μžˆλŠ” attribute 의 set 이며, Super key μ€‘μ—μ„œλ„ minimal ν•œ 것을 candidate key 라고 ν•œλ‹€. cadidate key μ€‘μ—μ„œ ν•˜λ‚˜λ₯Ό μ„œνƒν•˜λ©΄ 그것이 λ°”λ‘œ primary key 이닀. primary key λŠ” null 값을 κ°€μ§ˆ 수 μ—†μ§€λ§Œ cadidate key λŠ” null 값을 κ°€μ§ˆ 수 μžˆλ‹€λŠ” 것도 νŒŒμƒλ˜λŠ” ν•˜λ‚˜μ˜ μ£Όμš”ν•œ νŠΉμ§•μ΄λ‹€. λ˜ν•œ E-R Diagram μ—μ„œ 두 개의 entity set 의 primary key 의 μ§‘ν•©μœΌλ‘œ relationship set 의 superkey λ₯Ό μ •μ˜ν•  수 μžˆλ‹€. Weak entity set μ΄λΌλŠ” κ°œλ…μ€ primary key λ₯Ό 가지지 μ•Šμ€ entity set 을 μ˜λ―Έν•˜λŠ”λ°, weak entity set 이 ν¬ν•¨λœ relationship set 은 겹닀이아λͺ¬λ“œ λ„ν˜•μœΌλ‘œ ν‘œκΈ°ν•œλ‹€. weak entity set 은 unique ν•œ entity κ°€ μ—†μ–΄μ„œ λ‹¨λ…μœΌλ‘œ entity λ₯Ό νŠΉμ •μ§€μ„ 수 μžˆλŠ” key κ°€ μ—†λŠ”λ°, weak entity set 와 μ—°κ²°λœ strong entity set 의 key λ₯Ό μ΄μš©ν•˜μ—¬ ν•΄κ²°ν•  수 μžˆλ‹€. κ·Έλƒ₯ λ‹¨μˆœνžˆ strong entity set (Identifying relationship)의 primary key λ₯Ό weak entity set 에 좔가해도 μ’‹μ§€λ§Œ, μ΄λ ‡κ²Œν•˜λŠ” 경우 data 의 λΆˆν•„μš”ν•œ redundancy κ°€ λ°œμƒν•˜λ―€λ‘œ νš¨μœ¨μ μ΄μ§€ μ•Šλ‹€. κ·Έλ³΄λ‹€λŠ” identifying relationship 의 primary key 와 λ¬Άμ–΄μ„œ μ‚¬μš©ν•˜λŠ” 것이 효율적이라고 ν•œλ‹€. 

 


References
●  Slides from Professor wookhee Kim (Konkuk. Univ)

●  Database System Concepts Seventh Edition

      - Avi Silberschatz Henry F. Korth S. Sudarshan

728x90
λ°˜μ‘ν˜•
LIST

'πŸ’» Study ! > Database System' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[DB] Correlation subquery 의 μ‹€ν–‰ μˆœμ„œ  (0) 2023.03.30
Natural Join 의 μœ„ν—˜μ„±? (03/22)  (0) 2023.03.22
[#07] Normalization  (0) 2022.07.18
[#01] Introduction  (0) 2022.07.06
Comments