What is a Database? The term database refers to any organized

advertisement
What is a Database?
The term database refers to any organized collection of data. This data is typically organized to model
aspects of reality in a way that supports processes requiring this information. The term is correctly
applied to data and the supporting data structures, but not to the database management system, or
DBMS. A database data collection with DBMS is known as a database system.
It is implied by the term database system that the data is managed to some level of quality. This is usually
measured in terms of accuracy, availability, usability, and resilience. The quality management seen in the
database system is evidence of a general-purpose database management system. A general-purpose
DBMS is a complex software system that meets many usage requirements to properly maintain its often
large and complex databases.
The use of client-server, real-time transactional systems where multiple users have access to data
highlights the importance of DBMS. In these systems, data is concurrently entered and inquired for in
ways that preclude single-thread batch processing. Most of this requirement complexity can be found in
personal desktop-based database systems.
There are many well-known DBMSs available today. These include DBMSs from Oracle, FoxPro, IBM
DB2, MySQL, SQLite, Sybase, Linter, Microsoft Access, Microsoft SQL Server, and PostgreSQL. Databases
are not usually portable across different DBMS, but different DBMSs can interoperate to some degree
using standards like SQL and ODBC together to support a single application built over more than one
database. DBMSs must also provide effective runtime execution to properly support, in terms of
performance, availability, and security, as many database end-users as needed.
The classification of databases is directly related to their contents. Bibliographic databases, document-text
databases, statistical databases, and multimedia objects databases are just a few examples of the different
types. Databases can also be classified by their application area. Examples of this classification method
include accounting, movies, banking, manufacturing, music compositions, and insurance. The term
database may be narrowed to specify particular aspects of the organized collection of data, and may refer
to the logical database, the physical database as data content in computer storage, or to many other subdefinitions.
Database Concept
The concept that led to the development of the database has been evolving since the 1960s. This was
primarily due to the increasing difficulties in designing, building, and maintaining complex information
systems. This was especially true when dealing with systems that have multiple concurrent end-users, and
contain a large amount of diverse data. Database management systems have evolved as well in order to
facilitate the effective handling of databases. DBMSs and databases are different entities, but they are
inseparable. A database’s properties are determined by its supporting DBMS.
It is believed, though it may be argued, that a 1962 technical report was the first to use the term “data
base”. In the intervening years, there have been enormous strides made in processing power and speed,
computer memory and storage, and computer networking. This growth has been reflected in the size,
capability, and performance of databases and their respective DBMS. For many years, it has been deemed
unlikely that any complex information system could be built effectively without a proper database
supported by a DBMS. Database usage has spread to such a degree that virtually every technology and
product relies on databases and DBMS for its development and commercialization, and companies and
organizations rely heavily on them for their operations as well.
There is no clear, accepted definition of DBMS, but it is widely accepted that a system must provide
considerable functionality to qualify as one. Its supported data collection must also meet usability
requirements to be considered a true database. This basically means that a database and its DBMS are
loosely defined by a general set of requirements. All existing mature DBMS meet these requirements to a
great extent, and less mature DBMS strive to meet them or are converging to meet them.
Evolution of Database and DBMS Technology
The definition of the term database, as was discussed earlier, coincided with the availability of directaccess storage from the mid-1960s onwards. It represented a fundamentally different approach from the
tape-based systems of the past, and allowed shared interactive use rather than simple daily batch
processing.
The earliest database systems were primarily concerned with efficiency, but developers already recognized
that other important objectives existed. One of these objectives focused on making data independent of
the logic application programs, so that this data could be shared among the different applications. This
was a groundbreaking change in database development and usage.
Since the 1970s, there has been an exponential increase in capacity and speed of disk storage and main
memory on computing platforms. Database technology has kept pace with this explosion, and by doing so
has enabled the creation of ever larger databases and higher throughput volume. This has allowed the
development of many of the applications we use on a daily basis; both in personal life and business.
The general-purpose database, in the beginning, was navigational. The applications would typically access
the data by following pointers from one record to another. At this point in database development, there
were two main data models being used. The hierarchical model used by the IBM IMS system, and the
Codasyl model implemented in products like IDMS. This remained the case until 1970.
It was then that Edgar F. Codd proposed the relational model. This model departed from the norm by
insisting that applications should search for data by content rather than following links. This was
necessary to allow the content of the database to evolve without constant rewriting of links and pointers.
The relational model consists of ledger-style tables that each correspond to a different type of entity. Any
new data may be freely inserted, deleted, and edited in these tables, and the DBMS is responsible for
maintenance necessary to present a table view to the application/user.
The term relational comes from entities referencing other entities in what is known as a one-to-many
relationship like a hierarchical model, and a many-to-many relationship like a network model. So, a
relational model can express both navigational and hierarchical models as well as its tabular model. This
allows for pure or combined modeling as the specific application requires.
Relational models, in their earliest forms, did not make relationships between different entities explicit in
the way users were accustomed to, but as primary keys and foreign keys. These keys can be seen as
pointers, of a sort, stored in tabular form. The use of keys rather than pointers obscured relations between
entities in the way it was presented, so the relational model was considered to emphasize search over
navigation. It was deemed a good conceptual basis for a query language, but not so for a navigational
language.
This gave rise to the development, in 1976, of the entity-relationship model. This model gained instant
popularity for database design since it emphasized a more familiar description than the earlier relational
model. In time, entity-relationship constructs were retrofitted as data modeling constructs for relational
models, and the differences between the two became irrelevant.
Relational system implementations lacked the automated optimizations of conceptual elements and
operations when compared to their physical storage and processing counterparts. Their simplistic and
literal implementations placed heavy demands on the limited processing resources of the time. It took the
arrival of the mid-1980s, with its increases in computing power, for relational systems (DBMSs and
applications) to be widely deployed. In the 1990s, relational systems became the dominant system used
for large-scale data processing applications, and still hold that lofty spot today. The dominant database
language for the relational model is SQL which has influenced the evolution of many other database
languages.
The inflexibility of the relational model has increasingly been seen by users as a limitation when dealing
with information that is richer or more varied than the traditional “ledger book” data of corporate
information systems. This issue is most prevalent when modeling multimedia databases, molecular
science databases, document databases, and engineering databases. The rigidity in the relational model is
due to the need to represent new data types other than text and text-alikes. Examples of unsupported data
types include:
•
•
•
Graphics – Pattern-matching and OCR
Multidimensional Constructs – 2D geographical, 3D geometrical, and multidimensional
hypercube models.
XML – Hierarchical data modeling technology evolved from EDS and HTML used for data
interchange among dissimilar systems.
Object-oriented methodologies, focusing on encapsulated data and processes, brought on more
fundamental conceptual limitations. Traditional data modeling constructs emphasize the total separation
of data from processes, but modern DBMSs allow for limited modeling in terms of validation rules and
stored procedures.
Attempts have been made to address the issue of conceptual limitation. Banners such as post-relational or
NoSQL are prime examples of this movement. The development of the object database and XML database
were noteworthy steps in the right direction, but relational database vendors have combated this
competition by extending the capabilities of their own products to support a wider variety of data types.
Final Thoughts
Database technology has grown from its archaic origins into an ever-changing field of complex technical
innovation. There are breakthroughs being made every day that open up the possibilities offered by
databases and DBMSs, and this will only expand with the influx of resources being funneled into
development from all over the world. The next few years should be a very exciting time for database users.
The sky is the limit for this technology moving forward.
Download