Список форумов www.integro.ru www.integro.ru
ЦСИ ИНТЕГРО
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Порядковый тип данных

 
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы пользователей
Предыдущая тема :: Следующая тема  
Автор Сообщение
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    Заголовок сообщения: Ответить с цитатой

Что это за "перечислимый" тип данных?!
Конечно же справочник не является типом данных Laughing Вопрос состоит в том что при добавлении нового поля в таблицу справочника, в поле идентификатора обязательно необходимо поставить значение. Мне как пользователю совершенно не интересно какой идентификатор будет иметь конкретное поле, почему я должен вводить его, когда оно могло бы проставляться автоматически?! Вопрос только лишь в этом.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Михаил Власов



Зарегистрирован: 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    Заголовок сообщения: Ответить с цитатой

Михаил Власов писал(а):

Автоматически сгенерированные идентификаторы начали пересекаться.

Пересекаться также могут идентификаторы созданные вручную. В любом случае необходимо правило, в котором при появлении одинаковых идентификаторов и разных значений переименовывается один из идентификаторов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы пользователей Часовой пояс: GMT + 5
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять приложения в этом форуме
Вы можете скачивать файлы в этом форуме


© phpBB Group
Русская поддержка phpBB