0% found this document useful (0 votes)
14 views45 pages

File Organisation

The document provides an overview of file organization, detailing its importance in managing records efficiently. It discusses various types of file organization methods, including sequential, direct access, indexed sequential, and hashing, along with their advantages and disadvantages. Additionally, it highlights the objectives of file organization, such as optimizing record access and minimizing storage costs.

Uploaded by

blah36230
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
14 views45 pages

File Organisation

The document provides an overview of file organization, detailing its importance in managing records efficiently. It discusses various types of file organization methods, including sequential, direct access, indexed sequential, and hashing, along with their advantages and disadvantages. Additionally, it highlights the objectives of file organization, such as optimizing record access and minimizing storage costs.

Uploaded by

blah36230
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 45
Introduction What is File? ile is @ collection of records related to each other. The file size is limited by the size of memory and storage medium. + There are two important features of file: File Activity File Volatility File activity specifies percent of actual records which proceed in a single run. addresses the properties of record changes. It helps to increase the isk designthan tape. File volati| efficiency of File Organization + File organization ensures that records are available for pracessing. It is used to determine an efficient fileorganization for each base relation. » For example, if we want to retrieve employee records in alphabetical order of name. Sorting the file by employee name is a good file organization. However, if we want to retrieve all employees whose marks are in acertain range, a file is ordered by employee name would not be a good file organization. Types of File Organization There are three types of organizing the file: . Sequential access file organization 2, Direct access file organization . Indexed sequential access file organization Sequential access file organization Storing and sorting in contiguous black within files on tape or disk is called as sequential access fileorganization. + In sequential access file organization, all records are stored in a sequential order. The records are arranged inthe ascending or descending order of a key field. Sequential fle search starts from the beginning of the file and the records can be added at the'end of the In sequential file, it is not possible to add a record in the middle of the file without rewriting the file, + Advantages of sequential file + It is simple to program and easy to design. + Sequential file is best use if storage space, * Disadvantages of sequential file + Sequential file is time consuming pracess. + Ithas high data redundancy. + Random searching is not possible. Direct access file organization Direct access file Is also known as random access or relative file organization. In direct access file, all records are stored in direct access storage device (DASD), such as hard disk, Therecords are randomly placed throughout the file. ‘The records does not need to be in sequence because they are updated directly and rewritten back in thesame location, This file organization is useful for immediate access to large amount of information. It is used it accessinglarge databases. It Is also called as hashing. Advantages of direct access file organization Direct access file helps in ontine transaction processing system (OLTP) lke ontine railway reservation system, In direct access file, sorting of the records are not required. It accesses the desired records immediately, It updates several files quickly. It has better control over record allocation. + Disadvantages of direct access file organization Direct access file does not provide back up facility. It is expensive, It has less storage space as compared to sequential file. Indexed sequential access file organization Indexed sequential access file combines both sequential file and direct access file organization, + In indexed sequential access file, records are stored randomly on a direct access device such as magne! diskby 3 primary key. + This file have multiple keys. These keys can be alphanumeric in which the records are ordered Is called primary key: + The data can be access either sequentially or randamly using the index. The index is stored in a file and readinto memory when the file is opened, + Advantages of Indexed sequential access file organization + In indexed sequential access file, sequential file and random file access is possible, + Iaccesses the records very fast if the index table is properly organized. + The records can be Inserted in the middle of the file. + Tt pravides quick access for sequential and direct processing. It reduces the degree of the sequential search, + Disadvantages of Indexed sequential access file organization + Indexed sequential access file requires unique keys and periodic reorganization. + Indexed sequential access file takes longer time to search the index for the data access or retrieval. + Tt requires more storage space, + Its expensive because it requires special software. + Tis less efficient in the use of storage space as compared to other file organizations. File Organization The File is a collection of records. Using the primary key, we can access the records. The type and frequency of accesscan be determined by the type of file organization which was used for a given set of records. File organization is a logical relationship among various records. This method defines how file records are mapped onto disk blacks. File organization is used to describe the way in which the records are stored in terms of blocks, and the blocks are placed on the storage medium. The first approach to map the database to the file is to use the several files and store only one fixed length record in any given file. An alternative approach is to structure our files so that we can contain multiple lengths for records. Files of fixed length records are easier to implement than the files of variable length records Objective of file organization . It contains an optimal selection of records, i.e., records can be selected as fast as possible. . To perform insert, delete or update transaction on the records should be quick and easy. » The duplicate records cannot be induced as a result of insert, update or delete. a For the minimal cost of storage, records should be stored efficiently Types of file organization: File Organization ] Sequential Heap FO | ISAM | (=e FO FO Cluster FO Sequential File Organization + This method is the easiest method for file organization. In this method, files are stored sequentially. This method can beimplemented in two ways 4. Pile File Method: It is a quite simple method. In this method, we store the record in a sequence, i,e,, one after anather. Here, the record will be inserted in the order in which they are inserted into tables. In case of updating or deleting of any record, the record will be searched in the memory blocks. When it is found, then itwill be marked for deleting, and the new record is inserted. | Ri] R38 f | RO | RB | - | | | Starting of the End of the File File e Acce 2 Sequential File Organization + This method is the easiest method for file organization. In this method, files are stored sequentially. This method can beimplemented in two ways 4. Pile File Method: It is a quite simple method. In this method, we store the record in a sequence, i,e,, one after anather. Here, the record will be inserted in the order in which they are inserted into tables. In case of updating or deleting of any record, the record will be searched in the memory blocks. When it is found, then itwill be marked for deleting, and the new record is inserted. Insertion of the new record: + Suppose we have four records R1, R3 and so on upto R9 and R8 in a sequence. * Hence, records are nothing but a row in the table. Suppose we want to insert a new record R2 in the sequence, then it will be placed at the end of the file. Here, records are nothing but a row in any table. [iy [fee | eee eS Starting ef the : py File New Record Insertion of the new record: + Suppose we have four records R1, R3 and so on upto R9 and R8 in a sequence. * Hence, records are nothing but a row in the table. Suppose we want to insert a new record R2 in the sequence, then it will be placed at the end of the file. Here, records are nothing but a row in any table. [iy [fee | eee eS Starting ef the : py File New Record Sorted File Method In this method, the new record is always inserted at the file's end, and then it will sort the sequence in ascending or descending order. Sorting of records is based on any primary key or any other key. In the case of modification of any record, it will update the record and then sort the file, and lastly, the updated record isplaced in the right place. Sorted File Method R1 RS | eeeeeccsces RO R8 \ | | t Starting of the End of the File File Insertion of the new record + Suppose there is a preexisting sorted sequence of four records R1, R3 and so on upto R6 and R7. Suppose a new record R2 hasto be inserted in the sequence, then it will be inserted at the end of the file, and then it will sort the sequence. RS L= [= Starting of the File Pros of sequential file organization It contains a fast and efficient method for the huge amount of data. In this method, files can be easily stored in cheaper storage mechanism like magnetic tapes. It is simple in design. It requires no much effort to store the data. This method is used when most of the records have to be accessed like grade calculation of a student, generating the salary slip, etc. This method is used for report generation or statistical calculations Cons of sequential file organization It will waste time as we cannot jump ona particular record that is required but we have to move sequentially which takes our time. Sorted file method takes more time and space for sorting the records. Hash File Organization * Hash File Organization uses the computation of hash function on some fields of the records. * The hash function's output determines the location of disk block where the records are to be placed. Hash organization Data Records DataiBlocksin memory Hash organization * When a record has to be received using the hash key columns, then the address is generated, and the whole record is retrieved using that address. + In the same way, when a new record has to be inserted, then the address is generated using the hash key and record is directly inserted, « The same process is applied in the case of delete and update. + In this method, there is no effort for searching and sorting the entire file. + In this method, each record will be stored randomly in the memory, Hash File Organization Data Records DataBlocksin memory B+ File Organization B+ tree file organization is the advanced method of an indexed sequential access method. It uses a tree-like structure to store records in File. Tt uses the same concept of key-index where the primary key is used to sort the records. For each primary key, the value of the index is generated and mapped with the record. The B+ tree is similar to a binary search tree (BST), but it can have more than two children, In this method, all the records are stored only at the leaf node. Intermediate nodes act as a pointer to the leaf nodes. They do not contain any records. B+ tree file organizations B+ Tree organization There is one root node of the tree, i.e., 25. There is an intermediary layer with nodes. They do not store the actual record. They have only pointers to the leaf node, The nodes to the left of the root node contain the prior value of the root and nodes to the right contain next value of the root, i.e., 15 and 30 respectively. There is only one leaf node which has only values, i.e., 10, 12, 17, 20, 24, 27 and 29. Searching for any record is easier as all the leaf nodes are balanced. In this method, searching any record can be traversed through the single path and accessed easily. Pros and Cons of B+ tree file organization Pros of B+ tree file organization In this method, searching becomes very easy as all the records are stored only in the leaf nades and sorted the equential linked list. Traversing through the tree structure is easier and faster. The size of the B+ tree has no restrictions, so the number of records can increase or decrease and the B+ tree structurecan also grow or shrink. isa bolanced tree structure, anid ony Ineent/updake/ delete does sot offer tie performance of tree, + Cons of B+ tree file organization This method is inefficient for the static method, Indexed sequential access method (ISAM) + ISAM method is an advanced sequential file organization. In this method, records are stored in the file using the primary key. + An index value is generated for each primary key and mapped with the record. This index contains the address of the record inthe file. we | Bnare > If any record has to be retrieved based on its index value, then the address of the data block is fetched and the record isretrieved from the memory Pros and Cons of ISAM + Pros of ISAM: In this method, each record has the address of its data block, searching a record in a huge database is auick and easy, This method supports range retrieval and partial retrieval of records. Since the index is based on the primary key values,we can retrieve the data far the given range of value. tn the same way, the partial value ean also be easily searched, |.c,, the student name starting with "JA" can be easily searched. = Cons of ISAM This method requires extra space in the disk to store the index value. When the new records are inserted, then these files have to be reconstructed to maintain the sequence. When the record Is deleted, then the space used by it needs to be released. Otherwise, the performance of the databasewill slow down. Hashing + In @ huge database structure, it is very inefficient to search all the index values and reach the desired data. + Hashing technique is used ta calculate the direct location of a data record on the disk without using index structure + In this technique, data Is stored at the data blocks whose address is generated by using the hashing function, + The memary location where these records are stored Is known as data bucket or data blocks. + In this, a hash function can choose any of the column value to generate the address. Most of the time, the hash function uses the primary key to generate the address of the data block. + A hash function is a simple mathematical function to any complex mathematical function. We can even consider the primary key itself as the address of the data block. + That means each row whose address will be the same as a primary key stored in the data block. Hashing Hashing + The above diagram shows data block addresses same as primary key value. * This hash function can also be a simple mathematical function like exponential, mod, cos, sin, etc. * Suppose we have mod (5) hash function to determine the address of the data block. « In this case, it applies mod (5) hash function on the primary keys and generates 3, 3, 1, 4 and 2 respectively, and records are stored in those data block addresses. Data Buckets in Memory ——< Data Buckets actual Data in Memory. Address. A hash function must be... * Must return a valid location * Hash function must be easy t implement * Should be 1 to 1 mapping (avoid collision) * Acollision occurs when two distinct keys hash to the same location in the array. Hashing Techniques A good hash function must be easy to compute and generate a low number of collisions. The process of finding another position (for colliding data) is called collision resolution. There are several methods for collision resolution, including open addressing, chaining, and multiple hashing. Hashing Techniques * Open addressing: Proceeding from the occupied position specified by the hash function, check the subsequent positions in order until an unused position is found. * Chaining: Associate an overflow area (or a linked list) to any cell (hashing address) and then simply store the data in this medium. * Multiple hashing: Apply a second hash function if the first results in a collision. If another collision results, use open addressing, or apply a third hash function, and then use open addressing. Hashing Techniques Hashing for disk files is called external hashing. The target address space in external hashing is made of buckets (which holds a disk block or a cluster of contiguous blocks). The collision problem is less severe, because as many records as will fit in a bucket can hash to the same bucket without causing collision problem. A table maintained in the file header converts the bucket number into the corresponding disk block address. Static Hashing * In this method of hashing, the resultant data bucket address will be always same. * That means, if we want to generate address for EMP_ID = 103 using mod (5) hash function, it always result in the same bucket address 3. There will not be any changes to the bucket address here. * Hence number of data buckets in the memory for this static hashing remains constant throughout. In our example, we will have five data buckets in the memory used to store the data 7 306 | somes | now fy 2 | x02 | martin | oantury > [ss | sam | dante e+ | x08 | tau | tov * Suppose we have to insert some records into the file. + But the data bucket address generated by the hash function is full or the data already exists in that address. * How do we insert the data? This situation in the static hashing is called bucket overflow. * This is one of the critical situations/ drawback in this method. * Where will we save the data in this case? We cannot lose the data. There are various methods to overcome this situation. Dynamic Hashing * This hashing method is used to overcome the problems of static hashing — bucket overflow. In this method of hashing, data buckets grows or shrinks as the records increases or decreases. This method of hashing is also known as extendable hashing method. Let us see an example to understand this method. + Consider there are three records Ri, R2 and R4 are in the table. These records generate addresses 100100, 010110 and 110110 respectively. This method of storing considers only part of this address — especially only first one bit to store the data. So it tries to load three of them at address 0 and 1. Hashing Techniques Matching bucket numbers to disk block addresses. Hashing Techniques Handling overflow for buckets by chaining. eae = a0 a emer I [poker Ab i - bucks 7 exert pater = hed as co = [aaapamaer s Ge =, 2 record pointer me me CT record parton | Laeiporer é ‘gestae a mente Hashing Techniques * The hashing scheme is called static hashing if a fixed number of buckets is allocated. + A major drawback of static hashing is that the number of buckets must be chosen large enough that can handle large files. That is, it is difficult to expand or shrink the file dynamically. * Two solutions to the above problem are: + Extendible hashing, and * Linear hashing Parallelizing Disk Access Using RAID Technology * Amajor advance in disk technology is represented by the development of Redundant Arrays of Inexpensive/Independent Disks (RAID). + Improving Performance with RAID: a concept called data striping is used. It distributes data transparently over multiple disks to make them appear as a single disk. + Improving Reliability with RAID: A concept called mirroring or shadowing is used. Data is written redundantly to two identical physical disks that are treated as one logical disk.

You might also like