我有一个爱好项目,在那里,我正在创建我自己的软件,将有不同的模块。这样做的目的是使模块可以堆叠,并且可以切换。我使用MySQL作为数据库后端,我想知道是否最好在自己的模式上有特定于模块的表,或者te表是否应该加上前缀。例如,假设我有一个系统模块和一个employees模块;将与员工相关的所有表放在员工计划中是否比仅仅在表名前加上"emp_“之类的内容要好呢?
发布于 2018-02-20 02:11:45
对于MySQL来说,这是一个模拟点,因为数据库和模式在MySQL中是可互换的。它将更适用于Server。
发布于 2018-02-18 15:24:21
表名的前缀通常是不必要的杂乱;表名或您是JOINing的表应该清楚地说明正在发生的事情。在所有表中的数据库与几个dbs之间没有性能差异;语法略有差异。
发布于 2019-03-27 16:48:59
我的MySQL关键字database被重命名为schema,因为它们不是分开的数据库。您仍然可以拥有跨架构的关系。
在一些ORM中,比如Laravel雄辩,你可以写一些关系,比如:
$company->hasMany(Employee)在这种关系中,您将有一个名为company_employee的枢轴表。如果有两个分离的模式,那么要将透视表放在哪里?在company模式上还是在employee模式上?
Laravel将无法解决这个问题,跨模式创建这种关系并不容易。
https://stackoverflow.com/questions/48693190
复制相似问题