DROP TABLE CANTINE;
DROP TABLE VINI;
DROP TABLE NEGOZI;

CREATE TABLE CANTINE (
	CID CHAR(3) NOT NULL PRIMARY KEY,
	REGIONE VARCHAR(25) NOT NULL);

CREATE TABLE VINI (
	CODV CHAR(5) NOT NULL PRIMARY KEY,
	NOME VARCHAR(30) NOT NULL,
	CID CHAR(3) NOT NULL REFERENCES CANTINE,
	ANNO SMALLINT NOT NULL CHECK (ANNO > 1900),
	PUNTEGGIO DEC(3,1) NOT NULL CHECK(PUNTEGGIO BETWEEN 0 AND 10)	);

CREATE TABLE NEGOZI (
	IDNEGOZIO CHAR(3) NOT NULL,
	CODV CHAR(5) NOT NULL  REFERENCES VINI,
	PREZZO DEC(6,2) NOT NULL CHECK(PREZZO > 0),
	NUMBOTTIGLIE SMALLINT CHECK (NUMBOTTIGLIE > 0),
	PRIMARY KEY (IDNEGOZIO,CODV)    				);

INSERT INTO CANTINE VALUES
('C01','Emilia Romagna'),
('C02','Emilia Romagna'),
('C03','Toscana'),
('C04','Toscana'),
('C05','Abruzzo'),
('C06','Abruzzo')
;

INSERT INTO VINI VALUES
('V0111','Sangiovese','C01',2010,8.2),
('V0112','Sangiovese Riserva','C01',2008,9.0),
('V0113','Sangiovese Riserva','C01',2009,8.0),

('V0200','Sangiovese','C02',2010,8.5),
('V0201','Sangiovese','C02',2011,8.0),
('V0202','Sangiovese','C02',2012,7.9),

('V0300','Sassicaia','C03',2008,9.5),

('V0400','Morellino','C04',2010,8.5),
('V0401','Vino Nobile','C04',2011,7.2),


('V0510','Trebbiano DOC','C05',2012,7.5),
('V0520','Trebbiano Riserva','C05',2006,8.2),

('V0610','Trebbiano DOC','C06',2012,8.1),
('V0620','Montepulciano','C06',2011,8.3) 
;


INSERT INTO NEGOZI VALUES
('N11','V0111',4.75,30),
('N11','V0112',8.75,15),
('N11','V0200',5.50,50),

('N11','V0520',9.30,20),
('N11','V0610',5.25,15),
('N11','V0620',4.50,10),

('N22','V0111',5.00,100),
('N22','V0112',7.50,30),
('N22','V0200',5.20,20),
('N22','V0202',6.75,8),

('N22','V0300',40.00,15),
('N22','V0400', 8.00,35),
('N22','V0401',12.00,11),

('N22','V0520',9.00,20),
('N22','V0610',5.70,20),
('N22','V0620',5.00,5),

('N33','V0200',6.00,5),

('N33','V0300',35.00,2),
('N33','V0400',7.50,7),
('N33','V0401',10.50,17)
;


GRANT SELECT ON TABLE CANTINE TO PUBLIC;

GRANT SELECT ON TABLE VINI TO PUBLIC;

GRANT SELECT ON TABLE NEGOZI TO PUBLIC;

