Introduction to the QM Database

Introduction to the OpenQM Database

Top  Previous  Next


OpenQM is a database management system that allows you to develop and run applications for your business or personal use. It includes a wide range of advanced tools and features for complex applications whilst still allowing relatively painless construction of simpler applications.


OpenQM is a member of a family of database products known as multivalue databases, a term that relates to how the system stores your data. If you have experience of products such as Access or Oracle, you may find the architecture of OpenQM to be alien to what you have learnt in the past. It's not wrong; it's just a different way to work. Experience over many years shows that application development for a multivalue database is often many times quicker than for other methodologies, resulting in lower development costs and simpler maintenance.


OpenQM is the only multivalue database product that is available both as a fully supported closed source commercial product and in open source form for developers who wish to modify the product under the terms of the General Public Licence. In common with all GPL software, the open source version comes with no warranty and no support. This documentation describes the commercial product though much of what is here should apply equally to the open source.


The name OpenQM is often abbreviated to QM and it is this shorter name (which is the operating system command used to enter the product) that is used in most places within this documentation.


QM has a high degree of compatibility with other multivalue databases systems such as UniVerse, PI/open, Prime Information, Unidata, D3, Reality and many more.


Facilities are provided to create data files, enter, modify and retrieve data, produce reports and, where the data processing operation required cannot be achieved using the supplied tools, to construct powerful programs with the minimum of effort.


The major components of QM are:


The command processorThis includes a comprehensive command set to create, modify, copy and delete files and data stored in them as well as many commands to control processing. Developers and system administrators use the command processor directly. End users of QM applications do not usually have access to the command processor but the application software will make use of many of its features.


The query processorThis provides facilities to produce reports from stored data using an English-like command syntax. The query processor also provides tools to select data which meets particular criteria and to perform operations on this data. End users who need to produce reports may be able to make direct use of the query processor or they may access it via application interfaces.


QMBasicFor those occasions where QM does not provide the desired functions, QMBasic is a very easy to use programming language with powerful screen manipulation and data handling functions. QM extends the language found in other multivalue products to add modern features such as object oriented programming.


QMClient APIThe QMClient API is a set of functions that can be used to access QM from applications such as web servers or graphical user interface (GUI) applications. There are variants of this API library for use with many languages, including access from inside QMBasic to allow programs to call subroutines or execute commands on other servers.



Specific topics:


Application level securitySecurity issues


PrintingA summary of QM's printing system.