Untitled
unknown
plain_text
2 years ago
1.3 kB
5
Indexable
PRAGMA foreign_keys = ON;
.headers on
.mode column
/*CREACIÓN DE TABLAS*/
DROP TABLE IF EXISTS espacio;
CREATE TABLE espacio (
id_espacio INTEGER PRIMARY KEY AUTOINCREMENT,
nombre TEXT,
descripcion TEXT,
capacidad INTEGER,
ordenador INTEGER,
pizarra INTEGER,
proyector INTEGER,
CHECK (nombre regexp '^[a-zA-ZñÑáéíóúÁÉÍÓÚ]+$'),
CHECK (capacidad BETWEEN 0 AND 30),
CHECK (ordenador IN (0,1)),
CHECK (pizarra IN (0,1)),
CHECK (proyector IN (0,1))
);
DROP TABLE IF EXISTS reserva;
CREATE TABLE reserva (
codigo_reserva INTEGER PRIMARY KEY AUTOINCREMENT,
duracion INTEGER,
hora INTEGER,
motivo TEXT,
fecha_reserva TEXT,
id_espacio INTEGER,
FOREIGN KEY (id_espacio) REFERENCES espacio(id_espacio)
);
CREATE INDEX recursos on espacio(ordenador, pizarra, proyector);
DROP VIEW IF EXISTS datos_reserva;
CREATE VIEW datos_reserva AS SELECT cod_reserva, hora, fecha_reserva, nombre, capacidad, ordenador, pizarra, proyector from reserva, espacio where reserva.id_espacio = espacio.id_espacio;
CREATE TRIGGER borrado_espacio before delete ON ESPACIO
BEGIN
INSERT INTO historial_espacio (nombre , descripcion, fecha ) values (old.nombre , old.descripcion , DATATIME());
END;Editor is loading...