En este artículo te contamos qué es una base de datos SQL, cuáles son sus características y en qué se diferencia de otros tipos de bases de datos. ¿Quieres saber más? Entonces sigue leyendo.
¿Qué es una base de datos SQL?
Las bases de datos SQL son las más utilizadas en la actualidad. Consisten en bases de datos relacionales que utilizan el llamado lenguaje SQL, es decir, el lenguaje de consulta estructurado o, como se conoce en inglés, Structured Query Language.
Una base de datos SQL está formada por tablas con filas y columnas. En las filas figuran los diferentes registros de la tabla, mientras que las columnas corresponden a los campos. Las bases que utilizan el lenguaje SQL son consideradas como el estándar según el American National Standards Institute (ANSI), esto es, la autoridad americana oficial de estándares.
Pero, ¿por qué se caracteriza el SQL? Lo vemos en el siguiente punto.
Características de SQL
Ya hemos mencionado que el lenguaje SQL es el que permite la creación de este tipo de tablas relacionales. Dicho lenguaje tienes las siguientes características:
- Se trata de un lenguaje de definición de datos que contienen comando que permite establecer, modificar o borrar esquemas de relación.
- Es un lenguaje interactivo que permite realizar consultas gracias al álgebra y el cálculo relacional.
- Permite establecer restricciones de integridad a la información que se almacena en una base de datos.
- Facilita la creación de bases de datos mediante tablas, las cuáles a su vez están formadas por registros (filas) y campos (columnas).
- El lenguaje SQL es compatible con otros lenguajes de programación como Java, C++ o PHP.
- Se pueden incluir, a través de comandos, los derechos de acceso a relaciones y vistas de las bases de datos..
Ventajas de las bases de datos SQL
Las bases de datos SQL ofrecen diversas ventajas que las han convertido en las más utilizadas a la hora de almacenar información.
- Garantizan solvencia y consistencia de la hora de almacenar y consultar los datos.
- Favorecen la integridad de la información que se alberga en ellas.
- Se crean en base a un lenguaje estandarizado como es el SQL.
- Los datos se pueden consultar de forma clara y sencilla.
- Son muy versátiles y flexibles.
Por su parte, algunos de los contras a los que se enfrentan las bases de datos relacionales es la necesidad de conocer el lenguaje SQL y sus limitaciones a la hora de trabajar con grandes volúmenes de datos.
Ejemplos de bases de datos hechas en SQL
¿Quieres ver algún ejemplo de base de datos en SQL? Puedes hacerlo en este enlace de la página oficial de Microsoft.
Bases de datos basadas en SQL
Los términos base de datos y SQL están íntimamente unidos. De hecho, existen diversas herramientas que permiten crear bases de datos relacionales basadas en este lenguaje. A continuación te mostramos algunas de las más conocidas.
MySQL
MySQL es el principal gestor de bases de datos en SQL. Se diferencia de otras como Oracle y SQL Server en que es una herramienta open source o de código abierto. Otra de sus diferencias es que una base de datos MySQL está diseñada para satisfacer las necesidades de todo tipo de usuarios, mientras que Oracle o SQL Server están más orientadas al ámbito empresarial.
Oracle
Oracle fue la empresa que comercializó el primer sistema de gestión de bases de datos relacionales, aunque había sido diseñado por IBM. En la actualidad, el gestor de bases de datos SQL de Oracle consiste en un sistema cerrado, y es una de las herramientas más potentes del mercado, destinada principalmente a medianas o grandes empresas.
Microsoft Access
Microsoft Access es una herramienta de Microsoft para la creación de bases de datos SQL. Si quieres saber más sobre este programa te recomendamos leer nuestro artículo sobre bases de datos en Access.
Otras herramientas para la gestión de bases de datos relacionales son SQL Server o SQlite.
Diferencias entre SQL y NOSQL
Las bases de datos SQL llevan alrededor de 30 años en el mercado y son un sistema estandarizado. Son las más utilizadas, por delante de las bases de datos NoSQL, que son más novedosas y todavía no cuentan con el mismo alcance.
Entre estos dos tipos de bases de datos existen unas diferencias bastante importantes:
- Una base de datos SQL almacena información estructurada, mientras las NoSQL albergan datos no estructurados.
- Las bases de datos no relacionales ofrecen una mayor escalabilidad que las SQL, que tienen más limitaciones a la hora de trabajar con grandes volúmenes de información.
- Una base de datos SQL ofrece menor flexibilidad que las NoSQL.
- Las bases de datos SQL están estandarizadas por el ANSI, mientras que para las NoSQL todavía no existe ningún tipo de estandarización.
- Las aplicaciones para las que se puede usar una base de datos SQL son mucho más variadas que las bases NoSQL.
- Cualquier base de datos SQL es compatible con el lenguaje SQL, al contrario que las NoSQL.
- Las bases de datos SQL tienen una gran comunidad detrás y ofrecen mucho mayor soporte que las NoSQL.
- En una base de datos SQL la integridad de los datos es mucho mayor.
Tipos de comandos SQL
Una base de datos SQL se caracteriza por el uso de comandos, entre los que se pueden distinguir los siguientes.
DDL
Los comandos DDL o Data Definition Language son los que definen la estructura de la base de datos. Algunos de los comandos DDL son «Create», «Alter», «Drop», «Truncate», «Rename» o «Comment», entre muchos otros.
DQL
Los comandos DQL o Data Query Language se utilizan para realizar consultas dentro de la estructura de la base de datos. Un ejemplo sería el comando «Select», que permite recuperar registros de la base.
DML
Por otro lado, están los comandos DML o Data Manipulation Language cuyo objetivo es la edición de la información presente en la base de datos. Dentro de este grupo podemos encontrar los comandos «Insert», «Delete» o «Update», entre otros.
DCL
Los comandos DCL son los que se encargan de gestionar los permisos de acceso a la base de datos. Entre ellos podemos encontrar la opción «Grant» (para otorgar privilegios de acceso) o «Revoke» (para quitar el acceso a un usuario).
TCL
Por último, los comandos TCL son los que se utilizan para las transacciones dentro de una base de datos. Por ejemplo, al comando «Commit» sirve para efectuar una transacción, mientras que «Rollback» se utiliza para revertir transacciones erróneas.
Operaciones CRUD
El acrónimo CRUD hace referencia a las principales operaciones requeridas para crear y gestionar bases de datos. Estas funciones en una base de datos SQL son las siguientes:
- Create para crear registros (se corresponde con la «C» de acrónimo).
- Read para leer registros (se corresponde con la «R» de acrónimo)
- Update para actualizar registros (se corresponde con la «U» de acrónimo).
- Delete para borrar registros (se corresponde con la «D» de acrónimo).
INSERT
La sentencia «Insert» se realiza mediante el procedimiento «Create», y sirve para crear una nuevo registro en la base de datos. Cada columna de la tabla tiene su propio parámetro.
SELECT
El procedimiento «Read» pone en marcha la sentencia «Select», que busca y muestra información sobre los datos guardados en la base.SQL. Esta información puede estar presente en una o varias tablas.
UPDATE
La sentencia «Update» se utiliza para actualizar la información presente en cualquier campo de las tablas.
DELETE
Por su parte, «Delete», como su propio nombre indica en inglés, sirve para eliminar datos presentes en la tabla. En concreto, elimina la fila especificada con la cláusula «Where».
Consultas sobre las tablas de las bases de datos
Las bases de datos permiten hacer consultas con diferentes cláusulas. Estas consultas hacen que la base de datos devuelva respuestas en función de los parámetros empleados. Cualquier respuesta ofrecida por una consulta se basa en la información contenida en la base de datos.
Existen diversos comandos que sirven para decidir qué datos se quieren buscar, o cómo se quiere que esos datos sean presentados. A continuación vemos algunos de los más empleados..
ALL / DISTINCT
El comando «All» indica que la consulta puede incluir datos de filas duplicadas. Raramente se emplea. Por su parte, el comando «Distinct» indica que los datos solo pueden incluir filas únicas. Esto significa que si al hacer la consulta hay datos que aparecen más de una vez, se eliminan. Resulta muy útil para detectar datos duplicados o repetidos.
AS
Si este comando se usa junto con «Select», permite renombrar columnas. En cambio, si se utiliza junto a «From», permite renombrar tablas. Por tanto, con el comando «As» se pueden crear alias para tablas y columnas.
FROM
La cláusula «From» permite indicar las vistas de la base de datos SQL o tablas sobre las cuáles se realiza la consulta. Como hemos visto anteriormente, si se usa con la cláusula «As» se puede usar para renombrar tablas.
WHERE
La cláusula «Where» como filtro cuando no se quiere que la consulta devuelva como resultados todas las filas de una tabla. Permite especificar condiciones más concretas para las consultas.
LIKE
La cláusula Like se utiliza para indicar en qué lugar pueden ir determinados caracteres en una búsqueda. Para ello se utilizan los símbolos «%» y «_».
- Por ejemplo, si el nombre empieza por P, se escribe: Nombre LIKE ‘P%’
- Si el nombre termina por O, se escribe: Nombre LIKE ‘%O’
BETWEEN
La cláusula «Between» se mostrar para mostrar únicamente los resultados comprendidos entre determinados valores.
- Por ejemplo, si se quieren mostrar códigos de producto del 1 al 100 se escribe: CodProducto BETWEEN 1 AND 100.
IN()
La cláusula «In ()» se emplea para mostrar los resultados correspondientes solo a determinados valores.
- Por ejemplo, en el caso anterior si queremos ver solo los productos 10, 20 y 30 se escribe: CodProducto IN(10, 20, 30)
AND Y NOT
Las cláusulas «And» y «Not» se emplean para combinar condiciones en los valores de los comandos anteriores. «And» sería para añadir otros valores, mientras que «Not» se usa para eliminar algún valor concreto de la consulta.
ORDER BY
La cláusula «Order by» sirve para determinar el orden en el que se muestran los campos en los resultados.
ASC/DESC
Se emplean junto con «Order by». La cláusula «Asc» indica que los resultados se ordenarán de menor a mayor, mientras que «Desc» se usa para ordenar los resultados de mayor a menor.
¿Cómo borrar una base de datos SQL?
A continuación te mostramos cómo borrar una base de datos SQL, tomando como referencia el programa SQL Server.
- Para eliminar una base de datos
- DROP DATABASE Database1;
- Para eliminar varias bases de datos
- DROP DATABASE Database1, Database 2;
- Para eliminar una instantánea
- DROP DATABASE Database1_snapshot13;
- Eliminar una base de datos si existe
- DROP DATABASE IF EXISTS Database1;
En definitiva, estas son las nociones básicas sobre las bases de datos SQL. Para aprender a usarlas con soltura tendrás que practicar un poco con ellas. En ese caso, lo mejor es descargar un gestor de bases de datos SQL de código abierto, como pueden ser MySQL o SQlite
Escribe aquí tu comentario