| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		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    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Михаил Власов писал(а): | 	 		  
 
Автоматически сгенерированные идентификаторы начали пересекаться.
 
 | 	  
 
Пересекаться также могут идентификаторы созданные вручную. В любом случае необходимо правило, в котором при появлении одинаковых идентификаторов и разных значений переименовывается один из идентификаторов. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		 |