[210712 TIL] Database

Choi RimΒ·2021λ…„ 7μ›” 12일
0

Way to developer

λͺ©λ‘ 보기
15/21
post-thumbnail

λ°μ΄ν„°λ² μ΄μŠ€

데이터와 λ°μ΄ν„°λ² μ΄μŠ€

  • 데이터
    • 이미지, 숫자, 단어, μ˜μƒ λ“±μ˜ 자료
    • 정보λ₯Ό ν‘œν˜„ν•˜κΈ° μœ„ν•œ κΈ°λ³Έ λ‹¨μœ„
    • ex) μŠ€νƒ€λ²…μŠ€ μ‚¬μ΄νŠΈμ— μ ‘μ†ν–ˆμ„ λ•Œ νŽ˜μ΄μ§€μ— λ³΄μ΄λŠ” λͺ¨λ“  것이 데이터이닀.
  • λ°μ΄ν„°λ² μ΄μŠ€
    • 컴퓨터 μ‹œμŠ€ν…œμ— μ €μž₯된 μ •λ³΄λ‚˜ 데이터λ₯Ό λͺ¨λ‘ λͺ¨μ•„ 놓은 집합
    • λ°μ΄ν„°λ² μ΄μŠ€λŠ” Database Management System을 톡해 μ œμ–΄ 및 κ΄€λ¦¬ν•œλ‹€.
    • 데이터가 μ €μž₯된 ν•˜λ“œμ›¨μ–΄
    • λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ‹œμŠ€ν…œ 자체

λ°μ΄ν„°μ˜ 흐름

web client κ°€ serverμ—κ²Œ μƒν’ˆ 상세 정보 μš”μ²­ -> serverκ°€ databaseμ—κ²Œ ν•„μš”ν•œ 정보 μš”μ²­ -> databaseλŠ” μš”μ²­μ— 응닡 -> serverλŠ” databaseμ—κ²Œμ„œ 받은 μƒν’ˆ 상세 정보λ₯Ό clientμ—κ²Œ 전달 -> clientμ—μ„œ FEκ°€ 데이터λ₯Ό λ°›μ•„ 예쁘게 λ Œλ”λ§ν•¨

λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ‚¬μš©ν•˜λŠ” 이유

  • 데이터λ₯Ό 였랜 μ‹œκ°„ μ €μž₯ 및 λ³΄μ‘΄ν•˜κΈ° μœ„ν•΄
    • λ©”λͺ¨λ¦¬λŠ” 데이터λ₯Ό 였래 λ³΄μ‘΄ν•˜μ§€ λͺ»ν•œλ‹€.
    • λ°μ΄ν„°λ² μ΄μŠ€λŠ” μž₯κΈ°κ°„ 데이터λ₯Ό 보쑴할 수 μžˆλ‹€.
  • 데이터λ₯Ό 체계적, 효율적으둜 보쑴 & 관리
    • λ‚΄κ°€ μ›ν•˜λŠ” 자료λ₯Ό μ‰½κ²Œ 읽어낼 수 μžˆμ–΄μ•Ό 의미 μžˆλŠ” 정보
    • Data Pipeline μ‹œμŠ€ν…œμ„ 톡해 데이터 체계화

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

  • Relational Database Management System
  • κ΄€κ³„ν˜• 데이터 λͺ¨λΈμ„ 기반으둜 ν•œ λ°μ΄ν„°λ² μ΄μŠ€
  • 데이터듀을 2차원 ν…Œμ΄λΈ”λ“€λ‘œ ν‘œν˜„ν•  수 μžˆλ‹€.
    • μ—΄(column) : ν…Œμ΄λΈ”μ˜ 각 ν•­λͺ©
    • ν–‰(row) : 각 ν•­λͺ©λ“€μ˜ μ‹€μ œ κ°’
  • ν…Œμ΄λΈ”μ˜ 각 행은 μ €λ§Œμ˜ 고유 ν‚€(primary key)κ°€ μžˆλ‹€.
    • κ³ μœ ν‚€λŠ” μ€‘λ³΅λ˜μ§€ μ•ŠλŠ”λ‹€.
    • κ³ μœ ν‚€λŠ” λ³€ν•˜μ§€ μ•ŠλŠ”λ‹€.
  • 각각의 ν…Œμ΄λΈ”λ“€μ€ μ„œλ‘œ μƒν˜Έ 관련성을 가지고 μ„œλ‘œ 연결될 수 μžˆλ‹€.
    • DBλ₯Ό κ΅¬μ„±ν•˜κ³  μžˆλŠ” ν…Œμ΄λΈ”λ“€μ€ μƒν˜Έ 관련성을 가지고 μžˆλ‹€.
    • ν…Œμ΄λΈ”λ“€μ€ 독립적이지 μ•Šκ³ , μ˜μ‘΄μ μ΄λ‹€.

관계 μœ ν˜•

  • One to One (1:1)
    • ν•˜λ‚˜μ˜ ν…Œμ΄λΈ” λ°μ΄ν„°λŠ” μ˜€λ‘œμ§€ ν•˜λ‚˜μ˜ ν…Œμ΄λΈ” 데이터와 μ—°κ²°
    • ex) μ‚¬μš©μž - μ£Όλ―Όλ“±λ‘λ²ˆν˜Έ
    • λ°˜λŒ€λ˜λŠ” ν…Œμ΄λΈ”μ˜ 값을 λ‹€λ₯Έ ν…Œμ΄λΈ”μ—μ„œ 가지고 μžˆλ‹€. (FK)
  • One to Many (1:λ‹€)
    • ν•˜λ‚˜μ˜ A ν…Œμ΄λΈ” λ°μ΄ν„°λŠ” B ν…Œμ΄λΈ”μ˜ μ—¬λŸ¬ 데이터와 μ—°κ²°
  • Many to Many (λ‹€:λ‹€)
    • ν•˜λ‚˜μ˜ A ν…Œμ΄λΈ” λ°μ΄ν„°λŠ” B ν…Œμ΄λΈ”μ˜ μ—¬λŸ¬ 데이터와 μ—°κ²°
    • B ν…Œμ΄λΈ” λ°μ΄ν„°λŠ” μ—¬λŸ¬ A ν…Œμ΄λΈ”κ³Ό 연결될 수 μžˆλ‹€.

DB μ •κ·œν™” κ·œμΉ™

  • DBμ—μ„œλŠ” ν•˜λ‚˜μ˜ column 에 ν•˜λ‚˜μ˜ λ°μ΄ν„°λ§Œ λ“€μ–΄κ°ˆ 수 μžˆλ‹€.
    • ν•œ column에 ν•˜λ‚˜μ˜ λ°μ΄ν„°λ§Œ λ“€μ–΄κ°ˆ 수 μžˆλ„λ‘ μ •κ·œν™”
  • 쀑볡을 μ œκ±°ν•΄μ•Ό ν•œλ‹€.
    • μ€‘λ³΅λœ 데이터λ₯Ό μ •κ·œν™”
profile
https://rimi0108.github.io/

0개의 λŒ“κΈ€