2012-07-31 66 views
0

我正在做一個遊戲,到目前爲止我有一個成員表設置與工作登錄/註冊。該遊戲將成爲用戶選擇一個國家的2人遊戲。數據庫結構將需要跟蹤該國的國家,州或省,人口。SQL數據庫結構的2人遊戲

我所做的是創建一個遊戲數據庫與會員表,大廳/聊天表和國家表。每個國家都有它自己的數據庫,因爲我需要跟蹤我說過的那些事情(該國的州或省,人口等)

什麼是構建數據庫的最有效方式?

+0

一般說明:http://stackoverflow.com/questions/539324/what-is-a-good-kiss-description-of-boyce-codd-normal-form – 2012-07-31 19:29:12

回答

3

爲各省,專欄'國家','省','人口'創建一張表。然後,您可以查詢一個國家/地區的所有省份(如您所期望的select province where country = "Narnia"),或者獲取同一個表格中使用不同子句的國家/地區列表(select distinct country from countries)。

是的,你的每一行都有重複的數據 - 也就是說你會爲['narnia','north']和['narnia','south']創建2行,但這就是大量數據的結構在數據庫中。

如果拆分你的表成2,一個爲國名和另一個用於國家數據,你仍然有這樣的結構,而不是隻在國名,你將有一個國家的ID指排在另一張桌子上。對於「複雜」的結構來說,這是一條可行的路線,但對於這樣簡單的東西,只需將國家名稱放在所有國家/地區的數據表中即可。

+0

謝謝,這正是我想知道的。 – RapsFan1981 2012-07-31 19:42:06

+0

我只是想補充這個幫助。我一直在想這個國家不得不成爲桌上的所有人。感謝您選擇「哪個國家=」納尼亞「的省份」。這意味着將各省列爲國家列。我真的不得不以不同的方式思考數據庫。 :) – RapsFan1981 2012-07-31 21:19:49