Click to See Complete Forum and Search --> : User profile / tracking


punpun
November 11th, 2008, 11:51 AM
Hi,

I'm new to this forum and I only have basic DB knowledge.
What I'm about to implement is an online learning website in ASP and MS SQL, where user register for a course or courses at a fee. If user registers for the first time, he creates a user account at the same time. So in "My Account" section, the user will be able to view what course(s) he has done and the results of the courses, e.g. passed or failed. The user will also be able to continue where he left off as he does not have to complete the online course in one sitting.

I wonder what database/table structure is commonly used for something like this.
Currently I have the following,

dbo.USER_PROFILE = user_index (PK), user_id, password ... etc.
dbo.COURSE = course_index (PK), course_id, title ... etc.
dbo.MODULE = module_index (PK), module_id, title, course_id ... etc.
dbo.UNIT = unit_index (PK), unit_id, title, module_id ... etc.

Q1. What many more tables do I need to store the course(s) taken by users?
Q2. How do I track the progress for on-going course(s) without using cookies?

For Q2, I'm kinda thinking of record progress and entered answers in XML format, which is then stored on the database, then the XML file will be translated into user-understandable presenation when he picks up where he left off.

Basically, it's a bit like Amazon where you can see your past purchases (course taken) and items in cart (on-going course) when you re-visit the website.
Any comments are welcome and if you need more information to make a comment, feel free to ask.

Many thanks in advance!