no image
11. Recovery
1. Main goal of recovery Failure가 발생하기 가장 최근의 DB를 저장 정보는 log에 저장되어 있음 백업된 DB의 copy를 다른 시스템에 저장함 2. Deferred vs Immediate update Deferred(지연갱신) Immediate(즉시갱신) 지연 갱신은 물리적 반영이 바로 되지 않음 UNDO 필요 없음 REDO 필요함 물리적으로 바로 반영됨 UNDO만 필요 (steal/force) UNDO, REDO 필요 (steal/no-force) *steal(즉시), force(전체), no-force(일부) 3. UNDO and REDO operations Undo와 Redo는 equivalent하게 진행한다. 4. Caching Disk block의 buffer로 사용..
2023.05.02
no image
10. Concurrency Control
1. Concurrency Control Techniques Serializability를 보장하기 위한 규칙이다. Two-phase locking(2PL) Locked (1) / Unlocked (2) Data를 접근했는데 Unlock 상태이면, Lock을 걸고 데이터를 사용한다. 만일 Lock 상태라면, data가 unlock이 될 때까지 기다리는 방식이다. Data의 Lock은 operation을 종료하면서 풀어준다. Lock을 관리하는 subsystem을 필요로하며, DB에 binary lock은 너무 제한적이다. --> Shared/Exclusive read/write lock을 사용한다. read_lock(X), write_lock(X) (exclusive), unlock(X) Lock con..
2023.05.02
no image
9. Introduction to Transaction
Transaction : Local unit of DB processing Transaction processing systems : systems with large DB and hundreds of concurrent users 1. Introduction to Transaction Processing Single-user DBMS Multi-user DBMS 유저 한명만 사용가능 ex) home computer 여러 사람들이 사용가능 Transaction을 통해 충돌 해결 및 동시 처리 기능 제공 Interleaved processing Parallel processing Singularization & Serializable Equivalent 결과를 가짐 실제로 동시에 처리 Transaction..
2023.05.02
no image
8. Basics of Functional Dependencies and Normalization for Relational Databases
Functional Dependencies를 이용하여 DB를 정규화하는 방법을 배운다. 정규화의 목적은 NULL과 중복되는 값을 줄이는 데에 있다. 1. 좋은 DB를 설계하는 가이드라인 GUIDELINE 1 Relation에서 Tuple은 하나의 entity이거나 relationship instance여야 한다. 다른 entity의 attribute가 섞이면 안된다. GUIDELINE 2 중복되는 정보가 있으면 저장공간의 낭비와 함께 INSERT, DELETE, UPDATE anomalies가 발생한다. INSERT - 부서를 추가하려면 사원이 필요한 데, 사원이 없는 경우 DELETE - 부서를 지웠더니 부서 안의 모든 사원 정보가 지워지는 경우 UPDATE - 하나만 업데이트했는데, 모든 정보 업데이..
2023.05.02
no image
7. More SQL : Complex Queries, Triggers, Views, and Schema Modification
More Complex SQL Retrieval Queries Nested Queries Joined Table and other join Aggregate function Grouping Comparisons Involving NULL Null의 의미는 Unknown, 알수없는 Unavailable, 유효하지 않은 Not applicable, 사용할 수 없는 주의할 점은 NULL==NULL의 비교는 금지되어 있다. 대신, NULL을 확인하기 위해서 IS or IS NOT NULL을 사용한다. SQL에서 bool은 True False Unknown Unknown and True = Unknown Unknown and False = False Unknown and Unknown = Unknown Unkno..
2023.05.02
no image
6. Indexing Structures for Files and Physical Database Design
Index는 보통 자주 접근하는 파일들의 데이터 접근 속도를 높이기 위해 사용한다. 대부분의 index는 ordered files에 대해 구현되어 있다. 주로 Tree 구조를 사용한다. Types of Index Primary Index Clustering Index Secondary Index Ordering field에 대한 index Key 값의 중복이 없다. Ordering field에 대한 index Key 값의 중복이 가능하다. Non-ordering field에 대한 index 자주 검색되는 attribute를 index로 사용 Primary Index Primary Key, K(i) + Pointer to disk block, P(i) Primary Key는 주로 PK를 사용하지만, 다른 ..
2023.05.02
no image
5. Basic SQL
SQL은 선언적인 언어로 매우 쉽다. 외국에서는 "SEQUEL"이라고 한다. 앞에서 배웠던 tabe, row, column으로 이루어져 있다. SQL schema CREATE SCHEMA COMPANY(이름) AUTHORIZATION 'Ushin'; Schema name과 각 element에 대한 권한, 설명을 함께 표기한다. Catalog Schema는 여러개일 수 있다. Schema들의 이름을 모아둔 것을 catalog라고 한다. CREATE TABLE CREATE TABLE COMPANY.EMPLOYEE or CREATE TABLE EMPLOYEE Table도 만들 수 있다. 이런 table들을 필요에 맞게 view의 형태로 보여줄 수 있다. 실제로 table을 만들어서 물리적으로 저장하는 것이 아..
2023.05.02
no image
4. The Relational Data Model & Relational Database Constraints
Informal Definitions Relation은 table처럼 보인다. 각 row 줄을 tuple이라고 한다. Entity와 같은 개념이라고 보면 된다. Tuple이 가지는 attributes 중 유니크하게 구별해주는 attribute를 key라고 한다. 위의 예시에서는 SSN이 Key가 된다. Formal Definitions - Schema R(A1, A2, ..., An) Relation은 위와 같이 표현한다. R은 relation의 이름이고, An은 attribute의 이름이다. 각 attribute가 가질 수 있는 value의 범위를 domain이라고 한다. Formal Definitions - Tuple Tuple은 value의 ordered set으로 보통 표시한다. 3-tuples라..
2023.05.02
no image
3.Data Modeling Using the Entity-Relationship(ER) Model
Overview of DB Design Process 요구사항을 잘 파악해서 디자인하는 것이 중요하다. ER Model Concepts Entity Attribute Relationships 객체 속성, Entity type이라고도 한다. Entity간의 관계 Entity type Attribute type Relationship type 객체에 해당하는 attribute를 규격화한 정보이다. Attribute의 속성을 규격화한 것이다. Entity-entity에 대한 정보를 말한다 Entity는 "Employee", "Project" 등이고 Attribute는 "Project"의 title, member, due-date 등이다. Types of Attributes Simple Composite Mul..
2023.05.02