2013-05-05 82 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