· 6 years ago · May 30, 2019, 12:22 AM
1CREATE DATABASE if NOT EXISTS loja132;
2USE loja132;
3
4DROP TABLE IF EXISTS utilizadores;
5DROP TABLE IF EXISTS clientes;
6DROP TABLE IF EXISTS distritos;
7DROP TABLE IF EXISTS encomendas;
8DROP TABLE IF EXISTS tiposencomenda;
9DROP TABLE IF EXISTS estadosencomenda;
10DROP TABLE IF EXISTS linhasencomenda;
11DROP TABLE IF EXISTS artigos;
12DROP TABLE IF EXISTS categorias;
13DROP TABLE IF EXISTS iva;
14
15CREATE TABLE utilizadores
16(
17id INT(11)NOT NULL PRIMARY KEY AUTO_INCREMENT,
18email VARCHAR(100),
19PASSWORD VARCHAR(20),
20idCliente INT(11),
21total_acessos INT,
22
23INDEX bat (idCliente),
24FOREIGN KEY bat (idCliente) REFERENCES clientes(id)
25
26);
27
28CREATE TABLE clientes
29(
30id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
31nome VARCHAR(100),
32morada VARCHAR(100),
33data_registo DATE,
34nrEncomendas INT(11),
35idDistrito INT(11),
36
37INDEX faq (idDistrito),
38FOREIGN KEY faq (idDistrito) REFERENCES distritos(id)
39
40);
41
42CREATE TABLE distritos
43(
44id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
45distrito VARCHAR(50)
46
47);
48
49CREATE TABLE encomendas
50(
51id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
52idCliente INT(11),
53DATA DATE,
54idEstado INT(11),
55idTipo INT(11),
56valor FLOAT,
57
58INDEX box (idCliente),
59FOREIGN KEY box (idCliente) REFERENCES clientes(id),
60
61INDEX faqst (idEstado),
62FOREIGN KEY faqst (idEstado) REFERENCES estadosencomenda(id),
63
64INDEX tiposd (idTipo),
65FOREIGN KEY tiposd (idTipo) REFERENCES tiposencomenda(id)
66
67);
68
69CREATE TABLE tiposencomenda
70(
71id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
72tipo VARCHAR(20)
73
74);
75
76CREATE TABLE estadosencomenda
77(
78id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
79estado VARCHAR(20)
80
81);
82
83CREATE TABLE linhasencomenda
84(
85id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
86idEncomenda INT(11),
87idArtigo INT(11),
88quantidade INT(11),
89
90INDEX linha (idEncomenda),
91FOREIGN KEY linha (idEncomenda) REFERENCES encomendas(id),
92
93INDEX lin (idArtigo),
94FOREIGN KEY lin (idArtigo) REFERENCES artigos(id)
95
96);
97
98CREATE TABLE artigos
99(
100id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
101descricao VARCHAR(100),
102preco FLOAT,
103idIva INT(11),
104stock INT(11),
105idCategoria INT(11),
106
107INDEX art(idIva),
108FOREIGN KEY art (idIva) REFERENCES iva(id),
109
110INDEX tar(idCategoria),
111FOREIGN KEY tar (idCategoria) REFERENCES categorias(id)
112);
113
114CREATE TABLE categorias
115(
116id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
117categoria VARCHAR(50)
118
119);
120
121CREATE TABLE iva
122(
123id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
124taxa FLOAT
125
126);