© 2010 Ladybridge Systems Ltd
All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage and retrieval systems - without the written permission of the publisher. Products that are referred to in this documentmay be either trademarks and/or registered trademarks of the respective owners. The publisher and the author make no claim to these trademarks. While every precaution has been taken in the preparation of this document, the publisher and the author assume no responsibility for errors or omissions, or for damages resulting from the use of information contained in this document or from the use ofprograms and source code that may accompany it. In no event shall the publisher and the author be liable for any loss of profit or any other commercial damage caused or alleged to have been caused directly or indirectly by this document.
Publisher Ladybridge Systems Limited 17b Coldstream Lane Hardingstone Northampton NN4 6DB England
Special thanks to: Users of the OpenQM product who havecontributed topics and suggestions for this manual. Such information is always very much appreciated so please continue to send comments to firstname.lastname@example.org.
Technical Editor Martin Phillips Cover Graphic Ishimsi
Table of Contents
1 2 3 4 5 6 7 8 9 10 11 Introduction Installing And Running QM Setting up the Data Files Database Records and Mark Characters Dictionaries Viewingthe Data Conversion and Formatting Dictionary I-type Records Query Processing Building a Report Menu A Simple Loan Management Application 5 8 10 11 13 18 20 21 27 35 37
Welcome to the QM Tutorial Guide. This document takes you step by step through construction of a simple application to show many of the features of the QM Multivalue Database.Clearly, a brief tutorial cannot show everything. There is much more for you to discover for yourself once you have mastered the basic principles. In this tutorial we will create a simple library database, construct reports to view the content of the files and develop a small application program to handle loans and returns.
What Is a Multivalue Database? There are many different databases on themarket but they all fall into a small number of basic types. One of these is the relational database such as Oracle or Access. A relational database holds data in the form of tables in just the same way that we could store information as tables written on paper. The application that we are going to build in this tutorial is a database for a library. One of the tables required for this applicationmight be a list of the readers who use the library. We could picture this as below.
Reader id 1 2 3 4 Name A Smith R Jones T Harris L Williams Address 14 High Street 7 Bank Road 4 George Street 5 Earl Street 2543 1 Dec 00 Loan 1737 4823 Date due 21 Nov 00 27 Nov 00
In this simple table, each row represents a reader and each column some data associated with that reader. Reader number 3currently has no book on loan. Relational databases are built following a set of rules known as the Laws of Normalisation. One of these, the first law, states that we may not have repeating data. In practical terms this means that we cannot add extra columns to the right of the table to allow a reader to borrow more than one book.
Reader id 1 2 3 4 Name A Smith R Jones T Harris L Williams Address 14 HighStreet 7 Bank Road 4 George Street 5 Earl Street 2543 1 Dec 00 5473 30 Nov 00 Loan 1737 4823 Date due 21 Nov 00 27 Nov 00 Loan 7584 Date due 21 Nov 00
There are many reasons why this is not allowed, mostly based on the way in which the data will be stored by the computer system. If we are to observe the First Law of Normalisation, we must reconstruct our...