'$RCSfile: eml-constraint.xsd,v $'
Copyright: 2000 Regents of the University of California and the
National Center for Ecological Analysis and Synthesis
For Details: http://knb.ecoinformatics.org/
'$Author: berkley $'
'$Date: 2002/04/21 22:45:30 $'
'$Revision: 1.15 $'
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
eml-constraint
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.
Relational integrity constraint descriptors
Describes the relational integrity constraints of a relational
database.
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.
New in EML 2.0
Name of the constraint
A meaningfull name of the constraint.
The constraint name represents a human readible and meaningful name for the constraint.
PrimaryKey_birdSurvey
New in EML 2.0.0.
Description of the constraint
Descibes the purpose of the constraint.
The constraint description element describes the nature of the
constraint. It might be a description of a check condition, or a
statement about the composition of a primary key or the nature
of the relationship between two database tables or two ascii files.
1.Must be greater than 0 but less than 100
2. "The primary key of the table BIRD_SURVEY is composed of
two attributes:speciesCode and observationDate
3. The species name associated with the species code in survey.txt
can be found in the file speciesList.txt
New in EML 2.0.0.
Constrained Entity
Entity to which this constraint applies
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.
knb.78.3
New in EML 2.0.0
Key
The set of attributes to which this constraint applies.
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.
New in EML 2.0
Attribute Name
Name of an attribute found in the identified entity
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.
New in EML 2.0
Key
The set of attributes to which this constraint applies.
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.
New in EML 2.0
Attribute Name
Name of an attribute found in the identified entity
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.
New in EML 2.0
Check Condition
An SQL statement or other language implementation of
the condition for a check constraint.
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.
1900 and year < 1990)]]>
New in EML 2.0
Key
The set of attributes to which this constraint applies.
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.
New in EML 2.0
Attribute Name
Name of an attribute found in the identified entity
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.
New in EML 2.0
Referenced Entity ID
The id of the parent-entity in a foreign key constraint.
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.
knb.79.4
New in EML 2.0
Key
The set of attributes to which a foreign key constraint refers.
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.
New in EML 2.0
Attribute Name
Name of an attribute found in the identified entity
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.
New in EML 2.0
Relationship type: Identifying or non-identifying
Relationship type: Identifying or non-identifying
Identifying relationships propagate the the parent entity's
primary key to the child's primary key. Non-identifying relationships propagate the
parent's primary key as a non-key attribute of the child entity.
New in EML 2.0
Cardinality of the relationship between two entities.
Cardinality of the relationship between a parent entity and
a child entity.
Cardinality is a statement of the relationship between
parent and child entities. Cardinality is expressed as the ratio of
related parent and child entities. Cardinality 1 to N is a specific
form of cardinalty in which zero or one parent records are related
to a specified number of child records. The cardinality ratio for the
parent entity depends on whether the "existence" is mandatory (one or more)
or optional (zero to ...).
One to many, One to 10, Zero or One to Many
New in EML 2.0
Parent portion of a 1 to exactly N cardinality
Parent portion of a 1 to exactly N cardinality.
May have a value of either 0 or 1.
>Parent portion of a 1 to exactly N cardinality.
May have a value of either 0 or 1.
Value of 0 implies that the "existence" of a child record is optional.
Value of 1 implies that the "existence" of a child record is mandatory.
One to 10, Zero or One to Many
New in EML 2.0
Child portion of the cardinality expression
Child portion of a cardinality expression
Allowed values are positive integers including zero
or the string value "many".
>Child portion of a cardinality expression
Allowed values are positive integers including zero
or the string value "many"
2, 15, many
New in EML 2.0
Child portion of a cardinality expression
Child portion of a cardinality expression
Allowed values are positive integers including zero
or the string value "many".
Child portion of a cardinality expression
Allowed values are positive integers including zero
or the string value "many"
0,1, 2, 15,many
New in EML 2.0