martes, 19 de mayo de 2015

Procedimientos almacenados


¿Qué son?

En palabras sencillas un procedimiento almacenado de SQL Server es un grupo de una o varias instrucciones Transact-SQL.. Los procedimientos se asemejan a las construcciones de otros lenguajes de programación, porque pueden:
  • Aceptar parámetros de entrada y devolver varios valores en forma de parámetros de salida al programa que realiza la llamada.
  • Contener instrucciones de programación que realicen operaciones en la base de datos. Entre otras, pueden contener llamadas a otros procedimientos.
  • Devolver un valor de estado a un programa que realiza una llamada para indicar si la operación se ha realizado correctamente o se han producido errores, y el motivo de estos.
¿Como los instanciamos en SQL Sever?


INDICES



LAS PROPIEDADES DE LAS TRANSACCIONES

Cuando realizamos transacciones en cualquier base de datos  debemos de tener siempr en cuenta estas propiedades.

  • Atomicidad: Si una operación consiste en una serie de pasos, todos ellos ocurren o ninguno, es decir, las transacciones son completas.
  •   Consistencia: Integridad. Es la propiedad que asegura que sólo se empieza aquello que se puede acabar. Por lo tanto se ejecutan aquellas operaciones que no van a romper las reglas y directrices de integridad de la base de datos. La propiedad de consistencia sostiene que cualquier transacción llevará a la base de datos desde un estado válido a otro también válido. "La Integridad de la Base de Datos nos permite asegurar que los datos son exactos y consistentes, es decir que estén siempre intactos, sean siempre los esperados y que de ninguna manera cambien ni se deformen.
  • Aislamiento: es la propiedad que asegura que una operación no puede afectar a otras. Esto asegura que la realización de dos transacciones sobre la misma información sean independientes y no generen ningún tipo de error.  Esta propiedad define cómo y cuándo los cambios producidos por una operación se hacen visibles para las demás operaciones concurrentes.
  •  Durabilidad: Una vez que realizamos la operación ésta persistirá y no se podrá deshacer aunque falle el sistema y que de esta forma los datos sobrevivan de alguna manera.

miércoles, 6 de mayo de 2015

XML en SQL Server


Introducción al XML

Cuando hablamos de SQL hablamos de una especificación para diseñar lenguajes de marcado, que nos  permite definir etiquetas personalizadas para describir y organizar  datos. XML (Extensible Markup Language) es un lenguaje de etiquetas, es decir, cada paquete de información está delimitado por dos etiquetas como se hace también en el lenguaje HTML, pero XML separa el contenido de la presentación.

Ejemplo y estructura

Nombre
Apellido
Edad
Correo
País
Juan
Dávila
20
Ecu
Andrés
Herrera
21
he@udla.com
Col

Si quisiéramos por ejemplo esta sencilla tabla de información, XML nos ayuda a representar dicha información simplemente a través de texto plano y etiquetas y el código quedaría así:

<Universidad>
    <Estudiante>
       <Nombre>
Juan</Nombre>
       <Apellido>
Davila</Apellido>
       <Edad>
20</Edad>
       <Correo>
ja@udla.com </Correo>
       <Pais>
Ecu</Pais>
    </Estudiante>
    < Estudiante >
<Nombre>
Andres</Nombre>
       <Apellido>
Herrera</Apellido>
       <Edad>
21</Edad>
       <Correo>
he@udla.com </Correo>
       <Pais>
Col</Pais>   
</ Estudiante >
</Universidad >


Una vez que aprendimos esto podemos utilizar XML para ingresarlo dentro de nuestras tablas de SQL.

¿Y como hacemos para insertar y crear tablas en SQL?



Referencias

martes, 28 de abril de 2015

FUNCIONES DEFINIDAS POR EL USUARIO


Tal como hemos visto en la programación orientada a objetos donde  creamos funciones  a nuestras clases, en SQL Server también podemos crear funciones dentro de nuestras bases de datos, a estas se les conoce como funciones definidas por el usuario. Estas funciones  también se les pueden asignar un nombre, pueden recibir parámetros y devuelven un valor.

Limitaciones.
  • ·         Este tipo de funciones no se pueden utilizar para modificar el  estado de la base.
  • ·   No pueden devolver un conjunto de resultados, a diferencia de un procedimiento almacenado
  • ·         No podemos usar una instrucción set.



Dentro de las funciones definidas por usuario tenemos las funciones escalares las cuales reciben un valor como parámetro y devuelven un solo valor


miércoles, 22 de abril de 2015

CURSORES


¿Qué es un cursor?
Un cursor es un puntero que nos permite desplazarnos fila por fila. Las instrucciones de Microsoft SQL Server producen un conjunto completo de resultados, pero hay ocasiones en que los resultados se procesan mejor de fila en fila. Abrir un cursor sobre un conjunto de resultados permite procesar el conjunto de resultados de fila en fila. Puede asignar un cursor a una variable o parámetro con un tipo de datos cursor





SENTENCIAS BÁSICAS


En el basto lenguaje de Transact  tenemos varias sentencias que nos ayudan a seleccionar la información y realizar consultas para varios  y determinados requerimientos de la información dentro de nuestras bases, es por eso que existe varias palabras o sentencias que ayudan a facilitar tal proceso. Entre las principales tenemos:

Merge: Realiza operaciones de inserción, actualización o eliminación en una tabla de destino según los resultados de una combinación con una tabla de origen. Por ejemplo, puede sincronizar dos tablas insertando, actualizando o eliminando las filas de una tabla según las diferencias que se encuentren en la otra.
Left Join: Nos devuelve todos los registros de la tabla de la izquierda junto con los que coinciden de la tabla de la derecha.
Right Join: Nos devuelve todos los registros de la tabla de la derecha  junto con los que coinciden de la tabla de la izquierda.
Cont: Devuelve el número de elementos de un grupo. COUNT funciona como la función COUNT_BIG. La única diferencia entre ambas funciones está en los valores devueltos. COUNT siempre devuelve un valor de tipo de datos int. COUNT_BIG siempre devuelve un valor de tipo de datos bigint.
Sum: Devuelve la suma de todos los valores o solo de los valores DISTINCT de la expresión. SUM solo puede utilizarse con columnas numéricas. Se omiten los valores NULL.
Min: Devuelve el valor mínimo de la expresión.
Max: Devuelve el valor máximo de la expresión.
Avg: Devuelve el promedio de los valores de un grupo
Distinct: Dentro del select  nos permite sleccionar los valores que no se repitan solo es escoge el primero en aparecer.
Group by: Agrupa un conjunto de filas seleccionado en un conjunto de filas de resumen de acuerdo con los valores de una o más columnas o expresiones en SQL Server 2014. Se devuelve una fila para cada grupo. Las funciones de agregado de la lista <select> de la cláusula SELECT proporcionan información de cada grupo en lugar de filas individuales.
Order by: Ordena el conjunto de resultado de un group by
Cube: genera un conjunto de resultados que muestra agregados para todas las combinaciones de valores de las columnas seleccionadas
Roll up: genera un conjunto de resultados que muestra agregados para una jerarquía de valores de las columnas seleccionadas.