[RDBMS Modeling 기초] 1. κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€

2023. 2. 24. 18:13Β·Develop/DB

 

κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(relational database)λž€?

 

 

κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€λž€ ν…Œμ΄λΈ”(table)둜 이루어져 있으며, 이 ν…Œμ΄λΈ”은 ν‚€(key)와 κ°’(value)의 관계λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

 

 

고유 μ‹λ³„μž

 

Unique 

 

μ—¬λŸ¬κ°œμ˜ 집합체λ₯Ό λ‹΄κ³  μžˆλŠ” ν•˜λ‚˜μ˜ ν†΅μ—μ„œ 각각을 ꡬ뢄할 수 μžˆλŠ” 논리적인 μ΄λ¦„μ˜ κ΅¬λΆ„μžλ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

 

ν•˜λ‚˜μ˜ 엔터티에 κ΅¬μ„±λ˜μ–΄ μžˆλŠ” μ—¬λŸ¬κ°œμ˜ 속성 쀑에 μ—”ν„°ν‹°λ₯Ό λŒ€ν‘œν•  수 μžˆλŠ” 속성을 μ˜λ―Έν•˜λ©°

 

ν•˜λ‚˜μ˜ μ—”ν„°ν‹°λŠ” λ°˜λ“œμ‹œ ν•˜λ‚˜μ˜ μ‹λ³„μžκ°€ μ‘΄μž¬ν•΄μ•Ό ν•©λ‹ˆλ‹€.

 

 

μ°Έμ‘° 무결성

 

ν…Œμ΄λΈ”μ—μ„œ μ™Έλž˜ν‚€λ₯Ό μ„ μ–Έ 

 

μ™Έλž˜ν‚€λŠ” λ‹€λ₯Έ ν…Œμ΄λΈ”μ— μ •μ˜λœ 고유 μ‹λ³„μžλ₯Ό μ°Έμ‘°

 

μ™Έλž˜ν‚€μ˜ 값은 λ‹€λ₯Έ ν…Œμ΄λΈ”μ— μ •μ˜λœ 고유 μ‹λ³„μžμ˜ κ°’μ˜ λ²”μœ„λ₯Ό λ„˜μ„ 수 없도둝 μ œν•œλ¨ 

 

 

μ£Ό μ‹λ³„μž(Primary Key)

 

ν•˜λ‚˜μ˜ λ ˆμ½”λ“œλ₯Ό κ³ μœ ν•˜κ²Œ ꡬ뢄할 수 μžˆλŠ” 것

 

후보 ν‚€λ“€ 쀑에 λŒ€ν‘œ ν‚€λ‘œ μ„ μ •λœ μ‹λ³„μž

 

Primary KeyλŠ” ν…Œμ΄λΈ” 등둝 μ‹œ λͺ…μ‹œν•΄ μ£Όμ–΄μ•Ό 함 

 

Not NULL & Unique : 무쑰건 값이 μ‘΄μž¬ν•΄μ•Ό 함 / μœ μΌμ„± 

 

ex) ν•Έλ“œν°μ€ unique -> but μ£Ό μ‹λ³„μžλ‘œλŠ” μ‚¬μš© X : ν•Έλ“œν°μ΄ μ—†λŠ” 학생도 있기 λ•Œλ¬Έ

 

μ£Ό μ‹λ³„μžλŠ” ν•˜λ‚˜λ°–μ— μ§€μ •ν•  수 μ—†λ‹€ 

 

Not NULL & Unique ν•œ μ‹λ³„μžμ—¬λ„ μ£Ό μ‹λ³„μžλŠ” ν•˜λ‚˜λΏμ΄λ―€λ‘œ λ‚˜λ¨Έμ§€λŠ” λ‹€ 후보 μ‹λ³„μž

 

무엇을 μ£Ό μ‹λ³„μžλ‘œ μ„ μ •ν•΄μ•Ό ν•˜λŠ”κ°€ ? 

 

 

 

 

후보 ν‚€(Candidate Identifier)

 

μ£Ό μ‹λ³„μžκ°€ 될 κ°€λŠ₯성이 μžˆλŠ” μ‹λ³„μž 

 

 

 

주민번호,폰번호,이메일,고객번호 - Unique 함 

 

폰번호,이메일 - NULL 일 κ°€λŠ₯성이 있음 

 

고객번호 : μ‚¬μ—…μžκ°€ λΆ€μ—¬ν•œ 정보

 

주민번호 : 고객이 μ œκ³΅ν•œ 정보 

 

고객듀이 μ œκ³΅ν•œ 데이터듀은 보톡 PK둜 μ±„νƒν•˜μ§€ μ•ŠλŠ”λ‹€ 

 

κ³ κ°λ²ˆν˜ΈλŠ” μš°λ¦¬κ°€ 확신을 κ°€μ§€κ³  ν•˜λ‚˜λ„ μ•ˆλΉ μ§€κ³  Unique ν•˜κ²Œ λΆ€μ—¬ν•œ 정보 ! 

 

--> κ³ κ°λ²ˆν˜Έκ°€ PKκ°€ 될 ν™•λ₯ μ΄ 제일 λ†’λ‹€ 

 

 

κ²°μ •μž(Determinant): 이 값을 μ•Œλ©΄ λ‚˜λ¨Έμ§€ 속성 값도 μ•Œ 수 μžˆλŠ” μ†μ„±

 

μ™Όμͺ½ κ²°μ •μž 속성이 λͺ¨λ‘ 후보 μ‹λ³„μž

 

• FD: 고객번호 -> 고객λͺ…

• FD1: 주민번호 -> 고객λͺ…

• FD2: 폰번호 -> 고객λͺ…

• FD3: 이메일 -> 고객λͺ…

 

 

 

μ €μž‘μžν‘œμ‹œ (μƒˆμ°½μ—΄λ¦Ό)

'Develop > DB' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[RDBMS Modeling 기초] 5. 관계(Relation) - μ—°μŠ΅λ¬Έμ œ  (0) 2023.03.01
[RDBMS Modeling 기초] 4. 관계(Relation) - M:N 관계  (0) 2023.02.28
[RDBMS Modeling 기초] 3. 관계(Relation) - 1:M 관계  (0) 2023.02.27
[RDBMS Modeling 기초] 2. Primary Key 섀계  (0) 2023.02.26
[λ°μ΄ν„°λ² μ΄μŠ€] H2 λ°μ΄ν„°λ² μ΄μŠ€ μ„€μΉ˜ν•˜κΈ°  (0) 2023.02.24
'Develop/DB' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [RDBMS Modeling 기초] 4. 관계(Relation) - M:N 관계
  • [RDBMS Modeling 기초] 3. 관계(Relation) - 1:M 관계
  • [RDBMS Modeling 기초] 2. Primary Key 섀계
  • [λ°μ΄ν„°λ² μ΄μŠ€] H2 λ°μ΄ν„°λ² μ΄μŠ€ μ„€μΉ˜ν•˜κΈ°
hello_u
hello_u
  • hello_u
    😜
    hello_u
  • 전체
    였늘
    μ–΄μ œ
    • 😜 (345)
      • Hardware (2)
        • BMC (2)
      • Spring (109)
        • Spring μž…λ¬Έ (20)
        • Spring κΈ°λ³Έ (27)
        • Spring MVC (18)
        • Spring DB (22)
        • Spring JPA κΈ°λ³Έ (16)
        • Spring JPA ν™œμš© (6)
      • Develop (27)
        • DB (8)
        • JAVA (4)
        • Web (2)
        • Python (7)
        • OSS (2)
        • Git (2)
        • API (2)
      • Algorithm (155)
        • CodeUp 기초 (44)
        • 파이썬 μ½”λ”©ν…ŒμŠ€νŠΈ (64)
        • ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ (4)
        • SWEA (30)
        • Softeer (10)
        • BOJ (2)
      • CS (9)
        • μ»΄ν“¨ν„°μΌλ°˜ (3)
        • 운영체제 (3)
        • λ°μ΄ν„°λ² μ΄μŠ€ (0)
        • 정보톡신 (1)
        • 자료ꡬ쑰 (1)
        • μ†Œν”„νŠΈμ›¨μ–΄ 곡학 (1)
        • ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄ (0)
        • μ΅œμ‹  λ””μ§€ν„Έ, μΌλ°˜μƒμ‹ (0)
      • 자격증 (41)
        • μ •λ³΄λ³΄μ•ˆκΈ°μ‚¬ (9)
        • μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬ (22)
        • λ¦¬λˆ…μŠ€λ§ˆμŠ€ν„° 1κΈ‰ (3)
        • SQLD (7)
  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.3
hello_u
[RDBMS Modeling 기초] 1. κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€
μƒλ‹¨μœΌλ‘œ

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