๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ์ธ ๊ณต๋ถ€/DB

[๊ฐ•์˜ ์ •๋ฆฌ] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ๋ก 

by syLim___ 2023. 8. 28.
728x90

์ถœ์ฒ˜ - ์‰ฌ์šด์ฝ”๋“œ Youtube


โœ… Database๋ž€?

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

 

โœ… DBMS๋ž€?

 - DataBase Management System

 - ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์งํ™”ํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๋ฉด, ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์ค‘๋ณต์ด๋‚˜ ๋ถˆ์ผ์น˜๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

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

 - DB๋ฅผ ์ •์˜ํ•  ๋•Œ ๋ถ€๊ฐ€๋ฐ์ดํ„ฐ์ธ metadata๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๋Š”๋ฐ,

    ์ด metadata๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ DBMS๊ฐ€ ๊ด€๋ฆฌํ•œ๋‹ค.

 

(์ฐธ๊ณ ) metadata๋ž€?

 - ๋ฐ์ดํ„ฐ์˜ ๋ฐ์ดํ„ฐ. ์ฆ‰ ๋ฐ์ดํ„ฐ๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•œ ๋ถ€๊ฐ€์ ์ธ ๋ฐ์ดํ„ฐ.

 - Database๋ฅผ ์ •์˜ํ•˜๊ฑฐ๋‚˜ describeํ•˜๋Š” ๋ฐ์ดํ„ฐ

 - catalog๋ผ๊ณ ๋„ ๋ถ€๋ฆ„.

 - e.g.) ๋ฐ์ดํ„ฐ ์œ ํ˜•, ๊ตฌ์กฐ, ์ œ์•ฝ์กฐ๊ฑด, ๋ณด์•ˆ, ์ €์žฅ, ์ธ๋ฑ์Šค ๋“ฑ...

 

 

- ๋Œ€ํ‘œ์ ์ธ DBMS ์ข…๋ฅ˜ : PostgreSQL, MySQL, Oracle, MsSql

 

โœ… Database System์ด๋ž€?

 - DB + DBMS + ์—ฐ๊ด€๋œ applications ๋ฅผ ํ†ตํ‹€์–ด ์ง€์นญ.

 - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์„ ์ค„์—ฌ์„œ ๊ทธ๋ƒฅ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ฒฝ์šฐ๋„ ๋งŽ๋‹ค.

 

 

 - ์‘์šฉํ”„๋กœ๊ทธ๋žจ(์‚ฌ์šฉ์ž)์€ DBMS์— ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋‚ด๊ณ ,

    DBMS๋Š” ์ฟผ๋ฆฌ๋ฅผ ํ•ด์„ํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผ, ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ์‘๋‹ตํ•ด์ค€๋‹ค.

 

โœ… Data models

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

 - ์ฆ‰, ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์€ DB์˜ ๊ตฌ์กฐ๋ฅผ ์ถ”์ƒํ™”ํ•˜์—ฌ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋‹จ์„ ์ œ๊ณตํ•œ๋‹ค.

 - ์—ฌ๊ธฐ์„œ DB ๊ตฌ์กฐ๋ž€, ๋ฐ์ดํ„ฐ ์œ ํ˜•(type),  ๋ฐ์ดํ„ฐ ๊ด€๊ณ„(relationship), ์ œ์•ฝ์‚ฌํ•ญ(constraints) ๋“ฑ์„ ๋งํ•œ๋‹ค

 

 - Data model์€ ์—ฌ๋Ÿฌ ์ข…๋ฅ˜๊ฐ€ ์žˆ์œผ๋ฉฐ, ์–ด๋А์ •๋„ ์ถ”์ƒํ™”ํ• ์ง€(์ถ”์ƒํ™” ๋ ˆ๋ฒจ) ๋˜๋Š” DB์˜ ๊ตฌ์กฐ์™€ ๋ฐฉ์‹์— ๋”ฐ๋ผ ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด๋‹ค.

 

 

๐Ÿฅ Data models ๋ถ„๋ฅ˜

 

1๏ธโƒฃ Conceptual(or high-level) data models

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

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

 - ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ์ค‘ ์ถ”์ƒํ™” ์ˆ˜์ค€์ด ๊ฐ€์žฅ ๋†’๋‹ค.

 - ์˜ˆ์‹œ: ER๋ชจ๋ธ

 

2๏ธโƒฃ Logical(or representational) data models

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

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

 - ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ ๋ฌผ๋ฆฌ ๊ตฌ์กฐ์™€ ์™„์ „ ๊ฐ™์ง€๋Š” ์•Š๊ณ , ํŠน์ • DBMS๋‚˜ storage์— ์ข…์†๋˜์ง€ ์•Š๋Š” ์ˆ˜์ค€์—์„œ DB๋ฅผ ๊ตฌ์กฐํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ์ด๋‹ค.

 - ์˜ˆ์‹œ: relational data model(๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ), object data model, object-relational data model ๋“ฑ

 

3๏ธโƒฃ Physical(or low-level) data models

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

 - data format, data orderings, access path ๋“ฑ

 

 

โœ… Database Schema๋ž€?

 - Data model์„ ๋ฐ”ํƒ•์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ๋ฅผ ๊ธฐ์ˆ ํ•œ ๊ฒƒ.

 - ์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ ์ •ํ•ด์ง€๋ฉฐ, ์ด ์Šคํ‚ค๋งˆ์— ๋”ฐ๋ผ DB์˜ ๊ตฌ์กฐ๊ฐ€ ์ •ํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์—

    ์Šคํ‚ค๋งˆ๋Š” ํ•œ ๋ฒˆ ์ •ํ•ด์ง„ ํ›„์—๋Š” ์ž˜ ๋ฐ”๋€Œ์ง€ ์•Š๋Š”๋‹ค.

 

โœ… Database state๋ž€?

 - ํŠน์ • ์‹œ์ ์— DB์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋งํ•œ๋‹ค. (snapshot์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค)

 - DB์— ์žˆ๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ๋Š” ๊ฝค ์ž์ฃผ ๋ฐ”๋€” ์ˆ˜ ์žˆ์–ด์„œ ํ•„์š”ํ•œ ๊ฐœ๋…์ด๋‹ค

 

 

 

โœ… Three-schema architecture

 - Database system์„ ๊ตฌ์ถ•ํ•˜๋Š” ์•„ํ‚คํ…์ฒ˜ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.

 - User application์œผ๋กœ๋ถ€ํ„ฐ ๋ฌผ๋ฆฌ์ ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ถ„๋ฆฌ์‹œํ‚ค๋ ค๋Š” ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

 - ์ฆ‰ ๋ฌผ๋ฆฌ์ ์ธ DB๊ฐ€ ๋ฐ”๋€Œ๋”๋ผ๋„, user application์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.

 

 - 3๊ฐ€์ง€ ๋ ˆ๋ฒจ์ด ์กด์žฌํ•˜๋ฉฐ, ๊ฐ ๋ ˆ๋ฒจ๋งˆ๋‹ค ์Šคํ‚ค๋งˆ๊ฐ€ ์ •์˜๋˜์–ด ์žˆ๋‹ค.

 

๋”๋ณด๊ธฐ

1๏ธโƒฃ External level - External schemas

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

 - ํŠน์ • ์‚ฌ์šฉ์ž๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋งŒ ํ‘œํ˜„ํ•˜๊ณ , ๊ทธ ์™ธ ์•Œ๋ ค์ค„ ํ•„์š”๊ฐ€ ์—†๋Š” ๋ฐ์ดํ„ฐ๋Š” ์ˆจ๊ธด๋‹ค.

 - logical data model์„ ์ด์šฉํ•ด์„œ ํ‘œํ˜„ํ•œ๋‹ค.

 

2๏ธโƒฃ Conceptual level - Conceptual schemas

 - ์‚ฌ์šฉ์ž๋งˆ๋‹ค ํ•„์š”๋กœ ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋งŒ ๋ณด์—ฌ์ฃผ๋ ค๋‹ค๋ณด๋‹ˆ, ์ค‘๋ณต๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง„ internal schema๋“ค์ด ์ƒ๊ฒจ๋‚˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ•œ ๊ฐœ๋…์ด๋‹ค.

 - ๋ฌผ๋ฆฌ์ ์ธ ์ €์žฅ ๊ตฌ์กฐ์— ๊ด€ํ•œ ๋‚ด์šฉ์€ ์ˆจ๊ธฐ๊ณ , ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๊ตฌ์กฐ๋ฅผ logical data model์„ ์ด์šฉํ•ด์„œ ๊ธฐ์ˆ ํ•œ๋‹ค.

 - Internal schema๋ฅผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ์ถ”์ƒํ™”ํ•ด์„œ ํ‘œํ˜„ํ•œ ๊ตฌ์กฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

 - ๋”ฐ๋ผ์„œ Entities, data types, relationships, user operations, constraints์— ์ง‘์ค‘ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค.

 

3๏ธโƒฃ Internal level - Internal schemas

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

 - Data storage, data structure, access path ๋“ฑ ๋ฌผ๋ฆฌ์  ์‹ค์ฒด๊ฐ€ ์žˆ๋Š” ๋‚ด์šฉ์„ ๊ธฐ์ˆ ํ•˜๋Š” ์Šคํ‚ค๋งˆ์ด๋‹ค.

 


 

 - Three-schema architecture์—์„œ ๊ฐ ๋ ˆ๋ฒจ์„ ๋…๋ฆฝ์‹œํ‚ค๋Š” ์ด์œ ๋Š”, ์–ด๋А ๋ ˆ๋ฒจ์—์„œ์˜ ๋ณ€ํ™”๊ฐ€ ๋‹ค๋ฅธ ๋ ˆ๋ฒจ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค. (์•ˆ์ •์  ์šด์˜ ๋ชฉ์ )

 

 - ๋Œ€๋ถ€๋ถ„ DBMS๊ฐ€ three level์„ ๋ช…์‹œ์ ์œผ๋กœ ์™„๋ฒฝํ•˜๊ฒŒ ๋‚˜๋ˆ„์ง€๋Š” ์•Š๋Š”๋‹ค.

 

 

 

โœ… DDL์ด๋ž€?

 - Data Definition Language

 - Conceptual schema๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ด์ด๋‹ค.

 

โœ… SDL์ด๋ž€?

 - Storage Definition Language

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

 - ์š”์ฆ˜, ํŠนํžˆ relational DBMS์—์„œ๋Š” SDL์ด ๊ฑฐ์˜ ์—†๊ณ , internal schema ์ •์˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ ๋“ฑ์˜ ์„ค์ •์œผ๋กœ ๋Œ€์ฒด๋œ๋‹ค.

 

โœ… VDL์ด๋ž€?

 - View Definition Language

 - External schema๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ด์ด๋‹ค.

 - ๋Œ€๋ถ€๋ถ„์˜ DBMS์—์„œ๋Š” DDL์ด VDL์˜ ์—ญํ• ๊นŒ์ง€ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

โœ… DML์ด๋ž€?

 - Data manipulation Language

 - DB์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉ(์ถ”๊ฐ€, ์ˆ˜์ •, ๊ฒ€์ƒ‰, ์‚ญ์ œ ๋“ฑ)ํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด์ด๋‹ค.

 

 

โญ๏ธ ์˜ค๋Š˜๋‚ ์˜ DBMS๋Š” DML, VDL, DDL์ด ๋”ฐ๋กœ ์กด์žฌํ•˜๊ธฐ๋ณด๋‹ค๋Š”, ํ•˜๋‚˜์˜ ํ†ตํ•ฉ๋œ ์–ธ์–ด๋กœ ์กด์žฌํ•œ๋‹ค.

 - ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๊ฐ€ relational database language์ธ SQL์ด๋‹ค.

728x90