Relationships between datasets in a geodatabase in Informix

Mit Beziehungen werden die Zuordnungen zwischen Objekten in einer Tabelle und den Objekten in einer anderen Tabelle verwaltet. Das Erstellen von Beziehungsklassen zwischen Tabellen in der Geodatabase trägt dazu bei, die referenzielle Integrität aufrechtzuerhalten, und ermöglicht Ihnen, in Beziehung stehende Tabellen effizienter zu bearbeiten und abzufragen. Zwischen Tabellen in einer Geodatabase werden die folgenden Beziehungstypen unterstützt:

Beziehungen werden in Beziehungsklassen gespeichert und verwaltet, ebenso wie Features in einer Feature-Class und nicht räumliche Zeilen in Tabellen gespeichert werden.

Weitere Informationen zu Beziehungen und zu den Beziehungsarten von Beziehungsklassen finden Sie unter Eigenschaften von Beziehungsklassen.

Relationships in ArcGIS Desktop

Beziehungsklassen werden im Kataloginhaltsverzeichnis las Teil des Feature-Datasets angezeigt. Beziehungsklassen werden mit dem folgenden Symbol dargestellt:

Sie können Informationen zu Beziehungsklassen anzeigen, indem Sie mit der rechten Maustaste auf die Beziehungsklasse klicken und Eigenschaften auswählen, um das Dialogfeld Eigenschaften: Beziehungsklasse zu öffnen.

Eine Feature-bezogene Annotation ist eine Art von Beziehungsklasse. Im Dialogfeld Eigenschaften: Beziehungsklasse können Sie sehen, dass die Feature-Class Distribmains Teil einer Eins-zu-Viele-Beziehung mit der Annotation-Feature-Class DistDiam ist. Die Datensätze in den Tabellen werden auf Grundlage der objectid in der Feature-Class Distribmains und der col_featureid in der Feature-Class DistDiam verbunden. Dies ist eine abhängige Beziehungsklasse, d. h. Änderungen in einer Tabelle beeinflussen bzw. ändern die Features in der in Beziehung stehenden Tabelle. In diesem Fall lösen Änderungen an der Ursprungsklasse (Distribmains) eine Änderung in der Ziel-Feature-Class (ud_reldestfc) aus. Dies wird als Vorwärtsbenachrichtigung bezeichnet.

Relationship classes in an IBM Informix database

Beziehungsklassen werden in den Tabellen gdb_items und gdb_itemrelationships gespeichert.

Relationship classes in an XML document

Beziehungsklassen werden in XML-Dokumenten als ein Datenelementtyp angezeigt. Im Folgenden ist ein Teil eines XML-Dokuments für ein Dataset zu sehen, das eine Beziehungsklasse enthält.

  <DataElement xsi:type="esri:DERelationshipClass">
    <CatalogPath>/V=sde.DEFAULT/FD=sde:gdb.Water/RC=sde:gdb.Anno_DistMains</CatalogPath> 
    <Name>sde:gdb.Anno_DistMains</Name> 
    <DatasetType>esriDTRelationshipClass</DatasetType> 
    <DSID>-1</DSID> 
    <Versioned>true</Versioned> 
    <CanVersion>true</CanVersion> 
    <HasOID>true</HasOID> 
    <OIDFieldName>objectID</OIDFieldName> 
    <Fields xsi:type="esri:Fields">
      <FieldArray xsi:type="esri:ArrayOfField">
        <Field xsi:type="esri:Field">
          <Name>objectID</Name> 
          <Type>esriFieldTypeOID</Type> 
          <IsNullable>false</IsNullable> 
          <Length>4</Length> 
          <Precision>10</Precision> 
          <Scale>0</Scale> 
          <Required>true</Required> 
          <Editable>false</Editable> 
        </Field>
        <Field xsi:type="esri:Field">
          <Name>Type</Name> 
          <Type>esriFieldTypeInteger</Type> 
          <IsNullable>true</IsNullable> 
          <Length>4</Length> 
          <Precision>10</Precision> 
          <Scale>0</Scale> 
        </Field>
        <Field xsi:type="esri:Field">
          <Name>Main_id</Name> 
          <Type>esriFieldTypeInteger</Type> 
          <IsNullable>true</IsNullable> 
          <Length>4</Length> 
          <Precision>10</Precision> 
          <Scale>0</Scale> 
        </Field>
      </FieldArray>
    </Fields>
  <Indexes xsi:type="esri:Indexes">
    <IndexArray xsi:type="esri:ArrayOfIndex">
      <Index xsi:type="esri:Index">
        <Name>R249_SDE_ROWID_UK</Name> 
        <IsUnique>true</IsUnique> 
        <IsAscending>true</IsAscending> 
        <Fields xsi:type="esri:Fields">
          <FieldArray xsi:type="esri:ArrayOfField">
            <Field xsi:type="esri:Field">
              <Name>objectID</Name> 
              <Type>esriFieldTypeOID</Type> 
              <IsNullable>false</IsNullable> 
              <Length>4</Length> 
              <Precision>10</Precision> 
              <Scale>0</Scale> 
              <Required>true</Required> 
              <Editable>false</Editable> 
            </Field>
          </FieldArray>
        </Fields>
      </Index>
    <Index xsi:type="esri:Index">
      <Name>GDB_9_dist_main</Name> 
      <IsUnique>false</IsUnique> 
      <IsAscending>true</IsAscending> 
      <Fields xsi:type="esri:Fields">
        <FieldArray xsi:type="esri:ArrayOfField">
          <Field xsi:type="esri:Field">
            <Name>APN</Name> 
            <Type>esriFieldTypeInteger</Type> 
            <IsNullable>true</IsNullable> 
            <Length>4</Length> 
            <Precision>10</Precision> 
            <Scale>0</Scale> 
          </Field>
        </FieldArray>
      </Fields>
    </Index>
    <Index xsi:type="esri:Index">
      <Name>GDB_9_annoclass_id</Name> 
      <IsUnique>false</IsUnique> 
      <IsAscending>true</IsAscending> 
      <Fields xsi:type="esri:Fields">
        <FieldArray xsi:type="esri:ArrayOfField">
          <Field xsi:type="esri:Field">
            <Name>bldg_id</Name> 
            <Type>esriFieldTypeInteger</Type> 
            <IsNullable>true</IsNullable> 
            <Length>4</Length> 
            <Precision>10</Precision> 
            <Scale>0</Scale> 
          </Field>
        </FieldArray>
      </Fields>
    </Index>
  </IndexArray>
  </Indexes>
  <CLSID>{A07E9CB1-9A95-11D2-891A-0000F877762D}</CLSID> 
  <EXTCLSID /> 
  <RelationshipClassNames xsi:type="esri:Names" /> 
  <AliasName>sde:gdb.Anno_DistMains</AliasName> 
  <ModelName /> 
  <HasGlobalID>false</HasGlobalID> 
  <GlobalIDFieldName /> 
  <RasterFieldName /> 
  <ExtensionProperties xsi:type="esri:PropertySet">
    <PropertyArray xsi:type="esri:ArrayOfPropertySetProperty" /> 
  </ExtensionProperties>
  <ControllerMemberships xsi:type="esri:ArrayOfControllerMembership" /> 
  <Cardinality>esriRelCardinalityOneToMany</Cardinality> 
  <Notification>esriRelNotificationBoth</Notification> 
  <IsAttributed>false</IsAttributed> 
  <IsComposite>false</IsComposite> 
  <OriginClassNames xsi:type="esri:Names">
    <Name>sde:gdb.Distribmains</Name> 
  </OriginClassNames>
  <DestinationClassNames xsi:type="esri:Names">
    <Name>sde:gdb.DistDiam</Name> 
  </DestinationClassNames>
  <KeyType>esriRelKeyTypeSingle</KeyType> 
  <ClassKey>esriRelClassKeyUndefined</ClassKey> 
  <ForwardPathLabel>sde:gdb.Distribmains</ForwardPathLabel> 
  <BackwardPathLabel>sde:gdb.DistDiam</BackwardPathLabel> 
  <IsReflexive>false</IsReflexive> 
  <OriginClassKeys xsi:type="esri:ArrayOfRelationshipClassKey">
    <RelationshipClassKey xsi:type="esri:RelationshipClassKey">
      <ObjectKeyName>ObjectID</ObjectKeyName> 
      <ClassKeyName /> 
      <KeyRole>esriRelKeyRoleOriginPrimary</KeyRole> 
    </RelationshipClassKey>
    <RelationshipClassKey xsi:type="esri:RelationshipClassKey">
      <ObjectKeyName>featureid</ObjectKeyName> 
      <ClassKeyName /> 
      <KeyRole>esriRelKeyRoleOriginForeign</KeyRole> 
    </RelationshipClassKey>
  </OriginClassKeys> 
  <DestinationClassKeys xsi:type="esri:ArrayOfRelationshipClassKey">
    <RelationshipClassKey xsi:type="esri:RelationshipClassKey">
      <ObjectKeyName>Main_ID</ObjectKeyName> 
      <ClassKeyName /> 
      <KeyRole>esriRelKeyRoleDestinationPrimary</KeyRole> 
    </RelationshipClassKey>
    <RelationshipClassKey xsi:type="esri:RelationshipClassKey">
      <ObjectKeyName>main_id</ObjectKeyName> 
      <ClassKeyName /> 
      <KeyRole>esriRelKeyRoleDestinationForeign</KeyRole> 
    </RelationshipClassKey>
  </DestinationClassKeys>
  <RelationshipRules xsi:type="esri:ArrayOfRelationshipRule" /> 
</DataElement>

7/10/2012