Second Project Implementation of B+Tree CSED421: Database Systems Labs
DBMS is.. A gigantic software package combining all these modules! Query Optimization and Execution Relational Operator Evaluator Files and Access Methods Buffer Management Disk Space Management DBMS
Source codes 8 cpp files main.cpp, btreetest.cpp, sortedpage.cpp, btleaf.cpp, btindex.cpp, btfilescan.cpp, btfile.cpp Only need to put more source codes for one file (btfile.cpp) You may add some source codes to the other files
Source codes class BTreeFile: public IndexFile { { public: friend class BTreeFileScan; BTreeFile(Status& status, const char *filename); ~BTreeFile(); Status DestroyFile(); Status Insert(const int key, const RecordID rid); Status Delete(const int key, const RecordID rid); IndexFileScan *OpenScan(const int *lowKey, const int *highKey); Status Print(); Status DumpStatistics(); private: // page id of root node PageID rootPid; // Statistics variables int numIndexNode, numLeafNode; // number of index nodes, leaf nodes int numIndexEntry, numLeafEntry; // number of index entries, leaf entries int minLeaf, maxLeaf; // minimum fill factor, maximum fill factor int height; // height of B+ tree int Calculate(PageID pid); };
Results insert 1 20 / delete 1 5 / scan -1 -1
Results (cont.) print / stats
Source codes Visual studio 2005 환경 Lab 2010 홈페이지에서 다운로드 질문 및 답변은 Lab 게시판을 참고 Textbook Chapter 10 참고 Insert : 349 페이지 Pseudo-code Delete : 353 페이지 Pseudo-code
Submission & Deadline 제출 소스코드 이름.zip 형식으로 제출 다른 코드 수정 시 수정한 이유와 파일 수정에 대해 서술할 것. 보고서 (10 장 이내 ) 각 구현한 함수에 대한 간략한 서술 Test 결과에 대한 설명 및 분석 제출기한 2010 년 6 월 11 일 or 18 일 금요일 PM 18:00 공학 2 동 306 호 늦게 제출시 패널티 (-20%) 있음
Q&A Enjoy getting your hands dirty!!