νΈλμμ
, SQL μ‘°μμ΄, JOIN, μ κ·ν
1. νΈλμμ
2. SQL μ‘°μμ΄
3. JOIN
4. μ κ·ν
1. νΈλμμ (Transaction)
νΈλμμ (Transaction)μ λ°μ΄ν°λ² μ΄μ€μ μνλ₯Ό λ³νμν€κΈ° μν΄μ μννλ μμ μ λ¨μμ λλ€.
- νΈλμμ νΉμ§
1. μμμ±(Atomicity)
νΈλμμ μ΄ λ°μ΄ν°λ² μ΄μ€μ λͺ¨λ μ μ©μ΄ λκ±°λ λͺ¨λ μ μ©μ΄ λμ§ μμμΌν©λλ€.
A κ³μ’μμ B κ³μ’λ‘ λμ μ΄μ²΄νλ €κ³ ν λ, A κ³μ’μμ κΈμ‘μ μ°¨κ°νκ³ B κ³μ’μμ κΈμ‘μ μΆκ°ν΄μΌν©λλ€.
A κ³μ’μμ κΈμ‘μ μ°¨κ°ν ν, B κ³μ’μ κΈμ‘μ μΆκ°νλ λμ€ μμ€ν μ₯μ κ° λ°μνλ©΄ A κ³μ’λ μ°¨κ°λμμ§λ§ B κ³μ’λ κΈμ‘μ΄ μΆκ°λμ§ μμ΅λλ€. νμ§λ§ μμμ±μ μν΄μ λ μμ μ΄ λͺ¨λ μλ£λκ±°λ λͺ¨λ μλ£λμ§ μμμΌ ν©λλ€.
2. μΌκ΄μ±(Consistency)
νΈλμμ μ μμ μ²λ¦¬ κ²°κ³Όκ° νμ μΌκ΄μ± μμ΄μΌ ν©λλ€.
νΈλμμ μ μμνκΈ° μ κ³Ό λλ νμ λ°μ΄ν°λ² μ΄μ€μ μ€μ ν κ·μΉμ΄λ μ μ½μ νμ μ§μΌμΌν©λλ€.
3. λ 립μ±(Isolation)
ν νΈλμμ μ΄ μ€νμ€μΌ λ λ€λ₯Έ νΈλμμ μμ μν κ²°κ³Όλ₯Ό μ°Έμ‘°ν μ μμ΅λλ€.
A κ³μ’μμ B κ³μ’λ‘ λμ μ΄μ²΄νλ €κ³ ν λ, A κ³μ’μμ κΈμ‘μ μ°¨κ°νκ³ B κ³μ’μμ κΈμ‘μ μΆκ°ν΄μΌν©λλ€. μ΄ κ³Όμ μμ Aμ μ΄μ²΄κ° μλ£λκΈ° μ μ Aμ κ³μ’μμ κΈμ‘μ μ°¨κ°νλ©΄ Aμ Bμ μμ μ΄ μλ‘ μν₯μ λ―ΈμΉ μ μμ΅λλ€. λ 립μ±μ μν΄ κ° νΈλμμ μ λ€λ₯Έ νΈλμμ μ μν₯μ λ°μ§ μλλ‘ κ²©λ¦¬λμ΄ μ²λ¦¬ν΄μΌ ν©λλ€.
4. μ§μμ±/μμμ±(Durability)
νΈλμμ μ μꡬμ μΌλ‘ λ°μλμ΄μΌ ν©λλ€.
μ¬μ©μκ° μΉ μ¬μ΄νΈμμ μνμ ꡬμ νκ³ κ²°μ λ₯Ό μλ£ν νμ μμ€ν μ λ¬Έμ κ° λ°μνμ¬ μλ²κ° λ€μ΄λ λ, μ§μμ±/μμμ±μ μν΄ κ²°μ μ 보λ μ£Όλ¬Έ λ΄μ©μ΄ μμ€λμ§ μκ³ μμ€ν μ μꡬμ μΌλ‘ λ°μλμ΄μΌ ν©λλ€.
2. SQL μ‘°μμ΄
λ°μ΄ν°λ² μ΄μ€μμ λ°μ΄ν°λ₯Ό λ€λ£° λ μ¬μ©νλ λͺ λ Ήμ΄κ° SQL μ λλ€.
SQLμ μ’ λ₯λ ν¬κ² DDL, DML, DCL 3κ°μ§κ° μ‘΄μ¬ν©λλ€.
- DDL(Data Definition Language): λ°μ΄ν° μ μ μΈμ΄
1. CREATE
μλ‘μ΄ ν μ΄λΈ, λ·°, λ°μ΄ν°λ² μ΄μ€ λ±μ μμ±ν λ μ¬μ©ν©λλ€.
CREATE TABLE ν
μ΄λΈλͺ
(μμ±λͺ
νμ
, μμ±λͺ
νμ
);
2. ALTER
κΈ°μ‘΄μ λ°μ΄ν°λ² μ΄μ€ κ°μ²΄μ ꡬ쑰λ₯Ό λ³κ²½ν λ μ¬μ©ν©λλ€.
ALTER TABLE ν
μ΄λΈλͺ
ADD μμ±λͺ
νμ
λͺ
;
ꡬ쑰 λ³κ²½ν λ ADD, MODIFY, CHANGE, RENAME, DROP λ±μ λͺ λ Ήμ΄κ° μμ΅λλ€.
ADD: μμ± μΆκ°
MODIFY: 컬λΌμ λ°μ΄ν° νμ λ³κ²½
3. DROP
ν μ΄λΈμ΄λ λ°μ΄ν°λ² μ΄μ€λ₯Ό μμ ν©λλ€.
DROP TABLE ν
μ΄λΈλͺ
;
4. TRUNCATE
ν μ΄λΈμ λ°μ΄ν°λ μμ νμ§λ§ ν μ΄λΈ ꡬ쑰λ κ·Έλλ‘ λ¨κ²¨λμ΅λλ€.
TRUNCATE TABLE ν
μ΄λΈλͺ
;
- DML(Data manipulation Language): λ°μ΄ν° μ‘°μ μΈμ΄
1. SELECT
μνλ λ°μ΄ν°λ₯Ό κ°μ Έμ¬ λ μ¬μ©ν©λλ€.
SELECT μμ±λͺ
FROM ν
μ΄λΈλͺ
;
2. INSERT
ν μ΄λΈμ λ°μ΄ν°λ₯Ό μ½μ ν λ μ¬μ©ν©λλ€.
INSERT INTO ν
μ΄λΈλͺ
(μμ±λͺ
, μμ±λͺ
) VALUES (λ°μ΄ν°, λ°μ΄ν°);
3. UPDATE
κΈ°μ‘΄μ λ°μ΄ν°λ₯Ό μμ ν λ μ¬μ©ν©λλ€.
UPDATE ν
μ΄λΈλͺ
SET μμ±λͺ
= λ°μ΄ν°;
4. DELETE
κΈ°μ‘΄μ λ°μ΄ν°λ₯Ό μμ ν λ μ¬μ©ν©λλ€.
DELETE FROM ν
μ΄λΈλͺ
WHERE μμ±λͺ
= λ°μ΄ν°;
5. TRUNCATEμ μ°¨μ΄μ
DELETEλ νΉμ ν λλ μ 체 λ°μ΄ν°λ₯Ό μμ ν μ μκ³ , TRUNCATEλ ν μ΄λΈμ μ 체 λ°μ΄ν° μμ λ§ κ°λ₯ν©λλ€.
DELETE νμ κ²½μ° COMMIT μ μ΄λ©΄ ROLLBACKμ΄ κ°λ₯νκ³ , TRUNCATEλ ROLLBACKμ΄ λΆκ°λ₯ν©λλ€. (μΌλΆ DBMSμμλ κ°λ₯)
- DCL(Data Control Language): λ°μ΄ν° μ μ΄ μΈμ΄
1. GRANT
νΉμ μ¬μ©μμκ² λ°μ΄ν°λ² μ΄μ€ κ°μ²΄μ λν κΆνμ λΆμ¬ν λ μ¬μ©ν©λλ€.
GRANT λͺ
λ Ήμ΄ ON ν
μ΄λΈλͺ
TO μ¬μ©μλͺ
;
2. REVOKE
νΉμ μ¬μ©μμκ² λ°μ΄ν°λ² μ΄μ€ κ°μ²΄μ λν κΆνμ νμν λ μ¬μ©ν©λλ€.
REVOKE λͺ
λ Ήμ΄ ON ν
μ΄λΈ FROM μ¬μ©μλͺ
;
- TCL(Transaction Control Language): νΈλμμ μ μ΄ μΈμ΄
1. COMMIT
νΈλμμ μ μλ£νκ³ λ³κ²½μ¬νμ μꡬμ μΌλ‘ λ°μ΄ν°λ² μ΄μ€μ μ μ₯ν©λλ€.
2. ROLLBACK
νΈλμμ μ μ·¨μνκ³ λ³κ²½ μ¬νμ μλλλ‘ λλ립λλ€.
3. SAVEPOINT
νΈλμμ λ΄μμ νΉμ μ§μ μ μ€μ νμ¬ κ·Έ μ§μ μΌλ‘ λλ릴 μ μλλ‘ ν©λλ€.
SAVEPOINT μΈμ΄λΈν¬μΈνΈλͺ
;
3. JOIN
λ κ° μ΄μμ ν μ΄λΈμ μ°κ²°νμ¬ λ°μ΄ν°λ₯Ό μ‘°νν λ μ¬μ©νλ SQL λͺ λ Ήμ΄μ λλ€.
- INNER JOIN(λ΄λΆ μ‘°μΈ)
λ ν μ΄λΈμμ μΌμΉνλ λ°μ΄ν°λ§ μ‘°νν©λλ€.
- LEFT JOIN(μΌμͺ½ μΈλΆ μ‘°μΈ)
μΌμͺ½ ν μ΄λΈμ λͺ¨λ λ°μ΄ν°λ₯Ό κ°μ Έμ€κ³ , μ€λ₯Έμͺ½ ν μ΄λΈμ μΌμΉνλ λ°μ΄ν°κ° μμΌλ©΄ ν¨κ» μΆλ ₯ν©λλ€.
μΌμΉνλ λ°μ΄ν°κ° μλ κ²½μ° NULLμ΄ λ€μ΄κ°λλ€.
- RIGHT JOIN(μ€λ₯Έμͺ½ μΈλΆ μ‘°μΈ)
μ€λ₯Έμͺ½ ν μ΄λΈμ λͺ¨λ λ°μ΄ν°λ₯Ό κ°μ Έμ€κ³ , μΌμͺ½ ν μ΄λΈμ μΌμΉνλ λ°μ΄ν°κ° μμΌλ©΄ ν¨κ» μΆλ ₯ν©λλ€.
μΌμΉνλ λ°μ΄ν°κ° μλ κ²½μ° NULLμ΄ λ€μ΄κ°λλ€.
- FULL JOIN(μμ μΈλΆ μ‘°μΈ)
μΌμͺ½ ν μ΄λΈκ³Ό μ€λ₯Έμͺ½ ν μ΄λΈμ λͺ¨λ λ°μ΄ν°λ₯Ό κ°μ Έμ΅λλ€.
μΌμΉνλ λ°μ΄ν°κ° μλ κ²½μ° NULLμ΄ λ€μ΄κ°λλ€.
4. μ κ·ν(Normalization)
λ°μ΄ν°λ² μ΄μ€ μ€κ³ κ³Όμ μμ λ°μ΄ν°μ μ€λ³΅μ μ€μ΄κ³ , λ°μ΄ν° 무결μ±μ μ μ§νκΈ° μν΄ λ°μ΄ν°λ₯Ό ꡬ쑰ννλ κ³Όμ μ λλ€.
- μ 1μ κ·ν
κ° μ»¬λΌμ κ°μ΄ λ μ΄μ λλ μ μλ μμκ°μ΄μ΄μΌ ν©λλ€.
ν 컬λΌμ ν μμ±μ κ°λ§ λ€μ΄κ°λλ€.
- μ 2μ κ·ν
κΈ°λ³Έ ν€μ μΌλΆκ° μλ μμ±μ κΈ°λ³Έ ν€ μ 체μ μ’ μλμ΄μΌ ν©λλ€.
- μ 3μ κ·ν
κΈ°λ³Έ ν€μ μ§μ μ’ μλμ§ μλ μμ±μ μ κ±°ν©λλ€.
- μ 4μ κ·ν(BCNF)
λͺ¨λ κ²°μ μλ ν보 ν€μ¬μΌ ν©λλ€.
- μ 5μ κ·ν
μ‘°μΈμ μννμ λ μ 보 μμ€μ΄ μμ΄μΌ ν©λλ€.
μ°Έκ³ μ¬μ΄νΈ
νΈλμμ (Transaction)μ΄λ?
νΈλμμ μ΄λ? νΈλμμ (Transaction μ΄ν νΈλμμ )μ΄λ, λ°μ΄ν°λ² μ΄μ€μ μνλ₯Ό λ³νμν€κΈ° ν΄μ μννλ μμ μ λ¨μλ₯Ό λ»νλ€. λ°μ΄ν°λ² μ΄μ€μ μνλ₯Ό λ³νμν¨λ€λ κ²μ λ¬΄μΌ μλ―Ένλ κ²μΌ
mommoo.tistory.com
λ¬Έμ κ° μμΌλ©΄ λκΈ λ¨κ²¨μ£ΌμΈμ !
νΌλλ°±μ μΈμ λ νμμ λλ€ <3