Для базы данных, которую я создаю, я решил использовать натуральные числа в качестве первичного ключа. Я знаю о преимуществах, которые допускают GUID, но, глядя на данные, основная часть данных строки представляла собой ключи GUID.
Я хочу сгенерировать записи XML из данных базы данных, и одна проблема с натуральными числами заключается в том, что я не хочу раскрывать ключи своей базы данных внешнему миру и позволять пользователям угадывать «ключи». Я считаю, что GUID решают эту проблему.
Итак, я думаю, что решение состоит в том, чтобы сгенерировать редкий, уникальный iD, полученный из естественного идентификатора (надеюсь, это будет 2-сторонний), или просто добавить дополнительный столбец в базу данных и сохранить guid (или некоторый другой многобайтовый ID)
Производное значение лучше, потому что нет потери памяти, но было бы легче изменить и угадать по сравнению с GUID.
Мне (купить) любопытно, что сделали другие на SO и какие у них идеи.