Home > DB > πŸ’Ύ[Database] κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)λž€ λ¬΄μ—‡μΌκΉŒμš”?

πŸ’Ύ[Database] κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)λž€ λ¬΄μ—‡μΌκΉŒμš”?
Database

πŸ’Ύ[Database] κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)λž€ λ¬΄μ—‡μΌκΉŒμš”?

  • κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)λŠ” ν…Œμ΄λΈ” ν˜•μ‹μœΌλ‘œ 데이터λ₯Ό μ €μž₯ν•˜κ³ , ν…Œμ΄λΈ” κ°„μ˜ 관계λ₯Ό μ •μ˜ν•˜μ—¬ 데이터λ₯Ό κ΄€λ¦¬ν•˜λŠ” 데이터 λͺ¨λΈμž…λ‹ˆλ‹€.
  • 이λ₯Ό κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄ λ°μ΄ν„°λ² μ΄μŠ€ 관리 μ‹œμŠ€ν…œ(Database Management System, DBMS)이 μ‚¬μš©λ˜λ©°, RDB(Relational Database, κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€)λ₯Ό κ΄€λ¦¬ν•˜λŠ” DBMS(Database Management System, λ°μ΄ν„°λ² μ΄μŠ€ 관리 μ‹œμŠ€ν…œ)λŠ” κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€ κ΄€λ¦¬μ‹œμŠ€ν…œ(RDBMS, Relational Database Management System)이라고 ν•©λ‹ˆλ‹€.
  • κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)λŠ” 데이터λ₯Ό ν–‰(Row)κ³Ό μ—΄(Column)둜 κ΅¬μ„±λœ ν…Œμ΄λΈ”(Table)에 μ €μž₯되며, 각 ν…Œμ΄λΈ”μ€ μ„œλ‘œ 관계λ₯Ό λ§Ίμ–΄ κ΅¬μ‘°ν™”λœ 데이터λ₯Ό κ΄€λ¦¬ν•˜κ³  κ²€μƒ‰ν•˜κΈ° μ‰½κ²Œ ν•©λ‹ˆλ‹€.

1️⃣ κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(RDB, Relational Database)의 μ£Όμš” νŠΉμ§•.

1️⃣ ν…Œμ΄λΈ” ꡬ쑰.

  • κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(RDB, Relational Database)λŠ” 데이터λ₯Ό ν…Œμ΄λΈ” ν˜•νƒœλ‘œ μ €μž₯ν•©λ‹ˆλ‹€.
    • 각 ν…Œμ΄λΈ”μ€ ν–‰(Row)κ³Ό μ—΄(Column)둜 κ΅¬μ„±λ˜λ©°, ν–‰(Row)은 λ ˆμ½”λ“œ(Record)라고 ν•˜κ³ , μ—΄(Column)은 속성(Attribute) λ˜λŠ” ν•„λ“œ(Field)라고 λΆ€λ¦…λ‹ˆλ‹€.
  • 예λ₯Ό λ“€μ–΄, β€œμ‚¬μš©μžβ€λΌλŠ” ν…Œμ΄λΈ”μ΄ μžˆλ‹€λ©΄, 각 ν–‰(Row)은 μ‚¬μš©μž 정보(이름, 이메일, λ‚˜μ΄ λ“±)λ₯Ό λ‚˜νƒ€λ‚΄κ³ , 각 μ—΄(Column)은 μ‚¬μš©μž 정보λ₯Ό μ„€λͺ…ν•˜λŠ” 속성(Attribute)을 λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

2️⃣ 관계.

  • κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)λŠ” μ—¬λŸ¬ ν…Œμ΄λΈ” κ°„μ˜ 관계λ₯Ό μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    • ν‚€(Key)λ₯Ό μ‚¬μš©ν•΄ ν…Œμ΄λΈ” κ°„μ˜ 관계λ₯Ό λ§Ίκ³ , 데이터λ₯Ό μ°Έμ‘°ν•˜κ³  μ—°κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • 예λ₯Ό λ“€μ–΄, β€œμ‚¬μš©μžβ€ ν…Œμ΄λΈ”κ³Ό β€œμ£Όλ¬Έβ€ ν…Œμ΄λΈ”μ΄ μžˆλ‹€κ³  ν•˜λ©΄, β€œμ‚¬μš©μžβ€ ν…Œμ΄λΈ”μ˜ κΈ°λ³Έ ν‚€(Primary Key)κ°€ β€œμ£Όλ¬Έβ€ ν…Œμ΄λΈ”μ— μ™Έλž˜ ν‚€(Foreign Key)둜 μ‚¬μš©λ˜λ©°, μ‚¬μš©μžμ™€ μ£Όλ¬Έ κ°„μ˜ 관계λ₯Ό λ‚˜νƒ€λ‚Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

3️⃣ κ³ μœ ν•œ ν‚€(Primary Key).

  • 각 ν…Œμ΄λΈ”μ—λŠ” κ³ μœ ν•œ ν‚€(Primary Key)κ°€ μžˆμŠ΅λ‹ˆλ‹€.
    • 이 ν‚€λŠ” ν…Œμ΄λΈ”μ˜ 각 λ ˆμ½”λ“œ(Record)λ₯Ό μœ μΌν•˜κ²Œ μ‹λ³„ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€.
      • κΈ°λ³Έ ν‚€(Primary Key)λŠ” 쀑볡될 수 μ—†μœΌλ©°, 이λ₯Ό 톡해 데이터λ₯Ό μ •ν™•ν•˜κ²Œ κ²€μƒ‰ν•˜κ³  관리할 수 μžˆμŠ΅λ‹ˆλ‹€.

4️⃣ 데이터 무결성 및 일관성.

  • κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)λŠ” 데이터 무결성(Integrity)κ³Ό 일관성(Consistency)을 μœ μ§€ν•˜λ„λ‘ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
    • 이λ₯Ό 톡해 λ°μ΄ν„°μ˜ μ •ν™•μ„±κ³Ό 신뒰성을 보μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ œμ•½ 쑰건(Constraints)을 톡해 λ°μ΄ν„°μ˜ 무결성(Integrity)을 μœ μ§€ν•©λ‹ˆλ‹€.
    • 예λ₯Ό λ“€μ–΄, NOT NULL μ œμ•½ 쑰건을 μ‚¬μš©ν•˜μ—¬ νŠΉμ • 열이 항상 값을 κ°€μ Έμ•Ό ν•œλ‹€λŠ” 것을 보μž₯ν•˜κ±°λ‚˜, FOREIGN KEY μ œμ•½ 쑰건을 μ‚¬μš©ν•΄ ν…Œμ΄λΈ” κ°„μ˜ 관계λ₯Ό μœ μ§€ν•©λ‹ˆλ‹€.

5️⃣ SQL(Structured Query Language)

  • κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)λŠ” 데이터λ₯Ό κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄ SQL(Structured Query Language)μ΄λΌλŠ” μ–Έμ–΄λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.
    • SQL(Structured Query Language)은 데이터λ₯Ό 쑰회, μ‚½μž…, μˆ˜μ •, μ‚­μ œν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” ν‘œμ€€ μ–Έμ–΄μž…λ‹ˆλ‹€.
      • SQL(Structured Query Language)은 κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)μ—μ„œ 데이터 검색과 μ‘°μž‘μ„ μœ„ν•œ κ°•λ ₯ν•œ λ„κ΅¬μž…λ‹ˆλ‹€.
  • 예: 데이터λ₯Ό μ‚½μž…ν•˜κΈ° μœ„ν•œ INSERTλ¬Έ, 데이터λ₯Ό μ‘°νšŒν•˜κΈ° μœ„ν•œ SELECTλ¬Έ, 데이터λ₯Ό μˆ˜μ •ν•˜κΈ° μœ„ν•œ UPDATEλ¬Έ, 데이터λ₯Ό μ‚­μ œν•˜κΈ° μœ„ν•œ DELETEλ¬Έ 등이 μžˆμŠ΅λ‹ˆλ‹€.

2️⃣ κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)의 ꡬ성 μš”μ†Œ.

1️⃣ ν…Œμ΄λΈ”(Table)

  • κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)의 κΈ°λ³Έ λ‹¨μœ„μž…λ‹ˆλ‹€.
    • λ°μ΄ν„°λŠ” ν–‰(Row)κ³Ό μ—΄(Column)둜 κ΅¬μ„±λœ ν…Œμ΄λΈ”μ— μ €μž₯λ©λ‹ˆλ‹€.
      • 예: μ‚¬μš©μž(Users) ν…Œμ΄λΈ”, μ£Όλ¬Έ(Order) ν…Œμ΄λΈ”

2️⃣ κΈ°λ³Έ ν‚€(Primary Key)

  • 각 ν…Œμ΄λΈ”μ—μ„œ κ³ μœ ν•˜κ²Œ λ ˆμ½”λ“œλ₯Ό μ‹λ³„ν•˜λŠ” μ—΄(Column)μž…λ‹ˆλ‹€.
    • 쀑볡될 수 μ—†μœΌλ©°, 각 ν–‰(Row)을 μœ μΌν•˜κ²Œ ꡬ뢄할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • 예: μ‚¬μš©μž ν…Œμ΄λΈ”μ˜ user_id μ—΄(Column)은 κΈ°λ³Έ ν‚€(Primary Key)둜 μ‚¬μš©λ  수 μžˆμŠ΅λ‹ˆλ‹€.

3️⃣ μ™Έλž˜ ν‚€(Foreign Key)

  • λ‹€λ₯Έ ν…Œμ΄λΈ”μ˜ κΈ°λ³Έ ν‚€(Primary Key)λ₯Ό μ°Έμ‘°ν•˜λŠ” μ—΄(Column)둜, ν…Œμ΄λΈ” κ°„μ˜ 관계λ₯Ό μ •μ˜ν•©λ‹ˆλ‹€.
    • μ™Έλž˜ ν‚€(Foreign Key)λŠ” 두 ν…Œμ΄λΈ”μ„ μ—°κ²°ν•˜λŠ” 역할을 ν•˜λ©°, 데이터 κ°„μ˜ 일관성을 μœ μ§€ν•˜λŠ” 데 도움을 μ€λ‹ˆλ‹€.
  • 예: μ£Όλ¬Έ(Orders) ν…Œμ΄λΈ”μ—μ„œ user_id 열이 μ‚¬μš©μž(Users) ν…Œμ΄λΈ”μ˜ user_idλ₯Ό μ°Έμ‘°ν•˜λŠ” 경우, 이λ₯Ό μ™Έλž˜ν‚€(Foreign Key)라고 ν•©λ‹ˆλ‹€.

4️⃣ 속성(Attribute)

  • ν…Œμ΄λΈ”μ˜ μ—΄(Column)을 μ˜λ―Έν•˜λ©°, 각 속성(Attribute)은 νŠΉμ • μœ ν˜•μ˜ 데이터λ₯Ό μ €μž₯ν•©λ‹ˆλ‹€.
    • 예λ₯Ό λ“€μ–΄, μ‚¬μš©μž ν…Œμ΄λΈ”μ—μ„œ name, email, age와 같은 속성이 μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

5️⃣ λ ˆμ½”λ“œ(Record)

  • ν…Œμ΄λΈ”μ˜ ν–‰(Row)을 μ˜λ―Έν•˜λ©°, ν•˜λ‚˜μ˜ λ ˆμ½”λ“œλŠ” ν…Œμ΄λΈ”μ— μ €μž₯된 λ°μ΄ν„°μ˜ ν•œ ν•­λͺ©μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
    • 예λ₯Ό λ“€μ–΄, μ‚¬μš©μž ν…Œμ΄λΈ”μ˜ ν•œ ν–‰(Row)은 ν•œ μ‚¬μš©μžμ˜ 정보λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

3️⃣ κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)의 μ˜ˆμ‹œ.

  • 예λ₯Ό λ“€μ–΄, μ „μžμƒκ±°λž˜ μ›Ήμ‚¬μ΄νŠΈλ₯Ό μœ„ν•œ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ„€κ³„ν•œλ‹€κ³  κ°€μ •ν•΄λ΄…μ‹œλ‹€.
    • μ—¬κΈ°μ—λŠ” μ‚¬μš©μžμ™€ μ£Όλ¬Έ 정보λ₯Ό μ €μž₯ν•˜κΈ° μœ„ν•΄ 두 개의 ν…Œμ΄λΈ”μ΄ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

1️⃣ μ‚¬μš©μž(Users) ν…Œμ΄λΈ”.

  • user_id(κΈ°λ³Έ ν‚€, Primary Key)
  • name`
  • email
  • address

2️⃣ μ£Όλ¬Έ(Orders) ν…Œμ΄λΈ”.

  • order_id(κΈ°λ³Έ ν‚€, Primary Key)
  • user_id(μ™Έλž˜ ν‚€, Foreign Key, μ‚¬μš©μžμ™€μ˜ 관계λ₯Ό λ‚˜νƒ€λƒ„)
  • product
  • quantity

3️⃣ μ„€λͺ….

  • 이 μ˜ˆμ—μ„œ, μ‚¬μš©μž ν…Œμ΄λΈ”κ³Ό μ£Όλ¬Έ ν…Œμ΄λΈ”μ€ user_idλ₯Ό 톡해 관계λ₯Ό λ§Ίκ³  μžˆμŠ΅λ‹ˆλ‹€.
    • 이λ₯Ό 톡해 νŠΉμ • μ‚¬μš©μžκ°€ μ–΄λ–€ 주문을 ν–ˆλŠ”μ§€ μ‰½κ²Œ μ‘°νšŒν•  수 μžˆμŠ΅λ‹ˆλ‹€.

4️⃣ κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€ κ΄€λ¦¬μ‹œμŠ€ν…œ(RDBMS, Relational Database Management System)의 예.

  • MySQL
    • μ˜€ν”ˆ μ†ŒμŠ€ κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€ κ΄€λ¦¬μ‹œμŠ€ν…œ(RDBMS, Relational Database Management System)으둜, μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ 많이 μ‚¬μš©λ©λ‹ˆλ‹€.
  • PostgreSQL
    • μ˜€ν”ˆ μ†ŒμŠ€ κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€ κ΄€λ¦¬μ‹œμŠ€ν…œ(RDBMS, Relational Database Management System)둜, ν™•μž₯μ„±κ³Ό ν‘œμ€€ μ€€μˆ˜μ— 쀑점을 λ‘” κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€ κ΄€λ¦¬μ‹œμŠ€ν…œ(RDBMS, Relational Database Management System)μž…λ‹ˆλ‹€.
  • Oracle
    • λŒ€κ·œλͺ¨ μƒμ—…μš© λ°μ΄ν„°λ² μ΄μŠ€λ‘œ, 높은 μ„±λŠ₯κ³Ό λ³΄μ•ˆμ„±μ„ μžλž‘ν•˜λŠ” κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€ κ΄€λ¦¬μ‹œμŠ€ν…œ(RDBMS, Relational Database Management System)μž…λ‹ˆλ‹€.
  • Microsoft SQL Server
    • λ§ˆμ΄ν¬λ‘œμ†Œν”„νŠΈμ—μ„œ κ°œλ°œν•œ κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€ κ΄€λ¦¬μ‹œμŠ€ν…œ(RDBMS, Relational Database Management System)으둜, κΈ°μ—… ν™˜κ²½μ—μ„œ 많이 μ‚¬μš©λ©λ‹ˆλ‹€.

5️⃣ κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)의 μž₯점.

1️⃣ 데이터 무결성 보μž₯.

  • κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)λŠ” μ œμ•½ 쑰건(Constraints)을 톡해 λ°μ΄ν„°μ˜ 무결성을 보μž₯ν•©λ‹ˆλ‹€.
    • 예λ₯Ό λ“€μ–΄, μ™Έλž˜ ν‚€(Foreign key)λ₯Ό 톡해 ν…Œμ΄λΈ” κ°„μ˜ μ°Έμ‘° 무결성을 μœ μ§€ν•˜κ³ , λ°μ΄ν„°μ˜ 일관성을 ν™•λ³΄ν•©λ‹ˆλ‹€.

2️⃣ SQL을 ν†΅ν•œ 데이터 관리.

  • κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database)λŠ” SQL(Structured Query Language)μ΄λΌλŠ” ν‘œμ€€ μ–Έμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ 데이터λ₯Ό 검색, μ‚½μž…, μˆ˜μ •, μ‚­μ œν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    • SQL은 κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ 데이터λ₯Ό μ‰½κ²Œ 관리할 수 μžˆλ„λ‘ ν•΄μ€λ‹ˆλ‹€.

3️⃣ 데이터 쀑볡 μ΅œμ†Œν™”.

  • κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)λŠ” 데이터λ₯Ό μ—¬λŸ¬ ν…Œμ΄λΈ”λ‘œ λ‚˜λˆ„κ³ , 쀑볡을 μ΅œμ†Œν™”ν•˜μ—¬ μ €μž₯ν•©λ‹ˆλ‹€.
    • 이둜 인해 데이터 μ €μž₯μ†Œμ˜ νš¨μœ¨μ„±μ΄ μ¦κ°€ν•˜κ³ , 데이터 일관성을 μœ μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

4️⃣ 데이터 λ³΄μ•ˆ.

  • κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)λŠ” μ‚¬μš©μž κΆŒν•œμ„ κ΄€λ¦¬ν•˜μ—¬, 데이터에 λŒ€ν•œ 접근을 μ œμ–΄ν•˜κ³  λ³΄μ•ˆμ„ κ°•ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

6️⃣ κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€μ˜ 단점.

1️⃣ λ³΅μž‘ν•œ ꡬ쑰.

  • 데이터가 μ—¬λŸ¬ ν…Œμ΄λΈ”μ— λΆ„μ‚°λ˜μ–΄ μ €μž₯되기 λ•Œλ¬Έμ—, λ°μ΄ν„°μ˜ ꡬ쑰가 λ³΅μž‘ν•΄μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.
    • 특히, λ°μ΄ν„°κ°„μ˜ 관계가 λ§Žμ•„μ§ˆμˆ˜λ‘ 관리와 섀계가 μ–΄λ €μ›Œμ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.

2️⃣ ν™•μž₯μ„±μ˜ ν•œκ³„.

  • κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)λŠ” λ°μ΄ν„°μ˜ μˆ˜ν‰μ  ν™•μž₯(데이터λ₯Ό μ—¬λŸ¬ μ„œλ²„λ‘œ λ‚˜λˆ„μ–΄ μ €μž₯)이 μ–΄λ €μš΄ κ²½μš°κ°€ λ§ŽμŠ΅λ‹ˆλ‹€.
    • 데이터가 크고 관계가 λ³΅μž‘ν• μˆ˜λ‘ ν™•μž₯μ„±κ³Ό μ„±λŠ₯에 μ œμ•½μ΄ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

3️⃣ κ³ μ •λœ μŠ€ν‚€λ§ˆ.

  • κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)λŠ” κ³ μ •λœ μŠ€ν‚€λ§ˆλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.
    • 즉, ν…Œμ΄λΈ” ꡬ쑰(μ—΄(Row)의 μˆ˜μ™€ 이름 λ“±)κ°€ μ •ν•΄μ§„ ν›„, 이λ₯Ό λ³€κ²½ν•˜κΈ° μ–΄λ ΅μŠ΅λ‹ˆλ‹€.
      • 데이터 ꡬ쑰가 자주 λ³€κ²½λ˜λŠ” 경우 μœ μ—°μ„±μ΄ λ–¨μ–΄μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.

7️⃣ κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)와 NoSQL λ°μ΄ν„°λ² μ΄μŠ€μ˜ 차이.

1️⃣ κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)

  • 데이터λ₯Ό ν…Œμ΄λΈ” ν˜•νƒœλ‘œ μ €μž₯ν•˜λ©°, ν…Œμ΄λΈ” κ°„μ˜ 관계λ₯Ό μ •μ˜ν•©λ‹ˆλ‹€.
  • SQL(Structured Query Language)을 μ‚¬μš©ν•˜μ—¬ 데이터λ₯Ό κ΄€λ¦¬ν•©λ‹ˆλ‹€.
  • 일관성과 무결성을 μ€‘μš”ν•˜κ²Œ 닀루며, κ³ μ •λœ μŠ€ν‚€λ§ˆ ꡬ쑰λ₯Ό κ°€μ§‘λ‹ˆλ‹€.

2️⃣ NoSQL λ°μ΄ν„°λ² μ΄μŠ€

  • 데이터λ₯Ό μœ μ—°ν•œ ꡬ쑰둜 μ €μž₯ν•˜λ©°, λ¬Έμ„œ(Document), ν‚€-κ°’(Key-Value), κ·Έλž˜ν”„(Graph) λ“± λ‹€μ–‘ν•œ λ°©μ‹μœΌλ‘œ 데이터λ₯Ό μ €μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • μŠ€ν‚€λ§ˆκ°€ μœ μ—°ν•˜μ—¬ 데이터 ꡬ쑰가 자주 변경될 λ•Œ μœ λ¦¬ν•©λ‹ˆλ‹€.
  • κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)에 λΉ„ν•΄ μˆ˜ν‰μ  ν™•μž₯이 μš©μ΄ν•˜λ©°, λŒ€κ·œλͺ¨ λΆ„μ‚° μ‹œμŠ€ν…œμ— μ ν•©ν•©λ‹ˆλ‹€.

8️⃣ κ²°λ‘ .

  • κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Database, RDB)λŠ” 데이터λ₯Ό ν…Œμ΄λΈ” ν˜•νƒœλ‘œ μ €μž₯ν•˜κ³ , μ—¬λŸ¬ ν…Œμ΄λΈ” κ°„μ˜ 관계λ₯Ό μ •μ˜ν•˜μ—¬ 데이터λ₯Ό 효율적으둜 κ΄€λ¦¬ν•˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€ 관리 μ‹œμŠ€ν…œμž…λ‹ˆλ‹€.
  • SQL을 μ‚¬μš©ν•΄ 데이터λ₯Ό κ΄€λ¦¬ν•˜λ©°, 데이터 무결성과 일관성을 μœ μ§€ν•˜λŠ” 데 강점을 κ°€μ§‘λ‹ˆλ‹€.
  • λŒ€ν‘œμ μΈ κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€λ‘œλŠ” MySQL, PostgreSQL, Oracle 등이 있으며, λ³΅μž‘ν•œ 관계λ₯Ό κ°€μ§€λŠ” μ •ν˜• 데이터 관리에 μ ν•©ν•©λ‹ˆλ‹€.