首页 新闻 会员 周边

有关 类型选择字段的设计

0
悬赏园豆:30 [已解决问题] 解决于 2009-07-01 08:34
<p class="p0" style="text-align: left;"><span style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-spacerun: 'yes';"><img src="http://pic002.cnblogs.com/img/dsktt/200906/2009063017362753.png" alt="" /></span></p> <p class="p0" style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p> <p class="p0" style="margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10.5pt; font-family: '宋体'; mso-spacerun: 'yes';">&nbsp;&nbsp;现在要设计一个制造行业的在线订单系统,已经有了一个内部使用的<span style="font-family: Times New Roman;">C/S</span><span style="font-family: 宋体;">系统了。现在要做的是要将这套东西</span><span style="font-family: Times New Roman;">B/S</span><span style="font-family: 宋体;">话。其中涉及到大量个可变的参数。</span></span></p> <p class="p0" style="margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10.5pt; font-family: '宋体'; mso-spacerun: 'yes';">打个比方:单一个制作方法就分为</span></p> <p class="p0" style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p> <p class="p0" style="margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10.5pt; font-family: '宋体'; mso-spacerun: 'yes';">&nbsp;</span></p> <p class="p0" style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p> <p class="p0" style="margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 10.5pt; font-family: '宋体'; mso-spacerun: 'yes';"><span style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-spacerun: 'yes';"><img src="http://pic002.cnblogs.com/img/dsktt/200906/2009063017372629.png" alt="" /></span></span></p> <p>&nbsp;</p> <p class="p0" style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 147pt; text-indent: 21pt;"><span style="font-size: 10.5pt; font-family: '宋体'; mso-spacerun: 'yes';">1、</span><span style="font-size: 10.5pt; font-family: '宋体'; mso-spacerun: 'yes';">品名:又可分为</span></p> <p class="p0" style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 168pt; text-indent: 21pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-spacerun: 'yes';">a)&nbsp;</span><span style="font-size: 10.5pt; font-family: '宋体'; mso-spacerun: 'yes';">激光模板</span></p> <p class="p0" style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 168pt; text-indent: 21pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-spacerun: 'yes';">b)&nbsp;</span><span style="font-size: 10.5pt; font-family: '宋体'; mso-spacerun: 'yes';">普通模板</span></p> <p class="p0" style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 168pt; text-indent: 21pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-spacerun: 'yes';">c)&nbsp;</span><span style="font-size: 10.5pt; font-family: '宋体'; mso-spacerun: 'yes';">阶梯模板</span></p> <p class="p0" style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 168pt; text-indent: 21pt;"><span style="font-size: 10.5pt; font-family: '宋体'; mso-spacerun: 'yes';"><span style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-spacerun: 'yes';">e)&nbsp;</span><span style="font-size: 10.5pt; font-family: '宋体'; mso-spacerun: 'yes';">BGA<span style="font-family: 宋体;">钢片等等</s
问题补充: 大概类似这样的情况:按照我以前做别的项目的方式,我一般是这样处理的,类似于这样的参数字段我会单独放在一个表中然后主表就是"订单表"和从表比"材料厚度表" 实现一对多的关联。 但是现在有一个问题,如何这样做的话我可能需要建立上百个表,因为有这个订单 加上这个系统里面其余的一些这样字典参数,就会有数百个但是每张表的数据量又不大。顶多也就是几百行。内容也比较固定。 现在我又看到另外一种解决方法。就是只建立一张表。然后这个表中的字段呢比较就讲究。 主键 关键字类型 关键字 描述 1 材料厚度 0.12mm 2 材料厚度 0.13mm 3 材料厚度 0.14mm 4 材料厚度 0.15mm 5 材料厚度 0.16mm 6 品名 激光模板 7 品名 普通模板 8 品名 阶梯模板 9 品名 罩板 10 品名 BGA钢片 11 性别 男 12 性别 女 以此类推。这个系统里面需要什么类型的参数字段他就在这个表里面添加这个 字段类型然后在 添加关键字这样设计的确会减少很多工作量。但是我现在有个个问题。这样设计到底好不好?效率如何。这样设计符合范式么? 如果这样设计好?为什么我们以前做的管理系统都把 部门呀、职位呀。学历、政治面貌 等等这些东西都是独建一个表。而不是用上面的这个方式呢? 或者说有没有什么更好的设计方式 感谢博客园的朋友解答?
Beggar的主页 Beggar | 初学一级 | 园豆:15
提问于:2009-06-30 17:33
< >
分享
最佳答案
0

数据字典。一般情况下,这些数据都要存储在专门的数据字典表里面。

如果类型很多的话,用两个表,一个是存储类型名称 table a,存储详细数据的字典table b。

a 中存储 类似‘品名‘一级的数据,b 存储 ’激光模板‘一类的数据。只要在b中增加父级对应字段就可以了。这样的话.只要两个表,就可以实现大量的 这种数据的维护。

而且,如果是bs架构的话.在系统初始化的时候就可以把a,b它们 存储在高速缓存中,性能还会提升。

邢少 | 专家六级 |园豆:10926 | 2009-06-30 17:56
其他回答(2)
0

这种表设计我也见过,不过是个杂表,名字就叫杂表,呵呵,自然不建议那么做了。

| 园豆:770 (小虾三级) | 2009-06-30 17:39
0

用枚举,但更新不便!

LoujaDy | 园豆:908 (小虾三级) | 2009-06-30 20:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册