Contents

Entity에 λŒ€ν•˜μ—¬

   Aug 22, 2024     2 min read

Entity에 λŒ€ν•˜μ—¬ μ•Œμ•„λ³Έ κΈ€μž…λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš”!

μ˜€λŠ˜μ€ λ°μ΄ν„°λ² μ΄μŠ€ μ„€κ³„μ˜ 핡심 κ°œλ… 쀑 ν•˜λ‚˜μΈ μ—”ν„°ν‹°(Entity)에 λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

μ—”ν„°ν‹°λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ μ€‘μš”ν•œ 역할을 ν•˜λ©°, 데이터λ₯Ό μ²΄κ³„μ μœΌλ‘œ κ΄€λ¦¬ν•˜κ³  μ‘°μ§ν™”ν•˜λŠ” 데 ν•„μˆ˜μ μž…λ‹ˆλ‹€.

그럼 μ—”ν„°ν‹°κ°€ 무엇인지, μ™œ μ€‘μš”ν•œμ§€, 그리고 μ–΄λ–»κ²Œ μ‚¬μš©ν•˜λŠ”μ§€ μžμ„Ένžˆ μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

μ—”ν„°ν‹°(Entity)λž€ 무엇인가?

μ •μ˜

μ—”ν„°ν‹°(Entity)λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ κ΄€λ¦¬ν•˜κ³ μž ν•˜λŠ” μ‹€μ²΄λ‚˜ 객체λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

μ΄λŠ” 물리적인 객체일 μˆ˜λ„ 있고, κ°œλ…μ μ΄λ‚˜ 논리적인 객체일 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, νšŒμ‚¬ λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ 직원, λΆ€μ„œ, ν”„λ‘œμ νŠΈ 등이 μ—”ν„°ν‹°κ°€ 될 수 μžˆμŠ΅λ‹ˆλ‹€.

μ˜ˆμ‹œ

  • 고객(Customer): 고객 ID, 이름, μ—°λ½μ²˜, μ£Όμ†Œ λ“±μ˜ 정보λ₯Ό ν¬ν•¨ν•˜λŠ” μ—”ν„°ν‹°μž…λ‹ˆλ‹€.
  • μ œν’ˆ(Product): μ œν’ˆ ID, 이름, 가격, μ œμ‘°μ‚¬ λ“±μ˜ 정보λ₯Ό ν¬ν•¨ν•˜λŠ” μ—”ν„°ν‹°μž…λ‹ˆλ‹€.
  • μ£Όλ¬Έ(Order): μ£Όλ¬Έ ID, μ£Όλ¬Έ λ‚ μ§œ, 고객 ID, μ œν’ˆ ID λ“±μ˜ 정보λ₯Ό ν¬ν•¨ν•˜λŠ” μ—”ν„°ν‹°μž…λ‹ˆλ‹€.

μ—”ν„°ν‹°μ˜ ꡬ성 μš”μ†Œ

속성(Attribute)

속성은 μ—”ν„°ν‹°μ˜ νŠΉμ„±μ„ λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄μ˜ λ‹¨μœ„μž…λ‹ˆλ‹€.

각 μ—”ν„°ν‹°λŠ” μ—¬λŸ¬ 개의 μ†μ„±μœΌλ‘œ κ΅¬μ„±λ˜λ©°, μ΄λŸ¬ν•œ 속성듀이 λͺ¨μ—¬ μ—”ν„°ν‹°μ˜ ꡬ체적인 정보λ₯Ό ν˜•μ„±ν•©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, 고객 μ—”ν„°ν‹°μ˜ μ†μ„±μœΌλ‘œλŠ” 이름, μ—°λ½μ²˜, μ£Όμ†Œ 등이 μžˆμŠ΅λ‹ˆλ‹€.

  • κΈ°λ³Έ 속성 (Simple Attribute): 더 이상 λ‚˜λˆŒ 수 μ—†λŠ” 단일 μ†μ„±μž…λ‹ˆλ‹€. 예: 이름, 생년월일
  • 볡합 속성 (Composite Attribute): μ—¬λŸ¬ 개의 ν•˜μœ„ μ†μ„±μœΌλ‘œ κ΅¬μ„±λœ μ†μ„±μž…λ‹ˆλ‹€. 예: μ£Όμ†Œ (λ„μ‹œ, λ„λ‘œλͺ…, 우편번호 λ“±)
  • νŒŒμƒ 속성 (Derived Attribute): λ‹€λ₯Έ 속성을 μ΄μš©ν•˜μ—¬ κ³„μ‚°λœ μ†μ„±μž…λ‹ˆλ‹€. 예: 총 μ£Όλ¬Έ κΈˆμ•‘ (단가 Γ— μˆ˜λŸ‰)

κΈ°λ³Έ ν‚€(Primary Key)

κΈ°λ³Έ ν‚€λŠ” μ—”ν„°ν‹° λ‚΄μ—μ„œ 각 μΈμŠ€ν„΄μŠ€λ₯Ό κ³ μœ ν•˜κ²Œ μ‹λ³„ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” 속성 λ˜λŠ” μ†μ„±λ“€μ˜ μ§‘ν•©μž…λ‹ˆλ‹€.

κΈ°λ³Έ ν‚€λŠ” μ—”ν„°ν‹°μ˜ λͺ¨λ“  μΈμŠ€ν„΄μŠ€κ°€ κ³ μœ ν•œ 값을 κ°€μ Έμ•Ό ν•˜λ©°, 이λ₯Ό 톡해 λ°μ΄ν„°λ² μ΄μŠ€ λ‚΄μ—μ„œ νŠΉμ • μ—”ν„°ν‹°λ₯Ό λΉ λ₯΄κ²Œ 검색할 수 μžˆμŠ΅λ‹ˆλ‹€.

μ™Έλž˜ ν‚€(Foreign Key)

μ™Έλž˜ ν‚€λŠ” ν•œ μ—”ν„°ν‹°μ˜ 속성이 λ‹€λ₯Έ μ—”ν„°ν‹°μ˜ κΈ°λ³Έ ν‚€λ₯Ό μ°Έμ‘°ν•˜λŠ” 경우λ₯Ό λ§ν•©λ‹ˆλ‹€.

μ΄λŠ” μ—”ν„°ν‹° κ°„μ˜ 관계λ₯Ό λ‚˜νƒ€λ‚΄λ©°, λ°μ΄ν„°λ² μ΄μŠ€μ˜ 무결성을 μœ μ§€ν•˜λŠ” 데 μ€‘μš”ν•œ 역할을 ν•©λ‹ˆλ‹€.

μ—”ν„°ν‹°μ˜ μ€‘μš”μ„±

데이터 ꡬ쑰화

μ—”ν„°ν‹°λŠ” 데이터λ₯Ό μ²΄κ³„μ μœΌλ‘œ κ΅¬μ‘°ν™”ν•˜λŠ” 데 μ€‘μš”ν•œ 역할을 ν•©λ‹ˆλ‹€.

이λ₯Ό 톡해 λ°μ΄ν„°λ² μ΄μŠ€ λ‚΄μ˜ 데이터가 λ…Όλ¦¬μ μœΌλ‘œ 쑰직되고, ν•„μš”ν•œ 정보λ₯Ό 효율적으둜 κ²€μƒ‰ν•˜κ³  관리할 수 μžˆμŠ΅λ‹ˆλ‹€.

데이터 무결성 보μž₯

μ—”ν„°ν‹°λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ˜ 무결성을 μœ μ§€ν•˜λŠ” 데 ν•„μˆ˜μ μž…λ‹ˆλ‹€.

κΈ°λ³Έ 킀와 μ™Έλž˜ ν‚€λ₯Ό 톡해 λ°μ΄ν„°μ˜ 일관성과 정확성을 보μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ΄λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ˜ 신뒰성을 높이고, 데이터 μ†μ‹€μ΄λ‚˜ 쀑볡을 λ°©μ§€ν•©λ‹ˆλ‹€.

λΉ„μ¦ˆλ‹ˆμŠ€ 둜직 반영

μ—”ν„°ν‹°λŠ” λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ λ°μ΄ν„°λ² μ΄μŠ€ 섀계에 λ°˜μ˜ν•˜λŠ” 데 μ€‘μš”ν•œ 역할을 ν•©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, 고객, μ œν’ˆ, μ£Όλ¬Έ λ“±μ˜ μ—”ν„°ν‹°λ₯Ό 톡해 μ‹€μ œ λΉ„μ¦ˆλ‹ˆμŠ€ 운영 방식을 λ°μ΄ν„°λ² μ΄μŠ€ ꡬ쑰에 μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

이λ₯Ό 톡해 λ°μ΄ν„°λ² μ΄μŠ€κ°€ λΉ„μ¦ˆλ‹ˆμŠ€ μš”κ΅¬μ‚¬ν•­μ„ 효과적으둜 지원할 수 μžˆμŠ΅λ‹ˆλ‹€.

μ—”ν„°ν‹° 섀계 μ‹œ 고렀사항

λͺ…ν™•ν•œ μ •μ˜

μ—”ν„°ν‹°λ₯Ό 섀계할 λ•ŒλŠ” 각 μ—”ν„°ν‹°κ°€ 무엇을 λ‚˜νƒ€λ‚΄λŠ”μ§€ λͺ…ν™•ν•˜κ²Œ μ •μ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.

μ΄λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ˜ λͺ©μ κ³Ό λΉ„μ¦ˆλ‹ˆμŠ€ μš”κ΅¬μ‚¬ν•­μ„ μ •ν™•νžˆ λ°˜μ˜ν•˜κΈ° μœ„ν•΄ μ€‘μš”ν•©λ‹ˆλ‹€.

μ μ ˆν•œ 속성 선택

각 엔터티에 포함될 속성을 μ‹ μ€‘ν•˜κ²Œ 선택해야 ν•©λ‹ˆλ‹€.

속성은 μ—”ν„°ν‹°μ˜ νŠΉμ„±μ„ 잘 λ‚˜νƒ€λ‚΄μ•Ό ν•˜λ©°, ν•„μš”ν•˜μ§€ μ•Šμ€ 속성은 μ œμ™Έν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

ν‚€ μ„€μ •

κΈ°λ³Έ 킀와 μ™Έλž˜ ν‚€λ₯Ό 적절히 μ„€μ •ν•˜μ—¬ λ°μ΄ν„°λ² μ΄μŠ€μ˜ 무결성을 μœ μ§€ν•΄μ•Ό ν•©λ‹ˆλ‹€.

κΈ°λ³Έ ν‚€λŠ” κ³ μœ μ„±κ³Ό μ΅œμ†Œμ„±μ„ λ§Œμ‘±ν•΄μ•Ό ν•˜λ©°, μ™Έλž˜ ν‚€λŠ” μ—”ν„°ν‹° κ°„μ˜ 관계λ₯Ό μ •ν™•νžˆ λ°˜μ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.

마치며

μ—”ν„°ν‹°λŠ” λ°μ΄ν„°λ² μ΄μŠ€ μ„€κ³„μ˜ 핡심 μš”μ†Œλ‘œ, 데이터λ₯Ό μ²΄κ³„μ μœΌλ‘œ κ΄€λ¦¬ν•˜κ³  λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ λ°˜μ˜ν•˜λŠ” 데 μ€‘μš”ν•œ 역할을 ν•©λ‹ˆλ‹€.

엔터티와 κ·Έ ꡬ성 μš”μ†ŒμΈ 속성, κΈ°λ³Έ ν‚€, μ™Έλž˜ ν‚€λ₯Ό 잘 μ΄ν•΄ν•˜κ³  μ„€κ³„ν•˜λ©΄, 효율적이고 μ‹ λ’°μ„± μžˆλŠ” λ°μ΄ν„°λ² μ΄μŠ€ μ‹œμŠ€ν…œμ„ ꡬ좕할 수 μžˆμŠ΅λ‹ˆλ‹€.

λ°μ΄ν„°λ² μ΄μŠ€ 섀계 μ‹œ μ—”ν„°ν‹°μ˜ μ€‘μš”μ„±μ„ 항상 염두에 두고, 체계적이고 논리적인 데이터 λͺ¨λΈμ„ λ§Œλ“€μ–΄ λ³΄μ„Έμš”.

이제 μ—¬λŸ¬λΆ„λ„ 엔터티에 λŒ€ν•΄ 잘 μ΄ν•΄ν•˜κ²Œ λ˜μ—ˆκΈΈ λ°”λžλ‹ˆλ‹€.

λ‹€μŒ ν¬μŠ€νŒ…μ—μ„œλŠ” μ—”ν„°ν‹° κ°„μ˜ 관계와 이λ₯Ό 효과적으둜 μ„€κ³„ν•˜λŠ” 방법에 λŒ€ν•΄ λ‹€λ€„λ³΄κ² μŠ΅λ‹ˆλ‹€.

λ§Žμ€ κΈ°λŒ€ λΆ€νƒλ“œλ¦½λ‹ˆλ‹€!