给定这些 FD - 工作人员、患者、日期、时间、手术,如何将此 UNF table 标准化为 3NF

How to normalize this UNF table to 3NF given these FDs - staff, patient, date, time, surgery

以下table未归一化:

假设存在以下函数依赖关系,我们将如何规范化此 table?:

我似乎找不到一种方法来规范化 table 同时遵循所有的函数依赖性。我有以下内容(在 Oracle SQL Developer Data Modeler 中建模):

我该怎么做才能完全规范化原始 table?

所以维基百科的函数依赖条目包括这样的解释:

a dependency FD: X → Y means that the values of Y are determined by the values of X. Two tuples sharing the same values of X will necessarily have the same values of Y.

因此 FD1 表示,如果您知道预约日期时间和工作人员,则可以确定个别患者,同样对于 FD5,如果您知道预约日期和患者,则可以确定工作人员。

FD2 很明显,员工 ID 需要映射到个别牙医。这就是为什么你有身份证。

然后就变得奇怪了。 FD3 表示您可以根据患者编号确定单个程序。因此,如果您需要遵守这一点,则可以对患者实体进行手术。当然,这是愚蠢的。

FD4 也很令人费解,因为它说一名工作人员在给定的一天只能执行一种类型的程序。当你在现实生活中创建数据模型时,这是一种你不会尝试通过 table 设计来强制执行的业务规则,你会使用约束,或者使用应用程序代码来强制执行它。如果你确实用 tables 强制执行此操作,你会得到一个奇怪的交集 table,其中包含员工 ID、日期和程序。

作业不会完全符合现实,但这似乎还远远不够,您应该与您的导师核实一下您是否在正确的轨道上。