Vini-eduardo / servidor

0 stars 0 forks source link

Script SQL #2

Open profRenatoOliveira1 opened 1 month ago

profRenatoOliveira1 commented 1 month ago

Vinícius, algumas modificações a serem feitas no seu script SQL

  1. O nome da PK (chave primária) da tabela pedido_venda deve ser id_pedido como está no DER; (não que o jeito que você fez esteja errado, mas só para mantermos o padrão e evitarmos problemas quando fizemos as implementações)
  2. Na tabela pedido_venda está faltando o atributo data_pedido de acordo com o DER;
  3. Nos INSERTS da tabela Carro, coloque o valor sem as aspas, já que ele é um valor inteiro, do jeito que está o banco vai tratar ele como string;
  4. Nos INSERTS da tabela Cliente, cadastrar apenas os números no telefone, sem traços, espaços, pontos ou qualquer outra coisa;
  5. Nos INSERTS da tabela pedido_venda está faltando a data que o pedido foi emitido;
  6. Para ficar mais realista, coloque valores mais próximos a carros de verdade, lembrando que o SGBD separa os valores usando ponto, portanto um carro de cem mil reais deve ser representado como 100000.00;
  7. SUGESTÃO 1. Sempre coloque o SELECT depois do INSERT, caso contrário o resultado da query será uma tabela vazia;
  8. SUGESTÃO 2. Você pode fazer apenas um INSERT para todos os registros separados por vírgula, por exemplo:
INSERT INTO carro (marca, modelo, ano, cor) 
VALUES 
('Mitsubishi', 'Lancer', 2008, 'vermelho'),
('Chevrolet', 'Onix', 2022, 'prata'),
('Ford', 'Focus', 2008, 'prata'),
('Lotus', 'Evora', 2012, 'branco'),
('Ferrari', 'F40', 1987, 'vermelho');

Qualquer dúvida me procure.

profRenatoOliveira1 commented 1 month ago

Outra coisa que notei agora, o INSERT da tabela pedido_venda provavelmente resultará em erro na primeira execução pois não existe nenhum cliente com ID 6 ou 7, já que só 5 clientes estão sendo criados na tabela cliente.

Vini-eduardo commented 1 month ago

Erros foram resolvidos.

profRenatoOliveira1 commented 4 weeks ago

Vinícius, algumas atualizações que você deve fazer no script SQL:

  1. O atributo data_pedido da tabela pedido_venda deve ser do tipo date, assim como está no DER;
  2. No INSERT da tabela cliente, o CPF e o telefone devem estar entre aspas (pois ele são do tipo VARCHAR);
  3. Ainda no INSERT da tabela cliente, remova os hífens dos telefone, deve estar apenas os números;

Ao final deve estar assim:

CREATE TABLE pedido_venda (
    id_pedido SERIAL PRIMARY KEY,
    id_carro INTEGER NOT NULL,
    id_cliente INTEGER NOT NULL,
    data_pedido DATE NOT NULL,
    valor_pedido DECIMAL (15) NOT NULL,
    FOREIGN KEY (id_carro) REFERENCES carro(id_carro),
    FOREIGN KEY (id_cliente) REFERENCES cliente(id_cliente)
);
INSERT INTO cliente (nome, cpf, telefone) VALUES 
    ('Cláudio', '03361081092', '983245821'),
    ('Cleber', '59281321076', '994356932'),
    ('Pedro', '76557261088', '9934549843'),
    ('Pedro', '72387860532', '991638211'),
    ('Jorge', '46578937421', '991148900');
profRenatoOliveira1 commented 4 weeks ago

Alterar também o nome do arquivo, no seu repositório está init.sql.sql, deve apenas init.sql