Teradata

To create a PDM with support for features specific to the Teradata DBMS family, select the appropriate version in the DBMS field of the New Model dialog. To view these extensions to the PowerDesigner metamodel in the Resource Editor, select Database > Edit Current DBMS and expand the Profile node.

Note: The DBMS definition files for Teradata V2R5 and V2R6 are deprecated.

The following sections list the extensions provided for Teradata.

Abstract Data Types

The following extensions are available on the Teradata tab (V2R6 and higher):

Name

Description

Predefined data type

[type:distinct] Indicates that character column comparison uses character case (upper and lower) to raise differences.

Scripting name: PredefinedDataType

Dimension

[v14 and higher, type:array] Specifies the dimension(s) of the array as [n1][n2]....

Scripting name: Dimension

Nullify

[v14 and higher, type:array] Initializes all of the elements of array_type_name to null when the type is constructed.

Scripting name: DefaultNull

Abstract Data Type Procedures

The following extensions are available on the Teradata tab if the type is distinct (V2R6 and higher):

Name

Description

Return data type

Specifies the name of the data type returned by the method, which can be either a predefined data type or a UDT.

Scripting name: ReturnDataType

Self as result

Specifies that the method is type-preserving. If so, then the data type specified in the RETURNS clause for the method must have the same name as UDT_name.

Scripting name: SelfAsResult

As locator

Specifies that BLOB and CLOB types must be represented by a locator. The Teradata Database does not support in-memory LOB parameters: an AS LOCATOR phrase must be specified for each LOB parameter and return value.

Scripting name: ReturnAsLocator

Character set

Specifies the CHARACTER SET clause for character data type.

Scripting name: ReturnCharSet

Cast data type

Specifies a computed attribute that show the datatype and its length and precision.

Scripting name: CastDataTypeDisplay

As locator

Specifies that BLOB and CLOB types must be represented by a locator.

Scripting name: CastAsLocator

Specific method name

Specifies the specific name of the method whose signature is being added to the type definition for UDT_name.

Scripting name: SpecificMethodName

Parameter style

Specifies the parameter style for the method defined by this signature.

Scripting name: ParameterStyle

Returns null on null input

Specifies that the method defined by this signature is not called if any of the arguments passed to it is null. Instead, it returns a null.

Scripting name: ReturnsNullOnNullInput

Deterministic

Specifies that the result of invoking the method defined by this signature is deterministic.

Scripting name: Deterministic

Glop set

[v13 and higher]Specifies the glop set with which the method is associated.

Scripting name: GlopSet

Language

Specifies the language (either C or C++) used to write the source code for the method defined by this signature.

Scripting name: Language

Columns

The following extensions are available on the Teradata tab:

Name

Description

Character set

Specifies the character set to be used.

Scripting name: CharacterSet

Case specific

Specifies that character column comparison is case-sensitive.

Scripting name: CaseSpecific

Compress

Compresses specified values and nulls in one or more columns of a table to zero space. When the data in a column matches a value specified in the COMPRESS phrase, then that value is stored only once in the table header regardless of how many times it occurs as a field value for the column, thus saving disk storage space.

Attribute must be enclosed in parenthesis when it is composed of multiple values.

Scripting name: Compress

Always generate value

Specifies that identity column values are always system-generated. You cannot insert values into, nor update, an identity column defined as GENERATED ALWAYS.

If not selected, identity column values are system-generated unless the user does not enter a non-null value.

Scripting name: ExtGenAlways

Partition

Specifies the partition to which the column is assigned.

Databases

The following extensions are available on the Teradata tab:

Name

Description

Owning database

Specifies the name of the immediate owning user or database. The default is the user name associated with the current session.

Scripting name: FromDatabaseName

Account

Specifies the account ID identifiers.

Scripting name: Account

Fallback

Specifies whether to create and store a duplicate copy of each table created in the new database.

Scripting name: Fallback

Journal

Specifies the number of before change images to be maintained by default for each data table created in the new database.

Scripting name: Journal

After journal

Specifies the type of image to be maintained by default for data tables created in the new database.

Scripting name: AfterJournal

Default journal table

Specifies the default table that is to receive the journal images of data tables created in the new database.

Scripting name: DefaultJournalTable

Permanent

Specifies the number of bytes to be reserved for permanent storage of the new user database. The space is taken from unallocated space in the database of the immediate owner.

Scripting name: PermanentSpace

Spool

Specifies the number of bytes (n) to be allocated for spool files. The default is the largest value that is not greater then the owner spool space, and that is a multiple of the number of AMPs on the system.

Scripting name: SpoolSpace

Temporary

Specifies how much space (in bytes) is to be allocated for creating temporary tables by this user. Note that temporary space is reserved prior to spool space for any user defined with this characteristic.

Scripting name: TemporarySpace

Indexes

The following extensions are available on the Teradata tab:

Name

Description

Primary Index

Specifies that the index is the primary index.

Scripting name: PrimaryIndex

Partition by

[primary key] Lets you select the used function to evaluate partition condition.

  • case_n: Evaluates a list of conditions and returns the position of the first condition that evaluates to TRUE, provided that no prior condition in the list evaluates to UNKNOWN.
  • range_n: Evaluates an expression and maps the result into one of a list of specified ranges and returns the position of the range in the list.

Scripting name: PartitionBy

Partition expression

[primary key] Specifies an SQL expression used to define the partition to which a partitioned primary index row is assigned when it is hashed to its AMP.

Scripting name: PartitionExpression

Click on the check box to switch multiple / single partition mode

[primary key] Specifies whether the index is defined over multiple partitioning expressions. When this checkbox is selected, you can specify the partition functions and expressions in a list.

Scripting name: DisplayMultiplePartitions

Ordering type

[not primary key] Select VALUES to optimize queries that return a contiguous range of values, especially for a covering index or a nested join. Select HASH to limit hash-ordering to one column, rather than all columns (the default)

Scripting name: OrderingType

Column

[not primary key] Row ordering on each AMP by a single NUSI column: either value-ordered or hash-ordered.

Scripting name: OrderByColumnList

All

Specifies that a NUSI should retain row ID pointers for each logical row of a join index (as opposed to only the compressed physical rows).

Scripting name: AllIndex

Index has name

Specifies that the index will be generated with its name (as Teradata allows index with no name).

Scripting name: NamedIndex

Tables

The following extensions are available on the Teradata tab:

Name

Description

Type

Specifies whether the table to be created is a global temporary table or a volatile table:

  • GLOBAL TEMPORARY - a temporary table definition is created and stored in the data dictionary for future materialization. You can create global temporary tables by copying a table WITH NO DATA, but not by copying a table WITH DATA.

  • VOLATILE - specifies that a volatile table be created, with its definition retained in memory only for the course of the session in which it is defined.

Scripting name: GlobalTemporary

Commit row action

Specifies the action to take with the contents of a global temporary table when a transaction ends:

  • DELETE - clears the temporary table of all rows.

  • PRESERVE - retains the rows in the table after the transaction is committed.

Scripting name: CommitRowAction

Duplicate row control

Controls the treatment of duplicate rows. If there are uniqueness constraints on any column or set of columns in the table definition, then the table cannot have duplicate rows even if it is declared as MULTISET. Some client utilities have restrictions with respect to MULTISET tables.

Scripting name: SetOrMultiset

Primary index

Specifies the primary index of the table (see Primary Indexes (Teradata)).

Scripting name: PrimaryIndex

Users

The following extensions are available on the Teradata tab :

Name

Description

Owner

Specifies the database (or user) that owns the current user.

Scripting name: DBOwner

Permanent

Specifies the number of bytes to be reserved for permanent storage of the new user database. The space is taken from unallocated space in the database of the immediate owner.

Scripting name: PermanentSpace

Spool

Specifies the number of bytes (n) to be allocated for spool files. The default is the largest value that is not greater then the owner spool space, and that is a multiple of the number of AMPs on the system.

Scripting name: SpoolSpace

Temporary

Specifies how much space (in bytes) is to be allocated for creating temporary tables by this user. Note that temporary space is reserved prior to spool space for any user defined with this characteristic.

Scripting name: TemporarySpace

Account

Specifies the account ID identifiers.

Scripting name: Account

Fallback

Specifies whether to create and store a duplicate copy of each table created in the new database.

Scripting name: Fallback

Journal

Specifies the number of before change images to be maintained by default for each data table created in the new database.

Scripting name: Journal

After journal

Specifies the type of image to be maintained by default for data tables created in the new database.

Scripting name: AfterJournal

Default table

Specifies the default table that is to receive the journal images of data tables created in the new database.

Scripting name: DefaultJournalTable

Database

Specifies the default database name.

Scripting name: DefaultDatabase

Role

Specifies the default role for the user.

Scripting name: DefaultRole

Character set

Specifies the default character data type.

Scripting name: DefaultCharacterSet

Collation

Specifies the default collation for this user.

Scripting name: Collation

Time zone

Specifies the default time zone displacement for the user.

Scripting name: TimeZone

Date format

Specifies the default format for importing and exporting DATE values for the user.

Scripting name: DateForm

Profile name

Specifies a profile to the user.

Scripting name: Profile

Startup string

Specifies a startup string.

Scripting name: Startup

Views

The following extensions are available on the Teradata tab:

Name

Description

Lock type

Specifies the type of lock to be placed.

Scripting name: LockType

Locked object class

Specifies the type (class) of the object to be locked.

Scripting name: LockedClass

Locked object

Specifies the name of the object to be locked.

Scripting name: LockedObjt

No wait

Specifies that if the indicated lock cannot be obtained, the statement should be aborted.

Scripting name: NoWait