DROP database IF EXISTS harrybooks
CREATE DATABASE IF NOT EXISTS harrybooks;


USE harrybooks;

CREATE TABLE filiali
(
  numero_filiale INT auto_INCREMENT PRIMARY KEY,
  nome char(12) NOT NULL,
  sede char(12) NOT NULL,
  numero_dipendenti INT NOT NULL
);
CREATE TABLE editori
(
  codice CHAR (2) PRIMARY KEY,
  nome CHAR(12) NOT NULL,
  citta CHAR(10) NOT NULL,
  stato CHAR (2) NOT NULL
);
CREATE TABLE autori
(
  numero_autore INT AUTO_INCREMENT PRIMARY KEY,
  cognome CHAR (12) NOT NULL,
  nome CHAR(12) NOT NULL
);
CREATE TABLE libri
(
  codice CHAR(4) PRIMARY KEY,
  titolo CHAR(30) NOT NULL,
  codice_editore CHAR(2),
  tipo CHAR(3) NOT NULL,
  prezzo DECIMAL(2,2) DEFAULT 0,
  paperback  ENUM ('Y','N'),
  FOREIGN KEY(codice_editore) REFERENCES editori(codice)
);
CREATE TABLE hascritto
(
  codice_libro CHAR(4) ,
  numero_autore INT ,
  numero_sequenziale INT NOT NULL,
  PRIMARY KEY(numero_autore,codice_libro),
  FOREIGN KEY(codice_libro) REFERENCES libri(codice),
  FOREIGN KEY(numero_autore) REFERENCES autori(numero_autore)
);	
CREATE TABLE scorte
(
  codice_libro CHAR(4),
  numero_filiale INT,
  num_copie_disponibili INT,
  PRIMARY KEY(codice_libro,numero_filiale),
  FOREIGN KEY(codice_libro) REFERENCES libri(codice),
  FOREIGN KEY(numero_filiale) REFERENCES filiali(numero_filiale)
);
  
