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.

martes, 14 de abril de 2015

Variables globales 

Estan son las variables que ofrece SQL que siempre estan disponibles para el usuario.
Entre las principales variables tenemos.

Herramientas de control de Flujos

Son las diversas herramientas que nos permiten realizar acciones de repeticion o control tal como las que aplicamos en otros lenguajes de programacion como java o c#.
En sql las principales instrucciones son:


Funciones especiales de Error

  • ERROR_NUMBER(), devuelve el número de error.
  • ERROR_SEVERITY(), devuelve la severidad del error.
  • ERROR_STATE(), devuelve el estado del error.
  • ERROR_PROCEDURE(), devuelve el nombre del procedimiento almacenado que ha provocado el error.
  • ERROR_LINE(), devuelve el número de línea en el que se ha producido el error.
  • ERROR_MESSAGE(), devuelve el mensaje de error.

Cusores

En palabras sencillas un cursosr no es mass que un puntero que valga la redundancia apunta a cada registro que nosotros tengamos de un select, y lo puede ir recorriendo uno por  uno.

para crear un cursos tenemos que abrirlo (open), recorrerlo (fetch),  cerrarlos(close) y vaciar su memoria(daellocate)

Aqui tenemos  un ejemplo :



martes, 24 de marzo de 2015

Tipos de datos  y Operadores Lógicos de WINDOWS SQL 2014

En el sistema gestor de base de datos podemos usar varios tipos de datos al momento de crear información, cada columna de las tablas puede llevara asociada un diferente tipo de datos. Aquí podemos ver los mas comunes.
Los operadores lógicos comprueban la veracidad de alguna condición. Éstos, como los operadores de comparación, devuelven el tipo de datos Boolean con el valor TRUE, FALSE o UNKNOWN.




COMODINES

%       --> Representa cualquier cadena en la posición que sea colocada._       --> Representa cualquier caracter en la posición que sea colocada.[xyz] --> Representa un conjunto de caracteres válidos en la posición que sea colocada.[x-z] --> Representa un rango de caracteres válidos en la posición que sea colocada.      --> Representa los caracteres, conjunto o rangos que no figuraran en el resultado.


FUNCIONES

Una función tiene un nombre, retorna un parámetro de salida y opcionalmente acepta parámetros de entrada. Las funciones de SQL Server no pueden ser modificadas, las funciones definidas por el usuario si.
SQL Server ofrece varios tipos de funciones para realizar distintas operaciones. Se pueden clasificar de la siguiente manera:
1) de agregado: realizan operaciones que combinan varios valores y retornan un único valor. Son "count", "sum", "min" y "max".
2) escalares: toman un solo valor y retornan un único valor. Pueden agruparse de la siguiente manera:
- de configuración: retornan información referida a la configuración.

- de cursores: retornan información sobre el estado de un cursor.
- de fecha y hora: operan con valores "datetime" y "smalldatetime". Reciben un parámetro de tipo fecha y hora y retornan un valor de cadena, numérico o de fecha y hora.
- matemáticas: realizan operaciones numéricas, geométricas y trigonométricas.
- de metadatos: informan sobre las bases de datos y los objetos.
- de seguridad: devuelven información referente a usuarios y funciones.
- de cadena: operan con valores "char", "varchar", "nchar", "nvarchar", "binary" y "varbinary" y devuelven un valor de cadena o numérico.
- del sistema: informan sobre opciones, objetos y configuraciones del sistema.
- estadísticas del sistema: retornan información referente al rendimiento del sistema.
- texto e imagen: realizan operaciones con valor de entrada de tipo text o image y retornan información referente al mismo.
3) de conjuntos de filas: retornan conjuntos de registros.
Se pueden emplear las funciones del sistema en cualquier lugar en el que se permita una expresión en una sentencia "select".

Estudiaremos algunas de ellas.

martes, 10 de marzo de 2015


Base de datos II



Nombre: Juan Andrés Dávila
Semestre: 2015-2 (Marzo-Julio)
Profesor: Tannia Alava