νŠΈλžœμž­μ…˜(Transaction)
Β·
πŸ“ Computer Science/✏ Database
νŠΈλžœμž­μ…˜(Transaction) λ°μ΄ν„°λ² μ΄μŠ€μ˜ μƒνƒœλ₯Ό λ³€ν™˜μ‹œν‚€λŠ” ν•˜λ‚˜μ˜ 논리적 κΈ°λŠ₯을 μˆ˜ν–‰ν•˜κΈ° μœ„ν•œ μž‘μ—…μ˜ λ‹¨μœ„, 일련의 연산듀을 μ˜λ―Έν•œλ‹€. 1. ACID μ›μžμ„±(Atomicity): νŠΈλžœμž­μ…˜μ˜ 연산은 λ°μ΄ν„°λ² μ΄μŠ€μ— λͺ¨λ‘ λ°˜μ˜λ˜λ„λ‘ μ™„λ£Œ(Commit)λ˜λ“ μ§€ μ•„λ‹ˆλ©΄ μ „ν˜€ λ°˜μ˜λ˜μ§€ μ•Šλ„λ‘ 볡ꡬ(Rollback)λ˜μ–΄μ•Ό ν•œλ‹€. 일관성(Consistency): νŠΈλžœμž­μ…˜μ΄ μ™„λ£Œλœ λ‹€μŒμ˜ μƒνƒœμ—μ„œλ„ νŠΈλžœμž­μ…˜μ΄ μΌμ–΄λ‚˜κΈ° μ „μ˜ 상황과 λ™μΌν•˜κ²Œ λ°μ΄ν„°μ˜ 일관성을 보μž₯ν•΄μ•Ό ν•œλ‹€. 고립성(Isolation): ν•œ νŠΈλžœμž­μ…˜μ΄ μž‘μ—…μ„ ν•˜λŠ” λ™μ•ˆ μ™„λ£Œλ˜κΈ° μ „μ—λŠ” μž‘μ—… 쀑인 데이터λ₯Ό λ‹€λ₯Έ νŠΈλžœμž­μ…˜λ“€μ΄ μ ‘κ·Όν•˜μ§€ λͺ»ν•˜λ„둝 ν•΄μ•Ό ν•œλ‹€. 지속성(Durability): νŠΈλžœμž­μ…˜μ˜ 싀행이 μ„±κ³΅μ μœΌλ‘œ μ‹€ν–‰ μ™„λ£Œλœ ν›„μ—λŠ” μ‹œμŠ€ν…œμ— 였λ₯˜κ°€ λ°œμƒν•˜λ”..
μ •κ·œν™”(Normalization)
Β·
πŸ“ Computer Science/✏ Database
μ •κ·œν™”λ₯Ό κ±°μΉ˜μ§€ μ•ŠμœΌλ©΄ λ°μ΄ν„°λ² μ΄μŠ€ 내에 데이터듀이 λΆˆν•„μš”ν•˜κ²Œ 쀑볡, μ’…μ†λ˜μ–΄ 이상 ν˜„μƒμ΄ λ°œμƒν•œλ‹€. 1. 이상(Anomaly) ν˜„μƒ μ‚½μž…(Insertion) 이상: μ˜λ„μ™€λŠ” 상관없이 μ›ν•˜μ§€ μ•Šμ€ 값듀도 ν•¨κ»˜ μ‚½μž…λ˜λŠ” ν˜„μƒ μ‚­μ œ(Deletion) 이상: μ˜λ„μ™€λŠ” μƒκ΄€μ—†λŠ” 값듀도 ν•¨κ»˜ μ‚­μ œλ˜λŠ” 연쇄가 μΌμ–΄λ‚˜λŠ” ν˜„μƒ κ°±μ‹ (Update) 이상: 일뢀 νŠœν”Œμ˜ μ •λ³΄λ§Œ κ°±μ‹ λ˜μ–΄ 정보에 λͺ¨μˆœμ΄ μƒκΈ°λŠ” ν˜„μƒ 2. μ •κ·œν™”(Normalization) μ •κ·œν™”λž€ κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ 쀑볡을 μ΅œμ†Œν™”ν•˜κΈ° μœ„ν•΄ 데이터λ₯Ό κ΅¬μ‘°ν™”ν•˜λŠ” μž‘μ—…μœΌλ‘œ 잘λͺ» μ„€κ³„λœ λ¦΄λ ˆμ΄μ…˜μ„ 더 μž‘μ€ μ†μ„±μœΌλ‘œ λΆ„ν•΄ν•˜μ—¬ λ°”λžŒμ§ν•œ λ¦΄λ ˆμ΄μ…˜μœΌλ‘œ λ§Œλ“€μ–΄ κ°€λŠ” 과정이닀. ν•¨μˆ˜μ  쒅속성을 μ΄μš©ν•΄ νŒλ‹¨ν•œλ‹€. 무손싀 쑰인을 보μž₯ν•œλ‹€. μ—¬κΈ°μ„œ 무손싀 μ‘°μΈμ΄λž€ μ‘°μΈν•˜λ©΄ μ›λž˜μ˜..
ν‚€(Key)와 무결성 μ œμ•½ 쑰건
Β·
πŸ“ Computer Science/✏ Database
κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€λŠ” 관계 λŒ€μˆ˜μ˜ κ°œλ…μ„ λ°”νƒ•μœΌλ‘œ κ°œλ°œλ˜μ—ˆκ³  데이터가 ν…Œμ΄λΈ”μ— μ €μž₯되며 각 ν…Œμ΄λΈ”μ€ ν–‰(νŠœν”Œ)κ³Ό μ—΄(속성)둜 κ΅¬μ„±λœλ‹€. 관계 λŒ€μˆ˜: μ–΄λ–€ 데이터λ₯Ό μ–΄λ–»κ²Œ μ°ΎλŠ”μ§€μ— λŒ€ν•œ 처리 절차λ₯Ό λͺ…μ‹œν•˜λŠ” 절차적인 언어이닀. 1. ν‚€(Key) νŠœν”Œλ“€μ„ μ„œλ‘œ ꡬ뢄할 수 μžˆλŠ” 기쀀이 λ˜λŠ” 속성(μ• νŠΈλ¦¬λ·°νŠΈ)을 λ§ν•œλ‹€. 슈퍼 ν‚€(Super Key): μ†μ„±λ“€μ˜ μ§‘ν•©μœΌλ‘œ μœ μΌμ„±μ€ λ§Œμ‘±ν•˜μ§€λ§Œ μ΅œμ†Œμ„±μ€ λ§Œμ‘±μ‹œν‚€μ§€ λͺ»ν•œλ‹€. 후보 ν‚€(Candidate Key): νŠœν”Œμ„ μœ μΌν•˜κ²Œ μ‹λ³„ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” μ†μ„±λ“€μ˜ λΆ€λΆ„μ§‘ν•©μœΌλ‘œ λͺ¨λ“  νŠœν”Œμ— λŒ€ν•΄ μœ μΌμ„±κ³Ό μ΅œμ†Œμ„±μ„ λ§Œμ‘±μ‹œμΌœμ•Ό ν•œλ‹€. μœ μΌμ„±(Unique): ν•˜λ‚˜μ˜ ν‚€κ°’μœΌλ‘œ ν•˜λ‚˜μ˜ νŠœν”Œλ§Œμ„ μœ μΌν•˜κ²Œ 식별할 수 μžˆμ–΄μ•Ό ν•œλ‹€. μ΅œμ†Œμ„±(Minimality): νŠœν”Œλ“€μ„ μœ μΌν•˜κ²Œ μ‹λ³„ν•˜λŠ” 데..
인덱슀(Index)
Β·
πŸ“ Computer Science/✏ Database
인덱슀(Index) 데이터 λ ˆμ½”λ“œλ₯Ό λΉ λ₯΄κ²Œ μ ‘κ·Όν•˜κΈ° μœ„ν•΄ 쌍으둜 κ΅¬μ„±λ˜λŠ” 데이터 ꡬ쑰이닀. 데이터 ν…Œμ΄λΈ”μ„ Full Scan ν•˜μ§€ μ•Šκ³  인덱슀λ₯Ό μ΄μš©ν•΄ κ²€μƒ‰ν•΄μ„œ 검색 속도 ν–₯μƒν•˜κ³  λ””μŠ€ν¬ μ—°μ‚° 횟수λ₯Ό 쀄인닀. 검색 쿼리의 μ„±λŠ₯을 μ›”λ“±νžˆ ν–₯μƒμ‹œν‚€λŠ” μΈλ±μŠ€κ°€ 항상 μ’‹μ§€λ§Œμ€ μ•Šλ‹€. 인덱슀λ₯Ό μƒμ„±ν•˜κ²Œ 되면 μ‚½μž…, μ‚­μ œ, κ°±μ‹  λ“±μ˜ 좔가적인 과정이 λ°œμƒν•˜κΈ° λ•Œλ¬Έμ— 그만큼 μ„±λŠ₯ 손싀이 λ°œμƒν•œλ‹€. 인덱슀 μ—”νŠΈλ¦¬: 인덱슀 파일의 λ ˆμ½”λ“œμ΄λ‹€. 데이터 λ ˆμ½”λ“œμ˜ μˆ˜λ³΄λ‹€ μž‘κ±°λ‚˜ κ°™λ‹€. μ’…λ₯˜ λ°€μ§‘ 인덱슀: 데이터 파일 λ‚΄ λͺ¨λ“  ν‚€ 값을 인덱슀 μ—”νŠΈλ¦¬λ‘œ μ •μ˜ν•œλ‹€. Ex) ν΄λŸ¬μŠ€ν„°λ“œ 인덱슀 ν¬μ†Œ 인덱슀: 탐색 κ°’ 일뢀에 λŒ€ν•΄μ„œλ§Œ 인덱슀 μ—”νŠΈλ¦¬λ₯Ό μ •μ˜ν•œλ‹€. Ex) κΈ°λ³Έ 인덱슀, 보쑰 인덱슀 1) ν΄λŸ¬μŠ€ν„°λ“œ 인덱슀 vs λ„Œν΄λŸ¬μŠ€ν„°λ“œ ..
λ°μ΄ν„°λ² μ΄μŠ€(DataBase)
Β·
πŸ“ Computer Science/✏ Database
파일 μ‹œμŠ€ν…œκ³Ό λ°μ΄ν„°λ² μ΄μŠ€ λ°μ΄ν„°λ² μ΄μŠ€κ°€ μ‘΄μž¬ν•˜κΈ° μ΄μ „μ—λŠ” 파일 μ‹œμŠ€ν…œμ„ μ΄μš©ν•˜μ—¬ 데이터λ₯Ό κ΄€λ¦¬ν•˜μ˜€λ‹€. 1. 파일 μ‹œμŠ€ν…œ 파일 μ‹œμŠ€ν…œμ€ νŒŒμΌμ„ μ΄μš©ν•˜μ—¬ 자료λ₯Ό κ΄€λ¦¬ν•˜λŠ” λ°©λ²•μœΌλ‘œ νŒŒμΌμ€ 물리적인 λΉ„νŠΈμ˜ 연속이고 순차적인 λ ˆμ½”λ“œλ“€λ‘œ κ΅¬μ„±λœλ‹€. μ—¬κΈ°μ„œ λ ˆμ½”λ“œλž€ μ—°κ΄€λœ ν•„λ“œλ“€μ˜ λͺ¨μž„을 λ§ν•œλ‹€. 데이터에 λŒ€ν•œ ν”„λ‘œκ·Έλž¨μ˜ μ˜μ‘΄λ„κ°€ λ†’μŒ(쒅속성): ν”„λ‘œκ·Έλž¨ μ•ˆμ— λ°μ΄ν„°μ˜ μ •μ˜κ°€ μ‘΄μž¬ν•˜κΈ° λ•Œλ¬Έμ— 데이터 ꡬ쑰λ₯Ό μˆ˜μ •ν•˜λ©΄ ν”„λ‘œκ·Έλž¨μ„ μˆ˜μ •ν•΄μ•Ό ν•œλ‹€. λ°μ΄ν„°μ˜ μ€‘λ³΅μ„±μœΌλ‘œ 뢈일치 ν˜„μƒ: λ™μΌν•œ 사싀에 μ„œλ‘œ λ‹€λ₯Έ 데이터가 μ‘΄μž¬ν•΄μ„œ 정보에 λŒ€ν•œ ν˜Όλž€κ³Ό μ €μž₯ 곡간 λ‚­λΉ„κ°€ λ°œμƒν•œλ‹€. λΆ€μ‘±ν•œ κΈ°λŠ₯ 데이터 λͺ¨λΈλ§ κ°œλ…: ν”„λ‘œκ·Έλž˜λ°μ— κ·œμΉ™μ΄ μ—†λ‹€. μ§ˆμ˜μ–΄: 일일이 ν”„λ‘œκ·Έλž˜λ°ν•΄μ•Ό ν•œλ‹€. λ™μ‹œμ„± μ œμ–΄: μ—¬λŸ¬ μ‚¬μš©μžκ°€ λ™μ‹œμ— μ•‘μ„ΈμŠ€ ν•˜λ©΄ 데이터..