Home > 2024 > Database > πŸ’Ύ[Database] λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ •μ˜μ™€ νŠΉμ§•

πŸ’Ύ[Database] λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ •μ˜μ™€ νŠΉμ§•
Database

λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ •μ˜μ™€ νŠΉμ§•.

β€œλ°μ΄ν„°λ² μ΄μŠ€β€ λŠ” μ—¬λŸ¬ μ‚¬μš©μžλ‚˜ μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ κ³΅μœ ν•˜κ³  λ™μ‹œμ— μ ‘κ·Ό κ°€λŠ₯ν•œ β€œλ°μ΄ν„°μ˜ 집합” 이라 μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
β€œDBMS(Database Management System)” λŠ” μ΄λŸ¬ν•œ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό κ΄€λ¦¬οΉ’μš΄μ˜ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄μž…λ‹ˆλ‹€.

일반적으둜 μ‚¬μš©ν•˜λŠ” λ§ˆμ΄ν¬λ‘œμ†Œν”„νŠΈμ˜ μ—‘μ…€ 같은 ν”„λ‘œκ·Έλž¨μ€ ν…Œμ΄ν„°μ˜ 집합을 닀루기 λ•Œλ¬Έμ— DBMS와 λΉ„μŠ·ν•΄ λ³΄μ΄μ§€λ§Œ, λŒ€μš©λŸ‰ 데이터λ₯Ό κ΄€λ¦¬ν•˜κ±°λ‚˜ μ—¬λŸ¬ λͺ…μ˜ μ‚¬μš©μžκ°€ κ³΅μœ ν•˜λŠ” 것은 μ•„λ‹ˆλ―€λ‘œ DBMS라고 λΆ€λ₯΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λ°μ΄ν„°λ² μ΄μŠ€λŠ” β€œλ°μ΄ν„°μ˜ μ €μž₯ 곡간” 자체λ₯Ό μ˜λ―Έν•˜κΈ°λ„ ν•©λ‹ˆλ‹€.

  • DBMS 쀑 ν•˜λ‚˜μΈ MySQLμ—μ„œλŠ” λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μžλ£Œκ°€ μ €μž₯λ˜λŠ” λ””μŠ€ν¬ 곡간(주둜 파일둜 ꡬ성됨)으둜 μ·¨κΈ‰ν•©λ‹ˆλ‹€.
    • μ•„λž˜ 그림은 λ°μ΄ν„°λ² μ΄μŠ€, DBMS, μ‚¬μš©μž, μ‘μš© ν”„λ‘œκ·Έλž¨μ˜ 관계λ₯Ό λ³΄μ—¬μ€λ‹ˆλ‹€.

μœ„ κ·Έλ¦Όμ—μ„œ 보듯이 β€œDBMS” λŠ” λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό κ΄€λ¦¬ν•˜λŠ” 역할을 ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄ μž…λ‹ˆλ‹€.

  • μ—¬λŸ¬ μ‚¬μš©μžλ‚˜ μ‘μš© ν”„λ‘œκ·Έλž¨μ€ β€œDBMS” κ°€ κ΄€λ¦¬ν•˜λŠ” 데이터에 λ™μ‹œμ— μ ‘μ†ν•˜μ—¬ 데이터λ₯Ό κ³΅μœ ν•©λ‹ˆλ‹€.
    • 즉, β€œDBMS” μ—μ„œλŠ” β€œλ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ μ‚¬μš©λ˜λŠ” 데이터가 집쀑 κ΄€λ¦¬λ©λ‹ˆλ‹€.”

DBMSμ—λŠ” MySQL 외에도 λ§Žμ€ μ’…λ₯˜κ°€ μžˆμŠ΅λ‹ˆλ‹€.

DBMS λ˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€λŠ” λ‹€μŒκ³Ό 같은 λͺ‡ 가지 μ€‘μš”ν•œ νŠΉμ§•μ„ 가지고 μžˆμŠ΅λ‹ˆλ‹€.

  • λ°μ΄ν„°μ˜ 무결성
    • λ°μ΄ν„°λ² μ΄μŠ€ μ•ˆμ˜ λ°μ΄ν„°λŠ” μ–΄λ–€ 경둜λ₯Ό 톡해 λ“€μ–΄μ™”λ“  였λ₯˜κ°€ μžˆμ–΄μ„œλŠ” μ•ˆ λ˜λŠ”λ° 이λ₯Ό 무결성(Integrity)이라고 ν•©λ‹ˆλ‹€.
    • 무결성을 지킀기 μœ„ν•΄ λ°μ΄ν„°λ² μ΄μŠ€λŠ” μ œμ•½ 쑰건(Constraint)을 λ”°λ¦…λ‹ˆλ‹€.
      • 예λ₯Ό λ“€μ–΄ 학생 λ°μ΄ν„°μ—μ„œ λͺ¨λ“  학생은 ν•™λ²ˆμ΄ λ°˜λ“œμ‹œ μžˆμ–΄μ•Ό ν•˜κ³  ν•™λ²ˆμ΄ μ€‘λ³΅λ˜λ©΄ μ•ˆ λœλ‹€λŠ” μ œμ•½ 쑰건을 μƒκ°ν•΄λ΄…μ‹œλ‹€.
        • 이 μ œμ•½ 쑰건을 μΆ©μ‹€νžˆ 지킨닀면 ν•™λ²ˆμœΌλ‘œλ„ 학생 λ°μ΄ν„°μ—μ„œ 학생을 μ •ν™•νžˆ 찾을 수 μžˆμŠ΅λ‹ˆλ‹€.
        • 즉 ν•™λ²ˆμ€ λ¬΄κ²°ν•œ 데이터λ₯Ό 보μž₯ν•˜λŠ” μš”μ†Œμ΄λ©°, μžλ™ λ°œκΈ‰κΈ°λ‘œ 성적 증λͺ…μ„œλ‚˜ μž¬ν•™ 증λͺ…μ„œλ₯Ό λ—„ λ•Œ ν•™λ²ˆλ§Œ μ‘°νšŒν•΄λ„ μ •ν™•ν•œ 자료λ₯Ό 좜λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • λ°μ΄ν„°μ˜ 독립성
    • λ°μ΄ν„°λ² μ΄μŠ€μ˜ 크기λ₯Ό λ³€κ²½ν•˜κ±°λ‚˜ 데이터 파일의 μ €μž₯μ†Œλ₯Ό λ³€κ²½ν•˜λ”λΌλ„ 기쑴에 μž‘μ„±λœ μ‘μš© ν”„λ‘œκ·Έλž¨μ€ μ „ν˜€ 영ν–₯을 받지 μ•ŠμŠ΅λ‹ˆλ‹€.
      • 즉 λ°μ΄ν„°λ² μ΄μŠ€μ™€ μ‘μš© ν”„λ‘œκ·Έλž¨μ€ μ„œλ‘œ 의쑴적인 관계가 μ•„λ‹ˆλΌ 독립적인 κ΄€κ³„μž…λ‹ˆλ‹€.
        • 예λ₯Ό λ“€μ–΄ λ°μ΄ν„°λ² μ΄μŠ€κ°€ μ €μž₯된 λ””μŠ€ν¬κ°€ μƒˆκ²ƒμœΌλ‘œ λ³€κ²½λ˜μ–΄λ„ 기쑴에 μ‚¬μš©ν•˜λ˜ μ‘μš© ν”„λ‘œκ·Έλž¨μ€ μ•„λ¬΄λŸ° λ³€κ²½ 없이 계속 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • λ³΄μ•ˆ
    • λ°μ΄ν„°λ² μ΄μŠ€ μ•ˆμ˜ λ°μ΄ν„°λŠ” μ•„λ¬΄λ‚˜ μ ‘κ·Όν•  수 μžˆλŠ” 것이 μ•„λ‹ˆλΌ 데이터λ₯Ό μ†Œμœ ν•œ μ‚¬λžŒμ΄λ‚˜ 데이터에 접근이 ν—ˆκ°€λœ μ‚¬λžŒλ§Œ μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    • λ˜ν•œ 같은 데이터에 μ ‘κ·Όν•  λ•Œλ„ μ‚¬μš©μžμ˜ 계정에 λ”°λΌμ„œ 각각 λ‹€λ₯Έ κΆŒν•œμ„ κ°–μŠ΅λ‹ˆλ‹€.
      • 졜근 λ“€μ–΄ 고객 정보 μœ μΆœμ‚¬κ³ κ°€ λΉˆλ²ˆν•˜μ—¬ λ³΄μ•ˆ(security)은 λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ λ”μš± μ€‘μš”ν•œ μ΄μŠˆκ°€ 되고 μžˆμŠ΅λ‹ˆλ‹€.
  • 데이터 쀑볡 μ΅œμ†Œν™”
    • λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œλŠ” λ™μΌν•œ 데이터가 μ—¬λŸ¬ ꡰ데 쀑볡 μ €μž₯λ˜λŠ” 것을 λ°©μ§€ν•©λ‹ˆλ‹€.
      • 학ꡐλ₯Ό 예둜 λ“€λ©΄, 학생 정보λ₯Ό μ΄μš©ν•˜λŠ” ꡐ직원듀(ν•™μƒμ²˜, ꡐ무처, 과사무싀 λ“±)이 각 μ§μ›λ§ˆλ‹€ λ³„λ„μ˜ μ—‘μ…€ 파일둜 학생 정보λ₯Ό κ΄€λ¦¬ν•˜λ©΄ ν•œ λͺ…μ˜ 학생 정보가 각각의 μ—‘μ…€ νŒŒμΌμ— 쀑볡 μ €μž₯λ©λ‹ˆλ‹€.
      • κ·ΈλŸ¬λ‚˜ λ°μ΄ν„°λ² μ΄μŠ€μ— ν†΅ν•©ν•˜μ—¬ κ΄€λ¦¬ν•˜λ©΄ ν•˜λ‚˜μ˜ ν…Œμ΄λΈ”μ— 데이터λ₯Ό μ €μž₯ν•œ ν›„ μ‘μš© ν”„λ‘œκ·Έλž¨λ§ˆλ‹€ 이λ₯Ό κ³΅μœ ν•˜μ—¬ μ‚¬μš©ν•  수 μžˆμ–΄ λ°μ΄ν„°μ˜ 쀑볡을 μ΅œμ†Œν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ‘μš© ν”„λ‘œκ·Έλž¨ μ œμž‘ 및 μˆ˜μ • 용이
    • κΈ°μ‘΄ 파일 μ‹œμŠ€ν…œμ—μ„œλŠ” 각각의 파일 포맷에 맞좰 μ‘μš© ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν–ˆμŠ΅λ‹ˆλ‹€.
      • κ·ΈλŸ¬λ‚˜ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ΄μš©ν•˜λ©΄ ν†΅μΌλœ λ°©μ‹μœΌλ‘œ μ‘μš© ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•  수 있고 μœ μ§€οΉ’λ³΄μˆ˜ λ˜ν•œ μ‰½μŠ΅λ‹ˆλ‹€.
  • λ°μ΄ν„°μ˜ μ•ˆμ „μ„± ν–₯상
    • λŒ€λΆ€λΆ„μ˜ DBMSλŠ” 데이터 λ°±μ—…/볡원 κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.
      • λ”°λΌμ„œ 데이터가 μ†μƒλ˜λŠ” λ¬Έμ œκ°€ λ°œμƒν•˜λ”λΌλ„ μ›λž˜μ˜ μƒνƒœλ‘œ 볡원 λ˜λŠ” 볡ꡬ할 수 μžˆμŠ΅λ‹ˆλ‹€.