面向对象的数据库设计

时间:2012-12-11 17:24:08

标签: mysql database-design

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

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

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

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

'tests'表将保存有关每个测试的信息。

'提交'表将另外两个表绑在一起。当用户参加测试时,您将向“提交”表中添加用户ID,测试ID和时间戳。通过这样做,您可以查询哪些用户已经进行了哪些测试以及在哪些时间进行测试。

这有意义吗?

答案 1 :(得分:1)

MySQL是relational database。这意味着对象表示为表。这些表与键值相关。

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

Jerad的Submission表定义了User表和Test表之间的关系。用户可以进行多个测试,并且可以由多个用户进行测试。