Trabalhando com bancos de dados em C#: PostgreSQL e MongoDB para iniciantes

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Introdução: por que um desenvolvedor C# precisa de banco de dados?

Qualquer aplicação moderna — de um blog simples a um sistema ERP corporativo — armazena dados. Sem um banco de dados (BD), é impossível garantir armazenamento persistente, busca rápida e integridade das informações. Para um desenvolvedor C#, saber trabalhar com bancos de dados não é apenas um diferencial, mas uma habilidade obrigatória. Neste artigo, vamos explorar dois SGBDs populares: o relacional PostgreSQL e o orientado a documentos MongoDB. Você aprenderá como conectar-se a eles a partir de uma aplicação .NET e realizar operações básicas (CRUD). O artigo é voltado para iniciantes, então vamos progredir da instalação até o primeiro código funcional.



1. Preparação do ambiente e instalação dos drivers

Antes de escrever código, é necessário instalar os próprios bancos de dados e adicionar os pacotes NuGet correspondentes ao projeto C#.



1.1. Instalação do PostgreSQL e MongoDB

  • PostgreSQL: Baixe a versão mais recente do site oficial postgresql.org. Durante a instalação, lembre-se da porta (padrão 5432) e da senha do superusuário postgres.
  • MongoDB: Baixe a Community Edition em mongodb.com. Instale como serviço. Para maior comodidade, você também pode instalar o MongoDB Compass — uma interface gráfica para visualizar dados.

Após a instalação, verifique se os serviços estão em execução. Para testar, use a linha de comando (para PostgreSQL: psql -U postgres, para MongoDB: mongosh).



1.2. Criação do projeto e instalação dos pacotes

Crie um aplicativo de console .NET 8:

dotnet new console -n DatabaseDemocd DatabaseDemo

Agora instale os drivers necessários:

// Para PostgreSQLdotnet add package Npgsql

// Para MongoDBdotnet add package MongoDB.Driver

Npgsql é um provedor .NET completo para PostgreSQL. MongoDB.Driver é o driver oficial da MongoDB, Inc.



2. Trabalhando com PostgreSQL em C#

PostgreSQL é um SGBD objeto-relacional. Os dados são armazenados em tabelas, relacionadas entre si por meio de chaves estrangeiras. Para trabalhar, usaremos consultas SQL puras através do Npgsql, para que você entenda a mecânica de conexão e execução de comandos.



2.1. Conexão ao servidor e criação de tabela

Primeiro, crie um banco de dados (por exemplo, shopdb) via psql ou através de código. No código, nos conectaremos a um BD já existente. Vamos escrever um método para criar a tabela Products:

using Npgsql;

string connectionString = "Host=localhost;Port=5432;Database=shopdb;Username=postgres;Password=your_password";

using var connection = new NpgsqlConnection(connectionString);connection.Open();

string createTable = @"CREATE TABLE IF NOT EXISTS Products ( Id SERIAL PRIMARY KEY, Name VARCHAR(100) NOT NULL, Price DECIMAL(10,2) NOT NULL, Quantity INT DEFAULT 0);";

using var command = new NpgsqlCommand(createTable, connection);command.ExecuteNonQuery();Console.WriteLine("Tabela criada.");

Observe: usamos using para fechar automaticamente a conexão. O tipo SERIAL cria automaticamente um campo auto-incrementável.



2.2. Operações CRUD (Insert, Select, Update, Delete)

Vamos adicionar alguns produtos e exibi-los na tela:

// Inserção de dadosstring insert = "INSERT INTO Products (Name, Price, Quantity) VALUES (@n, @p, @q)";using var cmdInsert = new NpgsqlCommand(insert, connection);cmdInsert.Parameters.AddWithValue("@n", "Notebook");cmdInsert.Parameters.AddWithValue("@p", 79999.99m);cmdInsert.Parameters.AddWithValue("@q", 10);cmdInsert.ExecuteNonQu                

Blogs

Book Recommendations