Arguably, it is the storage and retrieval of information and the databases that house it that give information systems their power. Just knowing where the data are located, however, is typically insufficient for easy retrieval and processing. Data structures are specialized formats that are used to organize and store data on a computer. Data structures are designed to organize data to best suit a specific purpose so that data can be easily accessed and processed appropriately. Particularly for complex problem solving and processing operations, the choice of data structure may mean the difference between getting one's answer back in the matter of minutes or in the matter of days. Solutions need to be both efficient and cost effective in order to be practical. Each data structure has associated costs and benefits that must be considered during the selection process.
Keywords Array; Data Item; Data Structure; Database; Database Management System (DBMS); Enterprise; Entity; Information System; Information Technology; List; Processing; Query; Record; Set; Tree
Business Information Systems: Data Structures
Innovations in computer hardware in general and storage in particular seem to proliferate at an unbelievable rate. In the not too distant past, data were keypunched on computer cards or recorded on large magnetic tapes. These approaches to data storage gave way to 5.25-inch floppy disks, which in turn gave way to 3.5-inch disks. Many modern computers do not even have the option for inserting a disk as a portable memory device: Disks have been replaced by memory sticks and have become as antiquated as the punch cards before them. Memory inside the computer has changed, too. When 5.25-inch floppy disks were a high-tech solution, a 200 MB hard drive was considered an impressive amount of computing power for one's desktop computer. We now measure hard drive sizes in gigabytes and terabytes rather than in megabytes. This trend shows no sign of abating in the foreseeable future.
However, a large storage capacity is of no use if there is no way to retrieve the data that are stored on it. Particularly in twenty-first-century businesses with their increasing emphasis on information and knowledge, it is important that massive amounts of data not only be stored, but retrieved and processed quickly and accurately. Data structures are specialized formats that are used to organize and store data on a computer. Data structures are designed to organize data to best suit a specific purpose so that they can be easily accessed and processed appropriately. Common data structures include arrays and sets, records, lists, queues, stacks, and trees.
Arguably, however, it is the storage and retrieval of information and the databases that house it that give information systems their power. Computers can be used to store and retrieve data for a wide variety of situations in business ranging from personal productivity to enterprise-wide applications that are used by multiple users and maintained by information technology (IT) professionals. The data in databases are managed by software programs called database management systems. These programs are designed to increase the accessibility of data and the productivity of the user.
Importance of Organization
To understand the need for data structure within a database, it is first helpful to examine the need for organizing everyday information. Whether data and information are stored in a computer or on random slips of paper, unless data are accessible, they cannot be retrieved and used. For example, most people keep some sort of personal address book or collect business cards with contact information they may need in the future. This collection of data may include contact information for friends and family, business contacts, and various contractors and service providers used both at home and at work. In addition to common contact information (e.g., name, address, telephone number, e-mail address), the user may want to include other information such as birthdays for friends and family and ratings and references for various contractors. This information can be stored in a number of different ways ranging from random slips of paper and business cards shoved in a drawer to various types of address books that format the information.
However, just knowing where the data are located (e.g., in the kitchen drawer, in the address book) is typically insufficient for easy retrieval. For example, when the roof leaks, even if Harry Homeowner knows that the roofer's information is in the kitchen junk drawer, he still may have to go through many pieces of paper with various contractors' contact information on them before he finds the information he needs. In addition, Harry may find that the kitchen drawer has information on several roofers, so he needs to remember which one was recommended and which one was not. This task would be made much easier if the data were organized in some way, such as in an address book that had a separate section for handymen or household contractors.
This organization is analogous to the data structure of the database. In IT terms, the process of finding the data is called retrieval. To retrieve data from a database, the user needs to query the system. A query is a search question used by a database management system to specify which data are to be retrieved from the database. So, for example, if Harry had a database of contractor information, he could query the system to retrieve all the records on roofing contractors. Unless there is only a handful of cards in Harry's kitchen drawer, the data structure provided by an organized address book will allow Harry to find the name of the contractor much more quickly than by manually searching through the kitchen drawer. If the information were housed in a database, Harry could search the database using a number of different queries, including the contractor's name or specialty (e.g., roofing or roof repair).
Types of Data Structures
There are a many different data structures available for the design of programs and databases. Among these are arrays and sets, records, lists, queues, stacks, and trees.
- Arrays comprise a group of indexed objects that are all the same size and type. Arrays are seen in many places in life besides computer programming. For example, train schedules and tax tables are both examples of real-world arrays. Records are a complete set of information about an entity.
- Sets are named collections of data. The difference between arrays and sets is analogous to the difference between a deck of cards in a neat pile (array) versus the same deck of cards scattered across the floor (set).
- Records are composite data and are often a mixture of elements that are alphabetic, numeric, and logical. Because the data contained in records is heterogeneous, they cannot be stored in an array. Common examples of a record include a checkbook register or employment data in a personnel file.
Lists, stacks, and queues are examples of other ways to structure data.
As with the lists we use in everyday life — lists of chores to do, errands to run, or groceries to buy — lists as a data structure are ordered sets of data. If a program only needs to store a few things (e.g., job descriptions, payroll records), lists often offer the simplest and most effective approach. In such situations or situations where data do not require a search capability or where the information does not need to be ordered, lists may be productively and efficiently used.
Stacks and queues are restricted forms of lists. Although lists have the generality that is needed for many situations, they are complicated to use and, as a result, more costly than other structures both in terms of time and storage space required. Stacks and queues offer compromises between lists and other data structures. These data structures are more flexible than arrays but still allow relatively simple implementations.
- A stack is a data structure in which items are removed in the reverse order from which they were entered, i.e., last in, first out (LIFO). This is analogous to the stack of plates in the kitchen cupboard. Although the plate on the top of the stack was the last one placed there, it is the first one removed from the...
(The entire section is 3684 words.)