给定这些 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、日期和程序。
作业不会完全符合现实,但这似乎还远远不够,您应该与您的导师核实一下您是否在正确的轨道上。
。
以下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、日期和程序。
作业不会完全符合现实,但这似乎还远远不够,您应该与您的导师核实一下您是否在正确的轨道上。
。