2009-10-23 46 views
0

假設我正在製作一個英語課程。我想以這種方式存儲數據:MYSQL:如何根據同一個表中的其他3個值存儲/檢索值?

ID  Object 
0  Present Tense 
1  1st person singular 
2  To Be 
3  I am 

如何根據ID 0-2檢索ID 3的值?我能想到的唯一的事情是:

ID  Object  FromIDs 
3  I am  0,1,2 

的問題,這是我必須做一個全文索引,我認爲這表是會得到相當大。如果可能的話,我不希望單獨的表格用於不同類型的對象,因爲我不知道我最終會用這些對象做什麼,我希望儘可能多的靈活性。我可以有第二張表將ID與對方相關聯,但我只是成功地將一列中的列與列中的列關聯起來。

在此先感謝!

+0

我似乎沒有得到它 - 你真的想要在同一個領域('對象')存儲不同種類的數據嗎? – RSeidelsohn 2009-10-23 15:54:42

+0

他們都互相交流。例如,我不想第一人稱單數,我真的想擁有「我」,這只是另一個詞。這是一個最簡單的單詞表,單詞將以不同的方式相互關聯。我試圖儘可能簡單地捕捉複雜性。 – Stephane 2009-10-23 17:37:05

回答

0

您需要將數據分解成不同的表格。有一個表,存儲「緊張」 和另一個存儲類型「第一人稱單數」。

0

你能解釋一下你的問題嗎?從你所擁有的東西我不確定你是否想要走下Entity-Attribute-Value的路徑,或者更可能的是關係數據庫不適合你的問題;你可能需要使用某種樹形數據結構。如果你更新,我可以嘗試提供更好的答案。

+0

基本問題是,在我所做的事情中,屬性和價值之間沒有區別。有些值只是值,某些屬性只是屬性,但大多數值是屬性,反之亦然。例如,「Present」既可以是一種時態,也可以是一種我可能想以不同方式與之相關的詞。我試圖通過靈活而簡單的方式設計數據庫來避免數據輸入的複雜性。 – Stephane 2009-10-23 17:41:01

+0

哦,我想我正在尋找一個樹結構,但能夠讓一個分支的葉子成爲其他地方的主分支。 – Stephane 2009-10-23 18:02:26

0

我決定要做的是把我所想的和我的想法結合起來。我將擁有一個自動遞增並複製到其他表的主列表。這樣,我就可以將不同詞類的屬性分開,但仍然擁有與其他所有內容相關的所有內容。

0

這真的不適合關係型數據庫。對不起,你正試圖用螺絲刀開一個釘子。

當您在屬性類型和值之間沒有區別時,您正在建模語義數據。這種數據建模的開放標準是RDF

0

我的解決方案(如果你真的不想分手錶)

**ParentChildTable** 
ParentID ChildID 
0  3 
1  3 
2  3 

但是很好,在一個表中,現在你有: 型的緊張 型的人(第1,第3位。 ...) -values 所以我認爲它會更好地分裂,我可以看到.. .well,現在,3表:值,時態,personetypes和關係表(價值/時間/人的價值)

相關問題