Database reference guide |
HOME |
DomainsRather than use a Recordset to store and view selection details and query results, Engine uses a Domain. This section looks at what is meant by a domain and what the implications are of using domains for data analysis. A Domain is not a Recordset…Whereas a recordset is a collection of actual data returned from one or more tables, a domain is only a reference to the underlying rows in the selection. The domain still has access to all the information that would normally be held within the recordset, but it stores that information in a format that is optimized for modification and refinement of the selection. The underlying recordset for the selection is always instantly available - record retrieval, viewing, sorting and export are all very fast operations when using Engine. However, the recordset is not requested from the system until it is required. Performance BenefitsBy using a domain rather than a recordset, Engine provides significant performance enhancements over an RDBMS system when refining, modifying and combining selection details. Query execution and selection refinements when run in Engine are often orders of magnitude faster than those performed against a standard relational database. Combining selection results to find intersections, for example, all records that are in both selections, or all records that in either selection, or all records that are in one selection but not the other, is extremely fast in Engine. This is all made possible by the fact that Engine stores its selection results using the Domain paradigm. Owner Tables (Resolution Tables)Owner TablesWhen working with a selection, a frequent requirement is to obtain the count of the records in the selection. In a standard RDBMS Recordset it is possible that the count of records in the selection could exceed the number of records in any one table. This is because the records may be pulled from multiple tables as the result of an outer join. In Engine this is not possible. A Domain is "owned" by a table. The selection count obtained from a domain (and also its underlying recordset) will always relate back to the number of records in the Owner Table of the domain. The largest count that could ever be returned from any domain would be the number of records in the largest table in the system (i.e. in the repository). The Owner Table of the domain is determined by the query that is executed and the underlying database Schema. By default, when a query is executed, the Owner Table of the domain will be that on the MANY side of a Consider the following data structure and query:
SELECT* FROM Customer, Transaction; By default, the Owner Table of the domain that contains the selection results will be the Transactions table. The count of records in the domain is the number of records in the Transactions table that are in the selection (in this case, all of them). Creating and Manipulating DomainsDomains can be created using Engine's Structured Query language (NSQL) and executing a query (see Queries ). They can also be extracted from other analysis objects such as Crosstabs and directly from the data objects themselves. Data ExtractionThe fields contained within the selection can be added or removed independently at any stage without affecting the rows contained within the selection. This is achieved by modifying the Column Template of the domain. Once the desired rows and fields have been specified using the domain, the underlying data can be quickly extracted. This can be done by viewing the underlying recordset, or by dumping the data in the recordset to file or to another Engine table. Elements of a DomainThe following table summarizes the key operational elements of a Domain.
|
Online & Instructor-Led Courses | Training Videos | Webinar Recordings | ![]() |
|
![]() |
© Alterian. All Rights Reserved. | Privacy Policy | Legal Notice | ![]() ![]() ![]() |