我不知道如何創建這樣的數據庫 例如我有很多項目類別 而我有人表,他們擁有一些項目。Sql-server如何存儲數據庫與這種關係
果實表:
ID項
1蘋果
2葡萄
3櫻桃
小吃表:
ID項
1芯片
2熱狗
Person表
ID名稱
1詹姆
2傑克
我要創造這樣
詹姆斯有蘋果,芯片 傑克有蘋果,熱狗
所以,請建議我一些方法來創建這個數據庫
非常感謝您的任何答案
我不知道如何創建這樣的數據庫 例如我有很多項目類別 而我有人表,他們擁有一些項目。Sql-server如何存儲數據庫與這種關係
果實表:
ID項
1蘋果
2葡萄
3櫻桃
小吃表:
ID項
1芯片
2熱狗
Person表
ID名稱
1詹姆
2傑克
我要創造這樣
詹姆斯有蘋果,芯片 傑克有蘋果,熱狗
所以,請建議我一些方法來創建這個數據庫
非常感謝您的任何答案
這是多對多的關係(一個人可以有多個項目,每個項目可以由多個人擁有)。但首先,我不認爲有必要有兩個小吃和水果表。你最好將它們合併並添加'type'。就像這樣:
create table Food (
id int,
item varchar(255),
typeid int
);
create table FoodType (
id int,
type varchar(255)
);
然後,你就必須添加中間表用於存儲個人和食物的id:
create table FoodPerson (
PersonId int,
FoodId int
);
樣品從這種結構選擇是:
select
p.Name, f.Item, t.Type
from Person p
join FoodPerson fp
on p.id=fp.personid
join Food f
on f.id=fp.foodid
join FoodType t
on t.id=f.typeid
我認爲弗裏克是對的。
否則您必須創建另外兩張表,如PersonFruit和Personsnack。 但如果你的類型(如蔬菜)增加一個這樣的表。
所以我認爲我去與frikozoid答案。