作者lovelycateye (我还想要更多力量)
看板AndroidDev
标题Re: [问题] sqlite和xml的选择~
时间Thu Dec 6 22:52:52 2012
※ 引述《bluesnow4425 (残)》之铭言:
: 我在开发的APP含有一些资料 现在我面临一个难题
: 我一开始开发的时候是直接用xml来写(比较省时)
: 但是因为有些资料上是关联的 所以我一直很犹豫要换成sqlite
: 但是我稍微看了sqlite的介绍
: 发现他当然不如sql或mysql这麽方便
: 主要问题在於sqlite似乎没办法删除栏位
: 而我的功能又包含需要使用者可能需要常常新增一个"只属於一笔资料的栏位"
: 比如说A资料具有"形状"属性 但B~Z资料并不需要
: 诸如此类的情形(但A~Z资料还是具有一些共同属性)
: 而使用者可能也需要把"形状"这个属性删掉...
: 这时候我就得把整个资料表drop掉(因为sqlite好像只能整个drop建一个新的?)
: 当然也可以为每笔资料新建一个资料表 但这样太不实际了
: 而且每次显示都得抓出两个表
: 当然XML的问题就是速度比较慢
: 还要避免流水号的错误(资料库因为有ID属性应该比较没有这个问题)
: 不过我的资料都有避免使用三层以上的结构
: 尽量以属性来代替
: 请问这样的状况我还要改用sqlite吗?
我没去仔细查,不过可以新增栏位就可以删除栏位才对吧?有错请指正。
虽然 DB Schema 这不是这个版的范围,而且我不确定有没有更好解
不过我提供一下我想到如果不能删的可能做法
表格 Employees(共有的资料栏位)
栏位 emp_id, name, address
1 Mary NY
2 John Taipei
3 Mike LA
表格 Metadatas(放特殊属性)如
栏位 emp_id, meta_name, meta_value
1 title boss
1 gender female
2 weight 98
2 title RD
3 height 183
如要查 title 为 RD 的就先下
SELECT * FROM Metadatas WHERE meta_name = 'title' and meta_value = 'RD';
取得ID再回头查Employees,也就是做两次Query或是做SubQuery就可以查出要查的才对
请高手尽量鞭我。
--
儿:台湾为何没在过万圣节?
父:傻孩子…台湾天天都是万圣节啊~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.85.82.103