Dominios en una geodatabase en SQL Server

Los dominios son reglas que se aplican a un campo en una tabla de negocios. Aplican la integridad de datos porque permiten que se introduzcan en el campo sólo aquellos valores especificados para el dominio. Los dominios están definidos para la geodatabase, y se pueden aplicar a varios subtipos, tablas o clases de entidad.

Existen dos tipos de dominio que puede definir: el dominio de rango y el dominio codificado. Los dominios de rango sólo pueden aplicarse a campos numéricos. Para obtener una explicación sobre los dominios, consulteUn paseo introductorio por los dominios de atributos.

Dominios en ArcGIS Desktop

Se puede acceder a los dominios de una geodatabase en la ventana Catálogo a través del cuadro de diálogo Propiedades de la base de datos. Haga clic con el botón derecho del ratón en la geodatabase y, a continuación, haga clic en Propiedades.

Dominios en el cuadro de diálogo Propiedades de la base de datos

En el ejemplo anterior, la lista de todos los dominios definidos para una geodatabase aparece en la parte superior del cuadro de diálogo. El dominio Fitting_type está seleccionado en la lista. Las Propiedades de dominio y los Valores codificados que se muestran pertenecen a este dominio seleccionado. Como se muestra en Propiedades de dominio, el dominio Fitting_type es un dominio codificado.

Cuando un dominio se aplica a un subtipo, este queda enumerado en la ficha Subtipo del cuadro de diálogo Propiedades de clase de entidad. Haga clic con el botón derecho del ratón en la clase de entidad y, a continuación, haga clic en Propiedades.

Un dominio que se aplica a un subtipo de clase de entidad

El dominio Fitting_type se aplica al campo SUBTYPE de la clase de entidad Fittings.

Cuando edita los atributos de la clase de entidad Fittings en ArcMap, sólo puede introducir uno de los códigos especificados para el dominio Fitting_type en el campo SUBTYPE.

Lista de dominio codificado para el campo de atributo
La lista de dominio codificado para el campo de atributo SUB_TYPE

Dominios en un DBMS de SQL Server

En la base de datos, todos los dominios se almacenan en la tabla del sistema GDB_ITEMS. Un campo de la tabla GDB_ITEMTYPES identifica al objeto como dominio.

Dominios en un documento de espacio de trabajo XML

Los dominios en los documentos de espacio de trabajo XML están encerrados con una etiqueta Domain.

La siguiente es una parte de un documento de espacio de trabajo XML que contiene la definición del dominio de valor codificado Fitting_type:

<Domain xsi:type="esri:CodedValueDomain">   <DomainName>FittingType</DomainName>    <FieldType>esriFieldTypeString</FieldType>    <MergePolicy>esriMPTDefaultValue</MergePolicy>    <SplitPolicy>esriSPTDuplicate</SplitPolicy>    <Description>Valid fitting type codes</Description>    <Owner>RJP</Owner>    <CodedValues xsi:type="esri:ArrayOfCodedValue">     <CodedValue xsi:type="esri:CodedValue">       <Name>Tee</Name>        <Code xsi:type="xs:string">TEE</Code>      </CodedValue>     <CodedValue xsi:type="esri:CodedValue">       <Name>Sleeve</Name>        <Code xsi:type="xs:string">SLV</Code>      </CodedValue>     <CodedValue xsi:type="esri:CodedValue">       <Name>Reduser</Name>        <Code xsi:type="xs:string">RED</Code>      </CodedValue>     <CodedValue xsi:type="esri:CodedValue">       <Name>Expansion joint</Name>        <Code xsi:type="xs:string">EOP</Code>      </CodedValue>     <CodedValue xsi:type="esri:CodedValue">       <Name>Cross</Name>        <Code xsi:type="xs:string">CRS</Code>      </CodedValue>     <CodedValue xsi:type="esri:CodedValue">       <Name>Bend</Name>        <Code xsi:type="xs:string">BEND</Code>      </CodedValue>     <CodedValue xsi:type="esri:CodedValue">       <Name>Cap</Name>        <Code xsi:type="xs:string">CAP</Code>      </CodedValue>     <CodedValue xsi:type="esri:CodedValue">       <Name>Coupling</Name>        <Code xsi:type="xs:string">CPL</Code>      </CodedValue>     <CodedValue xsi:type="esri:CodedValue">       <Name>Offset</Name>        <Code xsi:type="xs:string">OFF</Code>      </CodedValue>     <CodedValue xsi:type="esri:CodedValue">       <Name>Plug</Name>        <Code xsi:type="xs:string">PLG</Code>      </CodedValue>     <CodedValue xsi:type="esri:CodedValue">       <Name>Saddle</Name>        <Code xsi:type="xs:string">SDL</Code>      </CodedValue>     <CodedValue xsi:type="esri:CodedValue">       <Name>Tap</Name>        <Code xsi:type="xs:string">TAP</Code>      </CodedValue>     <CodedValue xsi:type="esri:CodedValue">       <Name>Weld</Name>        <Code xsi:type="xs:string">WLD</Code>      </CodedValue>     <CodedValue xsi:type="esri:CodedValue">       <Name>Riser</Name>        <Code xsi:type="xs:string">RIS</Code>      </CodedValue>   </CodedValues> </Domain>

Aquí se muestran las entradas para un dominio de rango, RotAngle, en un documento de espacio de trabajo XML:

<Domain xsi:type="esri:RangeDomain">   <DomainName>RotAngle</DomainName>    <FieldType>esriFieldTypeInteger</FieldType>    <MergePolicy>esriMPTDefaultValue</MergePolicy>    <SplitPolicy>esriSPTDuplicate</SplitPolicy>    <Description>Valid rotation angles</Description>    <Owner>RJP</Owner>    <MaxValue xsi:type="xs:double">359</MaxValue>    <MinValue xsi:type="xs:double">0</MinValue>   </Domain>

7/10/2012