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-of ⊆ D²
-
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}
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.
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 |
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 |
|