isis
5 months ago in SQL
-- create
CREATE TABLE dipendente (
dipendente_id INT NOT NULL PRIMARY KEY,
nome_dipendente varchar(255) NOT NULL,
conome_dipendente varchar(255) NOT NULL,
anniDiServizio_dipendente INT,
eta_dipendente INT
);
CREATE INDEX dipendente
ON dipendente (dipendente_id);
CREATE TABLE pompiere (
pompiere_id INT NOT NULL PRIMARY KEY,
nome_pompiere varchar(255) NOT NULL,
conome_pompiere varchar(255) NOT NULL,
anniDiServizio_pompiere INT,
eta_pompiere INT
);
CREATE INDEX pompiere
ON pompiere (pompiere_id);
CREATE TABLE chiamataUtente (
chiamata_id INT NOT NULL PRIMARY KEY,
chiamata_descrizione varchar(255),
chiamata_provenienza varchar(255) NOT NULL,
chiamata_data date NOT NULL
);
CREATE INDEX chiamataUtente_id
ON chiamataUtente (chiamata_id);
CREATE TABLE ricevitoreChiamate (
ricevitoreChiamate_id INT NOT NULL PRIMARY KEY,
nome_ricevitoreChiamate varchar(255) NOT NULL,
conome_ricevitoreChiamate varchar(255) NOT NULL,
chiamata_id INT,
CONSTRAINT chiamataUtente FOREIGN KEY (chiamata_id)
REFERENCES chiamataUtente(chiamata_id)
);
CREATE INDEX ricevitoreChiamate_id
ON ricevitoreChiamate (ricevitoreChiamate_id);
CREATE TABLE caserma (
caserma_id INT NOT NULL PRIMARY KEY,
nome_caserma varchar(255) NOT NULL,
distretto varchar(255),
anni_caserma INT,
dipendente_id INT,
CONSTRAINT dipendente_id FOREIGN KEY (dipendente_id)
REFERENCES dipendente(dipendente_id),
pompiere_id INT,
CONSTRAINT pompiere_id FOREIGN KEY (pompiere_id)
REFERENCES pompiere(pompiere_id),
ricevitoreChiamate_id INT,
CONSTRAINT ricevitoreChiamate FOREIGN KEY (ricevitoreChiamate_id)
REFERENCES ricevitoreChiamate(ricevitoreChiamate_id)
);
CREATE INDEX caserma
ON caserma (distretto);
ALTER TABLE pompiere
ADD CONSTRAINT distretto
FOREIGN KEY (distretto) REFERENCES caserma(distretto);
-- insert debug
INSERT INTO dipendente VALUES (0001, 'Clark', 'Sales', 5, 10);
INSERT INTO dipendente VALUES (0002, 'Francesco', 'Randis', 0, 18);
INSERT INTO pompiere VALUES (0001, 'Clark', 'Sales', 5, 10);
INSERT INTO dipendente VALUES (0002, 'Francesco', 'Randis', 0, 18);
-- fetch
SELECT * FROM dipendente
SELECT * FROM pompiere
SELECT * FROM chiamataUtente
SELECT * FROM caserma