DB - RDBMS basic

KjjeddΒ·2026λ…„ 1μ›” 19일

DB

λͺ©λ‘ 보기
4/11
post-thumbnail

πŸ—„οΈ λ°μ΄ν„°λ² μ΄μŠ€λž€?

β€˜λ°μ΄ν„°λ² μ΄μŠ€(Database)β€™λΌλŠ” λ‹¨μ–΄λŠ” 두 개의 λ‹¨μ–΄λ‘œ λ‚˜λ‰œλ‹€.

  • πŸ“¦ Data : 정보
  • πŸ—οΈ Base : 기반, μ €μž₯μ†Œ

즉, λ°μ΄ν„°λ² μ΄μŠ€λž€ 정보λ₯Ό μ €μž₯ν•˜κ³ , κ²€μƒ‰ν•˜κ³ , κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ κΈ°λ°˜μ΄λ‹€.

κ°€μž₯ 직관적인 λ°μ΄ν„°λ² μ΄μŠ€ μ˜ˆμ‹œλŠ” μ—‘μ…€(XLSX) νŒŒμΌμ΄λ‹€ πŸ“Š


πŸ“„ 엑셀도 λ°μ΄ν„°λ² μ΄μŠ€λ‹€?

엑셀에 μ•„λž˜μ²˜λŸΌ 정보λ₯Ό μž…λ ₯ν–ˆλ‹€κ³  κ°€μ •ν•΄λ³΄μž.

이름   | μ§€μ—­   | κ΅¬λ§€μƒν’ˆ  | 가격
-------------------------------
jay   | μ„œμšΈ   | μ‹œκ³„     | 100,000

이 ν•œ 쀄은 λ‹¨μˆœν•œ ν…μŠ€νŠΈκ°€ μ•„λ‹ˆλΌ λͺ…ν™•ν•œ β€œμ •λ³΄β€λ‹€.

βœ”οΈ λˆ„κ°€ β†’ jay βœ”οΈ μ–΄λ””μ„œ β†’ μ„œμšΈ βœ”οΈ 무엇을 β†’ μ‹œκ³„ βœ”οΈ μ–Όλ§ˆμ— β†’ 10λ§Œμ›

μ΄λ ‡κ²Œ ꡬ쑰λ₯Ό κ°€μ§„ 데이터λ₯Ό μ €μž₯ν•˜κ³  μžˆλ‹€λ©΄ 그건 이미 λ°μ΄ν„°λ² μ΄μŠ€λ‹€.

ν•˜μ§€λ§Œ λ¬Έμ œλŠ”β€¦ πŸ˜… 데이터가 λŠ˜μ–΄λ‚˜κΈ° μ‹œμž‘ν•˜λ©΄ λ°œμƒν•œλ‹€.


πŸ“ˆ μ‚¬λžŒμ΄ λŠ˜μ–΄λ‚˜λ©΄ μƒκΈ°λŠ” 문제

κ΅¬λ§€μžκ°€ λŠ˜μ–΄λ‚¬λ‹€κ³  κ°€μ •ν•΄λ³΄μž.

이름         | μ§€μ—­ | κ΅¬λ§€μƒν’ˆ
------------------------------
jay         | μ„œμšΈ | μ‹œκ³„
영희, 철수    | λΆ€μ‚° | μ‹œκ³„

😨 이 μƒνƒœλ‘œλŠ” μ‹¬κ°ν•œ λ¬Έμ œκ°€ 생긴닀.

  • ❓ μ˜ν¬λž‘ μ² μˆ˜κ°€ λ‘˜ λ‹€ μ‹œκ³„λ₯Ό μƒ€λ‹€λŠ” 건가?
  • ❓ 각각 뭘 μƒ€λŠ”μ§€ μ•Œ 수 μ—†λ‹€

즉, 정보가 λͺ¨ν˜Έν•΄μ§„λ‹€.


πŸ“¦ κ·Έλž˜μ„œ 데이터λ₯Ό ν’€μ–΄μ“΄λ‹€

ꡬ맀 정보λ₯Ό λͺ…ν™•ν•˜κ²Œ μ μ–΄λ³΄μž.

이름   | μ§€μ—­ | μƒν’ˆ | 가격
--------------------------
jay   | μ„œμšΈ | μ‹œκ³„ | 100,000
영희   | λΆ€μ‚° | μ‹œκ³„ | 100,000
철수   | λΆ€μ‚° | 컴퓨터 | 2,000,000

이제 λˆ„κ°€ 뭘 μƒ€λŠ”μ§€λŠ” λͺ…ν™•ν•˜λ‹€ πŸ‘

ν•˜μ§€λ§Œβ€¦ 또 λ‹€λ₯Έ λ¬Έμ œκ°€ ν„°μ§„λ‹€ πŸ’₯


πŸ”₯ 쀑볡 λ°μ΄ν„°μ˜ 문제

β€œμ‹œκ³„β€λΌλŠ” μƒν’ˆ 이름을 β€œμΉ΄μ‹œμ˜€β€λ‘œ λ°”κΏ”μ•Ό ν•œλ‹€λ©΄?

  • πŸ“„ λͺ¨λ“  ν–‰μ—μ„œ β€œμ‹œκ³„β€λ₯Ό ν•˜λ‚˜μ”© μˆ˜μ •
  • πŸ“„ 데이터가 2μ–΅ 건이면? β†’ μ§€μ˜₯ μ‹œμž‘

이건 쀑볡 데이터(Redundancy) λ¬Έμ œλ‹€.

πŸ‘‰ 이 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 핡심 κ°œλ…μ΄ λ°”λ‘œ 관계(Relation)λ‹€.


🧩 데이터λ₯Ό λ‚˜λˆ μ„œ κ΄€λ¦¬ν•œλ‹€

ν•˜λ‚˜μ˜ μ‹œνŠΈμ— λͺ¨λ“  정보λ₯Ό λ„£μ§€ μ•ŠλŠ”λ‹€.

μ—­ν• λ³„λ‘œ λ‚˜λˆˆλ‹€.

[μƒν’ˆ ν…Œμ΄λΈ”]
μƒν’ˆID | μƒν’ˆλͺ… | 가격
--------------------
1     | μ‹œκ³„   | 100,000
2     | 컴퓨터 | 2,000,000


[ꡬ맀자 ν…Œμ΄λΈ”]
ꡬ맀자 | μ§€μ—­ | μƒν’ˆID
---------------------
jay   | μ„œμšΈ | 1
영희   | λΆ€μ‚° | 1
철수   | λΆ€μ‚° | 2

🎯 핡심 포인트!

  • μƒν’ˆ μ •λ³΄λŠ” μƒν’ˆ ν…Œμ΄λΈ”μ—λ§Œ 쑴재
  • κ΅¬λ§€μžλŠ” μƒν’ˆμ˜ ID만 μ €μž₯

πŸ”‘ λ¬Έμžμ—΄ λŒ€μ‹  β€œκ³ μœ  λ²ˆν˜Έβ€λ₯Ό μ“°λŠ” 이유

λ§Œμ•½ μƒν’ˆλͺ…이 λ¬Έμžμ—΄μ΄λΌλ©΄ 이런 λ¬Έμ œκ°€ 생긴닀.

μƒν’ˆλͺ… | 가격
-------------
μ‹œκ³„   | 100,000
μ‹œκ³„   | 50,000

😡 β€œμ‹œκ³„β€κ°€ 두 κ°œλ‹€.

κ΅¬λ§€μžκ°€ μ‚° μ‹œκ³„κ°€ 5λ§Œμ›μ§œλ¦¬μΈμ§€ 10λ§Œμ›μ§œλ¦¬μΈμ§€ μ•Œ 수 μ—†λ‹€.

κ·Έλž˜μ„œ λ“±μž₯ν•˜λŠ” κ°œλ…μ΄ λ°”λ‘œ πŸ‘‡

고유 μ‹λ³„μž (ID, Index, Primary Key)


πŸ†” ID둜 관계λ₯Ό λ§Œλ“ λ‹€

[μƒν’ˆ ν…Œμ΄λΈ”]
μƒν’ˆID | μƒν’ˆλͺ… | 가격
--------------------
1     | μ‹œκ³„   | 100,000
2     | μ‹œκ³„   | 50,000


[ꡬ맀자 ν…Œμ΄λΈ”]
ꡬ맀자 | μƒν’ˆID
--------------
jay   | 1
영희   | 1

이제 μ˜λ―Έκ°€ λͺ…ν™•ν•΄μ§„λ‹€.

βœ”οΈ jayλŠ” 1번 μƒν’ˆμ„ 샀닀 βœ”οΈ 1번 μƒν’ˆμ€ 10λ§Œμ›μ§œλ¦¬ μ‹œκ³„λ‹€

μ΄λ ‡κ²Œ 같은 IDλ₯Ό κ³΅μœ ν•˜λ©΄μ„œ ν…Œμ΄λΈ” κ°„ 연결이 생긴닀.

이게 λ°”λ‘œ β€œκ΄€κ³„β€λ‹€ πŸ”—


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

이런 λ°©μ‹μœΌλ‘œ 데이터λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ‹œμŠ€ν…œμ„

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

그리고 이λ₯Ό κ΄€λ¦¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„

RDBMS (Relational Database Management System)

라고 λΆ€λ₯Έλ‹€.

  • MySQL
  • PostgreSQL
  • Oracle
  • MariaDB

πŸ“ ν…Œμ΄λΈ” ꡬ쑰 정리

κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€λŠ” ν…Œμ΄λΈ” λ‹¨μœ„λ‘œ κ΅¬μ„±λœλ‹€.

ꡬ성 μš”μ†Œ μ„€λͺ…
Table κ΄€λ ¨ λ°μ΄ν„°μ˜ μ§‘ν•©
Row (ν–‰) ν•˜λ‚˜μ˜ 데이터 묢음 (λ ˆμ½”λ“œ)
Column (μ—΄) 속성 (이름, 가격 λ“±)
Primary Key 각 행을 κ΅¬λΆ„ν•˜λŠ” 고유 κ°’

🧠 핡심 μš”μ•½

  • πŸ“‚ λ°μ΄ν„°λ² μ΄μŠ€λŠ” κ΅¬μ‘°ν™”λœ 데이터 μ €μž₯μ†Œλ‹€
  • πŸ“Š 엑셀도 λ‹¨μˆœν•œ λ°μ΄ν„°λ² μ΄μŠ€λ‹€
  • πŸ”₯ 쀑볡 λ°μ΄ν„°λŠ” μœ μ§€λ³΄μˆ˜ μ§€μ˜₯을 λ§Œλ“ λ‹€
  • πŸ”— κ΄€κ³„ν˜• DBλŠ” ID둜 ν…Œμ΄λΈ”μ„ μ—°κ²°ν•œλ‹€
  • πŸ†” λ¬Έμžμ—΄μ΄ μ•„λ‹Œ 고유 λ²ˆν˜Έκ°€ 핡심이닀
profile
Gongbuhaja

0개의 λŒ“κΈ€