What is Database

DB & DBMS & DB system

database(DB)

์˜๋ฏธ

  • ์ „์ž์ ์œผ๋กœ(electronically) ์ €์žฅ๋˜๊ณ  ์‚ฌ์šฉ๋˜๋Š” ๊ด€๋ จ์žˆ๋Š”(related) ๋ฐ์ดํ„ฐ๋“ค์˜ ์กฐ์งํ™”๋œ ์ง‘ํ•จ(organized collection)

  • ๊ด€๋ จ์žˆ๋Š” ๋ฐ์ดํ„ฐ : ๊ฐ™์€ ์ถœ์ฒ˜, ๊ฐ™์€ ๋ชฉ์ , ๊ฐ™์€ ์„œ๋น„์Šค ์•ˆ์—์„œ ์ƒ์„ฑ๋˜๋Š” ๋ฐ์ดํ„ฐ

  • ์กฐ์งํ™”๋œ ์ง‘ํ•ฉ : ์ž˜ ์ฐพ๊ณ  ์ค‘๋ณต ์—†์• ๊ณ  ๋ฐ์ดํ„ฐ ๋ถˆ์ผ์น˜ ์—†์• ๊ธฐ ์œ„ํ•ด์„œ ์ž˜ ์กฐ์งํ™” ํ•˜๋Š”๊ฒƒ

  • ์ „์ž์  ์‚ฌ์šฉ : ๋ฐ์ดํ„ฐ๊ฐ€ ์ปดํ“จํ„ฐ์— ์ €์žฅ๋˜๊ณ  ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ

DBMS

์˜๋ฏธ

  • databse management systems

  • ์‚ฌ์šฉ์ž์—๊ฒŒ DB๋ฅผ ์ •์˜ํ•˜๊ณ  ๋งŒ๋“ค๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ

  • ์˜ˆ : mysql, PostgreSQL, ORACLE, ...

  • DB๋ฅผ ์ •์˜ํ•˜๋‹ค๋ณด๋ฉด ๋ถ€๊ฐ€์ ์ธ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐœ์ƒํ•จ -> ์ด๋ฅผ metadata๋ผ๊ณ  ํ•จ

metadata

  • data about data : ๋ฐ์ดํ„ฐ๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ

  • database๋ฅผ ์ •์˜ํ•˜๊ฑฐ๋‚˜ ๊ธฐ์ˆ ํ•˜๋Š”(descriptive) ๋ฐ์ดํ„ฐ

  • catalog๋ผ๊ณ ๋„ ๋ถ€๋ฅด๊ณ , metadata๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ณณ์„ catalog๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•จ

  • ๋ฐ์ดํ„ฐ ์œ ํ˜•, ๊ตฌ์กฐ, ์ œ์•ฝ์กฐ๊ฑด, ๋ณด์•ˆ, ์ €์žฅ, ์ธ๋ฑ์Šค, ์‚ฌ์šฉ์ž ๊ทธ๋ฃน ๋“ฑ์„ ์ €์žฅํ•จ

  • ์ด metadata๋„ DBMS์— ์ €์žฅ๋˜์–ด ๊ด€๋ฆฌ๋จ

database system

์˜๋ฏธ

  • database + DBMS + ์—ฐ๊ด€๋œ applications

  • ์ค„์—ฌ์„œ ๊ทธ๋ƒฅ database๋ผ๊ณ ๋„ ๋ถ€๋ฆ„

์ฒ˜๋ฆฌ ๊ณผ์ •

  1. ์‚ฌ์šฉ์ž(ํ”„๋กœ๊ทธ๋ž˜๋จธ)๊ฐ€ application program์œผ๋กœ query๋ฅผ ์”€

  2. DBMS software์—์„œ ๊ทธ ์ฟผ๋ฆฌ๋ฅผ ๋ฐ›์•„์„œ, ์ฟผ๋ฆฌ์˜ ์˜๋ฏธ๋ฅผ ๋ถ„์„ํ•จ

  3. DBMS software์—์„œ ์š”์ฒญ ์ฒ˜๋ฆฌ

    • ์š”์ฒญ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ถ€๊ฐ€์ ์ธ ์ •๋ณด ํ™•์ธ(metadata ๋“ฑ ํ™•์ธ)

    • ์š”์ฒญ ๋ฐ›์€ ์ฟผ๋ฆฌ์— ๋Œ€ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•จ

  4. DBMS software์—์„œ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ application์—๊ฒŒ ๋Œ๋ ค์คŒ

Data model

์˜๋ฏธ

  • DB์˜ ๊ตฌ์กฐ(structure)๋ฅผ ๊ธฐ์ˆ ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋…๋“ค์ด ๋ชจ์ธ ์ง‘ํ•ฉ

  • ๊ฐœ๋…๋“ค์„ ๋ฐ”ํƒ•์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ๋ฅผ ์ถ”์ƒํ™”ํ•ด์„œ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋‹จ์„ ์ œ๊ณตํ•จ

  • ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ์ข…๋ฅ˜๊ฐ€ ์žˆ์œผ๋ฉฐ ์ถ”์ƒํ™” ์ˆ˜์ค€๊ณผ DB๊ตฌ์กฐํ™” ๋ฐฉ์‹์ด ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฆ„

  • DB์—์„œ ์ฝ๊ณ  ์“ฐ๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ์ ์ธ ๋™์ž‘๋“ค(operations)๋„ ํฌํ•จํ•จ

๋ถ„๋ฅ˜

conceptual (high-level) data model

  • ์ผ๋ฐ˜ ์‚ฌ์šฉ์‚ฌ๋“ค(๋น„๊ฐœ๋ฐœ์ž๋„) ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋…๋“ค๋กœ ์ด๋ค„์ง„ ๋ชจ๋ธ

  • ์ถ”์ƒํ™” ์ˆ˜์ค€์ด ๊ฐ€์žฅ ๋†’์Œ

  • ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถ”์ƒํ™”ํ•˜์—ฌ ๊ธฐ์ˆ ํ•  ๋•Œ ์‚ฌ์šฉ

  • ์˜ˆ) entity-relationship model ER diagram

logical (representational) data model

  • ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต์ง€ ์•Š์œผ๋ฉด์„œ๋„ ๋””ํ…Œ์ผํ•˜๊ฒŒ DB๋ฅผ ๊ตฌ์กฐํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋…๋“ค์„ ์ œ๊ณตํ•จ

  • ๋ฐ์ดํ„ฐ๊ฐ€ ์ปดํ“จํ„ฐ์— ์ €์žฅ๋  ๋•Œ์˜ ๊ตฌ์กฐ์™€ ํฌ๊ฒŒ ๋‹ค๋ฅด์ง€ ์•Š๊ฒŒ DB ๊ตฌ์กฐํ™”๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ

  • ํŠน์ • DBMS๋‚˜ ํŠน์ • storage์— ์ข…์†๋˜์ง€ ์•Š๋Š” ์ˆ˜์ค€์—์„œ DB๋ฅผ ๊ตฌ์กฐํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ

  • ์–ด๋А์ •๋„ ์ถ”์ƒํ™”๋Š” ๋˜์–ด์žˆ์œผ๋ฉฐ, ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋งŽ์ด ์“ฐ๋Š” ์˜์—ญ

  • ์˜ˆ1) relational data model relational data model

    • relation : ์œ„ ๊ทธ๋ฆผ์—์„œ table ์ž์ฒด๋ฅผ relation์ด๋ผ๊ณ  ๋ถ€๋ฆ„

    • row : ๋ฐ์ดํ„ฐ ๊ฐ๊ฐ์„ ์˜๋ฏธ

    • column : ๋ฐ์ดํ„ฐ์˜ ์†์„ฑ (attribute)๋ฅผ ์˜๋ฏธํ•จ

    • ์ด๊ฒŒ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋จ (ORACLE, MySQL, MS SQL server)

  • ์˜ˆ2) object data model

  • ์˜ˆ3) object-relational data model (PostgreSQL)

physical (low-level) data model

  • ์ปดํ“จํ„ฐ์— ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ํŒŒ์ผ ํ˜•ํƒœ๋กœ ์ €์žฅ๋˜๋Š”์ง€๋ฅผ ๊ธฐ์ˆ ํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋‹จ์„ ์ œ๊ณต

  • ์ปดํ“จํ„ฐ์— ์ €์žฅ๋˜๋Š” ํ˜•ํƒœ์™€ ๊ฐ€์žฅ ๊ทผ์ ‘ํ•œ ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ

  • data format, data orderings, access path(index) ๋“ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์ œ ์ปดํ“จํ„ฐ์— ์ €์žฅ๋˜๋Š” ๊ฒƒ๊ณผ ๋ฐ€์ ‘ํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

  • access path : ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰์„ ๋น ๋ฅด๊ฒŒํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ์กฐ์ฒด (์˜ˆ. index)

schema & state

database schema

  • data model์„ ๋ฐ”ํƒ•์œผ๋กœ database์˜ ๊ตฌ์กฐ๋ฅผ ๊ธฐ์ˆ ํ•œ ๊ฒƒ

  • data model์ด db๊ตฌ์กฐ๋ฅผ ๋ชจ๋ธ๋งํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด๋ผ๋ฉด, ๊ทธ ๋ชจ๋ธ์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ทธ data base์˜ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•˜๊ณ  ๊ธฐ์ˆ ํ•˜๋Š” ๊ฒƒ

  • database๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ ์ •ํ•ด์ง€๋ฉฐ, ํ•œ ๋ฒˆ ์ •ํ•ด์ง„ ํ›„์—๋Š” ์ž์ฃผ ๋ฐ”๋€Œ์ง€ ์•Š์Œ

  • database๋Š” ์–ด๋–ค ํ…Œ์ด๋ธ”์„ ๊ฐ€์กŒ๊ณ , ๊ฐ ํ…Œ์ด๋ธ”์€ ์–ด๋–ค ์†์„ฑ์„ ๊ฐ–๊ณ  ์žˆ๋Š”์ง€๋ฅผ ํ‘œํ˜„ํ•จ

database state

  • database์— ์žˆ๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ๋Š” ๊ฝค ์ž์ฃผ ๋ฐ”๋€” ์ˆ˜ ์žˆ์Œ

  • ํŠน์ • ์‹œ์ ์— database์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ database state ํ˜น์€ snapshot์ด๋ผ๊ณ  ํ•จ (๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•ˆ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋Š” ๊ณ„์† ๋ฐ”๋€Œ๋Š”๋ฐ, ํŠน์ • ์‹œ์ ์—์„œ์˜ ๋ฐ์ดํ„ฐ๋“ค์„ ์˜๋ฏธํ•จ)

  • ํ˜น์€ databse์— ์žˆ๋Š” ํ˜„์žฌ instances์˜ ์ง‘ํ•ฉ์ด๋ผ๊ณ ๋„ ํ•จ

three-schema architecture

  • database system์„ ๊ตฌ์ถ•ํ•˜๋Š” architecture ์ค‘์˜ ํ•˜๋‚˜ (๋งŽ์€ ๋ชจ๋ธ๋“ค์ด ์ด ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋”ฐ๋ผ๊ฐ)

  • ๋ชฉ์  : user application์œผ๋กœ ๋ถ€ํ„ฐ ๋ฌผ๋ฆฌ์ ์ธ database๋ฅผ ๋ถ„๋ฆฌ์‹œํ‚ด. ๋ฐ์ดํ„ฐ๋ฅผ CRUDํ•˜๋‹ค๋ณด๋ฉด, ๋ฌผ๋ฆฌ ์ €์žฅ ๊ณต๊ฐ„์—๋Š” ๊ตฌ์กฐ๋‚˜ ์ €์žฅ ์œ„์น˜๊ฐ€ ๋ฐ”๋€” ์ˆ˜ ์žˆ์Œ. ํ•˜์ง€๋งŒ user๊ฐ€ ๋ณด๋Š” application์—๋Š” ์˜ํ–ฅ์„ ๋ผ์น˜์ง€ ์•Š๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ด ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•จ

  • ์„ธ๊ฐ€์ง€ level์ด ์ •์˜๋˜์–ด์žˆ๊ณ , ๊ฐ level์€ schema๊ฐ€ ์ •์˜๋˜์–ด ์žˆ์Œ three-schema level

  • ์•ˆ์ •์ ์œผ๋กœ database system์„ ์šด์˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ๋˜๋Š” ์•„ํ‚คํ…์ฒ˜

  • ๊ฐ ๋ ˆ๋ฒจ์„ ๋…๋ฆฝ์‹œ์ผœ์„œ ์–ด๋А ํ•œ ๋ ˆ๋ฒจ์—์„œ์˜ ๋ณ€ํ™”๊ฐ€ ์ƒ์œ„ ๋ ˆ๋ฒจ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•จ. ํ•œ ๋ ˆ๋ฒจ์—์„œ ์–ด๋–ค ๋ณ€ํ™”๊ฐ€ ์žˆ์œผ๋ฉด, ๋‹ค๋ฅธ ๋ ˆ์ด์–ด์™€์˜ ๋ฐ์ดํ„ฐ ๋งคํ•‘์ •๋„๋งŒ ๋ฐ”๊ถˆ์ฃผ๋ฉด ๋จ

  • ๋Œ€๋ถ€๋ถ„์˜ DBMS๊ฐ€ three level์„ ์™„๋ฒฝํ•˜๊ฒŒ ํ˜น์€ ๋ช…์‹œ์ ์œผ๋กœ ๋‚˜๋ˆ„์ง€๋Š” ์•Š์Œ(external๊ณผ conceptual์„ ์™„๋ฒฝํžˆ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด ์‰ฝ์ง€ ์•Š์Œ)

  • ๊ฐ๊ฐ์˜ ์Šคํ‚ค๋งˆ๋Š” ๊ฒฐ๊ตญ data base ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด์ง€, ์‹ค์ œ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ณณ์€ internal level

internal schemas at internal level

  • ๋ฌผ๋ฆฌ์ ์ธ ์ €์žฅ์žฅ์น˜์— ๊ฐ€์žฅ ๊ฐ€๊น๊ฒŒ ์žˆ์Œ

  • ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ €์žฅ๋˜๋Š”์ง€ physical data model์„ ํ†ตํ•ด ํ‘œํ˜„

  • data stroage, data structure, access path ๋“ฑ ์‹ค์ œ๋กœ ๋ฌผ๋ฆฌ ์ €์žฅ ์žฅ์น˜์— ์ €์žฅ๋˜๋Š” ๋‚ด์šฉ์„ ๊ธฐ์ˆ ํ•จ

external schemas (or user views) at external (or view) level

  • ์‹ค์ œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ”๋ผ๋ณด๋Š” ์Šคํ‚ค๋งˆ -> external views, user views๋ผ๊ณ ๋„ ๋ถˆ๋ฆผ

  • ํŠน์ • ์œ ์ €๋“ค์ด ํ•„์š”๋กœ ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋งŒ ํ‘œํ˜„(์œ ์ €๋งˆ๋‹ค ํ•„์š”๋กœํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ค๋ฅธ๋ฐ, ๊ฐ๊ฐ ํ•„์š”๋กœํ•˜๋Š” ๊ฒƒ๋งŒ ๋ณด์—ฌ์คŒ)

  • ๊ทธ ์™ธ์— ์•Œ๋ ค์ค„ ํ•„์š” ์—†๋Š” ๋ฐ์ดํ„ฐ๋Š” ์ˆจ๊น€

  • logical data model์„ ํ†ตํ•ด ํ‘œํ˜„๋จ

conceptual schemas at conceptual level

  • external schema๋ฅผ ํ†ตํ•ด ๊ฐ๊ฐ์˜ ์œ ์ €๋“ค์—๊ฒŒ ๊ฐ๊ฐ์˜ ํ•„์š”๋กœํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๋ ค๊ณ ํ•˜๋‹ค๋ณด๋‹ˆ, internal schema์—์„œ ์ค‘๋ณต๋ฐ์ดํ„ฐ ๋ฐœ์ƒ ๋ฐ ๋™๊ธฐํ™”์—๋Ÿฌ ๋ฐœ์ƒ -> ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ƒ๊ฒจ๋‚จ

  • ์ „์ฒด database์— ๋Œ€ํ•œ ๊ตฌ์กฐ๋ฅผ ๊ธฐ์ˆ  -> intenal schema๋ฅผ ํ•œ๋ฒˆ ์ถ”์ƒํ™”์‹œ์ผœ์„œ ํ‘œํ˜„ํ•œ schema

  • ๋ฌผ๋ฆฌ์ ์ธ ์ €์žฅ ๊ตฌ์กฐ์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ์ˆจ๊ธฐ๋ฉฐ, ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ „์ฒด ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•จ

  • entity, data types, relationships, user operations, constraint์— ์ง‘์ค‘ํ•ด์„œ data base ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•จ ๊ฒƒ

  • ์ด๊ฒƒ๋„ logical data model์„ ํ†ตํ•ด์„œ ํ‘œํ˜„๋จ

database language

data definition language (DDL)

  • conceptual shcema๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ด

  • ๋•Œ๋ก  internal schema๊นŒ์ง€ ์ •์˜ํ•˜๊ธฐ๋„ ํ•จ

storage definition language (SDL)

  • internal schema๋ฅผ ์ •์˜ํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ด

  • ์š”์ฆ˜, ํŠนํžˆ RDBMS์—์„œ๋Š” SDL์ด ๊ฑฐ์˜ ์—†๊ณ  ํŒŒ๋ผ๋ฏธ๋Ÿฌ๋ฅผ ํ†ตํ•ด์„œ internal schema๋ฅผ ์„ค์ •ํ•จ

view definition language(VDL)

  • external schemas๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ด

  • ๋Œ€๋ถ€๋ถ„์˜ DBMS์—์„œ๋Š” DDL์ด VDL ์—ญํ• ๊นŒ์ง€ ์ˆ˜ํ–‰ํ•จ(DDL์ด VDL์„ ๊ฑฐ์˜ ๋ชจ๋“  ๊ฒƒ์„ ์ปค๋ฒ„ํ•˜๊ณ  ์žˆ์Œ

data manipulation language(DML)

  • database์— ์žˆ๋Š” data๋ฅผ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด

  • data ์ถ”๊ฐ€, ์‚ญ์ œ, ์ˆ˜์ •, ๊ฒ€์ƒ‰ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์–ธ์–ด

ํ†ตํ•ฉ๋œ ์–ธ์–ด

  • ์˜ค๋Š˜๋‚ ์˜ DBMS๋Š” DML, VDL, DDL์ด ํ†ตํ•ฉ๋œ ์–ธ์–ด๋กœ ์กด์žฌํ•จ

  • ์˜ˆ : SQL(relational database language์—์„œ)

์ฐธ๊ณ 

Last updated