Microsoft SQL Server






Es un sistema gestor de base de datos relacionales de Microsoft Corporation orientado a sistemas medianos y grandes aunque también puede rodar en ordenadores personales. SQL Server Management Studio (SSMS) es la herramienta de SQL Server que permite definir y gestionar todas las bases de datos almacenadas en el servidor SQL Server 2005.

Conceptos básicos de SQL

SQL (Structured Query Languaje), Lenguaje Estructurado de Consulta

Es el lenguaje utilizado para definir, controlar y acceder a los datos almacenados en una base de datos relacional.

Como ejemplos de sistemas gestores de bases de datos que utilizan SQL se pueden citar DB2, SQL Server, Oracle, MySql, Sybase, PostgreSQL o Acces.

 El SQL es un lenguaje universal que se emplea en cualquier sistema gestor de base de datos relacional. Tiene un estándar definido, a partir del cual cada sistema gestor ha desarrollado su versión propia.

En SQL Server la versión de SQL que se utiliza se llama TRANSACT-SQL.

El SQL en principio es un lenguaje orientado únicamente a la definición y al acceso a los datos por lo que no se puede considerar como un lenguaje de programación como tal, ya que no incluye funcionalidades como son estructuras condicionales, bucles, formateo de la salida, entre otros.

Se puede ejecutar directamente en modo interactivo, pero también se suele emplear embebido en programas escritos en lenguajes de programación convencionales. En estos programas se mezclan las instrucciones del propio lenguaje (denominado anfitrión) con llamadas a procedimientos de acceso a la base de datos que utilizan el SQL como lenguaje de acceso. Como por ejemplo en Visual Basic, Java, C#, PHP, NET, entre otros.

Las instrucciones SQL se clasifican según su propósito en tres grupos:

 El DDL(Data Description Language) Lenguaje de Descripción de Datos

 EL DDL, es la parte del SQL dedicada a la definición de la base de datos, consta de sentencias para definir la estructura de la base de datos, permiten crear la base de datos, crear, modificar o eliminar la estructura de las tablas, crear índices, definir reglas de validación de datos, relaciones entre tablas, entre otros. Permite definir gran parte del nivel interno de la base de datos. Por este motivo estas sentencias serán utilizadas normalmente por el administrador de la base de datos.

 El DCL (Data Control Language): se compone de instrucciones que permiten:
- Ejercer un control sobre los datos tal como la asignación de privilegios de acceso a los datos (GRANT/REVOKE).

- La gestión de transacciones (COMMIT/ROLLBACK).

Una transacción se puede definir como un conjunto de acciones que se tienen que realizar todas o ninguna para preservar la integridad de la base de datos.

 El DML (Data Manipulation Language) Lenguaje de Manipulación de Datos

 Se compone de las instrucciones para el manejo de los datos, para insertar nuevos datos, modificar datos existentes, para eliminar datos y la mas utilizada, para recuperar datos de la base de datos. Una sola instrucción de recuperación de datos es tan potente que permite recuperar datos de varias tablas a la vez, realizar cálculos sobre estos datos y obtener resúmenes.

El DML interactúa con el nivel externo de la base de datos por lo que sus instrucciones son muy parecidas, por no decir casi idénticas, de un sistema a otro, el usuario sólo indica lo que quiere recuperar no cómo se tiene que recuperar, no influye el cómo están almacenados los datos.

Es el lenguaje que utilizan los programadores y los usuarios de la base de datos.

INTRODUCCION AL TRANSACT-SQL

El sistema gestor de base de datos SQL-Server 2005 utiliza su propia versión del lenguaje SQL, el TRANSACT-SQL.

TRANSACT-SQL es un lenguaje muy potente que nos permite definir casi cualquier tarea que queramos efectuar sobre la base de datos. TRANSACT-SQL va mas allá de un lenguaje SQL cualquiera, ya que incluye características propias de cualquier lenguaje de programación, características que nos permiten definir la lógica necesaria para el tratamiento de la información:

- Tipos de datos.
- Definición de variables.
- Estructuras de control de flujo.
- Gestión de excepciones.
- Funciones predefinidas.

Características generales del lenguaje Transact-SQL

El lenguaje SQL se creó con la finalidad de ser un lenguaje muy potente y a la vez muy fácil de utilizar, se ha conseguido en gran medida, ya que con una sola frase (instrucción) se puede recuperar datos complejos (por ejemplo datos que se encuentran en varias tablas, combinándolos, calculando resúmenes), y utilizando un lenguaje muy cercano al lenguaje hablado.

Por ejemplo:

SELECT código, nombre FROM Clientes WHERE localidad=’Valencia’:

Esta instrucción nos permite SELECCIONAR el código y nombre DE los Clientes cuya localidad sea valencia.

Las sentencias SQL además siguen todo el mismo patrón:

- Empiezan por un verbo que indica la acción a realizar,
- completado por el objeto sobre el cual se quiere realizar la acción,
- seguido de una serie de clausulas (unas obligatorias, otras opcionales) que completan la frase, y proporcionan más detalles acerca de lo que se quiere hacer.

Tipos de datos

En SQL Server 2005, cada columna, expresión, variable y parámetro está asociado a un tipo de datos. Un tipo de datos, es realmente define el conjunto de valores validos para los campos definidos de ese tipo. Indica si el campo puede contener: datos numéricos, de caracteres, moneda, fecha y hora, entre otros.

SQL Server proporciona un conjunto de tipos de datos del sistema que define todos los tipos de datos que pueden utilizarse.

Los tipos de datos más utilizados son:

- Los numéricos: int, decimal, Money
- Los de fecha y hora: datetime
- Y las cadenas de caracteres: varchar

Las constantes

Una constante es un valor específico o un símbolo que representa un valor de dato especifico. El formato de las constantes depende del tipo de datos del valor que representan.

- Las constantes numéricas se escriben mediante una cadena de números, con la consideración de que el separador decimal es un punto, no una coma, y que si se trata de un valor monetario deberemos incluir la moneda al inicio de la constante. Por ejemplo: 85.90 y €85.90, el primero sería un valor decimal y el segundo un valor money. De forma predeterminada, los valores serán positivos. Para indicar lo contrario se escribe el signo – al principio.

- Las constantes de fecha y hora van entre comillas simples y con un formato de fecha y hora adecuado. Por ejemplo: ‘03/10/90’.

- Y las constantes en cadenas de caracteres van entre comillas simples. Por ejemplo: ‘Juan García López’.

Para indicar valores negativos y positivos se añade el prefijo + o – según sea el valor positivo o negativo. Sin prefijo se entiende que el valor es positivo.

Las expresiones

Una expresión es una combinación de símbolos y operadores que el motor de base de datos de SQL Server evalúa para obtener un único valor. Una expresión simple puede ser una sola constante, variable, columna o función escalar. Los operadores se pueden usar para combinar dos o más expresiones simples y formar una expresión compleja.

Dos expresiones pueden combinarse mediante un operador si ambas tienen tipos de datos admitidos por el operador y se cumple al menos una de estas condiciones:

- Las expresiones tienen el mismo tipo de datos.

- El tipo de datos de menor prioridad se puede convertir implícitamente al tipo de datos de mayor prioridad.

- La función CAST puede convertir explícitamente el tipo de datos con menor prioridad al tipo de datos con mayor prioridad o a un tipo de datos intermedio que pueda convertirse implícitamente al tipo de datos con la mayor prioridad.

 Tipos de operadores













- Resultados de la expresión

Si se combinan dos expresiones mediante operadores de comparación o lógicos, el tipo de datos resultante es booleano y el valor es uno de los siguientes: TRUE, FALSE o UNKNOWN.

Cuando dos expresiones se combinan mediante operadores aritméticos, bit a bit o de cadena, el operador determina el tipo de datos resultante.

Las expresiones complejas formadas por varios simbolos y operadores se evalúan como un resultado formado por un solo valor. El tipo de datos, intercalación, precisión y valor de la expresión resultante se determina al combinar las expresiones componentes de dos en dos, hasta que se alcanza un resultado final. La prioridad de los operadores de la expresión define la secuencia en que se combinan las expresiones. 

Funciones

SQL Server 2005 proporciona numerosas funciones integradas y permite crear funciones definidas por el usuario.

Existen diferentes tipos de funciones:

- Funciones de conjuntos de filas: devuelven un objeto que se puede utilizar, en instrucciones Transact-SQL, en lugar de una referencia una tabla.

- Funciones de agregado (también llamadas funciones de columna): Operan sobre una colección de valores y devuelven un solo valor de resumen. Por ejemplo, la función de suma sobre la columna importe para conocer el importe total: SUM (importe).

- Funciones de categoría: devuelven un valor de categoría para cada fila de un conjunto de filas, por ejemplo: devuelve el número de la fila, el ranking de la fila en una determinada ordenación, entre otros.

- Funciones escalares: operan sobre un valor y después devuelven otro valor. Son las funciones que estamos acostumbrados a utilizar. Las funciones escalares se clasifican según el tipo de datos de sus operandos.

Las variables

En Transact-SQL podemos definir variables, que serán de un tipo de datos determinado, como tipos de datos podemos utilizar los propios de la base de datos SQL-SERVER, pero también se puede utilizar tipos propios del lenguaje que no pueden ser utilizados en DDL. El tipo Cursor y el tipo Table son dos de estos tipos.

Las variables se definen utilizando la instrucción DECLARE con el siguiente formato:

DECLARE @nbvariable tipo

El nombre de la variable debe empezar por el símbolo @, este símbolo hace que SQL interprete el nombre como un nombre de variable y no un nombre de objeto de la base de datos.

Por ejemplo: 
DECLARE @empleados INT

Con esto se define la variable @empleados de tipo entero.

Para asignar un valor a una variable, la asignación se realiza con la palabra SELECT y el signo igual con el formato: SELECT @nbvariable= valor    

El valor puede ser cualquier valor constante, otro nombre de variable, una expresión valida o algo mas potente, parte de una sentencia SELECT de SQL.

Por ejemplo:

SELECT @empleados = 0;
SELECT @empleados = @otra * 100;
SELECT @EMPLEADOS = COUNT(numero)FROM empleados;

El valor almacenado en la variable se puede visualizar mediante la orden PRINT o SELECT
PRINT @nbvariable o SELECT @nbvariable

Otros elementos del lenguaje

Como en cualquier otro lenguaje de programación, se debe utilizar comentarios destinados a facilitar la legibilidad del código. En SQL se insertan comentarios con los signos:

/* */  Varias líneas              / * Esto es un comentario en varias  líneas * /
-  Una única línea                 - Esto es un comentario en una única línea 

Use: Cambia el contexto de la base de datos especificada. Use nbBaseDeDatos.

GO: Es un comando reconocido por las utilidades sqlcmd y osql, asi como por el Editor de código de SQL Server Management Studio. Las utilidades de SQL Server interpretan GO como una señal de que deben enviar el lote actual de instrucciones Transact-SQL a una instancia de SQL Server. El lote actual de instrucciones está formado por todas las instrucciones especificadas desde el último comando GO o desde el comienzo de la sesión o script si se trata del primer comando GO.

BEGIN…END: Encierra un conjunto de instrucciones Transact-SQL de forma que estas instrucciones formen un bloque de instrucciones.



Crear Base de Datos en SQL Server 2005

Link de Microsoft SQL Server 2005 Express Edition:
Link de Microsoft SQL Server Management Studio Express:
http://www.microsoft.com/es-es/download/details.aspx?id=8961


Para mayor información:    


      Características de SQL Server Express:


3 comentarios: