martes, 17 de junio de 2014

Receta No. 1-1 en T-SQL: Conexión a una Base de Datos

Tabla de Contenido

0. Introducción
1. Problema
2. Solución
3. Discusión de la Solución
4. Práctica
4.1 SQL Server 2014 Management Studio
4.2 sqlcmd
5. Conclusiones
6. Glosario
7. Literatura & Enlaces

0. Introducción

Esta será la primera receta en el lenguaje transaccional de SQL Server: T-SQL. Aquí vamos a aprender cómo seleccionar una base de datos a través del uso del comando USE. Presentaré el modo más simple y directo, es decir, a través de la ejecución de una consulta en SQL Server 2014 Management Studio; y el otro modo consistirá en el uso de la utilidad sqlcmd (la cual, como veremos, facilita el ingreso de comandos de forma interactivo).

1. Problema

En el tutorial Instalación Base de Datos de Ejemplo AdventureWorks2012 en SQL Server realizamos el proceso completo para la instalación de la base datos de ejemplo AdventureWorks2012, ahora necesitamos aprender a conectarnos a esta base datos usando los métodos de los que hemos leído en las referencias de SQL Server.

2. Solución

Para conectarnos una base datos existente en el servidor SQL Server, debemos usar el comando USE. Este comando debe ir seguido del nombre de la base de datos a la que queremos conectarnos. Esta es la sintaxis básica de uso:

USE { nombre-base-de-datos };

3. Discusión de la Solución

Cuando iniciamos sesión en el servidor SQL Server, se realiza una conexión a la base de datos master. Esta conexión, por lo general, no resulta útil, pues nos interesa trabajar sobre una base de datos que hayamos diseñado o que deseemos administrar. El comando USE [2] nos permite alternar a otra base datos de la siguiente manera:

USE AdventureWorks2012;

Observemos cómo a este comando le hemos especificado un nombre de objeto -AdventureWorks2012-, específicamente el nombre de la base de datos.

El hecho que realicemos esta alternación de contexto de base de datos, nos va a permitir usar nombres de objetos implícitos, es decir, que para referirnos a un objeto (e.g., una tabla) sólo nos basta con especificar su nombre, es decir, que podemos obviar el nombre de la base datos por delante del mismo objeto. Sin embargo, es de importancia resaltar la diferencia con los siguientes comandos:

Versión explícita (más extensa):

SELECT BusinessEntityID, LoginID, NationalIDNumber
FROM AdventureWorks2008R2.HumanResources.Employee;

Para referirnos a la tabla que contiene las columnas a seleccionar con el comando SELECT, fue necesario especificar el nombre de la base de datos antepuesto a los nombres de las tablas.

Versión implicita:

SELECT BusinessEntityID, LoginID, NationalIDNumber
FROM HumanResources.Employee;

Por otro lado, como indican en [2], es requisito que la cuenta con la que pretendemos usar el comando USE, cuente con permisos de conexión. (Más adelante veremos en detalle cómo establecer permisos a usuarios.)

4. Práctica

Podemos usar el comando USE en estos dos ambientes:

4.1 SQL Server 2014 Management Studio

Debemos abrir SQL Server 2014 Manangement Studio, y conectarnos al motor de base de datos, crear una nueva consulta (Query), escribir el script 

USE AdventureWorks2012;


y ejecutar el comando Execute desde le menú Query. En resumen:
USE AdventureWorks2012;
Figura 1. Conexión a base de datos con el comando USE.

4.2 Utilidad sqlcmd


Para iniciar una ventana de comandos interactivos de T-SQL, presionamos simultáneamente la combinación de tecla Windows + R y escribimos el comando sqlcmd y presionamos la tecla Enter. Enseguida se abrirá la ventana interactiva:
Ventana sqlcmd
Figura 2. Ventana sqlcmd.

Para ejecutar un comando sobre esta consola debemos especificar el comando, como:

USE AdventureWorks2012

y por delante la sentencia GO [4], así:

1> USE AdventureWorks2012; 
2> GO

Veamos la siguiente animación:
Comando USE en la utilidad sqlcmd
Figura 3. Comando USE en la utilidad sqlcmd.

4. Conclusiones

Ha resultado importante conocer el primer paso que debemos realizar para usar una base de datos en SQL Server. Usamos SQL Server 2014 Management Studio y la utilidad de línea de comandos sqlcmd para conectarnos a una base de datos. En la siguiente receta conoceremos acerca del uso del comando SELECT para recuperar determinadas columnas que nos interesen.

5. Glosario

  • Comando
  • Consulta
  • Query
  • T-SQL
  • Utilidad sqlcmd

Literatura & Enlaces

[1]: SQL Server 2012 T-SQL Recipes - A Problem-Solucion Approach by Jason Brimhall, David Dye, Jonathan Gennick, Andy Roberts, and Wayne Sheffield. Copyright 2012 Jason Brimhall, David Dye, Jonathan Gennick, Andy Roberts, and Wayne Sheffield, 978-1-4302-4200-0.
[2]: USE (Transact-SQL) - http://msdn.microsoft.com/en-us/library/ms188366.aspx
[3]: Selecting a Database - http://technet.microsoft.com/en-US/library/ms180770(v=SQL.105).aspx
[4]: GO (Transact-SQL) - http://msdn.microsoft.com/en-us/library/ms188037.aspx


J

No hay comentarios:

Publicar un comentario

Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.