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 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 BOOLEAN NOT NULL,
79 activo BOOLEAN NOT NULL DEFAULT 1,
80 parametros VARCHAR(255),
81 codigo_retorno INTEGER DEFAULT 0,
82 tiempo_cpu FLOAT DEFAULT NULL,
83 UNIQUE (ejercicio_id, nombre)
88 id INTEGER PRIMARY KEY,
90 inscripto_id INTEGER NOT NULL,
91 entrega_id INTEGER NOT NULL,
92 numero INTEGER NOT NULL,
94 llegada DATE NOT NULL,
100 mail_respuesta VARCHAR(150) NOT NULL,
101 observaciones VARCHAR(255),
102 UNIQUE (entrega_id, inscripto_id, llegada)
105 CREATE TABLE correccion
107 id INTEGER PRIMARY KEY,
109 entrega_id INTEGER NOT NULL,
110 inscripto_id INTEGER NOT NULL,
112 intento_id INTEGER NOT NULL, -- Último intento exitoso
113 docente_id INTEGER NOT NULL, -- Corrector
115 observaciones VARCHAR(255),
116 UNIQUE (inscripto_id, entrega_id)
121 id INTEGER PRIMARY KEY,
123 intento_id INTEGER NOT NULL,
124 caso_de_prueba_id INTEGER NOT NULL,
126 inicio DATE NOT NULL,
129 observaciones VARCHAR(255),
130 UNIQUE (intento_id, caso_de_prueba_id)
133 -- vim: set et sw=4 ts=4 sts=4 :