代码之家  ›  专栏  ›  技术社区  ›  user113476

是否为由一个属性分隔的实体创建两个单独的表?

  •  0
  • user113476  · 技术社区  · 15 年前

    假设我有一张叫 Apple_Jobs .

    它定义了来自 Apple_Server .

    现在假设我有另一个服务器 Orange_Server

    我应该

    • 修改现有 Apple工作 具有名为 Origin 定义工作的来源- AppleServer OrangeServer .

    • 分开 Orange_Jobs 表。

    使用第一个选项,我将需要修改某些应用程序现有的查询和存储过程,以仅包括 苹果酱 源站作业,使用第二个选项,我不需要修改任何存储过程。

    每个表的结构都是相同的。

    2 回复  |  直到 15 年前
        1
  •  2
  •   JonH    15 年前

    如果您发现自己正在创建名为 苹果酱 橘子酒 皮尔斯

    甚至是庞格人的服务器

    您有一个严重的问题,要解决它,请创建一个名为type的字段,该字段具有可用的值,如“apple”、“orange”、“pear”和臭名昭著的“pomogranite”。

    不要一直增加表格,这会让你的生活陷入困境。 如果需要特定的水果服务器,则查询一个表:

    SELECT blah FROM MyTable WHERE Type="Orange"
    
        2
  •  1
  •   Kon    15 年前

    始终追求最大化 database normalization (当然,在有意义的地方)。在您的情况下,我建议您创建一个 ServerType (look-up/meta)表,其中包含服务器类型的列表(例如,橙色、苹果、西瓜等)。然后添加一个 ServerTypeID 列到您 Jobs 表,它将是 服务器类型 表。