-- ============================================================================
-- Seconda esercitazione 
-- Creazione del database da utilizzare per l'esercizio 3
-- ============================================================================

 DROP TABLE Genitori;
 DROP TABLE Persone;

CREATE TABLE Persone(
  nome                  VARCHAR(20)    PRIMARY KEY,
  eta                   NUMERIC(3),
  reddito               NUMERIC(10),
  sesso                 CHAR CHECK (sesso = 'M' OR sesso = 'F'),
  residenza             VARCHAR(20)
  );

CREATE TABLE Genitori(
  genitore              VARCHAR(20),
  figlio                VARCHAR(20),
  ordFiglio             NUMERIC(2),
  PRIMARY KEY (Figlio,Genitore),
  FOREIGN KEY (Figlio)   References PERSONE (Nome),
  FOREIGN KEY (Genitore) References PERSONE (Nome) 
  );

INSERT INTO Persone VALUES ('Aldo'         , 25   , 15   , 'M' , 'Roma');
INSERT INTO Persone VALUES ('Amelia'       , 79   , 30   , 'F' , 'Palermo');
INSERT INTO Persone VALUES ('Andrea'       , 30   , 21   , 'M' , 'Milano');
INSERT INTO Persone VALUES ('Anna'         , 50   , 35   , 'F' , NULL);
INSERT INTO Persone VALUES ('AnnaMaria'    , 45   , 30   , 'F' , 'Roma');
INSERT INTO Persone VALUES ('AntonGiulio'  , 45   , 40   , 'M' , 'Napoli');
INSERT INTO Persone VALUES ('Beatrice'     , 79   , NULL , 'F' , 'Palermo');
INSERT INTO Persone VALUES ('Ezechiele'    , 10   , 15   , 'M' , 'Roma');
INSERT INTO Persone VALUES ('Filippo'      , 20   , 30   , 'M' , 'Roma');
INSERT INTO Persone VALUES ('Franco'       , 60   , 20   , 'M' , NULL);
INSERT INTO Persone VALUES ('Giulia'       , 20   , NULL , 'F' , 'Bolzano');
INSERT INTO Persone VALUES ('Leonardo'     , 79   , NULL , 'M' , 'Milano');
INSERT INTO Persone VALUES ('Luigi'        , 50   , 40   , 'M' , 'Napoli');
INSERT INTO Persone VALUES ('Luisa'        , 75   , 87   , 'F' , 'Milano');
INSERT INTO Persone VALUES ('Maria'        , 60   , 40   , 'F' , 'Milano');
INSERT INTO Persone VALUES ('Michelangelo' , NULL , 30   , 'M' , 'Torino');
INSERT INTO Persone VALUES ('Olga'         , 30   , 41   , 'F' , 'Palermo');
INSERT INTO Persone VALUES ('Sergio'       , 85   , 35   , 'M' , 'Napoli');

INSERT INTO Genitori VALUES ('Amelia'       , 'AnnaMaria'   , NULL);
INSERT INTO Genitori VALUES ('Anna'         , 'Filippo'     , 2);
INSERT INTO Genitori VALUES ('Anna'         , 'Olga'        , 1);
INSERT INTO Genitori VALUES ('AnnaMaria'    , 'Ezechiele'   , 1);
INSERT INTO Genitori VALUES ('AntonGiulio'  , 'Ezechiele'   , NULL);
INSERT INTO Genitori VALUES ('Beatrice'     , 'AntonGiulio' , 1);
INSERT INTO Genitori VALUES ('Franco'       , 'Aldo'        , 2);
INSERT INTO Genitori VALUES ('Franco'       , 'Andrea'      , 1);
INSERT INTO Genitori VALUES ('Leonardo'     , 'AntonGiulio' , 1);
INSERT INTO Genitori VALUES ('Luigi'        , 'Filippo'     , 1);
INSERT INTO Genitori VALUES ('Luigi'        , 'Olga'        , 2);
INSERT INTO Genitori VALUES ('Luisa'        , 'Luigi'       , 2);
INSERT INTO Genitori VALUES ('Luisa'        , 'Maria'       , 1);
INSERT INTO Genitori VALUES ('Maria'        , 'Aldo'        , 2);
INSERT INTO Genitori VALUES ('Maria'        , 'Andrea'      , 1);
INSERT INTO Genitori VALUES ('Maria'        , 'Giulia'      , 3);
INSERT INTO Genitori VALUES ('Michelangelo' , 'AnnaMaria'   , 1);
INSERT INTO Genitori VALUES ('Sergio'       , 'Franco'      , 1);

commit;
