Glossary of Terms

Top  Previous 

 

AbortAn event that occurs at a major application failure. Aborts can be generated by QM internally if it detects a serious error, by application software, or by the end user (though this can be disabled). All programs, menus, paragraphs, etc active in the user's process are discarded and the user returns to the command prompt. The ON.ABORT VOC item can be used to capture this event and take special action.
AccountA collection of database files, programs, etc that form an application. Viewed from outside QM, an account is an operating system directory.
AKSee Alternate Key Index
AliasA way to assign an alternative name to a command, perhaps only within specific QM sessions. For example, users migrating from Pick style environments frequently use ALIAS to make COPY run the COPYP command.
Alternate Key IndexAn index structure that allows applications to identify all records that have a particular value in for a secondary key item. The index contains a list of primary key values for each secondary key value.
AssociationThe relationship between two or more multivalued data items where the values belong together. For example, an order processing system might have two associated fields, one holding a list of product codes, the other a list of quantities ordered.
AttributeAn alternative name for a field.
B-tree filesA file structure used to store alternate key indices. B-tree (balanced tree) files use an internal structure that stores data in sorted order and hence allow efficient access to ranges of key values.
Catalog(ue)A repository for application programs. QM supports three modes of cataloguing; local, private and global. Local and private cataloguing normally restrict access to the program to the one account. Globally catalogued programs can be accessed from all accounts.
Class moduleA program source module that acts as a container for persistent data definitions and public functions/subroutines in object oriented programming.
Command promptA prompt (a colon) displayed by the command processor when it is waiting for a command to be entered. This prompt changes to a double colon if the default select list is active.
Command stackA list of the most recent commands executed by a user. The command stack editor allows a user to look back at this historic data, modify commands and repeat commands. (In strict computing terms, the command stack isn't a stack at all. It's a queue but the incorrect term is widely used.)
Common blockA block of data items used by an application that are to be shared between programs in the one user process.
COMO FileA record in a special file ($COMO) that stores a copy of all output sent to the user's terminal. COMO (command output) trapping is enabled/disabled with the COMO command.
Conversion codeA code describing how data must be transformed from its internal representation within the database before displaying it to a user. For example, dates are usually stored internally as the number of days since 31 December 1967.
CorrelativeA rather limited equivalent to I-type dictionary items supported by QM in A and S-type items to simplify migration from other multivalue database products.
DatabaseA collection of data stored in a form that enables easy access to specific items.
DebuggerA development tool for debugging QMBasic programs.
DictionaryA secondary component attached to most database files that contains a description of the format of records stored in the file and default settings controlling how the query processor will display this data.
Directory filesA simple file structure that makes use of the underlying operating system's files to represent database records. Directory files do not offer high performance but can be accessed from outside QM and are therefore frequently used to exchange data with other software.
Dynamic arrayA character string divided into fields, values and subvalues using the mark characters. A database record is stored in this way but dynamic arrays can be used by application developers for other lists of items.
Dynamic fileA type of hashed file that automatically changes its modulus value to react to changes in the volume of data stored.
errlogAn error log file in the QMSYS account. QM writes entries to this log whenever an error is detected. Applications can also write to the log using the QMBasic LOGMSG statement.
FieldA column from the tabular representation of a database file.
FileA database table. QM supports hashed files for high performance and directory files for data exchange.
Format codeA code describing the way in which a data item is to be displayed or printed specifying, for example, the number of characters and justification.
GroupA portion of a hashed file. The number of groups in a file varies automatically according to the volume of data stored in it.
Group sizeThe size of a group in multiples of 1024 bytes. QM allows group size values in the range 1 to 8.
Hashed filesHigh performance files in which the location of a record is calculated by applying the hashing algorithm.
Hashing algorithmA mathematical calculation applied to the characters of a record key to deduce the group in which that record will be stored.
Hot Spot MonitorA tool for identifying the number of times each module of an application is executed and the processing time spent in them.
IDAnother name for the primary key of a record.
I-descriptorAnother name for an I-type.
Information styleA reference to the command and programming language style found in the Prime Information multivalue database product and others that adopt this style.
Inline promptA special syntax in a QM command that allows substitution of data into the command. Although the name implies that the construct will prompt the user for this data, there are many variants that retrieve data from elsewhere.
I-typeA dictionary item that describes a calculation that yields a result that can then be used exactly as though the value was stored in the database.
KeyA shortened term for the primary key of a record.
KeywordA word or symbol affecting the behaviour of a command. Keywords correspond to K-type VOC entries.
Laws of NormalisationA set of rules that govern the construction of relational databases. Multivalue databases discard the first law of normalisation, allowing them to store multivalued data. This results in a data model that more accurately reflects the real world than a fully normalised database, usually requires fewer tables and is quicker to develop.
LockingA mechanism used to ensure that two users cannot update the same data item simultaneously, a situation that would usually result in errors.
Mark charactersCharacters used within the QM to separate field, value and subvalues within a database record or other dynamic array.
MenuA M-type VOC record that describes a numbered list of options to be displayed to the user. Each option would have an associated sentence to be executed and, optionally, some help text.
ModulusThe number of groups in a hashed file.
Multi-fileA file that is made up from multiple subfiles that share a single dictionary. For example, a sales application might have a multi-file with a subfile for each business region.
MultivalueBreaking a simple data item (typically a field) into multiple instances of the same type of data.
OverflowQM uses high performance hashed files in which the location of a record can be deduced from its primary key. If there is insufficient space to store the record at its calculated location, the file system extends the group by adding one or more overflow blocks.
ObjectA run time instance of a class module.
ParagraphA VOC record containing a script of commands to be executed. Paragraphs can include special commands to provide conditional execution, loops, jumps, prompts, etc.
PhantomA QM process that runs in the background without a terminal. Phantom processes are started with the PHANTOM command and store a copy of all output that would normally have gone to the terminal in the $COMO file.
PhraseA part of a sentence, excluding the verb. Phrase entries may appear in the VOC or in dictionaries. Phrases are used as short forms in commands, to set defaults for the query processor, and to link fields within an association.
Pick styleA reference to the command and programming language style found in the Pick multivalue database product and others that adopt this style. (The first multivalue database environment was created by Dick Pick).
Primary keyA character string that uniquely identifies a record in a file. QM supports keys from 1 to 255 characters in length but lengths over 63 characters require the MAXIDLEN configuration parameter to be amended.
ProcThe predecessor of paragraphs found in other multivalue database products and supported in QM for ease of migration. Development of new Procs is discouraged.
Process dump fileA text file optionally generated at a run time application error. This file contains a full report on the state of the application at the time of the error.
QMAdminA Windows graphical tool for simple monitoring of a QM system.
QMBasicThe programming language used to develop QM applications.
QMClientAn interface that allows access to QM from other languages such as Visual Basic or C.
QMFixA tool for checking the internal structure of QM files after a system crash.
QMIdxA tool for updating internal pointers if an alternate key index file is moved.
qmlnxdA daemon process that runs on non-Windows system to perform background system monitoring tasks.
QMNetAn integrated component of QM that allows access to data stored on another QM server with full support for locking.
RecordAn item stored in a database file. The file system accesses data at the record level. Interpretation and manipulation of the content of the record is up to the application and related system tools. A record is usually formed from multiple fields which may in turn be broken down into values and subvalues.
Relational DatabaseA style of database that represents data in the form of tables (relations).
Secondary keyA data item in a record, or a value calculated from data in the record, that is to be used to construct an alternate key index so that records can be selected based on this value.
Select listA list of items, usually primary keys, to be processed. QM provides memory resident numbered select lists that are private to the process using them and disk based named lists that can be shared or retained for later use.
SentenceA complete QM command or the start of one. A sentence may be typed at the command prompt or it may be stored in the VOC for later execution simply by typing the name of the VOC record.
StringA sequence of characters stored as a data item.
SubvalueA subdivision of a value to represent multiple instances of the same type of data within the value. For example, an order processing system might have a pair of associated multivalued fields storing the product number and quantity for each item ordered. If it was necessary to store the serial number of each item shipped, this would be a subvalued field in the same association.
TableAnother name for a database file.
TerminfoAn internal database that stores details of the control codes appropriate to all terminal types supported by QM.
TransactionA related set up updates to a database that must either all happen or none must happen.
TriggerA user written QMBasic subroutine that is executed whenever selected operations are performed against a file. Triggers get their name from their use to trigger other related updates but they can also be used for data validation.
ValueA subdivision of a field to represent multiple instances of the same type of data. For example, an order processing system might have multiple values stored in the product number field of an order.
VerbThe command word in a sentence. This is always the first word and corresponds to a V-type VOC entry.
VOCA file found in all accounts that contains a list of all the words and symbols that can be used in commands and details of how they should be processed. By changing the VOC, it is possible to extend or modify the QM command language.
VocabularySee VOC.