[Bio] / Sprout / AttributesDBD.xml Repository:
ViewVC logotype

View of /Sprout/AttributesDBD.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (download) (as text) (annotate)
Tue Jan 9 01:49:08 2007 UTC (12 years, 11 months ago) by parrello
Branch: MAIN
Changes since 1.2: +4 -0 lines
Added support for the new text search index for attributes.

<?xml version='1.0' standalone='yes'?>
<Database>
  <Title>Attributes Database</Title>
  <Entities>
    <Entity name="AttributeGroup" keyType="name-string">
      <Notes>A [i]group[/i] is a named set of attribute keys. An attribute key can belong to
      many groups or none at all.</Notes>
    </Entity>
    <Entity name="AttributeKey" keyType="name-string">
      <Notes>An [i]attribute key[/i] describes named values attached to a particular type of object.
      Each instance of this entity contains the attribute's description and its name. An attribute
      key name must consist of letters, numbers, periods, underscores, and hyphens.</Notes>
      <Fields>
        <Field name="description" type="text">
          <Notes>Text describing the attribute. This should explain what the attribute means and
          what kinds of values are appropriate.</Notes>
        </Field>
        <Field name="data-type" type="name-string">
          <Notes>ERDB data type for the attribute. This serves as documentation only, but
          that may change at some future point.</Notes>
        </Field>
      </Fields>
    </Entity>
    <Entity name="TargetObject" keyType="string">
      <Notes>An [i]object[/i] represents a keyed thing to which an attribute can be assigned.
      In order to improve performance, this table has no data in it. It is simply required by
      the semantics of the database.</Notes>
    </Entity>
  </Entities>
  <Relationships>
    <Relationship name="IsInGroup" from="AttributeKey" to="AttributeGroup" arity="MM">
      <Notes>This relationship connects an attribute key to the groups of which it is a member.</Notes>
    </Relationship>
    <Relationship name="HasValueFor" from="AttributeKey" to="TargetObject" arity="MM">
      <Notes>This relationship connects an attribute key to its objects. It contains the
      attribute values, and is therefore the primary data repository for the database.</Notes>
      <Fields>
        <Field name="keywords" type="text" searchable="1">
          <Notes>This field contains a cleaned copy of the key name and value text for use
          in full-text searching.</Notes>
        </Field>
        <Field name="value" type="text">
          <Notes>This is the actual attribute value. Note that a single key/object pair may in fact
          have many values, and therefore many entries in this table.</Notes>
        </Field>
      </Fields>
    </Relationship>
  </Relationships>
</Database>

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3