Capítulo 1: Modelo conceptual A. Recordatorios sobre el almacenaje de datos....... 7 1. Las distintas categorías de datos............... 7 a. Los datos básicos.................... 8 b. Los datos de movimiento................. 8 c. Los datos de trabajo................... 8 d. Los datos de archivo................... 8 2. La organización de los datos................. 9 a. Directa........................ 9 b. Secuencial....................... 9 c. Secuencial indexada................... 9 d. Base de datos jerárquica................. 10 e. Base de datos relacional................. 10 3. La normalización del esquema relacional............ 11 B. El modelo relacional................. 13 1. Conceptos y definiciones.................. 14 2. Reglas principales..................... 16 C. El álgebra relacional................. 18 1. Operadores........................ 19 2. Etapas de la resolución de un problema............ 27
Capítulo 2: Implementacíon de bases de datos A. Administración de una base de datos......... 39 1. Administración del espacio de almacenamiento......... 40 2. Administración de los objetos DATABASE........... 42 a. Creación de la base de datos............... 43 b. Modificación de tamaño................. 46 c. Eliminación de la base de datos.............. 50 d. Renombrar una base de datos............... 50 e. Configuración de una base de datos............ 51 B. Gestión de las tablas y los índices........... 58 1. Identificador........................ 58 2. Los tipos de datos..................... 59 a. Tipos de datos de sistema................ 59 b. Tipos de datos definidos por el usuario........... 65 3. Gestión de las tablas.................... 70 a. Creación de tabla.................... 70 b. Modificación de una tabla................ 73 c. Eliminación de una tabla................. 75 d. Nombre completo de una tabla.............. 75 C. Implementación de la integridad de los datos...... 76 1. Los valores por defecto................... 76 2. Reglas.......................... 77 3. La propiedad Identity.................... 77
Capítulo 2 4. Las restricciones de integridad................ 80 a. NOT NULL....................... 81 b. PRIMARY KEY..................... 81 c. UNIQUE........................ 83 d. REFERENCIAS..................... 85 e. DEFAULT....................... 87 f. CHECK........................ 89 5. Gestión de los índices.................... 90 a. Creación de un índice.................. 95 b. Eliminación de un índice................. 99 c. Reconstruir un índice.................. 99 d. Actualización de las estadísticas.............. 101 e. Información sobre los índices............... 104 6. Seguimiento y verificación de las bases y de los objetos..... 105 38 SQL Server 2008
Capítulo 3: Los órdenes SQL A. Generalidades................... 109 1. Expresiones........................ 110 2. Operadores........................ 112 3. Funciones......................... 116 B. SQL-DML..................... 132 1. Creación de filas...................... 132 2. Modificación de filas.................... 137 3. Eliminación de filas..................... 139 4. Extracción de filas..................... 141 5. Operaciones de álgebra relacional............... 142 a. Selección de columnas.................. 142 b. Restricción....................... 145 c. Cálculos elementales.................. 146 d. Proyección....................... 148 e. Cálculos de agregados.................. 149 f. Producto cartesiano................... 151 g. Combinación...................... 152 h. Combinaciones externas................. 154 i. Order By........................ 156 j. Unión......................... 157 k. Except........................ 158 l. Intersect........................ 159 m. Extraer solamente las primeras filas............ 160 6. Consulta de creación de tabla................ 162 7. Forzar el optimizador de consulta............... 163 8. Tablas CTE........................ 164
Capítulo 3 9. Generación de filas estadísticas................ 166 10.Subconsultas anidadas................... 172 11.PIVOT y UNPIVOT..................... 174 12.MERGE.......................... 179 C. Gestión de las vistas................ 181 108 SQL Server 2008
Capítulo 4: Transact SQL: el lenguaje procedimental A. El SQL procedimental................ 189 1. Gestión de variables de usuario................ 189 2. Variables de sistema.................... 190 3. Las transacciones..................... 194 4. Gestión de los lotes y de los scripts.............. 200 5. Control de flujo...................... 201 a. RETURN....................... 201 b. PRINT........................ 202 c. CASE......................... 203 d. BEGIN... END..................... 204 e. IF.......................... 204 f. WHILE........................ 205 g. OUTPUT........................ 206 6. Gestión de los cursores................... 208 a. DECLARE CURSOR................... 208 b. OPEN......................... 210 c. FETCH........................ 211 d. CLOSE........................ 211 e. DEALLOCATE..................... 212 7. Gestión de excepciones................... 213 a. Mensajes de error.................... 213 b. Desencadenar un error.................. 215 c. Definir un mensaje de error................ 217 d. Gestión de los errores.................. 222
Capítulo 4 B. Gestión de los procedimientos almacenados....... 225 C. Las funciones definidas por el usuario......... 229 1. Creación de funciones.................... 230 2. Modificación de una función................. 234 3. Eliminación de una función................. 235 4. CROSS APPLY y OUTER APPLY............... 236 D. El contexto de ejecución............... 236 E. Desencadenadores (triggers)............. 239 188 SQL Server 2008
Capítulo 5 : Gestión de datos distribuidos A. SQL Server Integration Services............ 250 1. Principios de funcionamiento................. 251 2. Herramientas gráficas.................... 252 a. Business Intelligence Development Studio.......... 253 b. SQL Server Management Studio.............. 253 3. Asistente de importación y exportación............. 254 4. SSIS Designer....................... 264 5. Otras utilidades...................... 269 a. Ejecutar Paquete.................... 269 b. Utilidades de línea de comandos............. 271 B. Modificar una base de datos............. 272 1. Separar una base de datos................. 272 a. Desde SQL Server Management Studio........... 273 b. Desde Transact SQL................... 274 2. Adjuntar una base de datos................. 276 a. Desde SQL Server Management Studio........... 276 b. Desde Transact SQL................... 277 3. Mover una base de datos o archivos............. 279 C. El programa BCP.................. 279
Capítulo 5 D. Los servidores remotos................ 285 1. Gestión de servidores remotos................ 286 a. Agregar un servidor vinculado............... 287 b. Eliminar un servidor vinculado............... 288 2. Gestión de usuarios remotos................. 289 3. Uso de recursos remotos.................. 290 4. Los sinónimos.................. 290 E. La administración de las transacciones distribuidas.... 292 1. MS DTC......................... 293 2. Implementación en Transact-SQL............... 293 248 SQL Server 2008
Capítulo 6: Los tipos avanzados A. Trabajar con el formato XML............. 297 1. El tipo XML........................ 299 2. Trabajar con una columna de tipo XML............ 305 a. Operaciones de DML.................. 305 b. Métodos específicos................... 307 3. Indexar una columna de tipo XML.............. 311 a. Índice principal..................... 311 b. Índice secundario.................... 312 4. XQuery y XPath...................... 313 5. FOR XML......................... 320 6. OpenXML......................... 323 7. OPENROWSET...................... 325 B. Servicios Web XML................. 326 1. Principios de funcionamiento................. 326 2. Punto de entrada HTTP................... 328 a. CREATE ENDPOINT................... 329 b. ALTER ENDPOINT................... 331 c. DROP ENDPOINT.................... 331 C. Parámetros con valor de tabla............ 332 D. Las estructuras jerárquicas.............. 334 1. HierarchyId........................ 334 2. Los índices........................ 335 3. Los métodos....................... 336
Capítulo 6 E. Los datos no estructurados.............. 339 F. Los datos espaciales................ 345 296 SQL Server 2008
Capítulo 7: CLR A. SQL Server y el CLR................ 349 1. Transact SQL o CLR?................... 349 a. Las funciones escalares................. 351 b. Las funciones que devuelven una tabla........... 351 2. Trabajar con el código CLR................. 351 a. Acceder a recursos externos................ 352 b. Las instrucciones SQL.................. 352 c. Los tipos de datos.................... 352 d. El acceso a los datos.................. 353 e. Localización del código.................. 353 B. Definir código CLR administrado en SQL Server..... 354 1. Activar la aceptación de código CLR.............. 354 2. Trabajar con Visual Studio.................. 355 3. Tipos de datos personalizados................ 357 4. Procedimiento almacenado................. 360 5. Desencadenador de base de datos.............. 363 6. Función de cálculo de agregados............... 364