数据库设计 – Multitenant DB:为什么在每个表中放置一个TenantID列?

前端之家收集整理的这篇文章主要介绍了数据库设计 – Multitenant DB:为什么在每个表中放置一个TenantID列?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
关于Multitenant数据库模型的每个教程都告诉您将TenantID放在每个表格中:
zoos
-------
id
zoo_name
tenant_id

animals
-------
id
zoo_id
animal_name
tenant_id

但是,这对我来说似乎是多余的.为什么不将tenant_id列添加到动物园表中,并利用动物园和动物之间的外键关系?

您是否为每个表添加tenant_id,以防止连接变得太疯狂?这是防虫虫的保障?表现考虑?

解决方法

如果我在层次结构的顶部(即动物园级别)有tenantID,您需要考虑几个问题.

>层次结构的顶部永远不会改变,例如,如果您需要在动物园级别上方的树上添加一个节点(例如,区域 – > zoos – >动物),那么它将每次强制重新组织.>对于某些疑问,您将被迫从层次结构的顶部开始,即给我列出的所有可用动物将强制您从树顶部开始>为什么不使用模式?每个租户都在自己的模式中被隔离.这也将很好地分离数据集.

猜你在找的MsSQL相关文章