Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dùvida sobre o banco de dado alura

Baixei esse banco inicial no banco de dados da alura que criei no primeiro curso iniciante de sql;

E estou tentando realizar as atividades das aulas que se seguem e não estou conseguindo pois está aparecendo as seguintes mensagens de erro, que o banco de dado ja existe, e na aula de chave estrangeira vou tentar preencher a tabela como pediu o professor e também da o erro seguinte: como faço para prosseguir?

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas
solução!

Oi, João!! Tudo certo por aí?

Peço desculpas por demorar a te responder.

Como o banco de dados alura já foi criado no primeiro curso, não precisamos repetir esse processo! Logo, pode excluir o comando abaixo do seu arquivo SQL:

CREATE DATABASE alura;

Além disso, sobre o segundo erro que você compartilhou, ele ocorre porque há uma disparidade entre os campos presentes na tabela aluno e os campos que estamos indicando durante a construção do INSERT.

Existem algumas diferenças entre as tabelas criadas no curso PostgreSQL (primeiro) e no curso PostgreSQL: Views, Sub-Consultas e Funções (segundo). Por esse motivo, recomendo que você apague as tabelas do primeiro curso e as crie novamente. Dessa maneira, você conseguirá acompanhar melhor o instrutor e dar continuidade ao seu aprendizado. Para realizar isso, precisaremos seguir as etapas abaixo:

1 - Usar o comando DROP TABLE nas tabelas aluno, curso e aluno_curso:

DROP TABLE aluno;
DROP TABLE curso;
DROP TABLE aluno_curso;

Dessa maneira, excluindo do banco de dados alura tais tabelas.

2 - Criar novamente a tabela aluno:

CREATE TABLE aluno (
    id SERIAL PRIMARY KEY,
    primeiro_nome VARCHAR(255) NOT NULL,
    ultimo_nome VARCHAR(255) NOT NULL,
    data_nascimento DATE NOT NULL
);

3 - Criar a tabela categoria:

CREATE TABLE categoria (
    id SERIAL PRIMARY KEY,
    nome VARCHAR(255) NOT NULL UNIQUE
);

Observação: caso você já tenha executado o comando de criação da tabela categoria, não precisa fazê-lo novamente.

4 - Criar novamente a tabela curso:

CREATE TABLE curso (
    id SERIAL PRIMARY KEY,
    nome VARCHAR(255) NOT NULL,
    categoria_id INTEGER NOT NULL REFERENCES categoria(id)
);

5 - Criar novamente a tabela aluno_curso:

CREATE TABLE aluno_curso (
    aluno_id INTEGER NOT NULL REFERENCES aluno(id),
    curso_id INTEGER NOT NULL REFERENCES curso(id),
    PRIMARY KEY (aluno_id, curso_id)
);

Feito isso, você já pode preencher as tabelas com informações, João! Lembrando que, devido ao fato que apagamos algumas das tabelas do banco de dados, os registros contidos nelas anteriormente também serão perdidos. Contudo, não se preocupe quanto a isso, utilize o ocorrido para praticar o processo de inserção de dados, muito importante em nossos estudos!

João, espero ter ajudado. Caso surjam novas dúvidas, fico à disposição.

Um forte abraço!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Obrigado!