Feature datasets in a geodatabase in SQL Server
Feature datasets are objects that allow you to group together related feature classes so they can participate in specific functionality. You would use a feature dataset to group feature classes that have the following characteristics:
- They are stored in the same coordinate system.
- They participate in a topology.
- They are part of a relationship class.
- They are part of a geometric network, network dataset, schematic dataset, cadastral fabric, or terrain dataset.
Use the following links to read about different components of feature datasets in SQL Server:
The following describes how a feature dataset would appear in the Catalog window, in the database management system (DBMS), and in an XML document.
Feature datasets in ArcGIS Desktop
In the Catalog tree, feature datasets are represented with the following icon:
When the feature dataset is expanded in the Catalog tree, you can see all the feature classes and other data objects that are in it.
The name of a feature dataset in a geodatabase in Microsoft SQL Server contains the database name, the dataset owner's name, and the name of the feature dataset itself. This can be seen in the preceding graphic.
Feature datasets in a Microsoft SQL Server database
In the database, feature datasets are virtual collections of feature classes. They are grouped together by a common ID, which is maintained in the GDB_ITEMS system table.
For the Water feature dataset example, the feature class, Tanks, is identified as part of the Water feature dataset through the GDB_ITEMRELATIONSHIPS table. The UUID of the feature dataset is the ORIGINID, and the UUID of the feature class is the DESTID.
The following shows the Tanks feature class business table and the system tables that track the Water feature dataset in SQL Server:
Because feature datasets are virtual collections of objects, feature classes in feature datasets are just like stand-alone feature classes in that they have their own records in the tables associated with feature classes such as SDE_layers, SDE_table_registry, sde_geometry_columns, and SDE_column_registry. Since feature classes associated with feature datasets are database objects in their own right, they cannot have the same name as other tables or stand-alone feature classes in the same schema in the database.
See Feature classes in a geodatabase in SQL Server for a diagram of feature class relationships in the geodatabase.
Topologies, geometric networks, network datasets, parcel fabrics, schematic datasets, and terrain datasets are additional database objects that can be part of a feature dataset. These objects use additional system tables, which are described in separate topics.
Feature datasets in an XML document
Feature datasets are grouped under the DatasetDefinitions tag in an XML document and separated by a DataElement tag of type FeatureDataset. The XML document entry for the Water dataset would look like the following:
<DatasetDefinitions xsi: type="esri:ArrayOfDataElement"> <DataElement xsi:type="esri:DEFeatureDataset"> <CatalogPath>/V=dbo.DEFAULT/FD=mydgdb.MAP.Water</CatalogPath> <Name>mydgdb.MAP.Water</Name> <Children xsi:type="esri:ArrayOfDataElement"> <DataElement xsi:type="esri:DEFeatureClass"> <CatalogPath>/V=mydgdb.MAP.Water/RC=mydgdb.MAP.Anno_19_72</CatalogPath> <Name>mydgdb.MAP.Anno_19_72</Name> <DatasetType>esriDTFeatureClass</DatasetType> <DSID>1</DSID> <Versioned>false</Versioned> <CanVersion>true</CanVersion> <HasOID>false</HasOID> <OIDFieldName/> <Fields xsi:type="esri:Fields"> <FieldArray xsi:type="esri:ArrayOfField"> </Fields>
All other data elements
</DatasetDefinitions>
Though the <Versioned> tag is set to false for the feature dataset, this does not reflect the versioned state of the feature classes in the feature dataset. To find this information, query each individual feature class.