新⼿来看:如何设计数据库结构 有⼀定启发的,前⾯⼏段就不⽤看了,重点在后⾯。 本⽂为开发⼈员提供了⼀些技巧,使⽤这些技巧可以在设计 Access 表时避免某些问题。本⽂适⽤于 Microsoft Access 数 据库 (.mdb) 和 Microsoft access 项⽬ (.adp)。 简介 在设计数据库时,最重要的步骤是要确保数据正确分布到数据库的表中。使⽤正确的数据结构,可以极⼤地简化应⽤程序 的其他内容(查询、窗体、报表、代码等)。正确进⾏表设计的正式名称是"数据库规范化"。 本⽂简要介绍数据库规范化的基本概念和⼀些需要注意并⼒求避免的常见问题。 理解您的数据 在设计表之前,应明确您打算如何处理数据,还要了解随着时间的推移数据会发⽣什么样的变化。您所做的假设将会影响 最终的设计。 您需要什么样的数据? 设计应⽤程序时,关键要了解设计的最终结果,以便确保您准备好所有必需的数据并知道其来源。例如,报表的外观、每 个数据的来源以及所需的所有数据是否都存在。对项⽬损失的莫过于在项⽬后期发现重要报表缺少数据。 知道需要什么样的数据后,就必须确定数据的来源。数据是否从其他数据源中导⼊?数据是否需要清理或验证?⽤户是否 需要输⼊数据? 明确所需数据的类型和来源是数据库设计的第⼀步。 您打算如何处理这些数据? ⽤户是否需要编辑这些数据?如果需要,应如何显⽰数据以便于⽤户理解和编辑?有没有验证规则和相关的查找表?要求 对编辑和删除保留备份的数据输⼊有没有相关联的审核问题?需要为⽤户显⽰哪些摘要信息?是否需要⽣成导出⽂件?了解这 些信息后,就可以想象字段之间是如何相互关联的了。 数据之间如何相互关联? 将数据分组放⼊相关字段(例如与客户相关的信息、与发票相关的信息等),每个字段组都代表要建⽴的表。然后考虑如 何将这些表相互关联。例如,哪些表具有⼀对多关系(例如,⼀个客户可能持有多张发票)?哪些表具有⼀对⼀关系(这种情 况下,通常会考虑将其组合到⼀个表中)? 随着时间的推移数据会发⽣什么样的变化? 设计表之后,常常会由于没有考虑时间的影响⽽导致以后出现严重问题。许多表设计在当时使⽤时效果⾮常好,但是,常 常会因为⽤户修改数据、添加数据以及随时间的推移⽽崩溃。开发⼈员经常会发现需要重新设计表的结构来适应这些变化。表 的结构发⽣变化时,所有相关的内容(查询、窗体、报表、代码等)也必须随之更新。理解并预测数据会随时间推移发⽣哪些 变化,可以实现更好的设计,减少问题的发⽣。 学习如何使⽤查询 了解如何分析和管理数据同样很重要。您应该深刻理解查询的⼯作原理,理解如何使⽤查询在多个表之间链接数据,如何 使⽤查询对数据进⾏分组和汇总,以及如何在不需要以规范化格式显⽰数据时使⽤交叉表查询。 好的数据设计的最终⽬标就是要平衡两个需要:既要随着时间的推移有效地存储数据,⼜要轻松地检索和分析数据。理解 查询的功能对正确设计表很有帮助。 数据库规范化概念 这部分介绍数据库规范化所涉及的基本概念,⽽不是对数据库规范化进⾏理论性的探讨。如何在您的实际情况中应⽤这些 概念可能会随着应⽤程序需要的不同⽽有所变化。这部分的⽬的是理解这些基本概念、根据实际需要应⽤它们,并理解偏离这 些概念将会出现哪些问题。 将信息存储在⼀个地⽅ ⼤部分数据库开发⼈员都理解数据库规范化的基本概念。理想情况下,您希望将相同的数据存储在同⼀个地⽅,并在需要 引⽤时使⽤ ID 来进⾏引⽤。因此,如果某些信息发⽣了变化,则可以在⼀个地⽅进⾏更改,⽽整个程序中的相应信息也会随 之更改。 例如,客户表会存储每个客户的记录,包括姓名、地址、电话号码、电⼦邮件地址以及其他特征信息。客户表中可能包含 的 CustomerID 字段(通常是 Autonumber 字段),这个字段即该表的主键字段,其他表使⽤它来引⽤该客户。因此,发票表 可以只引⽤客户的 ID 值,⽽不是在每张发票中存储客户的所有信息(因为同⼀个客户可能会持有多张发票),这样利⽤客户 的 ID 值即可从客户表中查找客户的详细信息。使⽤ access 中功能强⼤的窗体(使⽤组合框和⼦窗体),可以轻松地完成这 项⼯作。如果需要修改客户信息(例如新增电话号码),只需在客户表中修改,应⽤程序中引⽤该信息的任何其他部分都会随 之⾃动更新。 使⽤正确规范化的数据库,通过简单的编辑即可轻松处理数据随时间推移⽽发⽣的更改。使⽤未正确规范化的数据库,通 常需要利⽤编程或查询来更改多条记录或多个表。这不仅会增加⼯作量,还会增加由于未正确执⾏代码或查询⽽导致数据不⼀ 致的可能性。
, 相关下载链接:
https://download.csdn.net/download/qq_43966957/87372247?utm_source=bbsseo