Introduction

Mimer SQL is an advanced relational database management system (RDBMS) developed by Mimer Information Technology AB.

The main characteristics of Mimer SQL are zero maintenance, small footprint and high performance. These are based on a number of unique technical solutions to handle some of the more complicated functionality that a database management system must provide.

For example, Mimer SQL provides a solution to the problem of allowing simultaneous access to the database without the danger of a deadlock occurring. This greatly simplifies database management and allows truly scalable performance, even during heavy system-load.

Another significant technical innovation is the data storage mechanism, which is constantly optimized for the highest possible performance and ensures that no manual reorganization of the database is ever needed.

Mimer SQL offers a uniquely scalable and portable solution, including multi-core support. The product is available on a wide range of platforms from small embedded and handheld devices running for example Android or Linux, to workgroup and enterprise servers running Linux, Windows, macOS and OpenVMS. This makes Mimer SQL ideally suited for open environments where interoperability, portability and small footprint are important.

The database management language Mimer SQL (Structured Query Language) is compatible in all essential features with the currently accepted SQL standards, see the Mimer SQL Reference Manual, Introduction to SQL Standards, for details.

About this Manual

The manual is intended for application developers working with Mimer SQL.

This manual describes the usage of SQL in application programs, and provides, together with the Mimer SQL Reference Manual, the complete reference material for Mimer SQL.

For details on how to read the syntax diagrams that appear in this manual see the Mimer SQL Reference Manual, Reading SQL Syntax Diagrams.

This manual describes how SQL statements may be embedded in application programs written in conventional host languages. It also describes how to create and use stored procedures and triggers.

The information contained in this manual generally applies to all the platforms supported by Mimer SQL. From time to time platform-specific notes appear in the general description, presented as follows:

Linux:Denotes information that applies specifically to Linux and macOS platforms.

VMS:Denotes information that applies specifically to OpenVMS platforms.

Win:Denotes information that applies specifically to Windows platforms.

Database APIs

You can access Mimer SQL using the following native database application interfaces:

ADO.NET

ADO.NET is the interface of choice when developing database applications in the Microsoft .NET framework and it is the natural successor for ADO (ActiveX Data Objects).

The Mimer Data Provider is used to connect to Mimer SQL from .NET. How it works is described in the article Accessing Mimer SQL from ADO.NET using Mimer Data Provider, https://developer.mimer.com/how-to/accessing-mimer-sql-from-ado-net-using-mimer-data-provider/.

The Mimer Data Provider is not included in the regular Mimer SQL distribution, instead the latest release can be downloaded from https://developer.mimer.com/downloads.

JDBC

JDBCTM is a Java database API. Through JDBC, Mimer SQL can support many JDBC based tools.

ODBC

ODBC is a database independent interface. Through ODBC, Mimer SQL can support many ODBC based tools.

Embedded SQL (ESQL)

ESQL is used through a host programming language (C/C++, COBOL or Fortran as available on the host computer). SQL statements are included as part of the source code for an application program, which is compiled and linked with the appropriate language-specific facilities. The SQL statements are executed in the context of the application program.

Module SQL (MSQL)

MSQL enables you to call SQL statements in a host program written in C/C++, COBOL, Fortran or Pascal, without embedding the actual SQL statements in the host program. The SQL statements are explicitly put into a separate SQL module, that is written in the Module language and maintained separately from the host program.

Mimer SQL C API

The Mimer SQL C API is a native C library suitable for tool integration and application development in environments where API standardization is not a requirement. The following characteristics describe the API:

Simplicity

Platform independence

Small footprint

Tight fit with the Mimer SQL application/database communication model.

Mimer SQL Micro C API

The Mimer SQL Micro C API is mainly targeted for memory and CPU constrained environments.

In addition, there are some additional interfaces supported by Mimer SQL, see https://developer.mimer.com/doc/database-apis/.

Prerequisites

Application developers using this manual are assumed to have a working acquaintance with the principles of the relational database model in general and of Mimer SQL in particular.

Knowledge of Mimer SQL is of course an advantage, although experience with other standard-compliant SQL implementations will suffice. Experience of Mimer SQL is best gained through interactive use of DbVisualizer or BSQL, both included in the Mimer SQL distribution.

Related Mimer SQL Publications

Mimer SQL Reference Manual

contains a complete description of the syntax and usage of all statements in Mimer SQL and is a necessary complement to this manual.

Mimer SQL User’s Manual

contains a description of the BSQL facilities. A user-oriented guide to the SQL statements is also included, which may provide help for less experienced users in formulating statements correctly (particularly the SELECT statement, which can be quite complex).

Mimer SQL System Management Handbook

describes system administration functions, including export/import, backup/restore, databank shadowing and the statistics functionality.

The information in that manual is used primarily by the system administrator, and is not required by application program developers. The SQL statements that are part of the System Management API are described in the Mimer SQL Reference Manual.

Mimer SQL Platform-specific documents

contain platform-specific information. A set of one or more documents is provided, where required, for each platform on which Mimer SQL is supplied.

Mimer SQL Release Notes

contain general and platform-specific information relating to the Mimer SQL release for which they are supplied.

Mimer JDBC Driver Guide

is intended for Java application developers working with Mimer SQL. It covers all available Mimer JDBC drivers. The guide describes the usage of SQL in Java applications.

Suggestions for Further Reading

We can recommend the many works of C. J. Date. His insight into the potential and limitations of SQL, coupled with his pedagogical talents, make his books invaluable sources of study material in the field of SQL theory and usage. In particular, we can mention:

A Guide to the SQL Standard (Fourth Edition, 1997). ISBN: 0-201-96426-0. This work contains much constructive criticism and discussion of the SQL standard, including SQL-99.

SQL: 1999 - Understanding Relational Language Concepts, by Jim Melton, Alan R. Simon, and Jim Gray. ISBN: 1-55860-456-1. Explains SQL-99.

Advanced SQL: 1999 - Understanding Object-Relational and Other Advanced Features, by Jim Melton. ISBN: 1-55860-677-7. In-depth guide to SQL-99’s practical application.

JDBC

JDBC information can be found on the internet at: https://www.oracle.com/technetwork/java/index.html.

For information on specific JDBC methods, please see the documentation, which is normally included in the Java development environment.

JDBC™ API Tutorial and Reference, 2nd edition. ISBN: 0-201-43328-1. A useful book published by JavaSoft.

ODBC

Microsoft ODBC 3.0 Programmer’s Reference and SDK Guide for Microsoft Windows and Windows NT. ISBN: 1-57231-516-4. This manual contains information about the Microsoft Open Database Connectivity (ODBC) interface, including a complete API reference.

SQL Standards

Official documentation of the accepted SQL standards may be found in:

ISO/IEC 9075:2016(E) Information technology - Database languages - SQL. This document contains the standard referred to as SQL-2016.

CAE Specification, Data Management: Structured Query Language (SQL), Version 2.
X/Open document number: C449. ISBN: 1-85912-151-9. This document contains the
X/Open-95 SQL specification.

Definitions, Terms and Trademarks

ANSI

American National Standards Institute, Inc.

API

Application Programming Interface

BSQL

The Mimer SQL facility for using SQL interactively or by running a command file

ESQL

The preprocessor for embedded Mimer SQL

IEC

International Electrotechnical Commission

ISO

International Standards Organization

JDBC

The Java database API specified by Oracle Corporation

MSQL

Mimer Module SQL preprocessor.

ODBC

Open Database Connectivity

PSM

Persistent Stored Modules, the term used by ISO/ANSI for stored procedures

SQL

Structured Query Language

X/Open

X/Open is a trademark of Open Group

All other trademarks are the property of their respective holders.