※ 引述《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