Skip to main content

Data model changes and their impact levels

Availability-noteDeprecated

The data model changes are classified into three levels according to their impacts on the data model: Low, Medium and High.

When you made changes to a data model, the database schema will be updated accordingly.

The following table lists some examples of the data model changes, their corresponding impact level, and the results in the database:

Action Impact level Result
Add a new mandatory element without a default value High The entity table is dropped and recreated with the new column added.
Add or remove anonymous types High All entity types using anonymous types may be dropped and recreated.
Change an optional simple type element to a mandatory one without a default value (null values exist for the given element) High The entity table is dropped and recreated.
Change an optional complex type element to a mandatory one High The entity table is dropped and recreated.
Change the type of an element from one simple type to another High Not applicable
Change the maximum occurrence of an element from 1 to n or vice versa High The entity table is dropped and recreated.
Change the value of totalDigits or fractionDigits of a decimal element High The entity table is dropped and recreated.
Make changes in inheritance High All tables involved in the inheritance tree are dropped and recreated.
Make high impact changes to an entity that has foreign key relationships High The entity table is dropped and recreated, together with the tables of all other entities that have foreign key relationships with this entity.
Remove a mandatory or optional simple type element in a complex type element High The entity table is dropped and recreated.
Remove a mandatory or optional complex type element High The entity table is dropped and recreated.
Change an optional simple type element to a mandatory one with a default value (null values exist for the given element) Medium The column in the entity table will be updated with the default value.
Remove a mandatory or optional simple type element immediately under an entity Medium The column in the entity table will be removed.
Remove a mandatory or optional foreign key element Medium The column in the entity table will be removed.
Remove an entity Medium The entity table will be removed.
Rename an optional element Medium A column with the old name remains and a new column with a new name is created.
Add a new optional simple type element Low A new column is added to the entity table.
Add a new optional complex type element Low A new column is added to the entity table, and a new table is created for the complex type.
Add a new element of string, boolean, or numeric type with a default value Low A new column is added to the entity table with the default value.
Change a mandatory simple or complex type element to an optional one Low The column definition in the entity table will be changed accordingly.
Change an optional simple type element to a mandatory one (no null values exist for the given element) Low The column definition in the entity table will be changed accordingly.
Change an optional multi-occurrence element to a mandatory multi-occurrence one or vice versa Low The column definition in the entity table will be changed accordingly.
Increase the length of a string element for DB2/Oracle

The original length is less than or equal to the maximum length of the database VARCHAR type, and the updated length is greater than the maximum length. For more information on this maximum length, see the next table.

High The entity table is dropped and recreated, the type of the element is converted from VARCHAR to CLOB in the database, and the length of the column is increased accordingly.
Increase the length of a string element for MS SQL Server/MySQL/PostgreSQL

The original length is less than or equal to the maximum length of the database VARCHAR type, and the updated length is greater than the maximum length. For more information on this maximum length, see the next table.

Low The type of the element is converted from VARCHAR to NVARCHAR(MAX)/TEXT/TEXT in the database, and the length of the column is increased accordingly.
Increase the length of a string element (except the above two cases) Low The length of the column is increased accordingly.
Decrease the length of a string element

The original length is greater than the maximum length of the database VARCHAR type, and the updated length is less than or equal to the maximum length. For more information on this maximum length, see the next table.

High The entity table is dropped and recreated, the type of the element is converted to VARCHAR in the database, and the length of the column is decreased accordingly.
Decrease the length of a string element

Both the original length and the updated length are less than or equal to the maximum length of the database VARCHAR type. For more information on this maximum length, see the next table.

High The entity table is dropped and recreated, and the length of the column is decreased accordingly.
Decrease the length of a string element (except the above two cases) Low The length of the column is decreased accordingly.
Maximum length of the VARCHAR type for supported databases
Database Maximum length of the VARCHAR type (bytes)
H2 255
DB2 255
MySQL 255
MS SQL Server 4000
Oracle 4000
PostgreSQL 255

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – please let us know!