Home > SQL > 2024 > πŸ’‰[SQL] DBMS의 λ°œμ „ κ³Όμ •.

πŸ’‰[SQL] DBMS의 λ°œμ „ κ³Όμ •.
SQL

πŸ’‰[SQL] DBMS의 λ°œμ „ κ³Όμ •.

  • 컴퓨터가 μ‘΄μž¬ν•˜κΈ° μ „λΆ€ν„° μ‚¬λžŒλ“€μ€ 데이터(정보)λ₯Ό 관리해 μ™”μŠ΅λ‹ˆλ‹€.
  • 쒅이에 정보λ₯Ό κΈ°λ‘ν•˜κ³  κ΄€λ¦¬ν•˜λ˜ λ•ŒλΆ€ν„° μ‹œμž‘ν•΄ μ§€κΈˆμ˜ DBMSκΉŒμ§€ μ–΄λ–€ κ³Όμ •μœΌλ‘œ λ°œμ „ν–ˆλŠ”μ§€ μ°¨λ‘€λŒ€λ‘œ μ‚΄νŽ΄λ΄…μ‹œλ‹€.

1️⃣ 쒅이에 펜으둜 기둝.

  • μ•„μ£Ό 였래 μ „λΆ€ν„° μ •λ³΄λŠ” κ΄€λ¦¬λ˜μ–΄ μ™”μŠ΅λ‹ˆλ‹€.
  • 컴퓨터가 μ—†λ˜ μ‹œκΈ°μ—λ„ κ΅¬λ©κ°€κ²Œ(μš”μ¦˜μ˜ 편의점과 λΉ„μŠ·)λ₯Ό μš΄μ˜ν•˜λ©΄μ„œ νŒλ§€μ™€ ꡬ맀가 λ°œμƒν–ˆμ„ 것이고, 그것을 쒅이에 펜으둜 κΈ°λ‘ν–ˆμ„ κ²ƒμž…λ‹ˆλ‹€.

2️⃣ 컴퓨터에 파일둜 μ €μž₯.

  • 컴퓨터가 λ“±μž₯ν•˜κ³  일반 μ‚¬λžŒλ“€λ„ 컴퓨터λ₯Ό μ‚¬μš©ν•˜κ²Œ λ˜λ©΄μ„œ 쒅이에 κΈ°λ‘ν•˜λ˜ λ‚΄μš©μ„ 컴퓨터 νŒŒμΌμ— 기둝, μ €μž₯ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • 컴퓨터에 판맀/ꡬ맀 이λ ₯을 μ €μž₯ν•˜λŠ” 방법은 λ‹¨μˆœν•˜κ²Œ λ©”λͺ¨μž₯을 μ‚¬μš©ν•  μˆ˜λ„ μžˆμ§€λ§Œ, 컴퓨터λ₯Ό μ–΄λŠ 정도 ν™œμš©ν•˜κ²Œ λ˜λ©΄μ„œ μ—‘μ…€κ³Ό 같은 μŠ€ν”„λ ˆλ“œμ‹œνŠΈ ν”„λ‘œκ·Έλž¨μ„ μ‚¬μš©ν•΄ ν‘œ ν˜•νƒœλ‘œ λ‚΄μš©μ„ κΈ°λ‘ν•˜κ³  μžλ™μœΌλ‘œ κ³„μ‚°ν•˜λŠ” λ“± ν•œμΈ΅ 더 효율적으둜 정보λ₯Ό κ΄€λ¦¬ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • 기둝된 λ‚΄μš©μ€ 파일(file) μ΄λΌλŠ” ν˜•νƒœλ‘œ μ €μž₯ν•΄ ν•„μš”ν•  λ•Œλ§ˆλ‹€ μ—΄μ–΄μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • 엑셀을 μ‚¬μš©ν•˜λ©΄ μ•„μ£Ό νŽΈλ¦¬ν•˜μ§€λ§Œ, μ €μž₯ν•œ νŒŒμΌμ€ ν•œ λ²ˆμ— ν•œ λͺ…μ˜ μ‚¬μš©μžλ§Œ μ—΄μ–΄μ„œ μž‘μ—…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • 규λͺ¨κ°€ μž‘μ€ κ΅¬λ©κ°€κ²Œμ—μ„œλŠ” ν•œ λͺ…μ˜ μ‚¬μš©μžκ°€ ν•˜λ‚˜μ˜ νŒŒμΌμ— μž‘μ—…ν•˜λŠ” 것이 λ¬Έμ œκ°€ λ˜μ§€ μ•Šμ„ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.
    • ν•˜μ§€λ§Œ 규λͺ¨κ°€ 큰 μŠˆνΌλ§ˆμΌ“μ΄λ‚˜ 마트 λ“±μ—μ„œλŠ” λ°μ΄ν„°μ˜ 양이 λ§Žμ•„ ν•œ λͺ…μ˜ μ‚¬μš©μžκ°€ λͺ¨λ‘ μ²˜λ¦¬ν•  수 μ—†κΈ° λ•Œλ¬Έμ— μ—¬λŸ¬ λͺ…이 각자의 νŒŒμΌμ„ λ§Œλ“€μ–΄μ„œ μž‘μ—…ν•  μˆ˜λ°–μ— μ—†μŠ΅λ‹ˆλ‹€.

      μ˜ˆμ‹œ.

  • 예λ₯Ό λ“€μ–΄, 3λͺ…μ˜ 직원이 μ—‘μ…€λ‘œ 판맀 λ‚΄μš©μ„ κΈ°λ‘ν•œλ‹€κ³  ν•©μ‹œλ‹€.
    • A 직원은 μ˜€μ „, B 직원은 μ˜€ν›„, C 직원은 야간에 판맀된 λ‚΄μš©μ„ κΈ°λ‘ν•œλ‹€κ³  κ°€μ •ν•˜κ² μŠ΅λ‹ˆλ‹€.
    • 3λͺ…이 μ •ν™•νžˆ μžμ‹ μ˜ μ‹œκ°„μ— 판맀된 κ²ƒλ§Œ κΈ°λ‘ν•˜λ©΄ μ’‹κ² μœΌλ‚˜, μ‹€μˆ˜λ‘œ A 직원이 νŒλ§€ν•œ 내역을 B 직원 νŒŒμΌμ— μž‘μ„±ν•  μˆ˜λ„ μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.
      • 또, μ˜€μ „μ— νŒλ§€ν•œ 물건을 μ˜€ν›„μ— λ°˜ν’ˆν•  κ²½μš°μ—λŠ” μ˜€μ „μ— νŒλ§€ν•œ μ‚¬λžŒμ΄ 기둝해야 할지, μ˜€ν›„μ— λ°˜ν’ˆλ°›μ€ μ‚¬λžŒμ΄ 기둝해야 할지 κ·Έ 주체도 λͺ¨ν˜Έν•˜κΈ° λ•Œλ¬Έμ— 기둝이 λˆ„λ½λ˜κ±°λ‚˜ λͺ¨λ‘ κΈ°λ‘ν•˜μ—¬ μ€‘λ³΅λ˜λŠ” λ¬Έμ œκ°€ λ°œμƒν•  μ†Œμ§€λ„ μžˆμŠ΅λ‹ˆλ‹€.
        • ν•˜λ£¨, ν•œ 달 더 λ‚˜μ•„κ°€μ„œλŠ” μ—°κ°„ 판맀 기둝을 합계할 λ•Œ κΈˆμ•‘μ΄ λ§žμ§€ μ•ŠλŠ” 경우처럼 μ‹¬κ°ν•œ 일이 λ°œμƒν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.
          • μ΄λŸ¬ν•œ λΆˆμΌμΉ˜κ°€ 파일의 큰 문제점 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€.
            • ν•˜μ§€λ§Œ 이런 λ¬Έμ œμ μ—λ„ λΆˆκ΅¬ν•˜κ³  νŒŒμΌμ€ ν•œ λͺ…이 μ²˜λ¦¬ν•˜κ±°λ‚˜ μ†ŒλŸ‰μ˜ 데이터λ₯Ό μ²˜λ¦¬ν•  λ•ŒλŠ” 속도가 λΉ λ₯΄κ³ , μ‚¬μš©λ²•μ΄ 쉽기 λ•Œλ¬Έμ— μ§€κΈˆλ„ 많이 μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

3️⃣ DBMS의 λŒ€λ‘μ™€ 보급.

  • μ•žμ—μ„œ μ–ΈκΈ‰ν•œ 파일의 단점을 λ³΄μ™„ν•˜λ©΄μ„œ λŒ€λŸ‰μ˜ 데이터λ₯Ό 효율적으둜 κ΄€λ¦¬ν•˜κ³  μš΄μ˜ν•˜κΈ° μœ„ν•΄μ„œ λ“±μž₯ν•œ 것이 DBMS μž…λ‹ˆλ‹€.
  • MySQLκ³Ό 같은 DBMS의 κ°œλ…μ€ 1973년에 졜초둜 μ—λ“œκ±° ν”„λž­ν¬ μ»€λ“œ(E.F. Codd)λΌλŠ” ν•™μžκ°€ 이둠을 μ •λ¦½ν–ˆμŠ΅λ‹ˆλ‹€.
    • κ·Έ μ΄ν›„λ‘œ λ§Žμ€ DBMS μ œν’ˆμ΄ λ§Œλ“€μ–΄μ‘Œκ³ , μ§€κΈˆκ³Ό 같이 μ•ˆμ •μ μΈ μ†Œν”„νŠΈμ›¨μ–΄λ‘œ 자리 작게 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • DBMSλŠ” λ°μ΄ν„°μ˜ 집합인 λ°μ΄ν„°λ² μ΄μŠ€ λ₯Ό 잘 κ΄€λ¦¬ν•˜κ³  μš΄μ˜ν•˜κΈ° μœ„ν•œ μ‹œμŠ€ν…œ λ˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό λ§ν•©λ‹ˆλ‹€.
  • DBMS에 데이터λ₯Ό ꡬ좕, κ΄€λ¦¬ν•˜κ³  ν™œμš©ν•˜κΈ° μœ„ν•΄μ„œ μ‚¬μš©λ˜λŠ” μ–Έμ–΄κ°€ SQL(Structured Query Language) μž…λ‹ˆλ‹€.
    • 이 SQL을 μ‚¬μš©ν•˜λ©΄ DBMSλ₯Ό 톡해 μ€‘μš”ν•œ 정보듀을 μž…λ ₯, κ΄€λ¦¬ν•˜κ³  μΆ”μΆœν•  수 μžˆμŠ΅λ‹ˆλ‹€.
      • 즉, SQL 문을 잘 μ΄ν•΄ν•˜κ³  μ‚¬μš©ν•΄μ•Όλ§Œ DBMSλ₯Ό μ›ν™œν•˜κ²Œ ν™œμš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
        • λΉ„μœ ν•˜μžλ©΄ λ―Έκ΅­ λ¬Έν™”(DBMS)λ₯Ό μ™„μ „νžˆ μ΄ν•΄ν•˜κ³  μ‹Άλ‹€λ©΄ κ·Έ λ‚˜λΌμ˜ 언어인 μ˜μ–΄(SQL)λ₯Ό λ¨Όμ € λ°°μ›Œμ•Ό ν•˜λŠ” 것과 λΉ„μŠ·ν•œ κ°œλ…μž…λ‹ˆλ‹€.