
CREATE TABLE IF NOT EXISTS aulas_docentes_materias_horarios
(
    id_aula_docente_materia_horario serial,
    cuatrimestre character(1) DEFAULT '1'::bpchar,
    anio character(4),
    id_tiporeserva integer DEFAULT 1,
    id_aula integer,
    id_usuario integer,
    id_lectivo integer DEFAULT 0,
    id_turno_examen integer DEFAULT 0,
    id_tipo_turno_examen integer DEFAULT 0,
    tipo_clase character(1) DEFAULT 'A'::bpchar,
    fecha date,
    hora_desde character(5),
    hora_hasta character(5),
	letra_dia_semana character(3),
    numero_dia_semana character(3),
    
    observaciones text,
    auditoria timestamp without time zone DEFAULT now(),
    CONSTRAINT aulas_docentes_materias_horarios_pkey PRIMARY KEY (id_aula_docente_materia_horario),
    CONSTRAINT aulas_docentes_materias_horarios_id_docente_key UNIQUE (cuatrimestre, anio, id_tiporeserva, id_aula, id_lectivo, id_turno_examen, id_tipo_turno_examen, tipo_clase, letra_dia_semana, hora_desde, hora_hasta, numero_dia_semana),
    CONSTRAINT aulas_docentes_materias_horarios_id_tiporeserva_fkey FOREIGN KEY (id_tiporeserva)
        REFERENCES tiporeserva (id_reserva) MATCH SIMPLE
        ON UPDATE NO ACTION
        ON DELETE NO ACTION
)
WITH (
    OIDS = FALSE
)
TABLESPACE pg_default;

ALTER TABLE IF EXISTS aulas_docentes_materias_horarios
    OWNER to gcagnola;

COMMENT ON COLUMN aulas_docentes_materias_horarios.tipo_clase
    IS 'T: Teoria
P: Practica
A: Ambas';

-----------------------------------
CREATE TABLE IF NOT EXISTS aulas_docentes
(
    id_aula_docente serial,
	id_aula_docente_materia_horario integer,
    id_docente integer,
    CONSTRAINT aulas_docentes_pkey PRIMARY KEY (id_aula_docente),
    CONSTRAINT aulas_docentes_id_docente_key UNIQUE (id_aula_docente_materia_horario, id_docente)
)
WITH (
    OIDS = FALSE
);

ALTER TABLE IF EXISTS aulas_docentes
    OWNER to gcagnola;

----------------------------------

CREATE TABLE IF NOT EXISTS aulas_materias
(
    id_aula_materia serial,
	id_aula_docente_materia_horario integer,
    id_materia integer,
    CONSTRAINT aulas_materias_pkey PRIMARY KEY (id_aula_materia),
    CONSTRAINT aulas_materias_id_materia_key UNIQUE (id_aula_docente_materia_horario, id_materia)
)
WITH (
    OIDS = FALSE
);

ALTER TABLE IF EXISTS aulas_materias
    OWNER to gcagnola;

----------------------------------

CREATE TABLE IF NOT EXISTS aulas_movidas
(
    id_aula_movida serial,
	id_aula_docente_materia_horario integer,
    fecha timestamp without time zone,
	tipo char(1),
    motivo text,
    hora_desde character(5),
    hora_hasta character(5),
	id_aula integer,
    CONSTRAINT aulas_movidas_pkey PRIMARY KEY (id_aula_movida),
    CONSTRAINT aulas_movidas_id_aula_movida_key UNIQUE (id_aula_docente_materia_horario, fecha, tipo, hora_desde, hora_hasta, id_aula)
)
WITH (
    OIDS = FALSE
);

ALTER TABLE IF EXISTS aulas_movidas
    OWNER to gcagnola;
COMMENT ON COLUMN aulas_movidas.tipo
    IS 'S: Suspendida R: reprogramada';
    -------------
