现有多种业务需实现,各业务之间无关联(一个业务就是一个主体),但各个业务之间的数据表、数据字段及表之间的关联关系都不一样,比如业务A,它包含A、B、C三个表,B对A和B对C都是一对多关系;而业务B,它包含C、D、F、G、H五张表,C-F是多对多,C-G是一对多关系。
因为太灵活,暂有这样一种设计思路:后台确定业务ID,前台用户根据业务ID进入系统,然后就进行业务建模,让用户自行确定数据表、字段及字段值,以及表之间的关联关系。后台数据表的组织分二大类--关联关系表组,数据表组。用这两个表组将所有的数据以及关系组织起来,这样可行吗?
这个东西叫做应用字典(application dictionary),规模大,复杂系统里面都是用字典来管理表关系和预设业务逻辑。
这个东西做起来,比你要做的系统本身更复杂.在sap,salesforce上,都是直接使用的。
而且可以肯定的告诉你,任何mysql的系统,都无法实现。
分享数据库前沿,解构实战干货,推动数据库技术变革