The mvBase file system consists of four levels. At the top is the SYSTEM Dictionary. It contains pointers to multiple Master Dictionaries (MD or M/DICT) on the second level, each Master Dictionary representing an account on the system. Each Master Dictionary of an account contains pointers to the account’s file dictionaries (third level). A file dictionary can point to one or more data files on the fourth level. The mvBase file system is illustrated below.
The top three levels of the file system are represented by dictionaries. A dictionary is a file containing any number of items or entries. These entries supply definitions for lower-level dictionaries and data level files. The following types of items are found in dictionaries:
Account Definition items.
File Definition items (D-pointers).
Verb Definition items.
Attribute Definition items.
Account Definition items and File Definition items are both D-pointers; that is, they both contain a D-code as the first line of the entry. There are also Q-pointers, which reference D-pointers, that exist as synonym definitions. Verb Definition items are available in each account, providing access to system programs. Attribute Definition items are created in the file dictionary to describe the structure of the data file.
Only the SYSTEM Dictionary contains Account Definition items. Only the Master Dictionary contains Verb Definition items. All three types of dictionaries contain File Definition items. Attribute Definition items are found in file dictionaries as well as the Master Dictionary.
SYSTEM Dictionary
The SYSTEM Dictionary organizes information about user accounts. It contains an Account Definition item for each user on the system. It also contains File Definition items for various system files.
The SYSTEM Dictionary is accessible from the SYSPROG account. This account is used by a system administrator to maintain the mvBase system. To create a new account, the administrator invokes the CREATE-ACCOUNT Proc. It creates a Master Dictionary for the account and copies into it all the items from NEWAC, a prototype Master Dictionary. It also creates an Account Definition item in the SYSTEM Dictionary.
Account synonyms can be created to reference an Account Definition item. These items are Q-pointers that point to the Account Definition item. In this way, an administrator can provide individual user-IDs (as well as security privileges) to users of the same account.
Entries in the SYSTEM Dictionary should not be updated while other users are logged on to the system. When users log on to the system, the mvBase system establishes pointers to data in the SYSTEM Dictionary, and updating this dictionary can destroy these pointers. However, a new account can be created at any time. Creating new items does not affect existing pointers.
The SYSTEM Dictionary also contains pointers to a number of important system-level files. For more information on system-level files, see Managing Accounts.
Master Dictionary
Each account has one Master Dictionary that contains the vocabulary for that account. The Master Dictionary primarily contains Verb Definition items, File Definition items, and keywords.
At the time of its creation, the Master Dictionary is a copy of the NEWAC file defined in the SYSPROG account.
File Dictionary
Each data file must be associated with a file dictionary on the level above it. The file dictionary points to the data file and describes the structure of the data file. A file dictionary can be shared by more than one data file.
Some file dictionaries do not have an associated data file. These files are called single-level files and might contain actual data. A single-level file points to itself. It can be referenced as a file dictionary or as a data file.
Data Files
In the mvBase system a database file is made up of two physical files:
A dictionary file that describes the structure of the database.
A data file that contains the actual data stored on disk.
In other words, the raw data is kept in one place and the definition of that data is stored separately in the dictionary. A piece of data can be stored in a single location, unencumbered by its description. The dictionary contains this description, and it might contain multiple descriptions of the same piece of data. This arrangement provides a tremendous amount of flexibility in setting up a database, permitting different logical views of the same set of data.
A data file is organized as a collection of variable length items. An item is organized as a sequence of variable length attributes. Each item is identified in the file by a unique item-ID. For example, items in the ORDERS file are assigned sequential numeric item-IDs that appear on a printed form as the order number.
Multiple data files with a similar structure can share a single dictionary.
See Also