Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Gangster
Зарегистрирован: 26.09.2012 Сообщения: 13
|
Добавлено: Чт 27 Сен 2012 09:52 Заголовок сообщения: Порядковый тип данных |
|
|
Есть ли в системе ИнГЕО порядковый тип данных? Очень нужно для заполнения справочников. |
|
Вернуться к началу |
|
 |
Михаил Власов

Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
|
Добавлено: Чт 27 Сен 2012 13:44 Заголовок сообщения: |
|
|
Что такое "Порядковый тип данных"?
Автоинкремент?
Можем сделать правила генерации значения для ключевого поля (для чисел максимальное плюс один, для строк генерировать идентификатор или префикс плюс число). _________________ С уважением, Михаил Власов. |
|
Вернуться к началу |
|
 |
Gangster
Зарегистрирован: 26.09.2012 Сообщения: 13
|
Добавлено: Чт 27 Сен 2012 13:53 Заголовок сообщения: |
|
|
Значит нет..., а он напрашивается. |
|
Вернуться к началу |
|
 |
Алексей Васильев
Зарегистрирован: 20.05.2009 Сообщения: 105 Откуда: Самара
|
Добавлено: Вс 30 Сен 2012 22:25 Заголовок сообщения: |
|
|
Может быть, имеется в виду "перечислимый"? Как в Паскале:
type фрукты=(яблоки, апельсины, груши);
а? |
|
Вернуться к началу |
|
 |
Gangster
Зарегистрирован: 26.09.2012 Сообщения: 13
|
Добавлено: Пн 01 Окт 2012 08:40 Заголовок сообщения: |
|
|
Как раз таки в Паскале есть порядковый тип данных. |
|
Вернуться к началу |
|
 |
Михаил Власов

Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
|
Добавлено: Пн 01 Окт 2012 10:31 Заголовок сообщения: |
|
|
Таки что нужно?
Автоинкремент или перечислимый тип?
Или оба? _________________ С уважением, Михаил Власов. |
|
Вернуться к началу |
|
 |
Gangster
Зарегистрирован: 26.09.2012 Сообщения: 13
|
Добавлено: Пн 01 Окт 2012 10:34 Заголовок сообщения: |
|
|
Автоинкремент - это операция реализованная в порядковом типе данных. Для удобства пользователя конечно лучше добавить тип данных, если это возможно конечно. |
|
Вернуться к началу |
|
 |
Михаил Власов

Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
|
Добавлено: Пн 01 Окт 2012 11:33 Заголовок сообщения: |
|
|
Gangster писал(а): | Как раз таки в Паскале есть порядковый тип данных. |
Если вы имеете в виду перечислимый тип данных Type1 = (Value1, Value2),
то все значения могут быть определены только на уровне исходного кода. После компиляции, в рантайме такой тип уже не пополяем. В этом отличие от справочника ИнГео.
Справочник в ИнГео - это не тип данных поля, это вспомогательная таблица, которую можно использовать для заполнения полей семантических таблиц. _________________ С уважением, Михаил Власов. |
|
Вернуться к началу |
|
 |
Gangster
Зарегистрирован: 26.09.2012 Сообщения: 13
|
Добавлено: Пн 01 Окт 2012 12:01 Заголовок сообщения: |
|
|
Что это за "перечислимый" тип данных?!
Конечно же справочник не является типом данных Вопрос состоит в том что при добавлении нового поля в таблицу справочника, в поле идентификатора обязательно необходимо поставить значение. Мне как пользователю совершенно не интересно какой идентификатор будет иметь конкретное поле, почему я должен вводить его, когда оно могло бы проставляться автоматически?! Вопрос только лишь в этом. |
|
Вернуться к началу |
|
 |
Михаил Власов

Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
|
Добавлено: Пн 01 Окт 2012 13:13 Заголовок сообщения: |
|
|
Gangster писал(а): | Что это за "перечислимый" тип данных?!
|
То, что в C-подобных языках "enum", а в паскале (Value1, Value2). Впрочем, к ИнГео это отношения не имеет.
Gangster писал(а): | Вопрос состоит в том что при добавлении нового поля в таблицу справочника, в поле идентификатора обязательно необходимо поставить значение. Мне как пользователю совершенно не интересно какой идентификатор будет иметь конкретное поле, почему я должен вводить его, когда оно могло бы проставляться автоматически?! Вопрос только лишь в этом. |
Стало быть нужно, чтобы при добавлении записи в справочник автоматически генерировалось значение для ключевого поля.
Тут может быть проблема следующего плана:
1. При помощи обменного файла IDF скопировали структуру и справочники из одной базы данных в другую.
2. В двух базах данных пользователи начали пополнять справочники. Автоматически сгенерированные идентификаторы начали пересекаться.
3. Решили посредством IDF обновить справочник из одной базы в другую.
Возникает конфликт ключей справочника, так как один и тот же ключ соответствует разным значениям справочника.
В такой ситуации потребуются организационные правила для согласованного пополнения справочников между двумя или более подразделениями, работающими в разных БД.
Мы можем сделать принудительную системную идентификацию записей справочника (как ИД-ы в семантических таблицах), и разруливать конфликты на основе ИД-ов.
Однако это не спасает от ситуации, когда в двух организациях несогласованно добавляют записи, идентичные с предметной точки зрения. _________________ С уважением, Михаил Власов. |
|
Вернуться к началу |
|
 |
Gangster
Зарегистрирован: 26.09.2012 Сообщения: 13
|
Добавлено: Пн 01 Окт 2012 13:32 Заголовок сообщения: |
|
|
Михаил Власов писал(а): |
Автоматически сгенерированные идентификаторы начали пересекаться.
|
Пересекаться также могут идентификаторы созданные вручную. В любом случае необходимо правило, в котором при появлении одинаковых идентификаторов и разных значений переименовывается один из идентификаторов. |
|
Вернуться к началу |
|
 |
|