Database design 为每种类型的CSV文件创建运行时数据库表
以下是全部细节 web应用程序从CSV文件创建报告 CSV文件有不同的格式 用户将能够添加新格式或添加新字段 我的客户希望我为每种类型的CSV文件创建表。。。因此,对于每种新格式,都会有一个新表。。。 我认为这是一个糟糕的设计决策。但不知道如何向我的客户解释 以下是我现在能想到的原因:Database design 为每种类型的CSV文件创建运行时数据库表,database-design,Database Design,以下是全部细节 web应用程序从CSV文件创建报告 CSV文件有不同的格式 用户将能够添加新格式或添加新字段 我的客户希望我为每种类型的CSV文件创建表。。。因此,对于每种新格式,都会有一个新表。。。 我认为这是一个糟糕的设计决策。但不知道如何向我的客户解释 以下是我现在能想到的原因: 这是一个糟糕的设计决策 一年后将有超过10000张表格,系统将变得不稳定 实现将非常耗时 维修将很困难 数据最终将变得无法管理 不可能轻松迁移到其他服务器 我的理由有效吗?你怎么认为?你能给我解释一下吗 非常感谢
非常感谢您的帮助如果您只是从CSV文件创建报告,为什么要为它创建表呢。您可以存储CSV并动态创建报告
顺便说一句,这是一个糟糕的设计决策,因为。。。“这是一个糟糕的设计决策”,这是一个很好的例子,说明了为什么业务用户不信任程序员。如果您只是从CSV文件创建报告,为什么要为它创建表。您可以存储CSV并动态创建报告
顺便说一句,这是一个糟糕的设计决策,因为。。。“这是一个糟糕的设计决策”,这是一个很好的例子,说明了为什么业务用户不信任程序员。您提供了负面信息。我认为,如果你另外提供了一个好的解决方案,你会有更多的机会
新格式多久出现一次?可能是一个表的动态变化(正如您所说,可能只是添加列)是决策吗?您提供了否定。我认为,如果你另外提供了一个好的解决方案,你会有更多的机会 新格式多久出现一次?可能是一个表的动态更改(正如您所说,可能只是添加列)是决策吗?接受您的观点:
也就是说,我不这么做的原因是:
至少有两种选择。一种是使用像MongoDB这样的NoSql数据库。它可以动态创建和更改表,而您几乎不需要任何指导。这种相对非结构化的数据正是这些数据库系统的用途。你可以考虑只是上传上传到MunGDB或类似,而你的应用程序使用传统的RDBMS。 第二种方法是使用支持虚拟表的表设计。这意味着您有一个主表保存表名,另一个保存字段,最后一个保存名称/值对关联中的数据。这条路不适合胆小的人,因为报告可能是一个难题,但会跳过所有的安全问题。接受您的观点:
也就是说,我不这么做的原因是:
至少有两种选择。一种是使用像MongoDB这样的NoSql数据库。它可以动态创建和更改表,而您几乎不需要任何指导。这种相对非结构化的数据正是这些数据库系统的用途。你可以考虑只是上传上传到MunGDB或类似,而你的应用程序使用传统的RDBMS。
第二种方法是使用支持虚拟表的表设计。这意味着您有一个主表保存表名,另一个保存字段,最后一个保存名称/值对关联中的数据。这条路不适合胆小的人,因为报告可能是一个难题,但会跳过所有的安全问题。不要混淆客户希望程序做什么,以及您实际如何实现它 他们想要你的节目