Saltar al contenido

Vamos con un tema teórico y después veremos con una serie de prácticas sencillas como utilizarlas.

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

Puede ser este tipo de funciones: 

Funciones escalares

Conficuracion

Conversion

Fechas y horas

etc...etc...

Funciones agregadas

SUM

COUNT

MAX

MIN

etc...etc....

Funciones Windows

RANK

OVER

etc....etc...

Conjunto de filas

OPENDATASOURCE

OPENQUERY

OPENROWSET

OPENXML.

etc....etc....

Vamos a ir viendolas poco a poco ....

1374.format.png-550x0

Ya hemos visto como funciona la clausula ORDER BY.

OFFSET‐FETCH es muy parecida a TOP.  La diferencia esta en que la primera puedes poner un registro de inicio y de ahi, especificar el numero de filas que quieres que te devuelva.

Vamos con una ejemplo simple:

Captura

Este ejemplo se situará en la décima fila y te listara las siguientes 10.

Captura

Nos sitúa al principio del fichero y lista los primeros 5 registros

OFFSET‐FETCH se utiliza para paginación de resultados.

Ya sabéis que estoy en facebook:

https://www.facebook.com/groups/juankartips/

y twitter:

https://twitter.com/_Juankar_

El script perteneciente a este artículo: http://1drv.ms/1BohSDV

Ya vimos como funcionaba de una forma muy básica

Top

TOP nos permitirá especificar un número de filas a devolver, ya sea  un número  o  un porcentaje de todas las filas.

Captura

En la tabla Sales.Orders tiene 830 pedidos, la consulta nos devolverá 83 filas.

Si le añadimos la opcion WITH TIES devolverá las filas que ocupan el último lugar en el conjunto de resultados. Es decir, se incluyen en el resultado todos los registros que tienen  el mismo valor al último registro.

Captura

Como se ve en la segunda consulta se agregan 3 registros mas.

TOP...WITH TIES solo se puede especificar en instrucciones SELECT y siempre que se haya especificado una cláusula ORDER BY.

Y como siempre aquí os dejo el script.

http://1drv.ms/1G96cLV

Ya hemos visto otras formas de utilizar where

Distintas formas de utilizar la clausula Where

Pero tambien podemos combinar con lo siguiente:

* IN Determina si un valor especificado coincide con cualquier valor en una consulta o  lista.

* BETWEEN Especifica un rango

*LIKE Determina si una cadena de caracteres específica coincide con un patrón.

*AND

*OR

*NOT

Ahora toca poner un ejemplo de cada ... al turrón

Captura

Como podemos observar las 2 consultas dan el mismo resultado. Queremos consultar lo que pertenece a UK y Spain.

Como ya he dicho en otras veces se pueden hacer la misma consulta de varias formas.

Captura

Aquí os dejo los scripts

http://1drv.ms/19g97VK

Como podemos ver nos da unas cuantas posibilidades la clausula WHERE y mucha potencia en cuanto a la busqueda y consultas.

Vamos a ver  otra forma de utilizarlo.

Vamos añadir una nueva columna llamada iscampaign.

Esta columna mostrará la descripción "Productos en campaña" para las categorías 1,7 y 8 y la descripción "Sin Campaña" para las demás.

Nos quedaría así

Captura

Por ejemplo lo podemos utilizar para las ofertas del super.

El WHEN ...THEN ....ELSE  es una instruccion que comparamos una condiciñon de entrada y si es cierta nos dara el tema de THEN y si es falsa ...la del ELSE.

El script respectivo

http://1drv.ms/1C18Yj7

A veces cuando se escribe una consulta, es necesario sustituir un valor de una columna  por otro.

En T-SQL, las expresiones CASE devuelven un solo valor.  Por ejemplo, una expresión CASE puede ser utilizado para proporcionar un  texto cuando el valor almacenado es numérico.

Tenemos la siguiente tabla

Captura

Y ahora vamos a cambiar el categoryid según esta otra tabla Esto no es un JOIN.

CapturaY nos saldrá

CapturaSencillo .... estamos con la certificación 70-461 aun y queda mucho. Espero que os guste los ejemplos y la explicación.

Aqui os dejo el  script

http://1drv.ms/1CbsYkw

 

Un alias es nombrar una columna o tabla con otro nombre para una mejor identificación.

Por ejemplo una forma de ver  el resultado de una consulta es cambiar los encabezados de las columnas con AS o simplemente dejando un espacio.

Vamos con la practica

Captura

Vamos a cambiar los enunciados de las columnas

Captura

Otra forma de hacerlo

Captura

Los alias también se pueden utilizar en la cláusula FROM para referirse a una tabla.

Captura

Así de sencillo ... Ya sabeis que podeis compartir estos artículos

Y  aquí  los scripts utilizados

http://1drv.ms/1xMr4Bm

Y como no, podeis pasaros por el grupo de facebook.

https://www.facebook.com/groups/juankartips/

Vamos a recordar unos cuandos artículos que puse hace tiempo sobre el tema de las claves o indices:

Base de datos relacionales: Indices o claves

Diseñando BBDD: Pequeña tienda

Indices: Definirlos en las Tablas de Artículos y Proveedores en la aplicacion de la tienda

Crear Indice o clave externa y la relacion entre las tablas en T-SQL

Espero que os sea de utilidad .... lectura rápida y muy gráfica

Empezamos con  un tema de la certificación 70-461 de SQL y que ya hemos practicado en este blog.

Podemos organizarlo en:

Manipulación de datos de idioma, o DML, es el conjunto de instrucciones T-SQL que se centran para  consulta y modificación de datos. Esto incluye SELECT,  así como las instrucciones de modificación como INSERT, UPDATE, y DELETE.
Data Definition Language, o DDL, es el conjunto de instrucciones T-SQL que se encargan de la definición y ciclo de vida de objetos de bases de datos, como tablas, vistas y procedimientos. Esto incluye declaraciones como CREATE, ALTER y DROP.
Lenguaje de control de datos, o DCL, es el conjunto de instrucciones T-SQL que se  utiliza para gestionar los permisos de seguridad para los usuarios y objetos. DCL incluye los comandos GRANT, REVOKE y DENY.

Nos encontramos con los siguientes Componentes del lenguaje de t-sql

Predicados y Operadores.

Funciones

Algunas ya las hemos visto y otras las veremos.

Variables

Como en tantos lenguajes de programación, T-SQL proporciona un medio de almacenamiento temporal de un valor de un tipo de datos específico.
Sin embargo, a diferencia de otros entornos de programación, todas las variables creadas por el usuario en  T-SQL son locales. No hay variables globales o públicas en SQL Server.

Expresiones

T-SQL proporciona el uso de combinaciones de identificadores, símbolos y operadores que son evaluados por SQL Server para devolver un único resultado. Estas combinaciones se conocen como expresiones.

Control de flujo, errores y transacciones

Ya veremos como funcionan ...

Comentarios

Sirve para explicar lo que va a hacer en cada momento el código que ejecutemos.

Separadores

Si quieres que se ejecute todo el codigo o parcialmente.

Parte de las imagenes que aparecen en este artículo son propiedad de Microsoft

Ya hemos visto como crear una bbdd con parametros

Crear una BBDD con #sqlserver

Vamos a añadir un archivo de datos secundario a nuestra base de datos. Estos tipos de archivos por lo general se distinguen por la extensión de archivo: archivos primarios son generalmente el sufijo .mdf, mientras que los archivos secundarios se sufijo .ndf.  No es un requisito indispensable, es una buena práctica utilizar estas extensiones.

Vamos con la práctica ....

De momento hemos visto ya mismos comando o parametros que vimos en el anterior artículo.

El comando ALTER DATABASE modifica una base de datos o los archivos y grupos de archivos asociados a la base de datos. y el ADD... es simplemente es añadir ese fichero o filegroups.

Y aquí el script http://1drv.ms/1Gw0OjN

Espero que os guste.

Vamos con un tema teórico de sql server.

Ya vimos:

Descripcion breve del Sistema de las BBDD de SQL Server

A la hora de crear nuestras base de datos, tenemos que tener en cuenta unos cuantos criterios para poder tomar decisiones de como crear los archivos y donde hay que ubicarlos.

Que todas las BBDD tiene un archivo primario que tiene extensión .mdf y un archivo de logs que tiene extensión .ldf  Puede tener 1 o mas archivos secundarios con extension .ndf

Los archivos normalmente se guardan en MSSQL/Data  aunque podemos cambiarlo como vimos en  el artículo Crear una BBDD con #sqlserver

Los datos se almacenan en bloques de 8 kilobytes (KB) de espacio contiguo en disco, llamados páginas. Esto significa que una base de datos puede almacenar 128 páginas por megabyte (MB )

Las filas no pueden abarcar más de una página. Por tanto, la máxima cantidad de datos de una fila, quitando el espacio necesario para la cabecera de la fila, es 8060 bytes.

Las tablas y los índices se almacenan en extensiones. Una extensión son ocho páginas contiguas, o 64 KB. Por tanto, una base de datos tiene 16 extensiones por megabyte. Las tablas pequeñas pueden compartir extensiones con otros objetos de la base de datos.

Y los archivos logs sirven pare recuperar información por un fallo del sistema pero no tiene paginas de datos.

Para los que no les gusta picar código desde ahora podrás hacer un copy/paste.

El primero es el del artículo anterior:

Crear una BBDD con #sqlserver

Y aqui el script que he utilizado:

http://1drv.ms/1MFoV3m

Normalmente ira conjunto al artículo.

Captura