~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to userdb/users.sql

  • Committer: mattgiuca
  • Date: 2008-01-24 23:31:45 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:291
tutorial: Added code to handle top-level menu and subject menu (reads dir
    listing, XML files, and presents a list of links).
    Added code to handle a worksheet page. Presents the page as HTML,
    observing <problem> elements and reading in their XML files.
    Currently does not handle problems; just prints out their source files.
Added media/tutorial/tutorial.css (very minimal currently).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
-- We need a users database to do authorization, manage groups, &c
 
2
-- Here's a first cut.
 
3
 
 
4
DROP TABLE roles;
 
5
DROP TABLE enrolment;
 
6
DROP TABLE group_members;
 
7
DROP TABLE users;
 
8
DROP TABLE groups;
 
9
 
 
10
CREATE TABLE users (
 
11
    login       varchar(80) PRIMARY KEY,    -- login id
 
12
    nick        varchar(80),
 
13
    fullname    varchar(80),
 
14
    studentid   varchar(80) or NULL  ****
 
15
);
 
16
 
 
17
CREATE TABLE groups (
 
18
    groupid     varchar(18) PRIMARY KEY,    -- group name Y^4-S^9-G^3    **** use offering-id + group number (compound key)
 
19
    nick        varchar(80),                -- group nickname
 
20
    subject     varchar(9),                 -- subject code         **** use "offerings" table from CASMAS
 
21
    year        varchar(4)                  -- when
 
22
);
 
23
 
 
24
CREATE TABLE group_members (
 
25
    login       varchar(80) REFERENCES users (login),
 
26
    groupid     varchar(18) REFERENCES groups (groupid)
 
27
);
 
28
 
 
29
CREATE TABLE enrolment (
 
30
    login       varchar(80) REFERENCES users (login),
 
31
    subject     varchar(9),
 
32
    result
 
33
    supp_result
 
34
    year        varchar(4)
 
35
);
 
36
 
 
37
CREATE TABLE roles (
 
38
    login       varchar(80) REFERENCES users (login),
 
39
    role        varchar(8)
 
40
);
 
41
 
 
42
CREATE TABLE project (
 
43
    projectid
 
44
    synopsis
 
45
    url
 
46
    subject
 
47
    deadline
 
48
);
 
49
 
 
50
CREATE TABLE extension (
 
51
    login or groupid
 
52
    projectid
 
53
    deadline
 
54
    approver
 
55
    comment
 
56
);
 
57
 
 
58
CREATE TABLE mark (
 
59
    login or groupid
 
60
    projectid
 
61
    componentid
 
62
    marker
 
63
    mark
 
64
    timestamp
 
65
    feedback
 
66
    comment
 
67
    KEY: (login/groupid, projectid, componentid)
 
68
);
 
69
 
 
70
################
 
71
 
 
72
CREATE TABLE problem (
 
73
    problemid
 
74
    specification
 
75
    test (xml)
 
76
);
 
77
 
 
78
CREATE TABLE problem_tags (
 
79
    problemid
 
80
    tag
 
81
    added_by
 
82
    timestamp
 
83
);
 
84
 
 
85
CREATE TABLE problem_attempt (
 
86
    problemid
 
87
    login
 
88
    datetime
 
89
    submission
 
90
    complete (boolean)
 
91
    KEY: (problemid, login, datetime)
 
92
);
 
93
 
 
94
CREATE INDEX indexname ON problem_attempt (problemid, login);
 
95
 
 
96
CREATE TABLE problem_attempt_breakdown (
 
97
    problemid
 
98
    testcaseid
 
99
    login
 
100
    datetime
 
101
    result (boolean)    **** doesnt tell academic which concepts students are struggling with
 
102
);
 
103
 
 
104
CREATE TABLE problem_test_case (
 
105
    problemid
 
106
    testcaseid
 
107
    testcase (sourced from xml)
 
108
    description
 
109
    visibility
 
110
    tags (xref to tag table; break out)
 
111
);
 
112
 
 
113
# concept, curriculum, difficulty
 
114
CREATE TABLE tag (
 
115
    tag
 
116
    documentation
 
117
    added_by
 
118
    timestamp
 
119
);
 
120
 
 
121
# for multipart problems
 
122
CREATE TABLE prerequisite_problem (
 
123
    parent_problemid
 
124
    child_problemid
 
125
);
 
126
 
 
127
 
 
128
 
 
129
INSERT INTO users (login,nick) values ('conway', 'Tom');
 
130
INSERT INTO roles (login,role) values ('conway', 'student');
 
131
INSERT INTO users (login,nick) values ('apeel', 'Andrew');
 
132
INSERT INTO roles (login,role) values ('apeel', 'student');
 
133
INSERT INTO users (login,nick) values ('mgiuca', 'Matt');
 
134
INSERT INTO roles (login,role) values ('mgiuca', 'tutor');
 
135
INSERT INTO users (login,nick) values ('sb', 'Steven');
 
136
INSERT INTO roles (login,role) values ('sb', 'lecturer');
 
137
INSERT INTO users (login,nick) values ('mpp', 'Mike');
 
138
INSERT INTO roles (login,role) values ('mpp', 'student');
 
139
INSERT INTO users (login,nick) values ('ivo', 'Ivo');
 
140
INSERT INTO roles (login,role) values ('ivo', 'admin');
 
141
 
 
142
INSERT INTO groups (groupid, nick, subject, year) values ('2007-INFO10001-321', 'Purple Alert', 'INFO10001', '2008');
 
143
INSERT INTO groups (groupid, nick, subject, year) values ('2007-INFO10001-322', 'Blind Illuminati', 'INFO10001', '2008');
 
144
 
 
145
INSERT INTO group_members (login,groupid) values ('conway', '2007-INFO10001-321');
 
146
INSERT INTO group_members (login,groupid) values ('apeel', '2007-INFO10001-321');
 
147
INSERT INTO group_members (login,groupid) values ('mgiuca', '2007-INFO10001-321');
 
148
INSERT INTO group_members (login,groupid) values ('sb', '2007-INFO10001-321');
 
149
INSERT INTO group_members (login,groupid) values ('mpp', '2007-INFO10001-322');
 
150
INSERT INTO group_members (login,groupid) values ('ivo', '2007-INFO10001-322');
 
151
 
 
152
INSERT INTO enrolment (login,subject,year) values ('conway' , 'INFO10001', '2008');
 
153
INSERT INTO enrolment (login,subject,year) values ('apeel' , 'INFO10001', '2008');
 
154
INSERT INTO enrolment (login,subject,year) values ('mgiuca' , 'INFO10001', '2008');
 
155
INSERT INTO enrolment (login,subject,year) values ('sb' , 'INFO10001', '2008');
 
156
INSERT INTO enrolment (login,subject,year) values ('mpp' , 'INFO10001', '2008');
 
157
INSERT INTO enrolment (login,subject,year) values ('ivo' , 'INFO10001', '2008');