Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Еще раз про ROWGUID и Identity  [new]
Начиналкин
Guest
Понятно, что Identity это типа сиквенса в Oracle, а ROWGUID это просто некий уникальный ID записи.
Насколько оба типа можно заюзать для генерации PK в таблице.
Точнее вопрос. Что все-таки предпочтительнее?
Например мне надо будет импортировать средставми EManager две связанные таблицы из одной базы в другую.
Как будет происходить процесс? Не порушатся ли связи этих таблиц в новой базе?
Тот же самый вопрос при импорте данных таблиц из одной в другую.
Понимаю конечно, что импорт можно делать и руками, заново генеря нужные ключи вариантов может быть много...
В любом случае вопрос что лучше юзать для PK?
30 сен 09, 20:38    [7727192]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про ROWGUID и Identity  [new]
Glory
Member

Откуда:
Сообщений: 104760
Начиналкин
Например мне надо будет импортировать средставми EManager две связанные таблицы из одной базы в другую.
Как будет происходить процесс? Не порушатся ли связи этих таблиц в новой базе?

А вы при таком импорте не собираетесь разве и значения ключей передавать ?
30 сен 09, 20:55    [7727232]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про ROWGUID и Identity  [new]
Начиналкин
Guest
Glory
А вы при таком импорте не собираетесь разве и значения ключей передавать ?

Действительно, куда же я денусь.
Вооще да. При импорте таблиц целиком проблем думаю быть не должно ни в одном из вариантов.
А вот при импорте данных таблицы из одной базы в такую же таблицу в другой могут возникнуть проблемы в случае с вариантом Identity (дублирующиеся ключи не импортнутся).
В общем-то все сам понимаю (как мне кажется). Думаю, что Identity прокатит ибо импортировать сами данные пока вроде не предвидится.
30 сен 09, 21:00    [7727246]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про ROWGUID и Identity  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5499
Блог
Для переноса данных (именно перенос данных, а не "слепая" репликация, дублирование или что-то в этом роде) самый лучший вариант - GUID.
Identity можно использовать только тогда, когда уверенность, что копировать данные в другую таблицу (базу/сервер) с аналогичной структурой не понадобится, зашкаливает сильно за 200%.
30 сен 09, 21:52    [7727365]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про ROWGUID и Identity  [new]
Начиналкин
Guest
Ок. Ну так и понял...
Спасибо
30 сен 09, 21:58    [7727378]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про ROWGUID и Identity  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5499
Блог
Да, забыл сказать...
"Внутри" самого SQL никаких проблем с GUID нет.
А вот внешние системы могут покапризничать.
Скажем, в Windows GUID - это структура и "читать" ее не настолько удобно, как поля обычных скалярных типов (int, varchar), приходится через конвертацию в строку/обратно делать.
Но это тоже решаемо.
30 сен 09, 22:04    [7727398]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про ROWGUID и Identity  [new]
Начиналкин
Guest
А, ок. ценное замечание это типа как RowId в Oracle значит...
30 сен 09, 22:14    [7727430]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про ROWGUID и Identity  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Начиналкин
А, ок. ценное замечание это типа как RowId в Oracle значит...

rowid меняется, guid - врятле.
Не типа как, значит.
1 окт 09, 00:04    [7727660]     Ответить | Цитировать Сообщить модератору
 Re: Еще раз про ROWGUID и Identity  [new]
Начиналкин
Guest
rowid меняется, guid - врятле.

я имел в виду, что его тоже надо приводить к строке, чтобы нормально прочитать
1 окт 09, 10:20    [7728217]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить