我正在开发一个餐厅的Android菜单应用程序。它应该只显示每个类别的类别和项目用于显示目的。我希望他们随时编辑类别和项目。Android SQLite数据库设计
SQLite数据库是我目前使用的选项,但是我遇到了问题。例如,早餐,沙拉,开胃菜等。都在sql表中。然后,还有另一个用于早餐项目的sql表格,另一个用于沙拉的项目等。每个项目都会包含图片,标题和价格。
现在,假设他们可以在类别表中添加一个新类别,那么该类别的商品表格如何?它怎么能自动添加?有没有更好的方法去解决这个问题?
我正在开发一个餐厅的Android菜单应用程序。它应该只显示每个类别的类别和项目用于显示目的。我希望他们随时编辑类别和项目。Android SQLite数据库设计
SQLite数据库是我目前使用的选项,但是我遇到了问题。例如,早餐,沙拉,开胃菜等。都在sql表中。然后,还有另一个用于早餐项目的sql表格,另一个用于沙拉的项目等。每个项目都会包含图片,标题和价格。
现在,假设他们可以在类别表中添加一个新类别,那么该类别的商品表格如何?它怎么能自动添加?有没有更好的方法去解决这个问题?
你不需要每个类别的表。
两个表 - 类别和项目。 Items表中保存了foreign key。
类别
_id | Name
----| ------
1 | Breakfast
2 | Lunch
3 | Dinner
项目
_id | name | cat_id | price
--- | --------- | ------ | -----
1 | Bagels | 1 | 1.00
2 | Salmon | 3 | 14.99
例子查询
要查找所有晚餐项目,
SELECT name,price from Items where cat_id = 3;
^h ow菜单上的很多午餐项目
SELECT COUNT(*) from Items WHERE cat_id = 2;
谢谢,这样更加优雅:) – fullMoon
我想这个问题(假设我理解正确的话),这些表型号:
Categories table with columns - id, name, (any additional you need)
CategoryItems table with columns - id, categoryId, name, (any additional you need)
的categoryId是一个FK的分类表。这样你的物品总是会回到他们所属的适当类别。您需要做的就是确保当有人添加新类别时,在添加新项目时,您应该将每个新项目与类别标识一起填充。
希望这会有所帮助!
为什么每个类别都有自己的表? – Stefan
每个类别都有自己的表? – njzk2
你会如何模拟Java中的对象?如果你能弄清楚,那么Realm可能是更好的选择。 https://realm.io/docs/java/latest/ –