数据建模:设计数据结构

当您使用应用存储或查看数据时,设计的一个重要部分是数据结构。 不仅要考虑如何在一个特定应用或屏幕中使用数据,还要考虑其他人将如何使用数据。 参考您的角色、任务、业务流程和目标,将帮助您定义要存储的数据以及如何构造数据。

提示

虽然是为 Access 数据库撰写的,但本文内容涉及数据设计基础,对数据建模原理作了很好的一般讨论:数据库设计基础

我们来以下面的支出报表为例。

支出报表示例。

您看到支出报表的主要部分,其中包含员工姓名和部门详细信息。 在主要部分下方,您看到每个购买项目的多行说明。 我们称这些内容为子项目。 子项目的结构与支出报表的主要部分不同。 因此,可以说,对于每个支出报表,都有几个子项目。

要将此类数据存储到数据库,我们需要在数据库设计中对数据结构进行建模。

一对多 (1:N) 数据结构

这是前面示例中描述的数据结构类型。 支出报表的主要部分链接到多个子项目。 (您也可以从子项目的角度查看关系:许多子项目到一个支出报表 (N:1)。)

多对多 (N:N) 数据结构

多对多数据结构是一种特殊类型。 这针对多个记录可以与多组其他记录相关联的情况。 您的业务合作伙伴网络就是一个很好的例子。 您有多个业务合作伙伴(客户和供应商),这些业务合作伙伴还与您的多个同行合作。

各行连接的多个用户。

数据建模示例

系统可能会进行几种类型的建模。 我们来看几个示例。

示例 1:休息时间审批请求

休息时间审批请求数据结构示例。

这个简单示例显示了两组数据。 一个是员工,另一个是休息时间请求。 因为每个员工都会提交多个请求,所以这里的关系是一对多,其中“一”是员工,“多”是请求。 通过将员工编号作为通用字段(也称为密钥),将员工数据和休息时间请求数据相互关联。

示例 2:购买审批

购买审批请求数据结构示例。

在这里,数据结构看起来非常复杂,但与本文开头讨论的支出报表示例非常相似。 每个供应商或提供商与多个采购订单关联。 每个员工负责多个采购订单。 因此,这两组数据都具有一对多数据结构。

由于员工可能并不总是使用同一个供应商或提供商,因此供应商由多个员工使用,每个员工与多个供应商合作。 因此,员工与供应商之间的关系是多对多。

示例 3:支出报告

支出报告数据结构示例。

备注

您能告诉我们您的文档语言首选项吗? 进行简短调查。(请注意,此调查是英文版调查)

此调查大约需要七分钟。 不会收集个人数据(隐私声明)。