CURSORES BASE DE DATOS1

Páginas: 6 (1480 palabras) Publicado: 29 de abril de 2015


CURSORES EN BASE DE DATOS

I. INTRODUCCION

En el siguiente trabajo se presentará el tema de cursores en una Base de datos, dando a conocer los aspectos más importantes de esta estructura de programación (cursores) en la materia de Base de datos I.

II. DEFINICION GENERAL
En bases de datos, el término cursor se refiere a una estructura de control utilizada para el recorrido (y potencialprocesamiento) de los registros del resultado de una consulta.
Un cursor se utiliza para el procesamiento individual de las filas devueltas por el sistema gestor de base de datos para una consulta.
Es necesario debido a que muchos lenguajes de programación sufren de lo que en inglés se conoce como impedance mismatch, lo que en español significa desajuste de impedancia  el cual es un fenómeno negativoen la construcción de software que surge de una mezcla ecléctica de dos idiomas incompatibles: un lenguaje de consulta que se utiliza para acceder y actualizar una base de datos y un lenguaje de programación que se utiliza para la fabricación de aplicaciones de cliente que actúa sobre la base de datos.
Por norma general los lenguajes de programación son procedurales y no disponen de ningúnmecanismo para manipular conjuntos de datos en una sola instrucción. Debido a ello, las filas deben ser procesadas de forma secuencial por la aplicación. Un cursor puede verse como un iterador sobre la colección de filas que habrá en el set de resultados.

III. DESVENTAJAS DE LOS CURSORES

La siguiente información puede variar dependiendo del sistemas gestores de bases de datos.
Recuperar una fila delcursor puede resultar en un retraso, conocido en inglés como network round trip, y que se debe al tiempo necesario para enviar la petición al SGBD y esperar los datos. Ello supone la utilización de mucho más ancho de banda de la red de lo que se necesitaría por norma general para ejecutar una sola sentencia SQL como DELETE. Repetidos network round trips pueden suponer un impacto severo en lavelocidad de operación del cursor. Algunos SGBD intentan minimizar este impacto utilizando el fetch de bloque. Un fetch de bloque implica que se envían múltiples filas o registros de forma conjunta desde el servidor al cliente. El cliente almacena el bloque de fila en un buffer local y recupera las filas desde el mismo hasta que el buffer está vacío.
Los cursores reservan recursos en el servidor, comopor ejemplo locks, packages, procesos, almacenamiento temporal, etc. Por ejemplo, Microsoft SQL Server implementa los cursores creando una tabla temporal y rellenándola con los datos de la consulta. Si un cursor no se cierra de manera correcta, el recurso no será liberado hasta que la sesión SQL (conexión) sea cerrada. Este desperdicio de recursos en el servidor puede llevar no sólo a unadegradación del rendimiento, sino también a fallos más graves.

IV. APLICACIÓN A SQL SERVER

En SQL Server un cursor puede definirse como un elemento que representará a un conjunto de datos determinado por una consulta T-SQL, el cursor permitirá recorrer fila a fila, leer y eventualmente modificar dicho conjunto de resultados.
SQL Server ofrece una amplia variedad de opciones y de funciones para crear yoperar sobre cursores.
Existen sentencias SQL que no requieren del uso de cursores. Ello incluye la sentencia Insert, así como la mayoría de formas del Update o el Delete. Incluso una sentencia Select puede no requerir un cursor si se utiliza en la variante de SELECT...INTO, ya que esta variante sólo devuelve una fila.

V. TIPOS DE CURSORES

Podemos distinguir dos tipos de cursores:
A. Cursoresimplícitos: Este tipo de cursores se utiliza para operaciones SELECT INTO. Se usan cuando la consulta devuelve un único registro.
Deben tenerse en cuenta los siguientes puntos cuando se utilizan cursores implícitos:
i. Los cursores implícitos no deben ser declarados
ii. Con cada cursor implícito debe existir la palabra clave INTO.
iii. Las variables que reciben los datos devueltos por el cursor...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Bases de datos1
  • Base de datos1
  • Base de datos1
  • bases de datos1 clase 2
  • Base De Datos1
  • Preguntas De Base De Datos1
  • Diseño de Base de Datos1
  • Base De Datos 2-- Cursores

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS