DBMS์˜ ์ข…๋ฅ˜ | Database Management System, RDBMS, OODBMS, NDBMS, HDBMS

    ๋ฐ˜์‘ํ˜•

    ๐Ÿ’กDBMS(Database Management System)

    : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ด€๋ฆฌํ•˜์—ฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ณต์œ ํ•˜๋ฉฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด

    : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ํŠน์„ ์ œ๊ณตํ•˜๋ฉฐ, ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰, ์ €์žฅ ๊ธฐ๋Šฅ ๋“ฑ์„ ์ œ๊ณต

    ex) MySQL, PostgreSQL, Microsoft SQL Server, Oracle Database, Micro Access, MongoDB

     

    ๐Ÿ’กDBMS์˜ ์ข…๋ฅ˜

    • ๊ด€๊ณ„ํ˜• DBMS (RDBMS, Relational DBMS)
      : ๊ฐ relation(table)์€ ํ•˜๋‚˜์˜ entity(ex. ๊ณ ๊ฐ) ํƒ€์ž…์„ ๋Œ€ํ‘œ, row(tuple)์€ ๊ทธ entity ์ข…๋ฅ˜์˜ instance(ex. ‘LEE’)๋ฅผ ๋Œ€ํ‘œ, column(attribute)๋Š” ๊ทธ instance์˜ ์†์„ฑ(ex. ์ฃผ์†Œ)์ด ๋˜๋Š” ๊ฐ’์€ ๋Œ€ํ‘œ
      : ๋ฐ์ดํ„ฐ๋ฅผ column๊ณผ row๋กœ ์ด๋ฃจ์–ด์ง„ ํ•˜๋‚˜ ์ด์ƒ์˜ ํ…Œ์ด๋ธ”(relation)๋กœ ์ทจ๊ธ‰, ๊ณ ์œ ํ‚ค(Primary Key, PK)๋กœ ๊ฐ row๋ฅผ ์‹๋ณ„ (ex. MS SQL server, MySQL, SQLite, MariaDB)
      - ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ(integrity), ํŠธ๋žœ์žญ์…˜ ๋…๋ฆฝ์„ฑ(isolation) ๋“ฑ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์œผ๋กœ์จ์˜ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ๋ฉด์—์„œ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ
      - ์งˆ์˜์–ด(Query Language)๋ฅผ ์‚ฌ์šฉํ•œ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๋ฐฉ๋ฒ•
      - ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ์ œํ•œ๊ณผ ์ƒˆ๋กœ์šด ํƒ€์ž…์˜ ์ƒ์„ฑ ๋ฐ ๊ธฐ์กด ํƒ€์ž…์˜ ํ™•์žฅ ๋ถˆ๊ฐ€๋Šฅ
      - ์ƒํ˜ธ ๊ด€๋ จ๋œ ๊ฐ์ฒด๋“ค์„ ์ฐพ์•„๋‚ด์–ด ์ฒ˜๋ฆฌํ•˜๊ธฐ ์–ด๋ ค์›€

    Relational Database (source: wikipedia)

     

    • ๊ฐ์ฒด์ง€ํ–ฅ DBMS(OODBMS, Object-Oriented DBMS)
      : ์ •๋ณด๋ฅผ ๊ฐ์ฒด์˜ ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋ธ (ex. Caché, Versant Object Database
      - ์‚ฌ์šฉ์ž ์ •์˜ ํƒ€์ž… ์ง€์› - ์ƒ์†์„ฑinheritance ๋ช…์„ธ ๊ฐ€๋Šฅ
      - ๋น„์ •ํ˜• ๋ณตํ•ฉ ์ •๋ณด์˜ ๋ชจ๋ธ๋ง ๊ฐ€๋Šฅ
      - ๊ฐ์ฒด๋“ค ์‚ฌ์ด์˜ reference ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•œ ํ•ญํ•ดnavigation ๊ธฐ๋ฐ˜ ์ •๋ณด ์ ‘๊ทผ ๊ฐ€๋Šฅ
      - join์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋น ๋ฅธ ์งˆ์˜ ๊ฐ€๋Šฅ(RDBMS๋Š” ๊ฒฝ์šฐ์— ๋”ฐ๋ผ join์— ์˜ํ•ด ์„ฑ๋Šฅ ์ €ํ•˜ ๋ฐœ์ƒ ๊ฐ€๋Šฅ)

    OORDBMS (source: wikipedia)

     

    What Is An Object-Oriented Database?

    Learn about object-oriented databases, what to consider when evaluating one for your next application, and how MongoDB can help you on that journey.

    www.mongodb.com

    Difference between Relational Database and Object-Oriented Database(source: www.mongodb.com)

    • ๋„คํŠธ์›Œํฌ DBMS (NDBMS, Network DBMS)
      : ๋ ˆ์ฝ”๋“œ(์˜ค๋ธŒ์ ํŠธ)๋ฅผ ๋…ธ๋“œnode๋กœ, ์ด๋“ค์˜ ๊ด€๊ณ„๋ฅผ ๊ฐ„์„ edge์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ทธ๋ž˜ํ”„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋ธ

    Network database model (source: wikipedia)

    • ๊ณ„์ธตํ˜• DBMS (HDBMS, Hierarchical DBMS)
      : ํŠธ๋ฆฌ ํ˜•ํƒœ์˜ ๊ตฌ์กฐ๋กœ ์กฐ์ง๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋ธ

    Hierarchical database model (source: wikipedia)

    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€