2013-05-05 113 views
0

我將使用MySQL作爲Java程序的數據庫。 Java程序將包含一個肌肉和鍛鍊鍛鍊目錄。 爲了存儲關於肌肉的信息,我製作了一張名爲「肌肉」的表格。 該表中的主鍵應該是肌肉的名稱。 而且它應該包含以下數據: 哪位身體部分肌肉屬於 哪位muscleheads它包含 。其中運動激活它 哪位肌肉都涉及到它MySQL創建第一張表

主鍵,我想一些類型的字符串值,我會猜測Varchar()是我正在尋找,但MySQL不讓我選擇它的主鍵。現在我意識到我可以選擇多少種類型,這是最佳選擇,我有點困惑。 我猜想一個名爲「Text」或「Tinytext」的文字會是最優的,你能證實這是一個正確的選擇嗎?

+0

跌落'[java的]',因爲它不出現標記來成爲Java特定。 – 2013-05-05 10:38:05

+0

可能重複[varchar()主鍵或int主鍵?](http://stackoverflow.com/questions/3815070/varchar-primary-key-or-int-primary-key) – BobTheBuilder 2013-05-05 10:38:52

+0

使用整數。它效率更高 – Randy 2013-05-05 10:56:44

回答

0

首先,你的問題並沒有真正提供足夠的信息來提供一個真正的數據模型,但是開始時你不希望肌肉名稱或其他字符串值作爲主鍵。爲了簡單起見,並且知道您在此表中沒有超過1000條記錄。我會從這開始。

1表中所有主要肌肉都由Int唯一標識,您可以在建立數據時指定這些主肌肉,這就是表1中的PK。我還將在此表中具有一個肌肉組,這是表格中的FK與所有包含Muscleheads的肌肉羣。

1表中每個與PK/FK相關的每個Musclehead與第一個表相關,並且還包含正文部分信息。

1表與第一張表中與Muscleheads和ultimatley肌肉有關的運動信息。憑藉PK關係。

這個想法是從一個高水平的肌肉基礎開始。由於肌肉羣是一種收集和分組這些肌肉的方法,因此您需要該表中的能力。然後,無論何時達到1:n關係,基本上都需要另一個與高級基本表具有主鍵關係的表。

因此 - 肌肉:Muscleheads或Muscleheads:鍛鍊; Tibial activitys

+0

謝謝,這幫助我理解了關於使用整數主鍵的部分,我會嘗試按照你的建議做到:) – user2351675 2013-05-05 14:31:07