Antes de empezar tenemos que tener claro cómo se organiza la información en
una base de datos SQL Server 2005.
Las bases de datos de SQL Server 2005 utilizan tres tipos de archivos:
Archivos de datos
principales
En una base de datos SQLServer los datos se pueden repartir en varios archivos para mejorar el rendimiento de la base de datos.
El archivo de datos principal es el punto de partida de la base de datos y apunta a los otros archivos de datos de la base de datos. Cada base de datos tiene obligatoriamente un archivo de datos principal. La extensión recomendada para los nombres de archivos de datos principales es .mdf.
En una base de datos SQLServer los datos se pueden repartir en varios archivos para mejorar el rendimiento de la base de datos.
El archivo de datos principal es el punto de partida de la base de datos y apunta a los otros archivos de datos de la base de datos. Cada base de datos tiene obligatoriamente un archivo de datos principal. La extensión recomendada para los nombres de archivos de datos principales es .mdf.
Archivos de datos
secundarios
Los archivos de datos secundarios son todos los archivos de datos menos el archivo de datos principal. Puede que algunas bases de datos no tengan archivos de datos secundarios, mientras que otras pueden tener varios archivos de datos secundarios. La extensión de nombre de archivo recomendada para los archivos de datos secundarios es .ndf.
Además los archivos de datos se pueden agrupar en grupos de archivos. Para cada base de datos pueden especificarse hasta 32.767 archivos y 32.767 grupos de archivos.
Los archivos de datos secundarios son todos los archivos de datos menos el archivo de datos principal. Puede que algunas bases de datos no tengan archivos de datos secundarios, mientras que otras pueden tener varios archivos de datos secundarios. La extensión de nombre de archivo recomendada para los archivos de datos secundarios es .ndf.
Además los archivos de datos se pueden agrupar en grupos de archivos. Para cada base de datos pueden especificarse hasta 32.767 archivos y 32.767 grupos de archivos.
Archivos de registro
Los archivos de registro (archivos de log) almacenan toda la información de registro que se utiliza para recuperar la base de datos, el también denominado registro de transacciones. Como mínimo, tiene que haber un archivo de registro por cada base de datos, aunque puede haber varios. La extensión recomendada para los nombres de archivos de registro es .ldf.
Los archivos de registro (archivos de log) almacenan toda la información de registro que se utiliza para recuperar la base de datos, el también denominado registro de transacciones. Como mínimo, tiene que haber un archivo de registro por cada base de datos, aunque puede haber varios. La extensión recomendada para los nombres de archivos de registro es .ldf.
SQL Server 2005 no exige las extensiones de nombre de archivo .mdf, .ndf y
.ldf, pero estas extensiones ayudan a identificar las distintas clases de
archivos y su uso.
Cada base de datos tiene al menos 2 archivos (un archivo de datos principal
y un archivo de registro) y opcionalmente un grupo de archivos.
Los archivos de datos y de registro de SQL Server se pueden colocar en
sistemas de archivos FAT o NTFS. Se recomienda utilizar NTFS por los aspectos
de seguridad que ofrece. No se pueden colocar grupos de archivos de datos de
lectura y escritura, y archivos de registro, en un sistema de archivos NTFS
comprimido. Sólo las bases de datos de sólo lectura y los grupos de archivos
secundarios de sólo lectura se pueden colocar en un sistema de archivos NTFS
comprimido.
1.5. Crear una base de datos en SSMS
En el Explorador de objetos, si desplegamos la carpeta Bases
de datos nos aparecen Bases de datos del sistema y las
bases de datos de usuario después de la carpeta Instantáneas...
Después de la instalación, en la carpeta Bases de datos del
sistema se habrá creado una especial denominada master se utiliza
como base de datos de usuario por defecto.
Las demás bases de datos forman también parte del diccionario de datos y las utiliza el sistema para llevar a cabo su gestión.
Las demás bases de datos forman también parte del diccionario de datos y las utiliza el sistema para llevar a cabo su gestión.
Las bases de datos de los usuarios se deben crear preferentemente fuera de
la carpeta Bases de datos del sistema.
Unidad 1. El entorno gráfico SSMS (III)
Para crear una nueva base de datos de usuario
nos posicionamos sobre la carpeta Bases de datos y
con el botón derecho del ratón desplegamos el menú contextual del que elegimos
la opción Nueva base de datos…
Se abre a continuación el cuadro de diálogo
donde definiremos la base de datos que queremos crear:
Esta base de datos está asociada a dos archivos físicos, en la parte inferior aparecen esos archivos. Para facilitarnos la tarea, al teclear el nombre de la bd lógica, se rellenan automáticamente los nombres de los archivos físicos, el de datos con el mismo nombre y el del archivo de registro con el mismo nombre seguido de _log. Estos nombres son los nombres que se asumen por defecto pero los podemos cambiar, posicionando el cursor en el nombre y cambiándolo.
Para cada archivo físico podemos definir una serie de parámetros como el tipo de archivo (si es de datos o de transacciones Registro) y su ocupación inicial (Tamaño inicial).
Si no indicamos ninguna ubicación podemos ver que los guarda en la carpeta del SQL Server/MSSQL.n/MSSQL/DATA.
n representa un número que puede variar de una instalación a otra.
Estos son los archivos mínimos en los que se almacenará la base de datos, pero como ya vimos anteriormente se puede almacenar en más archivos, los tenemos que definir todos en esta ventana a continuación de los dos obligatorios.
Para añadir más archivos físicos disponemos del botón Agregar.
Al pulsar el botón Agregar se crea una nueva fila en la tabla de archivos físicos donde deberemos escribir el nombre del archivo, su tipo (desplegando la lista podemos elegir entre de datos o de registro) y demás parámetros.
Al agregar un nuevo archivo se activa el botón Quitar, siempre que estemos posicionados encima de un archivo secundario para poder así eliminarlo si lo queremos.
No podemos eliminar ni el de datos primario, ni el de registro inicial.
Unidad 1. El entorno gráfico SSMS (IV)
Si nos fijamos en la zona de la izquierda,
vemos que nos encontramos en la pestaña General,
podemos cambiar otros parámetros de la base de datos pulsando en Grupos
de archivos o en Opciones:Al final pulsamos en Aceptar y se creará la base de datos.
Aparecerá dentro de la carpeta Bases de datos. Si no se ve pulsa en el icono Actualizar .
Desde el Explorador de Windows podemos ver que en la carpeta indicada se han creado los archivos físicos con los nombres que le hemos indicado.
Unidad 1. El entorno gráfico SSMS (V)
1.6. Adjuntar una base de datos
En ocasiones no necesitaremos crear la base
de datos desde cero, porque ésta ya estará creada. Éste es el caso de los
ejercicios del curso. Para realizarlos, deberás adjuntar una
base de datos ya existente a tu servidor. Para ello, lo
que tenemos que hacer es pegar los archivos en la ubicación que queramos, y
luego indicar al SQL Server que vamos a utilizar esta base de datos, de la
siguiente manera:En el Explorador de objetos, sobre la carpeta Bases de datos desplegar el menú contextual y elegir Adjuntar...
En la siguiente ventana elegimos la base de datos:
Pulsando en Agregar indicamos el archivo de datos primario en su ubicación y automáticamente se adjuntará la base de datos lógica asociada a este archivo.
Finalmente pulsamos en Aceptar y aparece la base de datos en nuestro servidor.
La opción Adjuntar sólo se utiliza la primera vez, cuando todavía no tenemos la base de datos en el disco.
Realiza el siguiente Ejercicio Adjuntar base de datos. En él adjuntarás las bases de datos que vas a utilizar en los ejercicios que se plantearán más adelante.
1.7. Conectar y Desconectar la base de datos
Una vez hemos creado la base de datos o la
hemos adjuntado a nuestro servidor, nos daremos cuenta de que no podremos
manipular los archivos de la base desde fuera del gestor SSMS, por ejemplo,
desde el Explorador de Windows. Es decir, no podremos copiar, cortar, mover o
eliminar los archivos fuente mdf, ndf y ldf. Si lo intentamos se mostrará un
aviso de que la base de datos está en uso.Ésto es así porque SQL Server sigue en marcha, a pesar de que se cierre el gestor. Ten en cuenta que el servidor de base de datos normalmente se crea para que sirva información a diferentes programas, por eso sería absurdo que dejara de funcionar cuando cerramos el programa gestor, que sólo se utiliza para realizar modificaciones sobre la base.
Para poder realizar acciones sobre la base de datos, ésta debe estar desconectada. Para ello, desde el SSMS, desplegamos el menú contextual de la base de datos que nos interese manipular y seleccionaremos la opción Poner fuera de conexión:
Para volver a conectar la base de datos y seguir trabajando con ella, accederemos al mismo menú contextual pero elegiremos la opción Poner en conexión:
En caso de que tu versión de SQL Server no tenga las opciones Poner en conexión y Poner fuera de conexión, deberás utilizar la opción Separar... y luego volver a adjuntarla.
Unidad 1. Ejercicio paso a paso: Trasladar
una base de datos a otro equipo
Objetivo
Copiar una base de datos que está en uso en
un servidor, y adjuntarla o actualizarla en otro.
Ejercicio paso a paso
1. Sabemos que la base de datos está en los archivos físicos que definimos cuando definimos la base de datos, estos archivos se localizan en una determina ruta. Esta información se encuentra en las propiedades de la base de datos, para acceder a la ventana de propiedades de la base de datos (parecida la que se abrió cuando creamos la base de datos) utilizamos como siempre el menú contextual que nos llevará a la ventana Propiedades de la base de datos:
2. Una vez sabemos la ruta, utilizamos el
Explorador de Windows para abrir a la carpeta donde se encuentran los archivos.
3. Volvemos al SSMS y desconectamos la base
de datos, como ya hemos visto: Desde el menú contextual y eligiendo Tareas
> Poner fuera de conexión.
4. Ahora que ya está desconectada, copiamos
los archivos desde el Explorador de Windows, por ejemplo, a nuestro pendrive.
Ya tenemos una copia de la base de datos de
clase. Ahora vamos a ver cómo incluirla en el otro ordenador, es decir, en
casa.
- En caso de que la base de datos no
exista, deberás adjuntarla como ya hemos visto: Desde el menú contextual de
bases de datos y eligiendo la Adjuntar...
- En caso de que la base de datos ya exista
y lo que quieras sea actualizarla, deberás:
1. Desconectar la base existente desde
SSMS.
2. Sobreescribir los archivos físicos por
los nuevos que llevas en el pendrive, desde el Explorador de Windows.
3. Volver a conectar la base de datos desde
SSMS.
Unidad 1. El entorno gráfico SSMS (VI)
1.8. Crear una nueva tabla
Para crear una nueva tabla primero nos
tenemos que posicionar en la base de datos donde queremos que se almacene la
tabla, desplegar el menú contextual y seleccionar la opción Nueva
tabla.
En la ventana que se abre debemos definir las columnas de la tabla:
A cada columna se le asigna un nombre, un tipo de datos, y opcionalmente una serie de propiedades, en este tema veremos las básicas y las demás las veremos con más detalle cuando veamos la instrucción SQL CREATE TABLE.
De momento no tenemos definida ninguna columna, al teclear un nombre se crea una primera entrada en esta tabla con la definición de la primera columna. En la columna Tipo de datos elegimos qué tipo de valores se podrán almacenar en la columna.
1.9. Tipos de datos
Podemos elegir entre todos los tipos que
aparecen arriba.
Algunos tipos no necesitan más, como por
ejemplo el tipo entero (int), y otros se pueden completar con una longitud,
como los tipos alfanuméricos:
Las propiedades de la columna pueden variar dependiendo del tipo de datos de la columna seleccionada, por ejemplo los campos enteros no tienen la propiedad longitud, ya que el propio tipo define la longitud del campo, en cambio los campos de tipo numeric o decimal no tiene la propiedad longitud pero sí las propiedades escala y precisión, los valores que permiten definir el tamaño del campo.
Unidad 1. El entorno gráfico SSMS (VII)
1.10. Valores nulos
También podemos indicar si la columna
permitirá valores nulos o no, o bien cambiando la propiedad Permitir
valores nulos que aparece debajo de la propiedad Longitud,
o bien simplemente marcando o desmarcando la casilla de la columna Permitir
valores nulos que se encuentra al lado de la columna Tipo
de datos. Si la casilla está marcada, el usuario podrá no rellenar el
campo cuando inserte una fila de datos en la tabla.
1.11. Columna con contador
En la mayoría de los sistemas gestores de
bases de datos tenemos un tipo de datos de tipo contador, autonumérico,
autoincremental, etc. Este tipo hace que el propio sistema es el encargado de
rellenar el campo con un valor que va incrementando conforme se crean más filas
de datos en la tabla.
Las columnas de este tipo se utilizan
normalmente para numerar las filas de la tabla, como no habrán dos filas con el
mismo valor (el sistema se encarga de incrementar el valor cada vez que se crea
una nueva fila), estos campos se suelen utilizar como claves primarias.
En SQL Server 2005 no existe el tipo de datos Contador pero se consigue el mismo funcionamiento asignando a la columna un tipo de datos numérico y definiendo la columna como columna de identidad.
En las propiedades de la columna marcamos Sí en la propiedad (Identidad) y a continuación podemos indicar en qué valor queremos que empiece el contador (Inicialización de identidad) y en cuánto incrementará cada vez que se cree un nuevo registro (Incremento de identidad).
Aunque este tipo de columnas se utiliza frecuentemente como clave primaria, SQL Server no le asigna automáticamente esta función, la tenemos que definir nosotros mismos, pero sí fuerza a que sea una columna sin valores nulos. No se puede definir más de una columna de identidad por tabla.
1.12. Clave primaria
Para definir una columna como clave
primaria, posicionamos el puntero del ratón sobre la columna, desplegamos el
menú contextual y seleccionamos la opción Establecer
Clave principal:
Aparecerá una llave a la izquierda del nombre, símbolo de las claves principales:
Para definir una clave primaria compuesta por varias columnas, seleccionamos las columnas manteniendo pulsada la tecla Ctrl y luego seleccionamos la opción.
Para quitar una clave principal, hacemos lo mismo pero en esta ocasión seleccionamos la opción Quitar clave principal.
También podemos utilizar el icono de la barra de herramientas.
Unidad 1. El entorno gráfico SSMS (VIII)
1.13. Añadir o eliminar columnas
Una vez definidas algunas columnas, si
queremos añadir una nueva columna entre dos, nos posicionamos en la segunda y
seleccionamos la opción Insertar columna
del menú contextual.
La nueva columna se colocará delante:
Del mismo modo si queremos eliminar la definición de una columna, nos posicionamos en la columna a eliminar y seleccionamos la opción Eliminar columna:
1.14. Modificar la definición de una tabla
Para entrar a la ventana de definición de
la tabla utilizamos la opción Modificar
de su menú contextual (También es posible que se llame Diseño):
Se abrirá la ventana que ya conocemos para definir las columnas de la tabla.
Unidad 1. El entorno gráfico SSMS (IX)
1.15. Insertar datos en la tabla
Ahora que tenemos la tabla creada podemos
rellenarla con datos. Para eso debemos abrir la tabla:
Se abrirá una ventana parecida a esta:
Para insertar una nueva fila de datos sólo tenemos que rellenar los campos que aparecen en esa fila (la del *), al cambiar de fila los datos se guardarán automáticamente en la tabla a no ser que alguno infrinja alguna regla de integridad, en ese caso SQL Server nos devuelve un mensaje de error para que corrijamos el dato erróneo, si no lo podemos corregir entonces sólo podemos deshacer los cambios.
1.16. Modificar datos
Para modificar un valor que ya está en una
fila de la tabla sólo tenemos que posicionarnos en el campo y rectificar el
valor. En cuanto modificamos un valor, la fila aparece con un lápiz escribiendo
(ver imagen), este lápiz nos indica que la fila se ha modificado y tiene nuevos
datos por guardar. Al salir de la fila ésta se guardará automáticamente a no
ser que el nuevo valor infrinja alguna regla de integridad. Si queremos salir
de la fila sin guardar los cambios, tenemos que cancelar la actualización
pulsando la tecla ESC.
1.17. Eliminar filas
Para eliminar una fila completa, la
seleccionamos y pulsamos la tecla Supr o bien desplegamos su menú contextual y
seleccionamos la opción
1.18. Relacionar tablas
Unidad 1. El entorno gráfico SSMS (X)
En la parte derecha tenemos la tabla en la
que estamos y el campo que va a actuar como clave ajena, sólo nos queda elegir
en el desplegable de la izquierda la tabla a la que hace referencia la clave y
al seleccionar una tabla, a la izquierda del campo clave ajena podremos elegir
el campo de la otra tabla por el que se relacionarán las tablas. En nuestro
caso será:
De esta forma hemos definido una relación entre las tablas Facturas y Clientes. Para ver las relaciones existentes entre las diferentes tablas tenemos los diagramas.
Primero debemos definir el diagrama, para ello seleccionamos la opción correspondiente:
Si no tenemos todavía ningún diagrama creado, nos aparece un mensaje:
Elegimos Sí y se crea digamos el soporte donde se pintará el diagrama.
A continuación nos aparece el nuevo diagrama ahora si elegimos crear un nuevo diagrama nos preguntará las tablas a incluir en el diagrama:
Seleccionamos cada una y pulsamos Agregar, cuando hayamos agregado al diagrama todas las que queremos pulsamos en Cerrar y aparecerán en el diagrama las tablas con las relaciones que tengan definidas en ese momento:
La llave indica la tabla principal (padre) y el símbolo infinito señala la tabla que contiene la clave ajena.
En el examinador de objetos en la carpeta Diagramas de base de datos aparecen todos los diagramas definidos hasta el momento:
Hemos aprendido hasta ahora lo básico para poder crear una base de datos y rellenarla con tablas relacionadas entre sí y con datos, ahora veamos cómo recuperar esos datos.
Unidad 1. El entorno gráfico SSMS (XI)
1.19. Abrir una nueva consulta
Vamos a ver ahora cómo crear consultas SQL
y ejecutarlas desde el entorno del SSMS.
Para ello debemos abrir la zona de trabajo de tipo Query, abriendo una nueva consulta, seleccionando previamente el servidor y pulsando el botón de la barra de botones o si queremos realizar la consulta sobre un servidor con el cual todavía no hemos establecido conexión, seleccionando de la barra de menús la opción Nuevo > Consulta de motor de base de datos:
En este último caso nos aparecerá el cuadro de diálogo para establecer la conexión (el mismo que vimos al principio del tema).
A continuación se abrirá una nueva pestaña donde podremos teclear las sentencias SQL:
Además aparece una nueva barra de botones que nos permitirá ejecutar los comandos más útiles del modo query.
1.20. Escribir y ejecutar código
TRANSACT-SQL
En SQL Server 2005 no existe el tipo de datos Contador pero se consigue el mismo funcionamiento asignando a la columna un tipo de datos numérico y definiendo la columna como columna de identidad.
En las propiedades de la columna marcamos Sí en la propiedad (Identidad) y a continuación podemos indicar en qué valor queremos que empiece el contador (Inicialización de identidad) y en cuánto incrementará cada vez que se cree un nuevo registro (Incremento de identidad).
Aunque este tipo de columnas se utiliza frecuentemente como clave primaria, SQL Server no le asigna automáticamente esta función, la tenemos que definir nosotros mismos, pero sí fuerza a que sea una columna sin valores nulos. No se puede definir más de una columna de identidad por tabla.
1.12. Clave primaria
Para definir una columna como clave
primaria, posicionamos el puntero del ratón sobre la columna, desplegamos el
menú contextual y seleccionamos la opción Establecer
Clave principal:Aparecerá una llave a la izquierda del nombre, símbolo de las claves principales:
Para definir una clave primaria compuesta por varias columnas, seleccionamos las columnas manteniendo pulsada la tecla Ctrl y luego seleccionamos la opción.
Para quitar una clave principal, hacemos lo mismo pero en esta ocasión seleccionamos la opción Quitar clave principal.
También podemos utilizar el icono de la barra de herramientas.
Unidad 1. El entorno gráfico SSMS (VIII)
1.13. Añadir o eliminar columnas
Una vez definidas algunas columnas, si
queremos añadir una nueva columna entre dos, nos posicionamos en la segunda y
seleccionamos la opción Insertar columna
del menú contextual.La nueva columna se colocará delante:
Del mismo modo si queremos eliminar la definición de una columna, nos posicionamos en la columna a eliminar y seleccionamos la opción Eliminar columna:
O simplemente hacemos clic en la zona
a la izquierda del nombre y pulsamos la tecla Supr.
Finalmente guardamos la tabla, nos pedirá el
nombre de la tabla:
La nueva tabla aparecerá en la lista de
tablas de la base de datos:
1.14. Modificar la definición de una tabla
Para entrar a la ventana de definición de
la tabla utilizamos la opción Modificar
de su menú contextual (También es posible que se llame Diseño):Se abrirá la ventana que ya conocemos para definir las columnas de la tabla.
Unidad 1. El entorno gráfico SSMS (IX)
1.15. Insertar datos en la tabla
Ahora que tenemos la tabla creada podemos
rellenarla con datos. Para eso debemos abrir la tabla:Se abrirá una ventana parecida a esta:
La primera columna sirve para indicarnos el
estado de una fila, por ejemplo el * nos indica que es una nueva fila, esta
fila realmente no está en la tabla, nos sirve de contenedor para los nuevos
datos que queremos insertar.
Para insertar una nueva fila de datos sólo tenemos que rellenar los campos que aparecen en esa fila (la del *), al cambiar de fila los datos se guardarán automáticamente en la tabla a no ser que alguno infrinja alguna regla de integridad, en ese caso SQL Server nos devuelve un mensaje de error para que corrijamos el dato erróneo, si no lo podemos corregir entonces sólo podemos deshacer los cambios.
1.16. Modificar datos
Para modificar un valor que ya está en una
fila de la tabla sólo tenemos que posicionarnos en el campo y rectificar el
valor. En cuanto modificamos un valor, la fila aparece con un lápiz escribiendo
(ver imagen), este lápiz nos indica que la fila se ha modificado y tiene nuevos
datos por guardar. Al salir de la fila ésta se guardará automáticamente a no
ser que el nuevo valor infrinja alguna regla de integridad. Si queremos salir
de la fila sin guardar los cambios, tenemos que cancelar la actualización
pulsando la tecla ESC.
1.17. Eliminar filas
Para eliminar una fila completa, la
seleccionamos y pulsamos la tecla Supr o bien desplegamos su menú contextual y
seleccionamos la opción
En cualquiera de los dos casos nos aparece
un mensaje de confirmación.
1.18. Relacionar tablas
Como ya hemos visto, en una base de datos
relacional, las relaciones entre las tablas se implementan mediante la
definición de claves ajenas, que son campos que contienen valores que señalan a
un registro en otra tabla, en esta relación así creada, la tabla referenciada
se considera principal y la que contiene la clave ajena es la subordinada.
Desde el entorno gráfico del SSMS podemos definir claves ajenas entrando en el diseño de la tabla y desplegando el menú contextual del campo que va a ser clave ajena:
Desde el entorno gráfico del SSMS podemos definir claves ajenas entrando en el diseño de la tabla y desplegando el menú contextual del campo que va a ser clave ajena:
Seleccionamos la opción Relaciones
y se abre la ventana:
Al pulsar el botón que se encuentra en la
fila Especificación de tablas y columnas
se abre el diálogo donde definiremos la relación:
Unidad 1. El entorno gráfico SSMS (X)
En la parte derecha tenemos la tabla en la
que estamos y el campo que va a actuar como clave ajena, sólo nos queda elegir
en el desplegable de la izquierda la tabla a la que hace referencia la clave y
al seleccionar una tabla, a la izquierda del campo clave ajena podremos elegir
el campo de la otra tabla por el que se relacionarán las tablas. En nuestro
caso será:De esta forma hemos definido una relación entre las tablas Facturas y Clientes. Para ver las relaciones existentes entre las diferentes tablas tenemos los diagramas.
Primero debemos definir el diagrama, para ello seleccionamos la opción correspondiente:
Si no tenemos todavía ningún diagrama creado, nos aparece un mensaje:
Elegimos Sí y se crea digamos el soporte donde se pintará el diagrama.
A continuación nos aparece el nuevo diagrama ahora si elegimos crear un nuevo diagrama nos preguntará las tablas a incluir en el diagrama:
Seleccionamos cada una y pulsamos Agregar, cuando hayamos agregado al diagrama todas las que queremos pulsamos en Cerrar y aparecerán en el diagrama las tablas con las relaciones que tengan definidas en ese momento:
La llave indica la tabla principal (padre) y el símbolo infinito señala la tabla que contiene la clave ajena.
En el examinador de objetos en la carpeta Diagramas de base de datos aparecen todos los diagramas definidos hasta el momento:
Hemos aprendido hasta ahora lo básico para poder crear una base de datos y rellenarla con tablas relacionadas entre sí y con datos, ahora veamos cómo recuperar esos datos.
Unidad 1. El entorno gráfico SSMS (XI)
1.19. Abrir una nueva consulta
Vamos a ver ahora cómo crear consultas SQL
y ejecutarlas desde el entorno del SSMS.Para ello debemos abrir la zona de trabajo de tipo Query, abriendo una nueva consulta, seleccionando previamente el servidor y pulsando el botón de la barra de botones o si queremos realizar la consulta sobre un servidor con el cual todavía no hemos establecido conexión, seleccionando de la barra de menús la opción Nuevo > Consulta de motor de base de datos:
En este último caso nos aparecerá el cuadro de diálogo para establecer la conexión (el mismo que vimos al principio del tema).
A continuación se abrirá una nueva pestaña donde podremos teclear las sentencias SQL:
Además aparece una nueva barra de botones que nos permitirá ejecutar los comandos más útiles del modo query.
1.20. Escribir y ejecutar código
TRANSACT-SQL
Sólo tenemos que teclear la sentencia a
ejecutar, por ejemplo empezaremos por crear la base de datos.
Utilizaremos la sentencia CREATE DATABASE
mínima:
Al pulsar el botón Ejecutar se ejecuta la sentencia y aparece en la parte inferior el resultado de la ejecución, en la pestaña Mensajes:
Si ahora desplegamos la carpeta Bases de Datos del Explorador de Objetos, observaremos la base de datos que hemos creado:
Si la ejecución de la sentencia produce un error, el sistema nos devolverá el mensaje de error escrito en rojo en la pestaña Mensajes.
Podemos incluir en una misma consulta varias sentencias SQL, cuando pulsamos Ejecutar se ejecutarán todas una detrás de otra. Si tenemos varias consultas y sólo queremos ejecutar una, la seleccionaremos antes de ejecutarla.
Unidad 1. El entorno gráfico SSMS (XII)
1.21. La base de datos predeterminada
Cuando ejecutamos consultas desde el
editor, nos tenemos que fijar sobre qué base de datos se va a actuar.
Fijándonos en la pestaña de la consulta, en el nombre aparece el nombre del servidor seguido de un punto y el nombre de la base de datos sobre la que se va a actuar y luego un guión y el nombre de la consulta.
En la imagen anterior tenemos ord01.master – SQLQuery1.sql, lo que nos indica que la consulta se llama SQLQuery1.sql, y que se va a ejecutar sobre la base de datos master que se encuentra en el servidor ord01.
Cuando creamos una nueva consulta, ésta actuará sobre la base de datos activa en ese momento. Por defecto la base de datos activa es la predeterminada (master). Si queremos que la base de datos activa sea por ejemplo la base de datos ventas, hacemos clic sobre su nombre en el Explorador de objetos, y ésta pasará a ser la base de datos activa. Si ahora creamos una nueva consulta, ésta actuará sobre la base de datos ventas.
Si queremos crear una consulta que siempre actúe sobre una determinada base de datos y no nos queremos preocupar de qué base de datos tenemos activa podemos añadir al principio de la consulta la instrucción USE nombreBaseDatos; esto hará que todas las instrucciones que aparezcan después, se ejecuten sobre la base de datos indicada.
Por ejemplo:
Obtiene todos los datos de la tabla pedidos que se encuentra
en la base de datos ventas.
Si no utilizamos USE y almacenamos la consulta, al abrirla otra vez, cogerá como base de datos la predeterminada (no la activa) y se volverá a ejecutar sobre la base de datos master.
Normalmente utilizaremos como base de datos la nuestra y no la base de datos master, por lo que nos será útil cambiar el nombre de la base de datos por defecto, esto lo podemos hacer cambiando la base de datos por defecto en el id de sesión.
Para ello, cuando vamos a conectar con el servidor:
Pulsamos en el botón Opciones >>
En la pestaña Propiedades de conexión, en el cuadro Conectar con base de datos: Seleccionamos <Examinar servidor > para elegir la base de datos.
La elegimos y aceptamos. A partir de ese momento la base de datos elegida será la que SQL Server coja por defecto en todas las sesiones de ese usuario.
Unidad 1. El entorno gráfico SSMS (XIII)
1.22. El editor de texto
Para facilitarnos la redacción y corrección
de las sentencias, el editor de SQL presenta las palabras de distintos colores
según su categoría y podemos utilizar el panel Explorador de
Objetos para arrastrar desde él los objetos sobre la zona de trabajo y
así asegurarnos de que los nombres de los objetos (por ejemplo nombre de tabla,
de columna, etc.) sean los correctos.
Como hemos dicho el texto que se escribe en este editor de código se colorea por categoría. Los colores son los mismos que se utilizan en todo el entorno SQL Server. En esta tabla aparecen los colores más comunes.
1.23. Configurar un esquema de colores
personalizado
En el menú Herramientas
> Opciones,
desplegando la opción Entorno,
Fuentes y colores, se
puede ver la lista completa de colores y sus categorías, así como configurar un
esquema de colores personalizado:
En la lista Mostrar valores para, seleccionamos el entorno que se verá afectado.
El botón Usar predeterminados nos permite volver a la configuración predeterminada.
Ahora sólo nos queda aprender a redactar sentencias SQL, cosa que se verá en otro momento, mientras tanto podemos utilizar el Generador de Consulta que incluye SSMS y que veremos a continuación en el apartado sobre vistas.
1.24. Las Vistas
Las consultas que hemos visto hasta ahora
son trozos de código SQL que podemos guardar en un archivo de texto y abrir y
ejecutar cuando queramos, pero si queremos que nuestra consulta de recuperación
de datos se guarde en la propia base de datos y se comporte como una tabla
(algo parecido a una consulta almacenada de Access), la tenemos que definir
como una vista. Esta vista tiene la ventaja entre otras de poder ser utilizada
como si fuese una tabla en otras consultas. Realmente al ejecutarla obtenemos
una tabla lógica almacenada en memoria y lo que se guarda en la base de datos
es su definición, la instrucción SQL que permite recuperar los datos.
Para definir una vista en el Explorador de Objetos desplegamos la base de datos donde la guardaremos y elegimos la opción Nueva vista del menú contextual de la carpeta Vistas, se pondrá en funcionamiento el generador de consultas pidiéndonos las tablas en las que se basará la vista. Pulsamos sobre la tabla a añadir al diseño de la vista y pulsamos el botón Agregar, podemos añadir así cuántas tablas queramos.
Después de Cerrar, vemos a la derecha del Explorador de Objetos la pestaña con la definición de la vista que puede incluir varios paneles:
La aparición de estos paneles es configurable, en la barra de herramientas Diseñador de vistas los iconos remarcados en azul son los correspondientes a cada panel:
CREATE DATABASE ventas;
Al pulsar el botón Ejecutar se ejecuta la sentencia y aparece en la parte inferior el resultado de la ejecución, en la pestaña Mensajes:
Si ahora desplegamos la carpeta Bases de Datos del Explorador de Objetos, observaremos la base de datos que hemos creado:
Si la ejecución de la sentencia produce un error, el sistema nos devolverá el mensaje de error escrito en rojo en la pestaña Mensajes.
Podemos incluir en una misma consulta varias sentencias SQL, cuando pulsamos Ejecutar se ejecutarán todas una detrás de otra. Si tenemos varias consultas y sólo queremos ejecutar una, la seleccionaremos antes de ejecutarla.
Unidad 1. El entorno gráfico SSMS (XII)
1.21. La base de datos predeterminada
Cuando ejecutamos consultas desde el
editor, nos tenemos que fijar sobre qué base de datos se va a actuar.Fijándonos en la pestaña de la consulta, en el nombre aparece el nombre del servidor seguido de un punto y el nombre de la base de datos sobre la que se va a actuar y luego un guión y el nombre de la consulta.
En la imagen anterior tenemos ord01.master – SQLQuery1.sql, lo que nos indica que la consulta se llama SQLQuery1.sql, y que se va a ejecutar sobre la base de datos master que se encuentra en el servidor ord01.
Cuando creamos una nueva consulta, ésta actuará sobre la base de datos activa en ese momento. Por defecto la base de datos activa es la predeterminada (master). Si queremos que la base de datos activa sea por ejemplo la base de datos ventas, hacemos clic sobre su nombre en el Explorador de objetos, y ésta pasará a ser la base de datos activa. Si ahora creamos una nueva consulta, ésta actuará sobre la base de datos ventas.
Si queremos crear una consulta que siempre actúe sobre una determinada base de datos y no nos queremos preocupar de qué base de datos tenemos activa podemos añadir al principio de la consulta la instrucción USE nombreBaseDatos; esto hará que todas las instrucciones que aparezcan después, se ejecuten sobre la base de datos indicada.
Por ejemplo:
USE ventas;
SELECT * FROM pedidos;
Si no utilizamos USE y almacenamos la consulta, al abrirla otra vez, cogerá como base de datos la predeterminada (no la activa) y se volverá a ejecutar sobre la base de datos master.
Normalmente utilizaremos como base de datos la nuestra y no la base de datos master, por lo que nos será útil cambiar el nombre de la base de datos por defecto, esto lo podemos hacer cambiando la base de datos por defecto en el id de sesión.
Para ello, cuando vamos a conectar con el servidor:
Pulsamos en el botón Opciones >>
En la pestaña Propiedades de conexión, en el cuadro Conectar con base de datos: Seleccionamos <Examinar servidor > para elegir la base de datos.
La elegimos y aceptamos. A partir de ese momento la base de datos elegida será la que SQL Server coja por defecto en todas las sesiones de ese usuario.
Unidad 1. El entorno gráfico SSMS (XIII)
1.22. El editor de texto
Para facilitarnos la redacción y corrección
de las sentencias, el editor de SQL presenta las palabras de distintos colores
según su categoría y podemos utilizar el panel Explorador de
Objetos para arrastrar desde él los objetos sobre la zona de trabajo y
así asegurarnos de que los nombres de los objetos (por ejemplo nombre de tabla,
de columna, etc.) sean los correctos.Como hemos dicho el texto que se escribe en este editor de código se colorea por categoría. Los colores son los mismos que se utilizan en todo el entorno SQL Server. En esta tabla aparecen los colores más comunes.
Color
|
Categoría
|
Rojo
|
Cadena de
caracteres
|
Verde
oscuro
|
Comentario
|
Negro
sobre fondo plateado
|
Comando
SQLCMD
|
Fucsia
|
Función
del sistema
|
Verde
|
Tabla
del sistema
|
Azul
|
Palabra
clave
|
Verde
azulado
|
Números
de línea o parámetro de plantilla
|
Rojo
oscuro
|
Procedimiento
almacenado de SQL Server
|
Gris
oscuro
|
Operadores
|
1.23. Configurar un esquema de colores
personalizado
En el menú Herramientas
> Opciones,
desplegando la opción Entorno,
Fuentes y colores, se
puede ver la lista completa de colores y sus categorías, así como configurar un
esquema de colores personalizado:En la lista Mostrar valores para, seleccionamos el entorno que se verá afectado.
El botón Usar predeterminados nos permite volver a la configuración predeterminada.
Ahora sólo nos queda aprender a redactar sentencias SQL, cosa que se verá en otro momento, mientras tanto podemos utilizar el Generador de Consulta que incluye SSMS y que veremos a continuación en el apartado sobre vistas.
1.24. Las Vistas
Las consultas que hemos visto hasta ahora
son trozos de código SQL que podemos guardar en un archivo de texto y abrir y
ejecutar cuando queramos, pero si queremos que nuestra consulta de recuperación
de datos se guarde en la propia base de datos y se comporte como una tabla
(algo parecido a una consulta almacenada de Access), la tenemos que definir
como una vista. Esta vista tiene la ventaja entre otras de poder ser utilizada
como si fuese una tabla en otras consultas. Realmente al ejecutarla obtenemos
una tabla lógica almacenada en memoria y lo que se guarda en la base de datos
es su definición, la instrucción SQL que permite recuperar los datos.Para definir una vista en el Explorador de Objetos desplegamos la base de datos donde la guardaremos y elegimos la opción Nueva vista del menú contextual de la carpeta Vistas, se pondrá en funcionamiento el generador de consultas pidiéndonos las tablas en las que se basará la vista. Pulsamos sobre la tabla a añadir al diseño de la vista y pulsamos el botón Agregar, podemos añadir así cuántas tablas queramos.
Después de Cerrar, vemos a la derecha del Explorador de Objetos la pestaña con la definición de la vista que puede incluir varios paneles:
La aparición de estos paneles es configurable, en la barra de herramientas Diseñador de vistas los iconos remarcados en azul son los correspondientes a cada panel:
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.