// Copyright (c) 2006 DMTF. All rights reserved. // Add top level relational model // support to the database model. // Add UmlPackagePath // qualifier values to CIM Schema. // =================================================================== // CIM_SqlTable // =================================================================== [Experimental, Version ( "2.12.0" ), UMLPackagePath ( "CIM::Database::Sql" ), Description ( "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. \n" "\n" "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. \n" "\n" "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. \n" "\n" "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). \n" "Every table descriptor includes: \n" "- The column descriptor of each column in the table. \n" "- The name, if any, of the structured type, if any, associated " "with the table. \n" "- An indication of whether the table is insertable-into or " "not. \n" "- 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. \n" "- A list, possibly empty, of the names of its direct " "supertables. \n" "- A list, possibly empty, of the names of its direct " "subtables. \n" "\n" "A base table descriptor describes a base table. In addition to " "the components of every table descriptor, a base table " "descriptor includes: \n" "- The name of the base table. \n" "- 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. \n" "- 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. \n" "- The descriptor of each table constraint specified for the " "table. \n" "- A non-empty set of functional dependencies. \n" "- A non-empty set of candidate keys. \n" "- A preferred candidate key, which may or may not be " "additionally designated the primary key. \n" "\n" "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 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. \n" "\n" "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. \n" "\n" "A table Ta is a direct subtable of another table Tb if and " "only if the of Tb is contained in the contained in the
or 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. \n" "\n" "A table Ta is a subtable of a table Tb if and only if any of " "the following are true: \n" "1) Ta and Tb are the same named table. \n" "2) Ta is a direct subtable of Tb. \n" "3) There is a table Tc such that Ta is a direct subtable of Tc " "and Tc is a subtable of Tb. \n" "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. \n" "\n" "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. \n" "\n" "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. \n" "\n" "Let TB be a subtable of TA. Let SLA be the " "sequence implied by the