我有包含用户和带有评级的文本的数据。我需要将其存储到数据库中。我使用 MySQL 作为数据库,并使用 java、IDE netbeans。存储这些后,我只需读取并插入新用户的数据。
User: a
Data: what are you doing, class: bad
yes, this is me, class good
how are you?, class bad
User: b
Data: what are you doing, class: good
yes, this is me, class bad
how are you?, class bad
如何将这些存储到 MySQL (Xampp) 或任何其他数据库可以做到这一点?谢谢您
最佳答案
您应该了解规范化。通过适当的规范化,您将至少有两个表:一个用户表和一个数据表。您的数据表将如下所示:
user | data | rating
_________________________________________
a | What are you doing | bad
a | yes, this is me | good
a | how are you? | bad
b | what are you doing | good
b | yes, this is me | bad
b | how are you? | bad
可选择实现的其他事项:
- 数据表还可以有一个唯一的(自动增量)ID 用作主键
- 您可以使用其他用户信息(例如名字、姓氏等)创建用户表。此处的主键(a、b)将链接到数据表中的外键。我在这里使用 a、b,因为这就是您所使用的,但如果它们当前没有用户 ID,您也可以使用 auto_increment 字段。
如果所有用户都具有完全相同的短语(或许多相同的短语),那么更好的结构是使用三个表:用户表、短语表和评级表。
在这种情况下,短语表将如下所示:
phrase_id | phrase
________________________________
1 | What are you doing
2 | yes, this is me
3 | how are you?
并且评级表将包含 user_id 和phrase_id 的复合主键,这两者都是对用户和短语表的外键引用。这将使您的评级表如下所示:
user_id | phrase_id | rating
_________________________________________
a | 1 | bad
a | 2 | good
a | 3 | bad
b | 1 | good
b | 2 | bad
b | 3 | bad
关于java - 如何在MySQL中为每个用户存储多个数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30823998/