A database
is a collection of persistent data. This
implies that the stored data can stand on its own and has some permanence.
 |
Databases may include collections of information about people (names,
addresses, etc.) or things (quantities, status, locations, etc.).
|
 |
The idea of permanence is that the data is maintained and even
accumulated over a period of time. |
Before we continue talking about what databases are,
lets discuss what data is.
 |
Data
is the knowledge that we have on virtually everything in our world.
|
 |
Data
is typically descriptive, that is, it tells how much, what it is, or
where. |
 |
Data includes names, ages, dates, times, dimensions, quantities, and
virtually anything that describes anything. In database lingo, we call these descriptions
fields. A field
describes some basic piece of information that we deem worthy of tracking.
|
Building Blocks of Databases
Building on the concept of the field, if we group a set of
fields together, we have a record.
A
record
is a grouping of facts that have some relationship. For example: name, address, city, state, zip code, and phone
number are examples of fields that describe characteristics of a person and make
up a record.
Therefore, a database
is a collection of records that describe a group of things that share these
characteristics.
Summarizing these examples:
|
Database: CLIENTS
|
Purpose:
Track law firm clients. |
|
Records: 250 total |
Contains:
A list of all clients who have hired the firm. |
|
Fields: name, address,
city, state, zip code, phone number, attorney |
Describes:
identifies
each client, how to contact, and which attorney is handling the case.
|
Databases have three basic purposes:
-
To capture and manage potentially large sets of information.
-
To
add, delete, and update the data in the database.
-
To provide various ways to view the data in the database.
Databases can contain thousands and even millions of records.
They may be used to capture data on many transactions per second over
hours, days, and even years.
A key feature of databases is that data can be appended to
the database, removed as needed, and modified as desired.
Data is often fluid in the sense that it changes over time and many
databases have powerful tools for maintaining the data.
Finally, what good is data if it cannot be retrieved and
displayed? Database software
programs enable users to extract or query for one or more fields, single
records, sets of records, and even summarize data for collections of records.
The result of a database query can be output to the screen, to a printer
or exported to other applications.
From a business perspective, there are many ways to look at
how databases are used:
 |
Inventory management: keeping track of goods, disposition,
location, and transactions. |
 |
Data warehousing: organizing and managing valuable corporate
information. |
 |
Sales: what was sold, who bought it, and for how much. |
 |
Personnel management: who is doing what and when are they doing
it. |
 |
Time management: keeping track of the days, months, and years. |

Data Processing and Database Management Systems
A database management system (DBMS) is a software package
that allows users to interact with data in a database.
The DBMS is responsible for defining the structure of databases
(i.e, file formatting), and how the data is accessed and processed.
Data processing is the actual effort of using a DBMS to accomplish work.
There are a number reasons for database processing
including:
 |
Lowering costs by centrally organizing information, it is now
available to many users to make sound business decisions. |
 |
Enables new ways to look at data database processing allows
you to access and retrieve data in ways that are useful to decision-making
processes. |
 |
Sharing of data- the most obvious benefit of allowing many to
access data in central repository. |
 |
Eliminating redundancy a well-designed database can
efficiently store information in a single place for maintenance and updating. |
 |
Consistency databases provide a centralized repository that is
constant to the needs of the organization. |
 |
Creating data integrity centralized databases enable
organizations to assure that data is reliable and accurate. |
 |
Data Security information is a valuable commodity to many
organizations; databases enable you to know where it is at all times. |
 |
Increase productivity databases enable organizations to share
information efficiently increasing performance and reducing costs. |
On the downside, there are some things to remember (not
really disadvantages, but worth considering) about databases:
 |
Storage and processing needs increase larger databases and
more powerful DBMS packages require significantly larger memory requirements for
processing and storage. |
 |
Greater complexity can be a problem for the simpler problems. |
 |
Potential for a single point-of-failure centralized databases
require substantially more care and maintenance (e.g., backups) to ensure that
they are always available. |
 |
Recovery problems complex databases can be more difficult to
restore if DBMS applications are lost or if database files are fragmented. |

Database
Applications and Systems
Database applications are software programs that support
complex and potentially large sets of information. A database system includes the software program and related
elements such as the operating system and hardware.
The following illustrates the relationship of how these
elements work together:

Database software may be deployed on:
 |
Desktop platforms (e.g., Microsoft Access and FoxPro) that share
resources with other desktop applications (e.g., word processor, e-mail). |
 |
Network servers where it shares resources such as disk space and
communications with client processes. |
 |
Database servers that are dedicated to the purpose of storing and
processing database content. |
Also mainframe hardware has traditionally been used to
deploy very large scale databases for remote access by numerous users.
There are numerous database products that are available on
the commercial market. Some of
these products include:
 |
Microsoft Access and FoxPro |
 |
Oracle |
 |
Sybase |
 |
Microsoft SQL Server |
 |
IBM DB2 |
 |
Informix |
 |
Filemaker |
 |
Gupta |
 |
Xbase |
In many cases there are entire companies devoted to
developing and maintaining database tools (e.g., Oracle).
These products run on platforms ranging from Intel-based Windows 95/98
and NT, Macintosh, and UNIX. The
cost also varies from less than $100 to thousands of dollars.
The selection of the appropriate database management product will depend on a
number of factors:
 |
The amount of data to be managed. |
 |
How the data needs to be accessed (e.g., by a database
application, custom developed software, web-based access, etc.)? |
 |
Who needs to access the data one or many users? |
 |
Local or remote access to the data. |
 |
The platform that is to be used for deployment usually a
secondary factor driven by the choice of database software. |
 |
The funding available to purchase hardware, software, and support. |

Flat File Databases
Flat file databases are "cheap databases.
This does mean that the data is not worth very much, it simply means that
the data is stored in a conventional file such as an ASCII text or other word
processor file. The data is often
stored in columns separated by commas, tabs, or even spaces, and instances of
data are stored in new lines in the file.
Flat file databases have many uses:
 |
Nearly anyone can create a flat file database. |
 |
They can efficiently manage smaller sets of non-complex
information. |
 |
Word processors can be used to edit, sort, and present (display or
print) the data. |
 |
Software programs without having knowledge of complex data storage
mechanisms found in database files can use them. |
The following is a typical example of a flat file layout:
|
lastname, firstname, address, city, state
Smith, Jones, 111 Elm Street, Anycity, MD
Doe, John, 2222 Main Road, Anycity, MD
James, Mary 33 Oak Terrace, Mytown, MD
|
Note that the field names are indicated in the first row
and commas are used to separate fields. Tabs,
quotations, and other characters may also be used to separate fields.
There are some major limitations to flat file databases:
 |
They are not very efficient for large numbers of records, i.e.,
sorting, editing, and displaying thousands and millions of records. |
 |
They have limited capabilities for representing complex sets of
information; for example, while a single file would provide an effective way to
list students, it may not be effective for containing information about
teachers, classes offered, and class scheduling (this would require a number of
files). |
|