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. When an eml-constraint module is created, it should be linked into a dataset using the "triple" element, and all of the entities that are referenced in the constraints should be accessible within that same package.
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 constraint
Description:
Name of the constraint. This is typically an informative name that can be used to refer to the constraint itself.
Example:
party_name_fk_1
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:
Constrained Entity
Summary:
Entity to which this constraint applies
Description:
Entity to which this constraint applies. This should be an identifer that matches one of the "identifier" elements for an entity that is linked into the package with a triple. The constraint document itself should be linked into the package as a member.
Example:
knb.78.3
Lineage:
New in EML 2.0.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:

Tooltip:
Attribute Name
Summary:
Name of an attribute found in the identified entity
Description:
Name of an attribute that can be found in the identified entity. This name will be unique within an entity and specifies that the attribute participates in the key that is being defined.
Example:

Lineage:
New in EML 2.0
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. This should be an identifer that matches one of the "identifier" elements for an entity that is linked into the package with a triple. The constraint document itself should be linked into the package as a member.
Example:
knb.79.4
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:

Tooltip:
Attribute Name
Summary:
Name of an attribute found in the identified entity
Description:
Name of an attribute that can be found in the identified entity. This name will be unique within an entity and specifies that the attribute participates in the key that is being defined.
Example:

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

Tooltip:
Constraint 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 or other language implementation of the condition for a check constraint.
Description:
A SQL statement or other language implementation of 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
  • OtherConstraint

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

Allowed values:

  • zero
  • one
  • many

Web Contact: jones@nceas.ucsb.edu