ν‚€(Key)와 무결성 μ œμ•½ 쑰건

2020. 4. 27. 14:35Β·πŸ“ Computer Science/✏ Database

κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€λŠ” 관계 λŒ€μˆ˜μ˜ κ°œλ…μ„ λ°”νƒ•μœΌλ‘œ κ°œλ°œλ˜μ—ˆκ³  λ°μ΄ν„°κ°€ ν…Œμ΄λΈ”μ— μ €μž₯되며 각 ν…Œμ΄λΈ”μ€ ν–‰(νŠœν”Œ)κ³Ό μ—΄(속성)둜 κ΅¬μ„±λœλ‹€.

  • 관계 λŒ€μˆ˜: μ–΄λ–€ 데이터λ₯Ό μ–΄λ–»κ²Œ μ°ΎλŠ”μ§€μ— λŒ€ν•œ 처리 절차λ₯Ό λͺ…μ‹œν•˜λŠ” 절차적인 언어이닀.

 

κ΄€κ³„ν˜• 데이터 λͺ¨λΈ - λ¦΄λ ˆμ΄μ…˜

 

1. ν‚€(Key)

νŠœν”Œλ“€μ„ μ„œλ‘œ ꡬ뢄할 수 μžˆλŠ” 기쀀이 λ˜λŠ” 속성(μ• νŠΈλ¦¬λ·°νŠΈ)을 λ§ν•œλ‹€.

 

  • 슈퍼 ν‚€(Super Key): μ†μ„±λ“€μ˜ μ§‘ν•©μœΌλ‘œ μœ μΌμ„±μ€ λ§Œμ‘±ν•˜μ§€λ§Œ μ΅œμ†Œμ„±μ€ λ§Œμ‘±μ‹œν‚€μ§€ λͺ»ν•œλ‹€.
  • 후보 ν‚€(Candidate Key): νŠœν”Œμ„ μœ μΌν•˜κ²Œ μ‹λ³„ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” μ†μ„±λ“€μ˜ λΆ€λΆ„μ§‘ν•©μœΌλ‘œ λͺ¨λ“  νŠœν”Œμ— λŒ€ν•΄ μœ μΌμ„±κ³Ό μ΅œμ†Œμ„±μ„ λ§Œμ‘±μ‹œμΌœμ•Ό ν•œλ‹€.
    • μœ μΌμ„±(Unique): ν•˜λ‚˜μ˜ ν‚€κ°’μœΌλ‘œ ν•˜λ‚˜μ˜ νŠœν”Œλ§Œμ„ μœ μΌν•˜κ²Œ 식별할 수 μžˆμ–΄μ•Ό ν•œλ‹€.
    • μ΅œμ†Œμ„±(Minimality): νŠœν”Œλ“€μ„ μœ μΌν•˜κ²Œ μ‹λ³„ν•˜λŠ” 데 κΌ­ ν•„μš”ν•œ μ†μ„±μœΌλ‘œλ§Œ κ΅¬μ„±λ˜μ–΄μ•Ό ν•œλ‹€.
  • κΈ°λ³Έ ν‚€(Primary Key): 후보 ν‚€ μ€‘μ—μ„œ νŠΉλ³„νžˆ μ„ μ •λœ μ£Όν‚€(Main Key)둜 Null κ°’κ³Ό λ™μΌν•œ 값이 쀑볡될 수 μ—†λ‹€.
  • λŒ€μ²΄ ν‚€(Alternate Key): 후보 ν‚€λ₯Ό μ œμ™Έν•œ λ‚˜λ¨Έμ§€ 후보 ν‚€λ₯Ό λ§ν•œλ‹€.
  • μ™Έλž˜ ν‚€(Foreign Key): λ‹€λ₯Έ λ¦΄λ ˆμ΄μ…˜(ν…Œμ΄λΈ”)의 κΈ°λ³Έν‚€λ₯Ό μ°Έμ‘°ν•˜λŠ” 속성 λ˜λŠ” μ†μ„±λ“€μ˜ 집합을 μ˜λ―Έν•œλ‹€.

 

ν‚€μ˜ 관계

 

2. 무결성(Integrity) μ œμ•½ 쑰건

λ°μ΄ν„°λ² μ΄μŠ€μ— λ“€μ–΄μžˆλŠ” λ°μ΄ν„°μ˜ 정확성을 보μž₯ν•˜κΈ° μœ„ν•΄ λΆ€μ •ν™•ν•œ μžλ£Œκ°€ λ°μ΄ν„°λ² μ΄μŠ€ 내에 μ €μž₯λ˜λŠ” 것을 λ°©μ§€ν•˜κΈ° μœ„ν•œ μ œμ•½ 쑰건을 λ§ν•œλ‹€.

 

  • 개체(Entity) 무결성: κΈ°λ³Έν‚€λ₯Ό κ΅¬μ„±ν•˜λŠ” μ–΄λ–€ 속성도 Null κ°’μ΄λ‚˜ 쀑볡 값을 κ°€μ§ˆ 수 μ—†λ‹€.
  • 도메인(Domain) 무결성: μ£Όμ–΄μ§„ 속성 값이 μ •μ˜λœ 도메인에 μ†ν•œ 값이어야 ν•œλ‹€.
  • μ°Έμ‘°(Referential) 무결성: μ™Έλž˜ ν‚€ 값은 Null μ΄κ±°λ‚˜ μ°Έμ‘° λ¦΄λ ˆμ΄μ…˜μ˜ κΈ°λ³Έν‚€ κ°’κ³Ό 동일해야 ν•œλ‹€.
μ €μž‘μžν‘œμ‹œ (μƒˆμ°½μ—΄λ¦Ό)
'πŸ“ Computer Science/✏ Database' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • νŠΈλžœμž­μ…˜(Transaction)
  • μ •κ·œν™”(Normalization)
  • 인덱슀(Index)
  • λ°μ΄ν„°λ² μ΄μŠ€(DataBase)
Blxxming
Blxxming
CS 지식과 κ³΅λΆ€ν•˜λ‹€ 배운 것, κ²½ν—˜ν•œ 것 등을 κΈ°λ‘ν•˜λŠ” λΈ”λ‘œκ·Έμž…λ‹ˆλ‹€.
  • Blxxming
    πŸ’‘λ²ˆλœ©πŸ’‘
    Blxxming
  • 전체
    였늘
    μ–΄μ œ
  • 곡지사항

    • Tech Interview
    • πŸ“š Tech (246)
      • πŸ“ Computer Science (96)
        • ✏ OS (12)
        • ✏ Network & Web (10)
        • ✏ Database (11)
        • ✏ Data Structure (6)
        • ✏ Algorithm (40)
        • ✏ Design Pattern (9)
        • ✏ Cloud Computing (3)
        • ✏ (5)
      • πŸ“ Language (73)
        • ✏ Language (6)
        • ✏ C & C++ (11)
        • ✏ C# (19)
        • ✏ JAVA (37)
      • πŸ“ Game (43)
        • ✏ Computer Graphics (2)
        • ✏ Unity (14)
        • ✏ Unreal (26)
        • ✏ (1)
      • πŸ“ Book (34)
        • ✏ Effective (3)
        • ✏ Game Server (16)
        • ✏ Clean Code (14)
        • ✏ (1)
  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.0
Blxxming
ν‚€(Key)와 무결성 μ œμ•½ 쑰건
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”