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

πŸ“š 전곡 곡뢀

(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 : 버퍼가 μˆ˜μ •λ˜μ—ˆλŠ”μ§€ μ—¬..