This was not always so.
Soon after computers entered the second generation of the modern era (i.e., the late 1950s), the availability
of high-level programming languages and large storage capacities (usually magnetic tape) led to larger and
larger collections of data. The data were stored in files??”collections of data records??”and it soon became clear
that this approach presented a number of difficulties.
First, larger files took longer to search. Recall from our discussion of algorithms that a sequential search
operates in O(n) time. Therefore, the larger the file, the more time a search for any particular item requires. That
may not be a problem when you??™re keeping track of the birthdays of your friends, but if you??™re keeping
a record of every MasterCard purchase transaction for millions of customers, the slow retrieval of information
by serial search becomes prohibitive.
Other problems appeared as well. For instance, if you store the billing address of the customer in each
record of each sale, you waste a lot of space storing data redundantly. Suppose that a customer changes their
address; you have to rewrite all the transactions on record, using the new address. You might decide to solve
this problem by putting the billing addresses in a separate file.
Pages:
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386