Keymem Table: Key Member Definition Metadata
A key member defines a data member that is part of a multivalued key for a class. The keymem table contains metadata that defines key members for user classes. The OLE DB provider for Commerce Server 2009 uses metadata from the keymem table and other metadata to store instances of user classes in the database.
The key member metadata contains attributes for defining a data member of a key. The key member metadata includes an indication of the ordinal position of the data member for a multivalued key. The metadata for the key and the member must already be defined. A key member definition is not required if the IsPrimaryKey attribute is set to True (1) in the metadata for the class.
Three attributes are required to set a data member as part of a key:
The MemberName of the Key Member metadata must be set to the MemberDefName value specified in the Member metadata.
The KeyDefName for the Key Member metadata must be set to the ClassKeyDefName value specified in the Key metadata.
The OrdinalPosInKey must be set to the position in the key for the data member.
For example, if three data members make up a key, the OrdinalPosInKey will be set to 0, 1, and 2 for the first, second, and third data members, respectively. The sequence of data members is important for the composition of a unique key.
The following table describes the columns in the keymem table. There is a row in the keymem table for each key member that is defined.
Column name |
Type |
Allow null |
Requirement |
Description |
---|---|---|---|---|
KeyMemberID |
int |
no |
Leave blank |
Stores the internal identifier for the key member. |
CatalogID |
int |
yes |
Leave blank |
Stores the identifier for the schema catalog. |
CatalogName |
nvarchar (128) |
yes |
Leave blank |
Stores the name of the schema catalog, "DWSchema". |
CreatedTime |
datetime |
yes |
Reserved |
Records when the key member was created. |
Description |
nvarchar (128) |
yes |
Optional |
Stores the description of the object. |
DisplayName |
nvarchar (128) |
yes |
Optional |
Stores the display name of the object. |
KeyDefID |
int |
yes |
Leave blank |
Stores the identifier for the key that contains this key member. |
KeyDefName |
nvarchar (128) |
yes |
Required |
Stores the name of the class key. |
MajorVersion |
int |
yes |
Reserved |
Stores the major version number for the key member. |
MemberID |
int |
yes |
Leave blank |
Stores the identifier for the data member used for this key member. |
MemberName |
nvarchar (100) |
yes |
Required |
Stores the name of the data member used for this key member. |
MinorVersion |
int |
yes |
Reserved |
Stores the minor version number for the key member. |
ModifiedTime |
datetime |
yes |
Reserved |
Records when the key member was last modified. |
OrdinalPosInKey |
int |
yes |
Required |
Stores a 0-based index for the position of the key member in the key. |
Status |
int |
yes |
Reserved |
Reserved. |