Open Jail The Jailer Project Web Site

Introduction
Tutorial
   GUI
CLI

Documentation
   Terms
Architecture

Design
File Formats
Addendum
   DomainModel

Rendering
Download
HomepageSourceForge.net Logo
       

Domain Model

A domain model helps you to define the restriction and extraction models and makes the HTML data model render more compact and concise. A domain model doesn’t influence the export behaviour and is not needed to do data exports.

A domain model is a partitioning of the entire data model into smaller sets of functionally related tables.

Definition

  • Domain a set of functionally related tables.
  • Domain Model set of domains D with a partial order part-ofD²
  • Top-level domain domain which is not part-of another domain.
  • Subdomain domain which is not a Top-level domain.
  • Extension E(d) of a domain is the set of all tables of d and d‘s subdomains. E(d)=d∪{t|∃d’:d’ part-of d ∧ t∈d’}
  • two different domains are disjoint.
  • the union of all domains is the set of all tables.

Example

  • Tables
    • ADDRESS
    • DEPARTMENT
    • EMPLOYEE
  • Associations
    • DEPARTMENT → ADDRESS
    • EMPLOYEE → ADDRESS
    • EMPLOYEE → DEPARTMENT
  • Domains
    • DEPARTMENTS={DEPARTMENT}
    • EMPLOYEES={EMPLOYEE}
    • ADDRESSES={ADDRESS}
    • ADDRESSES part-of DEPARTMENTS
    • ADDRESSES part-of EMPLOYEES
    • DEPARTMENTS part-of EMPLOYEES
  • Extensions
    • E(ADDRESSES)={ADDRESS}
    • E(DEPARTMENTS)={DEPARTMENT, ADDRESS}
    • E(EMPLOYEES)={EMPLOYEE, DEPARTMENT, ADDRESS}


Composites

A composite is a group of tables to be treated in the same way as a single table. A composite consists of a main table representing the entire composition and several component tables. The name of a composite is the name of the main table. Components are not mentioned in the domain model but are implicitly part of the main table’s domain.


Generating domain specific restriction models

It is possible to automatically generate a restriction model for each domain restricting the entry into the domain. A restriction model for a domain contains restrictions for each association from a table outside of d to a table in d. Note that dependencies are unrestrictable.

Example

NO-ADDRESSES.csv
DEPARTMENT ADDRESS ignore
EMPLOYEE ADDRESS ignore

NO-DEPARTMENTS.csv
EMPLOYEE DEPARTMENT ignore

NO-EMPLOYEES.csv


Generating domain specific extraction models

It is also possible to automatically generate an extraction model (without subject-definition of course) for each domain including all restriction models of other domains except sub-domains.

Example

ADDRESSES
<subject> <condition> <limit> NO-EMPLOYEES.csv;NO-DEPARTMENTS.csv

DEPARTMENTS
<subject> <condition> <limit> NO-EMPLOYEES.csv

EMPLOYEES