90 likes | 222 Views
Second Project Implementation of B+Tree. CSED421: Database Systems Labs. DBMS is. A gigantic software package combining all these modules!. DBMS. Source codes. 8 cpp files main.cpp, btreetest.cpp, sortedpage.cpp, btleaf.cpp, btindex.cpp, btfilescan.cpp, btfile.cpp
E N D
Second ProjectImplementation of B+Tree CSED421: Database Systems Labs
DBMS is.. • A gigantic software package combining all these modules! 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(constint key, const RecordID rid); Status Delete(constint key, const RecordID rid); IndexFileScan *OpenScan(constint *lowKey, constint *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 홈페이지에서 다운로드 • http://ids.postech.ac.kr/dblab2010 • 질문 및 답변은 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!!