· 10 years ago · Sep 05, 2016, 07:12 PM
1CREATE TABLE Gruppo(
2 ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
3 Tipologia VARCHAR(45) NULL
4) ENGINE = InnoDB;
5
6CREATE TABLE Utenza(
7 Username VARCHAR(45) PRIMARY KEY,
8 Password VARCHAR (64) NOT NULL,
9 Nome VARCHAR(20) NOT NULL,
10 Cognome VARCHAR(20) NOT NULL,
11 Descrizione VARCHAR(50) NULL,
12 Gruppo_utente INT(10) NOT NULL,
13
14 FOREIGN KEY (Gruppo_utente)
15 REFERENCES Gruppo(ID)
16 ON DELETE NO ACTION
17) ENGINE = InnoDB;
18
19CREATE TABLE Citta(
20 Nome VARCHAR(15) PRIMARY KEY,
21 Cap INT NULL,
22 Provincia VARCHAR(15) NULL
23) ENGINE = InnoDB;
24
25CREATE TABLE Stato_ordini(
26 ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
27 Titolo VARCHAR(20) ,
28 Descrizione VARCHAR(50)
29) ENGINE = InnoDB;
30
31CREATE TABLE Cliente(
32 CF_PIVA VARCHAR(50) PRIMARY KEY,
33 Via VARCHAR(50) NULL,
34 Civico INT NULL,
35 Telefono INT NULL,
36 Note VARCHAR(60) NULL,
37 Localita VARCHAR(15) NULL,
38 User VARCHAR(45) NULL,
39 Stato INT NULL,
40 FOREIGN KEY (User)
41 REFERENCES Utenza(Username),
42 FOREIGN KEY (Localita)
43 REFERENCES Citta(Nome),
44 FOREIGN KEY (Stato)
45 REFERENCES Stato_ordini(ID)
46) ENGINE = InnoDB;
47
48
49
50CREATE TABLE Ordine(
51 ID INT NOT NULL AUTO_INCREMENT,
52 Cliente VARCHAR(50) NOT NULL,
53 User VARCHAR(45) NULL,
54 Ritiro INT NOT NULL,
55 Data VARCHAR(10) NOT NULL,
56 Note VARCHAR(50) NULL,
57 Data_completamento VARCHAR(10) NULL,
58 Stato INT NOT NULL,
59 PRIMARY KEY (ID),
60 FOREIGN KEY (Cliente)
61 REFERENCES Cliente(CF_PIVA)
62 ON DELETE NO ACTION
63 ON UPDATE NO ACTION,
64 FOREIGN KEY (User)
65 REFERENCES Utenza(Username)
66 ON DELETE NO ACTION
67 ON UPDATE NO ACTION
68) ENGINE = InnoDB;
69
70CREATE TABLE Marchio(
71 Nome VARCHAR(45) PRIMARY KEY,
72 Descrizione VARCHAR (45) NULL
73) ENGINE = InnoDB;
74
75CREATE TABLE Tipologia_prodotto(
76 Descrizione VARCHAR(45) PRIMARY KEY
77) ENGINE = InnoDB;
78
79CREATE TABLE Prodotto (
80 Codice VARCHAR(50) PRIMARY KEY,
81 Marchio VARCHAR(45) NOT NULL,
82 Tipologia VARCHAR(45) NOT NULL,
83 Descrizione VARCHAR(250) NULL,
84 Prezzo INT NOT NULL,
85 Peso VARCHAR(8) NOT NULL,
86 Volume VARCHAR(6) NULL,
87 Quantita INT NOT NULL,
88 Vendibile INT NOT NULL,
89
90 FOREIGN KEY (Tipologia)
91 REFERENCES Tipologia_prodotto(Descrizione)
92 ON DELETE NO ACTION
93 ON UPDATE NO ACTION,
94
95 FOREIGN KEY (Marchio)
96 REFERENCES Marchio(Nome)
97 ON DELETE NO ACTION
98 ON UPDATE NO ACTION
99) ENGINE = InnoDB;
100
101CREATE TABLE Rigo_ordine (
102 ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
103 Ordine INT NOT NULL,
104 Prodotto VARCHAR(50) NOT NULL,
105 Quantita INT NOT NULL,
106 FOREIGN KEY (Ordine) REFERENCES Ordine(ID)
107 ON DELETE NO ACTION
108 ON UPDATE NO ACTION,
109 FOREIGN KEY (Prodotto) REFERENCES Prodotto(Codice)
110 ON DELETE NO ACTION
111 ON UPDATE NO ACTION
112) ENGINE = InnoDB;
113
114CREATE TABLE Ubicazione(
115 ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
116 Sezione VARCHAR(2) NOT NULL,
117 Scaffale VARCHAR(3) NOT NULL,
118 Ripiano VARCHAR(2) NOT NULL,
119 Scorta INT NOT NULL DEFAULT 0
120) ENGINE = InnoDB;
121
122CREATE TABLE Riferimento_ubicazione(
123 ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
124 Ubicazione INT NOT NULL,
125 Prodotto VARCHAR(50) NOT NULL,
126 FOREIGN KEY (Ubicazione) REFERENCES Ubicazione(ID)
127 ON DELETE NO ACTION
128 ON UPDATE NO ACTION,
129 FOREIGN KEY (Prodotto) REFERENCES Prodotto(Codice)
130 ON DELETE NO ACTION
131 ON UPDATE NO ACTION
132) ENGINE = InnoDB;
133
134
135CREATE TABLE IF NOT EXISTS `mydb`.`utenza` (
136 `ID` INT NOT NULL AUTO_INCREMENT,
137 `username` VARCHAR(45) NOT NULL,
138 `password` VARCHAR(64) NOT NULL COMMENT 'SHA2 512 hash -> 64 bytes',
139 `tipologia` INT(11) NOT NULL,
140 `attivo` INT NOT NULL,
141 `descrizione` VARCHAR(50) NULL,
142 PRIMARY KEY (`ID`))
143ENGINE = InnoDB