Database = GS
+---------------------+
| Table |
+---------------------+
| users |
| students |
| courses |
| questions |
| surveys |
| grades |
| performances |
| assignments |
| answers |
| customizedgrades |
+---------------------+
Database = GS
Table = users
UNIQUE INDEX index_users ON users (gslogin)
+-----------------+----------+--------+----------+--------------+
| Field | Type | Length | Not Null | Unique Index |
+-----------------+----------+--------+----------+--------------+
| gslogin | char | 15 | Y | N/A |
| gspwd | char | 20 | Y | N/A |
| idnum | char | 80 | N | N/A |
| privilige | char | 2 | N | N/A |
| ACL | char | 1000 | N | N/A |
| firstname | char | 20 | Y | N/A |
| midname | char | 20 | N | N/A |
| lastname | char | 20 | Y | N/A |
| email | char | 70 | N | N/A |
| dept | char | 50 | N | N/A |
| url | char | 150 | N | N/A |
| picurl | char | 150 | N | N/A |
| phone | char | 15 | N | N/A |
| room | char | 15 | N | N/A |
| systemslogin | char | 15 | N | N/A |
| comments | char | 2000 | N | N/A |
| reserved | char | 50 | N | N/A |
| index_users | index | N/A | N/A | Y |
+-----------------+----------+--------+----------+--------------+
Database = GS
Table = students
UNIQUE INDEX index_students ON students (accesscode,course)
+-----------------+----------+--------+----------+--------------+
| Field | Type | Length | Not Null | Unique Index |
+-----------------+----------+--------+----------+--------------+
| accesscode | char | 20 | Y | N/A |
| gspwd | char | 20 | Y | N/A |
| course | char | 50 | Y | N/A |
| studentid | char | 20 | N | N/A |
| idnum | char | 80 | N | N/A |
| firstname | char | 20 | Y | N/A |
| midname | char | 20 | N | N/A |
| lastname | char | 20 | Y | N/A |
| class | char | 30 | N | N/A |
| email | char | 70 | N | N/A |
| dept | char | 100 | N | N/A |
| url | char | 200 | N | N/A |
| picurl | char | 200 | N | N/A |
| systemslogin | char | 20 | N | N/A |
| systemspwd | char | 20 | N | N/A |
| index_students | index | N/A | N/A | Y |
+-----------------+----------+--------+----------+--------------+
Database = GS
Table = courses
UNIQUE INDEX index_courses ON courses (title)
+-----------------+----------+--------+----------+--------------+
| Field | Type | Length | Not Null | Unique Index |
+-----------------+----------+--------+----------+--------------+
| title | char | 50 | Y | N/A |
| name | char | 40 | N | N/A |
| term | char | 10 | N | N/A |
| year | char | 4 | N | N/A |
| instructor | char | 40 | N | N/A |
| insurl | char | 110 | N | N/A |
| insemail | char | 30 | N | N/A |
| coinstructor | char | 40 | N | N/A |
| coinsurl | char | 110 | N | N/A |
| coinsemail | char | 30 | N | N/A |
| ta | char | 40 | N | N/A |
| taurl | char | 110 | N | N/A |
| taemail | char | 30 | N | N/A |
| team | char | 500 | N | N/A |
| url | char | 200 | N | N/A |
| logourl | char | 200 | N | N/A |
| grdtype | char | 30 | N | N/A |
| extracredits | char | 3 | N | N/A |
| publishavg | char | 3 | N | N/A |
| publishfgrd | char | 3 | N | N/A |
| notes | char | 2000 | N | N/A |
| index_courses | index | N/A | N/A | Y |
+-----------------+----------+--------+----------+--------------+
Database = GS
Table = questions
UNIQUE INDEX index_questions ON questions (qid)
+-----------------+----------+--------+----------+--------------+
| Field | Type | Length | Not Null | Unique Index |
+-----------------+----------+--------+----------+--------------+
| qid | int | 4 | Y | N/A |
| question | char | 300 | N | N/A |
| category | char | 30 | N | N/A |
| index_questions | index | N/A | N/A | Y |
+-----------------+----------+--------+----------+--------------+
Database = GS
Table = surveys
UNIQUE INDEX index_surveys ON surveys (course,surveyname,qid)
+-----------------+----------+--------+----------+--------------+
| Field | Type | Length | Not Null | Unique Index |
+-----------------+----------+--------+----------+--------------+
| course | char | 50 | Y | N/A |
| surveyname | char | 50 | Y | N/A |
| qid | int | 4 | Y | N/A |
| question | char | 300 | N | N/A |
| category | char | 30 | N | N/A |
+-----------------+----------+--------+----------+--------------+
Database = GS
Table = grades
UNIQUE INDEX index_grades ON grades (accesscode,course,assignid)
+-----------------+----------+--------+----------+--------------+
| Field | Type | Length | Not Null | Unique Index |
+-----------------+----------+--------+----------+--------------+
| accesscode | char | 20 | Y | N/A |
| course | char | 50 | Y | N/A |
| assignid | int | 4 | Y | N/A |
| grade | char | 20 | N | N/A |
| egrade | char | 20 | N | N/A |
| partials | char | 30 | N | N/A |
| comment | char | 2000 | N | N/A |
| tacomment | char | 2000 | N | N/A |
| secretcomment | char | 2000 | N | N/A |
| index_grades | index | N/A | N/A | Y |
+-----------------+----------+--------+----------+--------------+
Database = GS
Table = performances
UNIQUE INDEX index_performances ON performances (accesscode,course)
+-----------------+----------+--------+----------+--------------+
| Field | Type | Length | Not Null | Unique Index |
+-----------------+----------+--------+----------+--------------+
| accesscode | char | 20 | Y | N/A |
| course | char | 50 | Y | N/A |
| finalgrade | char | 20 | N | N/A |
| average | char | 20 | N | N/A |
| remark | char | 2000 | N | N/A |
| taremark | char | 2000 | N | N/A |
| secretremark | char | 2000 | N | N/A |
| index_performan | index | N/A | N/A | Y |
+-----------------+----------+--------+----------+--------------+
Database = GS
Table = assignments
UNIQUE INDEX index_assignments ON assignments (course,assignid)
+-----------------+----------+--------+----------+--------------+
| Field | Type | Length | Not Null | Unique Index |
+-----------------+----------+--------+----------+--------------+
| course | char | 50 | Y | N/A |
| assignid | int | 4 | Y | N/A |
| type | char | 10 | N | N/A |
| grbase | char | 40 | N | N/A |
| weight | char | 3 | N | N/A |
| partials | char | 100 | N | N/A |
| publish | char | 3 | N | N/A |
| url | char | 200 | N | N/A |
| commenturl | char | 200 | N | N/A |
| notes | char | 2000 | N | N/A |
| index_assignmen | index | N/A | N/A | Y |
+-----------------+----------+--------+----------+--------------+
Database = GS
Table = answers
UNIQUE INDEX index_answers ON answers (course,surveyname,accesscode,qid)
+-----------------+----------+--------+----------+--------------+
| Field | Type | Length | Not Null | Unique Index |
+-----------------+----------+--------+----------+--------------+
| course | char | 50 | Y | N/A |
| surveyname | char | 50 | Y | N/A |
| accesscode | char | 20 | Y | N/A |
| qid | int | 4 | Y | N/A |
| answer | char | 3 | N | N/A |
| index_answers | index | N/A | N/A | Y |
+-----------------+----------+--------+----------+--------------+
Database = GS
Table = customizedgrades
UNIQUE INDEX index_customizedgrades ON customizedgrades (course,grade)
+-----------------+----------+--------+----------+--------------+
| Field | Type | Length | Not Null | Unique Index |
+-----------------+----------+--------+----------+--------------+
| course | char | 50 | Y | N/A |
| grade | char | 30 | Y | N/A |
| points | real | 8 | N | N/A |
| index_customize | index | N/A | N/A | Y |
+-----------------+----------+--------+----------+--------------+
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Example table constructions for an specific database :
-------------------------------student-------------------
CREATE TABLE students (
accesscode char(20) NOT NULL,
gspwd char(20) NOT NULL,
course char(50) NOT NULL,
studentid char(20),
idnum char(80),
firstname CHAR(20) NOT NULL,
midname CHAR(20),
lastname CHAR(20) NOT NULL,
class CHAR(30),
email CHAR(70),
dept CHAR(100),
url CHAR(200),
picurl CHAR(200),
systemslogin char(20),
systemspwd char(20)
) \g
CREATE UNIQUE INDEX index_students ON students (
accesscode,course ) \g
--------------------------users----------------------
CREATE TABLE users (
gslogin CHAR(15) NOT NULL,
gspwd CHAR(20) NOT NULL,
idnum CHAR(80) ,
privilige char(2),
ACL CHAR(1000),
firstname CHAR(20) NOT NULL,
midname CHAR(20),
lastname CHAR(20) NOT NULL,
email CHAR(70),
dept CHAR(50),
url CHAR(150),
picurl CHAR(150),
phone CHAR(15),
room CHAR(15),
systemslogin CHAR(15),
comments CHAR(2000),
reserved CHAR(50)
)\g
CREATE UNIQUE INDEX index_users ON users (
gslogin ) \g
INSERT INTO users VALUES
('admin', 'sysadministrator', '', 0, '',
'Admin', 'A.','Admin',
'', '', '', '', '', '', '', '', '') \g
--------------------------courses------------------
CREATE TABLE courses (
title CHAR(50) NOT NULL,
name char(40),
term char(10),
year char(4),
instructor char(40),
insurl char(110),
insemail char(30),
coinstructor char(40),
coinsurl char(110),
coinsemail char(30),
ta char(40),
taurl char(110),
taemail char(30),
team char(500),
url char(200),
logourl char(200),
grdtype char(30),
extracredits char(3),
publishavg char(3),
publishfgrd char(3),
notes char(2000)
)\g
CREATE UNIQUE INDEX index_courses ON courses (
title ) \g
--------------------------questions-----------------
CREATE TABLE questions (
qid int NOT NULL,
question CHAR(300),
category CHAR(30)
) \g
CREATE UNIQUE INDEX index_questions ON questions (
qid ) \g
--------------------------surveys-----------------
CREATE TABLE surveys (
course char(50) NOT NULL,
surveyname char(50) NOT NULL,
qid int NOT NULL,
question CHAR(300),
category CHAR(30)
)\g
CREATE UNIQUE INDEX index_surveys ON surveys (
course,surveyname,qid ) \g
--------------------------answers----------------
CREATE TABLE answers (
course char(50) NOT NULL,
surveyname char(50) NOT NULL,
accesscode char(20) NOT NULL,
qid int NOT NULL,
answer CHAR(3)
)\g
CREATE UNIQUE INDEX index_answers ON answers (
course,surveyname,accesscode,qid ) \g
---------------------------------customizedgrades------
CREATE TABLE customizedgrades (
course char(50) NOT NULL,
grade CHAR(30) NOT NULL,
points real
) \g
CREATE UNIQUE INDEX index_customizedgrades ON customizedgrades (
course,grade ) \g
---------------------------------ASSIGNMENT-------------
CREATE TABLE assignments (
course CHAR(50) NOT NULL,
assignid int NOT NULL,
type char(10),
grbase char(40),
weight char(3),
partials char(100),
publish char(3),
url char(200),
commenturl char(200),
notes char(2000)
)
\g
CREATE UNIQUE INDEX index_assignments ON assignments (
course,assignid
) \g
-------------------------------grades--------------------
CREATE TABLE grades
(accesscode char(20) NOT NULL,
course char(50) NOT NULL,
assignid int NOT NULL,
grade char(20),
egrade char(20),
partials char(30),
comment char(2000),
tacomment char(2000),
secretcomment char(2000)
) \g
CREATE UNIQUE INDEX index_grades ON grades (
accesscode,course,assignid ) \g
-------------------------------performances------------
CREATE TABLE performances
(accesscode char(20) NOT NULL,
course char(50) NOT NULL,
finalgrade char(20),
average char(20),
remark char(2000),
taremark char(2000),
secretremark char(2000)
) \g
CREATE UNIQUE INDEX index_performances ON performances (
accesscode,course ) \g
-------------------------------------------------------------------
-------------------------------------------------------------------
-------------------------------------------------------------------
-------------------------------------------------------------------
-------------------------------------------------------------------
|