Привет, я использую ms2005 для простой системы календаря. У нас есть три «устаревших» таблицы: Группы, Единицы и Персонал.
Мне нужно дать каждой записи в таблицах уникальный идентификатор (переносимый во все 3 таблицы).
Как лучше всего подойти к этому? Я использую NHibernate, и мне было интересно, может ли это сделать это для меня.
В любом случае, любые кивки в правильном направлении очень ценятся.


Обычная практика - создать суррогатный первичный ключ для каждой таблицы, используя int с IDENTITY (1,1).
Если вам нужны уникальные значения для разных систем, используйте столбец UNIQUEIDENTIFIER (GUID).
Может быть; но см. мой следующий запрос для разъяснений. Используйте столбец ИДЕНТИЧНОСТЬ; Используйте UNIQUEIDENTIFIER только в том случае, если вы понимаете, что это такое, когда его использовать и почему. Что маловероятно, учитывая ваш вопрос.
Вы хотите сказать, что один и тот же идентификатор не должен появляться более чем в одной таблице? Это было бы сомнительным утверждением, которое наводит на мысль о необходимости дальнейшего обсуждения.
В смысле рефакторинга это был бы «неприятный запах».
Было бы полезно добавить дополнительные пояснения к этому вопросу - образцы макетов всех трех таблиц (только с важными столбцами) и более подробное объяснение того, что вы подразумеваете под «переносом во все три таблицы».