๊ด€๋ฆฌ ๋ฉ”๋‰ด

gi_dor

DB ๊ธฐ๋ณธ ๋ณธ๋ฌธ

DataBase

DB ๊ธฐ๋ณธ

๊ธฐ๋Œ 2023. 12. 4. 15:22
728x90

 

๐Ÿ”ธ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค

  • ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋Š” ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋“ค์ด ๊ณต์œ ํ•˜๊ณ  ์‚ฌ์šฉํ•  ๋ชฉ์ ์œผ๋กœ ํ†ตํ•ฉ๊ด€๋ฆฌ๋˜๋Š” ์ •๋ณด์˜ ์ง‘ํ•ฉ
  • ์€ํ–‰ , ์˜ˆ์•ฝ , ์‡ผํ•‘ ๋“ฑ ์—ฌ๋Ÿฌ๊ณณ์—์„œ ์ด์šฉํ•˜๊ณ  ์žˆ๋Š” ๋งŽ์€ ์˜จ๋ผ์ธ ์„œ๋น„์Šค ๋“ค์—์„œ DB๋ฅผ ํ™œ์šฉํ•จ
  • ๋ฐ˜๋“œ์‹œ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์ŠคํŒ€ DBMS๋ฅผ ํ•จ๊ป˜ ํ•œ๋‹ค.

 




๐Ÿ”ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ

  • ๋Œ€ํ‘œ์ ์œผ๋กœ DBMS ๋Š” ์˜ค๋ผํด , MySQL , MS SQL Server , DB2 , Maria DB , H2 , HSQLDB
  • MySQL ๋ฅผ ๋งŒ๋“ค๋˜ ์ด๋“ค์ด Maria DB๋ฅผ ๋งŒ๋“ค์—ˆ๊ธฐ์— ์‚ฌ์šฉ ๋‘๊ฐœ์˜ ์‚ฌ์šฉ๋ฒ•์ด ๊ฐ™๋‹ค
  • ๋‹ค์ˆ˜์˜ ์‚ฌ์šฉ์ž๋“ค์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ ‘๊ทผ ํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๋„๊ตฌ

๐Ÿ”น์žฅ์ 

  • ์ž๋ฃŒ์˜ ํ†ตํ•ฉ์„ฑ ํ–ฅ์ƒ
  • ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์ด ์‰ฌ์›€
  • ๋ฐ์ดํ„ฐ ํ†ต์ œ ๊ฐ•ํ™”
  • ๋ฐ์ดํ„ฐ ๋ณด์•ˆ ๊ฐ•ํ™”
  • DBMS๋ฅผ ํ†ตํ•ด DB๋ฅผ ๋‹ค๋ฃฌ๋‹ค
  • ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค (Relational DataBase)๋ฅผ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” RDBMS๊ฐ€ ๊ฐ€์žฅ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค
  • ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋Š” '์—‘์…€'์ฒ˜๋Ÿผ ํ…Œ์ด๋ธ” ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ๋˜๊ฒŒ ํ•œ๋‹ค

RDBMS๋ฅผ ์‚ฌ์šฉ ํ•˜์ง€ ์•Š๋‹ค๋ฉด ํŒŒ์ผ ํ˜•์‹์ด๋‚˜ ํ…์ŠคํŠธ ํ˜•์‹์œผ๋กœ ์ €์žฅ๋˜์–ด ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๊ฐ€ ์–ด๋ ต๋‹ค




๐Ÿ”ธ SQL

  • Structured Query Language
  • ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์™€ ๊ด€๋ จ๋œ ๋ช…๋ น์„ ์ž‘์„ฑ ์‹œ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด

SQL์˜ ์ข…๋ฅ˜

1๏ธโƒฃ DDL(Data Definition Language) 

โ—ป ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๊ตฌ์กฐ ์ •์˜
โ—ป ์ฃผ์š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑ , ์‚ญ์ œ , ๋ณ€๊ฒฝํ•˜๋Š” ์ž‘์—… ์ˆ˜ํ–‰
โ—ป ๋ช…๋ น์–ด

CREATE ์ƒˆ๋กœ์šด DB ๊ฐ์ฒด ์ƒ์„ฑ
DROP ๊ธฐ์กด DB ๊ฐ์ฒด ์‚ญ์ œ
ALTER ๊ธฐ์กด DB ๊ฐ์ฒด ๋ณ€๊ฒฝ
TRUNCATE ๋ฐ์ดํ„ฐ๋ฅผ ๋˜๋Œ๋ฆด ์ˆ˜ ์—†๋„๋ก ์ œ๊ฑฐ


2๏ธโƒฃ DML (Data Manipulation Language)

โ—ป ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ธ์–ด
โ—ป ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ ์กฐํšŒ ๋ณ€๊ฒฝ ์‚ญ์ œํ•˜๋Š” ์ž‘์—…
โ—ป ๋ช…๋ น์–ด

INSERT ํ…Œ์ด๋ธ”์— ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ํ–‰ ์ถ”๊ฐ€
SELECT  ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ ์กฐํšŒ
UPDATE  ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ
DELETE  ํ…Œ์ด๋ธ”์— ์ €์žฅ๋œ ํŠน์ • ๋ฐ์ดํ„ฐ ํ–‰ ์‚ญ์ œ

 

3๏ธโƒฃ DCL (Data Control Language)

โ—ป ๋ฐ์ดํ„ฐ ์ œ์–ด ์–ธ์–ด
โ—ป ๊ถŒํ•œ ์ œ์–ด , ํŠธ๋žœ์žญ์…˜ ์ œ์–ด ์ž‘์—…์ˆ˜ํ–‰
โ—ป ๋ช…๋ น์–ด

GRANT ํŠน์ • ์‚ฌ์šฉ์ž์—๊ฒŒ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๊ถŒํ•œ ๋ถ€์—ฌ
REVOKE  ์‚ฌ์šฉ์ž์—๊ฒŒ ์ฃผ์–ด์ง„ ๊ถŒํ•œ ๋ฐ•ํƒˆ
COMMIT ํŠธ๋žœ์žญ์…˜ ์‹คํ–‰
ROLLBACK ํŠธ๋žœ์žญ์…˜ ์ทจ์†Œ
SABEPOINT  ๋กค๋ฐฑ์ง€์ ์„ ์„ค์ •

 


 

๐Ÿ”ถ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค 

  • ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋Š” Table์˜ ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋‹ค
    โ—ป  ํ…Œ์ด๋ธ” ํ˜•์‹์ด ์•„๋‹ˆ๋ผ๋ฉด ํ…์ŠคํŠธ๋‚˜ ํŒŒ์ผ ํ˜•์‹์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ํž˜๋“ฌ

๐Ÿ”น ํŠน์ง•

  • ๋ฐ์ดํ„ฐ์˜ ๋ถ„๋ฅ˜๊ฐ€ ์‰ฝ๊ณ  , ํƒ์ƒ‰์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค
  • ์‹ ๋ขฐ์„ฑ์ด ๋†’๊ณ  ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•ด์ค€๋‹ค

๐Ÿ”น ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์ฃผ์š”์šฉ์–ด

โ—ป ์—ด Column

๊ฐ๊ฐ์˜ ์—ด์€ ๊ณ ์œ ํ•œ ์ด๋ฆ„์„ ๊ฐ€์ง„๋‹ค
๊ฐ๊ฐ์˜ ์—ด๊ทผ ์ž์‹ ๋งŒ์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๊ฐ€์ง„๋‹ค

 

โ—ป ํ–‰ Row

ํ–‰์€ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ์˜ ๋ฌถ์Œ
ํ•œ ํ…Œ์ด๋ธ”์—์„œ ๋ชจ๋“  ํ–‰์€ ๊ฐ™์€ ์ˆ˜์˜ ์ปฌ๋Ÿผ์„ ๊ฐ€์ง„๋‹ค
ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ์˜ ์ถ”๊ฐ€ ์‚ญ์ œ ๋ณ€๊ฒฝ ์กฐํšŒ ์ž‘์—…์€ ํ–‰ ๋‹จ์œ„๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค

 

โ—ป ํ‚ค Key 

ํ…Œ์ด๋ธ”์—์„œ ํ–‰์˜ ์‹๋ณ„์ž(ํ–‰์„ ๋Œ€ํ‘œํ•˜๋Š” ๊ฐ’)๋กœ ์ด์šฉ๋˜๋Š” ์ปฌ๋Ÿผ์„ ๊ธฐ๋ณธ ํ‚ค Primal Key 

 

โ—ป ๊ด€๊ณ„  Relationship

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์—์„œ ํ…Œ์ด๋ธ”๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋งํ•˜๊ณ  , ๊ด€๊ณ„๋ฅผ ๋งบ๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์ˆ˜์— ๋”ฐ๋ผ ๋‚˜๋ˆˆ๋‹ค

์ผ ๋Œ€ ์ผ ๊ด€๊ณ„ 1 : 1
์ผ ๋Œ€ ๋‹ค ๊ด€๊ณ„ 1 : M
๋‹ค ๋Œ€ ๋‹ค ๊ด€๊ณ„ M : N

 

โ—ป ์Šคํ‚ค๋งˆ Schema

  • ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์ฒญ์‚ฌ์ง„
  • ํ…Œ์ด๋ธ”์˜ ๊ฐ ์—ด์— ๋Œ€ํ•œ ์ด๋ฆ„, ๋ฐ์ดํ„ฐํƒ€์ž… ๊ณผ ๊ธฐ๋ณธํ‚ค/์™ธ๋ž˜ํ‚ค๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค
  • ์Šคํ‚ค๋งˆ๋Š” ๊ฐ์ฒด - ๊ด€๊ณ„ ๋‹ค์ด์–ด ๊ทธ๋žจ์ด๋‚˜ ๋ฌธ์ž์—ด๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค
728x90