Module Documentation: eml-constraint
Back to EML Contents
This schema defines the integrity constraints between entities (e.g., data tables) as would be maintained in a relational database. These constraints include primary key constraints, foreign key constraints, unique key constraints, check constraints, and not null constraints, among potential others.

Element Definitions:

eml-constraint
Content of this field: Description of this field:
Elements: Required?: How many:
A sequence of (
identifierOptionalMultiple Times
constraintOptionalMultiple Times
)
Attributes: Required?: Default Value:

Tooltip:
Relational integrity constraint descriptors
Summary:
Describes the relational integrity constraints of a relational database.
Description:
Describes the relational integrity constraints of a relational database. This includes primary keys, foreign keys, unique keys, etc.
Example:

Lineage:
New in EML 2.0
identifier
Content of this field: Description of this field:
Elements: Required?: How many:
Attributes: Required?: Default Value:

Tooltip:
Unique identifier
Summary:
The unique identifier of this metadata file or object.
Description:
The identifier field provides a unique identifier for this metadata documentation. It will most likely be part of a sequence of numbers or letters that are meaningful in a larger context, such as a metadata catalog. That larger system can be identified in the "system" attribute. Multiple identifiers can be listed corresponding to different catalog systems.
Example:
<identifier system="metacat">nceas.3.2</identifier>
Lineage:
The 'identifier' field is derived from the eml-dataset meta_file_id filed in EML 1.4.
constraint
Content of this field: Description of this field:
Elements: Required?: How many:
A sequence of (
constraintTypeOptionalMultiple Times
constraintNameOptionalMultiple Times
constraintDescriptionOptionalMultiple Times
entityIdOptionalMultiple Times
keyOptionalMultiple Times
referencedEntityIdOptionalMultiple Times
referencedKeyOptionalMultiple Times
cardinalityOptionalMultiple Times
checkConditionOptionalMultiple Times
)
Attributes: Required?: Default Value:

Tooltip:
Integrity constraint
Summary:
Information about the integrity constraint being defined.
Description:
Complete information needed to reconstruct this integrity constraint for enforcement in a system such as a relational database management system.
Example:

Lineage:
New in EML 2.0
constraintType
Content of this field: Description of this field:
Elements: Required?: How many:
Attributes: Required?: Default Value:

Tooltip:
type of constraint
Summary:
the type of constraint being defined
Description:
the type of constraint being defined. This is what kind of constraint this is.
Example:
PrimaryKey, ForeignKey, UniqueKey
Lineage:
New in EML 2.0
constraintName
Content of this field: Description of this field:
Type: xs:string
Attributes: Required?: Default Value:

Tooltip:
constraint name
Summary:
name of the field that this constraint is tied to
Description:
name of the field that this constraint is tied to. This could also be the name of an independent constraint such as a trigger or an autonumber generator.
Example:
LocationID, TABLE1_NUMBER_GEN1
Lineage:
New in EML 2.0
constraintDescription
Content of this field: Description of this field:
Type: xs:string
Attributes: Required?: Default Value:

Tooltip:
constraint description
Summary:
description of the constraint
Description:
description of the constraint. Any additional information that may be needed to fully understand the constraint.
Example:

Lineage:
New in EML 2.0
entityId
Content of this field: Description of this field:
Type: xs:string
Attributes: Required?: Default Value:

Tooltip:
table to which this constraint is tied
Summary:
table to which this constraint is tied
Description:
table to which this constraint is tied. In the instance of a key, it is the name of the table in which it is defined.
Example:
site_properties
Lineage:
New in EML 2.0
key
Content of this field: Description of this field:
Elements: Required?: How many:
A sequence of (
attributeNameOptionalMultiple Times
)
Attributes: Required?: Default Value:

Tooltip:
Key
Summary:
The set of attributes to which this constraint applies.
Description:
The set of attributes to which this constraint applies. For a primary key or a unique key, the set of attributes must be identifying. For a foreign key, the set of attributes must match an identifying key in the referenced entity. For a not null constraint, the key indicates the attribute which should not be null.
Example:

Lineage:
New in EML 2.0
attributeName
Content of this field: Description of this field:
Type: xs:string
Attributes: Required?: Default Value:
referencedEntityId
Content of this field: Description of this field:
Type: xs:string
Attributes: Required?: Default Value:

Tooltip:
Referenced Entity ID
Summary:
The id of the parent-entity in a foreign key constraint.
Description:
This field contains the id of the entity to which a foreign key refers, otherwise known as the parent-entity or parent-table.
Example:
site_properties
Lineage:
New in EML 2.0
referencedKey
Content of this field: Description of this field:
Elements: Required?: How many:
A sequence of (
attributeNameOptionalMultiple Times
)
Attributes: Required?: Default Value:

Tooltip:
Key
Summary:
The set of attributes to which a foreign key constraint refers.
Description:
The set of attributes to which a foreign key constraint refers. If the key refers to the primary key in the referenced entity, then the "referencedKey" is optional. For a foreign key, the set of attributes must match an identifying key in the referenced entity.
Example:

Lineage:
New in EML 2.0
attributeName
Content of this field: Description of this field:
Type: xs:string
Attributes: Required?: Default Value:
cardinality
Content of this field: Description of this field:
Elements: Required?: How many:
Attributes: Required?: Default Value:

Tooltip:
Constrint Cardinality
Summary:
The cardinality of a foreign key constraint.
Description:
Indicates the cardinality (zero, one, many) of a foreign key constraint.
Example:

Lineage:
New in EML 2.0
checkCondition
Content of this field: Description of this field:
Type: xs:string
Attributes: Required?: Default Value:

Tooltip:
Check Condition
Summary:
An SQL statement to be used as the condition for a check constraint.
Description:
A SQL statement to be used as the condition for a check constraint. Generally this provides a means for constraining the values within and among entities.
Example:
(year > 1900 and year < 1990)
Lineage:
New in EML 2.0

Attribute Definitions:

system

Type: xs:string

Use: optional


Tooltip:
Catalog system
Summary:
The catalog system in which this identifier is used.
Description:
This element gives the name of the catalog system in which this identifier is used. It is useful to determine the scope of the identifier, and to determine the semantics of the various subparts of the identifier. Unresolved issue: can or should this be a URI/URL pointing to the catalog system, or just the name?
Example:
<identifier system="metacat">nceas.3.2</identifier>
Lineage:
New to EML 2.0.

Complex Type Definitions:

Simple Type Definitions:

Derived from: xs:string (by xs:restriction)

Allowed values:

  • UniqueKey
  • PrimaryKey
  • ForeignKey
  • NotNull
  • Check

Derived from: xs:string (by xs:restriction)

Allowed values:

  • zero
  • one
  • many

Web Contact: jones@nceas.ucsb.edu