Trabajo con bases de datos en C#: PostgreSQL y MongoDB para principiantes

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Introducción: ¿Por qué un desarrollador de C# necesita bases de datos?

Cualquier aplicación moderna —desde un blog simple hasta un sistema ERP corporativo— almacena datos. Sin una base de datos (BD) es imposible garantizar almacenamiento persistente, búsqueda rápida e integridad de la información. Para un desarrollador de C#, saber trabajar con bases de datos no es solo un plus, sino una habilidad obligatoria. En este artículo analizaremos dos sistemas de gestión de bases de datos (SGBD) populares: el relacional PostgreSQL y el orientado a documentos MongoDB. Aprenderá cómo conectarse a ellos desde una aplicación .NET y realizar operaciones básicas (CRUD). El artículo está orientado a principiantes, por lo que avanzaremos desde la instalación hasta el primer código funcional.



1. Preparación del entorno e instalación de controladores

Antes de escribir código, es necesario instalar las propias bases de datos y agregar al proyecto de C# los paquetes NuGet correspondientes.



1.1. Instalación de PostgreSQL y MongoDB

  • PostgreSQL: Descargue la última versión desde el sitio oficial postgresql.org. Durante la instalación, recuerde el puerto (por defecto 5432) y la contraseña del superusuario postgres.
  • MongoDB: Descargue la Community Edition desde mongodb.com. Instálelo como servicio. Para mayor comodidad, también puede instalar MongoDB Compass — una interfaz gráfica para visualizar datos.

Después de la instalación, asegúrese de que los servicios estén ejecutándose. Para verificarlo, use la línea de comandos (para PostgreSQL: psql -U postgres, para MongoDB: mongosh).



1.2. Creación del proyecto e instalación de paquetes

Cree una aplicación de consola .NET 8:

dotnet new console -n DatabaseDemocd DatabaseDemo

Ahora instale los controladores necesarios:

// Para PostgreSQLdotnet add package Npgsql

// Para MongoDBdotnet add package MongoDB.Driver

Npgsql es un proveedor .NET completo para PostgreSQL. MongoDB.Driver es el controlador oficial de MongoDB, Inc.



2. Trabajo con PostgreSQL en C#

PostgreSQL es un SGBD objeto-relacional. Los datos se almacenan en tablas relacionadas entre sí mediante claves foráneas. Para trabajar, usaremos consultas SQL directas a través de Npgsql, para que entienda la mecánica de conexión y ejecución de comandos.



2.1. Conexión al servidor y creación de tabla

Primero, cree una base de datos (por ejemplo, shopdb) mediante psql o mediante código. En el código nos conectaremos a una BD ya existente. Escribamos un método para crear la tabla 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("Tabla creada.");

Observe: usamos using para cerrar automáticamente la conexión. El tipo SERIAL crea automáticamente un campo autoincremental.



2.2. Operaciones CRUD (Insert, Select, Update, Delete)

Agreguemos algunos productos y mostrémoslos en pantalla:

// Inserción de datosstring insert = "INSERT INTO Products (Name, Price, Quantity) VALUES (@n, @p, @q)";using var cmdInsert = new NpgsqlCommand(insert, connection);cmdInsert.Parameters.AddWithValue("@n", "Portátil");cmdInsert.Parameters.AddWithValue("@p", 79999.99m);cmdInsert.Parameters.AddWithValue("@q", 10);cmdInsert.ExecuteNonQu                

Blogs

Book Recommendations