2014-11-08 83 views
0

我想创建一个动态数据库如何创建动态数据库?

与需要作为步或流在此基础上..

我怎样才能通过存储查询或任何其他方式这个由创建数据库。

我想要一个编程。

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 

由于所有提前...

回答

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.recipe字段中。

请注意,有不同的方法来设计一个数据库,通常你应该提供一个详细的系统规范,它将使用数据库来有一个好的设计。

如果您认为数据库将用于什么样的数据,您希望从中获取什么样的数据,然后在SQL上读取并自行进行一些实验,那么最好。例如,如果您想要查找任何使用面粉的餐点,最好将食材放在单独的餐桌上,并与餐点相关联 - 就像一个类别与餐点相关联,这就是所谓的“多对多关系”。但是,如果你不关心这样的功能,食谱和配料列表可以放在meal.recipe字段中。数据库的设计应该反映出你的需求以及你想要建立模型的现实部分。

+0

是的非常感谢。 – Ghanshyam 2014-11-10 09:01:37

+0

也请在mysql中说明一下流程! – Ghanshyam 2014-11-10 09:02:57

+0

你的问题是专门针对sqlite的。上面的代码是相当普遍的sql,并可以在mysql中工作,也许有一些小调音。你需要检查数据库引擎的教程,花一点时间在他们身上,否则你不会理解它是如何工作的,并且不能使用它。请把你的一些时间和精力投入到这项工作中:-) – BartoszGo 2014-11-10 12:00:41

相关问题