๐Ÿฅˆ ํ•„๊ธฐ 3๊ณผ๋ชฉ - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์ถ•

DB์˜ Locking / Lock์— ๋Œ€ํ•œ ์„ค๋ช…

๋กœํ‚น(Locking) - ๋ณ‘ํ–‰์ œ์–ด ๊ธฐ๋ฒ•์˜ ์ข…๋ฅ˜ ์ค‘ ํ•˜๋‚˜

- ์ง๋ ฌํ™” ๊ธฐ๋ฒ•

- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ํŒŒ์ผ, ๋ ˆ์ฝ”๋“œ ๋“ฑ์€ ๋กœํ‚น๋‹จ์œ„๊ฐ€ ๋  ์ˆ˜ ์žˆ์Œ

- ๋กœํ‚น ๋‹จ์œ„๊ฐ€ ์ž‘์•„์ง€๋ฉด, ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๊ณต์œ ๋„ ์ฆ๊ฐ€.

- ๋กœํ‚น ๋‹จ์œ„๊ฐ€ ์ž‘์•„์ง€๋ฉด, ๋กœํ‚น ์˜ค๋ฒ„ํ—ค๋“œ ์ฆ๊ฐ€.

- ๋กœํ‚น ๋‹จ์œ„๊ฐ€ ์ž‘์•„์ง€๋ฉด, ๋กœํฌ์˜ ์ˆ˜ ์ฆ๊ฐ€.

- ๋กœํ‚น ๋‹จ์œ„๊ฐ€ ์ž‘์•„์ง€๋ฉด, ๋ณ‘ํ–‰์„ฑ ์ˆ˜์ค€์ด ๋†’์•„์ง

- ํ•œ๊บผ๋ฒˆ์— ๋กœํ‚นํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด์˜ ํฌ๊ธฐ๋ฅผ ๋กœํ‚น๋‹จ์œ„๋ผ๊ณ  ํ•จ.


CASCADE ๋ช…๋ น์–ด์— ๋Œ€ํ•œ์„ค๋ช…

DROP VIEW V_1 CASCADE ๋“ฑ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋ฉด

-> V_1๊ณผ ์กฐ์ธ๋˜์–ด์žˆ๊ฑฐ๋‚˜ ์—ฐ๊ฒฐ๋˜์–ด์žˆ์œผ๋ฉด ์—ฐ์‡„์ ์œผ๋กœ ์‚ญ์ œ๋œ๋‹ค. ( ์ฐธ์กฐํ•˜๋Š” ์ž์‹ ๊ฐœ์ฒด๊นŒ์ง€ ๋ชจ๋‘ ์‚ญ์ œ )

๋ฐ˜๋Œ€๋กœ RESTRICTED ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ์‚ญ์ œํ•˜๋ฉด์„œ ์ฐธ์กฐ์ค‘์ผ ๋•Œ ์—๋Ÿฌ๋ฅผ ๋„์šฐ๋ฉฐ ์‚ญ์ œํ•˜๋Š” ์ž‘์—…์„ ์ค‘์ง€ํ•œ๋‹ค.


DB ์ •๊ทœํ™” ๊ณผ์ •์— ๋Œ€ํ•œ ์„ค๋ช…

๋„๋ถ€์ด๊ฒฐ๋‹ค์กฐ

1NF - ๋„ : ๋ชจ๋“  ๋„๋ฉ”์ธ์ด ์›์ž ๊ฐ’์œผ๋กœ๋งŒ ๊ตฌ์„ฑ

2NF - ๋ถ€ : ๋ถ€๋ถ„์  ํ•จ์ˆ˜ ์ข…์†์„ ์ œ๊ฑฐํ•œ ์ •๊ทœํ˜•, ๊ธฐ๋ณธํ‚ค๊ฐ€ ์•„๋‹Œ ์†์„ฑ์ด ๊ธฐ๋ณธํ‚ค์— ๋Œ€ํ•œ ์™„์ „ ํ•จ์ˆ˜ ์ข…์†์„ ๋งŒ์กฑ

3NF - ์ด : ๊ธฐ๋ณธํ‚ค๊ฐ€ ์•„๋‹Œ ๋ชจ๋“  ์†์„ฑ์ด ๊ธฐ๋ณธํ‚ค์— ๋Œ€ํ•ด ์ดํ–‰์„ฑ ํ•จ์ˆ˜ ์ข…์†๊ด€๊ณ„๋ฅผ ๋งŒ์กฑํ•˜์ง€ ์•Š๋Š” ์ •๊ทœํ˜•

BCNF - ๊ฒฐ : ๋ชจ๋“  ๊ฒฐ์ •์ž๊ฐ€ ํ›„๋ณดํ‚ค์ธ ์ •๊ทœํ˜•

4NF - ๋‹ค : ๋‹ค์น˜ ์ข…์†์ด ์„ฑ๋ฆฝํ•˜๋Š” ๊ฒฝ์šฐ, R์˜ ๋ชจ๋“  ์†์„ฑ์ด A์— ํ•จ์ˆ˜์  ์ข…์† ๊ด€๊ณ„๋ฅผ ๋งŒ์กฑ

5NF - ์กฐ : ๋ชจ๋“  ์กฐ์ธ ์ข…์†์ด R์˜ ํ›„๋ณดํ‚ค๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์„ฑ๋ฆฝ๋˜๋Š” ์ •๊ทœํ˜•


DB ํŠธ๋ Œ์ ์…˜์— ๋Œ€ํ•œ ์„ค๋ช…

Atomicity ์›์ž์„ฑ : ์™„์ „ํ•˜๊ฒŒ ์ˆ˜ํ–‰ ์™„๋ฃŒ๋˜์ง€ ์•Š์œผ๋ฉด ์ „ํ˜€ ์ˆ˜ํ–‰๋˜์ง€ ์•Š์•„์•ผํ•จ

0 or 1

Consistency ์ผ๊ด€์„ฑ : ์‹œ์Šคํ…œ์˜ ๊ณ ์ • ์š”์†Œ๋Š” ํŠธ๋ Œ์ ์…˜ ์ˆ˜ํ–‰ ์ „ํ›„์— ๊ฐ™์•„์•ผํ•จ

ํŠธ๋ Œ์  ์…˜ ์ „/ํ›„ ๊ฐ™์•„์•ผํ•จ

Isolation ๊ณ ๋ฆฝ์„ฑ : ํŠธ๋ Œ์ ์…˜ ์‹คํ–‰ ์‹œ ๋‹ค๋ฅธ ํŠธ๋ Œ์ ์…˜์˜ ๊ฐ„์„ญ์„ ๋ฐ›์ง€ ์•Š์•„์•ผํ•จ

๋‹ค๋ฅธ ํŠธ๋ Œ์ ์…˜์˜ ๊ฐ„์„ญ X

Durability ์˜์†์„ฑ : ํŠธ๋ Œ์ ์…˜์˜ ์™„๋ฃŒ ๊ฒฐ๊ณผ๊ฐ€ DB์— ์˜๊ตฌํžˆ ๊ธฐ์–ต๋จ

ํŠธ๋ Œ์ ์…˜ ์ปค๋ฐ‹ ๊ฒฐ๊ณผ๊ฐ€ ์˜๊ตฌํžˆ ์ €์žฅ

๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ชฉํ‘œ์— ๋Œ€ํ•œ ์„ค๋ช… ์œ„์ค‘๋ณ‘์žฅ

์œ„์น˜ ํˆฌ๋ช…์„ฑ

ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ฌผ๋ฆฌ์  ์œ„์น˜๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ์•Œ ํ•„์š” ์—†๋‹ค. ๋…ผ๋ฆฌ์ ์ธ ๋ช…์นญ์œผ๋กœ๋งŒ ์—‘์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Œ

์ค‘๋ณต ํˆฌ๋ช…์„ฑ

์‚ฌ์šฉ์ž์—๊ฒŒ ํ†ต์ง€ํ•  ํ•„์š”์—†์ด ์‹œ์Šคํ…œ ์•ˆ์— ํŒŒ์ผ๋“ค๊ณผ ์ž์›๋“ค์˜ ๋ถ€๊ฐ€์ ์ธ ๋ณต์‚ฌ๋ฅผ ์ž์œ ๋กญ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ณ‘ํ–‰ ํˆฌ๋ช…์„ฑ

๋‹ค์ค‘ ์‚ฌ์šฉ์ž๋“ค์ด ์ž์›๋“ค์„ ์ž๋™์œผ๋กœ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค.

์žฅ์•  ํˆฌ๋ช…์„ฑ

์‚ฌ์šฉ์ž๋“ค์€ ์–ด๋Š” ์œ„์น˜์˜ ์‹œ์Šคํ…œ์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ์•Œ ํ•„์š”๊ฐ€ ์—†๋‹ค.

DB์˜ ์ธ๋ฑ์Šค์™€ ๊ด€๋ จํ•œ ์„ค๋ช…

Index - ๋…๋ฆฝ์ ์ธ ์ €์žฅ ๊ณต๊ฐ„์„ ๋ณด์œ ํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ์ž๋ฃŒ๋ฅผ ๋”์šฑ ๋น ๋ฅด๊ฒŒ ์กฐํšŒํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๋ณ„๋„๋กœ ๊ตฌ์„ฑํ•œ ์ˆœ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋งํ•œ๋‹ค.

๋Œ€๋ถ€๋ถ„์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํ…Œ์ด๋ธ”์„ ์‚ญ์ œํ•˜๋ฉด ์ธ๋ฑ์Šค๋„ ํ•จ๊ป˜ ์‚ญ์ œ๋œ๋‹ค.

CREATE ์ƒ์„ฑ / DROP ์‚ญ์ œ


๋ฌผ๋ฆฌ์  DB๊ตฌ์กฐ์˜ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ๋‹จ์œ„์ธ, ์ €์žฅ๋ ˆ์ฝ”๋“œ์˜ ์–‘์‹์„ ์„ค๊ณ„ํ•  ๋•Œ ๊ณ ๋ คํ•  ์‚ฌํ•ญ ํƒ€ ๋ถ„ ๋นˆ

1. ๋ฐ์ดํ„ฐ ํƒ€์ž…

2. ๋ฐ์ดํ„ฐ ๊ฐ’์˜ ๋ถ„ํฌ

3. ์ ‘๊ทผ ๋นˆ๋„

ํŠธ๋ Œ์ ์…˜ ๋ชจ๋ธ๋ง์€ ๊ฐœ๋…์  ์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ ์ง„ํ–‰ํ•œ๋‹ค.


SQL์˜ ๊ธฐ๋Šฅ์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜ ์„ค๋ช…

DCL

COMMIT : ๋ช…๋ น์–ด๋กœ ์ˆ˜ํ–‰๋œ ๊ฒฐ๊ณผ๋ฅผ ์‹ค์ œ ๋ฌผ๋ฆฌ์  ๋””์Šคํฌ๋กœ ์ €์žฅํ•˜๊ณ , ๋ช…๋ น์–ด๋กœ ์ˆ˜ํ–‰์„ ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒํ•˜์˜€์Œ์„ ์„ ์–ธํ•œ๋‹ค.

ROLLBACK : ๋ช…๋ น์–ด๋กœ ์ˆ˜ํ–‰์„ ์‹คํŒจํ•˜์˜€์Œ์„ ์•Œ๋ฆฌ๊ณ , ์ˆ˜ํ–‰๋œ ๊ฒฐ๊ณผ๋ฅผ ์›์ƒ๋ณต๊ตฌ์‹œํ‚จ๋‹ค.

GRANT : DB ์‚ฌ์šฉ์ž์—๊ฒŒ ์‚ฌ์šฉ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ๋‹ค.

REVOKE : DB ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์‚ฌ์šฉ ๊ถŒํ•œ์„ ์ทจ์†Œํ•œ๋‹ค.

DDL

CREATE : ์Šคํ‚ค๋งˆ / ๋„๋ฉ”์ธ / ํ…Œ์ด๋ธ” / ๋ทฐ / ์ธ๋ฑ์Šค๋ฅผ ์ •์˜

ALTER : ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์ •์˜๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š”๋ฐ ์‚ฌ์šฉ

DROP : ์Šคํ‚ค๋งˆ / ๋„๋ฉ”์ธ / ํ…Œ์ด๋ธ” / ๋ทฐ / ์ธ๋ฑ์Šค๋ฅผ ์‚ญ์ œ

DML

SELECT : ํ…Œ์ด๋ธ”์—์„œ ์กฐ๊ฑด์— ๋งž๋Š” ํŠœํ”Œ์„ ๊ฒ€์ƒ‰

INSERT : ํ…Œ์ด๋ธ”์— ์ƒˆ๋กœ์šด ํŠœํ”Œ์„ ์‚ฝ์ž…

DELETE : ํ…Œ์ด๋ธ”์—์„œ ์กฐ๊ฑด์— ๋งž๋Š” ํŠœํ”Œ์„ ์‚ญ์ œ

UPDATE : ํ…Œ์ด๋ธ”์—์„œ ์กฐ๊ฑด์— ๋งž๋Š” ํŠœํ”Œ์˜ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝ


๋ฐ์ดํ„ฐ ์‚ฌ์ „(Data Dictionary)์— ๋Œ€ํ•œ ์„ค๋ช…

1. ์‹œ์Šคํ…œ ์ž์‹ ์ด ํ•„์š”๋กœํ•˜๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ฐ์ฒด(๊ธฐ๋ณธํ…Œ์ด๋ธ” / ๋ทฐ / ์ธ๋ฑ์Šค / DB / ํŒจํ‚ค์ง€ / ์ ‘๊ทผ ๊ถŒํ•œ ๋“ฑ)

์— ๊ด€ํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๊ณ ์žˆ๋Š” ์‹œ์Šคํ…œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค.

2. ์‹œ์Šคํ…œ ์นดํƒˆ๋กœ๊ทธ, ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ ๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค.

3. ์‹œ์Šคํ…œ ํ…Œ์ด๋ธ”๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ์–ด SQL๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ๋‚ด์šฉ ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

4. ์‚ฌ์šฉ์ž๋Š” ์‹œ์Šคํ…œ ์นดํƒˆ๋กœ๊ทธ๋ฅผ ์ง์ ‘ ๊ฐฑ์‹ ํ•  ์ˆ˜ ์—†๋‹ค.

5. SQL ๋ฌธ์œผ๋กœ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ฐ์ฒด์— ๋ณ€ํ™”๋ฅผ ์ฃผ๋ฉด ์‹œ์Šคํ…œ์ด ์ž๋™์œผ๋กœ ๊ฐฑ์‹ ํ•œ๋‹ค.


DB์˜ ๋ฆด๋ ˆ์ด์…˜์— ๋Œ€ํ•œ ์„ค๋ช…

1. ํŠœํ”Œ์˜ ์œ ์ผ์„ฑ : ๋ชจ๋“  ํŠœํ”Œ์€ ์„œ๋กœ ๋‹ค๋ฅธ๊ฐ’์„ ๊ฐ–๋Š”๋‹ค.

2. ํŠœํ”Œ์˜ ๋ฌด์ˆœ์„œ์„ฑ : ํ•˜๋‚˜์˜ ๋ฆด๋ ˆ์ด์…˜์— ํŠœํ”Œ์— ์ˆœ์„œ๋Š” ์—†๋‹ค.

3. ์†์„ฑ์˜ ์›์ž์„ฑ : ์†์„ฑ๊ฐ’์€ ์›์ž๊ฐ’์„ ๊ฐ–๋Š”๋‹ค.

4. ์†์„ฑ์˜ ๋ฌด์ˆœ์„œ์„ฑ : ๊ฐ ์†์„ฑ์€ ๋ฆด๋ ˆ์ด์…˜๋‚ด์—์„œ ์œ ์ผํ•œ ์ด๋ฆ„์„ ๊ฐ–์œผ๋ฉฐ, ์ˆœ์„œ๋Š” ์˜๋ฏธ๊ฐ€ ์—†๋‹ค.


DB ์˜ VIEW์— ๋Œ€ํ•œ ์„ค๋ช…

1. ๋ทฐ๋Š” ๋‹ค๋ฅธ ๋ทฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ๋กœ์šด ๋ทฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

2. ๋ทฐ๋Š” ์ผ์ข…์˜ ๊ฐ€์ƒํ…Œ์ด๋ธ”์ด๋ฉฐ, update์—๋Š” ์ œ์•ฝ์ด ๋”ฐ๋ฅธ๋‹ค.

3. ๋ทฐ๋Š” ๊ธฐ๋ณธํ…Œ์ด๋ธ”์„ ๋งŒ๋“œ๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ create view๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

4. ๋ทฐ๋Š” ๋…ผ๋ฆฌ์ ์œผ๋กœ๋งŒ ์กด์žฌํ•˜๋Š” ํ…Œ์ด๋ธ”์ด๋‹ค.


ํŠธ๋ Œ์ ์…˜์˜ ์ƒํƒœ์— ๋Œ€ํ•œ ์„ค๋ช…

active ->

1. partially Committed -> committed

2. failed -> aborted(rollback)

partially Committed : ๋งˆ์ง€๋ง‰ ์—ฐ์‚ฐ์ด ์‹คํ–‰๋œ ์งํ›„์— ์ƒํƒœ๋กœ ์•„์ง Commit์—ฐ์‚ฐ์ด ์‹คํ–‰๋˜๊ธฐ ์ด์ „


DB ํ‚ค์— ๋Œ€ํ•œ ์„ค๋ช…

Super Key(์Šˆํผํ‚ค) : ์†์„ฑ๋“ค์˜ ์ง‘ํ•ฉ์œผ๋กœ ๊ตฌ์„ฑ๋œ ํ‚ค, ๋ฆด๋ ˆ์ด์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ชจ๋“  ํŠœํ”Œ๋“ค ์ค‘ ์Šˆํผํ‚ค๋กœ ๊ตฌ์„ฑ๋œ ์†์„ฑ์˜ ์ง‘ํ•ฉ๊ณผ ๋™์ผํ•œ ๊ฐ’์€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š”๋‹ค. (์œ ์ผ์„ฑ O, ์ตœ์†Œ์„ฑ X)

Candidate Key(ํ›„๋ณดํ‚ค) : ๊ธฐ๋ณธํ‚ค๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” ํ‚ค๋“ค, ์œ ์ผ์„ฑ๊ณผ ์ตœ์†Œ์„ฑ์„ ๋งŒ์กฑํ•˜์ง€๋งŒ ์Šˆํผํ‚ค๋Š” ๋™์ผํ•œ๊ฒƒ์ด ์—†๊ธฐ์— ์ตœ์†Œ์„ฑ์„ ๋งŒ์กฑํ•˜์ง€ ์•Š์Œ. (์œ ์ผ์„ฑ O, ์ตœ์†Œ์„ฑ O)

Primary Key(๊ธฐ๋ณธํ‚ค) : ํ›„๋ณดํ‚ค ์ค‘ ์„ ํƒ๋œ ํ‚ค, ์ค‘๋ณต๊ฐ’๊ณผ null๊ฐ’์„ ๊ฐ–์„ ์ˆ˜ ์—†๋Š” ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ํ‚ค


DB์„ค๊ณ„๋‹จ๊ณ„์—์„œ์˜ ํŠธ๋ Œ์ ์…˜ ์„ค๊ณ„ ๋‹จ๊ณ„

๊ฐœ๋…์  ์„ค๊ณ„

ํŠธ๋ Œ์ ์…˜ ๋ชจ๋ธ๋ง / ๋…๋ฆฝ์ ์ธ ๊ฐœ๋… ์Šคํ‚ค๋งˆ ๋ชจ๋ธ๋ง / ๊ฐœ๋…์Šคํ‚ค๋งˆ ์„ค๊ณ„ / E-R ๋‹ค์ด์–ด๊ทธ๋žจ

๋…ผ๋ฆฌ์  ์„ค๊ณ„

ํŠธ๋ Œ์ ์…˜ ์ธํ„ฐํŽ˜์ด์Šค ์„ค๊ณ„ / DBMS์— ๋งž๋Š” ๋…ผ๋ฆฌ์Šคํ‚ค๋งˆ ์„ค๊ณ„ / ํ…Œ์ด๋ธ”์„ค๊ณ„ / ๋…ผ๋ฆฌ์  ๋งตํ•‘ / ์Šคํ‚ค๋งˆ ํ‰๊ฐ€ ๋ฐ ์ •์ œ

๋ฌผ๋ฆฌ์  ์„ค๊ณ„

๋ ˆ์ฝ”๋“œ ์ง‘์ค‘์˜ ๋ถ„์„,์„ค๊ณ„ / ์ €์žฅ๋ ˆ์ฝ”๋“œ ์–‘์‹ ์„ค๊ณ„ / ์ €์žฅ ๊ตฌ์กฐ ๋ฐ ์—‘์„ธ์Šค ๊ฒฝ๋กœ ์„ค์ •

๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ๊ตฌ์„ฑ์š”์†Œ์— ๋Œ€ํ•œ ์„ค๋ช…

๊ตฌ์กฐ(structuer) : ๋…ผ๋ฆฌ์ ์ธ ๊ฐœ์ฒด ํƒ€์ž…๋“ค ๊ฐ„์˜ ๊ด€๊ณ„, ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋ฐ ์ •์  ์„ฑ์งˆ์„ ํ‘œํ˜„

์—ฐ์‚ฐ(Operation) : ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ž‘์—…์— ๋Œ€ํ•œ ๋ช…์„ธ๋กœ, ์กฐ์ž‘ํ•˜๋Š” ๊ธฐ๋ณธ ๋„๊ตฌ

์ œ์•ฝ์กฐ๊ฑด(Constraint) : DB์— ์ €์žฅ๋  ์ˆ˜ ์žˆ๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ์˜ ๋…ผ๋ฆฌ์ ์ธ ์ œ์•ฝ์กฐ๊ฑด


DB์˜ ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด์— ๋Œ€ํ•œ ์„ค๋ช…

๊ฐœ์ฒด ๋ฌด๊ฒฐ์„ฑ - ๊ธฐ๋ณธํ‚ค null X

๊ฐ ๋ฆด๋ ˆ์ด์…˜์˜ ๊ธฐ๋ณธํ‚ค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์†์„ฑ์€ null๊ฐ’์ด๋‚˜ ์ค‘๋ณต๊ฐ’์„ ๊ฐ–์„ ์ˆ˜ ์—†์Œ.

์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ - ์™ธ๋ž˜ํ‚ค๋Š” null์ด๊ฑฐ๋‚˜ ๊ธฐ๋ณธํ‚ค

์™ธ๋ž˜ํ‚ค ๊ฐ’์€ null์ด๊ฑฐ๋‚˜ ์ฐธ์กฐํ•˜๋Š” ๋ฆด๋ ˆ์ด์…˜์˜ ๊ธฐ๋ณธํ‚ค์™€ ๊ฐ’์ด ๋™์ผํ•ด์•ผ ํ•œ๋‹ค.

๊ณ ์œ  ๋ฌด๊ฒฐ์„ฑ - ๊ฐ ์†์„ฑ์ด ๊ต์œ ๊ฐ’ -> ํŠœํ”Œ ์†์„ฑ์„ ์„œ๋กœ ์ƒ์ด

ํŠน์ • ์†์„ฑ์— ๋Œ€ํ•ด ๊ณ ์œ ํ•œ ๊ฐ’์„ ๊ฐ€์ง€๋„๋ก ์กฐ๊ฑด์ด ์ฃผ์–ด์ง„๊ฒฝ์šฐ, ๋ฆด๋ ˆ์ด์…˜์˜ ๊ฐ ํŠœํ”Œ์ด ๊ฐ€์ง€๋Š” ์†์„ฑ ๊ฐ’๋“ค์€ ์„œ๋กœ ๋‹ฌ๋ผ์•ผ ํ•œ๋‹ค.

NULL ๋ฌด๊ฒฐ์„ฑ - ์ตœ์†Œ 1๊ฐœ ์ด์ƒ์˜ ํ‚ค

๊ฐ ๋ฆด๋ ˆ์ด์…˜์€ ์ตœ์†Œํ•œ ํ•œ ๊ฐœ ์ด์ƒ์˜ ํ‚ค๊ฐ€ ์กด์žฌํ•ด์•ผ ํ•œ๋‹ค.

๋„๋ฉ”์ธ ๋ฌด๊ฒฐ์„ฑ - ๋„๋ฉ”์ธ

๋ฆด๋ ˆ์ด์…˜ ๋‚ด์˜ ํŠœํ”Œ๋“ค์ด ๊ฐ ์†์„ฑ์˜ ๋„๋ฉ”์ธ์— ์ง€์ •๋œ ๊ฐ’๋งŒ์„ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค.

๋„๋ฉ”์ธ : ํ•˜๋‚˜์˜ ์—ํŠธ๋ฆฌ๋ทฐํŠธ๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์›์ž๊ฐ’๋“ค์˜ ์ง‘ํ•ฉ


๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ์šฉ์–ด์— ๋Œ€ํ•œ ์„ค๋ช…

์ฐจ์ˆ˜(Degree) : ์†์„ฑ์˜ ์ˆ˜

์นด๋””๋„๋ฆฌํ‹ฐ : ํŠœํ”Œ์˜ ์ˆ˜(๊ธฐ์ˆ˜)


๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๋กœ๊ทธ(log)๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ํšŒ๋ณต ๊ธฐ๋ฒ•

- ์ฆ‰๊ฐ ๊ฐฑ์‹  ๊ธฐ๋ฒ•


๊ด€๊ณ„๋Œ€์ˆ˜์˜ ์ˆœ์ˆ˜ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž?

Select / Project / Join / Division


๋ฌผ๋ฆฌ์  / ๋…ผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ์„ค๊ณ„

๋…ผ๋ฆฌ์  - ์Šคํ‚ค๋งˆ ์„ค๊ณ„

๋ฌผ๋ฆฌ์  - ๋ ˆ์ฝ”๋“œ / ์ ‘๊ทผ ๊ฒฝ๋กœ ์„ค๊ณ„


Y๊ฐ€ X์— ํ•จ์ˆ˜์ ์œผ๋กœ ์ข…์†๋จ์„ ํ‘œ์‹œํ•˜๋Š” ๊ธฐํ˜ธ๋Š”?

X -> Y


๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ์˜ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ๋‹จ์œ„์ธ ์ €์žฅ ๋ ˆ์ฝ”๋“œ ์–‘์‹์„ ์„ค๊ณ„ํ•  ๋•Œ ๊ณ ๋ คํ•ด์•ผํ•  ์‚ฌํ•ญ

1. ๋ฐ์ดํ„ฐ ํƒ€์ž…

2. ๋ฐ์ดํ„ฐ ๊ฐ’์˜ ๋ถ„ํฌ

3. ์ ‘๊ทผ ๋นˆ๋„

ํŠธ๋ Œ์ ์…˜์„ ๊ฐœ๋…์  ์‹œ์Šคํ…œ ๋…๋ฆฝ์ ์œผ๋กœ ์ •์˜ํ•œ๋‹ค.
ํŠธ๋ Œ์ ์…˜์˜ ์ž…์ถœ๋ ฅ๊ธฐ๋Šฅ , ํ˜•ํƒœ๋งŒ ์ •์˜ํ•œ๋‹ค.
ํŠธ๋ Œ์ ์…˜์€ ๊ฐœ๋…์  ์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ ์ง„ํ–‰ํ•˜๋ฏ€๋กœ ๋ชจ๋‘ ์˜ค๋‹ต์ด๋‹ค.

๋‹จ! ํŠธ๋ Œ์ ์…˜ ์ธํ„ฐํŽ˜์ด์Šค ์„ค๊ณ„ ๋ฐ ์ž‘์„ฑ์€ ๋…ผ๋ฆฌ์  ์„ค๊ณ„ ๋‹จ๊ณ„์ด๋‹ค.


๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ(Distributed Database System)๋ž€?

1. ๋…ผ๋ฆฌ์ ์œผ๋กœ๋Š” ํ•˜๋‚˜์˜ ์‹œ์Šคํ…œ, ๋ฌผ๋ฆฌ์ ์œผ๋กœ๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ปดํ“จํ„ฐ ์‚ฌ์ดํŠธ์— ๋ถ„์‚ฐ

2. ์œ„์น˜ ํˆฌ๋ช…์„ฑ, ์ค‘๋ณต ํˆฌ๋ช…์„ฑ, ๋ณ‘ํ–‰ ํˆฌ๋ช…์„ฑ, ์žฅ์•  ํˆฌ๋ช…์„ฑ์„ ๋ชฉํ‘œ

3. DB์„ค๊ณ„๊ฐ€ ๋น„๊ต์  ์–ด๋ ต๊ณ , ๊ฐœ๋ฐœ ๋น„์šฉ๊ณผ ์ฒ˜๋ฆฌ ๋น„์šฉ์ด ์ฆ๊ฐ€ํ•œ๋‹ค.

4. ์ฃผ์š” ๊ตฌ์„ฑ์š”์†Œ๋กœ๋Š” ๋ถ„์‚ฐ์ฒ˜๋ฆฌ๊ธฐ / ๋ถ„์‚ฐDB / ํ†ต์‹ ๋„คํŠธ์›Œํฌ ๊ฐ€ ์žˆ๋‹ค.


DB ์ธ๋ฑ์Šค์— ๋Œ€ํ•œ ์„ค๋ช…

1. ์ธ๋ฑ์Šค์˜ ์ถ”๊ฐ€, ์‚ญ์ œ๋ช…๋ น์–ด๋Š” ๊ฐ๊ฐ CREATE, DROP์ด๋‹ค.

2. ๋Œ€๋ถ€๋ถ„์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํ…Œ์ด๋ธ”์„ ์‚ญ์ œํ•˜๋ฉด ์ธ๋ฑ์Šค๋„ ํ•จ๊ป˜ ์‚ญ์ œ๋œ๋‹ค.


SQL์˜ TRUNCATE ๋ช…๋ น์–ด์— ๋Œ€ํ•œ ์„ค๋ช…

1. DELETE์™€ ๊ฐ™์ด ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•œ๋‹ค.

2. DROP๊ณผ ๋‹ฌ๋ฆฌ ํ…Œ์ด๋ธ” ์Šคํ‚ค๋งˆ๋Š” ์ œ๊ฑฐ๋˜์ง€ ์•Š๊ณ  ์œ ์ง€๋œ๋‹ค.

3. DELETE์— ๋น„ํ•ด ๋น ๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ฑฐํ•˜๋Š”๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

4. DELETE์™€ ๋‹ฌ๋ฆฌ, ROLLBACK๋ช…๋ น์–ด๋กœ ์‚ญ์ œํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต๊ตฌํ•  ์ˆ˜ ์—†๋‹ค.


๊ด€๊ณ„ ํ•ด์„ ์ด๋ž€?

1. ๊ด€๊ณ„ํ•ด์„์€ ์ˆ˜ํ•™์˜ ํ”„๋ ˆ๋””ํ‚ท ํ•ด์„์— ๊ธฐ๋ฐ˜์„ ๋‘๊ณ ์žˆ๋‹ค.

2. ๊ด€๊ณ„๋Œ€์ˆ˜๋กœ ํ‘œํ˜„ํ•œ ์‹์€ ๊ด€๊ณ„ํ•ด์„์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

3. ๊ด€๊ณ„ํ•ด์„์€ ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ์˜ ์—ฐ์‚ฐ์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

4. ๊ด€๊ณ„ํ•ด์„์€ ์›ํ•˜๋Š” ์ •๋ณด๊ฐ€ ๋ฌด์—‡์ด๋ผ๋Š” ๊ฒƒ๋งŒ ์ •์˜ํ•˜๋Š” ๋น„์ ˆ์ฐจ์  ํŠน์ง•์ด ์žˆ๋‹ค.


E-R ๋ชจ๋ธ์˜ ๊ทธ๋ž˜ํ”ฝ ํ‘œํ˜„

๊ฐœ์ฒด ํƒ€์ž… - ์‚ฌ๊ฐํ˜•

์†์„ฑ - ์›ํ˜•

๊ด€๊ณ„ ํƒ€์ž… - ๋งˆ๋ฆ„๋ชจ