1
CREATE TABLE CIDADE(
ID_CIDADE INT NOT NULL,
NOME VARCHAR(50),
CONSTRAINT PK_FORNECEDOR PRIMARY KEY (ID_CIDADE)
);
CREATE TABLE FORNECEDOR(
CNPJ CHAR(14) NOT NULL,
RAZÃO_SOCIAL VARCHAR(40),
ENDEREÇO VARCHAR(50),
ID_CIDADE INT,
CONSTRAINT PK_FORNECEDOR PRIMARY KEY(CNPJ), CONSTRAINT FK_FORNECEDOR_CIDADE FOREIGN KEY (ID_CIDADE) REFERENCES CIDADE (ID_CIDADE)
);
CREATE TABLE CLIENTE(
CÓDIGO INT NOT NULL,
NOME VARCHAR(40),
ENDEREÇO VARCHAR(22),
ID_CIDADE INT,
CONSTRAINT PK_CLIENTE PRIMARY KEY(CÓDIGO), CONSTRAINT FK_CLIENTE_CIDADE FOREIGN KEY(ID_CIDADE) REFERENCES CIDADE (ID_CIDADE)
);
CREATE TABLE PRODUTO(
CÓDIGO INT NOT NULL,
DESCRIÇÃO VARCHAR(15),
ESTOQUE INT,
VALOR DECIMAL,
CNPJ_FORNECEDOR CHAR(14),
CONSTRAINT PK_PRODUTO PRIMARY KEY(CÓDIGO), CONSTRAINT FK_PRODUTO_FORNECEDOR FOREIGN KEY(CNPJ_FORNECEDOR) REFERENCES FORNECEDOR(CNPJ)
);
CREATE TABLE NOTA(
NÚMERO INT NOT NULL,
DATA_NOTA DATE,
TIPO_PAGTO CHAR(6),
CÓDIGO_CLIENTE INT,
CONSTRAINT PK_NOTA PRIMARY KEY(NÚMERO), CONSTRAINT FK_NOTA_CLIENTE FOREIGN KEY(CÓDIGO_CLIENTE) REFERENCES CLIENTE(CÓDIGO)
);
CREATE TABLE ITEM(
NÚMERO_NOTA INT,
CÓDIGO_PRODUTO INT,
QTDE INT,
CONSTRAINT PK_NOTA PRIMARY KEY(NÚMERO_NOTA,CÓDIGO_PRODUTO), CONSTRAINT FK_ITEM_NOTA FOREIGN KEY(NÚMERO_NOTA) REFERENCES NOTA(NÚMERO), CONSTRAINT FK_ITEM_PRODUTO FOREIGN KEY(CÓDIGO_PRODUTO) REFERENCES PRODUTO(CÓDIGO)
);
INSERT INTO CIDADE VALUES (1,'MARÍLIA');
INSERT INTO CIDADE VALUES (2, 'BAURU');
INSERT INTO FORNECEDOR VALUES ('17624092000185','Alpha Soluções em Informática','Rua 9 de Julho, 738',1);
INSERT INTO FORNECEDOR VALUES ('47132482000176','MicroSystem Informática','Av. da Saudade, 98',2);
INSERT INTO FORNECEDOR VALUES ('56021482000112','J.W. Sistemas','Rua Paes Leme, 172',1);
INSERT INTO FORNECEDOR VALUES ('27385372000136','ADABAS S/A','Rua 9 de Julho, 829',1);
SELECT * FROM FORNECEDOR;
INSERT INTO CLIENTE VALUES (1,'Francisco Santos','Rua XV de Novembro, 16',NULL);
INSERT INTO CLIENTE VALUES (2,'Claudete Pereira','Av. da Saudade, 98',NULL);
INSERT INTO CLIENTE VALUES (3,'José Souza','Rua das Bromélias, 871',NULL);
INSERT INTO CLIENTE VALUES (4,'Sônia Santos Oliveira','Rua 9 de Julho, 829',2);
SELECT * FROM CLIENTE;
INSERT INTO PRODUTO VALUES ('100','Micro Pentium IV',14,850.00,'56021482000112');
ALTER TABLE PRODUTO MODIFY COLUMN DESCRIÇÃO VARCHAR(20); /* ALTEREI A COLUNA PARA ACOMODAR O VALOR ACIMA */
INSERT INTO PRODUTO VALUES ('200','Impressora EPSON',8,280.00,'27385372000136');
INSERT INTO PRODUTO VALUES ('300','SCANNER GENIUS',9,190.00,NULL);
INSERT INTO PRODUTO VALUES ('400','Disquete 3M',30,10.00,'17624092000185');
SELECT * FROM PRODUTO;
INSERT INTO NOTA VALUES (1001,'2002-05-18','À vista',2);
ALTER TABLE NOTA MODIFY COLUMN TIPO_PAGTO CHAR(7); /* ALTEREI A COLUNA PARA ACOMODAR O VALOR ACIMA */
INSERT INTO NOTA VALUES (1002,'2002-05-18','À vista', NULL);
INSERT INTO NOTA VALUES (1003,'2002-05-19','À prazo',4);
INSERT INTO NOTA VALUES (1004,'2002-05-20','À vista',3);
SELECT * FROM NOTA;
Questions 1 4 and 5 are already solved. My doubt is how to proceed in lesson 2.
You’ll have to use
GROUP BY
together withSUM
to resolve this issue– Sorack