The Advantages of Database Management 
The serialization process, introduced in Chapter 17 and Chapter 18, ties a 
document object to a disk file. All the document's data must be read into memory 
when the document is opened, and all the data must be written back to disk when 
an updated document is closed. Obviously, you can't serialize a document 
that's bigger than the available virtual memory. Even if the document is small 
enough to fit in memory, you might not need to read and write all the data every 
time the program runs.
You could program your own random access disk file, thus inventing 
your own DBMS, but you probably have enough work to do already. Besides, 
using a real DBMS gives you many advantages, including the following:
- Use of standard file formatsMany people think of dBASE/Xbase DBF files when they think of database formats. This is 
only one database file format, but it's a popular one. A lot of data is 
distributed in DBF files, and many programs can read and write in 
this format. Lately, the Microsoft Access MDB format has 
become popular, too. With the MDB format, all of a database's tables 
and indexes can be contained in a single disk file.
 - Indexed file accessIf you need quick access to records by key 
(a customer name, for example), you need indexed file access. 
You could always write your own B-tree file access routines, but that's 
a tedious job that's been done already. All DBMS's contain 
efficient indexed access routines.
 - Data integrity safeguardsMany professional DBMS 
products have procedures for protecting their data. One example is 
transaction processing. A transaction encompasses a series of 
related changes. If the entire transaction can't be processed, it is rolled 
back so that the database reverts to its original state before the 
transaction.
 - Multiuser access controlIf your application doesn't need multiuser access now, it might in the future. Most DBMS's 
provide record locking to prevent interference among simultaneous 
users. Some multiuser DBMS's use the client-server model, which 
means that most processing is handled on a single database server 
computer; the workstations handle the user interface. 
Other multiuser DBMSs handle database processing on the 
workstations, and they control each workstation's access to shared files.