ADABAS


Adabas, a contraction of “adaptable database system," is a database package that was developed by Software AG to run on IBM mainframes. It was launched in 1971 as a non-relational database. As of 2019, Adabas is marketed for use on a wider range of platforms, including Linux, Unix, and Windows.

History

Adabas was developed to handle shortcomings of RDBMSes that stored data in the third normal form. Adabas can store multiple data relationships in the same table.
Initially released by Software AG in 1971 on IBM mainframe systems using DOS/360, OS/MFT, or OS/MVT, Adabas is currently available on a range of enterprise systems, including BS2000, z/VSE, z/OS, Unix, Linux, and Microsoft Windows. Adabas is frequently used in conjunction with Software AG's programming language Natural; many applications that use Adabas as a database on the back end are developed with Natural. In 2016, Software AG announced that Adabas and Natural would be supported through the year 2050 and beyond.
Adabas is one of the three major inverted list DBMS packages, the other two being Computer Corporation of America’s Model 204 and ADR’s Datacom/DB.

4GL support

Since the 1979 introduction of Natural the popularity of Adabas databases has grown. By 1990, SAS was supporting Adabas.

Non-relational

In a 2015 white paper, IBM said, "applications that are written in a pre-relational database, such as Adabas, are no longer mainstream and do not follow accepted IT industry standards." However, an Adabas database can be designed in accordance with the relational model. While there are tools and services to facilitate converting Adabas to various relational databases,, such migrations are usually costly.

Hardware zIIP boost

IBM's zIIP special purpose processors permit "direct, real-time SQL access to Adabas".

Adabas Data Model

Adabas is an acronym for Adaptable Data Base System
Adabas is an inverted list data base, with the following characteristics or terminology:
Adabas is typically used in applications that require high volumes of data processing or in high transaction online analytical processing environments.
Adabas access is normally through Natural modules using one of several Natural statements including READ, FIND, and HISTOGRAM. These statements generate additional commands, under the covers, like open and close file. Adabas data can also be retrieved via direct calls.

Example of Natural program running against Adabas


FIND EMPLOYEE WITH NAME = 'JONES' OR = 'BAKER'
AND CITY = 'BOSTON' THRU 'NEW YORK'
AND CITY NE 'CHAPEL HILL'
SORTED BY NAME
WHERE SALARY < 28000
DISPLAY NAME FIRST-NAME CITY SALARY
END-FIND
END

Output of Program:

NAME FIRST-NAME CITY ANNUAL SALARY
----------------------------------------
BAKER PAULINE DERBY 4450
JONES MARTHA KALAMAZOO 21000
JONES KEVIN DERBY 7000

Natural (4GL)

Natural is a proprietary fourth-generation programming language. It was not part of the initial Adabas release.
Natural programs can be "run" interpretively or "executed" as compiled objects. Compiled programs can more directly use operating system services, and run faster.
Proponents say that Natural has evolved from a competitor of COBOL
to "being in competition with Java as language of choice for writing services."

About Natural

Natural, which includes a built-in screen-oriented editor, has two main components: the system and the language.
The system is the central vehicle of communication between the user and all other components of the processing environment.
The language is structured and less procedural than conventional languages.
Natural objects are stored in libraries, similar in structure to a DOS directory, and can be named with identifiers up to 8 characters.
Objects, even if they are of different types, cannot have the same name.
Natural provides both online and batch execution and programming testing utilities.
Versions exist for z/OS, z/VSE, BS2000/OS, Linux, Unix and Windows.

Language features

Natural works not only with Adabas files, but also supports Oracle,
DB2, and others.
Sample code:

DEFINE DATA LOCAL
01 EMPLOYEES VIEW OF EMPLOYEES
02 SALARY
END-DEFINE
READ EMPLOYEES BY NAME
AT END OF DATA
DISPLAY
MIN
AVER
MAX
END-ENDDATA
END-READ
END

Output:

Page 1 18-08-22 16:42:22

ANNUAL ANNUAL ANNUAL
SALARY SALARY SALARY
----------- ----------- -----------

0 240,976 6,380,000

The language is strongly-typed, using explicit typing of variables, which may be one of:
The system file is an Adabas file reserved for use by Natural, which contains, but is not limited to, the following:
The system file is not limited to Adabas. Natural can also store programs in VSAM on mainframe operating systems. Natural uses the file system on Windows and various Unix implementations.

Programs

Natural objects are identified by names up to 8 characters, the first of which must be alphabetical.
The Natural program editor allows source in rows of up to 72 positions. Lines are numbered by 4 digits. This numbering is generated by Natural during program creation. Line numbers used by the compiler and editors, and can have important logical functions in the programs.
Within the lines, instructions have no positional parameters.
Comments can be included in two ways:
Examples:
0010 * These two lines
0020 ** are comments.
0030 FORMAT LS = 80 /* As well as this part of the line
0040 * NOTE: The "/*" form has no space between the SLASH and ASTERISK.
.
.
0200 END
"END" or "." indicates the end of a program.
A Hello World code example:
* Hello World in NATURAL
WRITE 'Hello World!'
END