Типы данных СУБД, которые поддерживаются ArcGIS
При создании таблицы или добавлении столбца в таблицу базы данных столбцы создаются с конкретным типом данных. Типы данных представляют собой классификации, которые позволяют определить возможные значения, операции, которые могут быть выполнены для этих данных, а также каким образом данные этого поля будут храниться в базе данных.
При осуществлении доступа к таблицам баз данных через ArcGIS вы можете работать со специфическими типами данных. При осуществлении доступа к таблице базы данных через узел Подключения баз данных в дереве Каталога или слой запроса в ArcMap ArcGIS отбирает все не поддерживаемые типы данных. Если вы работаете с таблицей базы данных непосредственно, не поддерживаемые типы данных не будут отображены в интерфейсе ArcGIS и вы не сможете редактировать их в ArcGIS. Кроме того, при копировании таблиц, содержащих не поддерживаемые типы данных с использованием ArcGIS, скопированы будут только данные поддерживаемых типов. Если вы вставляете таблицу в другую базу данных или базу геоданных, колонки не поддерживаемых типов данных представлены в ней не будут.
В следующей таблице приводится соответствие между типами баз данных и типами данных ArcGIS для каждой поддерживаемой СУБД. Первый столбец содержит типы данных, появляющиеся в ArcGIS. Во втором столбце содержатся типы данных, которые создаются в базе данных при создании таблицы или класса пространственных объектов в ArcGIS вместе с типами данных из первого столбца. Третья колонка содержит другие типы данных базы данных, соответствующие типам данных из первого столбца, при создании таблицы вне среды ArcGIS.
IBM DB2
Типы данных ArcGIS |
Создаваемые типы данных DB2 | Другие типы данных DB2, которые можно просматривать |
Примечания |
---|---|---|---|
BLOB |
BLOB | ||
DATE |
TIMESTAMP | ||
DOUBLE |
DECIMAL(p,s) | Точность и масштаб, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Для получения более подробной информации см. раздел Типы данных полей ArcGIS. |
|
FLOAT |
DECIMAL(p,s) | Точность и масштаб, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Для получения более подробной информации см. раздел Типы данных полей ArcGIS. |
|
GEOMETRY |
ST_GEOMETRY | ST_Geometry – это суперкласс. Подтип создаваемых данных (например, ST_Multilinestring или ST_Point) зависит от того, какой класс пространственных объектов был создан: полигональный, точечный, мультиточечный или multipatch. |
|
GLOBAL ID | CHAR(38) | Поддерживается только базами геоданных. | |
GUID |
CHAR(UUID LEN) | ||
LONG INTEGER |
INTEGER | ||
OBJECT ID |
CHARACTER(38) при создании в многопользовательской базе геоданных INTEGER со свойством IDENTITY при создании в базе данных | В ArcGIS тип ObjectID соответствует столбцу с идентификаторами записей (ID) таблицы (или класса объектов). В таблице может быть только один. |
|
RASTER |
BLOB | Поддерживается только базами геоданных. |
|
SHORT INTEGER |
SMALLINT | ||
ТЕКСТ |
VARCHAR | CHAR |
Informix
Типы данных ArcGIS |
Создаваемые типы данных Informix | Другие типы данных Informix, которые можно просматривать |
Примечания |
---|---|---|---|
BLOB |
BLOB | ||
DATE |
DATETIME | ||
DOUBLE |
DECIMAL(31,8) | Точность и масштаб, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Для получения более подробной информации см. раздел Типы данных полей ArcGIS. |
|
FLOAT |
DECIMAL(31,8) | Точность и масштаб, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Для получения более подробной информации см. раздел Типы данных полей ArcGIS. |
|
GEOMETRY |
ST_GEOMETRY | ST_Geometry – это суперкласс. Подтип создаваемых данных (например, ST_Multilinestring или ST_Point) зависит от того, какой класс пространственных объектов был создан: полигональный, точечный, мультиточечный или multipatch. |
|
GLOBAL ID | CHAR(38) | Поддерживается только базами геоданных. | |
GUID |
CHAR(UUID LEN) | ||
LONG INTEGER |
INTEGER | ||
OBJECT ID |
CHARACTER(38) при создании в многопользовательской базе геоданных SERIAL при создании в базе данных | В ArcGIS тип ObjectID соответствует столбцу с идентификаторами записей (ID) таблицы (или класса объектов). В таблице может быть только один. |
|
RASTER |
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) | DATETIME2(n), DATETIME, SMALLDATETIME |
|
DOUBLE |
NUMERIC(p,s) | DECIMAL, FLOAT, MONEY, SMALLMONEY |
Точность и масштаб, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Для получения более подробной информации см. раздел Типы данных полей ArcGIS. |
FLOAT |
NUMERIC(p,s) | REAL |
Точность и масштаб, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Для получения более подробной информации см. раздел Типы данных полей ArcGIS. |
GEOMETRY |
INT, GEOMETRY, GEOGRAPHY | В многопользовательской базе геоданных тип создаваемых данных SQL Server зависит от параметра GEOMETRY_STORAGE ключевого слова конфигурации DBTUNE, использующегося при создании класса пространственных объектов. SDEBINARY = INT; GEOMETRY = столбец GEOMETRY; GEOGRAPHY = столбец GEOGRAPHY. В настольных базах геоданных и базах геоданных рабочих групп используется тип GEOMETRY. В базе данных вы выбираете использование GEOMETRY или GEOGRAPHY при создании класса пространственных объектов. |
|
GLOBAL ID | UNIQUEIDENTIFIER | Поддерживается только базами геоданных. | |
GUID |
UNIQUEIDENTIFIER | ||
LONG INTEGER |
INT | ||
RASTER |
INT, ST_RASTER |
Растры поддерживаются только базами геоданных. В настольных базах геоданных и базах геоданных рабочих групп растры создаются в качестве данных типа INT. В многопользовательских базах геоданных тип создаваемых данных SQL Server зависит от ключевого слова конфигурации DBTUNE, использующегося при создании столбца растра. Если параметр RASTER_STORAGE ключевого слова равен BINARY, создается столбец INT, а если он равен ST_RASTER – создается столбец ST_Raster. Вам надо отдельно настроить ST_Raster в многопользовательской базе геоданных, если вы собираетесь его использовать. Для получения инструкций обратитесь к разделу Установка типа ST_Raster в SQL Server. |
|
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 |
Если вы создаете поле VARCHAR или VARCHAR(MAX) в базе данных SQL Server, то оно будет совмещено с типом данных ArcGIS TEXT при просмотре в ArcGIS. Если вы создадите поле TEXT в базе данных SQL Server в ArcGIS, то всегда будет использоваться NVARCHAR или NVARCHAR(MAX). В случае если параметр DBTUNE UNICODE_STORAGE в многопользовательской базе геоданных равен FALSE, а длина текстового поля – 7 999 символов и менее, используется VARCHAR. Если параметр DBTUNE UNICODE_STORAGE имеет значение TRUE, а длина текстового поля меньше или равна 3 999 знаков, используется NVARCHAR. Если параметр DBTUNE UNICODE_STORAGE имеет значение FALSE, а длина текстового поля больше или равна 8000 символов, используется VARCHAR(MAX). Если параметр DBTUNE UNICODE_STORAGE имеет значение TRUE, а длина текстового поля больше или равна 4 000 символов, используется NVARCHAR(MAX). |
Netezza
Типы данных ArcGIS | Создаваемые типы данных Netezza | Другие типы данных Netezza, которые можно просматривать | Примечания |
---|---|---|---|
BLOB | Не поддерживается | ||
DATE | TIMESTAMP | DATE (Дата), TIME (Время), TIME WITH TIME ZONE (Время с часовым поясом) | |
DOUBLE | NUMERIC(38,8) | BIGINT (alias int8), NUMERIC(p,s), FLOAT(p), REAL, DOUBLE PRECISION | Точность и масштаб, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. |
FLOAT | float | Точность и масштаб, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. | |
GEOMETRY | nvarchar(2048) ST_GEOMETRY | Если вы используете Netezza Spatial Package, создается поле VARCHAR, которое необходимо назвать (или присвоить псевдоним) shape, чтобы ArcGIS распознал его как пространственный столбец. Если вы используете Netezza Spatial Esri Package, создается поле ST_GEOMETRY. Когда используется поле ST_GEOMETRY, не нужно называть поле (или присваивать псевдоним) shape. | |
GUID | CHAR(38) | ||
LONG INTEGER | INTEGER (псевдоним int или int4) | ||
OBJECTID | INTEGER (псевдоним int или int4) | ||
SHORT INTEGER | SMALLINT (псевдоним int2) | ||
TEXT | NVARCHAR(50) | CHAR(n), NCHAR(n), VARCHAR(n) | Если для вашей базы данных выбрана кодировка Unicode, будет создана переменная NVARCHAR. Если для вашей базы данных не выбрана кодировка Unicode, будет создана переменная VARCHAR. |
Oracle
Типы данных ArcGIS |
Создаваемые типы данных Oracle | Другие типы данных Oracle, которые можно просматривать |
Примечания |
---|---|---|---|
BLOB |
BLOB | ||
DATE |
DATE | ||
DOUBLE |
NUMBER(31,8) | NUMBER(p,s) |
Точность и масштаб, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Для получения более подробной информации см. раздел Типы данных полей ArcGIS. |
FLOAT | NUMBER(31,8) | NUMBER(p,s) | Точность и масштаб, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Для получения более подробной информации см. раздел Типы данных полей ArcGIS. |
GEOMETRY |
ST_GEOMETRY NUMBER(38) or SDO_GEOMETRY | Тип создаваемых данных Oracle зависит от указанного при создании класса пространственных объектов хранилища геометрии. Сжатый двоичный или двоичный well-known (только для баз геоданных) = NUMBER(38); Oracle Spatial = SDO_GEOMETRY; пространственный тип = ST_GEOMETRY. ST_Geometry – это суперкласс. При создании классов пространственных объектов в ArcGIS for Desktop всегда используется ST_Geometry. Если вы создаете пространственные столбцы, используя SQL, то подтип данных, который в действительности будет создан (ST_Multilinestring или ST_Point), зависит от того, какой подтип был вами задан. Для того чтобы применять хранение ST_Geometry в базе данных, сначала необходимо установить его. Для получения более подробной информации, см. раздел Добавление типа ST_Geometry в базу данных Oracle. |
|
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 for Desktop или ArcObjects и при значении точности, равном 0, в базе данных создается NUMBER(38). В ином случае точность должны быть задана. |
OBJECT ID |
NUMBER(38) when created in an enterprise geodatabase NUMBER(38) with sequence and trigger when created in a database |
В ArcGIS тип ObjectID соответствует столбцу с идентификаторами записей (ID) таблицы (или класса объектов). В таблице может быть только один. |
|
RASTER |
BLOB, LONG RAW, SDO_GEORASTER, or ST_RASTER |
Растры поддерживаются только базами геоданных. Тип создаваемых данных Oracle зависит от ключевого слова конфигурации DBTUNE, использованного при создании каталога растров, набора растровых данных или набора данных мозаики. |
|
SHORT INTEGER |
NUMBER(5) | NUMBER(n) |
Значение n может находиться в диапазоне от 1 до 5. Однако столбцы коротких целых чисел могут хранить только значения, попадающие в диапазон от -32 768 до 32 767. Даже, если точность числа равна 5, вы не можете хранить в столбце short integer значение, большее 32 767 или меньшее -32 768. При создании с помощью ArcGIS for Desktop n = 5. Это позволит вам сохранять значения short integer, попадающие в допустимый интервал. |
TEXT |
VARCHAR2, CLOB, NVARCHAR2 или NCLOB | Если для вашей базы данных не выбрана кодировка Unicode, то будет создано поле VARCHAR2. Если установлен размер текстового поля, больший 4 000, а для базы данных выбрана кодировка Unicode, тип данных Oracle будет CLOB. Если для вашей базы данных выбрана кодировка Unicode, будет создано поле NVARCHAR2. (Это настройка, используемая по умолчанию для баз геоданных в Oracle.) Если установлен размер текстового поля, больший 2 000, а для базы данных выбрана кодировка Unicode, тип данных Oracle будет NCLOB. |
PostgreSQL
Типы данных ArcGIS |
Создаваемые типы данных PostgreSQL | Другие типы данных PostgreSQL, которые можно просматривать |
Примечания |
---|---|---|---|
BLOB |
BYTEA |
||
DATE |
TIMESTAMP WITHOUT ZONE |
TIMESTAMP | |
DOUBLE |
NUMERIC(p) |
BIG SERIAL, DOUBLE PRECISION | Точность и масштаб, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Для получения более подробной информации см. раздел Типы данных полей ArcGIS. |
FLOAT |
NUMERIC(p) |
Точность и масштаб, указанные в ArcGIS, могут повлиять на тип полученных данных, создаваемых в базе данных. Для получения более подробной информации см. раздел Типы данных полей ArcGIS. |
|
GEOMETRY |
ST_GEOMETRY or GEOMETRY |
В базе геоданных параметр GEOMETRY_STORAGE ключевого слова конфигурации, использующийся при создании класса пространственных объектов, определяет тип данных, создаваемых в базе данных. ST_Geometry и geometry являются суперклассами. При создании классов объектов в ArcGIS for Desktop классы точечных объектов, создаваемые как ST_Geometry, используют подтип ST_Point, а классы точечных объектов, создаваемые как PostGIS, используют подтип Point. Для всех остальных классов объектов, создаваемых в ArcGIS for Desktop, используется суперкласс. Если вы создаете пространственные столбцы, используя SQL, текущий подтип данных зависит от типа заданного подтипа. Для того чтобы применять хранение ST_Geometry в базе данных, сначала необходимо установить его. Для получения подробной информации см. раздел Добавление типа геометрии ST_Geometry к базе данных PostgreSQL. Для использования типа геометрии PostGIS необходимо установить PostGIS в кластер базы данных PostgreSQL и активировать работу с PostGIS в самой базе данных. Более подробная информация находится в документации по PostgreSQL. |
|
GLOBAL ID | VARCHAR(38) | Поддерживается только базами геоданных. | |
GUID |
VARCHAR(38) |
||
LONG INTEGER |
INTEGER |
SERIAL | |
OBJECT ID |
INTEGER в базе геоданных SERIAL в базе данных |
В ArcGIS тип ObjectID соответствует столбцу с идентификаторами записей (ID) таблицы (или класса объектов). В таблице может быть только один. |
|
RASTER |
BYTEA or ST_RASTER |
Растры поддерживаются только базами геоданных. Тип создаваемых данных PostgreSQL зависит от ключевого слова конфигурации DBTUNE, использованного при создании каталога растров, набора растровых данных или набора данных мозаики. Вам надо отдельно настроить ST_Raster в базе геоданных, если вы собираетесь его использовать. Инструкции см. в разделе Установка типа ST_Raster в PostgreSQL. |
|
SHORT INTEGER |
SMALLINT |
REAL | |
ТЕКСТ |
CHARACTER VARYING |
CHARACTER, VARCHAR, TEXT |
SQLite
SQLite обрабатывает типы данных не так, как большинство других СУБД. 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 | ||
GUID | uuidtext | ||
LONG INTEGER | int32(n) | integer, int, int32 (в базах данных с SpatiaLite) integer primary key (целочисленный первичный ключ) | n >= -2147483648 и n <= 2147483648 |
OBJECTID | 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 | |
OBJECTID | 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 |