Appendix A, Glossary
Terms and Definitions
Access Module
The set of C++ classes, hidden from the programmer, that implement code written with the DB Interface Module for specific databases. When you buy SourcePro DB, you receive the DB Interface Module and a separate DB Access Module for your particular database. See Interface Module.
API
(A)pplication (P)rogramming (I)nterface. The code for communication and interaction between an application and an operating system or other software.
asynchronous processing
A kind of parallel processing in which an application running on a single machine accesses different resources simultaneously. It is a means of improving performance. In the DB Interface Module, asynchronous behavior can be passed in as a parameter to the constructor of a connection instance, and implemented through calls to asynchronous functions.
bulk reading and writing
Reading and writing from arrays rather than single units of data. In the DB Interface Module, a means of improving performance.
caching
A software mechanism for improving performance by allowing a database client to transfer larger sets of data to and from a database server than it would normally transfer at one time. In the DB Interface Module, caching is a client-side operation enabled by passing a cache size to the constructors of RWDBInserter and RWDBReader. Internally, it is implemented via bulk reading and writing. See bulk reading and writing.
connection
In the DB Interface Module, an instance of class RWDBConnection that encapsulates a connection to a database. Connections can be implicit (created or assigned from the connection pool by the DB Interface Module) or explicit (provided by the user). Explicit connections deliver better performance.
connection pool
A repository that maintains up to a set number of connections for the life of an RWDBDatabase object.
database-dependent classes
In the DB Interface Module, the classes that have pointers to database-dependent implementations. See database-independent classes.
database-independent classes
In the DB Interface Module, the classes that are not implemented differently for different databases. See database-dependent classes.
DBMS
(D)ata(b)ase (M)anagement (S)ystem. Software that manages access to a database by multiple users. See RDBMS.
DDL
(D)ata (D)escription (L)anguage. The portion of the SQL language used to create, populate, maintain, and modify the data structures in a database. The DB Interface Module encapsulates major DDL concepts. See DML.
DML
(D)ata (M)anipulation (L)anguage. The portion of the SQL language used to insert, update, and delete data in tables, and to control database transactions. The DB Interface Module encapsulates major DML concepts. See DDL.
dynamic SQL
A means of binding data to placeholders within an SQL statement so that the statement can be executed repeatedly without reparsing. In the DB Interface Module, dynamic SQL is implemented through class RWDBBoundExpr. See Open SQL.
Interface Module
Within SourcePro DB, the set of C++ classes used to write database-independent applications. The DB Interface Module encapsulates SQL 92 DML and DDL constructs. When you buy SourcePro DB, you receive the DB Interface Module and the DB Access Module that implements the DB Interface Module code for your particular database. See Access Module.
interface-implementation paradigm
A design paradigm of the DB Interface Module. The interface classes are the public classes that model objects in the application domain. The implementation classes are the private classes that implement the semantics of their associated interface classes. Only the interface classes are visible to the programmer. DB Access Module classes are implementation classes. See Access Module.
internationalization
Called i18n for short, it is the feature of software that accommodates localization (adaptation to different cultures through the use of local conventions). Rogue Wave software is internationalized in the sense that it provides a framework for localization. For example, the DB Interface Module supports multibyte, wide character, and Unicode strings for database input and output. See localization.
localization
Adaptation of software to different cultures through the use of local conventions for alphabets, currencies, dates, languages, numbers, and times. Rogue Wave products accommodate localization of software applications. See internationalization.
normalization of data types
In the DB Interface Module, the automatic conversion of database-dependent types to C++ types using class RWDBValue.
Open SQL
An alternative low-level interface within the DB Interface Module. Open SQL allows users to create their own SQL statements, package associated data into a provided buffer class, bind buffers to their statements, and execute their statements repeatedly without parsing. See dynamic SQL.
producer-product paradigm
A design paradigm of the DB Interface Module. Under this paradigm, an application obtains object instances (products) by requesting them from other object instances (producers) rather than by invoking a constructor. In this way, the DB Interface Module ensures that an application receives the correctly-typed, database-dependent variants of the implementation classes.
relational database
A collection of individual data items organized as tables. Data elements within the tables have defined relationships, but data can be reassembled for different uses without changing the database itself. See RDBMS and DBMS.
RDBMS
(R)elational (D)ata(b)ase (M)anagement (S)ystem, or relational database for short. The most common kind of DBMS in which data is organized as tables. You communicate with an RDBMS using SQL. See relational database and DBMS.
SQL
(S)tructured (Q)uery (L)anguage. The standard programming language for communicating with a relational database. Provides commands for accessing, inserting, deleting, and updating data. The DB Interface Module is a C++ encapsulation of SQL 92 DML and DDL concepts, and other useful database abstractions.
stored procedure
An SQL program that is stored in a database for use by individual clients, rather than in the clients themselves. In practice, a mechanism used by companies to enforce database policy. Class RWDBStoredProc encapsulates database stored procedures.