IndexDef — различия между версиями
Lan (обсуждение | вклад) (Новая страница: «{{ElementType|com.beanexplorer.enterprise.metadata.model.IndexDef|да}} '''Индекс''' (IndexDef) — это определение индекса для т…») |
Lan (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
− | {{ElementType|com.beanexplorer.enterprise.metadata.model.IndexDef|да}} | + | {{ElementType|com.beanexplorer.enterprise.metadata.model.IndexDef|да|да}} |
− | '''Индекс''' (IndexDef) — это определение индекса для таблицы в базе данных. Элементы IndexDef расположены внутри [[TableDef|определения таблицы]] в папке Indices. У индекса | + | '''Индекс''' (IndexDef) — это определение индекса для таблицы в базе данных. Элементы IndexDef расположены внутри [[TableDef|определения таблицы]] в папке Indices. У индекса есть имя, признак уникальности (unique) и набор [[IndexColumnDef|колонок]] (как минимум одна), которые отображаются в дереве [[Project|проекта]] как дочерние элементы. |
Длина имени индекса ограничена 30 символами, но обратите внимание, что в DB2 не удастся создать индекс с именем длиннее 18 символов. Также обратите внимание, что не все СУБД поддерживают функциональные индексы (смотрите [[IndexColumnDef|определение колонки индекса]]). | Длина имени индекса ограничена 30 символами, но обратите внимание, что в DB2 не удастся создать индекс с именем длиннее 18 символов. Также обратите внимание, что не все СУБД поддерживают функциональные индексы (смотрите [[IndexColumnDef|определение колонки индекса]]). | ||
Строка 6: | Строка 6: | ||
Любые изменения индексов (включая удаление) считаются неопасными, поэтому выполняются без предупреждения при [[Синхронизация|синхронизации]] со структурой. Любое изменение индекса при синхронизации приведёт к его уничтожению и повторному созданию. | Любые изменения индексов (включая удаление) считаются неопасными, поэтому выполняются без предупреждения при [[Синхронизация|синхронизации]] со структурой. Любое изменение индекса при синхронизации приведёт к его уничтожению и повторному созданию. | ||
− | Определения индексов записывается в yaml-файле [[Entity|представления] в секции indices внутри секции scheme. Примеры: | + | Определения индексов записывается в [[yaml]]-файле [[Entity|представления]] в секции indices внутри секции scheme. Примеры: |
buildings: | buildings: |
Текущая версия на 14:11, 22 октября 2015
- Класс
IndexDef
- Поддерживает документацию
- да
- Поддерживает extras
- да
Индекс (IndexDef) — это определение индекса для таблицы в базе данных. Элементы IndexDef расположены внутри определения таблицы в папке Indices. У индекса есть имя, признак уникальности (unique) и набор колонок (как минимум одна), которые отображаются в дереве проекта как дочерние элементы.
Длина имени индекса ограничена 30 символами, но обратите внимание, что в DB2 не удастся создать индекс с именем длиннее 18 символов. Также обратите внимание, что не все СУБД поддерживают функциональные индексы (смотрите определение колонки индекса).
Любые изменения индексов (включая удаление) считаются неопасными, поэтому выполняются без предупреждения при синхронизации со структурой. Любое изменение индекса при синхронизации приведёт к его уничтожению и повторному созданию.
Определения индексов записывается в yaml-файле представления в секции indices внутри секции scheme. Примеры:
buildings: scheme: ... indices: - IDX_BUID_ID_KLADRCODE: unique: true columns: - ID - kladrStreetCode extras: kladr - IDX_BUILD_KLADR: columns: kladrStreetCode extras: kladr doc: значения могут быть не уникальны - IDX_BUILDINGS_NWK: unique: true columns: - buildingNo - lower(wing) - lower(letters) - kladrStreetCode extras: kladr doc: функциональный индекс с уникальными значениями