想要规范化和优化此表格'table1'真的很感谢。我现在可以执行以下查询:关于表格标准化的帮助
SELECT user AS users
FROM table1
WHERE project='Project B'
AND doctype='DocType B'
得到我想要的东西,但我觉得它不是很有效,想就如何改善帮助(解释)。
最后我想实现以下目标:
1)打破这个1台到多个表,便于鉴于“项目”和“DOCTYPE”维护
2)的,退还所有用户
表1:
project doctype user
------- ------- ----
Project A DocType A User A
Project A DocType A User B
Project A DocType A User C
Project A DocType A User D
Project A DocType B User A
Project A DocType B User C
Project A DocType B User D
Project A DocType C User B
Project A DocType C User D
Project B DocType A User B
Project B DocType A User E
Project B DocType A User F
Project B DocType A User G
Project B DocType B User A
Project B DocType B User C
Project B DocType B User E
Project B DocType B User H
Project B DocType C User A
Project B DocType C User I
请让我知道是否需要更多信息来帮助。 谢谢。
我对数据库了解不多,但对我来说已经很不错了。你的表已经是BCNF了,你的查询非常简单。 – Owen
@Owen:表格看起来像是“全部关键”。所以,5NF。 (没有非关键依赖关系,因为没有非关键列。) –
@Catcall查看数据看起来像User + DocType-> Project,但这可能是巧合。 – Owen