Page 9 - Aplicaciones web(ebook)Creativo
P. 9
5
Bases de Datos para Aplicaciones Web
Introducción a Bases de Datos Relacionales y NoSQL
Las bases de datos relacionales organizan la información en tablas con filas y columnas predefinidas. Cada
fila representa una entidad única y las columnas contienen los diferentes atributos de esa entidad. Las ta-
blas se relacionan entre sí mediante claves primarias y foráneas. Ejemplos de bases de datos relacionales
incluyen MySQL, PostgreSQL, Oracle y SQL Server.
Por otro lado, las bases de datos NoSQL (Not only SQL) son sistemas de gestión de bases de datos que
difieren de las bases de datos relacionales tradicionales. Existen varios tipos de bases de datos NoSQL:
Bases de datos clave-valor: Almacenan datos como pares de clave-valor, como Redis o DynamoDB.
Bases de datos documentales: Almacenan datos en documentos flexibles tipo JSON, como MongoDB o
Couchbase.
Bases de datos orientadas a columnas: Almacenan datos organizados por columnas en lugar de filas, como
Cassandra o Hbase,
Las bases de datos NoSQL se caracterizan por ser flexibles, escalables y de alto rendimiento, lo que las ha-
ce adecuadas para aplicaciones web modernas y big data.
Lenguaje de Consulta (SQL) para Bases de Datos Relacionales
SQL (Structured Query Language) es el lenguaje
• SELECT: Para consultar y recuperar datos de una estándar para interactuar con bases de datos rela-
o más tablas. cionales. Permite realizar operaciones CRUD
(Create, Read, Update, Delete) sobre los datos
• INSERT: Para insertar nuevos registros en una almacenados en las tablas.
tabla.
SQL también permite realizar operaciones avan-
• UPDATE: Para modificar datos existentes en una zadas como joins para combinar datos de múlti-
tabla. ples tablas, subconsultas, agrupaciones y ordena-
ciones
Conexión y Consulta de Bases de Datos desde Node.js
Node.js, al ser un entorno de ejecución de JavaScript, permite conectarse y consultar bases de datos tanto
relacionales como NoSQL desde aplicaciones web. Para conectarse a bases de datos relacionales desde
Node.js, se utilizan drivers específicos para cada motor de base de datos, como mysql para MySQL
o pg para PostgreSQL. Estos drivers permiten ejecutar sentencias SQL directamente desde el código de
Node.js.
En el caso de bases de datos NoSQL, existen drivers y ODM (Object Document Mapping) específicos para
cada tipo de base de datos. Por ejemplo, para MongoDB se utiliza el driver mongodb o el ODM mongoose.
Estos permiten interactuar con la base de datos utilizando una API de JavaScript en lugar de SQL.
En resumen, las bases de datos relacionales y NoSQL son dos enfoques diferentes para almacenar y gestio-
nar datos. SQL es el lenguaje estándar para interactuar con bases de datos relacionales, mientras que para
bases de datos NoSQL se utilizan APIs específicas. Node.js, al ser un entorno de ejecución de JavaScript,
permite conectarse y consultar ambos tipos de bases de datos desde aplicaciones web.
5