Words, Terms & Domains¶
ThinkERD's standardization is structured as a Word → Term → Domain three-tier system. Each tier is described in detail here.
Standard Word¶
The smallest unit of logical-to-physical name mapping. All terms are generated from combinations of standard words.
Word Properties¶
| Property | Description | Example |
|---|---|---|
| Logical Name | Word in the business language | Customer |
| Physical Abbreviation | English abbreviation | CUST |
| Full English Name | Full English Name | Customer |
| Synonyms | Alternative expressions | Client, Buyer |
| Prohibited Word | Mark as banned | Cli → prohibited, use Customer |
Word Registration Examples¶
| Logical Name | Physical Abbr. | English Name | Description |
|---|---|---|---|
| Customer | CUST | Customer | Counterparty in a transaction |
| Number | NO | Number | Identifying sequence |
| Date | DT | Date | Calendar date |
| Amount | AMT | Amount | Monetary amount |
| Code | CD | Code | Classification code |
| Name | NM | Name | Name/title |
Prohibited Word Management
Words that should not be used within a project can be designated as prohibited, with replacement suggestions. E.g., Cli → prohibited → replacement: Customer
Standard Term¶
A standardized attribute name composed from words. Terms are applied directly to ERD columns.
Term Generation Rules¶
A term's physical name is auto-generated by joining its constituent words' abbreviations with _.
Customer No → Customer(CUST) + Number(NO) → CUST_NO
Order Date → Order(ORD) + Date(DT) → ORD_DT
Product Amt → Product(PROD) + Amount(AMT) → PROD_AMT
Term Properties¶
| Property | Description |
|---|---|
| Logical Term | Business term name |
| Physical Term | Auto-generated from word combinations |
| Bound Domain | Domain applied to this term |
| Description | Definition of the term |
FMM-Based Auto Analysis¶
ThinkERD includes a built-in FMM (Fast Multi-pattern Matching) engine that, when a logical name is entered, auto-generates the physical name based on registered standard words.
Input: "Customer Registration Date"
Analysis: Customer(CUST) + Registration(REG) + Date(DT)
Result: CUST_REG_DT
This feature operates in real time as you type column logical names during entity editing.
Standard Domain¶
A type specification that standardizes data type, length, and constraints.
Domain Properties¶
| Property | Description | Example |
|---|---|---|
| Domain Name | Domain identifier | Amount, Code, Date |
| Generic Type | Base data type | DECIMAL, VARCHAR, DATE |
| Length/Precision | Length / Scale | 18,2 |
| Default Value | Default Value | 0 |
Multi-DBMS Support¶
Domains maintain DBMS-specific type slots. The same domain is converted to the appropriate physical type per DBMS.
| Domain | Oracle | PostgreSQL | MySQL |
|---|---|---|---|
| Amount | NUMBER(18,2) | NUMERIC(18,2) | DECIMAL(18,2) |
| Code | VARCHAR2(20) | VARCHAR(20) | VARCHAR(20) |
| Date | DATE | DATE | DATE |
| Large Text | CLOB | TEXT | LONGTEXT |
Binding Domains to Terms
When a domain is bound to a term, the data type is automatically applied to every column using that term. Binding the Code domain to CUST_NO → VARCHAR(20).
Standard Application Flow¶
sequenceDiagram
participant U as User
participant E as Entity Editor
participant S as Standard Store
participant F as FMM Engine
U->>E: Enter column logical name "Customer No"
E->>S: analyzeLogicalName("Customer No")
S->>F: Token analysis
F-->>S: [Customer(CUST), Number(NO)]
S-->>E: Physical name = "CUST_NO"
E->>S: Look up matching term
S-->>E: Domain = VARCHAR(20)
E-->>U: Auto-complete suggestion - User enters a column logical name
- FMM engine performs token analysis using standard words
- If a matching standard term exists, physical name and domain are auto-applied