2014-11-08 118 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

相關問題