๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป/ORACLE

[ORACLE] 1์ผ์ฐจ : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(Database)

by ๋”ฐ๊ถˆ 2024. 3. 11.

 

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ž€?
๋…ผ๋ฆฌ์ ์œผ๋กœ ์—ฐ๊ด€๋œ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ž๋ฃŒ์˜ ๋ชจ์Œ. ๊ทธ ๋‚ด์šฉ์„ ๊ณ ๋„๋กœ ๊ตฌ์กฐํ•จ์œผ๋กœ์จ ๊ฒ€์ƒ‰๊ณผ ๊ฐฑ์‹ ์˜ ํšจ์œจํ™”๋ฅผ ๊พ€ํ•œ ๊ฒƒ์œผ๋กœ, ๋ช‡ ๊ฐœ์˜ ์ž๋ฃŒ ํŒŒ์ผ์„ ์กฐ์ง์ ์œผ๋กœ ํ†ตํ•ฉํ•˜์—ฌ ์ž๋ฃŒ ํ•ญ๋ชฉ์˜ ์ค‘๋ณต์„ ์—†์• ๊ณ  ์ž๋ฃŒ๋ฅผ ๊ตฌ์กฐํ™”ํ•˜์—ฌ ๊ธฐ์–ต ์‹œ์ผœ ๋†“์€ ์ž๋ฃŒ์˜ ์ง‘ํ•ฉ์ฒด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.


๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ •์˜

  • ํ†ตํ•ฉ๋ฐ์ดํ„ฐ(Integrated Data) : ์—ฌ๋Ÿฌ ๊ตฐ๋ฐ ๋ถ„์‚ฐ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐœ๋…
  • ์ €์žฅ๋ฐ์ดํ„ฐ(Stored Data) : ์ปดํ“จํ„ฐ๊ฐ€ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๋งค์ฒด์— ์ €์žฅ๋œ ๋””์ง€ํ„ธ ๋ฐ์ดํ„ฐ๋ฅผ ์˜๋ฏธ
  • ์šด์˜๋ฐ์ดํ„ฐ(Operational Data) ํŠน์ • ์กฐ์ง์˜ ๊ณ ์œ  ์—…๋ฌด๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ํ•ญ์ƒ ์œ ์ง€ํ•ด์•ผ ํ•˜๋Š” ๋ฐ์ดํ„ฐ
  • ๊ณต์šฉ๋ฐ์ดํ„ฐ(Shared Data) : ๋ถ„์‚ฐ๋œ ํŒŒ์ผ์˜ ํ†ตํ•ฉ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•ด ์กฐ์ง ๋‚ด์˜ ๋‹ค์ˆ˜์˜ ์‚ฌ์šฉ์ž๋‚˜ ์—ฌ๋Ÿฌ ์‘์šฉ ์‹œ์Šคํ…œ์—์„œ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ฐœ๋…

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŠน์ง•

  • ์‹ค์‹œ๊ฐ„ ์ ‘๊ทผ(real-time-accessibility)์ด ๊ฐ€๋Šฅํ•˜์—ฌ ์งˆ์˜์— ๋Œ€ํ•œ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ ๋ฐ ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ด ์ค€๋‹ค.
  • ๊ณ„์†์ ์ธ ๋ณ€ํ™”(continuous evolution) ํŠน์„ฑ ๋•Œ๋ฌธ์— ์‚ฝ์ž…, ์‚ญ์ œ , ๊ฐฑ์‹ ์„ ํ†ตํ•ด์„œ ํ˜„์žฌ์˜ ์ •ํ™•ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋„์—Šใ„ฑ์œผ๋กœ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋™์‹œ ๊ณต์œ (concurrent sharing)๊ฐ€ ๊ฐ€๋Šฅํ•˜์—ฌ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ๊ณต์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋‚ด์šฉ์— ์˜ํ•œ ์ฐธ์กฐ(content reference)๊ฐ€ ๊ฐ€๋Šฅํ•˜์—ฌ ์œ„์น˜๋‚˜ ์ฃผ์†Œ๊ฐ€ ์•„๋‹Œ ๋ฐ์ดํ„ฐ์˜ ๋‚ด์šฉ, ์ฆ‰ ๊ฐ’์— ๋”ฐ๋ผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

DBMS(Database Management System)

  • DBMS (Database Management System)๋ž€ ์‚ฌ์šฉ์ž์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์ด์—์„œ ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ์— ๋”ฐ๋ผ ์ •๋ณด๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ์†Œํ”„ํŠธ์›จ์–ด์ด๋‹ค.
  • DBMS๋Š” ๊ธฐ์กด์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ๊ฐ–๋Š” ๋ฐ์ดํ„ฐ์˜ ์ข…์†์„ฑ๊ณผ ์ค‘๋ณต์„ฑ์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ œ์•ˆ๋œ ์‹œ์Šคํ…œ์œผ๋กœ ๋ชจ๋“  ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ณต์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ด€๋ฆฌํ•ด ์ค€๋‹ค.
  • DBMS๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์„ฑ, ์ ‘๊ทผ๋ฐฉ๋ฒ•, ์œ ์ง€๊ด€๋ฆฌ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ฑ…์ž„์„ ์ง„๋‹ค.

 

 

DBMS ๋ฌธ์ œ์ 

  • ์ข…์†์„ฑ์œผ๋กœ ์ธํ•œ ๋ฌธ์ œ์  
    • ์ข…์†์„ฑ : ์‘์šฉํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์ด ์ƒํ˜ธ ์˜์กด์ ์ธ ๊ด€๊ณ„
    • ๋ฐ์ดํ„ฐ ํŒŒ์ผ์ด ๋ณด์กฐ ๊ธฐ์–ต ์žฅ์น˜์— ์ €์žฅ๋˜๋Š” ๋ฐฉ๋ฒ•์ด๋‚˜ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์˜ ์ ‘๊ทผ ๋ฐฉ๋ฒ•์„ ๋ณ€๊ฒฝํ•  ๋•Œ๋Š” ์‘์šฉํ”„๋กœ๊ทธ๋žจ๋„ ๊ฐ™์ด ๋ณ€๊ฒฝํ•˜์—ฌ์•ผ ํ•จ
  • ์ค‘๋ณต์„ฑ์œผ๋กœ ์ธํ•œ ๋ฌธ์ œ์ 
    • ์ผ๊ด€์„ฑ : ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๊ฐ„์— ๋‚ด์šฉ์ด ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜์—ฌ ์ผ๊ด€์„ฑ์ด ์—†์–ด์ง
    • ๋ณด์•ˆ์„ฑ : ์ค‘๋ณต๋˜์–ด ์žˆ๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ์— ๋™๋“ฑ์˜ ๋ณด์•ˆ์ˆ˜์ค€์„ ์œ ์ง€ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์›€
    • ๊ฒฝ์ œ์„ฑ : ์ €์žฅ ๊ณต๊ฐ„์˜ ๋‚ญ๋น„์™€ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ์˜ ๋ฐ˜๋ณต ์ž‘์—…์œผ๋กœ ์ธํ•œ ๋น„์šฉ์˜ ์ฆ๊ฐ€
    • ๋ฌด๊ฒฐ์„ฑ : ์ œ์–ด์˜ ๋ถ„์‚ฐ์œผ๋กœ ์ธํ•ด ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์—†์Œ

 

DBMS์˜ ํ•„์ˆ˜ ๊ธฐ๋Šฅ

  • ์ •์˜(Definition)๊ธฐ๋Šฅ
    • ๋ชจ๋“  ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ์š”๊ตฌํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋  ๋ฐ์ดํ„ฐ์˜ ํ˜•(Type)๊ณผ ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์ •์˜, ์ด์šฉ ๋ฐฉ์‹, ์ œ์•ฝ ์กฐ๊ฑด ๋“ฑ์„ ๋ช…์‹œํ•˜๋Š” ๊ธฐ๋Šฅ
  • ์กฐ์ž‘(Maninpulation) ๊ธฐ๋Šฅ
    • ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ ๊ฐฑ์‹  ์‚ฝ์ž… ์‚ญ์ œ ๋“ฑ์„ ์ฒด๊ณ„์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ž์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์ด์˜ ์ธํ„ฐํŽ˜์ด์Šค ์ˆ˜๋‹จ์„ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ
  • ์ œ์–ด(Control) ๊ธฐ๋Šฅ
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ ‘๊ทผํ•˜๋Š” ๊ฐฑ์‹  ์‚ฝ์ž… ์‚ญ์ œ ์ž‘์—…์ด ์ •ํ™•ํ•˜๊ฒŒ ์ˆ˜ํ–‰๋˜์–ด ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์ด ์œ ์ง€๋˜๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค. ์ •๋‹นํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ํ—ˆ๊ฐ€๋œ ๋ฐ์ดํ„ฐ๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณด์•ˆ์„ ์œ ์ง€ํ•˜๊ณ  ๊ถŒํ•œ์„ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋™์‹œ์— ์ ‘๊ทผํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์ฒ˜๋ฆฌ๊ฒฐ๊ณผ๊ฐ€ ํ•ญ์ƒ ์ •ํ™•์„ฑ์„ ์œ ์ง€ํ•˜๋„๋ก ๋ณ‘ํ–‰์ œ์–ด์„ ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์–ธ์–ด

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ์ด์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ๊ณผ์˜ ํ†ต์‹  ์ˆ˜๋‹จ.

DBMS๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ๋˜๋ฉฐ, ๊ธฐ๋Šฅ๊ณผ ์‚ฌ์šฉ ๋ชฉ์ ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ ์ •์˜ ์–ธ์–ด, ๋ฐ์ดํ„ฐ ์กฐ์ž‘ ์–ธ์–ด, ๋ฐ์ดํ„ฐ ์ œ์–ด ์–ธ์–ด๋กœ ๊ตฌ๋ถ„๋œ๋‹ค.

 

  • ๋ฐ์ดํ„ฐ ์กฐ์ž‘ ์–ธ์–ด(DML: Definition Manipulation Language) : ๋Œ€์ƒ ๋ฐ์ดํ„ฐ์˜ ๊ฒ€์ƒ‰, ๋“ฑ๋ก, ์—…๋ฐ์ดํŠธ ๋ฐ ์‚ญ์ œ๋ฅผ ์œ„ํ•œ ์–ธ์–ด ๋˜๋Š” ์–ธ์–ด ์š”์†Œ
  • ๋ฐ์ดํ„ฐ ์ •์˜ ์–ธ์–ด(DDL : Data Definition Language) : ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์˜ ์ƒ์„ฑ, ์—…๋ฐ์ดํŠธ, ์‚ญ์ œ๋ฅผ ์œ„ํ•œ ์–ธ์–ด ๋˜๋Š” ์–ธ์–ด ์š”์†Œ
  • ๋ฐ์ดํ„ฐ ์ œ์–ด ์–ธ์–ด(DCL : Data Control Language) : ์•ก์„ธ์Šค ์ œ์–ด๋ฅผ ์œ„ํ•œ ์–ธ์–ด ๋˜๋Š” ์–ธ์–ด ์š”์†Œ 

 

์ ˆ์ฐจ์™€ ๋น„์ ˆ์ฐจ ์–ธ์–ด 

  • ์ ˆ์ฐจ ์–ธ์–ด (procedural language) : ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š”๋ฐ ํ•„์š”ํ•œ ์ผ๋ จ์˜ ์ˆ˜๋‹จ์„ ์ ˆ์ฐจ, ๋ฌธ์ œ ํ•ด๊ฒฐ์˜ ์ ˆ์ฐจ๋ฅผ ๊ฐ„๋‹จํžˆ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋œ ํ”„๋กœ๊ทธ๋žจ ์ ˆ์ฐจ ์–ธ์–ด. ์•Œ๊ธฐ ์‰ฌ์šด ์˜์ˆซ์ž๋‚˜ ๊ธฐํ˜ธ์— ์˜ํ•ด ๋งŒ๋“ค์–ด์ ธ ์žˆ์–ด ๋‹ค๋ฃจ๊ธฐ ์‰ฌ์šด ๋ชจ์–‘์œผ๋กœ ๋˜์–ด ์žˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ์šฉ ์–ธ์–ด๋กœ์„œ ์‘์šฉ๋œ๋‹ค.
  • ๋น„์ ˆ์ฐจ ์–ธ์–ด(non-procedure language) : ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ์— ์žˆ์–ด์„œ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ๊ณผ์ •๊ณผ ์ ˆ์ฐจ์— ๋Œ€ํ•œ ๊ธฐ์ˆ ์€ ์‹œ์Šคํ…œ์—์„œ ์ด๋ฃจ์–ด์ง€๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ๋ฌด์—‡์„ ํ•  ๊ฒƒ์ธ๊ฐ€ ํ•˜๋Š” ๊ธฐ๋Šฅ๋งŒ์„ ๊ธฐ์ˆ ํ•˜๋Š” ์–ธ์–ด, ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์งˆ์˜์–ด๊ฐ€ ์žˆ๋‹ค.

 


 

 

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ด๋ž€?
ํ…Œ์ด๋ธ”์„ ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ ์ƒํ˜ธ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•˜๋Š” DB๊ตฌ์กฐ
๋ฐ์ด์ปค๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๊ธฐ๋ณธํ‚ค(primary key)์™€ ์ด๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์™ธ๋ž˜ํ‚ค(foreign ket)๋กœ ํ‘œํ˜„
๋Œ€ํ‘œ์ ์ธ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค : Oracle,MS-SQL๋“ฑ
1:1,1:N,M:N๊ด€๊ณ„๋ฅผ ์ž์œ ๋กญ๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ