Я разработал базу данных для использования GUID для UserID
, но я добавил UserId
в качестве внешнего ключа ко многим другим таблицам, и поскольку я планирую иметь очень большое количество входов базы данных Я должен проектировать это хорошо.Должен ли GUID использоваться как внешний ключ для многих таблиц
Я также использую таблицы членства ASP (не только членство в профилях, пользователи и роли).
Так что в настоящее время я использую GUID как ПК и как FK в каждой другой таблице, это, возможно, плохой дизайн? Что я думаю, может быть, лучше и является источником моего вопроса, следует ли добавить в таблицу пользователей UserId(int)
в качестве первичного ключа и использовать это поле в качестве внешнего ключа для других таблиц и пользователя GUID UserId
только для ссылки aspnet_membership
?
aspnet_membership{UserID(uniqueIdentifier)}
Users{
UserID_FK(uniqueIdentifier) // FK to aspnet_membership table
UserID(int) // primary key in this table --> Should I add this
...
}
In other tables user can create items in tables and I always must add UserId for example:
TableA{TableA_PK(int)..., CreatedBy(uniqueIdentifier)}
TableB{TableB_PK(int)..., CreatedBy(uniqueIdentifier)}
TableC{TableC_PK(int)..., CreatedBy(uniqueIdentifier)}
...
Так вы предлагаете мне использовать uniqueidentifier для присоединения к таблице членства asp и int для ссылки на другие таблицы в базе данных? Моя самая большая забота здесь, в моей нынешней ситуации, - это ничто другое. – 1110
Лично я хотел бы использовать int для ссылки на другие таблицы, не будет значительных различий в производительности, но int выйдет из uniqueidentifier. – GarethD