J1Yun
ZU-TECHLOG
J1Yun
전체 방문자
였늘
μ–΄μ œ
  • πŸ“‘ Category (135)
    • Algorithm (61)
      • πŸ“š Concept (6)
      • πŸ“˜ Baekjoon Judge (53)
      • πŸ“— Programmers (2)
    • Computer Science (42)
      • πŸ”’ Operating System (14)
      • πŸ“‘ Network (15)
      • πŸ’Ύ Database (8)
      • 🧩 Design Pattern (4)
      • πŸ”‘ Security (1)
    • Activities (12)
      • 🦁 λ©‹μŸμ΄μ‚¬μžμ²˜λŸΌ 9κΈ° (6)
      • πŸ’» SWλ§ˆμ—μŠ€νŠΈλ‘œ 13κΈ° (6)
    • Infra (1)
      • ☁️ AWS (1)
    • Languages (1)
      • πŸ’™ Python (1)
    • Backend (7)
      • πŸ”΅ Django (4)
      • 🟒 Node.js (3)
    • Ect. (8)
      • πŸ’¬ Talk (0)
      • πŸ—‚οΈ 개발직ꡰ μ·¨μ—… μ€€λΉ„μžλ£Œ (8)

λΈ”λ‘œκ·Έ 메뉴

  • ν™ˆ
  • νƒœκ·Έ
  • λ°©λͺ…둝

곡지사항

인기 κΈ€

졜근 λŒ“κΈ€

졜근 κΈ€

ν‹°μŠ€ν† λ¦¬

250x250
hELLO Β· Designed By μ •μƒμš°.
J1Yun

ZU-TECHLOG

[DB] λ°μ΄ν„°λ² μ΄μŠ€ 기초 μš©μ–΄, ν‚€(Key)의 κ°œλ…κ³Ό μ’…λ₯˜
Computer Science/πŸ’Ύ Database

[DB] λ°μ΄ν„°λ² μ΄μŠ€ 기초 μš©μ–΄, ν‚€(Key)의 κ°œλ…κ³Ό μ’…λ₯˜

728x90

λ°μ΄ν„°λ² μ΄μŠ€ κΈ°μ΄ˆ μš©μ–΄

  • λ¦΄λ ˆμ΄μ…˜(Relation)
    • κ΄€κ³„ν˜• 데이터 λͺ¨λΈμ—μ„œ ν•˜λ‚˜μ˜ κ°œμ²΄μ— κ΄€ν•œ 데이터λ₯Ό μ €μž₯ν•˜κΈ° μœ„ν•œ ꡬ쑰 (= ν…Œμ΄λΈ”)
    • μŠ€ν‚€λ§ˆμ™€ μΈμŠ€ν„΄μŠ€λ‘œ 이루어짐
  • μŠ€ν‚€λ§ˆ(Schema)
    • λ¦΄λ ˆμ΄μ…˜μ˜ 이름, 각 μ†μ„±μ˜ 이름, νƒ€μž…, 도메인 등을 μ •μ˜ν•˜λŠ” κ°œλ…
  • μΈμŠ€ν„΄μŠ€(Instance)
    • λ¦΄λ ˆμ΄μ…˜μ— μ €μž₯λ˜λŠ” 데이터(νŠœν”Œ)의 μ§‘ν•©
  • 속성(Attribute)
    • λ¦΄λ ˆμ΄μ…˜μ˜ μ—΄(Column)
    • μ„œλ‘œ λ‹€λ₯Έ 이름을 κ°€μ Έμ•Ό 함
  • νŠœν”Œ(Tuple) / λ ˆμ½”λ“œ(Record)
    • λ¦΄λ ˆμ΄μ…˜μ˜ ν–‰(Row)
    • 쀑볡 λΆˆκ°€
  • 차수(Degree)
    • ν•˜λ‚˜μ˜ λ¦΄λ ˆμ΄μ…˜μ—μ„œ μ†μ„±μ˜ 전체 개수
  • 카디널리티(Cardinality)
    • ν•˜λ‚˜μ˜ λ¦΄λ ˆμ΄μ…˜μ—μ„œ νŠœν”Œμ˜ 전체 개수
  • 도메인(Domain)
    • λ¦΄λ ˆμ΄μ…˜μ˜ 속성이 κ°€μ§ˆ 수 μžˆλŠ” μ›μžκ°’λ“€μ˜ μ§‘ν•©

 

 

ν‚€(Key)

  • λ¦΄λ ˆμ΄μ…˜μ˜ νŠœν”Œμ„ 식별할 수 μžˆλŠ” 단일 속성 ν˜Ήμ€ μ†μ„±λ“€μ˜ μ§‘ν•©
  • μœ μΌμ„±κ³Ό μ΅œμ†Œμ„±μ— 따라 ν‚€μ˜ μ’…λ₯˜κ°€ 달라짐

μœ μΌμ„±

  • ν•˜λ‚˜μ˜ ν‚€κ°’μœΌλ‘œ νŠœν”Œμ„ μœ μΌν•˜κ²Œ 식별할 수 μžˆλŠ” μ„±μ§ˆ
  • ν˜ˆμ•‘ν˜•, λ‚˜μ΄ (X) | 주민번호, ν•™λ²ˆ (0)

μ΅œμ†Œμ„±

  • ν‚€λ₯Ό κ΅¬μ„±ν•˜λŠ” 속성듀 쀑 κ°€μž₯ μ΅œμ†Œλ‘œ ν•„μš”ν•œ μ†μ„±λ“€λ‘œλ§Œ ν‚€λ₯Ό κ΅¬μ„±ν•˜λŠ” μ„±μ§ˆ
  • ν‚€λ₯Ό κ΅¬μ„±ν•˜κ³  μžˆλŠ” 속성듀이 각 νŠœν”Œμ„ κ΅¬λΆ„ν•˜λŠ” 데 κΌ­ ν•„μš”ν•œ μ†μ„±λ“€λ‘œλ§Œ κ΅¬μ„±λ˜μ–΄ μžˆλŠ”μ§€ 확인
  • [주민번호+λ‚˜μ΄] (X) | [주민번호] (X)
    • λ‚˜μ΄λ₯Ό ν‚€λ‘œ μ„€μ •ν•˜μ§€ μ•Šμ•„λ„ 주민번호 λ§ŒμœΌλ‘œλ„ μœ μΌμ„±μ„ λ§Œμ‘±ν•¨

 

ν‚€ μ’…λ₯˜

슈퍼 ν‚€(Super Key)

  • μŠˆνΌν‚€λŠ” μœ μΌμ„±μ˜ νŠΉμ„±μ„ λ§Œμ‘±ν•˜λŠ” 속성 λ˜λŠ” μ†μ„±λ“€μ˜ μ§‘ν•©
  • μ–΄λ–€ 속성을 κ²°ν•©ν•˜λ“  νŠœν”Œμ„ 식별할 수 있으며 쀑볡 νŠœλΈ”μ΄ λ°œμƒν•  수 μ—†λŠ” 경우
  • μ΅œμ†Œμ„±μ€ λ§Œμ‘±ν•˜μ§€ μ•Šμ•„λ„ 됨
  • Ex) [ν•™λ²ˆ], [주민번호], [ν•™λ²ˆ+이름], [주민번호+λ‚˜μ΄] λ“±

 

후보킀(Candidate Key)

  • μœ μΌμ„±κ³Ό μ΅œμ†Œμ„±μ„ λͺ¨λ‘ λ§Œμ‘±ν•˜λŠ” 속성 λ˜λŠ” μ†μ„±λ“€μ˜ μ§‘ν•©
  • μ΅œμ†Œμ˜ 속성을 κ²°ν•©ν•˜μ—¬ νŠœν”Œμ„ 식별할 수 μžˆμ–΄μ•Ό 함
  • Ex) [ν•™λ²ˆ], [주민번호]

 

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

  • μœ μΌμ„±κ³Ό μ΅œμ†Œμ„±μ„ λ§Œμ‘±ν•˜λŠ” 후보 ν‚€ 쀑 λ‹€μŒμ„ κ³ λ €ν•˜μ—¬ ν•˜λ‚˜λ₯Ό μ„ νƒν•œ ν‚€
    • NULL 값을 κ°€μ§ˆ 수 μ—†λŠ” 속성이 ν¬ν•¨λœ 후보 ν‚€
    • 값이 자주 변경될 수 μ—†λŠ” 속성이 ν¬ν•¨λœ 후보 ν‚€
    • λ‹¨μˆœν•œ 후보 ν‚€
  • Ex) [ν•™λ²ˆ]

 

λŒ€μ²΄ ν‚€(Alternate Key)

  • 후보 ν‚€κ°€ λ‘κ°œ 이상일 경우 ν‚€λ³Έν‚€λ‘œ ν•˜λ‚˜λ₯Ό μ§€μ •ν•˜κ³  남은 후보 ν‚€ μ§‘ν•©
  • 보쑰 킀라고도 함
  • Ex) [주민번호]

 

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

  • λ‹€λ₯Έ λ¦΄λ ˆμ΄μ…˜μ˜ κΈ°λ³Έ ν‚€λ₯Ό κ·ΈλŒ€λ‘œ μ°Έμ‘°ν•˜λŠ” 속성 λ˜λŠ” μ†μ„±λ“€μ˜ μ§‘ν•©
  • λ¦΄λ ˆμ΄μ…˜ κ°„μ˜ 관계λ₯Ό λ‚˜νƒ€λ‚΄κΈ° μœ„ν•΄ μ‚¬μš©
  • μ™Έλž˜ ν‚€μ—λŠ” μ°Έμ‘° ν…Œμ΄λΈ”μ˜ κΈ°λ³Έ 킀에 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” 값을 μ°Έμ‘°ν•  수 μ—†μŒ. (μ°Έμ‘° 무결성 쑰건)
    • 데이터 μΆ”κ°€/μ‚­μ œ μ‹œ 항상 μ™Έλž˜ ν‚€κ°€ μ°Έμ‘°ν•œ 값은 μ°Έμ‘° ν…Œμ΄λΈ”μ— μ‘΄μž¬ν•˜λ„λ‘ κ³ λ €ν•΄μ•Ό 함
  • Ex) μ™Έλž˜ ν‚€: μ£Όλ¬Έ ν…Œμ΄λΈ”μ˜ '주문고객' 속성 | μ°Έμ‘° ν‚€: 고객 ν…Œμ΄λΈ”μ˜ '고객ID'

 

 

⭐️ 참고

  • https://velog.io/@yun8565/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%ED%82%A4Key-%EC%A0%95%EB%A6%AC
  • https://inpa.tistory.com/entry/DB-%F0%9F%93%9A-%ED%82%A4KEY-%EC%A2%85%EB%A5%98-%F0%9F%95%B5%EF%B8%8F-%EC%A0%95%EB%A6%AC#recentComments
  • https://ggop-n.tistory.com/78
728x90
μ €μž‘μžν‘œμ‹œ (μƒˆμ°½μ—΄λ¦Ό)

'Computer Science > πŸ’Ύ Database' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[DB] 이상 ν˜„μƒ(Anomaly) κ°œλ…, μ’…λ₯˜  (0) 2023.03.31
[DB] SQL 쑰인(Join) κ°œλ…, μ’…λ₯˜  (0) 2023.03.24
[DB] νŠΈλžœμž­μ…˜(Transaction) κ°œλ…, νŠΉμ§•, μ—°μ‚°, μƒνƒœ  (0) 2023.03.22
[DB] RDBMS의 SQLκ³Ό NoSQL 차이  (0) 2023.03.21
[DB] 인덱슀(Index) κ°œλ…, μž₯단점, μ „λž΅, ꡬ쑰  (0) 2023.03.20
    'Computer Science/πŸ’Ύ Database' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ 글이닀
    • [DB] 이상 ν˜„μƒ(Anomaly) κ°œλ…, μ’…λ₯˜
    • [DB] SQL 쑰인(Join) κ°œλ…, μ’…λ₯˜
    • [DB] νŠΈλžœμž­μ…˜(Transaction) κ°œλ…, νŠΉμ§•, μ—°μ‚°, μƒνƒœ
    • [DB] RDBMS의 SQLκ³Ό NoSQL 차이
    J1Yun
    J1Yun
    개발 κ΄€λ ¨ 기술 및 곡뢀 λ‚΄μš© 기둝μž₯

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