π μ 곡 κ³΅λΆ (55) μΈλ€μΌν 리μ€νΈν [SQLD] μ 곡μ sqld μν νκΈ°/ μ€λΉλ°©λ²/ κ³΅λΆ https://www.dataq.or.kr/www/main.do β¬β¬ λ°μ΄ν°μ격κ²μ ννμ΄μ§ β¬β¬ SQLDλ SQL "κ°λ°μ" μκ²©μ¦ μνμ μ½μμ λλ€!! μ λ¬Έκ° μν(SQLP)μ μ€κΈ°λ μκ³ λ μ΄λ €μ΄ λ°λ©΄μ, κ°λ°μ μνμ νκΈ°λ§ μΉλ©΄ λκ³ μλμ μΌλ‘ μ¬μμ λνμλ€λ λ§μ΄ μμνλλΌκ³ μ. μ λ νκ΅μμ "λ°μ΄ν°λ² μ΄μ€ κΈ°μ΄" κ³Όλͺ©μ μκ°νλ©΄μ, μ λ°°μκ² SQLD μνμ κ°μ΄ μΉλ©΄ μ’λ€λ λ§μ λ£κ³ μνμ μ€λΉνκΈ° μμνμ΅λλ€! μ¬μ€ μ§μ§ μνμ€λΉλ 4μΌλμλ§ νκΈ΄ νλλ°,...(μ 곡μλΌμ) μ°μ DB κ³Όλͺ©μμ κΈ°λ³Έμ μΈ SQLλ¬Έμ λν΄μλ λ€ λ°°μ΄ μνμκ³ μ, μΌλ§μ μ μ€κ°κ³ μ¬λ₯Ό λ³Έλ€κ³ 곡λΆλ μ΄μ¬ν ν΄ λμ μνλΌμ μμΉ μ μμλ κ² κ°κΈ°λ ν©λλ€ μ°μ , SQL μνμ μΉμ€ μκ°μ΄λΌλ©΄ μλ μΉ΄νμ .. [μκ³ λ¦¬μ¦] μ λ ¬μ μ΅μ μ± μ λ ¬μ μ΅μ μ± μμμ μ°λ¦¬λ μ°μν λ μμλ₯Ό λΉκ΅νλ λ°©μμΌλ‘ μ λ ¬νλ©΄, O(n2) λ³΄λ€ μ’μ μκ° λ³΅μ‘λλ₯Ό μ»μ μ μλ€λ κ²μ 보μλ€. κ·Έ λ€μμ λ°°μ΄ μ λ ¬ λ°©μμΈ ν΅μ λ ¬, λ³ν©μ λ ¬, νμ λ ¬ μμλ λ©λ¦¬ λ¨μ΄μ§ λ μμλ₯Ό λΉκ΅νμ¬ κ΅νν¨μΌλ‘μ¨ μ΄λ³΄λ€ λΉ λ₯Έ μκ° λ³΅μ‘λμΈ O(n log n) μκ°μ μ»μ μ μμλ€. κ·Έλ λ€λ©΄ μ΄μ μ°λ¦¬κ° λ€μ λΉμ·ν μ§λ¬Έμ ν΄λ³΄μ. O(n log n)λ³΄λ€ λ λΉ λ₯΄κ² μ λ ¬μ μνν μ μκ² λκ°? μ 리. λ μμλ₯Ό λΉκ΅νμ¬ κ΅ννλ λ°©μμΌλ‘λ O(n log n)λ³΄λ€ λ λΉ λ₯΄κ² μ λ ¬μ μνν μ μλ€. μ¦λͺ . μμ¬ κ²°μ νΈλ¦¬(decision tree)λ μ΄λ€ λ¬Έμ μ λν΄μ νλ¨μ λ΄λ¦¬λ κ³Όμ μ νΈλ¦¬λ‘ ννν κ²μ΄λ€. 루νΈλ λ¬Έμ λ₯Ό νκΈ° μν΄μ μ²μ μμνλ μ§μ μ΄λ€. 루νΈλ₯Ό.. [μκ³ λ¦¬μ¦] λΉκ΅κΈ°λ° μ λ ¬μ νκ³/λΉκ΅μ κΈ°λ°νμ§ μμ μ λ ¬ λΉκ΅ κΈ°λ° μ λ ¬μ μκ°λ³΅μ‘λ νκ³ μ νΈλ¦¬λ μ΄μ§ νΈλ¦¬μ΄λ€. (ν¬κΈ° λΉκ΅μ λ°λ₯Έ λ κ°μ§ κ²½μ°μ μ) νΈλ¦¬μ 리ν μ Lμ nκ°μ κ°μ μ λ ¬νλ λͺ¨λ κ²½μ°λ₯Ό ν¬ν¨νλ€. L = n! ≤ 2^h h ≥ log L = log(n!) (n/2)^(n/2) ≤ n! ≤ n^n log(n!) = Ω(n log n) λ°λΌμ λ μμμ λΉκ΅μ κΈ°λ°ν μ λ ¬ μκ³ λ¦¬μ¦μ Ω(n log n)λ³΄λ€ λΉ λ₯Ό μ μλ€. λΉκ΅μ κΈ°λ°νμ§ μμ μ λ ¬ 1 : λ²ν· μ λ ¬ μ λ ¬λ λ°μ΄ν°κ° μλ¦Ώμ κ°λ μ΄ μλ€λ©΄, μ΄λ₯Ό μ΄μ©νλ€. μλ₯Ό λ€μ΄ μ λ ¬λ λ°μ΄ν°κ° νλ°° μ£Όμ(~μ ~ꡬ ~λ)λΌλ©΄, μ²μ μμΉ(~μ)λ§ λ³΄κ³ λ λ°μ΄ν° λΆλ₯κ° κ°λ₯. λΆλ₯ν λ°μ΄ν°λ₯Ό κ°κ° μ λ ¬νκ³ , μ΄λ₯Ό μ΄μΌλ©΄ μ λ ¬ μλ£ μκ° λ³΅μ‘λ : Best = cκ°μ λ²ν·μΌλ‘ λͺ¨λ μμ.. [μκ³ λ¦¬μ¦] λΉκ΅ κΈ°λ° μ λ ¬ λ¬Έμ μ λ ¬ λ¬Έμ → μ¬λ¬ λ°©λ²μ΄ μ‘΄μ¬νλ©°, λ°©λ²λ§λ€ νΉμ§μ΄ λ€λ¦ → μκ°λ³΅μ‘λ, μ΅μ μ±μ λν΄ μ¦λͺ μ΄ μ¬μ → nκ°μ μλ‘ λ€λ₯Έ μκ° μ£Όμ΄μ§ λ, μ΄λ€μ μ΄λνμ¬ μ μ 컀μ§κ²(μ€λ¦μ°¨μ) λλ μ μ μμμ§κ²(λ΄λ¦Όμ°¨μ)μΌλ‘ λ§λλ λ¬Έμ κ°μ : μ λ ¬ν λ°μ΄ν°κ° λ΄κΈ΄ λ°°μ΄μ κ° μμλ₯Ό O(1)μκ°μ μ κ·Ό κ°λ₯νλ€. (= λ°μ΄ν°κ° λ©μΈ λ©λͺ¨λ¦¬μ μ μ₯λμ΄ μλ€.) λ²λΈ μ λ ¬ 맨 μΌμͺ½ μμλΆν° λ°λ‘ μ΄μν μμμ λΉκ΅ν΄κ°λ©΄μ, ν° μκ° μ€λ₯Έμͺ½μΌλ‘ κ°λλ‘ κ΅νν¨. 맨 λκΉμ§ κ°λ©΄ κ°μ₯ ν° μμλ₯Ό μ°Ύμ κ²μ΄λ―λ‘, μ΄ κ³Όμ μ λ€μ λλ¨Έμ§ n-1κ° μμ λν΄μ λ°λ³΅ μ νμ± : μλͺ ν¨ μκ° λ³΅μ‘λ : μ²μ κ°μ₯ ν° μμλ₯Ό ꡬν λ n-1λ² λΉκ΅, λ λ²μ§Έ ν° μμλ₯Ό ꡬν λ n-2λ² λΉκ΅ (n-1) + (n-2) + … + 1 =.. [μκ³ λ¦¬μ¦] μ νμμ μ΄ν΄(recurrence relation) μ νμ μμ΄μ κ·λ©μ μ μμ μ μ¬ μ°¨μ΄ : μΈμ ν νκ°μ κ΄κ³λ§μ λ€λ£¨λ κ²μ μλλ€. μ΄λ€ ν¨μλ₯Ό μμ λ³΄λ€ λ μμ λ³μμ λν ν¨μ μμ κ³Όμ κ΄κ³λ‘ ννν κ². (μμ΄ = μ μμμ΄ μ μμΈ ν¨μ) λλΆλ¦, νΉμ μ μ¬ν λ°©μμΌλ‘ λ¬Έμ λ₯Ό ν λ 걸리λ μκ°μ ꡬνλλ°μ μ¬μ©ν¨ ex) T(n) = T(n-1) + 1 + T(n-1) = 2T(n-1) + 1 An = T(n), An = 2A(n-1) + 1 μ νμμ νΈλ λ² 1. λ°λ³΅ λμΉ : μ£Όμ΄μ§ 쑰건μ μ΄μ©νμ¬ μ μ μμ ν¨μλ‘ λ°λ³΅ν΄μ λμΉνλ λ°©λ². μΉ¨μ°©νκ² κΌΌκΌΌν! 2. μΆμ ν μ¦λͺ : μ νμμ κ²°λ‘ μ μΆμ νκ³ , κ·λ©λ²μΌλ‘ μ¦λͺ ν¨. λ°λ³΅ λμΉκ° 볡μ‘ν λ μ μ©ν¨. but μΆμ μ΄ μ½μ§ μμ μ μμ 3. λ§μ€ν° μ 리 : μ νμ 곡μ. μ¬κΈ°μμλ λ€.. [μκ³ λ¦¬μ¦] μκ³ λ¦¬μ¦ κ°μ λ° μ μ μκ³ λ¦¬μ¦μ μ μ : μ΄λ€ μ λ ₯μλ μ νν μΆλ ₯μ μ νν μκ° μμ λ΄λ νλ‘κ·Έλ¨ μ΄λ€ μ λ ₯ : λ¬Έμ μ λμ΄λλ, μ λ ₯μ ν¬κΈ°μ μκ΄μμ΄ λ¬Έμ λ₯Ό ν μ μλ€. μ νν μΆλ ₯ : λ¬Έμ κ° μꡬνλ 쑰건μ λ§μ‘±νλ€. μ λ΅μ΄ μꡬνλ μ‘°κ±΄μ΄ λ¬΄μμΈμ§ λͺ μν μ μλ€. μ νν μκ° : 무ν루νμ λΉ μ§μ§ μκ³ λ©λν μ μλ μκ°μ μ’ λ£νλ€. ex) 100λͺ μ νμλ€μ μν μ μ μ€ μ΅λκ°μ ꡬνμμ€. μνμ κ·λ©λ²→ μ νμ± : μλͺ νλ€. → μκ° : nλͺ μ μ μλ₯Ό μ½μΌλ©΄, n-1λ² λΉκ΅. → max(μ§κΈκΉμ§μ μ΅λκ°, i+1λ²μ§Έ νμμ μ μ) ex) 100λͺ μ νμλ€μ μν μ μ μ€ μ΅λΉκ°μ ꡬνμμ€. ex) μ λ ₯ : U={1,2, … , n} μ€μμ νΉμ ν μ νλλ§ λΉΌκ³ λ¬΄μμμ μμλ‘ n-1κ°μ μ«μκ° νλ²μ .. [DB] λ°μ΄ν°λ² μ΄μ€ 보μ Database Security and Authorization Subsystem 보μ λ° κΆνλΆμ¬ DB security legal and ethical policy issues system-related issues security levels Threats to Databases Loss of integrity : λ¬΄κ²°μ± μμ€ Loss of availability : κ°μ©μ± μμ€ Loss of confidentiality : κΈ°λ°μ± μμ€ access control, inference control, flow control, encryption DB security : not an isolated concern multiuser DB system database security and authoriza.. [DB] λ°μ΄ν°λ² μ΄μ€ 볡ꡬ Recovery Techniques Recovery Concept recent consistent state : no errors in db, no inconsistencies in db systme log Catastrophic failure (μΉλͺ μ μ₯μ ) → backed up, redoing Noncatastrophic failure (λΉμ¬ν΄μ μ₯μ ) → undoing, redo, deferred update&immediate update Caching(Buffering) of disk blocks ν¨μ¨μ±μ μν΄μ μΊμ μ¬μ© DBMS cache Buffer replacement : λ²νΌ κ΅μ²΄( flush ) dirty bit : λ²νΌκ° μμ λμλμ§ μ¬.. μ΄μ 1 2 3 4 5 6 7 λ€μ