Database Management System
| BASIS Database Management System
The BASIS Database Management System (DBMS) provides the developer with relational access and high speed direct navigational access to their data. The BASIS DBMS provides robust and powerful functionality allowing developers the flexibility to combine powerful SQL statements and relational data access methods with the performance and control of navigational operations such as direct table and index access and direct table movement. In addition, the BASIS SQL engine enables developers to execute queries and other SQL statements from third party products. Combining these two powerful data access methods returns the result set from an SQL query or from a table opened directly on the server via the highly optimized BASIS ISAM database engine. The result is an easy-to-use interface that supports SQL commands and direct-result-set navigation, all in one integrated solution. The developer can:
Data dictionaries are organized, formal descriptions of data files that store physical and logical file attributes. The BASIS Data Dictionary is a powerful tool that holds a central description for tables in a database and describes the characteristics of one or more of the BBx file components of a DMBS.
Minimum + SQL Grammar and Level 1 API
During this analysis, the BBj SQL engine determines the average number of distinct values for various numbers of segments of a particular key. At runtime, the SQL engine uses this information to determine which key to use for iteration. For example, assume there is a key on the LAST_NAME column in a table and one on the STATE column. Now assume that all people in the table live in New Mexico, Colorado, or Texas. Also, assume that most of the people do not have the same last name. If the SQL engine knows that there are more distinct values in the LAST_NAME column than there are in the STATE column, it can conclude that searching on the LAST_NAME key is probably going to require that it read fewer records. If the SQL engine does not know that LAST_NAME is more distinct than STATE, it has no way of knowing which key is more efficient for searching.
After creating a view, treat it as a base table in any future queries or as the target of an insert, update, or delete, given enough view information. It is not possible at this time to create a view of a union or a view with a GROUP BY with the BASIS ODBC Driver. A view has three primary components: columns, tables, and a WHERE clause. The physical BASIS Data Dictionary file represents each of these components.
Tools to Manage Non-Normalized Data
The demand for views involves non-normalized data, which is the intermixing of record types into a single file. Non-normalized data is a common practice in legacy BBx Applications. These applications require a mechanism to view one physical file as more than one logical file without actually creating two new files.
The BASIS DBMS preserves the investment made in existing data file design by combining the powerful Views feature with a variety of new functions and capabilities. The Views feature lets you create virtual tables defined from multiple record types, tailor the specific rows and columns displayed to each end user after a query, and save the table for future queries.
Several features, such as nested SELECTS and outer joins along with Views, help you better manage non-normalized data and create more focused and powerful queries. In addition, a multilevel logging feature enhances your ability to diagnose problems effectively.
Direct Result Set Navigation
File System Components of the BASIS DBMS
MKEYED files have the following restrictions: 16 keys per record and a total of 48 segments per record. A single field or part of a field is called a segment. A key can be composed from one or more segments. The total size of a key cannot be more than 120 bytes.
VKEYED files provide for variable length records and named keys.
Journaled Files and Transactions
Journaled files and transactions allow for the atomical performance of mission-critical file operations. A journaled system with transactions controls the process of grouping file operations so that either all operations are on disk or no operations are on disk.