Mathematical
Mathematical

Reputation: 49

Database Design/ERD - Quiz Engine

I've been using this site as a great resource since I started at school - but I've never had a problem this specific before and I was hoping for a bit of help. I was never the best when it came to figuring out database structures, and I've been tasked with creating a PHP/MySQL test engine with some rather specific specifications.

So you can better understand what I'm going for here - I am trying to take into account the following:

Mostly, I am trying to deal with the basic structure. I had five tables at the start, I condensed the Question/Answer section into one table - and excuse my poor attempt at switching around the relationships here, because I've had them 20 different ways it feels:

Am I on the right track? Any suggestions?

Upvotes: 2

Views: 2359

Answers (1)

jason
jason

Reputation: 3615

A good rule of thumb with database design in N-1. For all tables that have relationships, you should have N-1 relationships (where N is the number of tables). Tables with circular references are a no-no. Putting as the security components and just looking at test/questsion/answers, you want a design that has Some basic objects:

  1. Admin (or teacher) table
  2. Test table
  3. Student Table
  4. Question Table

You didn't mention it in your question, but if you want each test to be associated with a class that the teacher teaches, you will need that as well. With those four, or five, tables you should be able to create your relationships. Hint: Most of these relationships are many-to-many and, as such, will need an XRef table to resolve this. Post back what you do with this and we can look at what's next.

Upvotes: 2

Related Questions