-2

我是数据库设计领域的新手,所以我有一些非常基本的问题。我想创建一个数据库,每个人都可以参加零次或多次测试。每个测试都有一个描述、一个分数和一个与之相关的日期。来自面向对象的背景,这听起来微不足道,但是我在使用 mySQL(或任何其他数据库语言/平台)找到类似场景的任何提及时遇到了一些麻烦。

这里的任何帮助将不胜感激。

4

2 回答 2

1

创建三个表:用户、测试、提交。

“用户”表将保存有关每个人的信息。

“测试”表将保存有关每个测试的信息。

'submissions' 表会将其他两个表联系在一起。当用户参加测试时,您需要将用户 ID、测试 ID 和时间戳添加到“提交”表中。通过这样做,您可以查询哪些用户在什么时间参加了哪些测试。

这有意义吗?

于 2012-12-11T17:31:22.953 回答
1

MySQL 是一个关系数据库。这意味着对象被表示为表格。这些表通过键值关联。

Jerad 的回答给出了 Person 和 Test 对象的关系表示的细节。关键值是用户 ID 和测试 ID。在关系数据库中,对象的实例(表中的行)由键值标识。

Jerad 的 Submission 表定义了 User 表和 Test 表之间的关系。一个用户可以参加多个测试,一个测试可以由多个用户参加。

于 2012-12-11T17:41:38.723 回答