A Brief History of Database Applications
We now give a brief historical overview of the applications that use
DBMSs and how these applications provided the impetus for new types of database
systems.
1. Early Database Applications Using Hierarchical and Network Systems
Many early database applications maintained records in large
organizations such as corporations, universities, hospitals, and banks. In many
of these applications, there were large numbers of records of similar
structure. For example, in a university application, similar information would
be kept for each student, each course, each grade record, and so on. There were
also many types of records and many interrelationships among them.
One of the main problems with early database systems was the intermixing
of conceptual relationships with the physical storage and placement of records
on disk. Hence, these systems did not provide sufficient data abstraction and program-data
independence capabilities. For
example, the grade records of a particular student could be physically stored next to the student record. Although
this provided very efficient access for the original queries and transactions
that the database was designed to handle, it did not provide enough flexibility
to access records efficiently when new queries and transactions were
identified. In particular, new queries that required a different storage
organization for efficient processing were quite difficult to implement
efficiently. It was also laborious to reorganize the database when changes were
made to the application’s requirements.
Another shortcoming of early systems was that they provided only
programming language interfaces. This made it time-consuming and expensive to
implement new queries and transactions, since new programs had to be written,
tested, and debugged. Most of these database systems were implemented on large
and expensive mainframe computers starting in the mid-1960s and continuing
through the 1970s and 1980s. The main types of early systems were based on
three main paradigms: hierarchical systems, network model based systems, and
inverted file systems.
2. Providing Data Abstraction and Application Flexibility with Relational Databases
Relational databases were originally proposed to separate the physical
storage of data from its conceptual representation and to provide a
mathematical foundation for data representation and querying. The relational
data model also introduced high-level query languages that provided an
alternative to programming language interfaces, making it much faster to write
new queries. Relational representation of data somewhat resembles the example
we presented in Figure 1.2. Relational systems were initially targeted to the
same applications as earlier systems, and provided flexibility to develop new
queries quickly and to reorganize the database as requirements changed. Hence,
data abstraction and program-data independence were much
improved when compared to earlier systems.
Early experimental relational systems developed in the late 1970s and
the commercial relational database management systems (RDBMS) introduced in
the early 1980s were quite slow, since they did not use physical storage
pointers or record placement to access related data records. With the
development of new storage and indexing techniques and better query processing
and optimization, their performance improved. Eventually, relational databases
became the dominant type of data-base system for traditional database
applications. Relational databases now exist on almost all types of computers,
from small personal computers to large servers.
3. Object-Oriented Applications and the Need for More Complex Databases
The emergence of object-oriented programming languages in the 1980s and
the need to store and share complex, structured objects led to the development
of object-oriented databases (OODBs). Initially, OODBs were considered a
competitor to relational databases, since they provided more general data
structures. They also incorporated many of the useful object-oriented
paradigms, such as abstract data types, encapsulation of operations, inheritance,
and object identity. However, the complexity of the model and the lack of an
early standard contributed to their limited use. They are now mainly used in
specialized applications, such as engineering design, multimedia publishing,
and manufacturing systems. Despite expectations that they will make a big
impact, their overall penetration into the database products market remains
under 5% today. In addition, many object-oriented concepts were incorporated
into the newer versions of relational DBMSs, leading to object-relational
database management systems, known as ORDBMSs.
4. Interchanging Data on
the Web for E-Commerce Using XML
The World Wide Web provides a large network of interconnected computers.
Users can create documents using a Web publishing language, such as HyperText
Markup Language (HTML), and store these documents on Web servers where other
users (clients) can access them. Documents can be linked through hyperlinks, which are pointers to other
documents. In the 1990s, electronic commerce (e-commerce) emerged as a major
application on the Web. It quickly became apparent that parts of the
information on e-commerce Web pages were often dynamically extracted data from
DBMSs. A variety of techniques were developed to allow the interchange of data
on the Web. Currently, eXtended Markup Language (XML) is considered to be the
primary standard for interchanging data among various types of databases and
Web pages. XML combines concepts from the models used in document systems with
database modeling concepts. Chapter 12 is devoted to the discussion of XML.
5. Extending Database
Capabilities for New Applications
The success of database systems in traditional applications encouraged
developers of other types of applications to attempt to use them. Such
applications tradition-ally used their own specialized file and data
structures. Database systems now offer extensions to better support the
specialized requirements for some of these applications. The following are
some examples of these applications:
Scientific applications that store large
amounts of data resulting from scientific experiments in areas such as
high-energy physics, the mapping of the human genome, and the discovery of
protein structures.
Storage and retrieval of images, including scanned news or
personal photo-graphs, satellite photographic images, and images from medical
procedures such as x-rays and MRIs (magnetic resonance imaging).
Storage and retrieval of videos, such as movies, and video clips from news or personal
digital cameras.
Data mining applications that analyze large
amounts of data searching for the
occurrences of specific patterns or relationships, and for identifying unusual
patterns in areas such as credit card usage.
Spatial applications that store spatial
locations of data, such as weather information,
maps used in geographical information systems, and in auto-mobile navigational
systems.
Time series applications that store
information such as economic data at regular
points in time, such as daily sales and monthly gross national prod-uct
figures.
It was quickly apparent that basic relational systems were not very
suitable for many of these applications, usually for one or more of the
following reasons:
More complex data structures were
needed for modeling the application than the simple relational representation.
New data types were needed in
addition to the basic numeric and character string types.
New operations and query language
constructs were necessary to manipu-late the new data types.
New storage and indexing
structures were needed for efficient searching on the new data types.
This led DBMS developers to add functionality to their systems. Some
functionality was general purpose, such as incorporating concepts from
object-oriented data-bases into relational systems. Other functionality was
special purpose, in the form of optional modules that could be used for
specific applications. For example, users could buy a time series module to use
with their relational DBMS for their time series application.
Many large organizations use a variety of software application packages
that work closely with database
back-ends. The database back-end represents one or more databases, possibly
from different vendors and using different data models, that maintain data that
is manipulated by these packages for supporting transactions, generating
reports, and answering ad-hoc queries. One of the most commonly used systems
includes Enterprise Resource Planning
(ERP), which is used to consolidate a variety of functional areas within an
organization, including production, sales, distribution, marketing, finance,
human resources, and so on. Another popular type of system is Customer Relationship Management (CRM)
software that spans order processing as well as marketing and customer support
functions. These applications are Web-enabled in that internal and external
users are given a variety of Web-portal interfaces to interact with the
back-end databases.
6. Databases versus
Information Retrieval
Traditionally, database technology applies to structured and formatted
data that arises in routine applications in government, business, and industry.
Database technology is heavily used in manufacturing, retail, banking,
insurance, finance, and health care industries, where structured data is
collected through forms, such as invoices or patient registration documents. An
area related to database technology is Information
Retrieval (IR), which deals with books, manuscripts, and various forms of library-based articles. Data
is indexed, cataloged, and annotated using key-words. IR is concerned with
searching for material based on these keywords, and with the many problems
dealing with document processing and free-form text processing. There has been
a considerable amount of work done on searching for text based on keywords,
finding documents and ranking them based on relevance, automatic text
categorization, classification of text documents by topics, and so on. With the
advent of the Web and the proliferation of HTML pages running into the
billions, there is a need to apply many of the IR techniques to processing
data on the Web. Data on Web pages typically contains images, text, and objects
that are active and change dynamically. Retrieval of information on the Web is
a new problem that requires techniques from databases and IR to be applied in a
variety of novel combinations. We discuss concepts related to information
retrieval and Web search in Chapter 27.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.