boinc/db/bolt_schema.sql

86 lines
2.9 KiB
SQL

create table bolt_user (
user_id integer not null,
birth_year integer not null,
sex smallint not null,
attrs text not null,
primary key (user_id)
);
create table bolt_course (
id integer not null auto_increment,
create_time integer not null,
short_name varchar(255) not null,
name varchar(255) not null,
description text not null,
doc_file varchar(255) not null,
primary key (id)
);
create table bolt_enrollment (
create_time integer not null,
user_id integer not null,
course_id integer not null,
last_view_id integer not null,
mastery double not null
);
-- Represents a view of an item;
-- created when we show the item,
-- and finalized when the user clicks on something to leave the page
-- A special view is used to represent the end of a course;
-- its mode is BOLT_MODE_FINISHED.
--
create table bolt_view (
id integer not null auto_increment,
user_id integer not null,
course_id integer not null,
item_name varchar(255) not null,
-- name of the item
state text not null,
-- course state
mode integer not null,
-- distinguishes exercise show/answer
action integer not null,
-- what the user clicked
start_time integer not null,
end_time integer not null,
prev_view_id integer not null,
-- for exercise answer views,
-- this always refers to the original exercise show
fraction_done double not null,
result_id integer not null,
-- if this was an exercise show, link to result record
refresh_id integer not null,
-- if unit was flagged for review, link to review record
primary key (id)
);
-- represents the result of an exercise
--
create table bolt_exercise_result (
id integer not null auto_increment,
view_id integer not null,
-- the original display of exercise
score double not null,
response text not null,
-- the query string containing user's responses
primary key(id)
);
-- represents the result of an exercise set
--
create table bolt_exercise_set_result (
id integer not null auto_increment,
score double not null,
primary key(id)
);
create table bolt_refresh (
id integer not null auto_increment,
view_id integer not null,
due_time integer not null,
name varchar(255) not null,
state text not null,
primary key (id)
);