Software Product Description _________________________________________________________ PRODUCT NAME: VAX Rdb/VMS, Version 4.0 SPD 25.59.12 Relational Database Management System DESCRIPTION VAX Rdb/VMS is a full-function, SQL-based relational database management system designed for the VMS Operating System. It is intended for general purpose, multi-user, centralized or distributed applications. VAX Rdb/VMS supports a complete set of languages, utilities, and precompilers that enable users to maintain and manip- ulate databases. VAX Rdb/VMS implements ANSI/ISO SQL as its standard interface to the database. VAX Rdb/VMS also includes SQL/Services, a client/server pro- tocol that provides remote access to VAX Rdb/VMS databases from various desktop platforms. Features Data Definition Language (DDL) Users can issue DDL statements through the interactive SQL and RDO utilities, the SQL precompilers, or the SQL module language in order to accomplish the following: o Create schemas (database), tables (relations), views, columns (fields), domains (global fields), and indexes (both as- cending and descending) o Create storage areas for tables and indexes o Define constraints in table definitions o Define triggers for table definitions DIGITAL June 1991 AE-DA11M-TE VAX Rdb/VMS, Version 4.0 SPD 25.59.12 Relational Database Management System o Grant and revoke access rights to schemas, tables, views and columns o Alter definitions of tables, columns, storage areas, and access rights o Delete definitions of tables, views, columns, indexes, constraints, triggers, storage areas, and access rights o Restructure schemas on-line, without unload/reload o Add comments to definitions of domains, tables, views, columns, and indexes o Define collating sequences for international character sets Data Manipulation Language (DML) Users can issue DML statements through all interactive, pre- compiler, and module language interfaces to accomplish the following: o Perform standard data manipulation operations: insert, select, update, and delete o Perform standard relational operations: select, join, union (SQL only) and project o Access multiple databases in the same program o Used with DECdtm software, perform coordinated data ma- nipulation operations across multiple databases (Two Phase Commit) o Manipulate data using: - Precompiled SQL or RDO DML statements embedded in high- level language programs - Compiled DML statements written in SQL module language and called from any 3GL language that complies with the VMS calling standards 2 VAX Rdb/VMS, Version 4.0 SPD 25.59.12 Relational Database Management System - Dynamically executed SQL statements accepted or gen- erated at program run-time - Interactive SQL or RDO DML statements. - RDO statements called from high-level language pro- grams o Optimize queries automatically, using: o Index selection on one or more columns in a table o Join order o Join by sort/merge o Perform atomic transactions completed by commit or roll- back Database Utilities o Logical import/export, for migrating data and/or meta- data to another Rdb database o On-line backup/restore, both incremental and full at the database or storage area level o Database verify utility to check and verify integrity of data structures in the database o Analysis utility for analyzing database page usage, space usage by tables and space usage and number of levels of indexes o Statistical utility for performance monitoring and database dump utility for database analysis o Load/unload utility which can operate on each table o ALTER utility for modifying the contents of corrupted database storage areas. (This function is not recommended or re- quired for normal use.) Interactive Utilities: SQL and RDO 3 VAX Rdb/VMS, Version 4.0 SPD 25.59.12 Relational Database Management System o Support all data manipulation operations: insert, select, update, and delete o Provide online help for features, language syntax, and errors o Allow interactive editing of previous commands o Provide SHOW facility to display database and session char- acteristics o RDO statements can be included in programs, using the Callable RDO facility o SQL supports the use of LSE templates to assist in en- tering syntactically correct statements Concurrency and Integrity Controls Concurrency o Full concurrent access (storage, retrieval, update, and deletion) in a multi-user environment o Multiple applications can access the same database con- currently o Optional read-only (snapshot) mode for increased concur- rency in large retrieval and report writing applications. When a read-only transaction is started, the operations do not lock out other users. Integrity o Validity checking at the column level o Referential integrity through column constraint check- ing from one or more tables o Rollback of failed transactions, both automatic and program- controlled o Recovery-unit journaling with transaction rollback re- covery 4 VAX Rdb/VMS, Version 4.0 SPD 25.59.12 Relational Database Management System o After-image journaling with rollforward recovery o Triggers: execution of one or more actions when certain database conditions are met Security o Database file protected by VMS file protection o Rights to perform database operations are kept in a set of Access Control Lists (ACLs) associated with entities in the database. ACLs are stored in the database and main- tained by the owner of the database. ACLs can be updated at any time. o Access Control Lists govern access to: - Tables - Views - Data definitions - Data manipulation operations - Database utility operations o Logging facility to log all database access requests. Languages o Precompiler support - The SQL precompiler supports an op- tional FIPS flagger, allowing the user to identify SQL statements which are not in the current ANSI/ISO SQL stan- dard. 5 VAX Rdb/VMS, Version 4.0 SPD 25.59.12 Relational Database Management System _________________________________________________________ 3GL Lan- guage Supported Rdb/VMS Precompiler ______________SQL$PRE___RDBPRE_____RDML__________________ VAX BASIC - X - VAX C X - X VAX COBOL X X - VAX FORTRAN X X - VAX PASCAL X - X VAX Ada X - - VAX_PL/I______X_________-__________-_____________________ o Module Language - SQL statements can be grouped into mod- ules and linked with any language that uses the VMS call- ing standard using the module language processor. The SQL Module language also supports the FIPS flagger option. o Dynamic SQL - Access through the SQL Dynamic Interface for all languages that support the VMS calling standard, although only programs written in VAX PL/I, VAX Ada and VAX C can use the full power of dynamic SQL, because these languages have built-in dynamic memory handling capabil- ities. o Callable RDO - Access through Callable RDO for all lan- guages that support the VMS calling standard. o SQL/Services VMS client applications can be written in any language that supports the VMS calling standard. MS-DOS® and OS/2[TM] client applications can be written in any language that supports the Microsoft® C calling standard. ULTRIX client applications should be written in portable C. Macintosh[TM] client applications can be written in MPW[TM] C. 6 VAX Rdb/VMS, Version 4.0 SPD 25.59.12 Relational Database Management System Physical Storage Characteristics o Data in the database is kept either in a single file or distributed between multiple files across a single or mul- tiple volumes. Each database storage area (file) has an accompanying file which may be used during read-only "snap- shot" operations. - A single file database can span multiple disk volumes when it exceeds the storage capacity of a single disk structure. - The multifile database feature allows the database to be distributed among multiple volumes on the same node or cluster per user specification. o A storage area may be defined as read-only o Table structure - Duplicate rows can be eliminated - No required ordering of columns on storage or retrieval o Storage structure - B-Tree (sorted in ascending or descending order) or hash indexes on tables - Periodic reorganization of database is NOT required o Data types - ASCII text (1-32767 bytes) - Varying string (1-32767 bytes) - Date - Signed byte (1 byte) - Signed word (16-bit) integer - Signed longword (32-bit) integer 7 VAX Rdb/VMS, Version 4.0 SPD 25.59.12 Relational Database Management System - Signed quadword (64-bit) integer - Single precision floating point (F_floating) - Double precision floating point (G_floating) - List cursors (Segmented strings) for storing large amounts of unstructured data, such as documents, voice, or graph- ics SQL/Services supports the following data types only: - ASCIZ - Null terminated ASCII string used to repre- sent all strings, numeric values and dates. - VARCHAR - Signed word integer followed by an array of 8-bit bytes used to store any type of data, includ- ing binary. The maximum number of bytes in a VARCHAR data item is 16383. - List cursors (Segmented strings) Remote Database Access o Application programs developed to access VAX Rdb/VMS databases and running under VMS on a given node in a DECnet net- work can: - Access VAX Rdb/VMS databases on the same node - Access VAX Rdb/VMS databases on other nodes in the net- work o SQL/Services provides remote access to VAX Rdb/VMS databases. Application programs interface to VAX SQL/Services through an Application Programming Interface (API) set of callable routines. These routines communicate via DECnet with the target database through the VAX SQL/Services server pro- cess residing on the VMS system. The VMS server can also work with the RdbAccess data access products to retrieve data from other systems. Client application programming libraries are provided for VMS, ULTRIX, MS-DOS, OS/2 and Macintosh. 8 VAX Rdb/VMS, Version 4.0 SPD 25.59.12 Relational Database Management System Data Dictionary o Stores data definitions in the database file itself, in the form of tables o Allows on-line retrieval of data definitions o Allows modification of data definitions using interac- tive data definition language o Allows storage of data definitions in the VAX Common Data Dictionary/Plus. The VAX CDD/Plus is optional but rec- ommended. Using VAX CDD/Plus to store definitions in a dictionary for an Rdb/VMS database allows users to: - Define fields and relations in the database based on dictionary definitions - Share standard definitions among several databases - Analyze the impact of changing shared definitions Sharing common dictionary definitions provides con- sistency of definitions across the database and other software products as users develop an application. 9 VAX Rdb/VMS, Version 4.0 SPD 25.59.12 Relational Database Management System VAXcluster/Local Area VAXcluster o VAX Rdb/VMS in a VAXcluster environment allows concur- rent, multiple-processor database access. VAX Rdb/VMS au- tomatically recovers the database if a processor in the VAXcluster fails and provides optional after-image jour- naling to further protect the integrity of the VAXclus- ter database. o VAX Rdb/VMS uses the VMS distributed lock manager to syn- chronize cluster-wide updates to the database root file, to initiate the automatic recovery process when a node fails, and to coordinate concurrent updates to the same database from processes running on different nodes. o VAXclusters offer higher availability to VAX Rdb/VMS databases in a properly configured VAXcluster environment. Distributed Database Environment Installation of the VAX Data Distributor optional layered product with Rdb/VMS provides: o Extraction of entire databases or parts of them, into tar- get databases on remote systems. o Extraction rollup, which is similar to extraction, with the additional capability of extracting relations and fields from multiple source databases into a single, new tar- get database. o Store and forward replication. Once a target database has been created, updates to the source database are forwarded to the target database(s) at scheduled intervals or on demand. Limits and Parameters o Maximum number of relations and views in a database: The recommended limit is 4096, however the practical limit will vary according to the complexity of the database, 10 VAX Rdb/VMS, Version 4.0 SPD 25.59.12 Relational Database Management System especially the number of views, indices and other log- ical areas contained in the database. Metadata volatil- ity can also affect this limit. o Maximum number of bytes in a record: 65,271 o Maximum number of fields in a relation: 2000 o Maximum index key size: 254 o Maximum length of a database object name: 31 characters o Minimum database page size: 512 bytes o Maximum size of database file: limited by available phys- ical devices o Maximum number of database attaches: 2032 HARDWARE REQUIREMENTS VAX, MicroVAX, VAXstation, or VAXserver configuration as spec- ified in the System Support Addendum (SSA 25.59.11-x). SOFTWARE REQUIREMENTS * VMS Operating System VMS Workstation Software (workstations only) DECnet-VAX For SQL/Services MS-DOS platform: MS-DOS Operating System DECnet PCSA Client for DOS C Runtime Library For SQL/Services ULTRIX platform: ULTRIX Operating System DECnet-ULTRIX For SQL/Services OS/2 platform: 11 VAX Rdb/VMS, Version 4.0 SPD 25.59.12 Relational Database Management System OS/2 Operating System PCSA for OS/2 For SQL/Services Macintosh platform: Macintosh Operating System Digital's Macintosh Integration Product * Refer to the System Support Addendum for availability and required versions of prerequisite software (SSA 25.59.11- x). ORDERING INFORMATION VAX Rdb/VMS Full Development Option (VD2) Software Licenses: QL-VD2A*-** Software Media: QA-VD2A*-** Software Documentation: QA-VD2AA-GZ Software Product Services: QT-VD2A*-** VAX Rdb/VMS Interactive Option (VCL) Software Licenses: QL-VCLA*-** Software Media: QA-VCLA*-** Software Documentation: QA-VCLAA-GZ Software Product Services: QT-VCLA*-** 12 VAX Rdb/VMS, Version 4.0 SPD 25.59.12 Relational Database Management System VAX Rdb/VMS Run-Time Option Note:The license for the Run-Time option is included with VMS. Software Media: QA-358A*-** Software Documentation: QA-358AA-GZ Software Product Services: QT-358A*-** * Denotes variant fields. For additional information on li- censes, services and media, refer to the appropriate price book. SOFTWARE LICENSING Product-Specific Licensing Information Full Development Option The VAX Rdb/VMS Full Development Option includes the base database software, the dynamic SQL engine, SQL/Services server, full database maintenance/ administrative facilities (RMU), full database definition and manipulation facilities (In- teractive SQL, Interactive RDO, Callable RDO), all avail- able language precompilers (SQL/Pre, Rdb/Pre, RDML) and com- pilers (SQL Module Language), and the SQL/Services client API libraries. The Full Development Option is the standard license. Interactive Option The Rdb/VMS Interactive Option includes the base database software, the dynamic SQL engine, SQL/Services server, full database maintenance/administrative facilities (RMU), full interactive database definition and manipulation facilities (Interactive SQL and/or Interactive RDO), and the Callable RDO facility. 13 VAX Rdb/VMS, Version 4.0 SPD 25.59.12 Relational Database Management System The purpose of the Interactive Option is to support execu- tion of previously developed applications, as well as to pro- vide the ability to perform database definition and inter- active queries using Interactive SQL and/or Interactive RDO. Program development is not supported under the Interactive Option. Run-Time Option A Run-Time Option of VAX Rdb/VMS is available. The right- to-use license for the Rdb/VMS Run-Time Option is included in the VMS license. In addition to the base database software, the Run-Time Op- tion includes the dynamic SQL engine, SQL/Services server process, the database maintenance utility (RMU), and a sub- set of the both the RDO Interactive Utility and Callable RDO facilities. The purpose of the Run-Time Only version is to support the execution of previously developed applications on a target machine. Interactive data definition and program development are not supported under the Run-Time Option. The software components contained in each license option is summarized in the following chart: _________________________________________________________ _____________Runtime___InteractiveDevelopment____________ Base X X X database software Dynamic X X X SQL engine 14 VAX Rdb/VMS, Version 4.0 SPD 25.59.12 Relational Database Management System _________________________________________________________ _____________Runtime___InteractiveDevelopment____________ SQL X X X /Services Server RMU X X X RDO Util- X [1] X X ity Callable X [2] X X RDO Interactive - X X SQL Util- ity SQL Module - - X Language Compiler SQL - - X /Services Client APIs SQL, RDML, - - X Rdb/Pre Precompil- ers______________________________________________________ [1] A subset of RDO commands (data manipulation only) is available in the Run-Time Option. [2] A subset of Callable RDO commands (data manipulation only) is available in the Run-Time Option. This software is furnished under the licensing provisions of Digital Equipment Corporation's Standard Terms and Con- ditions. For more information about Digital's licensing terms and policies, contact your local Digital office. LICENSING MANAGEMENT FACILITY 15 VAX Rdb/VMS, Version 4.0 SPD 25.59.12 Relational Database Management System This layered product supports the VMS License Management Fa- cility. License units for this product are allocated on a CPU ca- pacity basis. For more information on the License Management Facility, re- fer to the VMS Operating System Software Product Descrip- tion (SPD 25.01.xx) or the VMS Operating System documenta- tion set. For more information on Digital's licensing policies, con- tact your local Digital office. 16 VAX Rdb/VMS, Version 4.0 SPD 25.59.12 Relational Database Management System SOFTWARE PRODUCT SERVICES A variety of service options are available from Digital. For more information, contact your local Digital office. SOFTWARE WARRANTY Warranty for this software product is provided by Digital with the purchase of a license for the product as defined in the Software Warranty Addendum. ® MS-DOS and Microsoft are registered trademarks of Microsoft Corporation. [TM] OS/2 and DB2 are trademarks of International Busi- ness Machines Corporation. ® XT and AT are registered trademarks of International Business Machines Corporation. [TM] Macintosh, MPW, Apple and Appleshare are trademarks of Apple Computer, Inc. [TM] The DIGITAL Logo, VAX, VMS, MicroVAX, MicroVMS, VAXstation, Rdb/VMS, ULTRIX, DECnet, DEC, CDD/Plus, VAX Ada, VAX BASIC, VAX COBOL, VAX C, VAX PASCAL, VAX FORTRAN and VAXserver are trademarks of Digital Equipment Corporation. 17