History of Database Management Systems
History of Database Management Systems
Database management systems (DBMSs) have played an outsized role in the history of software development and in
the creation and growth of the software products industry. Recognizing the major role played by these products, the
Annals is publishing two special issues on the subject. These two issues will be the fourth and fifth sponsored by the
Software Industry Special Interest Group of the Computer History Museum (formerly the Software History Center).
This issue (the first) is focused on the products, companies, and people who designed, programmed, and sold
mainframe DBMS software products beginning in the 1960s and 1970s. The second issue will be devoted to the
relational DBMS products, which were developed during the 1970s and came to prominence (and some say
dominance) during the 1980s and 1990s.
What was so important about these DBMS products? Why did they have such a major impact on the growth of the
software products industry and, more importantly, on the way that almost all major commercial applications were
built from the 1970s on? It is a complex story, part of which is told in this issue. Thomas Haigh begins this issue by
describing the world prior to DBMSs and some of the early DBMS products. Tim Bergin and Thomas Haigh then
examine the database management products that dominated the IBM environment and other major computer
platforms in the 1970s and 1980s.
In some sense, these DBMSs, with their accompanying data communications (or online transaction processing)
systems, enabled users in all industries to construct both online and batch applications in a far more timely and cost
effective manner. These database and data communications systems became the foundation for building many (some
say most) of the core applications in every industry and government agency, and they became the engines that drove
the sale of mainframe computers during the 1970s and afterward.
This issue only minimally refers to other related areas that some feel should be considered a vital part of the DBMS
story. These DBMS products were preceded by a number of report writers, which used stored information to produce
reports in the layout and form desired by the user. These report writers pioneered the definition-based applications
approach versus a procedural programming approach. This category included IBMs Fargo and Report Program
Generator (RPG), Informatics Mark IV, Pansophics Easytrieve, Cullinanes Culprit, Bill Newcomers Dylakor.
Among the first official software standards, beyond programming languages, were different database standards of the
1960s. The 1970s saw the emergence of the relational model, and the mathematical and theoretical background here
is both interesting and if not unique so at least uncommon.
The development of SQL databases during the late 1970s and early 1980 changed the world of database systems
completely, and together with other technology changes of those days, such as the emergence of standardized
operation systems (most prominently Unix) and the Personal Computer, would transform the climate for compting
completely.
As the storage capacities of even small computers grew, the potential and uses for databases grew. The PC oriented
database systems, simple and working well on small PCs, largely disapperad as PCs became more powerful and
above all networked.
The 1990 saw the emergence of the Internet, and again the means and needs for accessing data changed, as so did the
database systems. Those years also saw data warehousing grow to something everyone could potentially use and
benefit from.
Over many of these periods, SQL has managed to stay put longer than most other technologies. Something that grew
out of mainframes 40 years ago is still with us. This is a fact that should also be debated. Are are we now, finally,
seeing the end of SQL?
Before long, programs were transformed into applications, which then led to master files. The master file was a
compilation of data that was collected, stored and used by other programs. These master files were almost always
stored on magnetic tape and accessed sequentially. One shortcoming of master files was that you had to access 100
percent of the data to get at the 5 percent you needed. Another problem was that access was clumsy and inefficient
for multi-file merges. Thus, the organization struggled with multi-file merges. But compared to the technology
preceding master files, they were an improvement.
Data And Information
There is a subtle difference between data and information. Data are the facts or details from which information is
derived. Individual pieces of data are rarely useful alone. For data to become information, data needs to be put into
context.
Data is a collection of facts, figures and statistics related to an object. Data can be processed to create useful
information. Data is a valuable asset for an organization.
Data can be used by the managers to perform effective and successful operations of management. It provides a view
of past activities related to the rise and fall of an organization. It also enables the user to make better decision for
future. Data is very useful for generating reports, graphs and statistics.
Example
Students fill an admission form when they get admission in college. The form consists of raw facts about the
students. These raw facts are student's name, father name, address etc. The purpose of collecting this data is to
maintain the records of the students during their study period in the college.
Information
The manipulated and processed form of data is called information. It is more meaningful than data. It is used for
making decisions. Data is used as input for processing and information I output of this processing.
Example
Data collected from census is used to generate different type of information. The government can use it to determine
the literacy rate in the country. Government can use the information in important decision to improve literacy rate.
What is DBMS?
DBMS is the abbreviated form of DataBase Management System.
Database management system is a computer software component introduced during 1960s. It is used for controlling
various databases in the desktop computer or server. It was also termed as Navigational Database Management
System. During 1970s RDBMS or Relational database management system came into existence. Well see about
RDBMS later in this article.
Database management system is the means of controlling databases either in the hard disk in a desktop system or on a
network. Database management system is used for creating database, maintained database and provides the means of
using the database. DBMS doesnt consider relationship between the tables. Instead it will take the approach of
manual navigation. This has led to severe performance problems when dealing with complex and high amount of
data.
DBMS has several components. Some of the major components are external interface, database language engine,
query optimizer, database engine, storage engine, DBMS management component, etc..
What is RDBMS?
RDBMS is the abbreviated form of Relational DataBase Management System.
Relational database management system was introduced in 1970s. RDBMS avoided the navigation model as in old
DBMS and introduced Relational model. The relational model has relationship between tables using primary keys,
foreign keys and indexes. Thus the fetching and storing of data become faster than the old Navigational model. So
RDBMS widely used by the enterprises for storing complex and large amount of data.
DBMS File System, XML
RDBMS SQL Server, Oracle
Types of DBMS
Hierarchical DBMS
A DBMS is said to be hierarchical if the relationships among data in the database are established in such a way that
one data item is present as the subordinate of another one or a sub unit. Here subordinate means that items have
"parent-child" relationships among them. Direct relationships exist between any two records that are stored
consecutively. The data structure "tree" is followed by the DBMS to structure the database. No backward movement
is possible/allowed in the hierarchical database.
The hierarchical data model was developed by IBM in 1968 and introduced in information management systems.
This model is like a structure of a tree with the records forming the nodes and fields forming the branches of the tree.
In the hierarchical model, records are linked in the form of an organization chart. A tree structure may establish one-
to-many relationship.
Network DBMS
A DBMS is said to be a Network DBMS if the relationships among data in the database are of type many-to-many.
The relationships among many-to-many appears in the form of a network. Thus the structure of a network database is
extremely complicated because of these many-to-many relationships in which one record can be used as a key of the
entire database. A network database is structured in the form of a graph that is also a data structure. Though the
structure of such a DBMS is highly complicated however it has two basic elements i.e. records and sets to designate
many-to-many relationships. Mainly high-level languages such as Pascal, C++, COBOL and FORTRAN etc. were
used to implement the records and set structures.
Relational DBMS
A DBMS is said to be a Relational DBMS or RDBMS if the database relationships are treated in the form of a table.
There are three keys on relational DBMS: relation, domain and attributes. A network means it contains a fundamental
constructs sets or records sets contains one to many relationship,records contains fields statical table that is composed
of rows and columns is used to organize the database and its structure and is actually a two dimension array in the
computer memory. A number of RDBMSs are available, some popular examples are Oracle, Sybase, Ingress,
Informix, Microsoft SQL Server, and Microsoft Access.
Object-oriented DBMS
Able to handle many new data types, including graphics, photographs, audio, and video, object-oriented databases
represent a significant advance over their other database cousins. Hierarchical and network databases are all designed
to handle structured data; that is, data that fits nicely into fields, rows, and columns. They are useful for handling
small snippets of information such as names, addresses, zip codes, product numbers, and any kind of statistic or
number you can think of. On the other hand, an object-oriented database can be used to store data from a variety of
media sources, such as photographs and text, and produce work, as output, in a multimedia format.[1]
Object-oriented databases use small, reusable chunks of software called objects. The objects themselves are stored
in the object-oriented database. Each object consists of two elements: 1) a piece of data (e.g., sound, video, text, or
graphics), and 2) the instructions, or software programs called methods, for what to do with the data. Part two of this
definition requires a little more explanation. The instructions contained within the object are used to do something
with the data in the object. For example, test scores would be within the object as would the instructions for
calculating average test score.
Object-oriented databases have two disadvantages. First, they are more costly to develop. Second, most
organizations are reluctant to abandon or convert from those databases that they have already invested money in
developing and implementing. However, the benefits to object-oriented databases are compelling. The ability to mix
and match reusable objects provides incredible multimedia capability. Healthcare organizations, for example, can
store, track, and recall CAT scans, X-rays, electrocardiograms and many other forms of crucial data.
SQL
Structured Query Language[5][6][7][8]) is a special-purpose programming language designed for managing data held
in a relational database management system (RDBMS).
Originally based upon relational algebra and tuple relational calculus, SQL consists of a data definition language and
a data manipulation language. The scope of SQL includes data insert, query, update and delete, schema creation and
modification, and data access control. Although SQL is often described as, and to a great extent is, a declarative
language (4GL), it also includes procedural elements.
SQL was one of the first commercial languages for Edgar F. Codd's relational model, as described in his influential
1970 paper, "A Relational Model of Data for Large Shared Data Banks."[9] Despite not entirely adhering to the
relational model as described by Codd, it became the most widely used database language.[10][11]
SQL became a standard of the American National Standards Institute (ANSI) in 1986, and of the International
Organization for Standardization (ISO) in 1987.[12] Since then, the standard has been enhanced several times with
added features. Despite these standards, code is not completely portable among different database systems, which can
lead to vendor lock-in. The different makers do not perfectly adhere to the standard, for instance by adding
extensions, and the standard itself is sometimes ambiguous.
SQL History
SQL was initially developed at IBM by Donald D. Chamberlin and Raymond F. Boyce in the early 1970s.[13] This
version, initially called SEQUEL (Structured English Query Language), was designed to manipulate and retrieve data
stored in IBM's original quasi-relational database management system, System R, which a group at IBM San Jose
Research Laboratory had developed during the 1970s.[13] The acronym SEQUEL was later changed to SQL because
"SEQUEL" was a trademark of the UK-based Hawker Siddeley aircraft company.[14]
In the late 1970s, Relational Software, Inc. (now Oracle Corporation) saw the potential of the concepts described by
Codd, Chamberlin, and Boyce and developed their own SQL-based RDBMS with aspirations of selling it to the U.S.
Navy, Central Intelligence Agency, and other U.S. government agencies. In June 1979, Relational Software, Inc.
introduced the first commercially available implementation of SQL, Oracle V2 (Version2) for VAX computers.
After testing SQL at customer test sites to determine the usefulness and practicality of the system, IBM began
developing commercial products based on their System R prototype including System/38, SQL/DS, and DB2, which
were commercially available in 1979, 1981, and 1983, respectively.
Data base Languages
DML
DML is abbreviation of Data Manipulation Language. It is used to retrieve, store, modify, delete, insert and update
data in database.
Examples: SELECT, UPDATE, INSERT statements
DDL
DDL is abbreviation of Data Definition Language. It is used to create and modify the structure of database objects in
database.
Examples: CREATE, ALTER, DROP statements
DCL
DCL is abbreviation of Data Control Language. It is used to create roles, permissions, and referential integrity as well
it is used to control access to database by securing it.
Examples: GRANT, REVOKE statements
SQL General Data Types
The following table lists the general data types in SQL:
Data type Description
CHARACTER(n) Character string. Fixed-length n
VARCHAR(n) or
CHARACTER VARYING(n) Character string. Variable length. Maximum length n
BOOLEAN Stores TRUE or FALSE values
INTEGER(p) Integer numerical (no decimal). Precision p
DECIMAL(p,s) Exact numerical, precision p, scale s. Example: decimal(5,2) is a
number that has 3 digits before the decimal and 2 digits after the decimal
FLOAT(p) Approximate numerical, mantissa precision p. A floating number
in base 10 exponential notation. The size argument for this type consists of a single number specifying the minimum
precision
REAL Approximate numerical, mantissa precision 7
DATE Stores year, month, and day values
TIME Stores hour, minute, and second values
ARRAY A set-length and ordered collection of elements
XML Stores XML data
SQL CREATE DATABASE Syntax
CREATE DATABASE dbname;
The SQL CREATE TABLE Statement
CREATE TABLE table_name
(
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size),
....
);
Example
CREATE TABLE Persons
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
The SQL INSERT INTO Statement
The first form does not specify the column names where the data will be inserted, only their values:
INSERT INTO table_name
VALUES (value1,value2,value3,...);
The second form specifies both the column names and the values to be inserted:
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
Example
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway');
The SQL SELECT Statement
The SELECT statement is used to select data from a database.
The result is stored in a result table, called the result-set.
SQL SELECT Syntax
SELECT column_name,column_name
FROM table_name;
and
SELECT * FROM table_name;