0% found this document useful (0 votes)
1 views17 pages

Lecture 1 File Organization _060238

The course IS 211: File Organization aims to introduce file structure design and advanced data structure concepts to enhance file operation efficiency, while developing programming skills in C++ or Java. It covers topics such as file management, secondary storage, indexing, and hashing, emphasizing the importance of efficient data organization in secondary storage. Prerequisites include an introduction to computer science and knowledge of C++.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views17 pages

Lecture 1 File Organization _060238

The course IS 211: File Organization aims to introduce file structure design and advanced data structure concepts to enhance file operation efficiency, while developing programming skills in C++ or Java. It covers topics such as file management, secondary storage, indexing, and hashing, emphasizing the importance of efficient data organization in secondary storage. Prerequisites include an introduction to computer science and knowledge of C++.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

IS 211 : File Organization

Dr: Esraa Rslan


Email: [email protected]

1
Objectives of the Course

• To Provide a Solid Introduction to the Topic of File


Structures Design.

• To Discuss a number of Advanced Data Structure


Concepts that are necessary for achieving high efficiency
in File Operations.

• To Develop important programming skills in and Object-


Oriented Language such as C++ or Java.
2
Pre-Requisites

• Introduction to Computer Science.


• Knowledge of C++

3
Course Outline
1. Introduction To File Management.
2. Fundamental File Processing Operations .
3. Secondary Storage, Physical Storage Devices: Disks, Tapes And
CD-ROM.
4. Fundamental File Structure .
5. Managing Files Of Records.
6. Organizing File for Performance (File Compression- Reclaiming
Space In Files- Internal Sorting- Binary Searching- Keysorting).
7. Indexing.
8. Consequential Processing And Eternal Sorting.
9. Multilevel Indexing and B Trees.
10. Indexed Sequential Files and B+trees.
11. Hashing and Extendible Hashing.
4
Purpose of the course

 Objective of Data Structures was to teach ways of efficiently


organizing and manipulating data in main memory.
 In this course, you will learn equivalent techniques for organization
and manipulation of data in secondary storage.
 In the first part of the course, you will learn about "low level" aspects
of file manipulation (basic file operations, secondary storage devices).
 In the second part of the course, you will learn the most important
high-level file structure tools (indexing, co-sequential processing,
Hashing, etc…).
 You will apply these concepts in the design of C ++ programs for
solving various file management problems.
5
Lecture 1

Introduction to File Management

6
Outline

•What are File Structures?


•Why Study File Structure Design
•Overview of File Structure Design

7
Definition

• A File Structure is a combination of representations for data in files and of


operations for accessing the data.
• A File Structure allows applications to read, write and modify data. It might
also support finding the data that matches some search criteria or reading
through the data in some particular order.

8
Definition
Data structure VS File Structure
Both involve:
Representation of Data
+
Operations for accessing data

►Difference:
– Data Structures deal with data in main memory
– File Structures deal with data in secondary storage device (File).
Definition
Computer Architecture
Why Study File Structure Design?
I. Data Storage
• Computer Data can be stored in three kinds of locations:
•Primary Storage ==> Memory [Computer
Memory]

Our
•Secondary Storage [Online Disk/ Tape/ CDRom that can be
accessed by the computer]
Focus
•Tertiary Storage ==> Archival Data [Offline
Disk/Tape/ CDRom not directly available to the computer.]

11
Why Study File Structure Design?
II. Memory versus Secondary Storage

• Secondary storage such as disks can pack thousands of megabytes in a small


physical location.
• Computer Memory (RAM) is limited.
• However, relative to Memory, access to secondary storage is extremely slow
[E.g., getting information from slow RAM takes 120. 10-9
seconds (= 120 nanoseconds) while getting information from
Disk takes 30. 10-3 seconds (= 30 milliseconds)]

12
Why Study File Structure Design?
III. How Can Secondary Storage Access Time be
Improved?
By improving the File Structure.
Since the details of the representation of the data and the
implementation of the operations determine the efficiency of the file
structure for particular applications, improving these details can help
improve secondary storage access time.

13
Overview of File Structure Design
I. General Goals

• Get the information we need with one access to the disk.


• If that’s not possible, then get the information with as few accesses as
possible.
• Group information so that we are likely to get everything we need with
only one trip to the disk.

14
Overview of File Structure Design
II. Fixed versus Dynamic Files
• It is relatively easy to come up with file structure designs that meet
the general goals when the files never change.
• When files grow or shrink when information is added and deleted, it
is much more difficult.

15
History of File Structures
I. Early Work

• Early Work assumed that files were on tape.


• Access was sequential and the cost of access grew in direct
proportion to the size of the file.

16
History of File Structures
II. The emergence of Disks and Indexes
• As files grew very large, unaided sequential access was not a good
solution.
• Disks allowed for direct access.
• Indexes made it possible to keep a list of keys and pointers in a small
file that could be searched very quickly.
• With the key and pointer, the user had direct access to the large,
primary file.

17

You might also like