Mysql 多个产品的表设计需要不同的用户信息才能订购
有多种金融产品略有不同,每种产品在订购时都需要基本的个人信息,有些需要不同的扩展信息,例如Mysql 多个产品的表设计需要不同的用户信息才能订购,mysql,database,Mysql,Database,有多种金融产品略有不同,每种产品在订购时都需要基本的个人信息,有些需要不同的扩展信息,例如 用户信息基础 身份证 名字 UserInfo-Ext1 电子邮件 电话 UserInfo-Ext2 身份证 身份证照片 UserInfo-Ext3 银行卡号 产品类别 名字 产品特性 财产 产品 性质 现在: 产品1需要UserInfo Basic 产品2需要UserInfo Basic、UserInfo-Ext1 产品3需要UserInfo Basic、Us
- 用户信息基础
- 身份证
- 名字
- UserInfo-Ext1
- 电子邮件
- 电话
- UserInfo-Ext2
- 身份证
- 身份证照片
- UserInfo-Ext3
- 银行卡号
- 产品类别
- 名字
- 产品特性
- 财产
- 产品
- 性质
- 现在:
- 产品1需要UserInfo Basic
- 产品2需要UserInfo Basic、UserInfo-Ext1
- 产品3需要UserInfo Basic、UserInfo-Ext2
- 产品4需要UserInfo-Basic、UserInfo-Ext1、UserInfo-Ext2、UserInfo-Ext3
谢谢 我认为您需要一个
UserInfo
表,其中包含所有列(最后五列可为空),以及一个Product
表(包含指示所需UserInfo项的列),然后通过触发器实现业务规则(产品2需要UserInfo Basic,UserInfo-Ext1)。在您的问题中如何在概念上对其进行映射将是维护的噩梦。应该能够有一个左连接查询
伪码
select b.columns..., x1.columnss... x2.columnss. x3.columns...
from userinfo-basic b
left join userInfo-ext1 x1
left join UserInfo-ext2 x2
left join UserInfo-ext3 x3
无论是哪种产品,您都应该能够从userinfo表中选择所需的内容谢谢,您所说的“触发器”是什么意思?在数据库级别或通过编程(硬)代码执行?数据库触发器,以确保UserInfo中的所有必要字段都存在于产品类型中。