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

关于Multitenant数据库模型的每个教程都告诉您将TenantID放在每个表格中:
zoos
-------
id
zoo_name
tenant_id

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

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

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

解决方法

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

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

相关文章

(一)日志传送架构 (1.1)相关服务器 主服务器 :用于生产的服务器,上面运行这生产SQL Server数据库...
(一)事故背景 最近在SQL Server 2012生产数据库上配置完事物复制(发布订阅)后,生产数据库业务出现了...
(一)测试目的 目前公司使用的SQL SERVER 2012高可用环境为主备模式,其中主库可执行读写操作,备库既...
(一)背景个人在使用sql server时,用到了sql server的发布订阅来做主从同步,类似MySQL的异步复制。在...
UNION和OR谓词 找出 product 和 product2 中售价高于 500 的商品的基本信息. select * from product wh...
datawhale组队学习task03