本帖最后由 access学习交流 于 2013-6-29 17:46 编辑
系统设计离不开表设计,表是整个系统的命脉,所为牵一发而动全身,表设计好基本是不能随意做大修改的,否则是跟重做没异样。设计,优化好的表结构对整个系统是否完善有着至关重要的作用。很多朋友做系统的时候都无从下手,不知道表该怎么做。其实主要的还是不知道如何建表。设计上一般遵循一个原则,就是在表中存储的数据都依附一个主题(如商品)的数据。所以,你可以只需要对一个特定的数据进行更新,如一个地址,此更改就会自动反映到整个数据库中。
设计数据库时可根据以下基本步骤。 1、确定数据库的功能 通过讨论,市场调查等方法了解你系统的需求,做好需求分析,确定好你的数据库需要有什么功能
2、确定数据库中需要的字段 根据自己系统需要的每个字段都是关于特定主题。例如,您可能希望存储以下有关客户的信息:公司名称、地址、城市等。对于这些事实,需要为每个事实单独创建一个字段。在确定需要哪些字段时,请切记以下设计原则: 一、包含所有需要的信息。 二、将信息分成最小的逻辑部分存储。例如,雇员姓名通常分为两个字段,“名字”和“姓氏”,这样,按“姓氏”对数据进行排序就很容易。 三、不要创建容纳多项列表数据的字段。例如,在一个“供应商”表中,如果创建“产品”字段,其中包含以逗号分隔的产品列表,列出了从该供应商处收到的4每种产品,要想只查找提供特定产品的供应商就更难了。 四、不要包含派生或计算得到的数据(表达式的计算结果)。例如,如果有“单价”和“数量”字段,就不要额外再创建一个字段放置这两个字段值的乘积。 五、不要创建相互类似的字段。例如,在“供应商”表中,如果创建了字段“产品1”、“产品2”和“产品3”,就更难查找所有提供某一特定产品的供应商。此外,如果供应商提供三个以上产品,则还必须更改数据库的设计。如果将该字段放入“产品”表而非“供应商”表中,就只需要为产品准备一个字段。
3、确定数据库中需要哪些表 每个表应该最好包含关于一个主题的信息。字段的列表将提示您需要哪些表。例如,如果有“雇佣日期”字段,该字段的主题是一个雇员,因此它属于“雇员”表。您可能需要为“客户”准备一个表,为“产品”准备一个表。为“订单”准备一个表。
4、确定每个字段属于哪个表 在确定每个字段属于哪个表时,请切记以下设计原则: 一、如果字段添加到某个表中会导致该表的多个记录中出现同样的信息,就不要将字段添加到该表中。如果确定某个表中有一个字段含有大量的重复信息,该字段就可能是放错了表。 例如,如果在“订单”表中输入包含客户地址的字段,该信息就可能在多个记录中重复,因为客户可能会放入多个订单。但如果在“客户”表中输入地址字段,它就只会出现一次。在这方面,Access 数据库中的表与常规文件数据库中的表(例如,电子表格)有所不同。 二、当每条信息都只存储一次时,更新可在一个地方完成。这样会提高效率,而且还可根除包含不同信息的重复项出现的可能性。
5、设计好主键(一个或多个) 为了让Access 能连接到在一些表中分开存储的信息,例如将某个客户与该客户的所有订单相连接,数据库中的每个表都必须包含表中唯一标识每个记录的字段或字段集。
6、确定表之间的关系 既然已将信息分开放入一些表中,并标识了主键字段,所以需要通过某种方式告知 Access 如何以有意义的方法将相关信息重新结合到一起。(本人不是很提倡用表设计关系,新手可以使用学习。具体的关系可通过后期代码实现)
7、优化设计 在设计完需要的表、字段和关系后,就应该检查该设计并找出任何可能存在的不足。因为在现在改变数据库的设计要比更改已经填满数据的表容易得多。 用 Access 创建表,指定表之间的关系,并且在每个表中输入充足的示例数据,以检查设计。可创建查询,以是否得到所需结果来检查数据库中的关系。创建窗体和报表的草稿,检查显示数据是否是所期望的。最后查找不需要的重复数据,并将其删除。
8、使用 Access 提供分析工具 Access 有两个工具可以帮助改进Access 数据库的设计。 “表分析器”一次能分析一个表的设计,并在适当的情况下能建议新的表结构和关系,并且在合理的情况下在相关的新表中拆分原来的表。 “性能分析器”能分析整个数据库,并且做出推荐和建议来改善数据库。
|