WhatsApp Facebook Twitter LinkedIn Mail

Base de datos SQL

Índice:

  1. ¿Qué es una base de datos SQL?
  2. Tipos de comandos en SQL
  3. Diferencias entre SQL y NOSQL

¿Qué es una base de datos SQL?

Una base de datos SQL es aquella base de datos relacional que esta escrita en lenguaje SQL (Structured Query Language o lenguaje de consulta estructurado), también pronunciado “sequel”. Este lenguaje se considera el lenguaje estándar para las bases de datos según el ANSI (American National Standards Institute o Instituto Nacional Americano de Estándares en español), aunque no es el único que hay.

funcion sql bbdd

Una vez que se tiene una base de datos, hace falta un sistema que sea capaz de crear y proporcionar acceso (acceso de distintos niveles) a los datos de la base de datos. Este es el sistema de gestión de base de datos (DBMS, Data Base Management System). Algunos ejemplos de sistemas de bases de datos comunes son: SAP HANA, Microsoft SQL Server y Amazon RDS.

Para hacer una base de datos se necesitan casi únicamente los comandos básicos de SQL como: “Seleccionar”, “Insertar”, “Actualizar”, “Eliminar”, “Crear” y “Eliminar”. No obstante, después cada DBMS tiene una pequeña variación del SQL con la cual puede agregarle funcionalidades, haciendo que el sistema de base de datos sea única. Esta situación se asemeja a la de comparar el SQL al español y, después, el lenguaje de cada DBMS al de las distintas comunidades autónomas.

Nota: es fácil sentirse perdido al ver tantas opciones de sistemas de gestión de base de datos. En la Guía ERP 2022 encontrará una comparación de distintas bases de datos SQL.

¿Qué tipos de comandos hay dentro del SQL?

Para comprender lo que puede hacer una base de datos SQL hay que conocer los diferentes tipos de comandos que tiene. Los comandos del lenguaje SQL se dividen según su función en estos 5 tipos:

  • DDL (Data Definition Language): definen el esquema o estructura de la base de datos. Ejemplos: CREATE (crear); ALTER (alterar); DROP (eliminar objetos); RENAME (renombrar); TRUNCATE (quita todos los registros de una tabla, incluidos los espacios de los registros eliminados); COMMENT (comentar); entre otros.
  • DQL (Data Query Language): sirven para hacer consultas sobre los datos en el esquema de objetos. Un objeto puede ser desde un resultado de búsqueda a una tabla. El propósito del comando es el de establecer una relación, basada en la consulta, dentro de la estructura de la base de datos, como la función de búsqueda. Ejemplo: SELECT (recuperar registros de la base de datos).
  • DML (Data Manipulation Language): tratan la manipulación de los datos presentes en la base de datos. La mayoría de los comandos pertenecen a este tipo. Ejemplo: INSERT (insertar un objeto); DELETE (eliminar registros); UPDATE (actualizar); CALL; MERGE (3 en 1, inserta, elimina y actualiza); LOCK TABLE (bloquear tabla); EXPLAIN PLAN (determina el plan de acceso); …
  • DCL (Data Control Language): se encargan de los derechos, los permisos y otros controles del sistema de la base de datos. Ejemplos: GRANT (proporcionar privilegios acceso a un usuario); REVOKE (revocar el derecho de accceso dado a un usuario); etc.
  • TCL (Transaction Control Language): sirve para las transacciones con la base de datos. Es decir, con estos comandos se puede llevar un control sobre otros comandos y cómo afectan a la base de datos. Ejemplos: COMMIT (llevar a cabo una transacción); ROLLBACK (revertir una transacción en caso de que ocurra algún error); SAVEPOINT (establecer un punto de rescate dentro de una transacción.).

tipos comandos sql

Diferencias entre una base de datos SQL y una NOSQL

A la base de datos tradicional, la relacional SQL, le ha salido una competidora, la NoSQL (Not Only SQL, no solo SQL). La popularidad de la base de datos NoSQL se debe a grandes empresas como Facebook, Twitter, Google o Amazon. Estas empresas la usan para proporcionar grandes volúmenes de información en el menor tiempo posible, aunque para ellos sacrifican la consistencia de los datos. Las redes sociales usan la base de datos NoSQL porque así pueden procesar grandes cantidades de información creando la estructura de grafos (tipo abstracto de datos) con el que se establecen relaciones entre las personas.

En cuanto a la rapidez, una base de datos será más rápido que la otra dependiendo del contexto. Por ejemplo, las bases de datos SQL serán más rápidas que las NoSQL cuando se trata de uniones, consultas, actualizaciones, etc. En cambio, las bases de datos NoSQL son más rápidas que las SQL cuando se trata de realizar operaciones de lectura o escritura en una sola entidad de datos. Esto se debe a que las bases de datos NoSQL están diseñadas especialmente para datos desestructurados, los cuales pueden estar orientados a: documentos (JSON); columnas; gráficos; etc. Así, una entidad particular de datos está almacenada de forma conjunta y no está en particiones.

Como se ha mencionado, la base de datos NoSQL no está estructurada, al igual que tampoco está centralizada, permitiendo una mayor escalabilidad. Además, este tipo de base de datos no necesita tantos recursos para ejecutarse ya que es abierta y, por lo tanto, flexible.

No obstante, al no tener un lenguaje estandarizado, el NoSQL presenta una serie de inconvenientes como que no haya un gran soporte, ni muchas aplicaciones (plug-ins), menor fiabilidad y coherencia en sus datos. Asimismo, a menudo hay que conectar varias bases de datos y la NoSQL es incompatible con SQL.

Por tanto, a la base de datos NoSQL todavía le queda un largo camino que recorrer. Sin embargo, ya es útil para muchas empresas. La base de datos NoSQL es rentable para aquellas empresas en las que el volumen de datos crece muy rápidamente en momentos puntuales; cuando necesita una gran escalabilidad; o, cuando el esquema de la base de datos no es homogéneo. Algunos ejemplos de DBMS de NoSQL son: MongoDB, Redis y Apache CouchDB.

tabla sql nosql

¿Quiere usar este artículo como fuente? Haga clic para copiar.

European Knowledge Center for Information Technology (Ed.). (2019, 16 septiembre). Base de datos SQL. TIC Portal. https://www.ticportal.es/glosario-tic/base-datos-sql