1 / 12

Chap1 . Introduction to File Structures

File Structures by Folk, Zoellick, and Riccardi. Chap1 . Introduction to File Structures. 서울대학교 컴퓨터공학부 객체지향시스템연구실 (SNU-OOPSLA-LAB) 김 형 주 교수. Chapter Objectives. Introduce the primary design issues characterizing file structure design

kitty
Download Presentation

Chap1 . Introduction to File Structures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. File Structures by Folk, Zoellick, and Riccardi Chap1. Introduction to File Structures 서울대학교 컴퓨터공학부 객체지향시스템연구실 (SNU-OOPSLA-LAB) 김 형 주 교수 SNU-OOPSLA Lab

  2. Chapter Objectives • Introduce the primary design issues characterizing file structure design • Survey the history of file structure design • Introduce the notions of file structure literacy and of a conceptual toolkit for file structure design • Discuss the need for specification of data structures, operations and development of object-oriented toolkit • Introduce classes and overloading in C++ SNU-OOPSLA Lab

  3. Contents 1.1 The heart of file structure design 1.2 History of file structure design 1.3 Conceptual toolkit : file structure literacy 1.4 Object-Oriented Toolkit : make file structure usable 1.5 Using objects in C++ SNU-OOPSLA Lab

  4. 1.1 The Heart of File Structure Design The Heart of File Structure Design • File structure • representation of data + operation for accessing data • Disk vs. RAM • speed : very slower than RAM • cost : enormous capacity at much less cost than RAM • nonvolatile in Disk vs. volatile in RAM • Good file structure design • access to all the capacity without spending much time waiting for disk • uniform average access time SNU-OOPSLA Lab

  5. 1.2 History of File Structure Design History of file structure design(1) • Sequential file • look at records in order • AVL tree (Balanced Binary Tree) • self-adjusting binary tree • guarantee good access time for data in RAM • B-tree • balanced tree structure • provide fast access to data in file SNU-OOPSLA Lab

  6. 1.2 History of File Structure Design History of file structure design(2) • B+-tree • variation on B-tree structure • provide both sequential access and fast-indexed access • Hashing • transform search key into storage address • provide fast access to stored data • Extendible hashing • approach to hashing that works well with files undergoing many changes in size over time SNU-OOPSLA Lab

  7. 1.2 History of File Structure Design Taxonomy of File Structures • Single-key files • Index-based (Tree Data Structure) Indexed Sequential File -> B-Tree -> B+-Tree • Hashing-based (Address Computation) Hashing File -> Extendible Hashing File • Multi-key files (multidimensional) • K-D-B tree • Grid file • R-tree • Multimedia Indexing Techniques • Audio, Image, Video SNU-OOPSLA Lab

  8. 1.3 A Conceptual Toolkit Conceptual Toolkit: File Structure Literacy • Objective of Conceptual toolkit • Fundamental file concepts • Generic file operations • Conceptual tools in this book • basic tools + evolution of basic tools • basic tools : Chapter 2 ~ 6 • evolution of basic tools : Chapter 7 ~ 12 • B-trees, B+trees, hashed indexes, and extensible dynamic hashed files SNU-OOPSLA Lab

  9. 1.4 Object-Oriented Toolkit Object-Oriented Toolkit: Making File Structures Usable • Object-Oriented Toolkit • making file structures usable requires turning conceptual toolkit into collections :(classes) of data types and operations • Major problem • complicated and progressive • often modified and extended from other classes and details of classes become more complex SNU-OOPSLA Lab

  10. 1.5. Using Objects in C++ Using objects in C++(1) • Features of object in C++ • class definition • data members(attributes) + methods • constructor • provide a guarantee for initialization of every object & called in creation time of object • public, private & protected sections • public label specifies that any users can freely access • private & protected label are restrict access SNU-OOPSLA Lab

  11. 1.5. Using Objects in C++ Using objects in C++(2) • operator overloading • allows a particular symbol to have more thanone meaning • other features • inheritance, virtual function, and templates • explained in later chapters SNU-OOPSLA Lab

  12. Let’s Review!! 1.1 The heart of file structure design 1.2 History of file structure design 1.3 Conceptual toolkit : file structure literacy 1.4 Object-Oriented Toolkit : make file structure usable 1.5 Using objects in C++ SNU-OOPSLA Lab

More Related