GeneXus uses the Transaction Structures defined in your Knowledge Base to automatically define the data model that it will create.
In other words, considering your definitions, GeneXus determines whether to create a Database to store your Application’s Data, Tables (designed using the third normal form), access paths (called Indexes), Views, etc.
Each Database Table gets its default name from the name of the Transaction from which it originated. Therefore, if a Transaction has only one level, the Table name will be the same as the Transaction name. On the other hand, if the Transaction has several levels, the subordinated table names will be created by concatenating the Transaction name and the corresponding Level names.
Consider the following Transaction Structure:
Company
{
CompanyId*
CompanyName
Branch
{
BranchId*
BranchAddress
BranchPhone
}
}
The Tables that GeneXus will create in the Database will be called Company and CompanyBranch.
- The Company Table will contain the attributes: CompanyId*, CompanyName
- The CompanyBranch Table will contain the attributes: CompanyId*, BranchId*, BranchAddress, BranchPhone
Database Views are generated since GeneXus 15 by defining Dynamic Transactions.
Indexes
Table Editor