看板 AndroidDev 關於我們 聯絡資訊
※ 引述《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