관계 데이터 베이슀

πŸ“Œ 데이터 λͺ¨λΈ

  • ν˜„μ‹€ μ„Έκ³„μ˜ 데이터λ₯Ό λͺ…μ„Έν•˜λŠ” κ³ μœ ν•œ ν‘œν˜„ λ°©μ‹μ΄μž 데이터 λͺ¨λΈλ§μ„ μœ„ν•œ 도ꡬ
  • λ‹€μŒκ³Ό 같은 μ„Έκ°€μ§€μš”μ†Œλ₯Ό κ°€μ§„λ‹€.

πŸ“Œ 데이터 λͺ¨λΈμ˜ 3μš”μ†Œ

1️⃣ 데이터 ꡬ쑰

  • 데이터λ₯Ό μ–΄λ–€ ν˜•νƒœλ‘œ μ €μž₯ν•˜λŠ”μ§€λ₯Ό ν‘œν˜„ν•˜λŠ” 좔상적 ν‘œν˜„μ΄λ‹€.
  • μ‹€μ œ μ €μž₯ ꡬ쑰가 μ•„λ‹Œ κ°œλ…μƒμ˜ μ €μž₯ꡬ쑰λ₯Ό μ§κ΄€μ μœΌλ‘œ ν‘œν˜„ν•œ 것이닀.

2️⃣ μ—°μ‚°

  • κ²€μƒ‰ν•˜κ³ , λΉ„κ΅ν•˜κ³ ,,,,
  • κ°œλ…μ μΈ 데이터 ꡬ쑰 μ•ˆμ˜ 데이터λ₯Ό μ–΄λ–€ λ°©μ‹£μœΌλ‘œ μ²˜λ¦¬ν•˜λŠ”μ§€λ₯Ό ν‘œν˜„

3️⃣ μ œμ•½ 쑰건

  • 데이터 ꡬ쑰 μ•ˆμ— 데이터λ₯Ό μ €μž₯ν•  λ•Œμ˜ ꡬ쑰적 μ œμ•½ 사항과 연산을 μ μš©ν•  λ•Œμ˜ ν–‰μœ„μ  μ œμ•½ 사항을 ν‘œν˜„ ( μ€‘λ³΅λ˜μ§€ μ•Šμ•„μ•Όν•œλ‹€~~)
πŸ€” κ΄€κ³„ν˜• 데이터 λͺ¨λΈμ€ 이λ₯Ό μ–΄λ–»κ²Œ ν‘œν˜„ν• κΉŒ? 

πŸ–‡οΈ κ΄€κ³„ν˜• 데이터 λͺ¨λΈμ˜ ꡬ성 μš”μ†Œ

  • κ΄€κ³„ν˜• 데이터 λͺ¨λΈ ν…Œμ΄λΈ” ν˜•νƒœμ˜ β€œλ¦΄λ ˆμ΄μ…˜β€μ„ 톡해 데이터λ₯Ό μ €μž₯ν•˜κ³  데이터 κ°„μ˜ 관련성을 ν‘œν˜„ 데이터 베이슀λ₯Ό 논리적 μˆ˜μ€€μ—μ„œ μ΄ν•΄ν•˜κ³  μ‚¬μš©ν•  수 μžˆλ„λ‘ 함. κ΄€κ³„ν˜• 데이터 λͺ¨λΈλ„ μ΄λŸ¬ν•œ 3κ°€μ§€ μš”μ†Œλ₯Ό κ°€μ§„λ‹€.

κ΄€κ³„ν˜• 데이터 λͺ¨λΈμ˜ 3μš”μ†Œ

1️⃣ 데이터 ꡬ쑰 : λ¦΄λ ˆμ΄μ…˜

2️⃣ μ—°μ‚° : λ¦΄λ ˆμ΄μ…˜μ˜ 데이터λ₯Ό μ²˜λ¦¬ν•˜λŠ” 연산은 관계 λŒ€μˆ˜λ₯Ό μ‚¬μš©ν•œλ‹€.

  • 관계 λŒ€μˆ˜
    1. ν•©μ§‘ν•© (UNION)
    2. μ°¨μ§‘ν•© (DIFFERENCE)
    3. ꡐ집합 (INTERSECTION)
    4. κ³±μ§‘ν•© (CARTESIAN PRODUCT)
    5. μ‚¬μ˜(ε°„ε½±, PROJECTION)
    6. 선택 (SELECTION)
    7. κ²°ν•© (JOIN)
    8. λ‚˜λˆ„κΈ° (DIVISION)554444

3️⃣ μ œμ•½μ‚¬ν•­ : 무결성 μ œμ•½ 쑰건으둜 λͺ…μ„Έν•œλ‹€.

  • 무결성 μ œμ•½ 쑰건
    λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ •ν™•μ„±, 일관성을 보μž₯ν•˜κΈ° μœ„ν•΄ μ €μž₯, μ‚­μ œ, μˆ˜μ • 등을 μ œμ•½ν•˜κΈ° μœ„ν•œ 쑰건
    πŸ‘‰ 데이터 λ² μ΄μŠ€μ— μ €μž₯된 λ°μ΄ν„°μ˜ 무결성을 보μž₯ν•˜κ³  데이터 베이슀의 μƒνƒœλ₯Ό μΌκ΄€λ˜κ²Œ μœ μ§€ν•˜λŠ” 것이닀.

κ΄€κ³„ν˜• 데이터 λͺ¨λΈ

κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€

  • κ΄€κ³„ν˜• 데이터 λ¦΄λ ˆμ΄μ…˜μ˜ μ§‘ν•©
  • 데이터 베이슀λ₯Ό μ‹œκ°„μ— 따라 κ·Έ λ‚΄μš©μ΄ λ³€ν•  수 μžˆλŠ” ν…Œμ΄λΈ” ν˜•νƒœλ‘œ ν‘œν˜„ν•œ 것이닀.
  • κ΄€κ³„ν˜• 데이터 λͺ¨λΈμ— κΈ°λ°˜ν•œ 데이터 베이슀

κ΄€κ³„ν˜• 데이터 ꡬ쑰 : λ¦΄λ ˆμ΄μ…˜

πŸ–‡οΈ λ¦΄λ ˆμ΄μ…˜κ΅¬μ‘°

  • 2차원 ν…Œμ΄λΈ” ν˜•νƒœμ˜ λ‹¨μˆœ ꡬ쑰(λ¦΄λ ˆμ΄μ…˜) 에 데이터λ₯Ό μ €μž₯ν•˜λŠ” 방식이닀.
  • 이런 ν…Œμ΄λΈ” κ΅¬μ‘°λŠ” λ¦΄λ ˆμ΄μ…˜ κ°œλ…μ„ μ§κ΄€μ μœΌλ‘œ μ‰½κ²Œ μ΄ν•΄ν•˜λ„λ‘ ν•œλ‹€.

πŸ–‡οΈ λ¦΄λ ˆμ΄μ…˜μ΄λž€

λ¦΄λ ˆμ΄μ…˜ : κ΄€κ³„ν˜• 데이터 λͺ¨λΈμ˜ ν•΅μ‹¬μš”μ†Œλ‘œ νŠΉλ³„ν•œ 의미λ₯Ό κ°–λŠ” ν…Œμ΄λΈ”
λ‹¨μˆœν…Œμ΄λΈ”βœ–οΈ ν…Œμ΄λΈ” μ΄μƒμ˜ λ§Žμ€ μ˜λ―Έμ™€ μ œμ•½μ‚¬ν•­μ„ κ°–λŠ”λ‹€.

πŸ“Œ λ¦΄λ ˆμ΄μ…˜μ΄ λ‹¨μˆœ ν…Œμ΄λΈ”μ΄ μ•„λ‹Œ 이유!!
헀더 λΆ€λΆ„μ—λ§Œ 속성이 λ“€μ–΄κ°„λ‹€. 속성 값은 쀑볡돠면 μ•ˆλœλ‹€. 각 μ†μ„±μ˜ 값듀끼리 관계λ₯Ό κ°€μ§„λ‹€.

πŸ‘‰ κ΄€λ ¨λœ μ—¬λŸ¬ λ¦΄λ ˆμ΄μ…˜λ“€λ‘œ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό ꡬ성

⭐⭐⭐ μ€‘μš”

Untitled

ν•™λ²ˆ, 이름, ν•™λ…„. ν•™κ³Ό : λ°μ΄ν„°μ˜ μ„±μ§ˆμ„ λ‚˜νƒ€λ‚΄λŠ” 속성 β†’ μ‹œμŠ€ν…œ 데이터 λ² μ΄μŠ€μ— μ €μž₯

πŸ“Œ 관계 데이터 λͺ¨λΈμ˜ νŠΉμ„±

  • μˆ˜ν•™μ—μ„œμ˜ λ¦΄λ ˆμ΄μ…˜κ³Ό 집합이둠에 기초
  • 일반 μ‚¬μš©μžλŠ” ν…Œμ΄λΈ” ν˜•νƒœλ‘œ μƒκ°ν•˜μ§€λ§Œ 일반 ν…Œμ΄λΈ”μ˜ κ°œλ…μ΄ μ•„λ‹ˆλ‹€.
    β†’
    관계 데이터 λͺ¨λΈμ˜ 직관적인 μ΄ν•΄μ—λŠ” 도움이 λœλ‹€.

πŸ“Œ ν…Œμ΄λΈ” μ—΄ column = ν•„λ“œ field μ•„μ΄ν…œ item ≓ 관계 데이터 λͺ¨λΈμ˜ 속성 attribute
ν…Œμ΄λΈ”μ˜ ν–‰ row = λ ˆμ½”λ“œ recode ≓ 관계 데이터 λͺ¨λΈμ˜ tuple

πŸ–‡οΈ λ¦΄λ ˆμ΄μ…˜ κ΄€λ ¨ μš©μ–΄

1️⃣ 속성과 νŠœν”Œ

속성 (attribute)

  • ν…Œμ΄λΈ”μ˜ μ—΄
  • λ„λ©”μΈμ˜ μ—­ν• (role) 이름
  • 데이터λ₯Ό ν‘œν˜„ν•˜λŠ” κ°€μž₯ μž‘μ€ 논리적 λ‹¨μœ„
  • 의미적으둜 더 이상 λΆ„ν•΄ν•  수 μ—†λŠ” μ›μž κ°’λ§Œ μ‚¬μš©ν•œλ‹€.
  • λ¦΄λ ˆμ΄μ…˜μ΄ ν‘œν˜„ν•˜λŠ” λŒ€μƒμ˜ μ£Όμš” νŠΉμ„±λ“€μ„ μ„œλ‘œ λ‹€λ₯Έ μ΄λ¦„μœΌλ‘œ κ΅¬λ³„ν•˜μ—¬ ν‘œν˜„ν•œλ‹€.
    β†’ ν•œ λ¦΄λ ˆμ΄μ…˜ λ‚΄μ—μ„œ μ• νŠΈλ¦¬λ·°νŠΈ 이름듀은 λͺ¨λ‘ 달라야 함
  • λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό κ΅¬μ„±ν•˜λŠ” κ°€μž₯ μž‘μ€ 논리적 λ‹¨μœ„, 개체의 νŠΉμ„±μ„ 기술 ν•œλ‹€.

βž• μ• νŠΈλ¦¬λ·°νŠΈ 이름과 도메인 이름은 같을 μˆ˜λ„ 있음 (μ—­ν•  이름을 도메인 μ΄λ¦„μœΌλ‘œ μ§€μ •)

πŸ“Œ λ°μ΄ν„°λŠ” 속성에 μ €μž₯?!?!

πŸ€” 속성값..?

νŠœν”Œ (tuple)

  • ν…Œμ΄λΈ”μ˜ 각 ν–‰
  • ν˜„μ‹€μ„Έκ³„μ˜ 개체(entity)λ₯Ό ν‘œν˜„
  • 각 속성 κ°’λ“€μ˜ μ‘°ν•©μœΌλ‘œ κ΅¬μ„±λœλ‹€.
{(attr1=V1, attr2=V2, Β·Β·Β· , attrn=Vn)}
  • β€œν•™μƒβ€λ¦΄λ ˆμ΄μ…˜μ—μ„œ ν•˜λ‚˜μ˜ νŠœν”Œμ€ 학생 개체 ν•œλͺ…μ˜ 정보λ₯Ό ν‘œν˜„ν•œλ‹€.
  • νŠœν”Œμ˜ 수 = 카디널리티 = 기수 = λŒ€μ‘μˆ˜
λ‚˜μˆ˜μ˜ ν•™μƒμ˜ 정보λ₯Ό ν‘œν˜„
-> <100, 'λ‚˜μˆ˜μ˜',4,'컴퓨터'>

2️⃣ 도메인 (domain)

  • 각 속성(attribute)이 μ·¨ν•  수 μžˆλŠ” λͺ¨λ“  κ°’λ“€μ˜ 집합을 μ •μ˜ν•œ 것이닀. β†’ 데이터 κ°’λ“€μ˜ μœ ν˜•κ³Ό 크기, λ²”μœ„λ₯Ό μ •μ˜
    'ν•™λ…„'μ†μ„±μ˜ 도메인 : {1,2,3,4}
    'ν•™λ²ˆ'μ†μ„±μ˜ 도메인 : {100,200,300,400,.. }
  • 도메인 μ •μ˜ μ˜ˆμ‹œ 각 속성끼리 ν•΄λ‹Ή 도메인이 μΌμΉ˜ν•  경우만 κ·Έ 값을 μ„œλ‘œ λΉ„κ΅ν•˜λŠ” 것이 μ˜λ―Έκ°€ μžˆλ‹€. κ΄€κ³„ν˜• 데이터 λͺ¨λΈμ€ 속성 μ΄λ¦„κ³ΌλŠ” λ³„κ°œλ‘œ 각 도메인을 κ³ μœ ν•œ μ΄λ¦„μœΌλ‘œ μ •μ˜ν•œλ‹€. 속성이름은 보톡 각 도메인이 λ¦΄λ ˆμ΄μ…˜μ—μ„œ λ‹΄λ‹Ήν•˜λŠ” μ—­ν• μ˜ 이름을 μ§€μ •ν•œλ‹€.
    'λ‚˜μ΄'μ†μ„±μ˜ 도메인 AGE: 숫자(1~1500)둜 κ΅¬μ„±λœ μ •μˆ˜ κ°’μ˜ μ§‘ν•©
    'ν•™λ…„'μ†μ„±μ˜ 도메인 SYEAR : 숫자(1~4)둜 κ΅¬μ„±λœ μ •μˆ˜ κ°’μ˜ μ§‘ν•©
  • λ‹¨μˆœ 도메인 πŸ‘‰ λ‹¨μˆœ μ• νŠΈλ¦¬λ·°νŠΈ : μ›μž κ°’ ex) μ—°,μ›”, 일
  • 볡합 도메인 πŸ‘‰ 볡합 μ• νŠΈλ¦¬λ·°νŠΈ : 볡합 κ°’ ex) λ‚ μ§œ : <μ—°, μ›”, 일>

❓ DomainΒ μ΄λž€Β μ—”ν‹°ν‹°μ˜ 속성듀이 κ°€μ§ˆ 수 μžˆλŠ” κ°’λ“€μ˜ μ§‘ν•©μœΌλ‘œ, κ΄€κ³„ν˜• μ΄λ‘ μ—μ„œ 도메인은 μ‹€μ œλ‘œλŠ” κ΅¬ν˜„μ΄ μ–΄λ ΅κΈ° λ•Œλ¬Έμ—, λŒ€λΆ€λΆ„μ˜ DBMSμ—μ„œΒ λ„λ©”μΈμ΄λž€ 속성에 λŒ€μ‘ν•˜λŠ” μ»¬λŸΌμ— λŒ€ν•œ 데이터 νƒ€μž…(Data Type)κ³Ό 길이λ₯Ό μ˜λ―Έν•œλ‹€.

πŸ“Œ 무결성
1. ν—ˆμš©λ²”μœ„μ•ˆμ— μžˆμ–΄μ•Όν•œλ‹€. β†’ λ„λ©”μΈμ˜ μ •μ˜(λ°μ΄ν„°μ˜ νŠΉμ„± λ‚˜μ—΄)에 따라

πŸ“Œ 도메인을 λ‚˜νƒ€λ‚΄λŠ” λŒ€ν‘œμ μΈ 이름이 속성λͺ…!!

3️⃣ 카디널리티와 차수

  • 각 λ¦΄λ ˆμ΄μ…˜μ€ 카디널리티와 차수λ₯Ό 톡해 κ·Έ κ΅¬μ„±μ˜ μ •μ˜λ¨.

**카디널리티** (cardinality) : νŠœν”Œμ˜ 수

  • λ¦΄λ ˆμ΄μ…˜ μ•ˆμ˜ 전체 νŠœν”Œμ˜ 개수
  • μž…λ ₯, μˆ˜μ •, μ‚­μ œ 등을 톡해 계속 λ³€ν™”
  • 동적 νŠΉμ„±

**차수** (degree) : μ†μ„±μ˜ 개수

  • λ¦΄λ ˆμ΄μ…˜μ„ κ΅¬μ„±ν•˜λŠ” 전체 μ†μ„±μ˜ 개수
  • 각 νŠœν”Œμ΄ κ°€μ§€λŠ” 속성 κ°’μ˜ κ°œμˆ˜λŠ” μ°¨μˆ˜μ™€ κ°™μŒ
  • 정적 νŠΉμ„±

πŸ“Œ μ• νŠΈλ¦¬λ·°νŠΈμ™€ 도메인 μš”μ•½
μ• νŠΈλ¦¬λ·°νŠΈ 이름과 도메인 이름은 같을 μˆ˜λ„ 있음
w μ—­ν•  이름을 도메인 μ΄λ¦„μœΌλ‘œ μ§€μ •

πŸ’» κ΄€κ³„ν˜• 데이터 λͺ¨λΈκ³Ό ν”„λ‘œκ·Έλž˜λ° μ‹œμŠ€ν…œ

  • λ¦΄λ ˆμ΄μ…˜ = 화일
  • νŠœν”Œ = λ ˆμ½”λ“œ
  • μ• νŠΈλ¦¬λ·°νŠΈ = ν•„λ“œ

πŸ“Œ 관계 데이터 베이슀라고 ν•  λ•Œ 데이터가 물리적 ν…Œμ΄λΈ” ν˜•νƒœλ‘œ μ €μž₯λ˜λŠ” μ•„λ‹ˆλ‹€.

πŸ–‡οΈ λ¦΄λ ˆμ΄μ…˜μ˜ ꡬ성 μš”μ†Œ

  • λ¦΄λ ˆμ΄μ…˜ μŠ€ν‚€λ§ˆμ™€ λ¦΄λ ˆμ΄μ…˜ μΈμŠ€ν„΄μŠ€ μš”μ†Œλ‘œ κ΅¬μ„±λ˜μ–΄μžˆμŒ.

πŸ“Œ λ¦΄λ ˆμ΄μ…˜ μŠ€ν‚€λ§ˆ (λ¦΄λ ˆμ΄μ…˜ 내포)

πŸ‘‰ μ‹œμŠ€ν…œdb

  • νŠΉμ • λ¦΄λ ˆμ΄μ…˜μ˜ 논리적 ꡬ쑰λ₯Ό 의미
  • λ¦΄λ ˆμ΄μ…˜μ˜ 이름과 λ¦΄λ ˆμ΄μ…˜ μ•ˆμ— ν¬ν•¨λœ λͺ¨λ“  μ†μ„±μ˜ μ΄λ¦„λ“€λ‘œ μ •μ˜
  • ν…Œμ΄λΈ”μ˜ 첫 번째 행인 헀더 뢀뢄에 ν‘œν˜„
  • 정적 μ„±μ§ˆ: μ‹œκ°„μ— 따라 λ³€κ²½λ˜μ§€ μ•ŠμŒ

❗ λ¦΄λ ˆμ΄μ…˜ μŠ€ν‚€λ§ˆ ν‘œν˜„ 방식

λ¦΄λ ˆμ΄μ…˜ 이름 + μ• νŠΈλ¦¬λ·°νŠΈ 이름 ( 도메인도 ν¬ν•¨λ˜μ–΄μžˆλ‹€.)

  • λ¦΄λ ˆμ΄μ…˜ 이름 λ’€μ˜ κ΄„ν˜Έμ•ˆμ— λ¦΄λ ˆμ΄μ…˜μ΄ ν¬ν•¨ν•˜λŠ” μ†μ„±λ“€μ˜ 이름을 μ—΄κ±°
  • ν‚€ 속성은 밑쀄 ν‘œμ‹œ

πŸ‘‰ β€˜ν•™μƒβ€™ λ¦΄λ ˆμ΄μ…˜μ— λŒ€ν•œ λ¦΄λ ˆμ΄μ…˜ μŠ€ν‚€λ§ˆ

R(A1, A2, ... , An), Ai ⇔ Di(λŒ€μ‘λ˜λŠ” 도메) 
ΒΊ R({A1, A2, ... , An})

# λ¦΄λ ˆμ΄μ…˜μ΄λ¦„(속성이름1,속성이름2,속성이름3...)
학생(ν•™λ²ˆ, 이름, ν•™λ…„, ν•™κ³Ό)

πŸ€” λ¦΄λ ˆμ΄μ…˜ μŠ€ν‚€λ§ˆκ°€ λ¦΄λ ˆμ΄μ…˜ νƒ€μž…κ³Ό κ°™μ€μ˜λ―Έ..? λ¬΄μŠ¨λ§μž„?

πŸ“Œ λ¦΄λ ˆμ΄μ…˜ μΈμŠ€ν„΄μŠ€ (λ¦΄λ ˆμ΄μ…˜ μ™Έμ—°)

πŸ‘‰ μ‚¬μš©μž DB

  • λ¦΄λ ˆμ΄μ…˜μ— μ‹€μ œ μ‘΄μž¬ν•˜λŠ” νŠœν”Œλ“€μ˜ μ§‘ν•©
    # μ–΄λŠ ν•œ μ‹œμ μ— λ¦΄λ ˆμ΄μ…˜ R이 ν¬ν•¨ν•˜κ³  μžˆλŠ” νŠœν”Œλ“€μ˜ μ§‘ν•©
    {< V1, V2, ... , Vn >} Vi ∈ Di
    
    νŠœν”Œ : {(attr1=V1, attr2=V2, Β·Β·Β· , attrn=Vn)
  • νŠΉμ • μ‹œμ μ—μ„œμ˜ 전체 νŠœν”Œλ“€μ˜ λ‚΄μš© 즉, λ¦΄λ ˆμ΄μ…˜μ˜ μƒνƒœλ₯Ό 의미 πŸ‘‰ snapshot
  • 보톡 λ°μ΄λΈ”μ˜ 첫 번째 행인 헀더 λΆ€λΆ„(λ¦΄λ ˆμ΄μ…˜μŠ€ν‚€λ§ˆκ°€ ν¬ν•¨λœ)을 μ œμ™Έν•œ λ‚˜λ¨Έμ§€ λͺ¨λ“  ν–‰λ“€μ˜ μ§‘ν•©μœΌλ‘œ ν‘œν˜„
  • 동적 μ„±μ§ˆ : μ‚½μž…, μ‚­μ œ, κ°±μ‹ μœΌλ‘œ μ‹œκ°„μ— 따라 값이 λ³€ν•œλ‹€.

πŸ€” λ¦΄λ ˆμ΄μ…˜ κ°’(보톡 λ¦΄λ ˆμ΄μ…˜) 이게 무슨말이고,,,

πŸ‘‰ β€˜ν•™μƒβ€™ λ¦΄λ ˆμ΄μ…˜μ— λŒ€ν•œ λ¦΄λ ˆμ΄μ…˜ μΈμŠ€ν„΄μŠ€

Untitled

☺️ λ¦΄λ ˆμ΄μ…˜μ˜ μ˜ˆμ‹œ ꡬ쑰

Untitled

이걸 보고 λͺ‡κ°œμΈμ§€ 말할 수 μžˆμ–΄μ•Όν•œλ‹€.~!~!~!

데이터 베이슀 μƒνƒœ

  • μ–΄λŠ ν•œ μ‹œμ μ— λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯λ˜μ–΄ μžˆλŠ” λͺ¨λ“  데이터 κ°’ (νŠœν”Œ)

πŸ“Œ λ°μ΄ν„°λ² μ΄μŠ€ μΈμŠ€ν„΄μŠ€

= λ¦΄λ ˆμ΄μ…˜ μΈμŠ€ν„΄μŠ€λ“€μ˜ λͺ¨μž„ (동적)

πŸ‘‰ μ‚½μž…, μ‚­μ œ, λ³€κ²½λ“±μœΌλ‘œ 데이터 베이슀 μƒνƒœμ˜ 계속적인 λ³€ν™”κ°€ μžˆλ‹€.

⭐ DBMSλŠ” λ°μ΄ν„°λ² μ΄μŠ€ μƒνƒœμ˜ 변화에도 항상 무결성 μ œμ•½μ„ λ§Œμ‘±μ‹œν‚€λ„λ‘ ν•΄μ•Όν•œλ‹€.

πŸ“Œ λ°μ΄ν„°λ² μ΄μŠ€ μŠ€ν‚€λ§ˆ

= λ¦΄λ ˆμ΄μ…˜ μŠ€ν‚€λ§ˆλ“€μ˜ λͺ¨μž„ (정적)

Untitled

πŸ–‡οΈ λ¦΄λ ˆμ΄μ…˜(Relation) R : μ •μ˜

πŸ”’ μˆ˜ν•™μ  μ •μ˜ : λ¦΄λ ˆμ΄μ…˜ R은 μΉ΄λ°μ‹œμ•ˆ κ³±Cartesian product의 λΆ€λΆ„ 집합이닀.

R βŠ† D1 Γ— D2 Γ— ... Γ— Dn (Di : i번째 도메인)
n-νŠœν”Œ, <d1, d2, ... , dn>의 μ§‘ν•©
di ∈ Di (i = 1,2, ... ,n)
n : R의 차수(degree :1차, 2차, 3차, ... , n차)
νˆ¬ν”Œμ˜ 수 : 카디널리티(cardinality)

πŸ”‘ κ°œλ…μ  μ •μ˜ : λ¦΄λ ˆμ΄μ…˜ μŠ€ν‚€λ§ˆ + λ¦΄λ ˆμ΄μ…˜ μΈμŠ€ν„΄μŠ€λ‘œ κ΅¬μ„±λœλ‹€.

πŸ–‡οΈ λ¦΄λ ˆμ΄μ…˜μ˜ νŠΉμ„± )

1️⃣ νŠœν”Œμ˜ μœ μΌμ„±

β‘  λ¦΄λ ˆμ΄μ…˜ μ•ˆμ—λŠ” λ˜‘κ°™μ€ νŠœν”Œμ΄ μ‘΄μž¬ν•  수 μ—†λ‹€.

β‘‘ νŠœν”Œμ€ λ‹€λ₯Έ νŠœν”Œλ“€κ³Ό κ΅¬λ³„λ˜λŠ” μœ μΌν•œ 속성 값이 μžˆμ–΄μ•Όν•œλ‹€.

λ¦΄λ ˆμ΄μ…˜ = νŠœν”Œλ“€μ˜ μ§‘ν•©
- μ§‘ν•©μ˜ νŠΉμ„± : μ›μ†Œκ°€ μ€‘λ³΅λ˜μ§€ μ•ŠλŠ”λ‹€.

**=> νŠœν”Œμ΄ μ€‘λ³΅λ˜λ©΄ λ¦΄λ ˆμ΄μ…˜μ΄ μ•„λ‹ˆλ‹€.**

2️⃣ νŠœν”Œμ˜ λ¬΄μˆœμ„œμ„±

β‘  νŠœν”Œμ˜ μˆœμ„œλŠ” μ˜λ―Έκ°€ μ—†λ‹€.
β‘‘ λ¦΄λ ˆμ΄μ…˜ = νŠœν”Œλ“€μ˜ μ§‘ν•©
- μ§‘ν•©μ˜ νŠΉμ„± : μ›μ†Œμ˜ μˆœμ„œκ°€ 의미λ₯Ό κ°™μ§€ μ•ŠλŠ”λ‹€.

**=> 속성 μˆœμ„œκ°€ λ‹€λ₯΄λ‹€κ³  ν•˜λ”λΌλ„ λ™μΌν•œ λ§λ ˆμ΄μ…˜μ΄λ‹€.**

Untitled

3️⃣ μ†μ„±μ˜ λ¬΄μˆœμ„œμ„±

β‘  λ¦΄λ ˆμ΄μ…˜μ˜ μ†μ„±μ˜ μˆœμ„œλŠ” μ˜λ―Έκ°€ μ—†λ‹€.

νŠœν”Œ = {속성:κ°’}의 집합이닀.

λ¦΄λ ˆμ΄μ…˜ μŠ€ν‚€λ§ˆ : μ†μ„±μ˜ μ§‘ν•©

**β‡’ 속성 μˆœμ„œλ§Œ λ‹€λ₯Έ 두 λ¦΄λ ˆμ΄μ…˜μ€ λ™μΌν•œ λ¦΄λ ˆμ΄μ…˜μ΄λ‹€.**

4️⃣ μ†μ„±μ˜ μ›μžμ„±

β‘  λ¦΄λ ˆμ΄μ…˜μ„ κ΅¬μ„±ν•˜λŠ” 속성은 더이상 λΆ„ν•΄ν•  수 μ—†λŠ” ν•˜λ‚˜λ§Œμ˜ μ›μž 값을 κ°€μ§„λ‹€.

β‘‘ 각 μ†μ„±κ°’μœΌλ‘œ μͺΌκ°œμ§ˆ 수 μžˆλŠ” κ°’μ΄λ‚˜ 볡합값이 ν—ˆμš©λ˜μ§€ μ•ŠλŠ”λ‹€.

**=> μ†μ„±μ˜ μ›μžμ„±μ„ μ„±λ¦½ν•˜μ§€ λͺ»ν•˜λ©΄ ν•΄λ‹Ή ν…Œμ΄λΈ”μ€ λ¦΄λ ˆμ΄μ…˜μ΄ μ•„λ‹ˆλ‹€.**

  • 속성 : λ…Όλ¦¬μ μœΌλ‘œ λΆ„ν•΄ν•  수 μ—†λ‹€.
  • 널 값도 κ°€μ§ˆ 수 μžˆλ””.
  • 도메인
    • λ‹¨μˆœ 도메인
    • 볡합 도메인 : 값을 ν•˜λ‚˜μ˜ λ‹¨μœ„λ‘œ μ·¨κΈ‰ν•œλ‹€.

πŸ€” 볡합 도메인을 μ‚¬μš©ν•˜λ”λΌλ„ μͺΌκ°œμ„œ μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€.
β†’ 이게 먼말이고

πŸ€” μ—‡ 근데 κ·Έλ ‡μ§€ μ•Šμ€ λ¦΄λ ˆμ΄μ…˜λ„ μžˆμ§€ μ•Šμ•„? = λΉ„μ •κ·œν™” λ¦΄λ ˆμ΄μ…˜

πŸ› οΈ λΉ„μ •κ·œν™” νžλ ˆμ΄μ…˜μ˜ μ •κ·œν™” ) λΆ„ν•΄ : λ™λ“±ν•œ 의미λ₯Ό μœ μ§€ν•˜λ©΄μ„œ

Untitled

πŸ”‘ λ¦΄λ ˆμ΄μ…˜μ˜ ν‚€(key)

  • λ¦΄λ ˆμ΄μ…˜μ˜ ν‚€ : 각 νŠœν”Œμ„ μœ μΌν•˜κ²Œ 식별할 수 μžˆλŠ” ν•˜λ‚˜ μ΄μƒμ˜ 속성 집합이닀.
    • λ¦΄λ ˆμ΄μ…˜μ€ 항상 νŠœν”Œμ˜ μœ μΌμ„± κ·œμΉ™μ„ μΆ©μ‘±ν•˜λ―€λ‘œ 쀑볡 νŠœν”Œμ„ ν—ˆμš©ν•˜μ§€ μ•ŠλŠ”λ‹€

      πŸ‘‰ 결과적으둜 λͺ¨λ“  νŠœν”Œμ€ 속성 값이 ν•˜λ‚˜λΌλ„ λ‹€λ₯΄λ‹€.

  • λͺ¨λ“  λ¦΄λ ˆμ΄μ…˜μ€ μ€‘λ³΅λ˜μ§€ μ•ŠλŠ” ν‚€λ₯Ό κ°€μ§„λ‹€.
    • 킀에 μ†ν•˜λŠ” 속성 집합은 λ°˜λ“œμ‹œ κ·Έ μ†μ„±κ°’μ˜ 쑰합이 νŠœν”Œλ§ˆλ‹€ 달라야 ν•œλ‹€.

      πŸ‘‰ λ¦΄λ ˆμ΄μ…˜μ΄ λ‹¨μˆœν•œ ν…Œμ΄λΈ”μ΄ μ•„λ‹ˆλΌλŠ” 증거 = ν‚€

      ⭐ 무결성 μ œμ•½μ‘°κ±΄κ³Ό κ΄€λ ¨ν•˜μ—¬ μ€‘μš”ν•œ 역할을 ν•œλ‹€.

profile
24λ…„λ„κΉŒμ§€ ν”„λ‘œμ νŠΈ λ‘κ°œλ₯Ό 마치고 25λ…„μ—λŠ” 개발 νŒ€μž₯을 ν•  수 μžˆλŠ” μ‹€λ ₯이 되자!

0개의 λŒ“κΈ€