设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 3054|回复: 18
打印 上一主题 下一主题

[表] ACCESS基础表如何设计?急需解答

[复制链接]
跳转到指定楼层
1#
发表于 2009-12-29 10:25:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lgbs_bl 于 2009-12-29 10:27 编辑

前段时间碰到个问题
基本情况:
1、某公司有产品200多个,每个产品(共有零件200个左右)有4、5个部件,每个部件有40个左右的零件
2、每个产品都有独属本产品的零件,同时又借用其它产品的零件
3、一个零件在不同产品中的数量并不完全相同
4、每个零件的属性可能是自制件、标准件、外协配套件三中属性之一,
5、产品的数量每年都在增加,平均每年都可能增加50个左右
想达到的目的
1、常规统计查询
2、统计每个零件在200多个产品中被什么产品所用?数量分别是多少?总数多少?
或者是每个零件在任意指定的若干个产品中被哪些产品所用?数量是多少?总数多少?
问题:
该如何设计基础表?
设想A:
表1:零件汇总表:字段包括——图号(主键)  名称  规格(主键)  材料  (自制或外协或标准)
表2~200 :产品明细表(每个产品单独建一个表):字段包括——图号(主键)  所属产品 所属部件 数量
关系:利用图号将所有表联系起来,以备查询及统计计算
这种方案优点是每个表都很简单,单个表基本没有记录的冗余,但在建立表间关系时太烦,几百个产品啊,而且新增产品时都要重新添加关系。
设想B:表1:零件汇总表:字段包括——图号(主键)  名称  规格  材料  (自制或外协或标准)
表2:产品及零件汇总表(所有产品在一张表中,依靠主键的设置区分产品类别):字段包括——图号(主键)  规格(主键)  所属产品(主键) 所属部件(主键) 数量
关系:利用图号将所有表联系起来,以备查询及统计计算
这种方案的优点是表间关系简单,新增产品时方便,缺点是表2比较复杂也太大了(查询时速度慢),记录大量冗余(因为零件的借用关系),而且随着产品的增加,表2的记录数也大幅增加
请各位达人评论下设想A和B该如何选择,或是有其它设想C?
此问题困扰我多时,恳请各位不吝赐教,感激不尽!在此拜谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2009-12-29 10:41:40 | 只看该作者
本帖最后由 lgbs_bl 于 2009-12-29 10:43 编辑

是不是我问的问题太小儿科了?各位达人哪去了?都说这论坛人气不错,没感觉啊
3#
发表于 2009-12-29 10:58:55 | 只看该作者
方案一。需要的话参考我的生产流程进销存(原料《零件》-半成品《部件》-产品)
4#
发表于 2009-12-29 14:41:52 | 只看该作者
只要4个表就行了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
5#
发表于 2009-12-29 14:55:24 | 只看该作者
4楼“产品_部件_零件表”不好,应该建“部件_零件表”。
6#
发表于 2009-12-29 15:33:18 | 只看该作者
5# tz-chf

主要是从逻辑上来讲“产品_部件_零件”表是“产品_部件”表的子表,而“产品_部件”表又是“产品”表的子表,所以才这样命名的,不然要是对象多了,找起来来比较麻烦,这个我已经成习惯了,随手一写就那样了……
7#
 楼主| 发表于 2009-12-30 11:09:17 | 只看该作者
感谢4楼达人的示例,看您的意思你偏向设想2,是不是?
但同样的问题是您示例表中有个“产品_部件_零件”表,这个表中包括了所有的产品及零部件,这个表中有很多的重复零件,因为如果新增一个产品,这个表就将增加200多个记录,一年就是1万多个。
是不是只能这样做,没有更好的办法了?
8#
发表于 2009-12-30 14:24:07 | 只看该作者
7# lgbs_bl

你需要记住这样一句话:字段是昂贵的,记录是免费的。
你添加一个产品,“产品_部件_零件”表中会添加200条记录,这个其实一点也不多。
按你说的一年增加50个产品,也不过才1万条记录而已,这样用上10年才10万条记录,并不会造成数据库性能下降。
而你说的每个产品建一个表,那就成了每添加一个产品,都需要修改一次数据库设计,这明显违背了数据库原理。
9#
发表于 2009-12-30 14:40:42 | 只看该作者
我说的不是命名,是这个表设计不好,不但数据冗余,而且如果组成的部件或零件改动,或有可能相同部件在不同产品中的零件组成不一样,问题很麻烦。
10#
发表于 2009-12-30 18:14:17 | 只看该作者
嗯,这个是你之前没说清楚,导致我们各自的理解不一样
现在是一个零件可能在多个部件上使用,一个部件可能在多个产品上使用,那就还有几个问题要弄清楚:
同一个零件会不会在某一个部件上重复使用多次?
同一个部件会不会在某一个产品上重复使用多次?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-13 11:42 , Processed in 0.095259 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表