Я проектирую базу данных для чистого мультитенантности (одна база данных, одна схема), и я хотел бы сохранить Tenant_Id в большинстве моих таблиц в качестве меры безопасности, чтобы гарантировать, что данные не попадут в неправильные руки арендатора. Похоже, что для этого потребуется составной ключ на каждой таблице.
Пример:
В условиях одного арендатора у меня будет один первичный ключ:
Animal_Id (PK)
Animal_Type
Animal_Name
В мультитенантных обстоятельствах я бы добавил еще один первичный ключ для Tenant_Id:
Animal_Id (PK)
Tenant_Id (PK)
Animal_Type
Animal_Name
Означает ли добавление столбца Tenant_Id в каждую таблицу, что мне потребуется составной ключ в каждой таблице, или есть безопасный способ избежать этого? С составными клавишами все в порядке, но я бы хотел их избежать, если смогу.