Domains are special-purpose types that add some extra features atop of existing base type, but leaving on-wire and on-disc format of the underlying data type intact. At the moment, ClickHouse does not support user-defined domains.
You can use domains anywhere corresponding base type can be used, for example:
- Create a column of a domain type
- Read/write values from/to domain column
- Use it as an index if a base type can be used as an index
- Call functions with values of domain column
### Extra Features of Domains {#extra-features-of-domains}
- Explicit column type name in `SHOW CREATE TABLE` or `DESCRIBE TABLE`
- Input from human-friendly format with `INSERT INTO domain_table(domain_column) VALUES(...)`
- Output to human-friendly format for `SELECT domain_column FROM domain_table`
- Loading data from an external source in the human-friendly format: `INSERT INTO domain_table FORMAT CSV ...`
### Limitations {#limitations}
- Can’t convert index column of base type to domain type via `ALTER TABLE`.
- Can’t implicitly convert string values into domain values when inserting data from another column or table.
Domains are special-purpose types that add some extra features atop of existing base type, but leaving on-wire and on-disc format of the underlying data type intact. At the moment, ClickHouse does not support user-defined domains.
You can use domains anywhere corresponding base type can be used, for example:
- Create a column of a domain type
- Read/write values from/to domain column
- Use it as an index if a base type can be used as an index
- Call functions with values of domain column
### Extra Features of Domains {#extra-features-of-domains}
- Explicit column type name in `SHOW CREATE TABLE` or `DESCRIBE TABLE`
- Input from human-friendly format with `INSERT INTO domain_table(domain_column) VALUES(...)`
- Output to human-friendly format for `SELECT domain_column FROM domain_table`
- Loading data from an external source in the human-friendly format: `INSERT INTO domain_table FORMAT CSV ...`
### Limitations {#limitations}
- Can’t convert index column of base type to domain type via `ALTER TABLE`.
- Can’t implicitly convert string values into domain values when inserting data from another column or table.
Los dominios son tipos de propósito especial que agregan algunas características adicionales encima del tipo base existente, pero dejando intacto el formato en cable y en disco del tipo de datos subyacente. Por el momento, ClickHouse no admite dominios definidos por el usuario.
Puede usar dominios en cualquier lugar que se pueda usar el tipo base correspondiente, por ejemplo:
- Crear una columna de un tipo de dominio
- Leer/escribir valores desde/a la columna de dominio
- Úselo como un índice si un tipo base se puede usar como un índice
- Funciones de llamada con valores de la columna de dominio
### Características adicionales de los dominios {#extra-features-of-domains}
- Nombre de tipo de columna explícito en `SHOW CREATE TABLE` o `DESCRIBE TABLE`
- Entrada del formato humano-amistoso con `INSERT INTO domain_table(domain_column) VALUES(...)`
- Salida al formato humano-amistoso para `SELECT domain_column FROM domain_table`
- Carga de datos desde una fuente externa en el formato de uso humano: `INSERT INTO domain_table FORMAT CSV ...`
### Limitacion {#limitations}
- No se puede convertir la columna de índice del tipo base al tipo de dominio a través de `ALTER TABLE`.
- No se pueden convertir implícitamente valores de cadena en valores de dominio al insertar datos de otra columna o tabla.
- Domain no agrega restricciones en los valores almacenados.
Los dominios son tipos de propósito especial que agregan algunas características adicionales encima del tipo base existente, pero dejando intacto el formato en cable y en disco del tipo de datos subyacente. Por el momento, ClickHouse no admite dominios definidos por el usuario.
Puede usar dominios en cualquier lugar que se pueda usar el tipo base correspondiente, por ejemplo:
- Crear una columna de un tipo de dominio
- Leer/escribir valores desde/a la columna de dominio
- Úselo como un índice si un tipo base se puede usar como un índice
- Funciones de llamada con valores de la columna de dominio
### Características adicionales de los dominios {#extra-features-of-domains}
- Nombre de tipo de columna explícito en `SHOW CREATE TABLE` o `DESCRIBE TABLE`
- Entrada del formato humano-amistoso con `INSERT INTO domain_table(domain_column) VALUES(...)`
- Salida al formato humano-amistoso para `SELECT domain_column FROM domain_table`
- Carga de datos desde una fuente externa en el formato de uso humano: `INSERT INTO domain_table FORMAT CSV ...`
### Limitacion {#limitations}
- No se puede convertir la columna de índice del tipo base al tipo de dominio a través de `ALTER TABLE`.
- No se pueden convertir implícitamente valores de cadena en valores de dominio al insertar datos de otra columna o tabla.
- Domain no agrega restricciones en los valores almacenados.
دامنه انواع خاصی است که اضافه کردن برخی از ویژگی های اضافی در بالای نوع پایه موجود, اما ترک بر روی سیم و بر روی دیسک فرمت از نوع داده اساسی دست نخورده. درحال حاضر, تاتر می کند دامنه تعریف شده توسط کاربر را پشتیبانی نمی کند.
شما می توانید دامنه در هر نقطه نوع پایه مربوطه استفاده می شود, مثلا:
- ایجاد یک ستون از یک نوع دامنه
- خواندن / نوشتن مقادیر از / به ستون دامنه
- اگر یک نوع پایه می تواند به عنوان یک شاخص استفاده می شود به عنوان شاخص استفاده می شود
- توابع تماس با مقادیر ستون دامنه
### ویژگی های اضافی از دامنه {#extra-features-of-domains}
- صریح نام نوع ستون در `SHOW CREATE TABLE` یا `DESCRIBE TABLE`
- ورودی از فرمت انسان دوستانه با `INSERT INTO domain_table(domain_column) VALUES(...)`
- خروجی به فرمت انسان دوستانه برای `SELECT domain_column FROM domain_table`
- بارگیری داده ها از یک منبع خارجی در قالب انسان دوستانه: `INSERT INTO domain_table FORMAT CSV ...`
### محدودیت ها {#limitations}
- می توانید ستون شاخص از نوع پایه به نوع دامنه از طریق تبدیل کنید `ALTER TABLE`.
- نمی تواند به طور ضمنی تبدیل مقادیر رشته به ارزش دامنه در هنگام قرار دادن داده ها از ستون یا جدول دیگر.
- دامنه می افزاید: هیچ محدودیتی در مقادیر ذخیره شده.
دامنه انواع خاصی است که اضافه کردن برخی از ویژگی های اضافی در بالای نوع پایه موجود, اما ترک بر روی سیم و بر روی دیسک فرمت از نوع داده اساسی دست نخورده. درحال حاضر, تاتر می کند دامنه تعریف شده توسط کاربر را پشتیبانی نمی کند.
شما می توانید دامنه در هر نقطه نوع پایه مربوطه استفاده می شود, مثلا:
- ایجاد یک ستون از یک نوع دامنه
- خواندن / نوشتن مقادیر از / به ستون دامنه
- اگر یک نوع پایه می تواند به عنوان یک شاخص استفاده می شود به عنوان شاخص استفاده می شود
- توابع تماس با مقادیر ستون دامنه
### ویژگی های اضافی از دامنه {#extra-features-of-domains}
- صریح نام نوع ستون در `SHOW CREATE TABLE` یا `DESCRIBE TABLE`
- ورودی از فرمت انسان دوستانه با `INSERT INTO domain_table(domain_column) VALUES(...)`
- خروجی به فرمت انسان دوستانه برای `SELECT domain_column FROM domain_table`
- بارگیری داده ها از یک منبع خارجی در قالب انسان دوستانه: `INSERT INTO domain_table FORMAT CSV ...`
### محدودیت ها {#limitations}
- می توانید ستون شاخص از نوع پایه به نوع دامنه از طریق تبدیل کنید `ALTER TABLE`.
- نمی تواند به طور ضمنی تبدیل مقادیر رشته به ارزش دامنه در هنگام قرار دادن داده ها از ستون یا جدول دیگر.
- دامنه می افزاید: هیچ محدودیتی در مقادیر ذخیره شده.
Les domaines sont des types spéciaux qui ajoutent des fonctionnalités supplémentaires au sommet du type de base existant, mais en laissant le format on-wire et on-disc du type de données sous-jacent intact. À l'heure actuelle, ClickHouse ne prend pas en charge les domaines définis par l'utilisateur.
Vous pouvez utiliser des domaines partout type de base correspondant peut être utilisé, par exemple:
- Créer une colonne d'un type de domaine
- Valeurs de lecture / écriture depuis / vers la colonne de domaine
- L'utiliser comme un indice si un type de base peut être utilisée comme un indice
- Fonctions d'appel avec des valeurs de colonne de domaine
### Fonctionnalités supplémentaires des domaines {#extra-features-of-domains}
- Nom de type de colonne explicite dans `SHOW CREATE TABLE` ou `DESCRIBE TABLE`
- Entrée du format convivial avec `INSERT INTO domain_table(domain_column) VALUES(...)`
- Sortie au format convivial pour `SELECT domain_column FROM domain_table`
- Chargement de données à partir d'une source externe dans un format convivial: `INSERT INTO domain_table FORMAT CSV ...`
### Limitation {#limitations}
- Impossible de convertir la colonne d'index du type de base en type de domaine via `ALTER TABLE`.
- Impossible de convertir implicitement des valeurs de chaîne en valeurs de domaine lors de l'insertion de données d'une autre colonne ou table.
- Le domaine n'ajoute aucune contrainte sur les valeurs stockées.
Les domaines sont des types spéciaux qui ajoutent des fonctionnalités supplémentaires au sommet du type de base existant, mais en laissant le format on-wire et on-disc du type de données sous-jacent intact. À l'heure actuelle, ClickHouse ne prend pas en charge les domaines définis par l'utilisateur.
Vous pouvez utiliser des domaines partout type de base correspondant peut être utilisé, par exemple:
- Créer une colonne d'un type de domaine
- Valeurs de lecture / écriture depuis / vers la colonne de domaine
- L'utiliser comme un indice si un type de base peut être utilisée comme un indice
- Fonctions d'appel avec des valeurs de colonne de domaine
### Fonctionnalités supplémentaires des domaines {#extra-features-of-domains}
- Nom de type de colonne explicite dans `SHOW CREATE TABLE` ou `DESCRIBE TABLE`
- Entrée du format convivial avec `INSERT INTO domain_table(domain_column) VALUES(...)`
- Sortie au format convivial pour `SELECT domain_column FROM domain_table`
- Chargement de données à partir d'une source externe dans un format convivial: `INSERT INTO domain_table FORMAT CSV ...`
### Limitation {#limitations}
- Impossible de convertir la colonne d'index du type de base en type de domaine via `ALTER TABLE`.
- Impossible de convertir implicitement des valeurs de chaîne en valeurs de domaine lors de l'insertion de données d'une autre colonne ou table.
- Le domaine n'ajoute aucune contrainte sur les valeurs stockées.
Домены — это типы данных специального назначения, которые добавляют некоторые дополнительные функции поверх существующего базового типа. На данный момент ClickHouse не поддерживает пользовательские домены.
Вы можете использовать домены везде, где можно использовать соответствующий базовый тип:
- Создание столбца с доменным типом данных.
- Чтение/запись значений из/в столбец с доменным типом данных.
- Используйте его как индекс, если базовый тип можно использовать в качестве индекса.
- Вызов функций со значениями столбца, имеющего доменный тип данных.
- и так далее.
### Дополнительные возможности доменов {#dopolnitelnye-vozmozhnosti-domenov}
- Явное название типа данных столбца в запросах `SHOW CREATE TABLE` и `DESCRIBE TABLE`
- Ввод данных в удобном человеку формате `INSERT INTO domain_table(domain_column) VALUES(...)`
- Вывод данных в удобном человеку формате `SELECT domain_column FROM domain_table`
- Загрузка данных из внешнего источника в удобном для человека формате: `INSERT INTO domain_table FORMAT CSV ...`
### Ограничения {#ogranicheniia}
- Невозможно преобразовать базовый тип данных в доменный для индексного столбца с помощью `ALTER TABLE`.
- Невозможно неявно преобразовывать строковые значение в значения с доменным типом данных при вставке данных из другого столбца или таблицы.
- Домен не добавляет ограничения на хранимые значения.
Домены — это типы данных специального назначения, которые добавляют некоторые дополнительные функции поверх существующего базового типа. На данный момент ClickHouse не поддерживает пользовательские домены.
Вы можете использовать домены везде, где можно использовать соответствующий базовый тип:
- Создание столбца с доменным типом данных.
- Чтение/запись значений из/в столбец с доменным типом данных.
- Используйте его как индекс, если базовый тип можно использовать в качестве индекса.
- Вызов функций со значениями столбца, имеющего доменный тип данных.
- и так далее.
### Дополнительные возможности доменов {#dopolnitelnye-vozmozhnosti-domenov}
- Явное название типа данных столбца в запросах `SHOW CREATE TABLE` и `DESCRIBE TABLE`
- Ввод данных в удобном человеку формате `INSERT INTO domain_table(domain_column) VALUES(...)`
- Вывод данных в удобном человеку формате `SELECT domain_column FROM domain_table`
- Загрузка данных из внешнего источника в удобном для человека формате: `INSERT INTO domain_table FORMAT CSV ...`
### Ограничения {#ogranicheniia}
- Невозможно преобразовать базовый тип данных в доменный для индексного столбца с помощью `ALTER TABLE`.
- Невозможно неявно преобразовывать строковые значение в значения с доменным типом данных при вставке данных из другого столбца или таблицы.
- Домен не добавляет ограничения на хранимые значения.
Etki alanları, varolan temel türün üstüne bazı ek özellikler ekleyen, ancak temel veri türünün kablolu ve disk üstü biçimini sağlam bırakan özel amaçlı türlerdir. Şu anda, ClickHouse kullanıcı tanımlı etki alanlarını desteklemiyor.
Örneğin, ilgili taban türünün kullanılabileceği her yerde etki alanlarını kullanabilirsiniz:
- Etki alanı türünde bir sütun oluşturma
- Alan sütunundan/alanına değerleri okuma / yazma
- Bir temel türü bir dizin olarak kullanılabilir, bir dizin olarak kullanın
- Etki alanı sütun değerleri ile çağrı fonksiyonları
### Alanların ekstra özellikleri {#extra-features-of-domains}
- Açık sütun türü adı `SHOW CREATE TABLE` veya `DESCRIBE TABLE`
- İle insan dostu format inputtan giriş `INSERT INTO domain_table(domain_column) VALUES(...)`
- İçin insan dostu forma outputta çıktı `SELECT domain_column FROM domain_table`
- Harici bir kaynaktan insan dostu biçimde veri yükleme: `INSERT INTO domain_table FORMAT CSV ...`
### Sınırlamalar {#limitations}
- Temel türün dizin sütununu etki alanı türüne dönüştürülemiyor `ALTER TABLE`.
- Başka bir sütun veya tablodan veri eklerken dize değerlerini dolaylı olarak etki alanı değerlerine dönüştüremez.
- Etki alanı, depolanan değerler üzerinde hiçbir kısıtlama ekler.
Etki alanları, varolan temel türün üstüne bazı ek özellikler ekleyen, ancak temel veri türünün kablolu ve disk üstü biçimini sağlam bırakan özel amaçlı türlerdir. Şu anda, ClickHouse kullanıcı tanımlı etki alanlarını desteklemiyor.
Örneğin, ilgili taban türünün kullanılabileceği her yerde etki alanlarını kullanabilirsiniz:
- Etki alanı türünde bir sütun oluşturma
- Alan sütunundan/alanına değerleri okuma / yazma
- Bir temel türü bir dizin olarak kullanılabilir, bir dizin olarak kullanın
- Etki alanı sütun değerleri ile çağrı fonksiyonları
### Alanların ekstra özellikleri {#extra-features-of-domains}
- Açık sütun türü adı `SHOW CREATE TABLE` veya `DESCRIBE TABLE`
- İle insan dostu format inputtan giriş `INSERT INTO domain_table(domain_column) VALUES(...)`
- İçin insan dostu forma outputta çıktı `SELECT domain_column FROM domain_table`
- Harici bir kaynaktan insan dostu biçimde veri yükleme: `INSERT INTO domain_table FORMAT CSV ...`
### Sınırlamalar {#limitations}
- Temel türün dizin sütununu etki alanı türüne dönüştürülemiyor `ALTER TABLE`.
- Başka bir sütun veya tablodan veri eklerken dize değerlerini dolaylı olarak etki alanı değerlerine dönüştüremez.
- Etki alanı, depolanan değerler üzerinde hiçbir kısıtlama ekler.