Download presentation
Presentation is loading. Please wait.
Published byTheodore Watts Modified over 9 years ago
1
File StructuresFile StructureSNU-OOPSLA Lab1 Chap1. Introduction to File Structures 서울대학교 컴퓨터공학부 객체지향시스템연구실 (SNU-OOPSLA-LAB) 김 형 주 교수 File Structures by Folk, Zoellick, and Riccardi
2
File StructuresFile StructureSNU-OOPSLA Lab2 Chapter Objectives u Introduce the primary design issues characterizing file structure design u Survey the history of file structure design u Introduce the notions of file structure literacy and of a conceptual toolkit for file structure design u Discuss the need for specification of data structures, operations and development of object- oriented toolkit u Introduce classes and overloading in C++
3
File StructuresFile StructureSNU-OOPSLA Lab3 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++
4
File StructuresFile StructureSNU-OOPSLA Lab4 The Heart of File Structure Design u File structure u representation of data + operation for accessing data u Disk vs. RAM u speed : very slower than RAM u cost : enormous capacity at much less cost than RAM u nonvolatile in Disk vs. volatile in RAM u Good file structure design u access to all the capacity without spending much time waiting for disk u uniform average access time 1.1 The Heart of File Structure Design
5
File StructuresFile StructureSNU-OOPSLA Lab5 History of file structure design(1) History of file structure design(1) u Sequential file u look at records in order u AVL tree (Balanced Binary Tree) u self-adjusting binary tree u guarantee good access time for data in RAM u B-tree u balanced tree structure u provide fast access to data in file 1.2 History of File Structure Design
6
File StructuresFile StructureSNU-OOPSLA Lab6 History of file structure design(2) History of file structure design(2) u B + -tree u variation on B-tree structure u provide both sequential access and fast-indexed access u Hashing u transform search key into storage address u provide fast access to stored data u Extendible hashing u approach to hashing that works well with files undergoing many changes in size over time 1.2 History of File Structure Design
7
File StructuresFile StructureSNU-OOPSLA Lab7 Taxonomy of File Structures u Single-key files u Index-based (Tree Data Structure) Indexed Sequential File -> B-Tree -> B + -Tree u Hashing-based (Address Computation) Hashing File -> Extendible Hashing File u Multi-key files (multidimensional) u K-D-B tree u Grid file u R-tree u Multimedia Indexing Techniques u Audio, Image, Video 1.2 History of File Structure Design
8
File StructuresFile StructureSNU-OOPSLA Lab8 Conceptual Toolkit : File Structure Literacy Conceptual Toolkit : File Structure Literacy u Objective of Conceptual toolkit u Fundamental file concepts u Generic file operations u Conceptual tools in this book u basic tools + evolution of basic tools u basic tools : Chapter 2 ~ 6 u evolution of basic tools : Chapter 7 ~ 12 à B-trees, B+trees, hashed indexes, and extensible dynamic hashed files 1.3 A Conceptual Toolkit
9
File StructuresFile StructureSNU-OOPSLA Lab9 Object-Oriented Toolkit : Making File Structures Usable u Object-Oriented Toolkit u making file structures usable requires turning conceptual toolkit into collections :(classes) of data types and operations u Major problem u complicated and progressive u often modified and extended from other classes and details of classes become more complex 1.4 Object-Oriented Toolkit
10
File StructuresFile StructureSNU-OOPSLA Lab10 Using objects in C++(1) u Features of object in C++ u class definition u data members(attributes) + methods u constructor u provide a guarantee for initialization of every object & called in creation time of object u public, private & protected sections u public label specifies that any users can freely access u private & protected label are restrict access 1.5. Using Objects in C++
11
File StructuresFile StructureSNU-OOPSLA Lab11 Using objects in C++(2) u operator overloading u allows a particular symbol to have more than one meaning u other features u inheritance, virtual function, and templates u explained in later chapters 1.5. Using Objects in C++
12
File StructuresFile StructureSNU-OOPSLA Lab12 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++
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.