更好的数据库结构

时间:2013-08-26 13:34:58

标签: sql windows-phone-8

我正在为WP8开发应用程序,可以存储十几种预定义类型的文档(例如护照,保险......)。 所以,我的表格包含这样的列:int id, string name, int order

问题是不同文档类型的其他字段不相同。

对于护照,它将是:number int, photo Bitmap

保险:number int, holder string

解决该问题的第一种方法:将所有数据存储在XML列中。 第二:将每种类型存储在专用表中(我担心Linq查询将非常庞大且从10个不同的表中获取数据的速度很慢)。 第三:将所有元存储在另一个表中(例如表field_typesfield_to_docsfield_values)。

我认为最快的方式当然是XML。你怎么看待这件事? 如何在XML中存储位图,或者我需要创建另一个专门用于存储位图的表而不是同步它们将从XML引用?

1 个答案:

答案 0 :(得分:0)

我为主表Document建模,然后为每种文档类型建立一个小表,并附有其特殊性。

在DOCUMENT中,您将拥有所有常用字段和文档类型 在小表中,主表的ID和此类文档的唯一字段。

检索文档时,您必须对外键执行JOIN,但应该快速而简单。

我考虑的其他选项只有一个包含大量无效字段的表,并且取决于重建一个或另一个的文档类型,并将其他特定于文档的字段保留为null。如果您使用的是面向对象语言,那么请选择第一个语言。这更容易。