1 -- Esquema de la base de datos
5 id INTEGER PRIMARY KEY,
7 anio INTEGER(4) NOT NULL,
8 cuatrimestre INTEGER(1) NOT NULL,
9 curso INTEGER NOT NULL,
11 descripcion VARCHAR(150),
12 UNIQUE (anio, cuatrimestre, curso)
15 CREATE TABLE inscripto
17 id INTEGER PRIMARY KEY,
19 padron INTEGER NOT NULL,
20 curso_id INTEGER NOT NULL,
22 mail VARCHAR(150) NOT NULL,
23 activo BOOLEAN NOT NULL DEFAULT 1,
24 UNIQUE (padron, curso_id)
29 id INTEGER PRIMARY KEY,
31 nombre VARCHAR(150) NOT NULL,
33 mail VARCHAR(150) NOT NULL,
34 corrige BOOLEAN NOT NULL DEFAULT 1,
38 CREATE TABLE curso_docente
41 curso_id INTEGER NOT NULL,
42 docente_id INTEGER NOT NULL,
43 PRIMARY KEY (docente_id, curso_id)
46 CREATE TABLE ejercicio
48 id INTEGER PRIMARY KEY,
50 nombre VARCHAR(150) NOT NULL,
52 numero INTEGER NOT NULL,
53 docente_id INTEGER NOT NULL, -- Autor
59 id INTEGER PRIMARY KEY,
61 curso_id INTEGER NOT NULL,
62 nro_ejercicio INTEGER NOT NULL,
63 entrega INTEGER NOT NULL,
65 ejercicio_id INTEGER NOT NULL,
68 finalizada BOOLEAN NOT NULL DEFAULT 1,
69 UNIQUE (curso_id, nro_ejercicio, entrega)
72 CREATE TABLE caso_de_prueba
74 id INTEGER PRIMARY KEY,
76 ejercicio_id INTEGER NOT NULL,
77 nombre VARCHAR(255) NOT NULL,
79 privado BOOLEAN NOT NULL,
80 activo BOOLEAN NOT NULL DEFAULT 1,
81 parametros VARCHAR(255),
82 codigo_retorno INTEGER DEFAULT 0,
83 tiempo_cpu FLOAT DEFAULT NULL,
84 UNIQUE (ejercicio_id, nombre)
89 id INTEGER PRIMARY KEY,
91 inscripto_id INTEGER NOT NULL,
92 entrega_id INTEGER NOT NULL,
93 numero INTEGER NOT NULL,
95 llegada DATE NOT NULL,
101 mail_respuesta VARCHAR(150) NOT NULL,
102 observaciones VARCHAR(255),
103 UNIQUE (entrega_id, inscripto_id, llegada)
106 CREATE TABLE correccion
108 id INTEGER PRIMARY KEY,
110 entrega_id INTEGER NOT NULL,
111 inscripto_id INTEGER NOT NULL,
113 intento_id INTEGER NOT NULL, -- Último intento exitoso
114 docente_id INTEGER NOT NULL, -- Corrector
116 observaciones VARCHAR(255),
117 UNIQUE (inscripto_id, entrega_id)
122 id INTEGER PRIMARY KEY,
124 intento_id INTEGER NOT NULL,
125 caso_de_prueba_id INTEGER NOT NULL,
127 inicio DATE NOT NULL,
130 observaciones VARCHAR(255),
131 UNIQUE (intento_id, caso_de_prueba_id)
134 -- vim: set et sw=4 ts=4 sts=4 :