Introducción
A quién va dirigido este libro
De qué trata este libro
Cómo está estructurado el libro
Qué hace falta para utilizar este libro
Convenciones
Código fuente
1. Fundamentos de RDBMS: ¿Qué elementos formanuna base de datos SQL Server?
Visión general de los objetos de una base de datos
El objeto base de datos
El registro de transacciones
El objeto de base de datos más básico: las tablas
Grupos de archivos
Diagramas
Vistas
Procedimientos almacenados
Funciones definidas por el usuario
Usuarios y funciones
Reglas
Valores predeterminados
Tipos de datos definidos por el usuario
Catálogos de texto
Tipos de datos de SQL Server
Datos NULL
Identificadores de SQL Server para objetos
¿Qué elementos reciben un nombre?
Reglas de denominación
Resumen
2. Herramientas del negocio
Libros en pantalla
Administrador de configuración de SQL Server
Administración de servicios
Configuración de red
Los protocolos
En la parte del cliente
SQL Server Management Studio
Inicio
Ventana de consultas
SQL Server Integration Services (SSIS)
Bulk Copy Program (bcp)
SQL Server Profiler
sqlcmd
Resumen
3. Instrucciones fundamentales de T-SQL
Inicio con una instrucción SELECT básica
La instrucción SELECT y la cláusula FROM
La cláusula WHERE
ORDER BY
Datos agregados con la cláusula GROUP BY
Agrupar condiciones con la cláusula HAVING
Resultados de XML con la cláusula FOR XML
Sugerencias de consulta en la cláusula OPTION
Predicados DISTINCT y ALL
Añadir datos con la instrucción INSERT
Instrucción INSERT INTO... SELECT
Cambiar el resultado con la instrucción UPDATE
Instrucción DELETE
Resumen
Ejercicios
4. Formas de la cláusula JOIN
JOIN
INNER JOIN
Comparación entre INNER JOIN y WHERE
OUTER JOIN
Cláusula OUTER JOIN simple
Cláusulas OUTER JOIN más complejas
Ver ambos lados con FULL JOIN
CROSS JOIN
Examinar sintaxis alternativas para las cláusulas JOIN
Una cláusula INNER JOIN alternativa
Una cláusula OUTER JOIN alternativa
Una cláusula CROSS JOIN alternativa
UNION
Resumen
Ejercicios
5. Creación y alteración de tablas
Nombres de objetos en SQL Server
Nombre del esquema (también conocido como Propiedad)
El nombre de la base de datos
Denominación por servidor
Revisar los valores predeterminados
CREATE
CREATE DATABASE
CREATE TABLE
ALTER
ALTER DATABASE
ALTER TABLE
DROP
Utilizar la herramienta GUI
Creación de una base de datos con Management Studio
De nuevo en el código: Elementos básicos para la creación de secuenciasde comandos con Management Studio
Resumen
Ejercicios
6. Restricciones
Tipos de restricciones
Restricciones de dominio
Restricciones de entidad
Restricciones de integridad referencial
Denominación de las restricciones
Restricciones de claves
Restricciones PRIMARY KEY
Restricciones FOREIGN KEY
Restricciones UNIQUE
Restricciones CHECK
Restricciones DEFAULT
Definir una restricción DEFAULT en la instrucción CREATE TABLE
Añadir una restricción DEFAULT a una tabla existente
Deshabilitar restricciones
Ignorar datos erróneos al crear la restricción
Deshabilitar temporalmente una restricción existente
Reglas y valores predeterminados
Reglas
Valores predeterminados
Determinar las tablas y los tipos de datos que utilizan una determinada reglao valor predeterminado
Desencadenadores para la integridad de datos
Elegir una opción
Resumen
7. Añadir más elementos a las consultas
¿Qué es una subconsulta?
Crear una subconsulta anidada
Subconsultas correlacionadas
Cómo funcionan las subconsultas correlacionadas
Subconsultas correlacionadas en la cláusula WHERE
Tratamiento de datos NULL: la función ISNULL
Tablas derivadas
El operador EXISTS
Otros usos de EXISTS
Mezclar tipos de datos: CAST y CONVERT
Consideraciones sobre el rendimiento
JOIN frente a subconsultas
Resumen
Ejercicios
8. Normalización y otros asuntos básicos de diseño
Tablas
Mantener la normalidad de los datos
Antes de empezar
La primera forma normal
La segunda forma normal
La tercera forma normal
Otras formas normales
Relaciones
Relaciones de uno a uno
Uno a uno o varios
Varios a varios
Diagramas
Tablas
Agregar y eliminar tablas
Relaciones
Desnormalización
Más allá de la normalización
Simplicidad
Elegir tipos de datos
Equivocaciones en el almacenamiento
Elaborar un ejemplo rápido
Crear la base de datos
Agregar el diagrama a las tablas iniciales
Añadir las relaciones
Agregar algunas restricciones
Resumen
Ejercicios
9. Almacenamiento y estructuras de índices en SQL Server
Almacenamiento de datos en SQL Server
La base de datos
La extensión
La página
Filas
Los índices
Árboles B
Acceso a los datos en SQL Server
Crear, alterar y suprimir índices
Instrucción CREATE INDEX
Crear índices XML
Índices implícitos creados con restricciones
Elegir con prudencia: Qué índice elegir, dónde colocarlo y cuándo
Selectividad
Vigilar los costos: Cuando menos es más
Elegir el índice agrupado
Ordenación de las columnas
Suprimir índices
Asistente para la optimización de motor de base de datos
Mantenimiento de los índices
Fragmentación
Identificar la fragmentación frente a la probabilidad de dividir páginas
Resumen
Ejercicios
10. Vistas
Vistas simples
Vistas como filtros
Vistas más complejas
Utilizar una vista para cambiar datos: Antes de los desencadenadoresINSTEAD OF
Editar vistas con T-SQL
Suprimir vistas
Crear y editar vistas en Management Studio
Editar vistas en Management Studio
Auditoría: Mostrar el código existente
Proteger el código: Cifrado de vistas
Acerca del enlace de esquemas
Conseguir que una vista parezca una tabla con VIEW_METADATA
Vistas indizadas (materializadas)
Resumen
Ejercicios
11. Escritura de secuencias de comandos y archivosde procesamiento por lotes
Fundamentos de las secuencias de comandos
Instrucción USE
Declarar variables
Utilizar @@IDENTITY
Utilizar @@ROWCOUNT
Archivos de procesamiento por lotes
Errores en los archivos de procesamiento por lotes
Cuándo se deben utilizar los archivos de procesamiento por lotes
SQLCMD
SQL dinámico: Generar el código en el momento con el comando EXEC
Imprecisiones programáticas de EXEC
Resumen
Ejercicios
12. Procedimientos almacenados
Creación de un procedimiento almacenado: Sintaxis básica
Un ejemplo de procedimiento almacenado básico
Cambiar procedimientos almacenados con ALTER
Suprimir procedimientos almacenados
Parámetros
Declarar parámetros
Instrucciones de control de flujo
La instrucción IF...ELSE
CASE
Bucles con la instrucción WHILE
WAITFOR
Bloques TRY/CATCH
Confirmación del éxito o del fallo con valores devueltos
Cómo utilizar RETURN
Tratamiento de errores
Manipulación de errores en el pasado
Controlar errores antes de que se produzcan
Borrar errores manualmente
Agregar mensajes de error personalizados
Qué ofrece un procedimiento almacenado
Creación de procesos que se puedan llamar
Utilizar procedimientos almacenados por seguridad
Procedimientos almacenados y rendimiento
Procedimientos almacenados extendidos
Un breve análisis sobre la recursión
Depuración
Configurar un servidor SQL Server para la depuración
Iniciar el depurador
Partes del depurador
Utilizar el depurador tras su apertura
Ensamblados .NET
Resumen
Ejercicios
13. Funciones definidas por el usuario
Qué es una UDF
UDF que devuelven un valor escalar
UDF que devuelven una tabla
Determinismo
Depurar las funciones definidas por el usuario
.NET en un mundo de bases de datos
Resumen
Ejercicios
14. Transacciones y bloqueos
Transacciones
BEGIN TRAN
COMMIT TRAN
ROLLBACK TRAN
SAVE TRAN
Cómo funciona el registro de SQL Server
Fallo y recuperación
Transacciones implícitas
Bloqueos y concurrencia
Problemas que pueden evitar los bloqueos
Lecturas de datos irrepetibles
Recursos que se pueden bloquear
Escalada y efectos del bloqueo sobre el rendimiento
Modos de bloqueo
Compatibilidad de los bloqueos
Especificar un tipo de bloqueo específico: Sugerencias del optimizador
Determinar bloqueos utilizando Management Studio
Establecer el nivel de aislamiento
READ COMMITTED
READ UNCOMMITTED
REPEATABLE READ
SERIALIZABLE
Tratar los interbloqueos
Cómo sabe SQL Server que existe un interbloqueo
Cómo se eligen las víctimas del interbloqueo
Evitar interbloqueos
Resumen
15. Desencadenadores
¿Qué es un desencadenador?
ON
WITH ENCRYPTION
FOR|AFTER frente a la cláusula INSTEAD OF
WITH APPEND
NOT FOR REPLICATION
AS
Utilizar desencadenadores para las reglas de integridad de datos
Tratar los requerimientos originados desde otras tablas
Utilizar desencadenadores para revisar el delta de una actualización
Utilizar desencadenadores para mensajes de error personalizados
Otros usos comunes para los desencadenadores
Otros temas referentes a los desencadenadores
Los desencadenadores se pueden anidar
Los desencadenadores pueden ser recursivos
Los desencadenadores no previenen cambios de arquitectura
Los desencadenadores se pueden deshabilitar sin eliminarlos
Orden de activación de los desencadenadores
Desencadenadores INSTEAD OF
Consideraciones sobre el rendimiento
Los desencadenadores son reactivos en lugar de preventivos
Desencadenadores que no tienen problemas de concurrencia con el procesoque los activa
Utilizar IF UPDATE() Y COLUMNS_UPDATED
Brevedad y concisión
Tener en cuenta a los desencadenadores al elegir índices
Evitar la reversión dentro de los desencadenadores
Suprimir desencadenadores
Depurar desencadenadores
Resumen
16. Un breve resumen sobre XML
Fundamentos de XML
Partes de un documento XML
Espacios de nombre
Contenido del elemento
Documento válido frente a documento bien formado: Esquemas y DTD
Aportaciones de SQL Server
Recuperar datos relacionales en formato XML
RAW
AUTO
EXPLICIT
PATH
OPENXML
Unas palabras sobre XSLT
Resumen
17. Servicios de información
Reporting Services 101
Generar modelos de informe simples
Vistas de origen de datos
Crear informes
Proyectos del Servidor de informes
Implementar el informe
Resumen
18. Conseguir la integración con Integration Services
Conocer el problema
Utilizar el Asistente para importación y exportación para generar paquetesbásicos
Utilidad de ejecución de paquetes
Utilizar la Utilidad de ejecución de paquetes
Ejecutar un paquete en Business Intelligence Development Studio
Ejecutar un paquete dentro de Management Studio
Editar el paquete
Resumen
19. Actuar como administrador
Programar tareas
Crear un operador
Crear trabajos y tareas
Copias de seguridad y recuperación
Crear una copia de seguridad: Volcado
Modelos de recuperación
Recuperación
Mantenimiento del índice
ALTER INDEX
Archivar datos
Resumen
Ejercicios
Apéndices
A. Soluciones a los ejercicios
B. Funciones del sistema
Funciones del sistema heredadas (variables globales)
Funciones de agregado
Funciones de cursor
Funciones de fecha y hora
Funciones matemáticas
Funciones de metadatos
Funciones de contenedor de resultados
Funciones de seguridad
Funciones de cadena
Funciones del sistema
Funciones de texto e imagen
C. Encontrar la herramienta adecuada
Herramientas ERD
Diseños lógicos y físicos
Escritura de secuencia de comandos general
Ingeniería inversa
Sincronización
Macros
Integración con otras herramientas
Otros asuntos
Algunos ejemplos
Herramientas de codificación
Algunos ejemplos
Utilidades de copia de seguridad
Algunos ejemplos
Resumen
D. Algunos ejemplos muy simples de conectividad
Algunos conceptos generales
Conexión en C#
Conexión en VB.NET
E. Instalar y utilizar los ejemplos
Ejemplos utilizados en este libro
Bases de datos suministradas por Microsoft
Ejemplos de secuencias de comandos
Ejemplos creados
Índice alfabético
Con la aparición de SQL Server 2005, el mundo de las bases de datos está cambiando. Esta aplicación es más que un sistema gestor de bases de datos ya que incluye múltiples componentes y servicios que la convierten en una plataforma de aplicaciones corporativas. En definitiva, es la solución de gestión de la información que procurará mayor escalabilidad, disponibilidad y seguridad al tiempo que simplificará su creación, implantación y gestión.
Este libro pretende ser una herramienta para el aprendizaje del desarrollo de aplicaciones de bases de datos en SQL Server 2005. Le enseñará cómo usar consultas, vistas y procedimientos almacenados para acceder, de una forma eficiente, a los datos de las aplicaciones, así como para manipularlos.
Con Programación con SQL Server 2005 descubrirá, a través de detalladas explicaciones y ejemplos, cómo acceder a los datos desde servicios web y aplicaciones de Windows y ASP.NET. Además, el manual introduce otros conceptos más avanzados, como la creación de componentes de lógica empresarial y de acceso a datos, así como la lectura y escritura del Registro de Windows, entre otros muchos temas.
© 2001-2026 Fundación Dialnet · Todos los derechos reservados