λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

#6 자격증 πŸ—‚οΈ/5-1 μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬

[μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬ μ‹€κΈ°] 7. SQL μ‘μš©

SQL μ‘μš©

 

νŠΈλžœμž­μ…˜ (원일독지) Transaction

λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ ν•˜λ‚˜μ˜ 논리적 κΈ°λŠ₯을 μˆ˜ν–‰ν•˜λŠ” μž‘μ—…μ˜ λ‹¨μœ„ λ˜λŠ” ν•œκΊΌλ²ˆμ— λͺ¨λ‘ μˆ˜ν–‰λ˜μ–΄μ•Ό ν•  일련의 연산을 의미

  • μ›μžμ„± Atomicity
    • Transaction의 연산듀을 λ°μ΄ν„°λ² μ΄μŠ€μ— λͺ¨λ‘ μ‹€ν–‰ν•˜λ“ μ§€, μ „ν˜€ λ°˜μ˜λ˜μ§€ μ•Šμ•„μ•Ό 함, 일뢀 μ‹€ν–‰ λΆˆκ°€λŠ₯
    • COMMIT, ROLLBACK κ΄€λ ¨
  • 일관성 Consistency : μ‹œμŠ€ν…œμ΄ κ³ μ • μš”μ†ŒλŠ” νŠΈλžœμž­μ…˜ μˆ˜ν–‰ μ „κ³Ό ν›„μ˜ μƒνƒœκ°€ κ°™μ•„μ•Ό ν•œλ‹€
  • 독립성 Isolation : νŠΈλžœμž­μ…˜ μ‹€ν–‰ 쀑 λ‹€λ₯Έ νŠΈλžœμž­μ…˜μ˜ 연산은 μ ‘κ·Ό λΆˆκ°€λŠ₯
  • 지속성 Durability : νŠΈλžœμž­μ…˜μ΄ μ„±κ³΅ν–ˆμ„ 경우 영ꡬ적으둜 λ°˜μ˜λ˜μ–΄μ•Ό 함

 

TCL (νŠΈλžœμž­μ…˜ μ œμ–΄μ–΄ Transaction Control Language)

  • COMMIT : νŠΈλžœμž­μ…˜ ν™•μ • - νŠΈλžœμž­μ…˜μ„ μ •μƒμ μœΌλ‘œ μ²˜λ¦¬ν•˜κ² λ‹€κ³  ν™•μ •ν•˜λŠ” λͺ…λ Ήμ–΄
  • ROLLBACK : νŠΈλžœμž­μ…˜ μ·¨μ†Œ - νŠΈλžœμž­μ…˜ μž‘μ—…μ„ μ·¨μ†Œν•˜κ³ , 이전 μƒνƒœλ‘œ λ˜λŒλ¦¬λŠ” λͺ…λ Ήμ–΄
  • GRANT : κΆŒν•œ λΆ€μ—¬ - νŠΉμ • μ‚¬μš©μžμ—κ²Œ νŠΉμ • μž‘μ—…μ„ μˆ˜ν–‰ν•  κΆŒν•œμ„ λΆ€μ—¬ν•˜λŠ” λͺ…λ Ήμ–΄
  • REVOKE : κΆŒν•œ 회수 - νŠΉμ • μ‚¬μš©μžμ—κ²Œ λΆ€μ—¬ν•œ κΆŒν•œμ„ νšŒμˆ˜ν•˜λŠ” λͺ…λ Ήμ–΄
  • CHECKPOINT : μ €μž₯ μ‹œκΈ° μ„€μ • - ROLLBACK μœ„ν•œ μ‹œμ μ„ μ§€μ •ν•˜λŠ” λͺ…λ Ήμ–΄

 

병행 μ œμ–΄

λ°μ΄ν„°λ² μ΄μŠ€μ˜ 곡유λ₯Ό μ΅œλŒ€ν™”ν•œλ‹€

λ‘œν‚Ή 기법  νŠΈλžœμž­μ…˜μ˜ 순차적 진행을 보μž₯ν•˜λŠ” 직렬화 기법
λ‚™κ΄€μ „ 검증 μ–΄λ– ν•œ 검증도 μˆ˜ν–‰ν•˜μ§€ μ•Šκ³  일단 νŠΈλžœμž­μ…˜μ„ μˆ˜ν–‰, νŠΈλžœμž­μ…˜ μ’…λ£Œ μ‹œ 검증을 μˆ˜ν–‰ν•˜μ—¬ λ°μ΄ν„°λ² μ΄μŠ€μ— λ°˜μ˜ν•˜λŠ” 기법
νƒ€μž„ μŠ€νƒ¬ν”„ μˆœμ„œ νŠΈλžœμž­μ…˜μ΄ μ‹€ν–‰ν•˜κΈ° μ „ νƒ€μž„ μŠ€νƒ¬ν”„λ₯Ό λΆ€μ—¬λœ μ‹œκ°„μ— 따라 νŠΈλžœμž­μ…˜ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” 기법
닀쀑버전 λ™μ‹œμ„± μ œμ–΄ νŠΈλžœμž­μ…˜μ˜ νƒ€μž„ μŠ€νƒ¬ν”„μ™€ μ ‘κ·Όν•˜λ €λŠ” λ°μ΄ν„°μ˜ νƒ€μž„ μŠ€νƒ¬ν”„λ₯Ό λΉ„κ΅ν•˜μ—¬ 직렬 κ°€λŠ₯성이 보μž₯λ˜λŠ” μ μ ˆν•œ 버전을 μ„ νƒν•˜μ—¬ μ ‘κ·Όν•˜λ„λ‘ ν•˜λŠ” 기법

 

관계 λŒ€μˆ˜

SELECT  σ μ‹œκ·Έλ§ˆ
PROJECT π 파이
JOIN ▷◁ 보타이
DIVISION ÷ λ‚˜λˆ„κΈ°

 

DML
  • INSERT INTO ν…Œμ΄λΈ”λͺ… VALUES 속성 κ°’
  • UPDATE ν…Œμ΄λΈ”λͺ… SET 속성이름 = κ°’ WHERE 쑰건
  • DELETE FROM ν…Œμ΄λΈ”λͺ… WHERE 쑰건

 

DDL
  • ALTER TABLE ν…Œμ΄λΈ”λͺ… ADD 속성이름 λ°μ΄ν„°νƒ€μž…
  • ALTER TABLE ν…Œμ΄λΈ”λͺ… DROP 속성이름 CASCADE | RESTRICT

 

무결성

λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ €μž₯된 κ°’κ³Ό μ‹€μ œ 값이 μΌμΉ˜ν•˜λŠ” 정확성을 의미

LIST