数据库表字段如下:
2 ClassID int not null --类型编号
3 ProductID varchar(20) not null --产品编号
4 Content nvarchar(400) not null --内容
5 Type int not null --类型 1=Product所有,2=Class所有,3=公有
说说这几个字段之关的关系。
当ProductID 不为0时 Type=1
当ClassID 不为 空 时 Type=2
当两个都为0时 Type=3
程序里面有几个取数据的方法。
1。取公有的 Select * From Table Where Type=3
2。取本类通用的 就是 Class所有 Select * From Table Where ClassID=@ClassID and Type=2
3。取Product所有的 Select * From Table Where ProductID=@ProductID and Type=1
这张表就这么几个字段 我没有看出来这个Type有存在的必要
如果没有Type字段的话程序就应该修改为
1。取公有的 Select * From Table Where ProductID=0 and ClassID=''
2。取本类通用的 Select * from Table Where ClassID=@ClassID
3。取Product所有的 Select * from Table Where ProcudtID=@ProductID
这样复杂吗?关系很难搞清楚吗?
原来,我也不知道他怎么想的。
说说这几个字段之关的关系。
当ProductID 不为0时 Type=1
当ClassID 不为 空 时 Type=2
我跟同事说,把Type去掉,没有存在的必要。他跟我说,有用的。取数据的时候我要跟据Type取的。你这么复杂的关系我怎么理的清楚。去掉之后程序变的复杂难以维护,关系又这么复杂,什么当ProductID 不为0 的时候就是Product私有的。。。。。。一大堆的话。
最终还是没有把Type字段去掉。 我现在很不负责任。反正不是我设计的,而且多一个字段,对于这种只存几百几千的数据量的表来说应该一点影响都没有的。不就多一个字段吗。
最近郁闷的事情特别多。
谈谈Type这个字段是否有存在的必要。