Presentation is loading. Please wait.

Presentation is loading. Please wait.

File StructuresFile StructureSNU-OOPSLA Lab1 Chap1. Introduction to File Structures 서울대학교 컴퓨터공학부 객체지향시스템연구실 (SNU-OOPSLA-LAB) 김 형 주 교수 File Structures by.

Similar presentations


Presentation on theme: "File StructuresFile StructureSNU-OOPSLA Lab1 Chap1. Introduction to File Structures 서울대학교 컴퓨터공학부 객체지향시스템연구실 (SNU-OOPSLA-LAB) 김 형 주 교수 File Structures by."— Presentation transcript:

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++


Download ppt "File StructuresFile StructureSNU-OOPSLA Lab1 Chap1. Introduction to File Structures 서울대학교 컴퓨터공학부 객체지향시스템연구실 (SNU-OOPSLA-LAB) 김 형 주 교수 File Structures by."

Similar presentations


Ads by Google