DataBase

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(Database, DB)

728x90

๐Ÿ” DB, DBMS, RDBMS ๊ฐœ๋… ์ •๋ฆฌ

 

1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(Database, DB)

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

 

2. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์‹œ์Šคํ…œ (DataBase Mamanagement System, DBMS)

๋ชจ๋“  ์‘์šฉํ”„๋กœ๊ทธ๋žจ๋“ค์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ด€๋ฆฌํ•ด ์ฃผ๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์ผ๋ จ์˜ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ
  • ์˜ˆ : Oracle, MS SQL Server, mysql, informix, sybase ๋“ฑ

โ€ป DBMS๋Š” ๋ฐ์ดํ„ฐ์˜ ์กฐํšŒ, ์ €์žฅ, ์‚ญ์ œ์™€ ๊ฐ™์€ ์ž‘์—…์„ SQL์„ ํ†ตํ•ด ์ฒ˜๋ฆฌํ•จ

โ€ป SQL(Structured Query Language) : ๊ตฌ์กฐ์  ์งˆ์˜ ์–ธ์–ด, ๋ฐ์ดํ„ฐ ์งˆ์˜ ๋ฐ ์ฒ˜๋ฆฌ ์–ธ์–ด

โ€ป ๋ช…๋ น์–ด ์ข…๋ฅ˜ : DDL, DML, DCL

 


1. DDL ( Data Definition Language) : ๋ฐ์ดํ„ฐ ์ •์˜์–ด , ๊ฐ์ฒด ์กฐ์ž‘์–ด

๋ช…๋ น์–ด : CREATE, DROP, ALTER, TRUNCATE

- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด

- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ์ฒด๋“ค(ํ…Œ์ด๋ธ”, ์ธ๋ฑ์Šค, ๋ทฐ, ํŠธ๋ฆฌ๊ฑฐ ๋“ฑ)์„ ์ƒ์„ฑํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” SQL ๋ฌธ์žฅ

 

  • ๋…ผ๋ฆฌ์  ๊ตฌ์กฐ ์ •์˜ : ํ…Œ์ด๋ธ” ๋“ฑ์˜ ๋…ผ๋ฆฌ์  ๊ตฌ์กฐ๋ฅผ ์ •์˜(์˜ค๋ผํด์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ)
  • ๋ฌผ๋ฆฌ์  ๊ตฌ์กฐ ์ •์˜: ์‹ค์ œ ํŒŒ์ผ (๋ฌผ๋ฆฌ์ ์œผ๋กœ ์‹ค์ œ ํŒŒ์ผ์„ ์ƒ์„ฑ)
  • ๋…ผ๋ฆฌ์ /๋ฌผ๋ฆฌ์  ๊ตฌ์กฐ ๋งคํ•‘ : ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋งŒ๋“  ํŒŒ์ผ๊ณผ ์šฐ๋ฆฌ๊ฐ€ ๋ณผ์ˆ˜ ์žˆ๋Š” ๊ฒƒ(์˜ค๋ผํด์„ ํ†ตํ•ด์„œ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋ณด๋Š” ๊ฒƒ)์„ ์—ฐ๊ฒฐ


2. DML ( Data Manipulation Language) : ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด

๋ช…๋ น์–ด : SELECT, INSERT, UPDATE, DELETE , COMMIT, ROLLBACK

- ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒ, ์ €์žฅ, ์‚ญ์ œํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” SQL ๋ฌธ์žฅ

 

  • ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰, ์‚ฝ์ž…, ์ˆ˜์ •, ์‚ญ์ œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ
  • Select, insert, update, delete


3. DCL ( Data Control Language) : ๋ฐ์ดํ„ฐ ์ œ์–ด์–ด

๋ช…๋ น์–ด : GRANT, REVOKE

- ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•์„ฑ, ์•ˆ์ •์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ธฐ๋Šฅ(๋ฌด๊ฒฐ์„ฑ,๋ณด์•ˆ)

 

  • GRANT - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉ์ž์—๊ฒŒ ์‚ฌ์šฉ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ๋ช…๋ น
  • REVOKE - ๊ทธ๋žœํŠธ์˜ ๋ฐ˜๋Œ€๋กœ ์‚ฌ์šฉ๊ถŒํ•œ์„ ์ทจ์†Œํ•˜๋Š” ๋ช…๋ น

โ€ป ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ํ…Œ์ด๋ธ”์˜ ๊ด€๊ณ„
: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ผ๋Š” ํฐ ํ†ต์•ˆ์— ์ •๋ณด๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๋‹ค์ˆ˜์˜ ํ…Œ์ด๋ธ”์ด ์กด์žฌํ•จ

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

โ€ป ์žฅ์ 
๋ฐ์ดํ„ฐ ์ค‘๋ณต ์ตœ์†Œํ™”
๋ฐ์ดํ„ฐ ๊ณต์œ 
๋ฌด๊ฒฐ์„ฑ ์œ ์ง€
์ผ๊ด€์„ฑ ์œ ์ง€
๋ฐ์ดํ„ฐ์˜ ๋ณด์•ˆ ๋ณด์žฅ

โ€ป ๋‹จ์ 
์šด์˜๋น„ ์ฆ๋Œ€ : ๋งŽ์€ ์‹œ์Šคํ…œ ์ž์› ์š”๊ตฌ
์ž๋ฃŒ ์ฒ˜๋ฆฌ์˜ ๋ณต์žกํ™” : ๊ณ ๊ธ‰ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์š”๊ตฌ
๋ณต์žกํ•œ ์˜ˆ๋น„์™€ ํšŒ๋ณต : ์žฅ์•  ๋ฐœ์ƒ ๋Œ€๋น„๋ฅผ ์œ„ํ•œ ์ž‘์—… ํ•„์š”
์‹œ์Šคํ…œ์˜ ์ทจ์•ฝ์„ฑ : ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์— ๋”ฐ๋ผ DBMS ์„ฑ๋Šฅ์ด ์ขŒ์šฐ๋จ

๐Ÿ“‚ ๋ฐ์ดํ„ฐ์˜ ๋…๋ฆฝ์„ฑ - ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ๋…๋ฆฝ์„ฑ์ด ์ œ๊ณต๋จ
๐Ÿ“‚ ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ – ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•ˆ์˜ ๋ฐ์ดํ„ฐ๋Š” ์˜ค๋ฅ˜๊ฐ€ ์žˆ์–ด์„œ๋Š” ์•ˆ๋จ

 

3. ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDBMS)

RDBMS : ๋ฐ์ดํ„ฐ๋“ค์„ 2์ฐจ์› ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„ ํ…Œ์ด๋ธ” ํ˜•ํƒœ๋กœ ์ €์žฅ
  • ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ชจ๋ธ : ์‹ค์ฒด(Entity),์†์„ฑ(Attribute),๊ด€๊ณ„(Relationship)๋กœ ๊ตฌ์„ฑ๋œ ER Diagram์œผ๋กœ ํ‘œํ˜„
  • ์˜ˆ : Oracle, MS SQL Server, mysql ๋“ฑ

 

โ€ป ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ

ํ•„๋“œ(Field) - ๋ ˆ์ฝ”๋“œ(Record) - ํ…Œ์ด๋ธ”(Table)
  • ํ•„๋“œ : ํ…Œ์ด๋ธ”์˜ ์—ด์— ํ•ด๋‹น๋˜๋Š” ๊ฒƒ (์ปฌ๋Ÿผ)
  • ๋ ˆ์ฝ”๋“œ : ํ•„๋“œ๋“ค์˜ ์ง‘ํ•ฉ์ฒด, ํ…Œ์ด๋ธ”์˜ ๊ฐ ํ–‰(row)
  • ์ธ๋ฑ์Šค : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ์ •๋ ฌ๋œ ๋ชฉ๋ก, ํ‚ค
  • ํ…Œ์ด๋ธ” : ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๋…ผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๋งํ•จ (๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ธฐ๋ณธ ๋‹จ์œ„)
๊ด€๊ณ„ : ์—…๋ฌด์ ์ธ ์—ฐ๊ด€์„ฑ
  • ๊ด€๊ณ„๋Š” ๋‘ ํ…Œ์ด๋ธ” ์‚ฌ์ด์— ์กด์žฌํ•˜๋ฉฐ, ๊ด€๊ณ„๋ฅผ ๋งบ๊ณ  ์žˆ๋Š” ๋‘ ํ…Œ์ด๋ธ” ์ค‘ ๋ฐ˜๋“œ์‹œ ํ•˜๋‚˜๋Š” ๋ถ€๋ชจ ํ…Œ์ด๋ธ”์ด๊ณ  ํ•˜๋‚˜๋Š” ์ž์‹ ํ…Œ์ด๋ธ”์ด๋‹ค.
  • ๋ถ€๋ชจ ํ…Œ์ด๋ธ”์˜ ๊ธฐ๋ณธํ‚ค(Primary key)๋Š” ์ž์‹ ํ…Œ์ด๋ธ”์— ์™ธ๋ž˜ํ‚ค(Foreign Key)๋กœ ์ „์ด ๋˜์–ด์ง„๋‹ค.

๐Ÿ“‚ ๊ธฐ๋ณธํ‚ค(Primary key) - ํ•˜๋‚˜์˜ ํ–‰์„ ๋‹ค๋ฅธ ํ–‰๊ณผ ์œ ์ผํ•˜๊ฒŒ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด ์ฃผ๋Š” ์—ด

๐Ÿ“‚ ์™ธ๋ž˜ํ‚ค(Foreign key) : ๋‹ค๋ฅธ ๊ฐœ์ฒด(ํ…Œ์ด๋ธ”)์„ ์ฐธ์กฐํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ•„๋“œ

 

 

728x90

'DataBase' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

SQL vs NoSQL  (0) 2021.05.12