Sql 更好的数据库结构
我正在为WP8开发应用程序,可以存储十几种预定义类型的文档(例如护照、保险…)。 所以,我有一个包含如下列的表:Sql 更好的数据库结构,sql,windows-phone-8,Sql,Windows Phone 8,我正在为WP8开发应用程序,可以存储十几种预定义类型的文档(例如护照、保险…)。 所以,我有一个包含如下列的表:int-id、字符串名称、int-order 问题在于,对于不同的文档类型,其他字段并不相同 对于passport,它将是:number int,照片位图 保险:number int,持有人字符串 解决该问题的第一种方法是:将所有数据存储在XML列中。 第二:将每种类型存储在专用表中(我担心Linq查询将非常庞大,从10个不同的表中获取数据的速度非常慢)。 第三:将所有元存储在另一个表
int-id、字符串名称、int-order
问题在于,对于不同的文档类型,其他字段并不相同
对于passport,它将是:number int,照片位图
保险:number int,持有人字符串
解决该问题的第一种方法是:将所有数据存储在XML列中。
第二:将每种类型存储在专用表中(我担心Linq查询将非常庞大,从10个不同的表中获取数据的速度非常慢)。
第三:将所有元存储在另一个表中(例如,表字段类型
,字段到文档
,字段值
)
我认为最快的方法当然是XML。你觉得怎么样?
将位图存储在XML中如何,或者我需要创建另一个专门用于存储位图的表,然后将它们与来自XML的引用同步?我将为一个主表文档建模,然后为每种文档类型建模一个小表及其特性 在文档中,您将拥有所有公共字段以及文档类型 在小表中,主表的ID和此类文档特有的字段 检索文档时,您必须对外键执行联接,但应快速且简单
其他选项,我认为只有一个表,它有很多空的字段,这取决于文档类型的重构,并将其他文档特定的字段保留为NULL。如果您使用的是面向对象的语言,那么就选择第一种。更简单。
我认为最快的方法当然是XML。不,我的意思是实施最快