The parts of a database system

A relational database management system (RDBMS) is a system for storing and retrieving data, in which the data is organized into interrelated tables.

Relational database management systems contain the following pieces:

  • Database   A database is collection of tables that are related by primary and foreign keys. The tables hold the information in the database. The tables and keys together define the structure of the database. A database management system accesses this information.

    A SQL Anywhere database is a file, usually with an extension of .db. An UltraLite database is also a file, usually with an extension of .udb. SQL Anywhere includes a sample database, and it is installed in the SQL Anywhere samples directory: %SQLANYSAMP12%\demo.db.

  • Database server   The database server manages the database. All access to the database occurs through the database server.

    The database server allows access to databases from client applications, and processes commands in a secure and efficient manner. A database can have only one server managing it at a time. However, a SQL Anywhere database server can manage many databases at one time.

    There are two versions of the SQL Anywhere database server: the personal server and the network server. Both servers offer the same query processing and other internal operations; the only difference is in the number and types of connections each server accepts. For more information about the differences between personal and network database servers, see Database server differences.

  • UltraLite runtime library   In UltraLite, the database management systems that are typically found in a database server are implemented as an in-process runtime library. The runtime library and the application are part of the same process.

  • Programming interface   Applications communicate with the database server using a programming interface such as ODBC, JDBC, OLE DB, ADO.NET, or embedded SQL.

    For a complete list of supported programming interfaces in SQL Anywhere and UltraLite, see Programming interfaces.

    Each programming interface provides a library of function calls for communicating with the database. For ODBC and JDBC, the library is commonly called a driver. The library is typically provided as a shared library on Unix operating systems or a dynamic link library (DLL) on Windows operating systems.

  • Client application   Client applications use one of the programming interfaces to communicate with the database server.

    If you develop an application using a rapid application development (RAD) tool such as Sybase PowerBuilder, you may find that the tool provides its own methods for communicating with database servers, and hides the details of the language interface. Nevertheless, all applications use one of the supported interfaces.