我想创建一个动态数据库
在此基础上需要作为步骤或流程..
如何通过商店查询或任何其他方式创建数据库。
我想以编程方式需要。
1)健康食谱类别表
1)BreakFast
2)Lunch
3)Dinner
4)chicken & turkey
5)Dessert
...........
2)早餐桌....
- orange and vanilla protein oatmeal
-chili-chocolote protein oatmeal
.....
3) - 橙子和香草蛋白燕麦片
-Ingredients
-directions
先谢谢你...
答案 0 :(得分:1)
我知道你想使用SQLite。运行SQLite客户端(Sqliteman或类似),创建一个新数据库并将以下脚本作为脚本运行:
create table category (
category_id integer not null primary key,
name varchar(80) not null
);
create table meal (
meal_id integer not null primary key,
name varchar(80) not null,
directions text
);
create table meal_category (
meal_category_id integer primary key,
meal_id integer not null references meal,
category_id integer not null references category
);
然后您可以插入如下数据:
insert into category (category_id, name) values (1, 'Breakfast');
insert into category (category_id, name) values (2, 'Lunch');
insert into meal (meal_id, name) values (1, 'Orange and vanilla protein oatmeal');
insert into meal (meal_id, name) values (2, 'Chili-chocolote protein oatmeal');
insert into meal_category (meal_category_id, meal_id, category_id) values (1, 1, 1); -- meal 1 is a breakfast
insert into meal_category (meal_category_id, meal_id, category_id) values (2, 2, 1); -- meal 2 is a breakfast
并像这样查询:
select m.name || ' is ' || c.name from meal m
join meal_category mc on m.meal_id = mc.meal_id
join category c on mc.category_id = c.category_id;
这是最简单的设计。您可能想要添加其他字段和一些索引 - 请查看有关SQL如何操作的教程。无论如何,上面的内容将为您提供一个有效的SQLite数据库。
您可能需要表"成分"这将保存任何可用于食谱的任何数据(鸡蛋,面粉,水等)和" meal_ingredient"这将告诉我们一餐中是否含有一种成分。配方文本可以保存在meal.recipe字段中。
请注意,设计数据库的方法有很多种,通常您应该提供系统的详细规范,以便使用数据库进行良好的设计。
如果你认为数据库将用于什么,你想从中获得什么样的数据然后阅读SQL并自己做一些实验,那就最好了。例如,如果您希望能够寻找任何使用面粉的餐点,最好将食材放在单独的餐桌上,与餐点相关联 - 就像一个类别与餐点相关,它就是' s称为"多对多的关系"。但是如果你不关心这样的功能,可以将食谱和成分列表放在meal.recipe字段中。数据库的设计应该反映您的需求以及您希望拥有模型的现实部分。