'$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