5-razones-para-aprender-sql-cesaralderete.

5 Razones para aprender SQL

Revisando algunos de mis libros que tengo guardados (empolvados…No todos) me topé con uno en especial, uno que creo no pasa de moda, es decir, no cambia tan drásticamente como otros sistemas o lenguajes de programación, así que me dispuse a limpiarlo, hojearlo y sacar algunas notas que se me hacen interesante y que pueden estar vigentes para los que en algún momento tuvimos alguna relación con este lenguaje y si, me refiero a SQL que por sus siglas en inglés lo dicen todo (Structured Query Lenguage) el cual es un lenguaje que nos permite crear sentencias sobre diversos datos almacenados en alguna base de datos relacional en la que la información es almacenada en forma de tablas con datos distribuidos en forma de filas y columnas.

Una de las características más importante de SQL frente a los lenguajes sobre bases de datos no relacionales estriba en que sus sentencias permiten manejar conjuntos de registros, en lugar de un solo registro.

En la actualidad el lenguaje SQL es el medio para acceder a datos y SQL cuenta con una estructura simple, que le da una flexibilidad y potencia expresiva, nos da la facilidad de poder acceder a subconjuntos de datos complejos mediante sencilla consultas, ya que las sentencias que forma parte del lenguajes SQL son reducidas haciendo que su aprendizaje de sintaxis sea muy fácil.

La versión original de SQL, fue desarrollada por IBM y se denominaba SEQUEL, poseía muy pocas palabras reservadas utilizables con una sintaxis sencilla y como es natural cada versión incorpora nuevas palabras reservadas dando forma a una serie de dialectos del mismo lenguaje.

Y como es natural en cuestiones de tecnología los lenguajes de programación siguen evolucionando de forma importante a medida que los algorítmos y el hardware siguen desarrollándose. El lenguaje SQL no es la excepción, formando parte o encajando en lo que llamamos lenguajes de cuarta generación, pues al gestor de bases de datos se le reclaman los resultados que se quieren obtener y no el modo en como dicho gestor debe conseguirlos. Veremos de manera frecuente como trabajan en conjunto SQL con los diferentes lenguajes de programación, sin olvidar que entre ambos existen ciertas diferencias.

  • SQL es un lenguaje con débil presencia de tipos (weakly typed), en las sentencias SQL normalmente no se especifican tipos de datos. Los tipos se encuentran intrínsecamente presentes en la definición de las columnas. Esta característica lo diferencia enormemente con respecto a los lenguajes de tercera generación, cuyo chequeo de tipos es una de las características fundamentales.
  • SQL es un lenguaje orientado a conjuntos, cuando realizamos una consulta de datos mediante SQL esperamos como resultado un cierto subconjunto homgéneo de datos, sin que conozcamos la estructura y volumen fijo de elementos. Esto hace que los resultados sean con frecuencia difícilmente prevesibles, cosa que no sucede con los lenguajes de tercera generación, lo que nos obliga a implementar mecanismos de programación adicionales para solvertar esta disconformidad.

1- SQL está en todas partes

Lo que quiero decir es que es omnipresente, está en todas partes en alguna aplicación web o plataforma web que utilices , un ejemplo específico los portales bancarios las bases de datos son la base de todas nuestras aplicaciones web y de escritorio.

2- Es fácil de aprender

SQL es un lenguaje de consulta lo cual significa que es muy fácil de aprender y no tiene una complejidad tan alta como otros lenguajes de programación, SQL nos permite realizar consultas a bases de datos, crear nuevas bases de datos, actualizar datos y como te darás cuanta es un lenguaje exclusivamente para trabajar con bases de datos siendo más fácil de aprender comparado con otros lenguajes de programación y los beneficios que puedes tener con entender el manejo de las bases de datos es a nivel programación te será mucho más fácil aprender un lenguaje de programación manejando tus bases de datos.

3- Es de conocimiento universal

Es decir que saber sql no solamente te va a servir para trabajar con mysql, sino que te va a servir para trabajar con Oracle, PostgreSQL  es decir podrás trabajar con una gran variedad de  gestores de base de datos, por eso aprender SQL es de un conocimiento universal que vayas donde vayas todo ese conocimiento adquirido lo podrás seguir usando en el futuro.

4- Conocer Bases de Datos está muy valorado en las empresas

Si, así como lo leíste, las bases de datos las solicitan en todas las empresas de desarrollo, el tener este conocimiento es muy solicitado laboralmente y es sumamente importante dominar sql para trabajar si  vas a hacer desarrollador full stack o desarrollador back-end, sin duda el conocer SQL te hace un profesional del desarrollo, hoy un experto en SQL es de lo más valorado ya que las  bases de datos son importante en el desarrollo de plataformas.

5- SQL nunca cambia

Cuando estás inmerso en el mundo de la tecnología, sabes que mucha cosas cambiarán de forma muy rápida, es decir lo que hace 5 o 6 meses funcionaba deja de funcionar porque han hecho cambios y eso impera volver a empezar, esto lo podemos ver tanto en tu set de  herramientas o lenguajes de programación.

Sin embargo hay tecnologías que siguen estando ahí, y SQL es una de ellas ya que nunca cambia la sintaxis en cualquier sistema gestor de base de datos que utilicemos, no vas a tener que estar actualizándote de forma continua  porque hayan alguna librería o función, realmente SQL siempre es igual con lo cual eso es otra ventaja, lo aprendes una vez y ya está y no tienes que preocuparte el lenguaje nos los cambien cada 5 o 6 meses.

Comparado con los frameworks de desarrollo que cambian por cada versión lanzada, recuerda que con sql una vez que lo aprendes, eso te va a servir para siempre  hoy quiero poner el foco sobre este lenguaje y destacar su importancia estratégica para la carrera profesional de sql, este lenguaje es uno de lo más importante que debe tener un programador sobre todo si se dedica al back-end, un programador profesional deberá tener un dominio de las bases de datos, esto algo fundamental No es fácil que un estándar se mantenga tan estable.

Componentes de un sistema de base de datos relacional

El SGBD (Sistema Gestor de Base de Datos) es el programa encargado de manejar y gestionar los datos de la base. Usualmente lo denominaremos simplemente gestor.

El SGBD permite entender los datos como estructura lógicas independientes del almacenamiento físico. Las colecciones de estructuras de datos lógicos suelen denominarse modelo externo de datos, mientras que las estructuras físicas (ficheros, punteros, etc.) reciben el nombre de modelo interno de datos. En el caso de un SGBD relacional, las estructuras lógicas serán tablas, formadas por filas y columnas. Así, el modelo de una base de datos relacional estará formado por una colección de tablas.

El gestor relacional deberá proporcionar un lenguaje para operar con ellas, permitiendo tanto su lectura como su actualización; en nuestro caso, este lenguaje es SQL. Las sentencias que se construyan en este lenguaje se envían al gestor que las analizará y traducirá a operaciones sobre los ficheros físicos. Una vez ejecutadas estas operaciones, el gestor devolverá al programa o usuario el resultado. El SGBD  se encargará igualmente de responder a una eventual petición por parte de múltiples usuarios, coordinándolas para asegurar la integridad de los datos.

El catálogo está formado por unas tablas predefinidas en las que el SGBD almacena las descripciones de todas las tablas incluidas en cada momento en la base de datos. La información de catálogo es actualizada automáticamente por el gestor, pero el lenguaje SQL permite a los usuarios y programas acceder al catálogo para consultar precisamente dichas descripciones.

Componentes de una sentencia SQL

Palabras predefinidas.:Tienen un significado propio en el lenguaje. Todas las sentencias SQL comienzan por una palabra predefinida. Ejemplos de sentencias SQL serían:

SELECT

WHERE

INTO

Nombres de tablas y columnas

Identificadores inventados al crear la tabla y asignadas mediante sentencias CREATE

Constantes

También llamados literales. Representan un valor determinado. Cuando no se trata de números, deber ir entre apóstrofes.

123, ‘ABCD’

Signos delimitadores

Signos especiales que aparecen en las sentencias fuera de los otros elementos. Sirven para separar o delimitar a estos últimos. Entre ellos se encuentran los espacios en blanco, los paréntesis, las comas y otros.

Datos

Una vez definido el modelo que da cuerpo a nuestra base de datos, deberemos implementar las tablas completando así el modelo y concretándolo. Para ello deberemos decidir cuál va a ser el dominio de los datos de cada columna. En este apartado describiremos los diferentes dominios existentes en ANSI-SQL y su traslación en tipos de datos, sus características y las operaciones básicas.

Diferentes formas en las que puedes utilizar sentencias SQL

SQL Interactivo: Se utiliza este método cuando se realizan consultas SQL en un ámbito en el que las sentencias son escritas por el usuario directamente en la línea de comandos o en una pantalla visual y respondidas por el gestor también de manera directa. SQL Server proporciona la aplicación iSQL con este propósito.

SQL Inmerso en programas (Embedded SQL): Permite ejecutar sentencias SQL en el interior de programas escritos en otros lenguajes, anteponiendo a las sentencias SQL una cláusula que la delimite. Para interpretar estos delimitadores y sustituir las sentencias será preciso un precompilador SQL que será específico al gestor de base de datos y al lenguaje del que se trate.

SQL Modular: Permite compilar sentencias SQL separadamente del lenguaje de programación y enlazarlas (link) después con el resto de módulos objeto para crear el programa ejecutable. Los módulos SQL pueden incluir declaraciones de variable, de tablas que contengan los resultados de las consultas, etc.

SQL Dinámico: Este tipo de lenguaje SQL se define en contraposición a los tres anteriores, que son denominados genéricamente como SQL estático. Se utiliza para crear sentencias SQL que no resultan predecibles en el instante en el que se escriben. Un ejemplo sería un programa que permite a un usuario escribir una sentencia SQL y enviarla al gestor.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *