【发布时间】:2011-10-01 03:19:15
【问题描述】:
我们有一个第 3 方软件,我被要求为其创建一个扩展程序。该扩展将处理当前软件中存在的数据,并包含一些附加数据。
现有数据极度非规范化。我将使用的大部分数据(大约 4-5 个不同的实体)都存在于一个表中。我需要为这些实体中的大多数添加额外的字段。
我看到了两种方法:
-
为新字段创建一个新表,与现有表 1:1 匹配并使用它们使用的相同非规范化样式
优点:适合现有的非规范化数据库结构,并且易于创建
缺点:非常非规范化,而且我有点痴迷于规范化我的数据库。当前表已经有超过 50 列,它应该真正分成 4-5 个不同的表。
我也不认为我可以轻松地将 EF 与当前的数据库结构(我使用数据库的首选方式)一起使用,并且必须在代码中手动创建数据模型,而不是使用 EF 来生成它们
-
创建一组全新的表并使用触发器来同步表之间的数据
优点:可以按照我想要的方式创建表,并且可以使用 EF 处理数据库操作,并为我生成数据模型
缺点:需要使用触发器与现有表同步数据
你认为哪个更好?
【问题讨论】:
标签: database sql-server-2005 entity-framework database-design