Vous êtes sur la page 1sur 29

Programa 5 Estrellas

SQL Server 2005

Estrella 1
Unidad 1

Introducción a las bases de


datos

2007
Contenido del curso
Contenido del curso...........................................................................................2
Unidad 1: Introducción a las bases de datos.....................................................3
Objetivos.........................................................................................................3
Concepto de Bases de Datos............................................................................4
Algunos conceptos de bases de datos:.........................................................4
Tipos de bases de datos................................................................................4
Según la variabilidad de los datos almacenados.......................................4
Según el contenido.....................................................................................5
Modelos de bases de datos........................................................................5
Sistema de gestión de base de datos................................................................8
Propósito........................................................................................................8
Objetivos.........................................................................................................8
Ventajas..........................................................................................................9
Base de datos OLTP......................................................................................9
Objetos de la base de datos............................................................................11
Tablas...........................................................................................................11
.........................................................................................................................13
Vistas............................................................................................................13
Tipos de vistas..........................................................................................14
Escenarios de utilización de vistas...........................................................14
Índices..........................................................................................................16
Tipo de Índices.........................................................................................17
Procedimientos Almacenados......................................................................17
Tipos de Procedimientos Almacendos.....................................................19
Funciones definidas por el Usuario..............................................................20
Tipos de funciones....................................................................................21
Sinónimos.....................................................................................................22
Transacción..................................................................................................22
Tipos de datos..................................................................................................24
Precisión, escala y longitud..........................................................................26
Constantes...................................................................................................27

Página 2 de 29
Unidad 1: Introducción a las bases de datos

Objetivos
Dar una visión acerca de los conceptos básicos de una base
de datos:

 Qué es una base de datos?


 Objetos de una base de datos
 Tipo de datos

Página 3 de 29
Concepto de Bases de Datos
Una base de datos se puede definir como un conjunto de información que
pertenece al mismo contexto, que se encuentra agrupada ó almacenada para
su uso posterior.

En este sentido, una biblioteca puede considerarse una base de datos


compuesta en su mayoría por documentos y textos impresos en papel e
indexados para su consulta.

En la actualidad, y gracias al desarrollo tecnológico de campos como la


informática y la electrónica, la mayoría de las bases de datos tienen formato
electrónico, que ofrece un amplio rango de soluciones al problema de
almacenar datos.

Las aplicaciones más usuales de bases de datos, son para la gestión de


empresas e instituciones públicas. También son ampliamente utilizadas en
entornos científicos con el objeto de almacenar la información experimental.

Algunos conceptos de bases de datos:


Base de Datos: es la colección de datos usados por el sistema de
aplicaciones de una determinada empresa.

Base de Datos: es un conjunto de información relacionada que se encuentra


agrupada o estructurada. Un archivo por sí mismo no constituye una base de
datos, sino más bien la forma en que está organizada la información es la
que da origen a la base de datos.

Base de Datos: colección de datos organizada para dar servicio a muchas


aplicaciones al mismo tiempo al combinar los datos de manera que parezcan
estar en una sola ubicación

Tipos de bases de datos


Las bases de datos pueden clasificarse de varias maneras, de acuerdo al
criterio elegido para su clasificación:

Según la variabilidad de los datos almacenados


 Bases de datos estáticas. Éstas son bases de datos de sólo lectura,
utilizadas primordialmente para almacenar datos históricos que
posteriormente se pueden utilizar para estudiar el comportamiento de
un conjunto de datos a través del tiempo, realizar proyecciones y
tomar decisiones.
 Bases de datos dinámicas. Éstas son bases de datos donde la
información almacenada se modifica con el tiempo, permitiendo
operaciones como actualización y adición de datos, además de las

Página 4 de 29
operaciones fundamentales de consulta. Un ejemplo de esto puede ser
la base de datos utilizada en un sistema de información de una tienda
de abarrotes, una farmacia, un videoclub, etc.

Según el contenido
 Bases de datos bibliográficas. Solo contienen un surrogante
(representante) de la fuente primaria, que permite localizarla. Un
registro típico de una base de datos bibliográfica contiene información
sobre el autor, fecha de publicación, editorial, título, edición, de una
determinada publicación, etc. Puede contener un resumen o extracto
de la publicación original, pero nunca el texto completo, porque sino
estaríamos en presencia de una base de datos a texto completo (o de
fuentes primarias) [ver más abajo]. Como su nombre lo indica, el
contenido son cifras o números. Por ejemplo, una colección de
resultados de análisis de laboratorio, entre otras.
 Bases de datos de texto completo. Almacenan las fuentes primarias,
como por ejemplo, todo el contenido de todas las ediciones de una
colección de revistas científicas.
 Directorios. Un ejemplo son las guías telefónicas en formato
electrónico.
 Banco de imágenes, audio, video, multimedia, etc.
 Bases de datos o "bibliotecas" de información Biológica. Son
bases de datos que almacenan diferentes tipos de información
proveniente de las ciencias de la vida o médicas.

Modelos de bases de datos


Además de la clasificación por la función de las bases de datos, éstas
también se pueden clasificar de acuerdo a su modelo de administración de
datos.

Un modelo de datos es básicamente una "descripción" de algo conocido


como contenedor de datos (algo en donde se guarda la información), así
como de los métodos para almacenar y recuperar información de esos
contenedores. Los modelos de datos no son cosas físicas: son abstracciones
que permiten la implementación de un sistema eficiente de base de datos;
por lo general se refieren a algoritmos, y conceptos matemáticos. Algunos
modelos con frecuencia utilizados en las bases de datos son:

 Bases de datos jerárquicas. Éstas son bases de datos que, como su


nombre indica, almacenan su información en una estructura jerárquica.
En este modelo los datos se organizan en una forma similar a un árbol
(visto al revés), en donde un nodo padre de información puede tener
varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos
que no tienen hijos se los conoce como hojas.

Página 5 de 29
 Las bases de datos jerárquicas son especialmente útiles en el caso de
aplicaciones que manejan un gran volumen de información y datos
muy compartidos permitiendo crear estructuras estables y de gran
rendimiento.
 Una de las principales limitaciones de este modelo es su incapacidad
de representar eficientemente la redundancia de datos.

 Base de datos de red. Éste es un modelo ligeramente distinto del


jerárquico; su diferencia fundamental es la modificación del concepto
de nodo: se permite que un mismo nodo tenga varios padres
(posibilidad no permitida en el modelo jerárquico).
 Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía
una solución eficiente al problema de redundancia de datos; pero, aun
así, la dificultad que significa administrar la información en una base
de datos de red ha significado que sea un modelo utilizado en su
mayoría por programadores más que por usuarios finales.

 Base de datos relacional. Éste es el modelo más utilizado en la


actualidad para modelar problemas reales y administrar datos
dinámicamente. Este tipo de base se detalla en la unidad 2.

 Bases de datos orientadas a objetos. Este modelo, bastante


reciente, y propio de los modelos informáticos orientados a objetos,
trata de almacenar en la base de datos los objetos completos (estado
y comportamiento).

 Bases de datos documentales. Permiten la indexación a texto


completo, y en líneas generales realizar búsquedas más potentes.
Tesaurus es un sistema de índices optimizado para este tipo de bases
de datos.

 Base de datos deductivas. Un sistema de base de datos


deductivas, es un sistema de base de datos pero con la diferencia
que permite hacer deducciones a través de inferencias. Se basa
principalmente en reglas y hechos que son almacenados en la base de
datos. También las bases de datos deductivas son llamadas base de
datos lógicas, a raíz de que se basan en lógica matemática.

 Bases de datos distribuidas. La base de datos está almacenada en


varias computadoras conectadas en red. Surgen debido a la existencia
física de organismos descentralizados. Esto les da la capacidad de
unir las bases de datos de cada localidad y acceder así, por ejemplo a
distintas universidades, sucursales de tiendas, etcétera.

Página 6 de 29
Definición de Base de datos
Almacén de datos relacionados con diferentes modos de organización. Una
base de datos representa algunos aspectos del mundo real, aquellos que le
interesan al diseñador. Se diseña y almacena datos con un propósito
específico.

De forma sencilla podemos indicar que una base de datos no es más que un
conjunto de información relacionada que se encuentra agrupada o
estructurada.

El archivo por sí mismo, no constituye una base de datos, sino más bien la
forma en que está organizada la información es la que da origen a la base de
datos. Las bases de datos manuales, pueden ser difíciles de gestionar y
modificar. Por ejemplo, en una guía de teléfonos no es posible encontrar el
número de una persona si no sabemos su apellido, aunque conozcamos su
domicilio.

Del mismo modo, en un archivo de pacientes en el que la información esté


ordenada por el nombre de los mismos, será una tarea bastante engorrosa
encontrar todos los pacientes que viven en una zona determinada. Los
problemas expuestos anteriormente se pueden resolver creando una base de
datos informatizada.

Desde el punto de vista informático, una base de datos es un sistema


formado por un conjunto de datos almacenados en discos que permiten el
acceso directo a ellos y un conjunto de programas que manipulan ese
conjunto de datos.

Desde el punto de vista más formal, podríamos definir una base de datos
como un conjunto de datos estructurados, fiables y homogéneos,
organizados independientemente en máquina, accesibles a tiempo real,
compartibles por usuarios concurrentes que tienen necesidades de
información diferente y no predecible en el tiempo.

La idea general es que estamos tratando con una colección de datos que
cumplen las siguientes propiedades:

 Están estructurados independientemente de las aplicaciones y del


soporte de almacenamiento que los contiene.
 Presentan la menor redundancia posible.
 Son compartidos por varios usuarios y/o aplicaciones.

Página 7 de 29
Sistema de gestión de base de datos
Los Sistemas de gestión de base de datos son un tipo de software muy
específico, dedicado a servir de interfaz entre la base de datos, el usuario y
las aplicaciones que la utilizan.

Se compone de un lenguaje de definición de datos, de un lenguaje de


manipulación de datos y de un lenguaje de consulta.

En los textos que tratan este tema, o temas relacionados, se mencionan los
términos SGBD y DBMS, siendo ambos equivalentes, y acrónimos,
respectivamente, de Sistema Gestor de Bases de Datos y DataBase
Management System, su expresión inglesa.

Propósito
El propósito general de los sistemas de gestión de base de datos es el de
manejar de manera clara, sencilla y ordenada un conjunto de datos.

Objetivos
Existen distintos objetivos que deben cumplir los DBMS:
 Abstracción de la información. Los DBMS ahorran a los usuarios
detalles acerca del almacenamiento físico de los datos. Da lo mismo si
una base de datos ocupa uno o cientos de archivos, este hecho se
hace transparente al usuario. Así, se definen varios niveles de
abstracción.
 Independencia. La independencia de los datos consiste en la
capacidad de modificar el esquema (físico o lógico) de una base de
datos sin tener que realizar cambios en las aplicaciones que se sirven
de ella.
 Redundancia mínima. Un buen diseño de una base de datos logrará
evitar la aparición de información repetida o redundante. Lo ideal es
lograr una redundancia nula; no obstante, en algunos casos la
complejidad de los cálculos hace necesaria la aparición de
redundancias.
 Consistencia. En aquellos casos en los que no se ha logrado esta
redundancia nula, será necesario vigilar que aquella información que
aparece repetida se actualice de forma coherente, es decir, que todos
los datos repetidos se actualicen de forma simultánea.
 Seguridad. La información almacenada en una base de datos puede
llegar a tener un gran valor. Los DBMS deben garantizar que esta
información se encuentra asegurada frente a usuarios
malintencionados, que intenten leer información privilegiada; frente a
ataques que deseen manipular o destruir la información; o
simplemente ante las torpezas de algún usuario autorizado pero

Página 8 de 29
despistado. Normalmente, los DBMS disponen de un complejo sistema
de permisos a usuarios y grupos de usuarios, que permiten otorgar
diversas categorías de permisos.
 Integridad. Se trata de adoptar las medidas necesarias para
garantizar la validez de los datos almacenados. Es decir, se trata de
proteger los datos ante fallos de hardware, datos introducidos por
usuarios descuidados, o cualquier otra circunstancia capaz de
corromper la información almacenada.
 Respaldo y recuperación. Los DBMS deben proporcionar una forma
eficiente de realizar copias de seguridad de la información almacenada
en ellos, y de restaurar a partir de estas copias los datos.
 Control de la concurrencia. En la mayoría de entornos (excepto
quizás el doméstico), lo más habitual es que sean muchas las
personas que acceden a una base de datos, bien para recuperar
información, bien para almacenarla. Y es también frecuente que dichos
accesos se realicen de forma simultánea. Así pues, un DBMS debe
controlar este acceso concurrente a la información, que podría derivar
en inconsistencias.
 Tiempo de respuesta. Lógicamente, es deseable minimizar el tiempo
que el DBMS tarda en darnos la información solicitada y en almacenar
los cambios realizados.

Ventajas

1. Facilidad de manejo de grandes volumen de información.


2. Gran velocidad en muy poco tiempo.
3. Independencia del tratamiento de información.
4. Seguridad de la información (acceso a usuarios autorizados),
protección de información, de modificaciones, inclusiones, consulta.
5. No hay duplicidad de información, comprobación de información en el
momento de introducir la misma.
6. Integridad referencial el terminar los registros.

Base de datos OLTP


Las bases de datos relacionales de procesamiento de transacciones en línea
(OLTP) son óptimas para administrar datos que cambian. Suelen tener varios
usuarios que realizan transacciones al mismo tiempo que cambian los datos
en tiempo real. Aunque las solicitudes de datos realizadas individualmente
por los usuarios suelen hacer referencia a pocos registros, muchas de estas
solicitudes se producen al mismo tiempo.

Las bases de datos OLTP están diseñadas para permitir que las aplicaciones
transaccionales escriban sólo los datos necesarios para controlar una sola
transacción lo antes posible. Las bases de datos OLTP se caracterizan en
general por lo siguiente:

Página 9 de 29
 Admiten el acceso simultáneo de muchos usuarios que agregan y
modifican datos con regularidad.
 Representan el estado en cambio constante de una organización, pero
no guardan su historial.
 Contienen muchos datos, incluidos todos los datos utilizados para
comprobar transacciones.
 Tienen estructuras complejas.
 Se ajustan para dar respuesta a la actividad transaccional.
 Proporcionan la infraestructura tecnológica necesaria para admitir las
operaciones diarias de la empresa.
 Las transacciones individuales se completan rápidamente y se tiene
acceso a cantidades de datos relativamente pequeñas. Los sistemas
OLTP están diseñados y ajustados para procesar cientos o miles de
transacciones que se indican al mismo tiempo.

Los datos en los sistemas OLTP están organizados básicamente para admitir
transacciones, como por ejemplo:

 Registrar un pedido de una terminal punto de venta o especificado a


través de un sitio Web.
 Realizar un pedido de más provisiones cuando las cantidades de
inventario descienden hasta determinado nivel.
 Hacer un seguimiento de componentes desde su ensamblaje hasta un
producto final en un proceso de fabricación.
 Registrar datos de empleados.

Página 10 de 29
Objetos de la base de datos
Tablas
En una base de datos la información se organiza en tablas, que son filas y
columnas similares a las de los libros contables o a las de las hojas de
cálculo.

Una base de datos simple puede que sólo contenga una tabla, pero
generalmente las bases de datos necesitan varias tablas. Por ejemplo, podría
existir una base de datos con las siguientes tablas: una tabla con información
sobre productos, otra con información sobre pedidos y una tercera con
información sobre clientes.

Cada fila de la tabla recibe también el nombre de registro (o tupla) y cada


columna se denomina también campo.

 Un registro es una forma lógica y coherente de combinar información


sobre algún tema.
 Un campo es un elemento único de información: un tipo de elemento
que aparece en cada registro.

En la tabla Productos, por ejemplo, cada fila o registro contendría información


sobre un producto, y cada columna contendría algún dato sobre ese
producto, como su nombre o el precio.

Página 11 de 29
Además de la función estándar de las tablas básicas definidas por el usuario,
SQL Server 2005 proporciona los siguientes tipos de tabla que permiten llevar
a cabo objetivos especiales en una base de datos:
 Tablas con particiones
 Tablas temporales
 Tablas del sistema

Tablas con particiones


Las tablas con particiones son tablas cuyos datos se han dividido
horizontalmente entre unidades que pueden repartirse por más de un grupo
de archivos de una base de datos. Las particiones facilitan la administración
de las tablas y los índices grandes porque permiten obtener acceso y
administrar subconjuntos de datos con rapidez y eficacia al mismo tiempo
que mantienen la integridad del conjunto. En un escenario con particiones,
las operaciones como, por ejemplo, la carga de datos de un sistema OLTP a
un sistema OLAP, pueden realizarse en cuestión de segundos en lugar de
minutos u horas en otras versiones. Las operaciones de mantenimiento que
se realizan en los subconjuntos de datos también se realizan de forma más
eficaz porque sólo afectan a los datos necesarios en lugar de a toda la tabla.

Tiene sentido crear una tabla con particiones si la tabla es muy grande o se
espera que crezca mucho, y si alguna de las dos condiciones siguientes es
verdadera:

 La tabla contiene, o se espera que contenga, muchos datos que se


utilizan de manera diferente.
 Las consultas o las actualizaciones de la tabla no se realizan como se
esperaba o los costos de mantenimiento son superiores a los períodos
de mantenimiento predefinidos.

Las tablas con particiones admiten todas las propiedades y características


asociadas con el diseño y consulta de tablas estándar, incluidas las
restricciones, los valores predeterminados, los valores de identidad y marca
de hora, los desencadenadores y los índices. Por lo tanto, si desea
implementar una vista con particiones que sea local respecto a un servidor,
debe implementar una tabla con particiones.

Tablas temporales
Hay dos tipos de tablas temporales: locales y globales. Las tablas temporales
locales son visibles sólo para sus creadores durante la misma conexión a una
instancia de SQL Server como cuando se crearon o cuando se hizo
referencia a ellas por primera vez. Las tablas temporales locales se eliminan
cuando el usuario se desconecta de la instancia de SQL Server. Las tablas
temporales globales están visibles para cualquier usuario y conexión una vez
creadas, y se eliminan cuando todos los usuarios que hacen referencia a la
tabla se desconectan de la instancia de SQL Server.

Página 12 de 29
Tablas del sistema
SQL Server almacena los datos que definen la configuración del servidor y de
todas sus tablas en un conjunto de tablas especial, conocido como tablas del
sistema. Los usuarios no pueden consultar ni actualizar directamente las
tablas del sistema si no es a través de una conexión de administrador
dedicada (DAC) que sólo debería utilizarse bajo la supervisión de los
servicios de atención al cliente de Microsoft. Las tablas de sistema se
cambian normalmente en cada versión nueva de SQL Server. Puede que las
aplicaciones que hacen referencia directamente a las tablas del sistema
tengan que escribirse de nuevo para poder actualizarlas a una versión nueva
de SQL Server con una versión diferente de las tablas de sistema. La
información de las tablas del sistema está disponible a través de las vistas de
catálogo.

Importante
Las tablas del sistema de SQL Server 2005 Database
Engine (Motor de base de datos de SQL Server 2005)
se han implementado como vistas de sólo lectura para
ofrecer compatibilidad con versiones anteriores a SQL
Server 2005. No puede trabajar directamente con los
datos de estas tablas del sistema. Recomendamos
obtener acceso a los metadatos de SQL Server
mediante las vistas de catálogo.

Vistas
Una vista es una tabla virtual cuyo contenido está definido por una consulta.
Al igual que una tabla real, una vista consta de un conjunto de columnas y
filas de datos con un nombre. Sin embargo, a menos que esté indizada, una
vista no existe como conjunto de valores de datos almacenados en una base
de datos. Las filas y las columnas de datos proceden de tablas a las que se
hace referencia en la consulta que define la vista y se producen de forma
dinámica cuando se hace referencia a la vista.

Una vista actúa como filtro de las tablas subyacentes a las que se hace
referencia en ella. La consulta que define la vista puede provenir de una o de
varias tablas, o bien de otras vistas de la base de datos actual u otras bases
de datos. Asimismo, es posible utilizar las consultas distribuidas para definir
vistas que utilicen datos de orígenes heterogéneos. Esto puede resultar de
utilidad, por ejemplo, si se desea combinar datos de estructura similar que
proceden de distintos servidores, cada uno de los cuales almacena los datos
para una región distinta de la organización.

No existe ninguna restricción a la hora de consultar vistas y muy pocas


restricciones a la hora de modificar los datos de éstas.
En esta ilustración se muestra una vista basada en dos tablas:

Página 13 de 29
Tipos de vistas
En SQL Server 2005, se pueden crear vistas estándar, vistas indizadas y
vistas con particiones.

Vistas estándar
La combinación de datos de una o más tablas mediante una vista estándar
permite satisfacer la mayor parte de las ventajas de utilizar vistas. Éstas
incluyen centrarse en datos específicos y simplificar la manipulación de
datos.

Vistas indizadas
Una vista indizada es una vista que se ha materializado. Esto significa que se
ha calculado y almacenado. Se puede indizar una vista creando un índice
agrupado único en ella. Las vistas indizadas mejoran de forma considerable
el rendimiento de algunos tipos de consultas. Las vistas indizadas funcionan
mejor para consultas que agregan muchas filas. No son adecuadas para
conjuntos de datos subyacentes que se actualizan frecuentemente

Vistas con particiones


Una vista con particiones reúne datos horizontales con particiones de un
conjunto de tablas miembro en uno o más servidores. Esto hace que los
datos aparezcan como si fueran de una tabla. Una vista que reúne tablas
miembro en la misma instancia de SQL Server es una vista con particiones
local.

Escenarios de utilización de vistas


Las vistas suelen utilizarse para centrar, simplificar y personalizar la
percepción de la base de datos para cada usuario. Las vistas pueden
emplearse como mecanismos de seguridad, que permiten a los usuarios
obtener acceso a los datos por medio de la vista, pero no les conceden el

Página 14 de 29
permiso de obtener acceso directo a las tablas base subyacentes a la vista.
Las vistas pueden utilizarse para proporcionar una interfaz compatible con
versiones anteriores con el fin de emular una tabla que existía pero cuyo
esquema ha cambiado.

Para centrarse en datos específicos


Las vistas permiten a los usuarios centrarse en datos de su interés y en
tareas específicas de las que son responsables. Los datos innecesarios o
sensibles pueden quedar fuera de la vista.

Para simplificar la manipulación de datos


Las vistas permiten simplificar la forma en que los usuarios trabajan con los
datos. Las combinaciones, proyecciones, consultas UNION y consultas
SELECT que se utilizan con frecuencia pueden definirse como vistas para
que los usuarios no tengan que especificar todas las condiciones y
calificaciones cada vez que realicen una operación adicional en los datos.
Por ejemplo, es posible crear como vista una consulta compleja que se utilice
para la elaboración de informes y que realice subconsultas, combinaciones
externas y agregaciones para recuperar datos de un grupo de tablas. La vista
simplifica el acceso a los datos ya que evita la necesidad de escribir o enviar
la consulta subyacente cada vez que se genera el informe; en lugar de eso,
se realiza una consulta en la vista. También puede crear funciones en línea
definidas por el usuario que funcionen de manera lógica como vistas con
parámetros o como vistas con parámetros de condiciones de búsqueda de
cláusulas WHERE u otras partes de la consulta.

Para proporcionar compatibilidad con versiones anteriores


Las vistas permiten crear una interfaz compatible con versiones anteriores
para una tabla cuando su esquema cambia. Por ejemplo, una aplicación
puede haber hecho referencia a una tabla no normalizada que tiene el
siguiente esquema:

Empleados(Nombre, FechaNacimiento, Sueldo, Departamento, Edificio)

Para evitar el almacenamiento redundante de datos en la base de datos,


puede normalizar la tabla dividiéndola en las dos siguientes tablas:

Empleados2(Nombre, FechaNacimiento, Sueldo, Id_Dep)

Departamento(Id_Dep, Edificio)

Para proporcionar una interfaz compatible con versiones anteriores que siga
haciendo referencia a los datos de Empleados, puede eliminar la tabla
Empleados antigua y reemplazarla por la siguiente vista:

CREATE VIEW Employee AS


SELECT Name, BirthDate, Salary, BuildingName
FROM Employee2 e, Department d
WHERE e.DeptId = d.DeptId

Página 15 de 29
Las aplicaciones que realizaban consultas en la tabla Empleados, ahora
pueden obtener sus datos desde la vista Empleados. No es necesario
cambiar la aplicación si sólo lee desde Empleados. A veces, las aplicaciones
que actualizan Empleados también pueden admitirse agregando
desencadenadores INSTEAD OF a la nueva vista para asignar operaciones
INSERT, DELETE y UPDATE en la vista a las tablas subyacentes.

Para personalizar datos


Las vistas permiten que varios usuarios puedan ver los datos de modo
distinto, aunque estén utilizando los mismos simultáneamente. Esto resulta
de gran utilidad cuando usuarios que tienen distintos intereses y
calificaciones trabajan con la misma base de datos. Por ejemplo, es posible
crear una vista que recupere únicamente los datos para los clientes con los
que trabaja el responsable comercial de una cuenta. La vista puede
determinar qué datos deben recuperarse en función del identificador de inicio
de sesión del responsable comercial que utilice la vista.

Para exportar e importar datos


Es posible utilizar vistas para exportar datos a otras aplicaciones. Por
ejemplo, es posible que quiera utilizar la información de varias tablas para
analizar los datos mediante Microsoft Excel. Para ello, puede crear una vista
a partir de las tablas. A continuación, puede utilizar la herramienta bcp para
exportar los datos definidos por la vista.

Para combinar datos de particiones entre servidores


El operador de conjuntos UNION de Transact-SQL puede utilizarse dentro de
una vista para combinar los resultados de dos o más consultas de tablas
distintas en un solo conjunto. Esta combinación se muestra al usuario como
una tabla única denominada vista con particiones. Por ejemplo, si una tabla
contiene datos de ventas de Washington y otra tabla contiene datos de
ventas de California, podría crearse una vista a partir de la UNION de ambas
tablas. La vista representada incluye los datos de ventas de ambas zonas.

Índices
Al igual que el índice de un libro, el índice de una base de datos permite
encontrar rápidamente información específica en una tabla o vista indizada.
Un índice contiene claves generadas a partir de una o varias columnas de la
tabla o la vista y punteros que asignan la ubicación de almacenamiento de los
datos especificados. Puede mejorar notablemente el rendimiento de las
aplicaciones y consultas de bases de datos creando índices correctamente
diseñados para que sean compatibles con las consultas. Los índices pueden
reducir la cantidad de datos que se deben leer para devolver el conjunto de
resultados de la consulta. Los índices también pueden exigir la unicidad en
las filas de una tabla, lo que se garantiza la integridad de los datos de la
tabla.

Página 16 de 29
Tipo de Índices

Tipo de índice Descripción


Agrupado Un índice agrupado ordena y almacena las filas de
datos de la tabla o vista por orden en función de la
clave del índice agrupado. El índice agrupado se
implementa como una estructura de árbol b que admite
la recuperación rápida de las filas a partir de los valores
de las claves del índice agrupado.
No agrupado Los índices no agrupados se pueden definir en una
tabla o vista con un índice agrupado o en un montón.
Cada fila del índice no agrupado contiene un valor de
clave no agrupada y un localizador de fila. Este
localizador apunta a la fila de datos del índice agrupado
o el montón que contiene el valor de clave. Las filas del
índice se almacenan en el mismo orden que los valores
de la clave del índice, pero no se garantiza que las filas
de datos estén en un determinado orden a menos que
se cree un índice agrupado en la tabla.
Único Un índice único garantiza que la clave de índice no
contenga valores duplicados y, por tanto, cada fila de la
tabla o vista es en cierta forma única.
Tanto los índices agrupados como los no agrupados
pueden ser únicos.
Índice con Índice no agrupado que se extiende para incluir
columnas incluidas columnas sin clave además de las columnas de clave.
Vistas indizadas Un índice en una vista materializa (ejecuta) la vista, y el
conjunto de resultados se almacena de forma
permanente en un índice agrupado único, del mismo
modo que se almacena una tabla con un índice
agrupado. Los índices no agrupados de la vista se
pueden agregar una vez creado el índice agrupado.
Texto Tipo especial de índice funcional basado en símbolos
(token) que crea y mantiene el servicio del Motor de
texto completo de Microsoft para SQL Server
(MSFTESQL). Proporciona la compatibilidad adecuada
para búsquedas de texto complejas en datos de
cadenas de caracteres.
XML Representación dividida y permanente de los objetos
XML binarios grandes (BLOB) de la columna de tipo de
datos xml.

Procedimientos Almacenados
Cuando crea una aplicación con Microsoft SQL Server 2005, el lenguaje de
programación Transact-SQL es la principal interfaz de programación entre las
aplicaciones y la base de datos de Microsoft SQL Server. Cuando utiliza

Página 17 de 29
programas Transact-SQL, dispone de dos métodos para almacenar y ejecutar
los programas.
 Puede almacenar los programas localmente y crear aplicaciones que
envían los comandos a SQL Server y procesan los resultados.
 Puede almacenar los programas como procedimientos almacenados
en SQL Server y crear aplicaciones que ejecutan los procedimientos
almacenados y procesan los resultados.

Los procedimientos almacenados de Microsoft SQL Server son similares a los


procedimientos de otros lenguajes de programación en el sentido en que
pueden:
 Aceptar parámetros de entrada y devolver varios valores en forma de
parámetros de salida al lote o al procedimiento que realiza la llamada.
 Contener instrucciones de programación que realicen operaciones en
la base de datos, incluidas las llamadas a otros procedimientos.
 Devolver un valor de estado a un lote o a un procedimiento que realiza
una llamada para indicar si la operación se ha realizado correctamente
o se han producido errores (y el motivo de éstos).
Puede utilizar la instrucción EXECUTE de Transact-SQL para ejecutar un
procedimiento almacenado. Los procedimientos almacenados difieren de las
funciones en que no devuelven valores en lugar de sus nombres ni pueden
utilizarse directamente en una expresión.

Utilizar procedimientos almacenados en SQL Server en vez de programas


Transact-SQL almacenados localmente en equipos cliente presenta las
siguientes ventajas:

 Se registran en el servidor.
 Pueden incluir atributos de seguridad (como permisos) y cadenas de
propiedad; además se les pueden asociar certificados. Los usuarios
pueden disponer de permiso para ejecutar un procedimiento
almacenado sin necesidad de contar con permisos directos en los
objetos a los que se hace referencia en el procedimiento.
 Mejoran la seguridad de la aplicación. Los procedimientos
almacenados con parámetros pueden ayudar a proteger la aplicación
ante ataques por inyección de código SQL.
 Permiten una programación modular. Puede crear el procedimiento
una vez y llamarlo desde el programa tantas veces como desee. Así,
puede mejorar el mantenimiento de la aplicación y permitir que las
aplicaciones tengan acceso a la base de datos de manera uniforme.
 Constituyen código con nombre que permite el enlace diferido. Esto
proporciona un nivel de direccionamiento indirecto que facilita la
evolución del código.

Página 18 de 29
 Pueden reducir el tráfico de red. Una operación que necesite
centenares de líneas de código Transact-SQL puede realizarse
mediante una sola instrucción que ejecute el código en un
procedimiento, en vez de enviar cientos de líneas de código por la red.

Tipos de Procedimientos Almacendos


En Microsoft SQL Server 2005 hay disponibles varios tipos de procedimientos
almacenados. En este tema se describen de forma resumida los tipos de
procedimientos almacenados y se incluyen ejemplos de cada uno de ellos.

Procedimientos almacenados definidos por el usuario


Los procedimientos almacenados son módulos o rutinas que encapsulan
código para su reutilización. Un procedimiento almacenado puede incluir
parámetros de entrada, devolver resultados tabulares o escalares y mensajes
para el cliente, invocar instrucciones de lenguaje de definición de datos (DDL)
e instrucciones de lenguaje de manipulación de datos (DML), así como
devolver parámetros de salida. En SQL Server 2005 existen dos tipos de
procedimientos almacenados: Transact-SQL o CLR.

 Transact-SQL
Un procedimiento almacenado Transact-SQL es una colección
guardada de instrucciones Transact-SQL que puede tomar y devolver
los parámetros proporcionados por el usuario. Por ejemplo, un
procedimiento almacenado puede contener las instrucciones
necesarias para insertar una nueva fila en una o más tablas según la
información suministrada por la aplicación cliente o es posible que el
procedimiento almacenado devuelva datos de la base de datos a la
aplicación cliente. Por ejemplo, una aplicación Web de comercio
electrónico puede utilizar un procedimiento almacenado para devolver
información acerca de determinados productos en función de los
criterios de búsqueda especificados por el usuario en línea.
 CLR
Un procedimiento almacenado CLR es una referencia a un método
Common Language Runtime (CLR) de Microsoft .NET Framework que
puede aceptar y devolver parámetros suministrados por el usuario. Se
implementan como métodos públicos y estáticos en una clase de un
ensamblado de .NET Framework. Para obtener más información, vea
Procedimientos almacenados CLR (en inglés).

Procedimientos almacenados del sistema


Muchas de las actividades administrativas en SQL Server 2005 se realizan
mediante un tipo especial de procedimiento conocido como procedimiento
almacenado del sistema. Por ejemplo, sys.sp_changedbowner es un
procedimiento almacenado del sistema. Los procedimientos almacenados del
sistema se almacenan físicamente en la base de datos Resource e incluyen
el prefijo sp_.

Página 19 de 29
Los procedimientos almacenados del sistema aparecen de forma lógica en el
esquema sys de cada base de datos definida por el usuario y el sistema. En
SQL Server 2005, los permisos GRANT, DENY y REVOKE se pueden aplicar
a los procedimientos almacenados del sistema. Para obtener una lista
completa de los procedimientos almacenados del sistema, vea
Procedimientos almacenados del sistema (Transact-SQL).

SQL Server admite los procedimientos almacenados del sistema que


proporcionan una interfaz desde SQL Server a los programas externos para
varias actividades de mantenimiento. Estos procedimientos almacenados
extendidos utilizan el prefijo xp_.

Funciones definidas por el Usuario


Al igual que las funciones en los lenguajes de programación, las funciones
definidas por el usuario de Microsoft SQL Server 2005 son rutinas que
aceptan parámetros, realizan una acción, como un cálculo complejo, y
devuelven el resultado de esa acción como un valor. El valor devuelto puede
ser un valor escalar único o un conjunto de resultados.

Ventajas de las funciones definidas por el usuario


Las ventajas de utilizar las funciones definidas por el usuario en SQL Server
son:
 Permiten una programación modular. Puede crear la función una vez,
almacenarla en la base de datos y llamarla desde el programa tantas
veces como desee. Las funciones definidas por el usuario se pueden
modificar, independientemente del código de origen del programa.
 Permiten una ejecución más rápida. Al igual que los procedimientos
almacenados, las funciones definidas por el usuario Transact-SQL
reducen el costo de compilación del código Transact-SQL
almacenando los planes en la caché y reutilizándolos para ejecuciones
repetidas. Esto significa que no es necesario volver a analizar y
optimizar la función definida por el usuario con cada uso, lo que
permite obtener tiempos de ejecución mucho más rápidos. Las
funciones CLR ofrecen una ventaja de rendimiento importante sobre
las funciones Transact-SQL para tareas de cálculo, manipulación de
cadenas y lógica empresarial. Las funciones Transact-SQL se adecuan
mejor a la lógica intensiva del acceso a datos.
 Pueden reducir el tráfico de red. Una operación que filtra datos
basándose en restricciones complejas que no se puede expresar en
una sola expresión escalar se puede expresar como una función. La
función se puede invocar en la cláusula WHERE para reducir el
número de filas que se envían al cliente.

Componentes de una función definida por el usuario


En SQL Server 2005, las funciones definidas por el usuario se pueden
escribir en Transact-SQL, o en cualquier lenguaje de programación .NET.

Página 20 de 29
Para obtener más información acerca del uso de lenguajes .NET en
funciones, vea CLR User-Defined Functions.
Todas las funciones definidas por el usuario tienen la misma estructura de
dos partes: un encabezado y un cuerpo. La función toma cero o más
parámetros de entrada y devuelve un valor escalar o una tabla.
El encabezado define:

 Nombre de función con nombre de propietario o esquema opcional


 Nombre del parámetro de entrada y tipo de datos
 Opciones aplicables al parámetro de entrada
 Tipo de datos de parámetro devueltos y nombre opcional
 Opciones aplicables al parámetro devuelto

El cuerpo define la acción o la lógica que la función va a realizar. Contiene:


 Una o más instrucciones Transact-SQL que ejecutan la lógica de la
función
 Una referencia a un ensamblado .NET

Tipos de funciones
SQL Server 2005 admite funciones definidas por el usuario y funciones del
sistema integradas.

Funciones escalares
Las funciones escalares definidas por el usuario devuelven un único valor de
datos del tipo definido. Las funciones escalares en línea no tienen cuerpo; el
valor escalar es el resultado de una sola instrucción. Para una función escalar
de múltiples instrucciones, el cuerpo de la función, definido en un bloque
BEGIN...END, contiene una serie de instrucciones Transact-SQL que
devuelven el valor único. El tipo devuelto puede ser de cualquier tipo de datos
excepto text, ntext, image, cursor y timestamp.

Funciones con valores de tabla


Las funciones con valores de tabla definidas por el usuario devuelven un tipo
de datos table. Las funciones con valores de tabla en línea no tienen cuerpo;
la tabla es el conjunto de resultados de una sola instrucción SELECT.

Funciones integradas
SQL Server proporciona las funciones integradas para ayudarle a realizar
diversas operaciones. No se pueden modificar. Puede utilizar funciones
integradas en instrucciones Transact-SQL para:
 Tener acceso a información de las tablas del sistema de SQL Server
sin tener acceso a las tablas del sistema directamente.
 Realizar tareas habituales como SUM, GETDATE o IDENTITY.

Página 21 de 29
Las funciones integradas devuelven tipos de datos escalares o table. Por
ejemplo, @@ERROR devuelve 0 si la última instrucción Transact-SQL se
ejecutó correctamente. Si la instrucción generó un error, @@ERROR
devuelve el número de error. Y la función SUM(parameter) devuelve la suma
de todos los valores del parámetro.

Sinónimos
Microsoft SQL Server 2005 incorpora el concepto de sinónimo. Un sinónimo
es un nombre alternativo para un objeto de ámbito de esquema. Las
aplicaciones cliente pueden utilizar un nombre de una sola parte para hacer
referencia a un objeto base utilizando un sinónimo en lugar de utilizar un
nombre de dos, tres o cuatro partes para hacer referencia al objeto base.

Un sinónimo es un objeto de base de datos que sirve para los siguientes


objetivos:
 Proporciona un nombre alternativo para otro objeto de base de datos,
denominado objeto base, que puede existir en un servidor local o
remoto.
 Proporciona una capa de abstracción que protege una aplicación
cliente de cambios realizados en el nombre o la ubicación del objeto
base.

Transacción
Una transacción es una secuencia de operaciones realizadas como una sola
unidad lógica de trabajo. Una unidad lógica de trabajo debe exhibir cuatro
propiedades, conocidas como propiedades de atomicidad, coherencia,
aislamiento y durabilidad (ACID), para ser calificada como transacción.
 Atomicidad. Una transacción debe ser una unidad atómica de trabajo,
tanto si se realizan todas sus modificaciones en los datos, como si no
se realiza ninguna de ellas.
 Coherencia. Cuando finaliza, una transacción debe dejar todos los
datos en un estado coherente. En una base de datos relacional, se
deben aplicar todas las reglas a las modificaciones de la transacción
para mantener la integridad de todos los datos. Todas las estructuras
internas de datos, como índices de árbol b o listas doblemente
vinculadas, deben estar correctas al final de la transacción.
 Aislamiento. Las modificaciones realizadas por transacciones
simultáneas se deben aislar de las modificaciones llevadas a cabo por
otras transacciones simultáneas. Una transacción reconoce los datos
en el estado en que estaban antes de que otra transacción simultánea
los modificara o después de que la segunda transacción haya
concluido, pero no reconoce un estado intermedio. Esto se conoce
como seriabilidad, ya que deriva en la capacidad de volver a cargar los
datos iniciales y reproducir una serie de transacciones para finalizar
Página 22 de 29
con los datos en el mismo estado en que estaban después de realizar
las transacciones originales.
 Durabilidad. Una vez concluida una transacción, sus efectos son
permanentes en el sistema. Las modificaciones persisten aún en el
caso de producirse un error del sistema.

Especificar y exigir transacciones


Los programadores de SQL son los responsables de iniciar y finalizar las
transacciones en puntos que exijan la coherencia lógica de los datos. El
programador debe definir la secuencia de modificaciones de datos que los
dejan en un estado coherente en relación con las reglas corporativas de la
organización. El programador incluye estas instrucciones de modificación en
una sola transacción de forma que SQL Server 2005 Database Engine (Motor
de base de datos de SQL Server 2005) puede exigir la integridad física de la
misma.

Es responsabilidad de un sistema de base de datos corporativo, como una


instancia de Database Engine (Motor de base de datos), proporcionar los
mecanismos que aseguren la integridad física de cada transacción. Database
Engine (Motor de base de datos) proporciona:
 Servicios de bloqueo que preserven el aislamiento de la transacción.
 Servicios de registro que aseguren la durabilidad de la transacción.
Aunque se produzca un error en el hardware del servidor, el sistema
operativo o la instancia de Database Engine (Motor de base de datos),
la instancia utiliza registros de transacciones, al reiniciar, para revertir
automáticamente las transacciones incompletas al punto en que se
produjo el error del sistema.
 Características de administración de transacciones que exigen la
atomicidad y coherencia de la transacción. Una vez iniciada una
transacción, debe concluirse correctamente; en caso contrario, la
instancia de Database Engine (Motor de base de datos) deshará todas
las modificaciones de datos realizadas desde que se inició la
transacción.

Página 23 de 29
Tipos de datos
Los objetos que contienen datos tienen asociado un tipo de datos que define
la clase de datos, por ejemplo, carácter, entero o binario, que puede contener
el objeto. Los siguientes objetos tienen tipos de datos:

 Columnas de tablas y vistas.


 Parámetros de procedimientos almacenados.
 Variables.
 Funciones de Transact-SQL que devuelven uno o más valores de
datos de un tipo de datos específico.
 Procedimientos almacenados que devuelven un código, que siempre
es de tipo integer.

Al asignar un tipo de datos a un objeto se definen cuatro atributos del objeto:

 El tipo de datos que contiene el objeto.


 La longitud o tamaño del valor almacenado.
 La precisión del número (sólo tipos de datos numéricos).
 La escala del número (sólo tipos de datos numéricos).

Todos los datos almacenados en Microsoft SQL Server 2005 deben ser
compatibles con uno de estos tipos de datos básicos.

También pueden crearse dos tipos de datos definidos por el usuario:


 Los tipos de datos de alias se crean a partir de tipos de datos básicos.
Proporcionan un mecanismo para aplicar un nombre a un tipo de datos
que sea más descriptivo que los tipos de valores que va a contener el
objeto. Esto puede facilitar al administrador de la base de datos o al
programador entender el uso que se piensa de cualquier objeto que se
defina con el tipo de datos.
 Los tipos de datos definidos por el usuario CLR se basan en tipos de
datos creados en código administrado y cargados en un ensamblado
de SQL Server.

Los tipos de datos de SQL Server 2005 se organizan en las siguientes


categorías:

 Numéricos exactos
o bigint
o decimal
o int

Página 24 de 29
o numeric
o smallint
o money
o tinyint
o smallmoney
o bit
 Cadenas de caracteres Unicode
o nchar
o ntext
o nvarchar
 Numéricos aproximados
o float
o real
 Cadenas binarias
o binary
o image
o varbinary
 Fecha y hora
o datetime
o smalldatetime
 Otros tipos de datos
o cursor
o timestamp
o sql_variant
o uniqueidentifier
o table
o xml
 Cadenas de caracteres
o char
o text
o varchar

En SQL Server 2005, según las características de almacenamiento, algunos


tipos de datos están designados como pertenecientes a los siguientes
grupos:
• Tipos de datos de valores grandes: varchar(max), nvarchar(max) y
varbinary(max)
• Tipos de datos de objetos grandes: text, ntext, image, varchar(max),
nvarchar(max), varbinary(max) y xml

Página 25 de 29
Precisión, escala y longitud
La precisión es el número de dígitos de un número. La escala es el número
de dígitos situados a la derecha de la coma decimal de un número. Por
ejemplo, el número 123,45 tiene una precisión de 5 y una escala de 2.

En SQL Server 2005, la precisión máxima predeterminada de los tipos de


datos numeric y decimal es 38. En versiones anteriores de SQL Server, el
valor predeterminado máximo es 28.

La longitud de un tipo de datos numérico es el número de bytes utilizados


para almacenar el número. La longitud para una cadena de caracteres o tipo
de datos Unicode es el número de caracteres. La longitud para los tipos de
datos binary, varbinary y image es el número de bytes. Por ejemplo, un tipo
de datos int que puede contener 10 dígitos se almacena en 4 bytes y no
acepta coma decimal. El tipo de datos int tiene una precisión de 10, una
longitud de 4 y una escala de 0.

Cuando se concatenan dos expresiones char, varchar, binary o varbinary,


la longitud de la expresión resultante es la suma de las longitudes de las dos
expresiones de origen u 8.000 caracteres, lo que sea menor.

Cuando se concatenan dos expresiones nchar o nvarchar, la longitud de la


expresión resultante es la suma de las longitudes de las dos expresiones de
origen o 4.000 caracteres, lo que sea menor.

Cuando se comparan dos expresiones del mismo tipo de datos pero de


distintas longitudes mediante UNION, EXCEPT o INTERSECT, la longitud
resultante es la longitud máxima de las dos expresiones.

La precisión y la escala de los tipos de datos numéricos, excepto decimal,


son fijas. Si un operador aritmético tiene dos expresiones del mismo tipo, el
resultado tiene el mismo tipo de datos con la precisión y la escala definidas
para ese tipo de datos. Si un operador tiene dos expresiones con tipos de
datos numéricos diferentes, las reglas de prioridad de tipos de datos definen
el tipo de datos del resultado. El resultado tiene la precisión y la escala
definidas para el tipo de datos que le corresponde.

Esta tabla define cómo se calculan la precisión y la escala del resultado de la


operación cuando éste es de tipo decimal. El resultado es decimal cuando
se cumple alguna de las siguientes condiciones:

 Ambas expresiones son de tipo decimal.


 Una expresión es decimal y la otra es de un tipo de datos con una
prioridad menor que decimal.

Las expresiones de operando se denotan como expresión e1, con precisión


p1 y escala s1, y expresión e2, con precisión p2 y escala s2. La precisión y la

Página 26 de 29
escala de cualquier expresión que no sea decimal es la precisión y la escala
definidas para el tipo de datos de la expresión.

Operación Precisión del resultado Escala del


resultado *
e1 + e2 máx(s1, s2) + máx(p1-s1, máx(s1, s2)
p2-s2) + 1
e1 - e2 máx(s1, s2) + máx(p1-s1, máx(s1, s2)
p2-s2) + 1
e1 * e2 p1 + p2 + 1 s1 + s2
e1 / e2 p1 - s1 + s2 + máx(6, s1 máx(6, s1 + p2 +
+ p2 + 1) 1)
e1 { UNION | EXCEPT | máx(s1, s2) + máx(p1-s1, máx(s1, s2)
INTERSECT } e2 p2-s2)

* La precisión y la escala del resultado tienen un valor máximo absoluto igual


a 38. Cuando la precisión de un resultado es mayor que 38, la escala
correspondiente se reduce para evitar que la parte entera del resultado se
trunque.

Constantes
Una constante es un símbolo que representa el valor específico de un dato.
El formato de las constantes depende del tipo de datos del valor que
representa. Las constantes se llaman también literales. En las siguientes
tablas se muestran algunos ejemplos del uso de las constantes.

Constantes usadas en Ejemplo


Cadenas de caracteres 'O''Brien'
'The level for job_id: %d should be between %d
and %d.'
Cadenas Unicode N'Michl'
Constantes de cadenas 0x12Ef
binarias 0x69048AEFDD010E
Constantes bit 0o1
Constantes datetime 'April 15, 1998'
'04/15/98'
'14:30:24'
'04:24 PM'
Constantes integer 1894
2
Constantes decimal 1894.1204
2.0
Constantes float y real 101.5E5
0.5E-2
Constantes money $12
$542023.14
Constantes 0xff19966f868b11d0b42d00c04fc964ff

Página 27 de 29
uniqueidentifier '6F9619FF-8B86-D011-B42D-00C04FC964FF'

Para las constantes numéricas, use los operadores unarios + y - cuando sea
necesario especificar el signo del valor numérico:

+$156.45
-73.52E8
-129.42
+442

Las constantes de carácter y Unicode se asignan a la intercalación


predeterminada de la base de datos actual, a menos que asigne una
intercalación específica mediante la cláusula COLLATE, por ejemplo:

'abc' COLLATE French_CI_AI


N'lustig' COLLATE German_Phonebook_CS_AS

Las constantes se pueden usar de muchas formas en Transact-SQL. A


continuación se muestran algunos ejemplos:

 Como un valor constante en una expresión aritmética:

SELECT Price + $.10


FROM MyTable

 Como el valor de datos con el que se compara una columna en una


cláusula WHERE:

SELECT *
FROM MyTable
WHERE LastName = 'O''Brien'

 Como el valor de datos que se va a colocar en una variable:

SET @DecimalVar = -1200.02

 Como el valor de datos que debe colocarse en una columna de la fila


actual. Esto se especifica con la cláusula SET de la instrucción
UPDATE o la cláusula VALUES de una instrucción INSERT:

UPDATE MyTable
SET Price = $99.99
WHERE PartNmbr = 1234
INSERT INTO MyTable VALUES (1235, $88.88)

 Como la cadena de caracteres que especifica el texto del mensaje


emitido por una instrucción PRINT o RAISERROR:

PRINT 'This is a message.'

Página 28 de 29
 Como el valor que se va a probar en una instrucción condicional,
como, por ejemplo, una instrucción IF o funciones CASE:

IF (@@SALESTOTAL > $100000.00)


EXECUTE Give_Bonus_Procedure

Página 29 de 29

Vous aimerez peut-être aussi