๋ฐ์ดํฐ ๋ฒ ์ด์ค ๊ตฌ์ถ
๋ฆด๋ ์ด์ (ํ ์ด๋ธ)
์์ฑ = ํ ์ด๋ธ์ ์ด (Column)
์ฐจ์ = ์์ฑ์ ์
ํํ = ํ ์ด๋ธ์ ํ (Row)
์นด๋๋๋ฆฌํฐ = ํํ์ ์
DDL(Data Definition Language)
Create, Alter, Drop
DML(Data Manipulation Language)
SELECT, INSERT, UPDATE, DELETE
DCL(Data Control Language)
GRANT, REVOKE, COMMIT, ROLLBACK
DISTINCT : ์ค๋ณต ์ ๊ฑฐCASCADE : ๋ถ๋ชจ ๊ฐ ์ญ์ ์ ์์๋ ์ญ์ ALTER : ์์ฑ ์ถ๊ฐ, ์ญ์
ํ๋ณดํค - ์ ์ผ์ฑ๊ณผ ์ต์์ฑ ๋ง์กฑ
๊ธฐ๋ณธํค - null ๊ฐ ๋ถ๊ฐ, ์ค๋ณต x, ์๋ณ์
์ํผํค - ์ ์ผ์ฑ ๋ง์กฑ, ์ต์์ฑ x
์ธ๋ํค - ๊ธฐ๋ณธํค๋ฅผ ์ฐธ์กฐํ๋ ํค
DB ๋ฝ(Locking) - ํธ๋์ญ์ ์ด ์ ๊ทผํ๋ ๋์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ถ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์ ๊ทผํ์ง ๋ชปํ๋๋ก ํ๋ ๊ฒ
๊ณต์ ๋ฝ(Shared Lock)
๊ณต์ ๋ฝ์ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ์ง ์๋ ์ฝ๊ธฐ ๋ช ๋ น์ ๋ํด ์ฃผ์ด์ง๋ ๋ฝ์ผ๋ก Read Lock ์ด๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค. ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ๋์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด๋ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์๋ ์๋ฌด๋ฐ ์ํฅ์ ์ฃผ์ง ์๊ธฐ ๋๋ฌธ์, ๊ณต์ ๋ฝ๋ผ๋ฆฌ๋ ๋์์ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
๋ฒ ํ ๋ฝ(Exclusive Lock)
๋ฒ ํ ๋ฝ์ ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ์ ๊ฐํ๋ ์ฐ๊ธฐ ๋ช ๋ น๋ค์ ๋ํด ์ฃผ์ด์ง๋ ๋ฝ์ผ๋ก Write Lock ์ผ๋ก๋ ๋ถ๋ฆฐ๋ค. ๋ฒ ํ ๋ฝ์ ์ด๋ฆ๊ณผ ๊ฐ์ด ๋ค๋ฅธ ์ธ์ ์ด ํด๋น ์์์ ์ ๊ทผ(SELECT, INSERT..) ํ๋ ๊ฒ์ ๋ง๋๋ค. ์ด๋ฌํ ์ ์์ ๋ฒ ํ ๋ฝ์ ๋ฉํฐ ์ฐ๋ ๋ฉ ํ๊ฒฝ์์, ์๊ณ ์์ญ์ ์์ ํ๊ฒ ๊ด๋ฆฌํ๊ธฐ ์ํด ํ์ฉ๋๋ ๋ฎคํ ์ค์ ์ ์ฌํ๋ค๊ณ ๋ณผ ์ ์๋ค.
์ ๋ฐ์ดํธ ๋ฝ(Update Lock)
์ ๋ฐ์ดํธ ๋ฝ์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ธฐ ์ํด ๋ฒ ํ ๋ฝ์ ๊ฑธ๊ธฐ ์ , ๋ฐ๋ ๋ฝ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋ฝ์ด๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ ๋ฐ์ดํธ ๋ฝ์ UPDATE ์ฟผ๋ฆฌ์ ํํฐ(WHERE)๊ฐ ์คํ๋๋ ๊ณผ์ ์ ์ ์ฉ
์๋ก ๋ค๋ฅธ ํธ๋์ญ์ ์์ ๋์ผํ ์์์ ๋ํด ์ฝ๊ธฐ ์ฟผ๋ฆฌ ์ดํ, ์ ๋ฐ์ดํธ ์ฟผ๋ฆฌ๋ฅผ ์ ์ฉํ๋ ๊ฒฝ์ฐ ์ปจ๋ฒ์ ผ ๋ฐ๋๋ฝ์ด ๋ฐ์ํ๋๋ฐ, ์ด๋ฅผ ๋ง๊ธฐ ์ํด ์ผ๋ถ SELECT ์ฟผ๋ฆฌ์์๋ ์ ๋ฐ์ดํธ ๋ฝ์ ์ ์ฉํ๊ธฐ๋ ํ๋ค.
๋ด์ฌ ๋ฝ(Intent Lock)
๋ด์ฌ ๋ฝ์ ์ฌ์ฉ์๊ฐ ์์ฒญํ ๋ฒ์์ ๋ํ ๋ฝ์ ๊ฑธ ์ ์๋์ง ์ฌ๋ถ๋ฅผ ๋น ๋ฅด๊ฒ ํ์ ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋ฝ์ด๋ค.
ํธ๋์ญ์ ํน์ง - ACID
Atomicity ์์์ฑ - All or nothing, ์ฆ ๋ชจ๋ ๋ฐ์๋๊ฑฐ๋ ์๋ฌด๊ฒ๋ ๋ฐ์๋์ง ์์์ผ ํ๋ค๋ ํน์ง
Consistency ์ผ๊ด์ฑ - ํธ๋์ญ์ ์ ์์ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ ํญ์ ์ผ๊ด์ฑ ์์ด์ผ ํจ
Isolation ๋ ๋ฆฝ์ฑ - ๋ ์ด์์ ํธ๋์ญ์ ์ด ๋์์ ๋ณํ ์คํ๋๊ณ ์์ ๋ , ์ด๋ค ํธ๋์ญ์ ๋ ๋ค๋ฅธ ํธ๋์ญ์ ์ฐ์ฐ์ ๋ผ์ด๋ค ์ ์๋ค.
Durability ์ง์์ฑ - ํธ๋์ญ์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋์์ผ๋ฉด , ๊ฒฐ๊ณผ๋ ์๊ตฌ์ ์ผ๋ก ๋ฐ์๋์ด์ผ ํ๋ค.
Commitํ๋์ ํธ๋์ญ์ ์ด ์ฑ๊ณต์ ์ผ๋ก ๋๋๊ฒ ๋๋ฉด DB๊ฐ ์ผ๊ด์ฑ์๋ ์ํ์ผ ๋ ์ด๋ฅผ ์๋ ค์ฃผ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ฐ์ฐ
Rollback
ํ๋์ ํธ๋์ญ์ ์ฒ๋ฆฌ๊ฐ ๋น์ ์์ ์ผ๋ก ์ข ๋ฃ๋์ด ํธ๋์ญ์ ์์์ฑ์ด ๊นจ์ง ๊ฒฝ์ฐ
'๐ CS [ComputerScience] > ๐ชช ์๊ฒฉ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ชช [์๊ฒฉ์ฆ] [SQLD] 2024๋ ์ 54ํ SQLD ๊ฐ๋ฐ์ ์ํ ํ๊ธฐ (2) | 2024.09.11 |
---|---|
๐ชช [์๊ฒฉ์ฆ] [์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ] ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ํ๊ธฐ (0) | 2024.04.21 |
[์๊ฒฉ์ฆ] [SQLD] SQL ๊ธฐ์ด (0) | 2023.03.17 |
[์๊ฒฉ์ฆ] [SQLD] ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ดํด (0) | 2022.03.04 |