■ 트랜잭션은 다양한 데이터 항목을 액세스하고 갱신하는 프로그램실행의 논리적인 단위이다. 트랜잭션 개념을 이해하는 것은 동시 실행뿐만 아니라 다양한 형태의 오류로 인해 데이터베이스가 비일관성 상태에빠지지 않도록 데이터베이스의 데이터갱신을 이해하고 구현하기 위한 필수조건이다.

■ 트랜잭션들은 ACID 속성들을 가져야 한다.
 ① Atomicity : 원자성은 트랜잭션에 의한 모든 영향이 데이터베이스에 전부 반영되거나 아니면 하나도 반영되지 않도록 보장하는 것이다. 즉 오류로 인해 실패가 발생했을 때 데이터베이스에 트랜잭션이 일부만 실행된 상태로 존재하지 않도록 하는 것이다.
 ② Consistency : 일관성은 만약 데이터베이스가 처음에 일관된 상태에 있었다면 트랜잭션이 실행되고 난 후에도 계속 일관된 상태로 유지되어야 한다는 것을 보장하는 것이다.
 ③ Isolation : 고립성은 동시에 수행하는 트랜잭션들이 서로 고립된 상태, 즉 동시에 수행중인 다른 트랜잭션의 실행에 영향을 주지 않도록 한다는 것이다.
 ④ Durability : 지속성은 일단 트랜잭션이 정상적으로 완료되고 난 후에는 오류로 인해 시스템이 멈추더라도 그 트랜잭션이 수행한 갱신 내용은 지속되어야 한다는 것이다.

■ 트랜잭션의 동시 실행은 트랜잭션의 처리율과 시스템 이용률을 높이고 트랜잭션의 대기시간을 줄인다.

Posted by 정훈승
■ 디스크 엑세스 수를 줄이기 위한 한 ㅏ지 방법은 메모리에 가능한 많은 블록을 유지하는 것이다. 메모리에 모든 블록을 유지하는 것은 불가능하기 때문에 블록 저장할 수 있는 메인 메모리의 공간 할당을 관리해야 한다. 버퍼는 디스크 블록의 복사본을 저장하기 위해 이용할 수 있는 메인 메모리의 일부분이다. 버퍼 공간의 할당을 책임지는 하부시스템을 버퍼 관리자라고 부른다.

■ 파일을 디스크 블록에 대응되는 일련의 레코드들로서 논리적으로 구성할 수 있다. 데이터베이스를 파일에 대응시키는 방법은 몇 개의 파일을 사용해서 주어진 파일에 어떤 고정된 길이의 레코드들을 저장하는 것이다. 다른 방법은 레코드의 다양한 길이를 저장할 수 있도록 하기 위해서 파일을 구조화 하는 것이다. 디스크 블록 내의 가변 길이 레코드를 다루기 위해 슬롯 페이지 방법이 널리 사용된다.

■ 데이터는 디스크 저장장치와 메인 메모리 사이에 블록 단위로 전송되기 때문에 레코드를 블록에 할당할 때 관련된 레코드들을 하나의 블록에 포함시키는 것이 아주 좋다. 블록 하나의 액세스로 원하는 몇개의 레코드를 액세스할 수 있다면 디스크 액세스를 절약할 수 있다. 디스크 액세스는 보통 데이터베이스 시스템의 성능에 있어서 병목(bottleneck)현상을 발생시키기 때문에 레코드를 블록에 주의 깊게 할당함으로써 성능에 상당한 이익을 얻을 수 있다.

■ 시스템 카탈로그로도 불리는 자료 사전은 릴레이션 이름들, 속성 이름과 형들, 저장 정보, 무결성 제약 조건들, 사용자 정보 등 자료에 대한 자료인 메타데이터를 놓치지 않고 기록한다.
Posted by 정훈승
------- book cover ------- Database System Concepts
Fifth Edition
Avi Silberschatz
Henry F. Korth
S. Sudarshan

line separator

Solutions to Practice Exercises

We provide solutions to the Practice Exercises of the Fifth Edition of
Database System Concepts , by Silberschatz, Korth and Sudarshan.

line separator

Chapter Format Last Updated
1. Introduction pdf Mar 31, 2005
Part 1: Relational Databases
2. Relational Model pdf Mar 31, 2005
3. SQL pdf Mar 31, 2005
4. Advanced SQL pdf Mar 31, 2005
5. Other Relational Languages pdf Mar 31, 2005
Part 2: Database Design
6. Database Design and the E-R Model pdf Apr 2, 2005
7. Relational-Database Design pdf Apr 2, 2005
8. Application Design and Development pdf Apr 2, 2005
Part 3: Object-based Databases and XML
9. Object-based Databases pdf Apr 2, 2005
10. XML pdf Apr 2, 2005
Part 4: Data Storage and Querying
11. Storage and File Structure pdf Apr 2, 2005
12. Indexing and Hashing pdf Apr 2, 2005
13. Query Processing pdf Apr 2, 2005
14. Query Optimization pdf Apr 2, 2005
Part 5: Transaction Management
15. Transactions pdf Apr 2, 2005
16. Concurrency Control pdf Apr 2, 2005
17. Recovery System pdf Apr 2, 2005
Part 6: Data Mining and Information Retrieval
18. Data Analysis and Mining pdf Apr 2, 2005
19. Information Retrieval pdf Apr 2, 2005
Part 7: Database System Architecture
20. Database System Architectures pdf Apr 2, 2005
21. Parallel Databases pdf Apr 2, 2005
22. Distributed Databases pdf Apr 2, 2005
Part 8: Other Topics
23. Advanced Application Development pdf Apr 2, 2005
24. Advanced Data Types and New Applications pdf Apr 2, 2005
25. Advanced Transaction Processing pdf Apr 2, 2005
Posted by 정훈승

교집합을 사용한 어떤 관계 대수식도, 차집합 연산으로 바꿀 수 있다.

교집합
A ∩ B

차집합
A-(A-B) 와 같다.

Posted by 정훈승
Posted by 정훈승