· 7 years ago · Oct 29, 2018, 05:38 PM
1CREATE DATABASE IF NOT EXISTS Impiegati;
2USE Impiegati;
3CREATE TABLE IF NOT EXISTS Impiegati(
4 codice INT AUTO_INCREMENT,
5 nome VARCHAR(20) NOT NULL,
6 cognome VARCHAR(20) NOT NULL,
7 qualifica VARCHAR(20) NOT NULL,
8 email VARCHAR(40),
9 sito VARCHAR(40) DEFAULT 'www.uniba.it',
10 PRIMARY KEY(codice)
11);
12
13INSERT INTO Impiegati (nome, cognome, qualifica, email) VALUES
14('Mario', 'Verdi', 'Professore', 'mv@uniba.it'),
15('Mario', 'Neri', 'Ricercatore', null),
16('Giuseppe', 'Verdi', 'Direttore', null),
17('Giuseppe', 'Rossi', 'Professore', 'gr@libero.it'),
18('Giuseppe', 'Baudo', 'Ricercatore', null),
19('Andrea', 'Scotti', 'Professore', null),
20('Andrea', 'Mazzini', 'Professore', null),
21('Mario', 'Verdi', 'Custode', null),
22('Franco', 'Franchi', 'Ricercatore', null);
23
24CREATE TABLE IF NOT EXISTS Dipartimenti(
25 codice CHAR(3),
26 nome VARCHAR(20),
27 indirizzo VARCHAR(50),
28 PRIMARY KEY(codice),
29 UNIQUE KEY(nome)
30);
31
32INSERT INTO Dipartimenti VALUES
33('A1', 'Informatica', null),
34('A2', 'Chimica', 'Via Orabona'),
35('A3', 'Matematica', null)
36
37ALTER TABLE Impiegati ADD COLUMN dipartimento CHAR(3);
38ALTER TABLE Impiegati ADD CONSTRAINT dip FOREIGN KEY(dipartimento) REFERENCES dipartimenti(codice);
39
40UPDATE Impiegati SET dipartimento = 'A1' WHERE codice = 1 OR codice = 2 OR codice = 3;
41UPDATE Impiegati SET dipartimento = 'A2' WHERE codice = 4 OR codice = 5 OR codice = 6;
42UPDATE Impiegati SET dipartimento = 'A3' WHERE codice = 7 OR codice = 8 OR codice = 9;
43UPDATE Impiegati SET dipartimento = 'A4' WHERE codice = NULL;