Introducción a SQL y SQL Server

SQL Server es un sistema gestor de base de datos relacionales (SGDB) desarrollado por Microsoft. Se caracteriza por el uso del lenguaje de base de datos Transact-SQL, que amplía el estándar del lenguaje básico SQL, aportándole nuevas y más potentes características como el uso de Triggers y procedimientos almacenados. Transact-SQL nos permite aplicar lógica procedural para el tratamiento de información y es susceptible de ser embebido por aplicaciones desarrolladas en diferentes lenguajes de programación.

SQL Server dispone de otras características importantes, que hacen del mismo una herramienta sumamente potente y una de las opciones más recomendables del mercado para la administración y gestión de bases de datos relacionales. Entre ellas destacan las siguientes:

  • Permite el uso de Triggers y procedimientos almacenados.
  • Permite operaciones transaccionales.
  • Seguridad (pocas vulnerabilidades y cumplimiento normativo integrado).
  • Disponibilidad, estabilidad y escabilidad.
  • Permite el uso de un entorno gráfico de administración integrado para la ejecución gráfica de comandos SQL.
  • Permite trabajar en modo cliente-servidor. Los datos se guardan en el servidor y el cliente solo tiene acceso a la información.
  • Permite la administración de información de otros servidores de datos ajenos.
  • Dispone de diferentes versiones y ediciones que se ajustan a múltiples funcionalidades y lógicas de negocio a implantar.
  • Dispone de versión gratuita para desarrolladores, que aún con algunas limitaciones respecto a otras versiones, sigue ofreciendo una potente herramienta como Sistema Gestor de Base de Datos (SGDB).

SQL (Structured Query Language)

Ya hemos comentado que Transact-SQL amplía las posibilidades del lenguaje SQL (Structured Query Language) del que aplica todas sus características y posibilidades.

A grandes rasgos, SQL se define como un lenguaje específico con función de administrar y recuperar información de base de datos relacionales. SQL se dividirá a su vez, en tres sublenguajes dependiendo a la funcionalidad aplicada sobre la base de datos: DDL, DML y DCL.

Lenguaje de definición de datos (DDL)

Lenguaje encargado de definir las estructuras de datos de las bases de datos relacionales. Entre sus sentencias principales se encuentra la creación, actualización y eliminación de base de datos, esquemas, tablas, índices, funciones, procedimientos y la definición de tipos de datos con los que se podrá rellenar cada campo (INTEGER, VARCHAR, DATE) …

Dicho lenguaje también será encargado de definir y aplicar las relaciones entre diferentes tablas y definir las claves (Primary Key, Foreign Key, …) y restricciones aplicadas a cada campo (control de null, tamaño…)

Las sentencias DDL definen las estructuras que almacenarán los datos, así como los procedimientos y/o funciones que permiten consultarlos.

Lenguaje de manipulación de datos (DML)

Lenguaje encargado de recuperar y manipular los datos de bases de datos relacionales. Entre sus sentencias principales se encuentran la inserción y manipulación de datos (actualización y eliminación) así como las consultas sobre los mismos (SELECT).

Las sentencias DML trabajan directamente sobre los datos almacenados en los campos de las tablas de base de datos.

Lenguaje de control de datos (DCL)

Lenguaje encargado de administrar el acceso a base de datos y sus contenidos, a través y principalmente de las sentencias GRANT (para otorgar permisos y privilegios de acceso a los usuarios) y REVOKE (para eliminar los privilegios existentes)

DCL, permite crear y eliminar roles, permisos e integridad referencial para controlar y administrar los diferentes usuarios de acceso a base de datos.

Ediciones Microsoft SQL Server

Existen diferentes ediciones de SQL Server con sus características propias que se ajustan a todas las necesidades de los diferentes grupos, organizaciones y usuarios. Elegir una u otra, dependerá de dichas necesidades para ajustarse a los requisitos de la aplicación.

  1. Enterprise: Edición que engloba el espectro de todas las características que puede ofrecer SQL Server, especialmente orientada para grandes empresas y organizaciones que dependan de grandes servicios y amplias necesidades de servidor.

  2. Standard: Edición que permite la gestión y administración básica de bases de datos para pequeñas/medianas empresas y organizaciones, cuya ejecución de aplicaciones tanto en entorno local como en la nube, no dependa de elevados recursos de servidor.

  3. Web: Como su nombre indica, esta edición está orientada hacia las aplicaciones web utilizada principalmente por proveedores de hosting y VAP web.

  4. Express: Edición gratuita orientada a creadores de Software y desarrolladores, ideal como método de aprendizaje para compilar pequeñas aplicaciones de servidor y escritorio y al uso de las mismas. Permite actualizar a otras ediciones de SQL server más potentes y completas en caso de requerimiento de características avanzadas.

  5. Developer: Como su nombre indica, edición gratuita especialmente orientada para desarrolladores, que integra toda la funcionalidad de la edición Enterprise permitiendo compilar cualquier aplicación SQL Server, pero limitada unicamente a un entono local y de desarrollo.