所在位置:答疑 - 内容   
激活码的数据模型
 

RICK CHIAN(14744332) 22:08:15

潘加宇(3504847) 21:11:50
数据库表 "激活码"里有创建人,创建日期,后面还有UserEmail、AccountsInfo这些是不是应该属于同一个类?
创建是针对一批创建的吧,不是针对每个激活码?你这样的表岂不是有大量相同的值?如果字段有"大量相同的值""大量空值",往往是结构出了问题。

RICK CHIAN(14744332) 09:01:41
激活码主表-和激活码记录表 是1对多的关系。表述有的通用激活码,可以被不同用户ID使用。
用户表和激活码记录表是1对多的关系。
用户邮件表(App上的一个邮件功能和通常意义上的email有所不同)和激活码记录表,表述这个系统将激活码兑换直接写到用户邮件表成PDM是

RICK CHIAN(14744332) 09:02:47
AccountsInfo, UserEmail 都是已存在表,这里取一个主键表示一下。
潘加宇(3504847) 09:43:58
你描述的还是你现在的数据库是怎么做的。如果有空,把那些表,记录之类的文字去掉,重新用领域的语言画个类图,重新把这些概念和关系描述一下看看。
模型要抓住领域的内涵,才能以最小的成本随着领域规律的变化而变化。
有的开发人员思想刚好是反的,以为模型只不过是他所做的实现概要描述。有开发人员让我看他的类图,我指着一个地方说"这两个类应该是泛化,不是关联",开发人员很认真地说"老师,是泛化没错的,不信我拿代码给你看!"似乎只要代码写了"人是狗的一种",模型也应该是"人是狗的一种",领域内涵也变成了"人是狗的一种"。正确的应该反过来:领域内涵中,人不是狗的一种,图就不能这样画,代码也不能那样写。