Download presentation
Presentation is loading. Please wait.
Published byLilian Parsons Modified over 9 years ago
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++
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.