数据建模:设计数据结构
当您使用应用存储或查看数据时,设计的一个重要部分是数据结构。 不仅要考虑如何在一个特定应用或屏幕中使用数据,还要考虑其他人将如何使用数据。 参考您的角色、任务、业务流程和目标,将帮助您定义要存储的数据以及如何构造数据。
提示
虽然是为 Access 数据库撰写的,但本文内容涉及数据设计基础,对数据建模原理作了很好的一般讨论:数据库设计基础。
我们来以下面的支出报表为例。
您看到支出报表的主要部分,其中包含员工姓名和部门详细信息。 在主要部分下方,您看到每个购买项目的多行说明。 我们称这些内容为子项目。 子项目的结构与支出报表的主要部分不同。 因此,可以说,对于每个支出报表,都有几个子项目。
要将此类数据存储到数据库,我们需要在数据库设计中对数据结构进行建模。
一对多 (1:N) 数据结构
这是前面示例中描述的数据结构类型。 支出报表的主要部分链接到多个子项目。 (您也可以从子项目的角度查看关系:许多子项目到一个支出报表 (N:1)。)
多对多 (N:N) 数据结构
多对多数据结构是一种特殊类型。 这针对多个记录可以与多组其他记录相关联的情况。 您的业务合作伙伴网络就是一个很好的例子。 您有多个业务合作伙伴(客户和供应商),这些业务合作伙伴还与您的多个同行合作。
数据建模示例
系统可能会进行几种类型的建模。 我们来看几个示例。
示例 1:休息时间审批请求
这个简单示例显示了两组数据。 一个是员工,另一个是休息时间请求。 因为每个员工都会提交多个请求,所以这里的关系是一对多,其中“一”是员工,“多”是请求。 通过将员工编号作为通用字段(也称为密钥),将员工数据和休息时间请求数据相互关联。
示例 2:购买审批
在这里,数据结构看起来非常复杂,但与本文开头讨论的支出报表示例非常相似。 每个供应商或提供商与多个采购订单关联。 每个员工负责多个采购订单。 因此,这两组数据都具有一对多数据结构。
由于员工可能并不总是使用同一个供应商或提供商,因此供应商由多个员工使用,每个员工与多个供应商合作。 因此,员工与供应商之间的关系是多对多。