The Data Management Criteria establishes the functional, performance and verification criteria in five functional areas: File Access, File Management, Database Access, and Database Management. This criteria includes the Defense Information System Agency (DISA) Data Access Services (DAS) Software Requirements Specification (SRS) requirements
| Criteria Number |
Criteria Description |
|
1.0 | NON-COMPONENT SPECIFIC |
|
1.1 | DII COE compliant. |
|
1.2 | Maintenance/Support provided. |
|
1.2.1 | Maintenance contract. |
|
1.2.2 | Phone-in technical support. |
|
1.2.3 | Toll free support line. |
|
1.2.4 | 24 Hour Support. |
|
1.2.5 | Version upgrades included as part of the maintenance contract free of charge. |
|
1.2.6 | Web page maintained on the Internet for FAQs (Frequently Asked Questions). |
|
1.2.7 | E-mail address for customer support. |
|
1.3 | Documentation/help provided. |
|
1.3.1 | Administrator/Installation Guide. |
|
1.3.2 | Reference Manual. |
|
1.3.2.1 | On-Line. |
|
1.3.2.2 | Hardcopy. |
|
1.3.3 | User's Manual. |
|
1.3.3.1 | On-Line. |
|
1.3.3.2 | Hardcopy. |
|
1.3.4 | Tutorial. |
|
1.3.4.1 | On-Line. |
|
1.3.4.2 | Hardcopy. |
|
1.3.5 | On-line help. |
|
1.3.5.1 | Context-sensitive. |
|
1.3.5.2 | Not context-sensitive. |
|
1.3.6 | A comprehensive start-up kit, containing necessary information about installation and use of the product is provided. |
|
1.4 | Training/courses offered include: |
|
1.4.1 | Administrative. |
|
1.4.1.1 | On-Site. |
|
1.4.1.2 | Remote. |
|
1.4.2 | User. |
|
1.4.2.1 | On-Site. |
|
1.4.2.2 | Remote. |
|
1.5 | The product is warranted by the vendor for Year 2000 compliance. |
|
1.6 | The product is portable to the following operating systems: |
|
1.6.1 | HP/UX |
|
1.6.2 | IBM AIX |
|
1.6.3 | Linux |
|
1.6.4 | Macintosh |
|
1.6.5 | MS Windows environment |
|
1.6.6 | SUN |
|
1.6.7 | Windows NT |
|
1.7 | Supports desktop client/server access from the following: |
|
1.7.1 | HP-UX |
|
1.7.2 | IBM AIX |
|
1.7.3 | Linux |
|
1.7.4 | Macintosh |
|
1.7.5 | MS Windows Environment |
|
1.7.6 | SUN |
|
1.7.7 | Windows NT |
|
2.0 | DATA MANAGEMENT REQUIREMENTS |
|
2.1 | File Access Requirements |
|
2.1.1 | Cross Platform Portability |
|
2.1.1.1 | Works with files which range in size from 0 bytes to four gigabytes. |
|
2.1.1.2 | Supports 32 bit file access formats. |
|
2.1.1.3 | Able to read and write variable size file blocks. The default block size varies from operating system to operating system. The product shall allow parameters to define the block size. |
|
2.1.1.4 | Provides a cross-platform file structure which will allow machines of different architectures and capabilities to determine the file's characteristics. The attributes contained within the cross-platform file structure are: handle to the file, memory block containing the file name, file type, most recent error condition, number of bytes actually read or written and attributes assigned to the file. |
|
2.1.1.5 | Supports big-endian (byte 0 is the most significant) and little-endian (byte 0 is the least significant) byte swapping. Various machines have different architectures which store data differently. The File Management Services shall provide the ability to specify a parameter which will order the Most Significant Bit (MSB) . |
|
2.1.1.6 | Provides support for maintaining alphanumeric case sensitivity of file name. The POSIX Operating System maintains case sensitivity. |
|
2.1.2 | Functional Capabilities
|
|
2.1.2.1 | Supports the following file management functions: create, delete, rename, file size, get attributes, set attributes, open, close, read, write, open file dialog and save file dialog. |
|
2.1.2.2 | Provides a capability to simultaneously access files in read-only mode. |
|
2.1.2.3 | Provides the capability to create and access files with read, write and execute parameter associations. |
|
2.1.2.4 | Provides auditing mechanisms for tracking the time and identity of the user or application which is accessing a file. This capability should be able to be enabled or disabled utilizing security administration tools |
|
2.1.3 | File System Formats |
|
2.1.3.1 | Provides the capability to read and write text files and unicode. Text files are human readable files based upon the standard and extended ASCII character set. |
|
2.1.3.2 | Provides the capability to use binary files (i.e., Compressed files, Encrypted Files, and Library Files). |
|
2.1.3.3 | Provides the capability to compress files using compression algorithms and to uncompress a file prior to the retrieval of data. |
|
2.1.3.4 | Provides the capability to encrypt files. |
|
2.1.3.5 | Provides the capability to create and utilize library files. |
|
2.1.3.6 | Provides the capability to convert files between Text, Symbolic link (SYLK), and lotus (WKS) files. |
|
2.1.3.7 | Provides the ability to import file(s) and optionally notify the client, IAW client set parameters, on completion of the task. |
|
2.1.4 | File Feature Specification |
|
2.1.4.1 | Supports standard file feature specifications (i.e., name, directory, volume and path). |
|
2.1.4.2 | Provides support for using valid characters and separators (i.e, case sensitivity, valid separators, disk volume identifiers and invalid name characters) for file names. |
|
2.1.5 | Directory Services |
|
2.1.5.1 | Provides the capability to get directory information. |
|
2.1.5.2 | Provides support for hidden files. |
|
2.1.5.3 | Provides the capability to get the current directory. |
|
2.1.5.4 | Provides the capability to traverse the directory tree. |
|
2.1.5.5 | Provides the capability to get a list of files in a directory. |
|
2.1.5.6 | Provides the capability to access data files identified by logical, not physical, file names. |
|
2.1.5.7 | Provides the capability to access local and remote data files. |
|
2.1.5.8 | Provides the capability to archive selected query responses. |
|
2.1.6 | Connectivity |
|
2.1.6.1 | ODBC drivers support following SQL Conformance Levels: |
|
2.1.6.1.1 | Core SQL Grammar. |
|
2.1.6.1.2 | Extended SQL Grammar. |
|
2.1.6.2 | Provides access to data from an Internet browser. |
|
2.1.7 | Application Programming Interface |
|
2.1.7.1 | Provides a transaction processing API that is independent of the database management system. |
|
2.1.7.2 | ODBC Drivers support the following API Conformance Levels: |
|
2.1.7.2.1 | Core API. |
|
2.1.7.2.2 | Level 1 API. |
|
2.1.7.2.3 | Level 2 API. |
|
2.1.7.3 | Provides multiple types of access support (e.g., ODBC, DB-Library, DDCS/2, OCI, SequeLink, EDA/SQL, DAL, Preprocessor-based mechanism to establish and maintain links with a server, DAO (Direct Access Objects), OLE). |
|
2.1.8 | User Interface |
|
2.1.8.1 | Allows users to interact with databases through conventional front-end interfaces and methods, such as the following: |
|
2.1.8.1.1 | Interactive queries from a terminal. |
|
2.1.8.1.2 | 4GL development tools. |
|
2.1.8.1.3 | Vendor-specific SQL pass directly to the DBMS. |
|
2.1.8.1.4 | SQL extensions. |
|
2.1.9 | Standard, Interoperability and Platforms |
|
2.1.9.1 | Implements a Data Definition Language (DDL) supporting the ANSI SQL standard referential integrity features: |
|
2.1.9.1.1 | referential integrity constraints |
|
2.1.9.1.2 | definition of primary keys |
|
2.1.9.1.3 | definition of unique keys |
|
2.1.9.1.4 | definition of foreign keys |
|
2.1.9.2 | Is consistent with the standards for open system architecture. |
|
2.1.9.3 | Supports relational, hierarchical or object-oriented conceptual models. |
|
2.1.9.4 | Interoperates with third party desktops to support maintenance in an environment of: |
|
2.1.9.4.1 | heterogeneous hardware |
|
2.1.9.4.2 | operating systems |
|
2.1.9.4.3 | Tools |
|
2.1.9.4.4 | Applications |
|
2.1.9.5 | Interoperates with the following communications protocols: |
|
2.1.9.5.1 | TCP/IP |
|
2.1.9.5.2 | POSIT |
|
2.1.9.6 | Supports host / platform file management transparency. |
|
2.1.9.7 | Sustains client-server connections independent of: |
|
2.1.9.7.1 | the client applications. |
|
2.1.9.7.2 | the database server's hosts. |
|
2.1.10 | Very Large Database Support |
|
2.1.10.1 | Supports parallel accomplishment of each of the following sets of database activities: |
|
2.1.10.1.1 | reading in data from multiple sources, |
|
2.1.10.1.2 | Unloading the data onto other backup media, |
|
2.1.10.1.3 | Loading the data into the database |
|
2.1.10.2 | Performs index builds in parallel. |
|
2.1.10.3 | The product executes in parallel the following Parallel Data Query operations: |
|
2.1.10.3.1 | Scan |
|
2.1.10.3.2 | Join |
|
2.1.10.3.3 | Sort |
|
2.1.10.3.4 | Aggregate |
|
2.1.10.4 | Supports automatic rerouting of disk reads and writes from the failed mirrored disk to the operating mirrored disk. |
|
2.1.10.5 | Recovers by automatically re-synchronizing data with the new mirrored disks once the failed mirrored disk is repaired. |
|
2.1.10.6 | Supports interleaving the disk reads across both disks when both the primary and mirrored disks are operational. |
|
2.1.10.7 | Supports asynchronous writes to both the primary and mirrored disk. |
|
2.1.10.8 | Provides the capability for an application program to dynamically modify the update frequency of mirrored databases. |
|
2.2 | Database Access Requirements |
|
2.2.1 | Database Management Services Capabilities |
|
2.2.1.1 | Processes ANSI standard SQL as specified in FIPS PUB 127-2. |
|
2.2.1.2 | Supports processing of SQL statements embedded in an application program. |
|
2.2.1.3 | Provides the capability to create named sequences of SQL statements at the request of an application program. |
|
2.2.1.4 | Provides the capability to modify named sequences of SQL statements at the request of an application program. |
|
2.2.1.5 | Provides the capability to save named sequences of SQL statements at the request of an application program. |
|
2.2.1.6 | Provides the capability to execute named sequences of SQL statements at the request of an application program. |
|
2.2.1.7 | Provides the capability to delete named sequences of SQL statements at the request of an application program. |
|
2.2.1.8 | Provides the capability to commit database transactions. |
|
2.2.1.9 | Supports the notification of applications when a database transaction cannot be performed |
|
2.2.1.10 | Provides the capability to rollback database transactions. |
|
2.2.1.11 | Provides capabilities which monitor for the occurrence of conditions established by the application (e.g. read request completed successfully, record insert request completed successfully, update request completed successfully, delete action completed successfully, cardinality violation, integrity constraint violation) whether the database is up or down, status of database cursors. These capabilities shall also include the ability to notify the appropriate application processes when these conditions are satisfied. |
|
2.2.1.12 | Provides the capability to create and add configuration information utilizing identifiers such as Configuration ID, Configuration Entry ID to identity the configuration data itself as well as the configuration entry data. |
|
2.2.1.13 | Provides the capability to save the configuration entry information. |
|
2.2.1.14 | Provides the capability to delete after confirmation, the configuration entry as specified by a unique configuration entry identifier. |
|
2.2.1.15 | Provides the capability to maintain mapping between logical database identifiers and physical locations to provide local transparency. |
|
2.2.1.16 | Provides the capability to use multiple local and remote databases concurrently. |
|
2.2.1.17 | Provides the capability to create multiple configurations of logical databases. |
|
2.2.1.18 | Provides the capability to modify multiple configurations of logical databases. |
|
2.2.1.19 | Provides the capability to delete multiple configurations of logical databases. |
|
2.2.1.20 | Provides the capability to add or delete databases on different hosts (nodes on the network) dynamically. |
|
2.2.1.21 | Provides a common Graphical User Interface (GUI) for all tools. |
|
2.2.1.22 | Provides the capability for asynchronous operations so that client request are queued and sent when the connection is available and responses are also queued. |
|
2.2.1.23 | Provides the capability for suspended / disconnected client operations. |
|
2.2.1.24 | Provides the capability for unsolicited data alerts which provides for incoming request to become available when received. |
|
2.2.1.25 | Provides the capability for 'auto-configuration' which provides an uniform registration system for application agents and client. |
|
2.2.1.26 | Provides the capability to work with different Redundant Array of Inexpensive Disks (RAID) modes. |
|
2.2.1.27 | Provides the capability for Binary Large Objects. |
|
2.2.1.28 | Provides Ada interfaces for all public APIs. |
|
2.2.1.29 | Provides the capability to issue SQL statements through API function calls. |
|
2.2.1.30 | Provides data access to heterogeneous databases in accordance with Remote Data Access (RDA) Standards. |
|
2.2.1.31 | Provides an access mechanism by which applications can access data domains without the knowledge of exact structure or product in which the data is stored. |
|
2.2.2 | Application Generation |
|
2.2.2.1 | Application Generation Capabilities |
|
2.2.2.1.1 | Provides the capability to create data entry forms using a standard forms generation language. |
|
2.2.2.1.2 | Provides the capability to modify data entry forms using a standard forms generation language. |
|
2.2.2.1.3 | Provides the capability to delete data entry forms using a standard forms generation language. |
|
2.2.2.1.4 | Provides the capability to create reports using a standard report specification language. |
|
2.2.2.1.5 | Provides the capability to modify reports using a standard report specification language. |
|
2.2.2.1.6 | Provides the capability to delete reports using a standard report specification language. |
|
2.2.2.1.7 | Provides the capability to embed API function calls in forms and report generation language specifications. |
|
2.2.2.1.8 | Provides the capability to integrate database objects including (but not limited to) maps, overlays, documents, reports, messages, and images. |
|
2.2.2.2 | Database Query Processing |
|
2.2.2.2.1 | Provides the capability to query for data records in the database. |
|
2.2.2.2.2 | Provides the capability to create queries on an ad hoc basis in order to produce special reports that are not previously formatted and available through the database applications themselves. |
|
2.2.2.2.3 | Provides the capability to modify queries on an ad hoc basis in order to produce special reports that are not previously formatted and available through the database applications themselves. |
|
2.2.2.2.4 | Provides the capability to store queries on an ad hoc basis in order to produce special reports that are not previously formatted and available through the database applications themselves. |
|
2.2.2.2.5 | Provides the capability to delete queries on an ad hoc basis in order to produce special reports that are not previously formatted and available through the database applications themselves. |
|
2.2.2.2.6 | Provides the capability to recall queries on an ad hoc basis in order to produce special reports that are not previously formatted and available through the database applications themselves. |
|
2.2.2.2.7 | Provides the capability to store the results of an ad hoc query as a system file. |
|
2.2.2.2.8 | Provides the capability to execute ad hoc (e.g. relational, spatial, combined) database queries. |
|
2.2.2.2.9 | Provides the capability for multiple local and remote application programs to concurrently query a database instance. |
|
2.2.2.2.10 | Provides the capability for application programs to query multiple local and remote databases concurrently. |
|
2.2.2.3 | Database Backup and Restore Processing |
|
2.2.2.3.1 | Able to compress all the data offloaded at the user's discretion and automatically decompress all the restored data when the product detects that the user is attempting to restore compressed data. |
|
2.2.2.3.2 | Archives data at the user's discretion and restore the data when directed. |
|
2.2.2.3.3 | Provides to the application on request an audit report containing all records that were rejected during the offload or during the load. The report shall indicate the reason each record was rejected. |
|
2.2.2.4 | Performance Optimization |
|
2.2.2.4.1 | Provides the capability to optimize data traffic to improve communication performance. |
|
2.2.2.4.2 | Provides the capability to reduce the size of data messages. |
|
2.2.2.4.3 | Provides the capability to optimize data queues. |
|
2.2.2.4.4 | Provides the capability to optimize SQL statements. |
|
2.2.2.5 | Database Journal Processing |
|
2.2.2.5.1 | Provides the capability to create a database journal. |
|
2.2.2.5.2 | Provides the capability to enable the logging of transactions in a database journal. |
|
2.2.2.5.3 | Provides the capability to disable the logging of transactions in a database journal. |
|
2.2.2.5.4 | Provides the capability to empty the contents of a database journal. |
|
2.2.2.5.5 | Provides a rollforward capability to apply journalled transactions to a backup database copy. An error shall be returned if journalling is disabled. |
|
2.2.2.6 | Database Manipulation |
|
2.2.2.6.1 | Provides generic views and definitions of the underlying database structure. |
|
2.2.2.6.2 | Provides the capability to view data records in the database. |
|
2.2.2.6.3 | Provides the capability to print data records in the database. |
|
2.2.2.6.4 | Provides the capability to generate reports with data from the database. |
|
2.2.2.6.5 | Provides the capability to read data in the databases. |
|
2.2.2.6.6 | Provides the capability to modify data in the databases. |
|
2.2.2.6.7 | Provides the capability to retrieve data according to multiple search criteria. |
|
2.2.2.6.8 | Supports the capability to create a new view based upon existing tables and views in the database. |
|
2.2.2.6.9 | Supports the capability to delete a specified view. All views defined in terms of the specified view shall also be deleted. |
|
2.2.2.7 | Database Locking |
|
2.2.2.7.1 | Provides the capability to enable/disable database transaction-level locking. |
|
2.2.2.7.2 | Provides the capability to enable/disable record, row, and table locking. |
|
2.2.2.7.3 | Enables an application to place a read (share) or write (exclusive) lock on all data contained in a table. |
|
2.2.2.7.4 | Enables a user-configurable default time-out to be imposed on table locks in order to avoid deadlock. |
|
2.2.2.7.5 | Enables an application to unlock a table by means of deleting a read or write lock which was previously placed on the table. |
|
2.2.2.7.6 | Enables an application to place a read (share) or write (exclusive) lock on a record or a set of records. |
|
2.2.2.7.7 | Enables an application to unlock a record or a set of records by means of deleting a read or write lock which was previously placed on the record(s). |
|
2.2.2.7.8 | Enables an application to change the type of lock currently in use on the locked table or records, i.e. from read to write and vice versa. |
|
2.2.2.7.9 | Enables an application to request a group of locks where either all locks are obtained successfully or none are obtained. This is an alternative measure for avoiding deadlock. |
|
2.2.2.7.10 | Enables an application to delete all locks associated with a specified lock group. |
|
2.2.2.8 | Query Support |
|
2.2.2.8.1 | Provides the capability to cancel an active query. |
|
2.2.2.8.2 | Provides the capability to detect primary database unavailability. |
|
2.2.2.9 | Data Access/Queries |
|
2.2.2.9.1 | Provides the capability to perform global query optimization. |
|
2.2.2.9.2 | Allows users to build their own access modules or customized drivers to access unique data sources. |
|
2.2.2.10 | QUERIES |
|
2.2.2.10.1 | Users can run predefined queries from: |
|
2.2.2.10.1.1 | Personal folders. |
|
2.2.2.10.1.2 | Group folders. |
|
2.2.2.10.1.3 | Public folders. |
|
2.2.2.10.2 | Users can specify filters using: |
|
2.2.2.10.2.1 | Fixed values. |
|
2.2.2.10.2.2 | Prompts with picklists. |
|
2.2.2.10.3 | Users can modify: |
|
2.2.2.10.3.1 | Column fonts. |
|
2.2.2.10.3.2 | Colors. |
|
2.2.2.10.3.3 | Names. |
|
2.2.2.10.3.4 | Descriptions. |
|
2.2.2.10.3.5 | Users can break on any field. |
|
2.2.2.10.3.6 | Querying and reporting are unified in one interface. |
|
2.2.2.10.4 | Queries can include: |
|
2.2.2.10.4.1 | Wildcard strings. |
|
2.2.2.10.4.2 | Dates. |
|
2.2.2.10.4.3 | List comparisons. |
|
2.2.2.10.4.4 | Range comparisons. |
|
2.2.2.10.5 | Provides a query governor. |
|
2.2.2.10.6 | Performs multilevel sorts in ascending or descending order. |
|
2.2.2.11 | REPORTS |
|
2.2.2.11.1 | Supports screen preview of reports. |
|
2.2.2.11.2 | Reports can be directed to a file. |
|
2.2.2.11.3 | Reports can be directed to a printer. |
|
2.2.2.11.4 | Report execution can be automated. (e.g., Batch Reports.) |
|
2.2.2.11.5 | Users can export query results to: |
|
2.2.2.11.5.1 | Spreadsheets. |
|
2.2.2.11.5.2 | Word processors. |
|
2.2.2.11.5.3 | E-mail. |
|
2.2.2.11.6 | Provides predefined formulas for building reports and conducting data analysis activities. |
|
2.2.2.11.7 | Provides the capability to conditionally suppress the following when printing: |
|
2.2.2.11.7.1 | Fields. |
|
2.2.2.11.7.2 | Lines. |
|
2.2.2.11.7.3 | Records. |
|
2.2.2.11.8 | Generates summary reports that hide user-specified detail records. |
|
2.2.2.11.9 | Users can: |
|
2.2.2.11.9.1 | Add columns. |
|
2.2.2.11.9.2 | Remove columns. |
|
2.2.2.11.9.3 | Re-sequence columns. |
|
2.2.2.11.10 | Users can view and report on data from a multi-dimensional standpoint. (e.g., dates, company name, industry group) |
|
2.2.2.12 | REPORT DESIGN |
|
2.2.2.12.1 | The product can auto-trim: |
|
2.2.2.12.1.1 | Extra spaces. |
|
2.2.2.12.1.2 | Blank lines. |
|
2.2.2.12.2 | The product is capable of: |
|
2.2.2.12.2.1 | Auto pagination. |
|
2.2.2.12.2.2 | Insertion of page breaks. |
|
2.2.2.12.3 | The product can draw: |
|
2.2.2.12.3.1 | Lines. |
|
2.2.2.12.3.2 | Boxes. |
|
2.2.2.12.3.3 | Grids. |
|
2.2.2.12.4 | The product can set: |
|
2.2.2.12.4.1 | Border thickness. |
|
2.2.2.12.4.2 | Border color. |
|
2.2.2.12.4.3 | Background pattern. |
|
2.2.2.12.4.4 | Background color. |
|
2.2.2.12.4.5 | Background shading. |
|
2.2.2.12.5 | Provides a format/tool bar to enable selection of: |
|
2.2.2.12.5.1 | Font. |
|
2.2.2.12.5.2 | Style. |
|
2.2.2.12.5.3 | Size. |
|
2.2.2.12.5.4 | Alignment. |
|
2.2.2.12.6 | Allows users to modify: |
|
2.2.2.12.6.1 | Main titles. |
|
2.2.2.12.6.2 | Subtitles. |
|
2.2.2.12.6.3 | Developer-defined tab stops. |
|
2.2.2.12.6.4 | Default font size settings. |
|
2.2.2.12.7 | Summary calculations can be placed in headers or footers. |
|
2.2.2.12.8 | Enables users to customize header and footer sections. |
|
2.2.2.12.9 | Capable of providing group headers and footers with automatic widow/orphan control. |
|
2.2.2.13 | REPORT TEMPLATES |
|
2.2.2.13.1 | Templates are complete with: |
|
2.2.2.13.1.1 | Formatting. |
|
2.2.2.13.1.2 | Logic. |
|
2.2.2.13.1.3 | Calculations. |
|
2.2.2.13.1.4 | Custom automation. |
|
2.2.2.13.2 | Organizations can create templates for standard company reports. |
|
2.2.2.13.3 | Templates are database independent. |
|
2.2.2.13.4 | Users can choose from a variety of page and screen formats to create new reports. |
|
2.2.2.13.5 | Provides a report wizard. |
|
2.2.2.14 | Query Processing |
|
2.2.2.14.1 | Optimization parameters include the following: |
|
2.2.2.14.1.1 | CPU utilization |
|
2.2.2.14.1.2 | network access paths |
|
2.2.2.14.1.3 | Indexes |
|
2.2.2.14.1.4 | joins |
|
2.2.2.14.1.5 | physical clusters |
|
2.2.2.14.1.6 | distributed access paths |
|
2.2.2.14.2 | Supports indexing based on combinations of field values in the internal record. |
|
2.2.2.14.3 | Supports B-tree index structures |
|
2.2.2.14.4 | Supports hash-address index structures for fast direct access to a specific stored record based on an index field value. |
|
2.2.2.14.5 | Distribution statistics for the likely candidate records are accounted for in optimizing the query. |
|
2.2.2.14.6 | The statistics maintained include the number of records in each table. |
|
2.2.2.15 | Transactions and Locking |
|
2.2.2.15.1 | Supports distributed transactions involving writes and updates, which ensure that either the transaction completed successfully on all databases or the transaction failed and is rolled back on all servers. |
|
2.2.2.15.2 | Provides commit operations to control transaction processing. The commit operation should signal successful completion of a transaction. |
|
2.2.2.15.3 | Supports nesting transactions. |
|
2.2.2.15.4 | Upon failure of a 2-phase commit, performs the following: |
|
2.2.2.15.4.1 | Log to a file |
|
2.2.2.15.4.2 | Make an entry in a shadow database to apply later |
|
2.2.2.15.4.3 | Send an error message to the DBA |
|
2.2.2.15.5 | Supports the transaction properties (atomicity, concurrency, isolation, and durability) of the database transactions submitted by the applications to the server. |
|
2.2.2.15.6 | Supports different granularities of locking schemes to control concurrency. |
|
2.2.2.15.7 | Supports automatic deadlock detection. |
|
2.2.2.15.8 | Supports automatic deadlock resolution. |
|
2.2.2.15.9 | Ensures that writers do not block readers. |
|
2.2.2.16 | On Line Backup and Recovery |
|
2.2.2.16.1 | Initiates automatic recovery using the Data Manager log file to undo or redo transactions. |
|
2.2.2.16.2 | Supports recovery from disk head crashes or disk hardware failure via a database backup and restore operation. |
|
2.2.2.16.3 | Compresses all the data offloaded at the user's discretion, based on record type or index type |
|
2.2.2.16.4 | Supports parallel backup and restore utilizing multiple dump/restore devices. |
|
2.2.2.16.5 | Supports partial backups, backing up a subset of the data based on tables or field values. |
|
2.2.3 | Distributed Database Services |
|
2.2.3.1 | Database Integrity/Consistency |
|
2.2.3.1.1 | Automatically maintains data integrity/consistency among all (replicated or mirrored) copies of the same databases that may exist throughout the network. |
|
2.2.3.1.2 | Provides the capability to manually initiate integrity/consistency processing. |
|
2.2.3.1.3 | Provides the capability to manually terminate integrity/consistency processing. |
|
2.2.3.2 | Database Updating |
|
2.2.3.2.1 | Provides the capability to add data records into a distributed database. |
|
2.2.3.2.2 | Provides the capability to update data records in a distributed database. |
|
2.2.3.2.3 | Provides the capability to delete data records from a distributed database. |
|
2.2.3.2.4 | Provides the capability to recover from database update transactions when replicates are found to be deficient. |
|
2.2.3.2.5 | Provides the capability for synchronous distributed database updates via the two-phase commit logic, which guarantees that all servers participating in a distributed transaction either all commit or all roll back the statements in the transaction. |
|
2.2.3.2.6 | Provides a distributed transaction capability so that any transaction can include one or more statements that update data on two or more distinct nodes of a distributed database. |
|
2.2.3.2.7 | Provides the capability to create triggers. |
|
2.2.3.2.8 | Provides the capability to modify triggers. |
|
2.2.3.2.9 | Provides the capability to delete triggers. |
|
2.2.3.3 | Database Servers |
|
2.2.3.3.1 | Provides the capability to detect database server failures and direct database queries to alternate servers. |
|
2.2.3.3.2 | Provides the capability to store and forward database updates for servers that are not accessible through the network. |
|
2.2.3.3.3 | Forwards database updates to addressed database servers once connectivity is established. |
|
2.2.3.3.4 | Provides the capability to connect to any database server in the network. |
|
2.2.3.3.5 | Provides location transparency so that an applications/user/administrator can refer to the same table the same way, regardless of the node to which the applications/user/administrator connects. |
|
2.2.3.3.6 | Provides the capability for query, update, and transaction transparency. |
|
2.2.3.4 | Data Exchange Capabilities |
|
2.2.3.4.1 | Provides the capability to exchange graphics and text data between nodes. |
|
2.2.3.4.2 | Provides the capability to transfer data to multiple destinations. |
|
2.2.3.4.3 | Supports location transparency of data which allows applications to access data independent of its physical location. |
|
2.2.3.4.4 | Provides the capability for distributed database access and information exchange via all available communications media (e.g. network, floppy disks, tapes, etc.). |
|
2.2.3.4.5 | Provides the capability to support multiple logical database configurations. |
|
2.2.3.5 | Transaction Processing by Precedence |
|
2.2.3.5.1 | Provides the capability to time stamp database records. |
|
2.2.3.5.2 | Provides the capability to queue all database transactions by precedence and within precedence by time of receipt. |
|
2.2.3.5.3 | Services each database transaction by precedence and within precedence by time of receipt. |
|
2.2.3.5.4 | Queues undeliverable database updates by precedence and within precedence by time of receipt. |
|
2.2.3.5.5 | Provides the capability to time stamp data fields. |
|
2.2.3.5.6 | Provides the capability to store data records by time slice. |
|
2.2.3.5.7 | Provides the capability to retrieve historical data from data records stored by time slice. |
|
2.2.3.5.8 | Provides the means to assign precedence classes to all information transfers. |
|
2.2.3.5.9 | Assigns a default precedence (routine) if no precedence is assigned. |
|
2.2.3.6 | Database Replication |
|
2.2.3.6.1 | Provides the capability to create replicated databases. |
|
2.2.3.6.2 | Provides the capability to update replicated databases. |
|
2.2.3.6.3 | Provides the capability to delete updates to an instance to replicated databases. |
|
2.2.3.6.4 | Replicates the minimum information necessary to update the database. |
|
2.2.3.6.5 | Provides the capability to ensure replicated database updates are applied based on age of data criteria. |
|
2.2.3.6.6 | Provides the capability to replicate databases in accordance with the security classification or authorization level of the workstations. |
|
2.2.3.6.7 | Provides the capability to notify the application when a replicated database update conflict occurs. |
|
2.2.3.6.8 | Provides replication services that should support the replication of database objects to include, but not limited to tables, views, triggers, stored procedures and database user accounts and data within those objects. |
|
2.2.3.6.9 | Provides conflict resolution services based on a variety of replication processing criteria: time stamp, priority of server, and application defined. |
|
2.2.3.6.10 | Provides the capability to replicate transactions for synchronous databases. |
|
2.2.3.6.11 | Provides the capability to replicate transactions for asynchronous databases. |
|
2.2.3.6.12 | Supports a real time forwarded data replication scheme. |
|
2.2.3.6.13 | Provides the interfaces and mechanisms necessary to support a batch replication scheme in which an entire database can be copied in bulk across the network to a replicated location at specified intervals. |
|
2.2.3.6.14 | Provides the capability to request the forwarding of lost transactions from the originating replicate location. |
|
2.2.3.6.15 | Provides the facilities to transparently replicate data among the nodes of the system. |
|
2.2.3.6.16 | Provides a DBMS that manages a distributed database so that table replication occurs in such a manner that it is transparent to the application/user/administrator making changes to the replicated tables. |
|
2.2.3.6.17 | Determines the capability to define business rules to be used to identify instance of rules to be used in a distributed and replicated database environment. |
|
2.2.3.6.18 | Provides the capability to replicate database updates. |
|
2.2.3.6.19 | Provides the capability to distribute database updates. |
|
2.2.3.6.20 | Provides the capability to replicate only a subset of data in the database or have a different replication scheme for different subsets of data. |
|
2.2.3.6.21 | Provides replication capability to support distribution of data in an unstable tactical network. It shall provide data replication mechanisms to measure data concurrency and synchronize databases as required. |
|
2.2.3.6.22 | Provides the capability to set the update frequency as well as the replication type for replication processing. |
|
2.2.3.6.23 | Provides the capability to use a data-dependent distribution method for distributing database updates. (Distribution is determined by record field values.) |
|
2.2.3.6.24 | Provides the capability to provide a visual alert for a failed replication transaction. |
|
2.2.3.6.25 | Provides the capability to provide an audible alert for a failed replication transaction. |
|
2.2.3.7 | Distributed Database Processing |
|
2.2.3.7.1 | Provides the capability to forward all database transactions to any available database server on the network capable of servicing the request. |
|
2.2.3.7.2 | Provides the capability to manually override the automatic features. |
|
2.2.3.7.3 | Provides the capability to load spatial databases. |
|
2.2.3.7.4 | Provides the capability to unload spatial databases. |
|
2.2.3.7.5 | Provides the capability to load relational databases. |
|
2.2.3.7.6 | The internal data distribution interface function fully implements open data access standards such as RDA, SQL/CLI, etc. |
|
2.2.3.8 | Distributive Database |
|
2.2.3.8.1 | Provides and manages shared, concurrent access to multiple, independent databases with varying degrees of autonomy. |
|
2.2.3.8.2 | Provides a multithreaded database server process to respond to client requests. |
|
2.2.3.8.3 | Executes these threads in parallel across the pool of available server processes. |
|
2.2.3.8.4 | Can create a list of logical databases |
|
2.2.3.8.5 | Performance is scalable as workloads increase in terms of the following demands, so that performance can be maintained without redesigning the database: |
|
2.2.3.8.5.1 | numbers of users |
|
2.2.3.8.5.2 | numbers of transactions |
|
2.2.3.8.5.3 | size of the database |
|
2.2.3.8.6 | Automatically balances the load across the Symmetric Multi-Processing (SMP) CPUs in an SMP environment. |
|
2.2.3.8.7 | Supports physical independence. |
|
2.2.3.8.8 | Supports logical independence. |
|
2.2.3.8.9 | Supports synchronous copying between the remote and local server. |
|
2.2.3.8.10 | Supports deferred replication via asynchronous copying between the local and remote server. |
|
2.2.3.8.11 | Ensures that if remote systems are unavailable for asynchronous replication, then the replication is deferred until the remote system comes back on line. |
|
2.2.3.8.12 | Performs the following activities with respect to conflicts when asynchronous replication and another transaction are both trying to update the same data: |
|
2.2.3.8.12.1 | Detecting |
|
2.2.3.8.12.2 | Resolving |
|
2.2.3.8.12.3 | logging |
|
2.2.3.8.13 | Supports definition of the following: |
|
2.2.3.8.13.1 | master/slave replication hierarchies |
|
2.2.3.8.13.2 | peer-to-peer replication schemes |
|
2.2.3.8.14 | Incorporates utilities to provide the capability to manually initiate integrity /consistency processing. |
|
2.2.3.8.15 | Accepts database auto-update messages when databases are being backed up or restored. |
|
2.2.3.8.16 | Updates the database after it is backed up or restored with accepted database auto-update messages. |
|
2.2.3.8.17 | Provides database update notification to requesting client applications |
|
2.2.3.8.18 | The product can: |
|
2.2.3.8.18.1 | create a configuration entry to a specified table. |
|
2.2.3.8.18.2 | add a configuration entry to a specified table |
|
2.2.3.8.18.3 | delete a configuration entry from a specified table. |
|
2.2.4 | Data Dictionary |
|
2.2.4.1 | Data Dictionary Services |
|
2.2.4.1.1 | Provides the capability to provide database dictionary support (e.g. data definition maintenance). |
|
2.2.4.1.2 | Provides the capability to compare newly-updated database data to application program-supplied old database data in order to identify changes in data fields within the database. |
|
2.2.4.1.3 | Provides the capability to create libraries of data. |
|
2.2.4.1.4 | Provides the capability to modify libraries of data. |
|
2.2.4.1.5 | Provides the capability to delete libraries of databases on defined source access rights. |
|
2.2.4.1.6 | Provides the capability to access libraries of data, based on defined source access rights. |
|
2.2.4.1.7 | Provides the capability to access sequential file data. |
|
2.2.4.1.8 | Provides the capability to access indexed sequential file data. |
|
2.2.4.1.9 | Provides the capability to access direct access file data. |
|
2.2.4.1.10 | Provides data dictionary services through an API, which will provide at a minimum search, display, and update services. |
|
2.2.4.1.11 | Provides the capability to perform searches of the database. |
|
2.2.4.1.12 | Provides the capability to perform data retrievals based on key words. |
|
2.2.4.1.13 | Provides the capability to sort the data based on the contents of any field or set of fields within the database or subset of the database (tables) (i.e. DTG). |
|
2.2.4.1.14 | Provides a data dictionary for all data definitions accessible from any workstation/client application on the network. |
|
2.2.4.1.15 | Provides the capability to merge databases. |
|
2.2.4.1.16 | Provides naming scheme so that objects throughout a distributed database can be uniquely identified and reference in applications. |
|
2.2.4.1.17 | Provides the capability to create the data dictionary. |
|
2.2.4.1.18 | Provides the capability to modify the data dictionary. |
|
2.2.4.1.19 | Provides the capability to provide access to the data dictionary. |
|
2.2.4.1.20 | Supports IRDS compliance, by operating in conjunction with a common data dictionary. |
|
2.2.4.1.21 | The data dictionary includes comprehensive information on the developers' databases. |
|
2.2.4.1.22 | Provides facilities to import data dictionary schema definition from external files. |
|
2.2.4.1.23 | Provides facilities to export data dictionary schema definition to external files. |
|
2.2.4.2 | Transaction Processing |
|
2.2.4.2.1 | Supports application of predefined data enhancement routines to specific columns, and sets a protected or re-transmit mode where applicable. |
|
2.2.4.2.2 | Performs conversions between relational and object data. |
|
2.2.4.2.3 | Provides support for multithreaded applications. |
|
2.2.4.2.4 | No special coding/configuration is required, even if the data resides on different operating systems. |
|
2.2.4.3 | Transaction Management |
|
2.2.4.3.1 | Supports automatic multi-database transaction management across heterogeneous DBMSs. |
|
2.2.4.3.2 | Supports database views. |
|
2.2.4.4 | LEVELS OF DETAIL |
|
2.2.4.4.1 | Users can move to higher or lower levels of detail by: |
|
2.2.4.4.1.1 | Drilling down and rolling up. |
|
2.2.4.4.1.2 | Slicing and dicing data. |
|
2.2.4.4.2 | Users can graphically view the database layout. |
|
2.2.4.4.3 | Users can perform forecasting with respect to critical success factors, through application of the following: |
|
2.2.4.4.3.1 | Filters. |
|
2.2.4.4.3.2 | Shared calculations. |
|
2.2.4.4.3.3 | Ranges. |
|
2.2.4.5 | Object-Oriented Database Attribute Requirements |
|
2.2.4.5.1 | Contains a data dictionary whose description and definitional data contents are accessible to users via a query language. |
|
2.2.4.5.2 | Contains a data dictionary whose description and definitional data contents are accessible to applications via a query language. |
|
3.0 | DATA ADMINISTRATION REQUIREMENTS |
|
3.1 | File Administration Requirements |
|
3.1.1 | Provides data administration tools for the maintenance of files. |
|
3.1.2 | Provides a capability to establish file servers. |
|
3.1.3 | Provides the capability to enforce the denial or granting of access based on Access Control Lists. |
|
3.2 | Utilities |
|
3.2.1 | Provides a capability to dump files. The dumps shall be able to display text and binary files in decimal, octal and hexadecimal format. |
|
3.2.2 | Provides a capability to print files. The contents of a file shall be able to be spooled to a printer by users, applications, and software/system developers. |
|
3.3 | Database Administration Requirements |
|
3.3.1 | Database Administration Services Capabilities |
|
3.3.1.1 | Provides the capability to view and edit configuration parameters. |
|
3.3.1.2 | Provides the capability to manually override the automatic features, such as backup, restore, auditing, replication, etc. |
|
3.3.1.3 | Provides the capability to allocate and manage database disk storage space. |
|
3.3.1.4 | Provides a standard Application Programmers Interface (API) to the COTS database administration tools. |
|
3.3.1.5 | Provides a common desktop (GUI) for all COTS/GOTS database administration tools. |
|
3.3.1.6 | Provides the ability for a database administrator to monitor the database condition. As a result, have the ability to display or store. The condition attributes shall include at least the following: whether the database is up or down, status of database cursors, status of database resources, whether maximum storage extents have been exceeded, current number of connections to the database, database cache hit ratio, I/O performance parameters, database server transaction loads, database capacity. |
|
3.3.2 | Data Exchange Requirements |
|
3.3.2.1 | Provides the capability to specify the format for data exchange between nodes. |
|
3.3.2.2 | Provides the capability to specify the format for data exchange between functions. |
|
3.3.2.3 | Provides the capability to specify the format for data exchange between users. |
|
3.3.2.4 | Provides the capability to specify where and when data is exchanged. |
|
3.3.3 | Backup and Restore Requirements |
|
3.3.3.1 | Provides the GUI to backup and restore the database. |
|
3.3.3.2 | Provides the capability to direct database auto-updates when databases are being backed up or restored. |
|
3.3.3.3 | Provides the capability to activate or deactivate the database management system itself. |
|
3.3.3.4 | Provides the capabilities for recovery of a corrupted database. |
|
3.3.3.5 | Provides services which support various types of backups. |
|
3.3.3.6 | Enables read and write accesses to continue while backups are being performed. |
|
3.3.3.7 | Permits a node to automatically restore its database from another node. |
|
3.3.3.8 | Allows, during a restore, read and write access to areas not being restored. |
|
3.3.3.9 | Provides the capability to compare the contents of backed up data with the source and determine whether the backed up copy is identical to the source. |
|
3.3.4 | Audit Trail Requirements |
|
3.3.4.1 | Provides the capability to maintain and view database audit trails. |
|
3.3.4.2 | Provides the capability to audit database operations to include the following: database connects, database disconnects, data definition language (DDL) statements, and data manipulation language (DML) statements. |
|
3.3.4.3 | Provides the capability to activate database auditing. |
|
3.3.4.4 | Provides the capability to deactivate database auditing. |
|
3.3.4.5 | Provides the capability to configure the types of operations to be captured in the audit trail.
|
|
3.3.4.6 | Produces an audit record containing information regarding the user performing the operation, type of operation, object involved in the operation, and data and time of the operation. |
|
3.3.4.7 | Provides the capability to selectively archive the database audit trail by criteria such as: user who performed the operation, type of operation, object acted on, or data and time of operation. |
|
3.3.4.8 | Provides the capability to selectively purge the database audit trail by criteria such as: user who performed the operation, type of operation, object acted on, or data and time of operation. |
|
3.3.5 | Database Access and Security Requirements |
|
3.3.5.1 | Provides the capability to monitor user access to the database. |
|
3.3.5.2 | Provides the capability to establish and maintain database security (grant permissions). This security access includes the creation, deletion, and modification of database access permissions by user, workstation, or user functional role. Access privileges will include table, view, row and field level access. |
|
3.3.5.3 | Provides the capability to retrieve databases selected by an application program from a remote site workstation provided the requester has access to that database and the workstation to which the data is returned has the same or higher security level authorization. |
|
3.3.5.4 | Provides the capability for the monitoring of optional security relevant events, such as: attempts to change discretionary access controls, and attempts to create, copy, sanitize, purge, or execute databases. |
|
3.3.5.5 | Provides the capability for the monitoring of optional security relevant events to be suspended. |
|
3.3.6 | Discretionary Access Control (DAC) |
|
3.3.6.1 | Provides the capability to establish data access controls based on the discretionary access control requirements. |
|
3.3.6.2 | Provides the capability to restrict access to files based on the user's identity and on access modes (e.g. read, write, execute). |
|
3.3.6.3 | Defines and controls access between named users and named objects (e.g. files and programs). |
|
3.3.6.4 | Allows users to specify and control sharing objects by named individuals or defined groups of individuals, or by both. |
|
3.3.6.5 | Protects, either by explicit user action or by default, objects from unauthorized access. |
|
3.3.6.6 | Capable of including or excluding access to each object on a per user and on a per group basis. |
|
3.3.6.7 | Ensures that access permission to an object by users not already possessing access permission shall only be assigned by authorized users (e.g. system administrators). |
|
3.3.6.8 | Permits a user to grant or revoke to an object only if the user has control permission to that object. |
|
3.3.7 | Mandatory Access Control (MAC) |
|
3.3.7.1 | Only permits access to classified information to authorized users with a clearance level equal to or higher than the information's assigned classification. |
|
3.3.7.2 | Ensures that subjects and objects shall be assigned sensitivity labels that are a combination of classification levels and categories, and the labels shall be used as the basis for mandatory access control decisions. |
|
3.3.7.3 | Supports two or more such security labels. |
|
3.3.7.4 | The following requirements shall hold for all accesses between subjects external to the product and all objects directly or indirectly accessible by these subjects. |
|
3.3.7.4.1 | A subject can read an object only if the classification in the subject's security level is greater than or equal to the classification in the object's security level and the categories in the subject's security level include all the categories in the object's security level. |
|
3.3.7.4.2 | A subject can write an object only if the classification in the subject's security level is less than or equal to the classification in the object's security level and all the categories in the subject's security level are included in the categories of the object's security level. |
|
3.3.8 | Sensitivity Labels |
|
3.3.8.1 | Uses sensitivity labels as the basis for mandatory access control decisions. |
|
3.3.8.2 | Sensitivity labels shall accurately represent security levels of the specific subjects or objects with which they are associated. |
|
3.3.8.3 | Ensures that when data is exported the sensitivity labels shall accurately and unambiguously represent the internal labels and shall be associated with the information being exported. |
|
3.3.9 | Installation |
|
3.3.9.1 | Allows for customized installation. |
|
3.3.9.2 | Installation procedure allows the automatic detection of: |
|
3.3.9.2.1 | Server configuration |
|
3.3.9.2.2 | Database parameters. |
|
3.3.10 | Configuration |
|
3.3.10.1 | Redefines or resets names of connect descriptors to database server instances. |
|
3.3.10.2 | Provides the capability to support multiple logical database configurations. |
|
3.3.10.3 | Provides a method to specify the mapping between a local server table and a remote server object or a host data file. |
|
3.3.10.4 | Provides the capability to access a remote server for: |
|
3.3.10.4.1 | Sending RPCs (Remote Procedure Calls). |
|
3.3.10.4.2 | Receiving RPCs. |
|
3.3.10.5 | Provides native connections to several RDBMSs. |
|
3.3.10.6 | Provides National Language support, including translated message and character set support. |
|
3.3.11 | System Management |
|
3.3.11.1 | Allows the backup of the following database objects: |
|
3.3.11.1.1 | DBMS, database options. |
|
3.3.11.1.2 | Database definitions, table definitions, object ownership, and local views. |
|
3.3.11.1.3 | Logins, remote logins and external logins. |
|
3.3.11.1.4 | Users and groups. |
|
3.3.11.1.5 | Aliases, rules, defaults and permissions. |
|
3.3.11.1.6 | User data types. |
|
3.3.11.1.7 | Triggers and stored procedures. |
|
3.3.11.2 | Recovers its objects. |
|
3.3.12 | Error Handling |
|
3.3.12.1 | Creates an error log file to automatically record fatal error messages from the servers. |
|
3.3.13 | ADMINISTRATION |
|
3.3.13.1 | Enables administrators to design and maintain a representation of the: |
|
3.3.13.1.1 | Database schema. |
|
3.3.13.1.2 | Standard queries. |
|
3.3.13.2 | Easy to set up and configure. |
|
3.3.14 | Basic Security |
|
3.3.14.1 | Provides basic security features compliant with the DoD TCSEC Class C2 Controlled Access Protection. |
|
3.3.14.2 | Performs the following basic security activities: |
|
3.3.14.2.1 | transaction |
|
3.3.14.2.2 | event logging |
|
3.3.14.2.3 | discretionary access to multiple databases |
|
3.3.14.3 | Provides identification and authentication of users by the following means: |
|
3.3.14.3.1 | identifiers/usernames |
|
3.3.14.3.2 | Passwords |
|
3.3.14.4 | Supports integration with external identification and authentication services, including the following: |
|
3.3.14.4.1 | smart cards |
|
3.3.14.4.2 | secure single network wide login |
|
3.3.14.5 | Encrypts user passwords. |
|
3.3.14.6 | Supports a unitary login or single account name for the DBMS to prevent users from using DBMS accounts defined by developers, and developers from assuming the existence of any particular accounts. This will enable system database actions to be traced to the individual user. |
|
3.3.14.7 | Provides users with unique accounts. Each account has only the database permissions needed for that user's work. |
|
3.3.14.8 | Provides support to Database Administrators as they manage users' discretionary access to subsets of applications and databases, including, but not limited to, the following activities: |
|
3.3.14.8.1 | GRANT (assignment of authorization privileges). |
|
3.3.14.8.2 | REVOKE (removal of previously assigned privileges). |
|
3.3.14.9 | Supports provision of the following privileges (or equivalents) for authenticated users: |
|
3.3.14.9.1 | SELECT (authorizes user to view or retrieve data |
|
3.3.14.9.2 | INSERT (authorizes user to create new data). |
|
3.3.14.9.3 | UPDATE (authorizes user to modify data) |
|
3.3.14.9.4 | DELETE (authorizes user to remove data) |
|
3.3.14.9.5 | EXECUTE (authorizes user to run stored procedures or functions) |
|
3.3.14.10 | Effects each application's accesses to different sets of data objects, which signifies permission to access specific tables and the mode (read or write) of that access. |
|
3.3.14.11 | Supports protecting or restricting access to data objects, including the following: |
|
3.3.14.11.1 | Tables |
|
3.3.14.11.2 | Columns of tables |
|
3.3.14.11.3 | Views |
|
3.3.14.11.4 | stored procedures |
|
3.3.14.12 | Preserves the integrity of each component database and prevents connections between an application and data that belong to any other application. |
|
3.3.14.13 | Each session behaves as if it is isolated from the rest of the system and knows of no data other than those belonging to the application it is executing. |
|
3.3.14.14 | Ensures that each user-application connection has only the permissions needed for that context. A user's database permissions will only be active within the context of the current application and database session. |
|
3.3.14.15 | Delineates and supports user-defined collections of privileges referred to as roles. |
|
3.3.14.16 | Supports granting of these roles to users. |
|
3.3.14.17 | Supports revoking of these roles to users |
|
3.3.14.18 | To grant or revoke a privilege to all users assigned to the role, the product should only require that the privilege be added/removed from the role. |
|
3.3.14.19 | Allows authorized users (e.g., Database Administrator, Database System Security Officer) to: |
|
3.3.14.19.1 | audit at different levels of granularity or system privileges |
|
3.3.14.19.2 | disable auditing at different levels of granularity or system privileges. |
|
3.3.14.20 | Can set auditing on a per user basis. |
|
3.3.14.21 | The audit log can be secured from access by unauthorized users |
|
3.4 | Distributed Database Administration |
|
3.4.1 | Distributed Database Capabilities |
|
3.4.1.1 | Supports the ability to determine which logically separate databases exist. |
|
3.4.1.2 | Provides the capability to create replicated databases. |
|
3.4.1.3 | Provides the capability to load replicated databases. |
|
3.4.1.4 | Provides the capability to store replicated databases. |
|
3.4.1.5 | Provides the capability to update replicated databases. |
|
3.4.1.6 | Provides the capability to activate replicated databases. |
|
3.4.1.7 | Provides the capability to delete replicated databases. |
|
3.4.1.8 | Provides the capability to create databases. |
|
3.4.1.9 | Provides the capability to open a database. |
|
3.4.1.10 | Provides the capability to close a database. |
|
3.4.1.11 | Provides the capability to delete databases. |
|
3.4.1.12 | Provides the capability to purge databases. |
|
3.4.1.13 | Provides the capability to unload relational databases. |
|
3.4.1.14 | Provides the capability to load spatial databases. |
|
3.4.1.15 | Provides the capability to unload spatial databases. |
|
3.4.1.16 | Provides the capability to delete selected database(s) at the request of an application program. |
|
3.4.1.17 | Provides the capability to delete all databases at the request of an application program. |
|
3.4.1.18 | At the clients request data elements used across databases can be displayed. |
|
3.4.1.19 | Provides the capability to create distributed database configuration information. |
|
3.4.1.20 | Provides the capability to maintain distributed database configuration information. |
|
3.4.1.21 | Provides the capability to distribute the distributed database configuration information. |
|
3.4.1.22 | Compliant with CORBA and IDL. |
|
3.4.2 | Database Replication |
|
3.4.2.1 | Provides the capability to define dynamically the database replication scheme. |
|
3.4.2.2 | Provides the capability to dynamically activate the database replication scheme. |
|
3.4.2.3 | Provides the capability to deactivate the database replication scheme. |
|
3.4.2.4 | Provides the capability to define dynamically the database proponent scheme. |
|
3.4.2.5 | Provides the capability to create mirrored databases of selected operational databases. |
|
3.4.2.6 | Provides the capability to store mirrored databases of selected operational databases. |
|
3.4.2.7 | Provides the capability for an application program to update mirrored databases of selected operational databases. |
|
3.4.2.8 | Provides the capability to activate mirrored databases of selected operational databases. |
|
3.4.2.9 | Provides the capability to access mirrored databases of selected operational databases. |
|
3.4.2.10 | Provides the administration tools to support the monitoring of replication status. |
|
3.4.2.11 | Enables/disables database mirroring (to provide non-stop recovery in the event of media failure). |
|
3.4.2.12 | Provides the capability for an application program to dynamically modify the update frequency of replicated databases. |
|
3.4.2.13 | Provides the capability to store multiple replication schemes. |
|
3.4.2.14 | Provides the capability for the database administrator and/or the other users with the appropriate authorizations to manually synchronize replicated databases. |
|
3.4.2.15 | Provides notification when the database update delivery time for a database server exceeds a user specified time. |
|
3.4.3 | Distributed Database Updating |
|
3.4.3.1 | Provides the capability to determine which databases accept database auto-update messages. |
|
3.4.3.2 | Sets the precedence of queues for undeliverable database updates. |
|
3.4.3.3 | Provides the capability to archive database update queues. |
|
3.4.4 | Distributed Database Servers |
|
3.4.4.1 | Provides the capability to create and maintain database servers. |
|
3.4.4.2 | Directs what database updates are forwarded to addressed database servers once connectivity is established. |
|
3.4.4.3 | Provides the capability to initialize a database server. |
|
3.4.4.4 | Provides the capability to shut down a database server. |
|
3.5 | Database Administration Utilities |
|
3.5.1 | Database Load Utilities |
|
3.5.1.1 | Provides the capability to load database files. |
|
3.5.1.2 | Provides the capability to unload database files. |
|
3.5.1.3 | Provides the capability to bulk load data into the database tables. |
|
3.5.1.4 | Provides the capability to selectively populate the database including updates and reloads. |
|
3.5.2 | Data Manipulation and Maintenance Utilities |
|
3.5.2.1 | Provides the capability to automatically archive some or all of the data captured and processed within the database(s) as specified by the administrator. |
|
3.5.2.2 | Provides industry standard data compression capabilities. |
|
3.5.2.3 | Provides the capability to convert data between versions of the database. |
|
3.5.3 | Database Administration Configuration Utilities |
|
3.5.3.1 | Provides the capability to configure reusable system or database utilities, (that is to provide the capability to generate or configure a site, or its application code, or its database-specific utilities and tailoring them to the site's specific needs). |
|
3.5.4 | Database Administration Utilities |
|
3.5.4.1 | The DBA can enable database administration functions to be performed without shutting down the system, to keep systems running continuously. |
|
3.5.4.2 | The DBA can: |
|
3.5.4.2.1 | read access to databases while typical administrative functions are being performed. |
|
3.5.4.2.2 | write access to databases while typical administrative functions are being performed. |
|
3.5.4.3 | In accordance with the selected security policy, the DBA can perform: |
|
3.5.4.3.1 | checkpointing |
|
3.5.4.3.2 | automatic integrity check of the database |
|
3.5.4.3.3 | backing up transactions |
|
3.5.4.3.4 | restoring selected records |
|
3.5.4.4 | The DBA is provided tools to monitor the following: |
|
3.5.4.4.1 | CPU utilization |
|
3.5.4.4.2 | Lock usage information |
|
3.5.4.4.3 | Transaction status log |
|
3.5.4.5 | The DBA can set alerts to notify the database administrator when the following system parameters reach a predefined threshold or critical value: |
|
3.5.4.5.1 | available disk space |
|
3.5.4.5.2 | available audit log space |
|
3.5.4.5.3 | number of locks |
|
3.5.4.6 | Allows following activities to be performed and managed remotely by the DBA: |
|
3.5.4.6.1 | system start-up |
|
3.5.4.6.2 | system shutdown |
|
3.5.4.6.3 | performance monitoring |
|
3.5.4.6.4 | system tuning |
|
3.5.4.6.5 | disk space management |
|
3.5.4.6.6 | security administration |
|
3.5.4.6.7 | batch queue scheduling |
|
3.5.4.6.8 | Routine operational functions |
|
3.5.4.7 | Allows the DBA to do perform: |
|
3.5.4.7.1 | remote on-line backup which does not require database server shutdown. |
|
3.5.4.7.2 | Remote on-line recovery, which does not require database server shutdown. |
|
3.5.4.8 | Provides a trace capability for SQL queries, which can be used to identify potential performance / resource bottlenecks. |
|
3.5.4.9 | Provides a facility to support debugging of: |
|
3.5.4.9.1 | Triggers |
|
3.5.4.9.2 | Stored procedures |
|
3.5.4.9.3 | Subprograms organized in a central location (stored packages) |
|
3.5.4.10 | Provides utilities to perform the following activities: |
|
3.5.4.10.1 | analyzing the integrity of the database |
|
3.5.4.10.2 | Repairing damaged pointers or links |
|
3.5.4.11 | Supports the capture of data that can be used to implement chargeback accounting schemes based on usage parameters per user. |
|
3.5.4.12 | Can do the following on the destination of messages: |
|
3.5.4.12.1 | Create configuration information |
|
3.5.4.12.2 | Manage configuration information |
|
3.5.4.12.3 | maintain configuration information |
|
3.5.4.13 | Can do the following on the domain and hosts of messages: |
|
3.5.4.13.1 | create configuration information |
|
3.5.4.13.2 | manage configuration information |
|
3.5.4.13.3 | maintain configuration information |
|
3.5.4.14 | Can do the following on the priority of messages: |
|
3.5.4.14.1 | create configuration information |
|
3.5.4.14.2 | manage configuration information |
|
3.5.4.14.3 | maintain configuration information |
|
3.5.4.15 | Permits the developer to configure data allocation to enhance query performance for databases that include decomposed tables. |
|
3.5.4.16 | Provides the DBA: |
|
3.5.4.16.1 | data storage services. |
|
3.5.4.16.2 | Data archiving services |
|
3.5.4.16.3 | Data restore services |
|
3.5.4.17 | The DBA can: |
|
3.5.4.17.1 | delete data in the database. |
|
3.5.4.17.2 | insert data in the database |
|
3.5.4.18 | Supports users in defining the deferral time period for asynchronous replication. |
|
3.5.4.19 | Supports users in defining the following subsets of data to be replicated across servers: |
|
3.5.4.19.1 | Table names |
|
3.5.4.19.2 | column values |
|
3.5.4.20 | Supports configurable partitioning schemes, which are used by database insert and load operations to automatically and transparently distribute data across the disks. |
|
3.5.4.21 | Supports the definition of views (create new views), |
|
3.5.4.22 | Supports views which can consist of multiple conceptual records |
|
3.5.4.23 | Enables interoperation with third party desktops to support deployment in an environment of heterogeneous hardware, operating systems, tools, and applications. |
|
3.6 | Database Structure Definition and Manipulation |
|
3.6.1 | Database Structure Requirements |
|
3.6.1.1 | Supports mechanisms that provide data pertaining to the database configuration and structure. |
|
3.6.2 | Database Table Requirements |
|
3.6.2.1 | Provides the capability to create tables in the current database. |
|
3.6.2.2 | Provides the capability to modify tables in the current database. |
|
3.6.2.3 | Provides the capability to delete tables in the current database. |
|
3.6.2.4 | Supports operations to get data pertaining to the database configuration and structure, i.e., the size of a database, the list of tables in the database, the location of the database, the journalling and optional security monitoring status, etc. |
|
3.6.2.5 | Provides the capability to delete selected tables from an existing database. |
|
3.6.2.6 | Provides the capability to purge selected tables in a database. |
|
3.6.2.7 | Provides the capability to index database tables. |
|
3.6.2.8 | Provides the capability to backup and validate selected tables in a database. |
|
3.6.2.9 | Provides the capability to restore selected tables in a database. |
|
3.6.2.10 | Provides the capability for an authorized user to delete selected tables from a database. |
|
3.6.2.11 | Provides the capability for an authorized user to delete all tables in a database. |
|
3.6.3 | Database Column Requirements |
|
3.6.3.1 | Provides the capability to specify columns to be added, modified, and/or deleted within databases. |
|
3.6.4 | Database Attribute Requirements |
|
3.6.4.1 | Provides the capability to specify attributes to be added, modified, and/or deleted within databases. |
|
3.6.4.2 | Provides the capability to identify the attributes and attribute characteristics which make up tables within database. |
|
3.6.4.3 | Supports the establishment, management, and administration of replication domains defined at the data element (attribute or field) level. |
|
3.6.5 | Performance Requirements |
|
3.6.5.1 | Provides tools to enable a database administrator to monitor the performance. |
|
3.6.6 | DATA TYPES |
|
3.6.6.1 | Supports grouping of data to arbitrary levels. (e.g., column, row, aggregation) |
|
3.6.6.2 | Supports report subtotals. |
|
3.6.6.3 | Supports report totals. |
|
3.6.6.4 | Supports user-defined calculations. |
|
3.6.6.5 | Supports dynamic growth and shrinkage of text fields. |
|
3.6.6.6 | Supports data concatenation (e.g., City, State, Zip, etc). |
|
3.6.6.7 | Data can be output as: |
|
3.6.6.7.1 | Reports. |
|
3.6.6.7.2 | Graphs. |
|
3.6.6.7.3 | Matrices. |
|
3.6.6.7.4 | Mailing Labels. |
|
3.6.6.8 | Supports embedded graphs. |
|
3.6.6.9 | Automatically updates graphs when data changes. |
|
3.6.6.10 | Supports the following graph types: |
|
3.6.6.10.1 | Bar. |
|
3.6.6.10.2 | Pie. |
|
3.6.6.10.3 | Line. |
|
3.6.7 | Data Structure |
|
3.6.7.1 | Supports storage of the following data types: |
|
3.6.7.1.1 | Text |
|
3.6.7.1.1.1 | Alphabetic |
|
3.6.7.1.1.2 | Alphanumeric |
|
3.6.7.1.1.3 | Character strings |
|
3.6.7.1.2 | Numbers |
|
3.6.7.1.2.1 | Float |
|
3.6.7.1.2.2 | Scientific notation |
|
3.6.7.1.2.3 | Integers |
|
3.6.7.1.3 | user-defined |
|
3.6.7.1.4 | Date- time combined |
|
3.6.7.1.5 | Date only |
|
3.6.7.1.6 | logical yes/no used in Boolean calculations? |
|
3.6.7.1.7 | Multimedia |
|
3.6.7.1.7.1 | Images |
|
3.6.7.1.7.2 | Graphics |
|
3.6.7.1.7.3 | Maps |
|
3.6.7.1.7.4 | Sound |
|
3.6.7.1.7.5 | Video |
|
3.6.7.1.7.6 | OLE - object |
|
3.6.7.1.8 | Currency |
|
3.6.7.1.9 | hyperlinks to Uniform Resource Locator (URL) |
|
4.0 | MULTILEVEL SECURITY |
|
4.1 | Provides multilevel security features compliant with the DoD TCSEC Class B1 Labeled Security Protection |
|
4.2 | Captures the user's session label in the audit log. |
|
4.3 | The audit log records are labeled as follows: |
|
4.3.1 | sensitivity level of accessed data |
|
4.3.2 | session clearance level of the user who generated the audit log entry |
|
4.4 | Ensures that Database Administrators are prevented from accessing audit log information at a higher level than their clearances. |
|
4.5 | Provides implementation of Mandatory Access Controls (MAC) as well as basic security controls, to be regarded as multilevel secure. |
|
4.6 | Provides separation of data at different security classification levels. |
|
4.7 | Associates a sensitivity label with each piece of information in the database. |
|
4.8 | The labels represent the sensitivity or classification level of the information. |
|
4.9 | Provides Database Administrators with the capability to grant MAC privileges to users. |
|
4.10 | Associates a clearance level for each user. The user clearance level denotes the ranges of labels that the user is authorized to access. |
|
4.11 | The labels use the same clearance levels supported by the underlying host MLS operating system. |
|
5.0 | SPECIAL FEATURES |
|
5.1 | Provides a scheduler for controlling events at a specified time and date (Sometimes an additional module is needed). |
|
5.2 | Provides a data scrubbing capability. |
|
5.3 | Offers time-intelligence, such as year-to-date, fiscal and internal calendars, etc. |
|
5.4 | Can publish reports in HTML. |
|
5.5 | Users can interface with other commercial forecasting tools (e.g., SAS or SPSS). |
|
5.6 | Provides an environment for building macros. Users can create custom applications that incorporate the report writer functionality. |
|
5.7 | Provides a data translation capability from non-relational legacy databases to relational database products. |
|
6.0 | LANGUAGE EXTENSIONS AND SERVER PROGRAMMABILITY |
|
6.1 | Provides facilities for manipulating data in complex procedures. |
|
6.2 | Supports the execution of a remote stored procedure. |
|
6.3 | Supports triggers, which are automatically launched based on the following pre-specified database events: |
|
6.3.1 | Insert |
|
6.3.2 | Update |
|
6.3.3 | Delete |
|
6.4 | Triggers can execute any combination of the following: |
|
6.4.1 | ANSI SQL2 DML |
|
6.4.2 | Procedural extensions |
|
6.4.3 | Stored procedures |
|
6.5 | Supports creation of new functions to operate on all data types. |
|
6.6 | These new functions are compiled and stored in the server and become extensions to SQL. |
|
6.7 | Allows new functions to be defined to process Binary Large Objects (BLOBs) and user-defined data types. |
|
6.8 | Supports embedding dynamic SQL and language preprocessors for the following languages: |
|
6.8.1 | ANSI C |
|
6.8.2 | Ada |
|
6.8.3 | C++ |
|
6.8.4 | Cobol |
|
6.8.5 | Fortran |
|
6.9 | Supports a SQL CLI for the following languages: |
|
6.9.1 | ANSI C |
|
6.9.2 | Ada |