代码之家  ›  专栏  ›  技术社区  ›  Zampanò

考虑到这些FDs-员工、患者、日期、时间、手术,如何将此UNF表标准化为3NF

  •  0
  • Zampanò  · 技术社区  · 8 年前

    下表未规范化: UNF Table

    假设存在以下功能依赖关系,我们将如何规范化此表

    Functional Dependencies

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

    enter image description here

    如何完全规范化原始表?

    1 回复  |  直到 5 年前
        1
  •  1
  •   Nathan Hughes    8 年前

    因此,维基百科中的函数依赖项包括以下解释:

    依赖项FD:X–Y意味着Y的值由X的值决定。共享相同X值的两个元组必然具有相同的Y值。

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

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

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

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

    作业不是完全现实的,但这似乎离你的指导老师已经足够远了,你应该检查一下你是否在正确的轨道上。

    .