Database\CIM_SqlTable.mof.mof (HTML version)

Return to index
CIM_SqlTable Superclass: CIM_SqlObject
A table is a collection of rows having one or more columns. A row is a value of a row type. Every row of the same table has the same row type. The value of the i-th field of every row in a table is the value of the i-th column of that row in the table. The row is the smallest unit of data that can be inserted into a table and deleted from a table.

The degree of a table, and the degree of each of its rows, is the number of columns of that table. The number of rows in a table is its cardinality. A table whose cardinality is 0 (zero) is said to be empty.

A table is either a base table, a derived table, or a transient table. A base table is either a persistent base table, a global temporary table, a created local temporary table, or a declared local temporary table.

A table is described by a table descriptor. A table descriptor is either a base table descriptor, a view descriptor, or a derived table descriptor (for a derived table that is not a view).
Every table descriptor includes:
- The column descriptor of each column in the table.
- The name, if any, of the structured type, if any, associated with the table.
- An indication of whether the table is insertable-into or not.
- An indication of whether the table is a referenceable table or not, and an indication of whether the selfreferencing column is a system-generated, a user-generated, or a derived self -referencing column.
- A list, possibly empty, of the names of its direct supertables.
- A list, possibly empty, of the names of its direct subtables.

A base table descriptor describes a base table. In addition to the components of every table descriptor, a base table descriptor includes:
- The name of the base table.
- An indication of whether the table is a persistent base table, a global temporary table, a created local temporary table, or a declared local temporary table.
- If the base table is a global temporary table, a created local temporary table, or a declared local temporary table, then an indication of whether ON COMMIT PRESERVE ROWS was specified or ON COMMIT DELETE ROWS was specified or implied.
- The descriptor of each table constraint specified for the table.
- A non-empty set of functional dependencies.
- A non-empty set of candidate keys.
- A preferred candidate key, which may or may not be additionally designated the primary key.

A table RT whose row type is derived from a structured type ST is called a typed table. Only a base table or a view can be a typed table. A typed table has columns corresponding, in name and declared type, to every attribute of ST and one other column REFC that is the self-referencing column of RT; let REFCN be the <column name> of REFC. The declared type of REFC is necessarily REF (ST) and the nullability characteristic of REFC is known not nullable. If RT is a base table, then the table constraint 'UNIQUE (REFCN)' is implicit in the definition of RT. A typed table is called a referenceable table. A self -referencing column cannot be updated.

Its value is determined during the insertion of a row into the referenceable table. The value of a system-generated self -referencing column and a derived self-referencing column is automatically generated when the row is inserted into the referenceable table. The value of a user-generated self -referencing column is supplied as part of the candidate row to be inserted into the referenceable table.

A table Ta is a direct subtable of another table Tb if and only if the <table name> of Tb is contained in the <subtable clause> contained in the <table definition> or <view definition> of Ta. Both Ta and Tb shall be created on a structured type and the structured type of Ta shall be a direct subtype of the structured type of Tb.

A table Ta is a subtable of a table Tb if and only if any of the following are true:
1) Ta and Tb are the same named table.
2) Ta is a direct subtable of Tb.
3) There is a table Tc such that Ta is a direct subtable of Tc and Tc is a subtable of Tb.
A table T is considered to be one of its own subtables. Subtables of T other than T itself are called its proper subtables. A table shall not have itself as a proper subtable.

A table Tb is called a supertable of a table Ta if Ta is a subtable of Tb. If Ta is a direct subtable of Tb, then Tb is called a direct supertable of Ta. A table that is not a subtable of any other table is called a maximal supertable. Let Ta be a maximal supertable and T be a subtable of Ta. The set of all subtables of Ta (which includes Ta itself) is called the subtable family of T or (equivalently) of Ta. Every subtable family has exactly one maximal supertable. A leaf table is a table that does not have any proper subtables.

Those columns of a subtable Ta of a structured type STa that correspond to the inherited attributes of STa are called inherited columns. Those columns of Ta that correspond to the originally-defined attributes of STa are called originally -defined columns.

Let TB be a subtable of TA. Let SLA be the <value expression> sequence implied by the <select list> '*' in the <query specification> 'SELECT * FROM TA'. For every row RB in the value of TB there exists exactly one row RA in the value of TA such that RA is the result of the <row subquery> 'SELECT SLA FROM VALUES RRB', where RRB is some <row value constructor> whose value is RB. RA is said to be the superrow in TA of RB and RB is said to be the subrow in TB of RA. If TA is a base table, then the one-to-one correspondence between superrows and subrows is guaranteed by the requirement for a unique constraint to be specified for some supertable of TA. If TA is a view, then such one-to-one correspondence is guaranteed by the requirement for a unique constraint to be specified on the leaf generally underlying table of TA. Users shall have the UNDER privilege on a table before they can use the table in a subtable definition. A table can have more than one proper subtable. Similarly, a table can have more than one proper supertable.
Qualifiers:Experimental Version ( "2.12.0" )
Parameters (local in grey)
Values { "SYSTEM_GENERATE" , "USER_GENERATED" , "DERIVED_SELF_REF" }
ValueMap { "2" , "3" , "4" }
uint16 ReferenceType ;
An indication of whether the selfreferencing column is a system-generated, a user-generated, or a derived self -referencing column.
boolean insertable ;
An indication of whether the table is insertable-into or not.
boolean updatable ;
An indication of whether the table is updatable or not.
Key
string InstanceId ;
Within the scope of the instantiating Namespace, InstanceID opaquely and uniquely identifies an instance of this class. In order to ensure uniqueness within the NameSpace, the value of InstanceID SHOULD be constructed using the following 'preferred' algorithm:
<OrgID>:<LocalID>
Where <OrgID> and <LocalID> are separated by a colon ':', and where <OrgID> MUST include a copyrighted, trademarked or otherwise unique name that is owned by the business entity creating/defining the InstanceID, or is a registered ID that is assigned to the business entity by a recognized global authority. (This is similar to the <Schema Name>_<Class Name> structure of Schema class names.) In addition, to ensure uniqueness <OrgID> MUST NOT contain a colon (':'). When using this algorithm, the first colon to appear in InstanceID MUST appear between <OrgID> and <LocalID>.
<LocalID> is chosen by the business entity and SHOULD not be re-used to identify different underlying (real-world) elements. If the above 'preferred' algorithm is not used, the defining entity MUST assure that the resultant InstanceID is not re-used across any InstanceIDs produced by this or other providers for this instance's NameSpace.
For DMTF defined instances, the 'preferred' algorithm MUST be used with the <OrgID> set to 'CIM'.
datetime CreationTime ;
The timestamp of creation of this SQL object.
Values { "Unknown" , "OK" , "Degraded/Warning" , "Minor failure" , "Major failure" , "Critical failure" , "Non-recoverable error" , "DMTF Reserved" }
ValueMap { "0" , "5" , "10" , "15" , "20" , "25" , "30" , ".." }
uint16 HealthState ;
Indicates the current health of the element. This attribute expresses the health of this element but not necessarily that of its subcomponents. The possible values are 0 to 30, where 5 means the element is entirely healthy and 30 means the element is completely non-functional. The following continuum is defined:
'Non-recoverable Error' (30) - The element has completely failed, and recovery is not possible. All functionality provided by this element has been lost.
'Critical Failure' (25) - The element is non-functional and recovery might not be possible.
'Major Failure' (20) - The element is failing. It is possible that some or all of the functionality of this component is degraded or not working.
'Minor Failure' (15) - All functionality is available but some might be degraded.
'Degraded/Warning' (10) - The element is in working order and all functionality is provided. However, the element is not working to the best of its abilities. For example, the element might not be operating at optimal performance or it might be reporting recoverable errors.
'OK' (5) - The element is fully functional and is operating within normal operational parameters and without error.
'Unknown' (0) - The implementation cannot report on HealthState at this time.
DMTF has reserved the unused portion of the continuum for additional HealthStates in the future.
ModelCorrespondence { "CIM_ManagedSystemElement.OperationalStatus" }
ArrayType ( "Indexed" )
string StatusDescriptions [ ] ;
Strings describing the various OperationalStatus array values. For example, if 'Stopping' is the value assigned to OperationalStatus, then this property may contain an explanation as to why an object is being stopped. Note that entries in this array are correlated with those at the same array index in OperationalStatus.
Values { "Unknown" , "Other" , "OK" , "Degraded" , "Stressed" , "Predictive Failure" , "Error" , "Non-Recoverable Error" , "Starting" , "Stopping" , "Stopped" , "In Service" , "No Contact" , "Lost Communication" , "Aborted" , "Dormant" , "Supporting Entity in Error" , "Completed" , "Power Mode" , "DMTF Reserved" , "Vendor Reserved" }
ModelCorrespondence { "CIM_ManagedSystemElement.StatusDescriptions" }
ValueMap { "0" , "1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "10" , "11" , "12" , "13" , "14" , "15" , "16" , "17" , "18" , ".." , "0x8000.." }
ArrayType ( "Indexed" )
uint16 OperationalStatus [ ] ;
Indicates the current statuses of the element. Various operational statuses are defined. Many of the enumeration's values are self-explanatory. However, a few are not and are described here in more detail.
'Stressed' indicates that the element is functioning, but needs attention. Examples of 'Stressed' states are overload, overheated, and so on.
'Predictive Failure' indicates that an element is functioning nominally but predicting a failure in the near future.
'In Service' describes an element being configured, maintained, cleaned, or otherwise administered.
'No Contact' indicates that the monitoring system has knowledge of this element, but has never been able to establish communications with it.
'Lost Communication' indicates that the ManagedSystem Element is known to exist and has been contacted successfully in the past, but is currently unreachable.
'Stopped' and 'Aborted' are similar, although the former implies a clean and orderly stop, while the latter implies an abrupt stop where the state and configuration of the element might need to be updated.
'Dormant' indicates that the element is inactive or quiesced.
'Supporting Entity in Error' indicates that this element might be 'OK' but that another element, on which it is dependent, is in error. An example is a network service or endpoint that cannot function due to lower-layer networking problems.
'Completed' indicates that the element has completed its operation. This value should be combined with either OK, Error, or Degraded so that a client can tell if the complete operation Completed with OK (passed), Completed with Error (failed), or Completed with Degraded (the operation finished, but it did not complete OK or did not report an error).
'Power Mode' indicates that the element has additional power model information contained in the Associated PowerManagementService association.
OperationalStatus replaces the Status property on ManagedSystemElement to provide a consistent approach to enumerations, to address implementation needs for an array property, and to provide a migration path from today's environment to the future. This change was not made earlier because it required the deprecated qualifier. Due to the widespread use of the existing Status property in management applications, it is strongly recommended that providers or instrumentation provide both the Status and OperationalStatus properties. Further, the first value of OperationalStatus should contain the primary status for the element. When instrumented, Status (because it is single-valued) should also provide the primary status of the element.
MaxLen ( 1024 )
string Name ;
The Name property defines the label by which the object is known. When subclassed, the Name property can be overridden to be a Key property.
MappingStrings { "MIF.DMTF|ComponentID|001.5" }
datetime InstallDate ;
A datetime value that indicates when the object was installed. Lack of a value does not indicate that the object is not installed.
MaxLen ( 10 )
Deprecated { "CIM_ManagedSystemElement.OperationalStatus" }
ValueMap { "OK" , "Error" , "Degraded" , "Unknown" , "Pred Fail" , "Starting" , "Stopping" , "Service" , "Stressed" , "NonRecover" , "No Contact" , "Lost Comm" , "Stopped" }
string Status ;
A string indicating the current status of the object. Various operational and non-operational statuses are defined. This property is deprecated in lieu of OperationalStatus, which includes the same semantics in its enumeration. This change is made for 3 reasons:
1) Status is more correctly defined as an array. This definition overcomes the limitation of describing status using a single value, when it is really a multi-valued property (for example, an element might be OK AND Stopped.
2) A MaxLen of 10 is too restrictive and leads to unclear enumerated values.
3) The change to a uint16 data type was discussed when CIM V2.0 was defined. However, existing V1.0 implementations used the string property and did not want to modify their code. Therefore, Status was grandfathered into the Schema. Use of the deprecated qualifier allows the maintenance of the existing property, but also permits an improved definition using OperationalStatus.
MaxLen ( 64 )
string Caption ;
The Caption property is a short textual description (one- line string) of the object.
string Description ;
The Description property provides a textual description of the object.
string ElementName ;
A user-friendly name for the object. This property allows each instance to define a user-friendly name in addition to its key properties, identity data, and description information.
Note that the Name property of ManagedSystemElement is also defined as a user-friendly name. But, it is often subclassed to be a Key. It is not reasonable that the same property can convey both identity and a user-friendly name, without inconsistencies. Where Name exists and is not a Key (such as for instances of LogicalDevice), the same information can be present in both the Name and ElementName properties.