Natural and Database Access

This document gives an overview of the facilities that Natural provides for accessing different types of database management systems.

The following topics are covered:


Database Management Systems Supported by Natural

Natural offers specific database interfaces for the following types of database management systems (DBMS):

  • Nested-relational DBMS (Adabas)

  • SQL-type DBMS (Oracle, DB2, MS SQL Server, MySQL, PostgreSQL)

  • XML-type DBMS (Tamino)

The following topics are covered below:

Adabas

Via its integrated Adabas interface, Natural can access Adabas databases either on a local machine or on remote computers. For remote access, an additional routing and communication software such as Entire Net-Work is necessary. In any case, the type of host machine running the Adabas database is transparent for the Natural user.

Tamino

Natural for Tamino offers the possibility to access a Tamino database server on a local machine or on a remote host using a native HTTP protocol. The Tamino database can be accessed in the same manner as data access is done with Adabas or SQL databases.

SQL Databases

Natural accesses SQL database systems via Entire Access, a generic interface and routing software that supports various SQL database management systems such as Oracle, MS SQL Server or standardized ODBC connections. For a complete overview of the SQL database management systems and platforms supported, refer to the Entire Access documentation. Information on Natural configuration aspects is contained in the document Natural and Entire Access.

Profile Parameters Influencing Database Access

There are various Natural profile parameters to define how Natural handles the access to databases.

For an overview of these profile parameters, see the section Database Management System Assignments in Overview of Configuration File Parameters in the Configuration Utility documentation.

For a detailed parameter description, refer to the corresponding section in the Parameter Reference.

Access through Data Definition Modules

To enable convenient and transparent access to the different database management systems, a special object, the "data definition module" (DDM), is used in Natural. This DDM establishes the connection between the Natural data structures and the data structures in the database system to be used. Such a database structure might be a table in an SQL database, a file in an Adabas database or a doctype in a Tamino database. Hence, the DDM hides the real structure of the database accessed from the Natural application. DDMs are created using the Natural DDM editor.

Natural is capable of accessing multiple types of databases (Adabas, Tamino, RDBMS) from within a single application by using references to DDMs that represent the specific data structures in the specific database system. The diagram below shows an application that connects to different types of database.

graphics/dba_winux.png

Natural's Data Manipulation Language

Natural has a built-in data manipulation language (DML) that allows Natural applications to access all database systems supported by Natural using the same language statements such as FIND, READ, STORE or DELETE. These statements can be used in a Natural application without knowing the type of database that is going to be accessed.

Natural determines the real type of database system from its configuration files and translates the DML statements into database-specific commands; that is, it generates direct commands for Adabas, SQL statement strings and host variable structures for SQL databases and XQuery requests for a Tamino database.

Because some of the Natural DML statements provide functionality that cannot be supported for all database types, the use of this functionality is restricted to specific database systems. Please, note the corresponding database-specific considerations in the statements documentation.

Natural's Special SQL Statements

In addition to the "normal" Natural DML statements, Natural provides a set of SQL statements for a more specific use in conjunction with SQL database systems; see SQL Statements Overview (in the Statements documentation).

Flexible SQL and facilities for working with stored procedures complete the set of SQL commands. These statements can be used for SQL database access only and are not valid for Adabas or other non-SQL-databases.