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 ๋“ฑ์ด ์žˆ์œผ๋ฉฐ, ๋ณต์žกํ•œ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๋Š” ์ •ํ˜• ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.