π [CSλ©΄μ ] μΉ λ©΄μ μ§λ¬Έ [6] [Data Base]
1. λ°μ΄ν° λ² μ΄μ€μ νΉμ§ ?
1. μ€μκ° μ κ·Όμ± (Real-Time Accessibility) - λΉμ νμ μΈ μ§μμ λνμ¬ μ€μκ° μ²λ¦¬μ μν μλ΅μ΄ κ°λ₯ν΄μΌ ν¨
2. μ§μμ μΈ λ³ν (Continuous Evolution) - λ°μ΄ν°λ² μ΄μ€μ μνλ λμ . μ¦, μλ‘μ΄ λ°μ΄ν°μ μ½μ (Insert), μμ (Delete), κ°±μ (Update)μΌλ‘ νμ μ΅μ μ λ°μ΄ν°λ₯Ό μ μ§ν΄μΌ ν¨
3. λμ κ³΅μ© (Concurrent Sharing) - λ°μ΄ν°λ² μ΄μ€λ μλ‘ λ€λ₯Έ λͺ©μ μ κ°μ§ μ¬λ¬ μμ©μλ€μ μν κ²μ΄λ―λ‘ λ€μμ μ¬μ©μκ° λμμ κ°μ λ΄μ©μ λ°μ΄ν°λ₯Ό μ΄μ©ν μ μμ΄μΌ ν¨
4. λ΄μ©μ μν μ°Έμ‘° (Content Reference) - λ°μ΄ν°λ² μ΄μ€μ μλ λ°μ΄ν°λ₯Ό μ°Έμ‘°ν λ λ°μ΄ν° λ μ½λμ μ£Όμλ μμΉμ μν΄μκ° μλλΌ μ¬μ©μκ° μꡬνλ λ°μ΄ν° λ΄μ©μΌλ‘ μ°Ύμ
2. DDL, DML, DCL μ΄λ ?
- DDL (Data Definition Language) : λ°μ΄ν°λ² μ΄μ€μ ꡬ쑰λ₯Ό μ μ, μμ , μμ νλ μΈμ΄ ( alter, create, drop)
- DML (Data Manipulation Langauge) : λ°μ΄ν°λ² μ΄μ€ λ΄μ μλ£ κ²μ, μ½μ , κ°±μ , μμ λ₯Ό μν μΈμ΄ ( select, insert, update, delete)
- DCL (Data Control Language) : λ°μ΄ν°μ λν λ¬΄κ²°μ± μ μ§, λ³μ μν μ μ΄, 보νΈμ κ΄λ¦¬λ₯Ό μν μΈμ΄ ( commit, rollback, grant, revoke)
3. SELECT 쿼리μ μν μμ ?
FROM, ON, JOIN -> WHERE, GROUP BY, HAVING -> SELECT -> DISTINCT -> ORDER BY -> LIMIT
1. FROM - κ° ν μ΄λΈμ νμΈ
2. ON - JOIN 쑰건μ νμΈ
3. JOIN - JOINμ΄ μ€νλμ΄ λ°μ΄ν°κ° SETμΌλ‘ λͺ¨μμ§κ² λλ€. μλΈμΏΌλ¦¬λ ν¨κ» ν¬ν¨λμ΄ μμ ν μ΄λΈμ λ§λ€ μ μκ² λμμ€λ€.
4. WHERE - λ°μ΄ν°μ μ νμ±νκ² λλ©΄ WHEREμ μ‘°κ±΄μ΄ κ°λ³ νμ μ μ©λλ€. WHEREμ μ μ μ½ μ‘°κ±΄μ FROMμ λ‘ κ°μ Έμ¨ ν μ΄λΈμ μ μ©λ μ μλ€.
5. GROUP BY - WHEREμ 쑰건 μ μ© ν λλ¨Έμ§ νμ GROUP BYμ μ μ§μ λ μ΄μ κ³΅ν΅ κ°μ κΈ°μ€μΌλ‘ κ·Έλ£Ήνλλ€. 쿼리μ μ§κ³ κΈ°λ₯μ΄ μλ κ²½μ°μλ§μ΄ κΈ°λ₯μ μ¬μ©ν΄μΌ νλ€.
6. HAVING - GROUP BYμ μ΄ μΏΌλ¦¬μ μμ κ²½μ° HAVING μ μ μ μ½μ‘°κ±΄μ΄ κ·Έλ£Ήνλ νμ μ μ©λλ€.
7. SELECT - SELECTμ ννλ μμ΄ λ§μ§λ§μΌλ‘ μ μ©λλ€.
8. DISTINCT - ννλ νμμ μ€λ³΅λ νμ μμ
9. ORDER BY - μ§μ λ λ°μ΄ν°λ₯Ό κΈ°μ€μΌλ‘ μ€λ¦μ°¨μ, λ΄λ¦Όμ°¨μ μ§μ
10. LIMIT - LIMITμμ λ²μ΄λλ νλ€μ μ μΈλμ΄ μΆλ ₯
4. Index λ , μ₯λ¨μ μ ?
- Indexλ ν μ΄λΈμ μ²μλΆν° λκΉμ§ κ²μνλ λ°©λ²μΈ FTS(Full Table Scan)κ³Όλ λ¬λ¦¬ μΈλ±μ€λ₯Ό κ²μνμ¬ ν΄λΉ μλ£μ ν μ΄λΈμ μμΈμ€ νλ λ°©λ² [ DBλ₯Ό μ± μ λΉμ νμλ©΄ λ°μ΄ν°λ μ± μ λ΄μ©μ΄κ³ , λ°μ΄ν°κ° μ μ₯λ λ μ½λμ μ£Όμλ index λͺ©λ‘μ μλ νμ΄μ§ λ²νΈμΌ κ² ]
- μΈλ±μ€λ νμ μ λ ¬λ μνλ₯Ό μ μ§νκΈ° λλ¬Έμ μνλ κ°μ κ²μνλλ° λΉ λ₯΄μ§λ§, μλ‘μ΄ κ°μ μΆκ°νκ±°λ μμ , μμ νλ κ²½μ°μλ 쿼리문 μ€ν μλκ° λλ €μ§λλ€.
- μ¦, μΈλ±μ€λ λ°μ΄ν°μ μ μ₯ μ±λ₯μ ν¬μνκ³ κ·Έλμ λ°μ΄ν°μ κ²μ μλλ₯Ό λμ΄λ κΈ°λ₯
DBMSλ Indexλ₯Ό μ΄λ»κ² κ΄λ¦¬νλμ§ (Index μλ£κ΅¬μ‘°) ?
- B+Tree μΈλ±μ€ μλ£κ΅¬μ‘°
μμ λ Έλκ° 2κ° μ΄μμΈ B-Treeλ₯Ό κ°μ μν¨ μλ£κ΅¬μ‘°, BTree 리νλ Έλλ€μ LinkedListλ‘ μ°κ²°νμ¬ μμ°¨ κ²μμ μ©μ΄νκ² ν©λλ€. ν΄μ ν μ΄λΈλ³΄λ€ λμ O(log2N)μ μκ°λ³΅μ‘λλ₯Ό κ°μ§λ§ μΌλ°μ μΌλ‘ μ¬μ©λλ μλ£κ΅¬μ‘°
- ν΄μ ν μ΄λΈ
μΉΌλΌμ κ°μΌλ‘ μμ±λ ν΄μλ₯Ό κΈ°λ°μΌλ‘ μΈλ±μ€λ₯Ό ꡬν, μκ°λ³΅μ‘λκ° O(1)μ΄λΌ κ²μμ΄ λ§€μ° λΉ λ¦, λΆλ±νΈμ κ°μ μ°μμ μΈ λ°μ΄ν°λ₯Ό μν μμ°¨ κ²μμ΄ λΆκ°λ₯νκΈ° λλ¬Έμ μ¬μ©μ μ ν©νμ§ μμ