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 INTEGER(1) 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 INTEGER(1) 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 UNIQUE (curso_id, nro_ejercicio, entrega)
71 CREATE TABLE caso_de_prueba
73 id INTEGER PRIMARY KEY,
75 ejercicio_id INTEGER NOT NULL,
76 nombre VARCHAR(255) NOT NULL,
78 privado INTEGER(1) NOT NULL,
79 activo INTEGER(1) NOT NULL DEFAULT 1,
80 parametros VARCHAR(255),
82 UNIQUE (ejercicio_id, nombre)
87 id INTEGER PRIMARY KEY,
89 inscripto_id INTEGER NOT NULL,
90 entrega_id INTEGER NOT NULL,
91 numero INTEGER NOT NULL,
93 llegada DATE NOT NULL,
96 compila_ok INTEGER(1),
97 notificado INTEGER(1) NOT NULL DEFAULT 0,
98 mail_respuesta VARCHAR(150) NOT NULL,
99 observaciones VARCHAR(255),
100 UNIQUE (entrega_id, inscripto_id, llegada)
103 CREATE TABLE correccion
105 id INTEGER PRIMARY KEY,
107 entrega_id INTEGER NOT NULL,
108 inscripto_id INTEGER NOT NULL,
110 intento_id INTEGER NOT NULL, -- Último intento exitoso
111 docente_id INTEGER NOT NULL, -- Corrector
113 observaciones VARCHAR(255),
114 UNIQUE (inscripto_id, entrega_id)
119 id INTEGER PRIMARY KEY,
121 intento_id INTEGER NOT NULL,
122 caso_de_prueba_id INTEGER NOT NULL,
124 inicio DATE NOT NULL,
126 memoria_ok INTEGER(1),
127 salida_ok INTEGER(1),
128 observaciones VARCHAR(255),
129 UNIQUE (intento_id, caso_de_prueba_id)
132 -- vim: set et sw=4 ts=4 sts=4 :