1、数据库分离成前台和后台,通过链接表关联;
2、把前台做成d出窗体,禁止用户使用导航选项和菜单之类;
3、把前台编译成ACCESS2007的accde文件(对应ACCESS2003的mde文件);
4、把这个accde文件也放在服务器端,客户端通过winform之类exe来远程打开。
前3步都比较正常,第4步的看起来应该比较奇怪。我的想法是,如果accde文件也放在客户端,高手会不会通过反编译就可以进入到数据库看到链接表?感觉上“禁止Shift”,“隐藏表”这类手段只对菜鸟有用。
要这样,这样你会有无数多的表,而且以后新的一个产品时候非常麻烦,如果要属于新的类别,而且还会因为避免数据库太复杂而使得许多不同类的产品归在一个类。而且你的程序很麻烦,要为每个类编写不同程序,因为数据表名不同。应该用下面的办法,主要使用四个表存储所有类别的商品:
第一、类别名称表,字段有
类别ID,类别名称
1 电脑
2 洗衣机
第二、类别属性表,字段有:
类别ID,属性ID,属性名称
1 1 CPU
1 2 内存
1 3 屏幕尺寸
2 1 容量
2 2 类型
第三、商品名称表,字段有:
商品ID,类别ID
1 1
2 1
3 2
4 2
第四、商品属性表,字段有:
商品ID,属性ID,属性值
1 1 P4
1 2 128M
1 3 CRT 14
2 1 P4
2 2 512M
2 3 LCD19
3 1 9公斤
3 2 滚筒
4 1 8公斤
4 2 波轮
上面定义了四个商品,商品ID为1~4,分别是128M、512M内存的电脑,和9公斤滚筒、8公斤的波轮洗衣机。
这样定义的数据库结构,可以包含任何商品,一般不会改变,那么程序也就无需改变,定义新的产品、或者修改现有商品只需要在程序界面有 *** 作员点点鼠标。
思路一,使用独立的商品类表, 构造商品属性信息,1、N个商品类属性值表,2、商品基本信息表,3、商品属性表思路二,使用key-value模型,使用动态行列转换模型,将商品属性信息碎片化存储,整合型只读输出快照,1、公共键值表,2、公共类表,3、公共键类表,4、属性值物化表,5、商品基本信息表,6、商品属性表,6、商品属性快照表或模型
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)