Я пытаюсь выяснить способ создания базы данных SQL Azure. Существует много информации о том, каким должен быть ваш первичный ключ (int versus guid), а также преимуществами/недостатками обоих подходов, поэтому я знаю о том, что там происходит война :)О ключах базы данных
Но я был мышление применять лучшее из обоих миров, добавив следующие три колонки моих таблиц:
- InternalID
- IDENTITY типа междунар
- определен как кластерный индекс
- используется в соединениях значение
- по умолчанию, генерируемый базой данных
- уникальным в таблице только
- используется только внутри
- никогда не может изменить
- ExternalId
- Guid
- значение по умолчанию, генерируемое клиентом (или доменом)
- глобально уникальный
- используется как внутри, так и снаружи.
- никогда не может изменить
- UrlTitle
- строка
- порожденных областью
- уникальной в таблице только
- удобного представления объекта используется в общественных местах URL,
- может изменяться (но предпочтительно не изменяется)
Поступая таким образом он будет иметь производительность целочисленных ключей первичных благодаря InternalId, но все еще достаточно гибкой, из-за ExternalId.
Я не специалист по базам данных, далеко от него, поэтому я хотел бы услышать от вас, возможно ли это сделать или просто просто смешно?
Спасибо, я тоже разработчик, поэтому я контролирую все. Мне просто интересно, является ли этот подход тем, что считается «принятым» дизайном. –