3.1.1.1.1.1 Data Model

The following columns are common to both the IPv4-specific and IPv6-specific tables:

RecordId: A primary key. A 64-bit signed integer that is unique for each entry in the table. The data store assigns a unique value when a new row is inserted into the table. This forms the RecordId of the IPRange data structure.

ParentIPBlockRecordId: A foreign key (ADM_IPBlocksTable, RecordId); on delete no action, on update no action. This column specifies the record identifier of an IP address block (in the ADM_IPBlocksTable) to which the IPRange maps. An address range will map to the most specific address block whose subnet identifier, subnet mask, start IP address, end IP address, and AddressSpace include the range of addresses specified by the address range. This column MUST NOT be NULL for an IPRange.

AddressSpaceRecordId: A foreign key (ADM_AddressSpaceTable, RecordId); on update no action, on delete no action.

RangeDetails: This consists of the following columns common to both IPv4-specific and IPv6-specific tables. These columns are modeled on the following properties of IPRange, which is the base type that both IPv4Range and IPv6Range extend:

  • AddressAssignment

  • AddressCategory

  • EndIPAddress

  • IsOverlapping

  • LastAssignedDate

  • LastChangeDate

  • LastReclaimRuntime

  • NumberOfChildAddresses

  • Owner

  • PrefixLength

  • StartIPAddress

  • UtilizationCalculationType

  • UtilizationEventLogStatus

  • UtilizationStatistics

  • UseForUtilization

  • ConnectionSpecificDNSSuffix

  • VirtualizationType

  • IsUnmappedFromReverseZone

ScopeRecordId: A foreign key (ADM_DHCPScopesTable, RecordId); on delete cascade. If the IP address range is a dynamic address range (AddressAssignment is Dynamic), this specifies the RecordId in the ADM_DHCPScopesTable for the scope corresponding to this IP address range. This forms the ScopeRecordId of the IPRange.

ManagedByValue:  This is a computed value for each row of this table. This is computed by looking up the ADM_CustomFieldValuesAssociationTable for the row with UsedById to be RecordId value of the address range, ObjectType to be EnumerationObjectType.IPRange, Af is InterNetwork for an IPv4Range, InterNetworkV6 for an IPv6Range, and the CustomFieldId to be of value ADM_ManagedByCustomFieldId.

ManagedByEntityValue:  This is a computed value for each row of this table. This is computed by looking up the ADM_CustomFieldValuesAssociationTable for the row with the UsedById to be the RecordId value of the address range, ObjectType to be EnumerationObjectType.IPRange, Af is InterNetwork for an IPv4Range, InterNetworkV6 for an IPv6Range, and the CustomFieldId to be of value ADM_ManagedByEntityCustomFieldId.

For the IPv4-specific table, the following additional property of IPv4Range is associated with the range.

WINSServers