小编Bot*_*ázs的帖子

在数据库设计中将 N:N 关系表示为函数依赖

作为一名软件开发人员,我在设计或多或少规范化的数据库模式方面已经有一些经验,但我之前没有接受过任何正式的培训。这个学期,我参加了大学关于数据库的课程。我们正在学习设计基于关系代数的模式的正式方法。首先,我们收集要存储的属性:

书店<TITLE、AUTHOR、CATEGORY、YEAR、PUBLISHER、PUBLISHER_ADDRESS>

然后我们找到属性之间的函数依赖:

f:{ TITLE, AUTHOR } -> { CATEGORY, YEAR, PUBLISHER, PUBLISHER_ADDRESS }
f出版商:{ PUBLISHER } -> { PUBLISHER_ADDRESS }

之后我们可以规范化这个模式。(为简单起见,我假设一本书仅由书名和作者定义,不会存储两个版本或同一版本的两份副本。)

现在当一本书可以有多个类别时会发生什么?我如何用依赖关系表示这种关系?类别不能再是次要属性,但如果它是主要属性,我该如何进行?

这定义了什么?

{ 标题、作者、类别} -> ???

我们被告知空集不能位于依赖项的右侧。

database-design

6
推荐指数
1
解决办法
1496
查看次数

标签 统计

database-design ×1