首页 > 解决方案 > 我有一张桌子,其中整件事是关键(三个要素)我不确定它是最佳的吗?

问题描述

可以说我有以下表格:

任务表:

Task ID, Task Name, Capability ID

能力表:

Capability ID, Capability Name

应用表:

App ID, App Name, App File

组件表:

Component ID, Model, Manufacturer, Revision

在哪里:

例如,我们有 task1,它使用了能力 1。能力 1 要求:

所以为了解决这个问题,我制作了一个链接表,如下所示:

能力部分:

Capability ID, Component ID, App ID

所有三列都作为主键。感觉这需要进一步拆分,但我不知道该怎么做(或者根本不需要这样做)。我想我已经满足了数据库范式 1-3。

这是正确的(就数据库规范化而言)还是我可以做一些进一步的优化?

标签: databasedatabase-design

解决方案


根据您的描述,您在 Capability、App 和 Component 之间建立了多对多的关系。鉴于此,据我所知,您描述的三列链接表是完全合理的。


推荐阅读