]> git.mjollnir.org Git - moodle.git/commitdiff
Draft-only version from Les
authormoodler <moodler>
Tue, 25 Feb 2003 12:43:56 +0000 (12:43 +0000)
committermoodler <moodler>
Tue, 25 Feb 2003 12:43:56 +0000 (12:43 +0000)
mod/quiz/db/oci8po.sql [new file with mode: 0755]

diff --git a/mod/quiz/db/oci8po.sql b/mod/quiz/db/oci8po.sql
new file mode 100755 (executable)
index 0000000..6c5d83d
--- /dev/null
@@ -0,0 +1,548 @@
+rem\r
+rem Oracle - draft draft draft untested untested untested\r
+rem\r
+\r
+set echo on pagesize 60\r
+spool t.lst\r
+\r
+rem\r
+rem Table structure for table quiz\r
+rem\r
+\r
+drop table prefix_quiz;\r
+CREATE TABLE prefix_quiz (\r
+  id number(10) primary key,\r
+  course number(10)  default '0' not null,\r
+  name varchar2(255) default '' not null,\r
+  intro varchar2(255) NOT NULL,\r
+  timeopen number(10) default '0' not null,\r
+  timeclose number(10) default '0' not null,\r
+  attempts number(6) default '0' not null,\r
+  feedback number(4) default '0' not null,\r
+  correctanswers number(4) default '1' not null,\r
+  grademethod number(4) default '1' not null,\r
+  review number(4) default '0' not null,\r
+  questions varchar2(255) NOT NULL,\r
+  sumgrades number(10) default '0' not null,\r
+  grade number(10) default '0' not null,\r
+  timecreated number(10) default '0' not null,\r
+  timemodified number(10) default '0' not null\r
+);\r
+\r
+comment on table prefix_quiz is 'Main information about each quiz';\r
+\r
+drop sequence pqs;\r
+create sequence pqs;\r
+\r
+create or replace trigger pqt\r
+  before insert on prefix_quiz\r
+  referencing new as new_row\r
+  for each row\r
+  begin\r
+    select pqs.nextval into :new_row.id from dual;\r
+  end;\r
+.\r
+/\r
+\r
+insert into prefix_quiz (course,name,intro,questions) values \r
+  (101,'Fundamentals of Testing','Test intro','question 1, question 2');\r
+\r
+insert into prefix_quiz (course,name,intro,questions) values \r
+  (102,'Fundamentals of Testing 2','Test intro','question 3, question 4');\r
+\r
+insert into prefix_quiz (course,name,intro,questions) values \r
+  (101,'Fundamentals of Testing','Test intro','question 1, question 2');\r
+\r
+insert into prefix_quiz (course,name,intro,questions) values \r
+  (102,'Fundamentals of Testing 2','Test intro','question 3, question 4');\r
+\r
+select id,course,substr(name,1,20) name,\r
+       substr(intro,1,12) intro,\r
+       substr(questions,1,22) questions\r
+  from prefix_quiz order by 1,2;\r
+\r
+rem --------------------------------------------------------\r
+\r
+rem\r
+rem Table structure for table quiz_answers\r
+rem\r
+\r
+drop TABLE prefix_quiz_answers;\r
+CREATE TABLE prefix_quiz_answers (\r
+  id number(10)  NOT NULL  PRIMARY KEY,\r
+  question number(10)  default '0' not null,\r
+  answer varchar(255) default '' not null,\r
+  fraction varchar(10) default '0.0',\r
+  feedback varchar2(255) NOT NULL\r
+);\r
+\r
+COMMENT on table prefix_quiz_answers is 'Answers, with a fractional grade (0-1) and feedback';\r
+\r
+drop sequence pqas;\r
+create sequence pqas;\r
+\r
+create or replace trigger pqat\r
+  before insert on prefix_quiz_answers\r
+  referencing new as new_row\r
+  for each row\r
+  begin\r
+    select pqas.nextval into :new_row.id from dual;\r
+  end;\r
+.\r
+/\r
+\r
+insert into prefix_quiz_answers (question,answer,fraction,feedback) values \r
+  (1,'Answer #1','fraction1','feedback1');\r
+\r
+insert into prefix_quiz_answers (question,answer,fraction,feedback) values \r
+  (13,'Answer #13','fraction13','feedback13');\r
+\r
+insert into prefix_quiz_answers (question,answer,fraction,feedback) values \r
+  (31,'Answer #31','fraction31','feedback31');\r
+\r
+insert into prefix_quiz_answers (question,answer,fraction,feedback) values \r
+  (3,'Answer #3','fraction3','feedback3');\r
+\r
+select id,substr(question,1,12),\r
+       substr(answer,1,12),\r
+       substr(fraction,1,12),\r
+       substr(feedback,1,12)\r
+  from prefix_quiz_answers\r
+ order by 1,2;\r
+\r
+rem --------------------------------------------------------\r
+\r
+rem\r
+rem Table structure for table quiz_attempts\r
+rem\r
+\r
+drop table prefix_quiz_attempts;\r
+CREATE TABLE prefix_quiz_attempts (\r
+  id number(10)  primary key,\r
+  quiz number(10)  default '0' not null,\r
+  userid number(10)  default '0' not null,\r
+  attempt number(6) default '0' not null,\r
+  sumgrades varchar(10) default '0.0' not null,\r
+  timestart number(10)  default '0' not null,\r
+  timefinish number(10)  default '0' not null,\r
+  timemodified number(10)  default '0' not null\r
+);\r
+\r
+COMMENT on table prefix_quiz_attempts is 'Stores various attempts on a quiz';\r
+\r
+drop sequence pq_attempts_seq;\r
+create sequence pq_attempts_seq;\r
+\r
+create or replace trigger pq_attempts_trig\r
+  before insert on prefix_quiz_attempts\r
+  referencing new as new_row\r
+  for each row\r
+  begin\r
+    select pq_attempts_seq.nextval into :new_row.id from dual;\r
+  end;\r
+.\r
+/\r
+\r
+insert into prefix_quiz_attempts (\r
+       quiz,userid,attempt,sumgrades,timestart,timefinish,timemodified) \r
+values (1,1,1,'sumgrades',1400,1405,1404);\r
+\r
+select \r
+       id,\r
+       quiz,\r
+       userid,\r
+       attempt,\r
+       substr(sumgrades,1,12) sumgrades,\r
+       timestart,\r
+       timefinish,\r
+       timemodified\r
+  from prefix_quiz_attempts\r
+ order by 1,2;\r
+\r
+rem --------------------------------------------------------\r
+\r
+rem\r
+rem Table structure for table quiz_categories\r
+rem\r
+\r
+drop table prefix_quiz_categories;\r
+CREATE TABLE prefix_quiz_categories (\r
+  id number(10) primary key,\r
+  course number(10)  default '0' not null,\r
+  name varchar(255) default '' not null,\r
+  info varchar2(255) not null,\r
+  publish number(4) default '0' not null\r
+);\r
+\r
+COMMENT on table prefix_quiz_categories is 'Categories are for grouping questions';\r
+\r
+drop sequence pq_categories_seq;\r
+create sequence pq_categories_seq;\r
+\r
+create or replace trigger pq_categories_trig\r
+  before insert on prefix_quiz_categories\r
+  referencing new as new_row\r
+  for each row\r
+  begin\r
+    select pq_categories_seq.nextval into :new_row.id from dual;\r
+  end;\r
+.\r
+/\r
+insert into prefix_quiz_categories (course,name,info,publish) values (1,1,1,1);\r
+insert into prefix_quiz_categories (course,name,info,publish) values (2,2,2,2);\r
+insert into prefix_quiz_categories (course,name,info,publish) values (3,3,3,3);\r
+insert into prefix_quiz_categories (course,name,info,publish) values (4,4,4,4);\r
+\r
+select id,\r
+       substr(course,1,4) course,\r
+       substr(name,1,4) name,\r
+       substr(info,1,4) info,\r
+       substr(publish,1,4) publish\r
+  from prefix_quiz_categories\r
+ order by 1,2;\r
+\r
+rem --------------------------------------------------------\r
+\r
+rem\r
+rem Table structure for table quiz_grades\r
+rem\r
+\r
+drop TABLE prefix_quiz_grades;\r
+CREATE TABLE prefix_quiz_grades (\r
+  id number(10)  NOT NULL ,\r
+  quiz number(10)  default '0' not null,\r
+  userid number(10) default '0' not null,\r
+  grade varchar(10) default '0.0' not null,\r
+  timemodified number(10) default '0' not null\r
+);\r
+\r
+COMMENT on table prefix_quiz_grades is 'Final quiz grade (may be best of several attempts)';\r
+\r
+drop sequence pq_grades_seq;\r
+create sequence pq_grades_seq;\r
+\r
+create or replace trigger pq_grades_trig\r
+  before insert on prefix_quiz_grades\r
+  referencing new as new_row\r
+  for each row\r
+  begin\r
+    select pq_grades_seq.nextval into :new_row.id from dual;\r
+  end;\r
+.\r
+/\r
+insert into prefix_quiz_grades (quiz,userid,grade,timemodified) values (1,1,1,1);\r
+insert into prefix_quiz_grades (quiz,userid,grade,timemodified) values (2,2,2,2);\r
+insert into prefix_quiz_grades (quiz,userid,grade,timemodified) values (3,3,3,3);\r
+insert into prefix_quiz_grades (quiz,userid,grade,timemodified) values (4,4,4,4);\r
+\r
+select id,\r
+       substr(quiz,1,4) quiz,\r
+       substr(userid,1,4) userid,\r
+       substr(grade,1,4) grade,\r
+       substr(timemodified,1,4) timemodified\r
+  from prefix_quiz_grades\r
+ order by 1,2;\r
+\r
+rem --------------------------------------------------------\r
+\r
+rem\r
+rem Table structure for table quiz_multichoice\r
+rem\r
+\r
+drop TABLE prefix_quiz_multichoice;\r
+CREATE TABLE prefix_quiz_multichoice (\r
+  id number(10) primary key,\r
+  question number(10) default '0' not null,\r
+  layout number(4) default '0' not null,\r
+  answers varchar(255) default '' not null,\r
+  single number(4) default '0' not null\r
+);\r
+\r
+COMMENT on table prefix_quiz_multichoice is 'Options for multiple choice questions';\r
+\r
+drop sequence pq_multichoice_seq;\r
+create sequence pq_multichoice_seq;\r
+\r
+create or replace trigger pq_multichoice_trig\r
+  before insert on prefix_quiz_multichoice\r
+  referencing new as new_row\r
+  for each row\r
+  begin\r
+    select pq_multichoice_seq.nextval into :new_row.id from dual;\r
+  end;\r
+.\r
+/\r
+insert into prefix_quiz_multichoice (question,layout,answers,single) values (1,1,1,1);\r
+insert into prefix_quiz_multichoice (question,layout,answers,single) values (2,2,2,2);\r
+insert into prefix_quiz_multichoice (question,layout,answers,single) values (3,3,3,3);\r
+insert into prefix_quiz_multichoice (question,layout,answers,single) values (4,4,4,4);\r
+\r
+select id,\r
+       substr(question,1,4) question,\r
+       substr(layout,1,4) layout,\r
+       substr(answers,1,4) answers,\r
+       substr(single,1,4) single\r
+  from prefix_quiz_multichoice\r
+ order by 1,2;\r
+\r
+rem --------------------------------------------------------\r
+\r
+rem\r
+rem Table structure for table quiz_question_grades\r
+rem\r
+\r
+drop TABLE prefix_quiz_question_grades;\r
+CREATE TABLE prefix_quiz_question_grades (\r
+  id number(10)  NOT NULL ,\r
+  quiz number(10)  default '0',\r
+  question number(10) default '0',\r
+  grade number(6) default '0'\r
+);\r
+\r
+COMMENT on table prefix_quiz_question_grades is 'The grade for a question in a quiz';\r
+\r
+drop sequence pq_question_grades_seq;\r
+create sequence pq_question_grades_seq;\r
+\r
+create or replace trigger pq_question_grades_trig\r
+  before insert on prefix_quiz_question_grades\r
+  referencing new as new_row\r
+  for each row\r
+  begin\r
+    select pq_question_grades_seq.nextval into :new_row.id from dual;\r
+  end;\r
+.\r
+/\r
+insert into prefix_quiz_question_grades (quiz,question,grade) values (1,1,1);\r
+insert into prefix_quiz_question_grades (quiz,question,grade) values (2,2,2);\r
+insert into prefix_quiz_question_grades (quiz,question,grade) values (3,3,3);\r
+insert into prefix_quiz_question_grades (quiz,question,grade) values (4,4,4);\r
+\r
+select id,\r
+       substr(quiz,1,4) quiz,\r
+       substr(question,1,4) question,\r
+       substr(grade,1,4) grade\r
+  from prefix_quiz_question_grades\r
+ order by 1,2;\r
+\r
+rem --------------------------------------------------------\r
+\r
+rem\r
+rem Table structure for table quiz_randommatch\r
+rem\r
+\r
+drop TABLE prefix_quiz_randommatch;\r
+CREATE TABLE prefix_quiz_randommatch (\r
+  id number(10) primary key,\r
+  question number(10)  default '0' not null,\r
+  choose INT DEFAULT '4' NOT NULL\r
+);\r
+\r
+COMMENT on table prefix_quiz_randommatch is 'Info about a random matching question';\r
+\r
+drop sequence pq_randommatch_seq;\r
+create sequence pq_randommatch_seq;\r
+\r
+create or replace trigger pq_randommatch_trig\r
+  before insert on prefix_quiz_randommatch\r
+  referencing new as new_row\r
+  for each row\r
+  begin\r
+    select pq_randommatch_seq.nextval into :new_row.id from dual;\r
+  end;\r
+.\r
+/\r
+insert into prefix_quiz_randommatch (question,choose) values (1,1);\r
+insert into prefix_quiz_randommatch (question,choose) values (2,2);\r
+insert into prefix_quiz_randommatch (question,choose) values (3,3);\r
+insert into prefix_quiz_randommatch (question,choose) values (4,4);\r
+\r
+select id,\r
+       substr(question,1,4) question,\r
+       substr(choose,1,4) choose\r
+  from prefix_quiz_randommatch\r
+ order by 1,2;\r
+\r
+rem\r
+rem Table structure for table quiz_questions\r
+rem\r
+\r
+drop TABLE prefix_quiz_questions;\r
+CREATE TABLE prefix_quiz_questions (\r
+  id number(10) primary key,\r
+  category number(10) default '0' not null,\r
+  name varchar(255) default '' not null,\r
+  questiontext varchar2(255) NOT NULL,\r
+  image varchar(255) default '' not null,\r
+  qtype number(6) default '0' not null\r
+);\r
+\r
+COMMENT on table prefix_quiz_questions is 'The quiz questions themselves';\r
+\r
+drop sequence pq_questions_seq;\r
+create sequence pq_questions_seq;\r
+\r
+create or replace trigger pq_questions_trig\r
+  before insert on prefix_quiz_questions\r
+  referencing new as new_row\r
+  for each row\r
+  begin\r
+    select pq_questions_seq.nextval into :new_row.id from dual;\r
+  end;\r
+.\r
+/\r
+insert into prefix_quiz_questions (category,name,questiontext,image,qtype) values (1,'name1','questiontext1','image1',1);\r
+insert into prefix_quiz_questions (category,name,questiontext,image,qtype) values (2,'name2','questiontext2','image2',2);\r
+insert into prefix_quiz_questions (category,name,questiontext,image,qtype) values (3,'name3','questiontext3','image3',3);\r
+insert into prefix_quiz_questions (category,name,questiontext,image,qtype) values (4,'name4','questiontext4','image4',4);\r
+\r
+select id,\r
+       substr(category,1,4) category,\r
+       substr(name,1,4) name,\r
+       substr(questiontext,1,4) questiontext,\r
+       substr(image,1,4) image,\r
+       substr(qtype,1,4) qtype\r
+  from prefix_quiz_questions\r
+ order by 1,2;\r
+\r
+rem --------------------------------------------------------\r
+\r
+rem\r
+rem Table structure for table quiz_responses\r
+rem\r
+\r
+drop TABLE prefix_quiz_responses;\r
+CREATE TABLE prefix_quiz_responses (\r
+  id number(10)  primary key,\r
+  attempt number(10) default '0' not null,\r
+  question number(10) default '0' not null,\r
+  answer varchar(255) default '' not null,\r
+  grade varchar(10) default '0.0' not null\r
+);\r
+\r
+COMMENT on table prefix_quiz_questions is 'Stores user responses to a quiz, and percentage grades';\r
+\r
+drop sequence pq_responses_seq;\r
+create sequence pq_responses_seq;\r
+\r
+create or replace trigger pq_responses_trig\r
+  before insert on prefix_quiz_responses\r
+  referencing new as new_row\r
+  for each row\r
+  begin\r
+    select pq_responses_seq.nextval into :new_row.id from dual;\r
+  end;\r
+.\r
+/\r
+insert into prefix_quiz_responses (attempt,question,answer,grade) \r
+values (1,1,'answer1','grade1');\r
+insert into prefix_quiz_responses (attempt,question,answer,grade) \r
+values (2,2,'answer2','grade2');\r
+insert into prefix_quiz_responses (attempt,question,answer,grade) \r
+values (3,3,'answer3','grade3');\r
+insert into prefix_quiz_responses (attempt,question,answer,grade) \r
+values (4,4,'answer4','grade4');\r
+\r
+select id,\r
+       substr(attempt,1,4) attempt,\r
+       substr(question,1,14) question,\r
+       substr(answer,1,14) answer,\r
+       substr(grade,1,14) grade\r
+  from prefix_quiz_responses\r
+ order by 1,2;\r
+\r
+rem --------------------------------------------------------\r
+\r
+rem\r
+rem Table structure for table quiz_shortanswer\r
+rem\r
+\r
+drop TABLE prefix_quiz_shortanswer;\r
+CREATE TABLE prefix_quiz_shortanswer (\r
+  id number(10) primary key,\r
+  question number(10) default '0' not null,\r
+  answers varchar(255) default '' not null,\r
+  usecase number(2) default '0' not null\r
+);\r
+\r
+COMMENT on table prefix_quiz_shortanswer is 'Options for short answer questions';\r
+\r
+drop sequence pq_shortanswer_seq;\r
+create sequence pq_shortanswer_seq;\r
+\r
+create or replace trigger pq_shortanswer_trig\r
+  before insert on prefix_quiz_shortanswer\r
+  referencing new as new_row\r
+  for each row\r
+  begin\r
+    select pq_shortanswer_seq.nextval into :new_row.id from dual;\r
+  end;\r
+.\r
+/\r
+insert into prefix_quiz_shortanswer (question,answers,usecase) values (1,'answer1',1);\r
+insert into prefix_quiz_shortanswer (question,answers,usecase) values (2,'answer2',2);\r
+insert into prefix_quiz_shortanswer (question,answers,usecase) values (3,'answer3',3);\r
+insert into prefix_quiz_shortanswer (question,answers,usecase) values (4,'answer4',4);\r
+\r
+select id,\r
+       substr(question,1,14) question,\r
+       substr(answers,1,14) answers,\r
+       substr(usecase,1,14) usecase\r
+  from prefix_quiz_shortanswer\r
+ order by 1,2;\r
+\r
+rem --------------------------------------------------------\r
+\r
+rem\r
+rem Table structure for table quiz_truefalse\r
+rem\r
+\r
+drop TABLE prefix_quiz_truefalse;\r
+CREATE TABLE prefix_quiz_truefalse (\r
+  id number(10)  primary key,\r
+  question number(10)  default '0' not null,\r
+  trueanswer number(10)  default '0' not null,\r
+  falseanswer number(10) default '0' not null\r
+);\r
+\r
+COMMENT on table prefix_quiz_truefalse is 'Options for True-False questions';\r
+\r
+\r
+drop sequence pq_truefalse_seq;\r
+create sequence pq_truefalse_seq;\r
+\r
+create or replace trigger pq_truefalse_trig\r
+  before insert on prefix_quiz_truefalse\r
+  referencing new as new_row\r
+  for each row\r
+  begin\r
+    select pq_truefalse_seq.nextval into :new_row.id from dual;\r
+  end;\r
+.\r
+/\r
+insert into prefix_quiz_truefalse (question,trueanswer,falseanswer) values (1,1,1);\r
+insert into prefix_quiz_truefalse (question,trueanswer,falseanswer) values (2,2,2);\r
+insert into prefix_quiz_truefalse (question,trueanswer,falseanswer) values (3,3,3);\r
+insert into prefix_quiz_truefalse (question,trueanswer,falseanswer) values (4,4,4);\r
+\r
+select id,\r
+       substr(question,1,14) question,\r
+       substr(trueanswer,1,14) trueanswer,\r
+       substr(falseanswer,1,14) falseanswer\r
+  from prefix_quiz_truefalse\r
+ order by 1,2;\r
+\r
+select \r
+       substr(table_name,1,28) table_name,\r
+       substr(comments,1,54) comments \r
+  from all_tab_comments\r
+ where owner = 'SCOTT'\r
+   and table_name like 'PREFIX%'\r
+/\r
+\r
+INSERT INTO prefix_log_display VALUES ('quiz', 'view', 'quiz', 'name');\r
+INSERT INTO prefix_log_display VALUES ('quiz', 'report', 'quiz', 'name');\r
+INSERT INTO prefix_log_display VALUES ('quiz', 'attempt', 'quiz', 'name');\r
+INSERT INTO prefix_log_display VALUES ('quiz', 'submit', 'quiz', 'name');\r
+\r
+spool off\r