美好的一天,我为Web应用程序设计MySQL数据库,该应用程序包含两部分:
所有这些Web应用程序通常由相同的组织/用户使用。为每个应用程序创建单独的模式并在它们之间创建外键是否是个好主意?例如,用于管理订单的webapp将具有它自己的架构,成员系统将具有它自己的架构,并且订购webapp的表将引用成员架构中的表(因为订单具有所有者=组织,用户等) )。以后的拍卖webapp将拥有它自己的模式引用成员系统模式中的表。这种设计的优点和缺点是什么?或者你会建议把它全部放在一个模式中?请指教。
谢谢。
答案 0 :(得分:0)
您想要为每个应用分开数据库设计
另一方面,您希望与用户信息共享同一个表,并且不想放弃外键关系。我也不会省略它。
那么,这个怎么样:
拥有一个架构,您只需维护用户信息。在这个表上你放了一个触发器,在插入后将行插入所有其他应用程序模式的相同表中。 因此,当您创建新用户时,只需在主模式的成员表中创建一个条目。它只写。在每个应用程序的每个模式中,您有另一个成员表(可以通过外键引用),这是一个只读表。