发布时间:2023-10-27 14:26
这一部分介绍了关系数据库设计的基本原则。彻底的数据库设计支持有效的开发过程,对于成功的数据库功能和性能至关重要。
安装中提供了Demodata示例数据库,并经常在文档中用于说明数据库概念和技术。
设计阶段
一旦您了解了关系数据库的基本结构,就可以开始数据库设计过程。设计数据库是一个根据业务要求开发和完善数据库结构的过程。
数据库设计包括以下三个阶段:
1. 概念性数据库设计
2. 逻辑性数据库设计
3. 物理性数据库设计
一、概念性设计
数据库设计周期中的第一步是为您的业务定义数据需求。回答这些类型的问题有助于您定义概念性设计:
• 我的业务当前使用哪些类型的信息?
• 我的业务需要哪些类型的信息?
• 我想从这个系统中获得什么样的信息?
• 我的业务运行在什么样的假设基础上?
• 我的业务有哪些限制?
• 我需要生成什么样的报告?
• 我将如何使用这些信息?
• 这个系统需要什么样的安全性?
• 哪些信息可能会扩展?
确定您的业务目标并从将使用数据库的不同来源收集信息是一个重要的过程。有了这些信息,您可以有效地定义您的表格和列。
二、逻辑设计
逻辑数据库设计帮助您进一步定义和评估您的业务信息需求。逻辑数据库设计涉及描述您需要跟踪的信息以及这些信息之间的关系。
一旦您创建了逻辑设计,您可以与数据库的用户验证设计是否完整和准确。他们可以确定设计是否包含必须跟踪的所有信息,以及它是否反映了与业务规则一致所必需的关系。
创建逻辑数据库设计包括以下步骤:
1. 根据您的业务要求定义您需要的表格(如在概念性设计中确定的)。
2. 确定表格之间的关系(有关更多信息,请参见“表格关系”一节)。
3. 确定每个表格的内容(列)。
4. 将表格标准化至至少第三范式(有关更多信息,请参见“标准化”一节)。
5. 确定主键(有关更多信息,请参见“键”一节)。
6. 确定每列的值。
表格关系
在关系数据库中,表格通过共享一个公共列相互关联。这个列存在于两个或多个表格中,允许您连接这些表格。有三种类型的表格关系:一对一、一对多和多对多。
一对一关系存在于一个表格的每一行与第二个表格中的一个相关行之间。例如,大学可能决定将一个教职员工分配给一个房间。因此,在特定时间内,一个房间只能分配给一个讲师。大学还可能决定一个部门只能有一个院长。因此,只有一个人可以成为一个部门的负责人。
一对多关系存在于一个表格的每一行与另一个表格中的多个相关行之间。例如,一个教师可以教授多门课程。
多对多关系存在于一个表格的一行与第二个表格中的多个相关行之间。同样,那些相关行在第一个表格中有多行。一个学生可以注册多门课程,而课程可以包含多个学生。
标准化
标准化是一种减少冗余并提高数据库稳定性的过程。标准化涉及确定特定数据属于哪个表格以及它与其他数据的关系。您的数据库设计将导致以数据为驱动,而不是以流程或应用程序为驱动的设计,从而提供更稳定的数据库实现。
当您对数据库进行标准化时,您可以消除以下列:
• 包含超过一个非原子值的列。
• 包含重复或重复的列。
• 不描述表格的列。
• 包含冗余数据的列。
• 可以从其他列派生的列。
第一范式
第一范式中的列具有以下特征:
• 它们只包含一个原子值。
• 它们不会重复。
第一范式的第一个规则是您必须将重复的列或包含多个值的列移至新表格。
标准化到第一范式的表格具有几个优点。例如,在示例数据库的计费表中,第一范式执行以下操作:
• 允许您为每个学生创建任意数量的交易,而无需添加新列。
• 允许您快速查询和排序交易数据,因为您只搜索一个列(交易号)。
• 使用磁盘空间更有效,因为不存储空列。
第二范式
当表格处于第一范式中并且仅包含提供有关表格主键的信息的列时,该表格位于第二范式中。
为了强制执行标准化的第二条规则,您必须将不依赖于当前表格的主键的列移动到新表格中。
如果一个表格包含冗余数据,那么它会违反第二范式。这可能导致不一致的数据,从而使您的数据库缺乏完整性。例如,如果一个学生更改了她的地址,那么您必须更新所有现有行以反映新地址。任何带有旧地址的行都会导致不一致的数据。
为解决这些差异,识别出在添加交易时保持不变的数据。像“学生姓名”或“街道”这样的列不属于交易,并且不依赖于主键“学生ID”,因此将此信息存储在“学生”表格中,而不是交易表格中。
标准化到第二范式的表格也具有几个优点。例如,在示例数据库的计费表中,第二范式允许您执行以下操作:
• 仅在一行中更新学生信息。
• 删除学生交易而不消除必要的学生信息。
• 使用磁盘空间更有效,因为不存储重复或冗余数据。
第三范式
当一个表格只包含独立列时,该表格处于第三范式中。
标准化的第三条规则是您必须删除可以从现有列派生的列。例如,对于一个学生,如果您已经有了出生日期列,那么您不必包含年龄列,因为您可以从出生日期计算年龄。
处于第三范式的表格只包含必要的列,因此它使用磁盘空间更有效,因为不存储不必要的数据。
总之,第一、第二和第三范式的规则规定每个列值必须完整地是主键的事实,除此之外没有其他事实。
键
ODBC键是表格的外键完整性(RI)约束所定义的列或一组列。换句话说,键或键的组合充当行数据的标识符。
有关引用完整性和键的更多信息,请参阅高级操作指南。
三、物理设计
物理数据库设计是逻辑设计的细化;它将逻辑设计映射到关系数据库管理系统。在这个阶段,您要检查用户如何访问数据库。数据库设计周期的这一步涉及确定以下类型的信息:
• 您通常将使用的数据。
• 需要为数据访问创建索引的列。
• 需要灵活性或增长空间的区域。
• 是否通过去标准化数据库来提高性能。(要去标准化您的数据库,您需要重新引入冗余以满足性能要求。)有关更多信息,请参见标准化。
如果你对此还有疑问,或者有更多关于学业辅导方面需求的话,可以添加微信号:hmkt131联系海马课堂的Joye老师哦。