Presentation is loading. Please wait.

Presentation is loading. Please wait.

File StructuresFile StructureSNU-OOPSLA Lab1 Chap1. Introduction to File Structures File Structures by Folk, Zoellick, and Riccardi.

Similar presentations


Presentation on theme: "File StructuresFile StructureSNU-OOPSLA Lab1 Chap1. Introduction to File Structures File Structures by Folk, Zoellick, and Riccardi."— Presentation transcript:

1 File StructuresFile StructureSNU-OOPSLA Lab1 Chap1. Introduction to File Structures File Structures by Folk, Zoellick, and Riccardi

2 The Files u A computer file is a resource for storing information, which is available to a computer program and is usually based on some kind of secondary storage.computer programstorage u A file is a collection of related information defined by its creator. Commonly, files represent programs (both source and object forms) and data. File StructuresFile StructureSNU-OOPSLA Lab2

3 File StructuresFile StructureSNU-OOPSLA Lab3 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++

4 File StructuresFile StructureSNU-OOPSLA Lab4 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++

5 File StructuresFile StructureSNU-OOPSLA Lab5 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( The access time or response time of a rotating drive is a measure of the time it takes before the drive can actually transfer data). 1.1 The Heart of File Structure Design

6 File StructuresFile StructureSNU-OOPSLA Lab6 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

7 File StructuresFile StructureSNU-OOPSLA Lab7 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(An indexed file is a computer file with an index that allows easy random access to any record given its file key). 1.2 History of File Structure Design

8 History of file structure design(3) u Hashing u transform search key into storage address(A hash function is any algorithm that maps data of arbitrary length to data of a fixed length. The values returned by a hash function are called hash values) u provide fast access to stored data(because we don’t have any search, we only calculate the address) u Extendible hashing u approach to hashing that works well with files undergoing many changes in size over time u Extendible hashing is a type of hash system which treats a hash as a bit string, and uses a tire for bucket lookup SNU-OOPSLA Lab8

9 File StructuresFile StructureSNU-OOPSLA Lab9 Taxonomy of File Structures u Single-key files(files access using single value). 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: In computer science, a k-d tree (short for k- dimensional tree ) is a space-partitioning data structure for organizing points in a k-dimensional space. k-d trees are a useful data structure for several applications, such as searches involving a multidimensional search key 1.2 History of File Structure Design

10 Taxonomy of File Structures u Grid file: It provides a grid of n-dimensions where n represents how many keys can be used to reference a single point. u R-tree: tree data structures used for spatial access methods, i.e., for indexing multi- dimensional information such as geographical coordinates. u Multimedia Indexing Techniques u Audio, Image, Video u Multimedia (MM) data indexing refers to the problem of preprocessing a database of MM objects so that they can be efficiently searched for on the basis of their content File StructuresFile StructureSNU-OOPSLA Lab10

11 File StructuresFile StructureSNU-OOPSLA Lab11 Conceptual Toolkit : File Structure Literacy Conceptual Toolkit : File Structure Literacy u The toolkit for file structure system refer to what the specific programming language contains to use the files structures. 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

12 File StructuresFile StructureSNU-OOPSLA Lab12 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

13 File StructuresFile StructureSNU-OOPSLA Lab13 Using objects in C++(1) u Features of object in C++ u class definition u data members(attributes) + methods(Functions) 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++

14 File StructuresFile StructureSNU-OOPSLA Lab14 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++

15 File StructuresFile StructureSNU-OOPSLA Lab15 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 File Structures by Folk, Zoellick, and Riccardi."

Similar presentations


Ads by Google