Contents IndexThe SQL Anywhere engine and the SQL Anywhere server Running SQL Anywhere on a network

User's Guide
   Part I. Introduction to SQL Anywhere
     Chapter 3. Overview of SQL Anywhere
      Running SQL Anywhere on a single computer

The figure shows the architecture of a standalone SQL Anywhere installation, running a single database engine and working with a single database. All more complicated arrangements are elaborations of this basic setup, so you should understand how the basic setup works, even if you are operating a multiuser client/server installation.

Standalone SQL Anywhere components

The components of the basic standalone SQL Anywhere setup are:

Database users do not directly manipulate database files. Instead, their client application communicates with the database engine, using a programming interface supported by SQL Anywhere, and the database engine handles all manipulation of the actual database.

  For information on a client application and a database server for different operating systems running on the same computer, see the section "Running mixed operating systems on a single computer".

Top of page


The client application

A client application communicating with the SQL Anywhere database engine must do so using a programming interface supported by SQL Anywhere. The client application calls functions from one of the SQL Anywhere programming interfaces.

The client application together with the programming interface layer form the client side of the setup.

ODBC-enabled application development systems

If you are building a client application from an ODBC-enabled application development system, such as Powersoft PowerBuilder, or others, you do not need the information in the section "Programming Interfaces". These application development systems already implement an ODBC interface internally. Application development systems form an extra layer that sits between the application developer and the SQL Anywhere interface, and you should consult your application development system's documentation to understand how to communicate with a database engine.

PowerBuilder and InfoMaker use the ODBC interface.

If you are using one of the programming interfaces directly to develop client applications, you should understand the SQL Anywhere programming interface you are using. The programming interfaces are described fully in the section "Programming Interfaces".

Top of page


The SQL Anywhere database engine

The database engine and the database together form the server side of the setup. A client application manipulates a database by sending requests to the database engine.

SQL Statements

Communications between a client application and a database engine take the form of Structured Query Language (SQL) statements. For example, a SELECT statement, or query, is used to extract information from a database. An UPDATE statement may be used to modify the contents of one of the database tables.

The client application sends the SQL statements and the database engine processes them and sends the results back to the client application.

Running an application against a SQL Anywhere network server

Running an application against a SQL Anywhere network server generally requires an extra component to handle network communications from the client computer (see "Running SQL Anywhere on a network"). However, for applications on the same computer the database server can be run in exactly the same manner as the standalone database engine described here using a direct connection to the network server.

If a SQL Anywhere Client is running and the network server is running on the same machine, the Client will not be used by client applications connecting on the same machine; the connection will be direct.

  For a discussion of running a client application and a database server for different operating systems on a single computer, see "Running mixed operating systems on a single computer".

Top of page


The database

SQL Anywhere is a relational database system. The database itself is stored on one or more disk drives, and consists of the following objects:

Database objects Description
Tables Hold the information in the database
Keys Relate the information in one table to that in another
Indexes Allow quick access to information in the database
Views Are computed tables
Stored procedures Hold queries and commands that may be executed by any client application (stored procedures are not available in the SQL Anywhere Desktop Runtime system)
Triggers Assist in maintaining the integrity of the information in the database (triggers are not available in the SQL Anywhere Desktop Runtime system)
System tables Hold the information about the structure of the database

Multiple databases on a single database engine

A single SQL Anywhere database engine can manage access to several databases simultaneously. You can start and stop databases from database administration tools or client applications, and you may connect to any of the currently running databases on a database engine.

As far as the database user is concerned, interaction with a database engine is always through a connection. Each time users connect to a database, supplying valid user ID and password, they are connected to a specific database on a specific database engine. Once a connection is established, it provides a channel through which all communications go. The connection insulates the user from the other components of a running database system such as network sessions and interprocess communication mechanisms.

Multifile databases

SQL Anywhere supports multifile databases. When a SQL Anywhere database is first initialized, it is composed of one file---the root file. As tables and other database objects are added to the database, however, they may be stored in different files, which may be on different disk drives from the root file.

Users of the database (other than the database administrator) need not be aware of the physical location of database files. The database engine handles all access to the files and shields this complexity from the user.

Top of page


Contents IndexThe SQL Anywhere engine and the SQL Anywhere server Running SQL Anywhere on a network