При создании таблицы или добавлении столбца в таблицу базы данных вы указываете определенный тип данных для столбца. Типы данных определяются, исходя из следующего:
- Какие значения можно хранить в столбце
- Какие операции можно применять к данным этого столбца
- Как данные этого столбца хранятся в базе данных
ArcGIS работает с определенными типами данных. При осуществлении доступа к таблице базы данных через Подключения к базам данных, слой запроса или веб-сервис, ArcGIS отфильтровывает любые неподдерживаемые типы данных. ArcGIS не отображает неподдерживаемые типы данных, и вы не сможете редактировать их в ArcGIS. Аналогично, если при помощи ArcGIS копировать и вставлять таблицы, содержащие неподдерживаемые типы данных, из одной базы в другую, ArcGIS вставит только те столбцы, которые используют поддерживаемые типы данных.
В первом столбце в следующей таблице перечислены типы данных ArcGIS. Во втором столбце перечислены типы данных СУБД, которые создает ArcGIS. В третьем столбце показано, какие другие типы данных СУБД (если имеются) сопоставляются типам данных ArcGIS при просмотре таблицы, созданной вне ArcGIS. В последнем столбце при необходимости предоставляется дополнительная информация.
Dameng
Типы данных ArcGIS | Созданные типы данных Dameng | Другие типы данных Dameng, которые можно просматривать | Примечания |
---|---|---|---|
BLOB | BLOB | ||
Дата | Datetime6 | ||
Double | Dec(p,s) | По умолчанию, p (точность) = 38 а s (масштаб) = 8. | |
Float | Dec(p,s) | По умолчанию, p (точность) = 38 а s (масштаб) = 8. | |
Геометрия | ST_Geometry | ||
GUID | Char(38) | ||
Long Integer | Integer | ||
Object ID | Integer | ||
Short Integer | Smallint | ||
Text | Varchar | P – это длина, заданная для поля text. Значение, предлагаемое по умолчанию, равно 50. |
IBM Db2
Типы данных ArcGIS | Созданные типы данных Db2 | Другие типы данных Db2, которые можно просматривать | Примечания |
---|---|---|---|
BLOB |
BLOB | ||
Дата | timestamp | date, time | |
Double | decimal(p,s) | Точность и количество знаков, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Более подробно см. Типы данных полей ArcGIS. | |
Float |
decimal(p,s) | Точность и количество знаков, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Более подробно см. Типы данных полей ArcGIS. | |
Геометрия |
ST_Geometry | ||
Global ID | char(38) | Поддерживается только базами геоданных. | |
GUID |
char(UUID len) | ||
Long Integer |
integer | ||
Object ID |
Character(38) при создании в многопользовательской базе геоданных Целочисленное со свойством identity при создании в базе данных | В ArcGIS тип ObjectID соответствует столбцу с идентификаторами записей (ID) таблицы (или класса объектов). В таблице может быть только один такой тип. | |
Растр | BLOB | Поддерживается только базами геоданных. | |
Short Integer |
smallint | ||
Текст |
varchar | char |
Microsoft SQL Server
Типы данных ArcGIS | Созданные типы данных SQL Server | Другие типы данных SQL Server, которые можно просматривать | Примечания |
---|---|---|---|
BLOB |
varbinary(max) | binary, image, timestamp, varbinary(n) | |
Date |
datetime2(7) | date, datetime2(n), datetime, smalldatetime, time | |
Double |
numeric(p,s) | decimal, float, money, smallmoney | Точность и количество знаков, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Более подробно см. Типы данных полей ArcGIS. |
Float |
numeric(p,s) | real | Точность и количество знаков, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Более подробно см. Типы данных полей ArcGIS. |
Геометрия |
| Укажите, что будет использоваться: GEOMETRY или GEOGRAPHY, – при создании класса пространственных объектов. ArcGIS не поддерживает следующие подтипы геометрии:
Вы не можете создавать в ArcGIS Pro классы объектов, которые используют сжатый двоичный тип хранения геометрии, но вы можете просматривать такие классы в ArcGIS Pro. Сжатые двоичные данные хранятся в базе данных как тип данных INT. | |
Global ID | uniqueidentifier | Поддерживается только базами геоданных. | |
GUID |
uniqueidentifier | ||
Long integer |
int | ||
Raster |
BLOB, int | Растры поддерживаются только базами геоданных. В многопользовательских базах геоданных тип создаваемых данных SQL Server зависит от ключевого слова конфигурации, использующегося при создании набора растровых данных или набора данных мозаики. Если параметр RASTER_STORAGE ключевого слова равен RASTERBLOB, создается столбец BLOB, а если он равен BINARY – создается столбец int. | |
OBJECT ID |
int(4) when created in an enterprise geodatabase integer with identity property when created in a database | В ArcGIS тип ObjectID соответствует столбцу с идентификаторами записей (ID) таблицы (или класса объектов). В таблице может быть только один такой тип. | |
Short integer |
smallint | bit, tinyint | |
Текст |
varchar, nvarchar, varchar(max), nvarchar(max) | char, nchar |
Oracle
Типы данных ArcGIS | Созданные типы данных Oracle | Другие типы данных Oracle, которые можно просматривать | Примечания |
---|---|---|---|
BLOB | BLOB | ||
Date | timestamp | date | |
Double |
number(38,8) | number(p,s) |
Точность и количество знаков, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Более подробно см. Типы данных полей ArcGIS. |
Float | number(38,8) | number(p,s) | Точность и количество знаков, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Более подробно см. Типы данных полей ArcGIS. |
Геометрия |
ST_Geometry или SDO_Geometry | Тип создаваемых данных Oracle зависит от указанного при создании класса пространственных объектов хранилища геометрии. Oracle Spatial = SDO_Geometry или spatial type = ST_Geometry. Чтобы использовать ST_Geometry в базе данных (не в базе геоданных), вам нужно установить эту библиотеку. Вы не можете создавать в ArcGIS Pro классы объектов, которые используют сжатый двоичный тип хранения геометрии, но вы можете просматривать такие классы в ArcGIS Pro. Сжатые двоичные данные хранятся в базе данных как числовой тип данных. | |
Global ID | char or nchar (UUID len) | Поддерживается только базами геоданных. Поле уникального идентификатора будет создано как nchar, если для параметра UNICODE_STRING ключевого слова конфигурации, с которым была создана таблица, было указано значение TRUE. | |
GUID |
char or nchar (UUID len) | Поле уникального идентификатора будет создано как nchar в базе геоданных, если для параметра UNICODE_STRING ключевого слова конфигурации, с которым была создана таблица, было указано значение TRUE. | |
Long Integer |
number(38) | number(n) | n может принимать значения из диапазона от 5 до 10. При создании с помощью ArcGIS или ArcObjects и при значении точности, равном 0, в базе данных создается number(38); в ином случае используется заданная точность. |
Object ID |
number(38) при создании в многопользовательской базе геоданных number(38) с последовательностью при регистрации существующей таблицы базы данных базой геоданных. number(38) всегда создается в качестве идентификатора при использовании ArcGIS для создания класса пространственных объектов или таблицы в базе данных Oracle либо при работе с инструментом геообработки Добавить прирастающее поле ID для добавления поля ID field к таблице базы данных Oracle. | В ArcGIS тип ObjectID соответствует столбцу с идентификаторами записей (ID) таблицы (или класса объектов). В таблице может быть только один. | |
Raster | BLOB or number(38) | Растры поддерживаются только базами геоданных. Используемый тип данных для поля растра зависит от ключевого слова конфигурации, указанного при создании набора данных мозаики или набора растровых данных. | |
Short Integer |
number(5) | number(n) | n может принимать значения из диапазона от 1 до 5. Но в столбцах short integer могут храниться только значения в диапазоне от -32 768 до 32 767. Даже если точность числа равна 5, вы не можете хранить в столбце short integer значение, большее 32 767 или меньшее -32 768. При создании с помощью ArcGIS, n = 5. Это позволит вам сохранять значения short integer, попадающие в допустимый интервал. |
Text |
varchar2, CLOB, nvarchar2 или NCLOB |
PostgreSQL
Типы данных ArcGIS | Созданные типы данных PostgreSQL | Другие типы данных PostgreSQL, которые можно просматривать | Примечания |
---|---|---|---|
BLOB | bytea | ||
Дата | timestamp without time zone | дата, время без часового пояса, время с часовым поясом, временная отметка с часовым поясом | |
Double | numeric(p,s) | двойная точность | Точность и количество знаков, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Более подробно см. Типы данных полей ArcGIS. |
Float | numeric(p,s) | decimal, double precision, numeric, real | Точность и количество знаков, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Более подробно см. Типы данных полей ArcGIS. |
Геометрия | ST_Geometry, Geometry (PostGIS), Geography (PostGIS) | В базе геоданных параметр GEOMETRY_STORAGE ключевого слова конфигурации, использующийся при создании класса пространственных объектов, определяет тип данных, создаваемых в базе данных. Чтобы использовать ST_Geometry в базе данных (не в базе геоданных), вам нужно установить эту библиотеку. Для получения подробной информации см. раздел Добавление типа геометрии ST_Geometry к базе данных PostgreSQL. Для использования типа PostGIS geometry или geography необходимо установить PostGIS в кластер базы данных PostgreSQL и активировать работу с PostGIS в самой базе данных. Более подробная информация находится в документации по PostgreSQL. | |
Global ID | varchar(38) | Поддерживается только базами геоданных. | |
GUID | varchar(38) | UUID | |
Long Integer | integer | serial | |
Object ID | Integer в базе геоданных Serial в базе данных | В ArcGIS тип ObjectID соответствует столбцу с идентификаторами записей (ID) таблицы (или класса объектов). В таблице может быть только один. | |
Растр | bytea | Растры поддерживаются только базами геоданных. | |
Short Integer | smallint | ||
Текст | character varying | character, text | Если вы создаете текстовое поле с помощью SQL-клиента или стороннего приложения и не задаете длину (другими словами, длина равна 0), ArcGIS считывает это поле как CLOB. |
SAP HANA
Типы данных ArcGIS | Созданные типы данных SAP HANA | Другие типы данных SAP HANA, которые можно просматривать | Примечания |
---|---|---|---|
BLOB | BLOB | ||
Date | Timestamp | date, seconddate, time | |
Double | decimal(38,8) | decimal(m,n), number(m,n), numeric(m,n), bigint | m > 0 Точность и число десятичных знаков, указанные в ArcGIS, влияют на тип полученных данных, создаваемых в базе данных. |
Float | decimal(38,8) | decimal(m,n) | m <=9 и n>0 Точность и число десятичных знаков, указанные в ArcGIS, влияют на тип полученных данных, создаваемых в базе данных. |
Geometry | ST_Geometry | ||
Global ID | character(38) | Поддерживается только базами геоданных. | |
GUID | character(38) | Набор латинских символов | |
Long Integer | integer | decimal(m,0) | m <= 9 |
Object ID | bigint | На данный момент хранятся только 32-битовые значения. | |
Raster | Не применяется | Растры поддерживаются только базами геоданных. Растры, созданные в базах геоданных на SAP HANA, используют собственный тип данных Esri. | |
Short Integer | smallint | tinyint | |
Text | nvarchar(50) | alphanum(n), nvarchar(n), CLOB, NCLOB |
SQLite
SQLite (включая файлы OGC GeoPackage) обрабатывает типы данных не так, как большинство других СУБД. SQLite имеет несколько классов хранения, в которых могут содержаться типы данных. SQLite позволяет присваивать имена типам данных, как в случае с типами realdate, geometryblob и uuidtext, которые появляются в SQLite, когда вы создаете в ArcGIS поле даты, геометрии или guid. Он также выполняет поиск текстового литерала типа данных, чтобы определить, какой тип данных находится в столбце. Например, он находит слово int и предполагает, что это поле целочисленное. Поэтому если вы задаете тип данных point, SQLite предполагает, что это целочисленное поле, поскольку слово содержит последовательность int.
ArcGIS предполагает, что типы данных, указанные для поля в определении таблицы типа данных, применяются ко всем значениям поля. Если тип данных не распознается ArcGIS, вы не сможете получить доступ к таблице из ArcGIS.
Типы данных ArcGIS | Созданные типы данных SQLite | Другие типы данных SQLite, которые можно просматривать | Примечания |
---|---|---|---|
BLOB | blob(n) | ||
Date | realdate | ||
Double | float64 | numeric, double, float, boolean, real integer, int, int64, int32 (в базах данных без установленного SpatiaLite) | |
Float | float64 | ||
Geometry | geometryblob | ||
Global ID | uuidtext | Поддерживается только базами геоданных. | |
GUID | uuidtext в базах данных SQLite, текст в файлах GeoPackage | ||
Long Integer | int32(n) | integer, int, int32 (в базах данных с SpatiaLite) integer primary key (целочисленный первичный ключ) | n >= -2147483648 и n <= 2147483648 |
Object ID | int32 | ||
Short Integer | int16(n) | n >= -32768 и n<= 32768 | |
Text | text(n) | char, varchar, blob |
Устройство хранения данных Teradata
Типы данных ArcGIS | Создаваемые типы данных Teradata | Другие типы данных Teradata, которые можно просматривать | Примечания |
---|---|---|---|
BLOB | BLOB | Blob, созданный с размером, используемым Teradata по умолчанию. | |
Date | Timestamp | ||
Double | decimal(38,8) | decimal(n,m), number(n,m), numeric(n,m) m > 0 | Точность и количество знаков, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. |
Float | decimal(38,8) | decimal(n,m), number(n,m), numeric(n,m) m > 0 | Точность и количество знаков, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. |
Geometry | CLOB (ST_Geometry) | Данное поле должно иметь имя shape, чтобы ArcGIS распознавал его как пространственный столбец. | |
GUID | character(38) character set latin | ||
Long Integer | integer | decimal(n,m), number(n,m), numeric(n,m) n = 5, 6, 7, 8 или 9 m = 0 | |
Object ID | integer | ||
Short Integer | smallint | decimal(n,m), number(n,m), numeric(n,m) n <= 4 m = 0 | |
Text | varchar(50) character set unicode | varchar(n) character set unicode, varchar(n) character set latin, char(n) character set unicode, char(n) character set latin, JSON |