3학년 2학기 때 배운 데이터베이스 필기 자료입니다. 데이터베이스를 배우기 위해 여러 DBMS 중 Oracle 9i를 이용하여 공부하였습니다.
각 파일에 대한 설명은 다음과 같습니다.
- Database 그리고 DBMS를 쓰는 이유 및 전체적인 소개입니다.
- Relational Model, Integrity Constraints, Primary Key, Candidate Key, Foreign Key, View에 대한 설명이 있습니다.
- Relationial Algebra, Set, Bag, Basic operator로 Selection, Projection, Cross-product, Set-difference, Union, Join, Division 그리고 여기에 대한 예제가 있습니다.
- Entity-Relationship Model, Relational Data Model, Normal Form, Functional Dependency, Boyce-Codd Normal Form(BCNF), Third Normal Form(3NF)에 대한 설명이 있습니다. 이론 위주입니다.
- 기본적인 여러 SQL에 대한 설명과 예제가 있습니다. Null Value, Integrity Constraint, Trigger에 대한 설명도 있습니다.
- 중간고사 대비 문서이지만, 스캔 실수로 제대로 나오지 않아 첨부하지 않습니다.
- Disk에 Data를 어떻게 넣을 것인지에 대한 대체적인 얘기입니다. RAID, Disk Space Management, Buffer Management, LRU, Clock, Oracle에서의 File 관리 등에 대한 설명이 있습니다.
- Index에 대한 설명 및 이를 구현하는 방법인 ISAM, B+ Tree에 대한 설명이 있습니다.
- Query Evaluation에 대한 설명으로 Selection, Projection, Join시 평가 방법 및 선택 기준에 대한 설명이 있습니다.
- External Sorting에 대한 설명이 있습니다. 최적화 기술로 Replacement Sort, Blocked I/O, Double Buffering에 대한 설명도 있습니다.
- Transaction Management에 대한 설명으로 ACID(Atomicity, Consistency, Isolation, Durability), Serializability, WR Conflict, RW Conflict, WW Conflict, 이런 것을 해결하기 위한 방법으로 Lock, Isolation level, Oracle에서 쓰이는 multiversion에 대한 설명이 있습니다.
- Crash Recovery로 Undo와 Redo에 대한 얘기 및 이를 해결하기 위해 Log를 사용하는 것에 대한 설명이 있습니다. Steal, No Steal, No Force, Force에 대한 얘기와 Log, WAL(Write-Ahead Log), Log-Force-at Commit, Checkpoint, ARIES에 대한 설명이 있습니다. Skip한 부분이 있어 제가 필기를 하지 않은 곳이 있습니다. 이 곳은 일부러 뺐습니다.
- Oracle에서 각 query를 분석하여 얼마의 cost를 측정하는지에 대한 프린트물이 있었으나 역시 스캔이 제대로 되지 않아 생략하였습니다.
- 기말고사 대비용 문서이지만 역시 같은 이유로 생략하였습니다.
파일들
정말 좋은자료 감사합니다 !
지방에서 고생하실 노슈님 화이팅 ! ㅋ
반갑습니다.
전 서울에 살아본 적이 없기에 지방이 더욱 편하죠.
하지만 지방을 태워야 하는 사명감에 잡혀 있어 힘듭니다.OTL