Microsoft SQL Server 2008 r2. Curso Practico

ÍNDICE CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO......................................................

Views 14,298 Downloads 5 File size 106KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

ÍNDICE CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO............................................................................................................................ 17 1.1 NOVEDADES EN SQL SERVER 2008 R2 ............................................................... 17 1.2 INSTALACIÓN DE MICROSOFT SQL SERVER 2008 R2..................................... 18 1.3 VERSIONES DE MICROSOFT SQL SERVER 2008 ............................................... 25 1.3.1 Ediciones Core Server de SQL Server 2008 R2 ................................................. 25 1.3.2 Ediciones especializadas de SQL Server 2008 R2.............................................. 25 1.4 PRIMEROS PASOS EN SQL SERVER 2008 R2: INICIO DEL SERVIDOR .......... 26 1.4.1 Ejecutar SQL Server en una red.......................................................................... 29 1.4.2 Detener SQL Server ............................................................................................ 31 CAPÍTULO 2. CONCEPTOS, OBJETOS, OPERACIONES, DISEÑO Y CREACIÓN DE BASES DE DATOS ............................................................................... 33 2.1 BASES DE DATOS: TABLAS, CAMPOS Y REGISTROS...................................... 33 2.2 ESTRUCTURA DE LAS BASES DE DATOS .......................................................... 34 2.2.1 Modelos de datos primitivos: sistemas de gestión de archivos........................... 34 2.2.2 Bases de datos jerárquicas................................................................................... 35 2.2.3 Bases de datos en red .......................................................................................... 37 2.2.4 Bases de datos relacionales ................................................................................. 39 2.3 CARACTERÍSTICAS DE LAS BASES DE DATOS RELACIONALES................. 41 2.4 OPERACIONES RELACIONALES BÁSICAS ........................................................ 42 2.5 OTRAS OPERACIONES RELACIONALES Y OPERADORES BOOLEANOS .... 45 2.6 DISEÑO DE UNA BASE DE DATOS RELACIONAL ............................................ 46 2.6.1 Claves primarias y secundarias (externas o foráneas)......................................... 46

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO

© RA-MA

2.6.2 Integridad ............................................................................................................ 47 2.6.3 Disparadores........................................................................................................ 50 2.6.4 Índices ................................................................................................................. 51 2.6.5 Tablas en una base de datos relacional ............................................................... 55 2.6.6 Un ejemplo de diseño de base de datos relacional.............................................. 57 2.7 CREAR UNA BASE DE DATOS CON SQL SERVER............................................. 66 2.7.1 Estimar el tamaño de una tabla ........................................................................... 69 2.7.2 Estimar el tamaño de la base de datos................................................................. 71 2.7.3 Creación de una base de datos SQL Server mediante el Administrador corporativo .......................................................................................................... 71 CAPÍTULO 3. CREACIÓN Y ADMINISTRACIÓN DE TABLAS, RELACIONES E ÍNDICES.............................................................................................. 77 3.1 CREACIÓN DE TABLAS.......................................................................................... 77 3.1.1 Crear una tabla nueva con el diseñador de tablas ............................................... 81 3.1.2 Modificar una tabla nueva con el diseñador de tablas ........................................ 90 3.2 CREACIÓN DE ÍNDICES Y CLAVES ..................................................................... 92 3.2.1 Creación de índices únicos.................................................................................. 92 3.2.2 Creación de clave principal o primaria ............................................................... 94 3.2.3 Creación de índices agrupados............................................................................ 96 3.3 RELACIONES............................................................................................................ 99 3.3.1 Crear relación de clave foránea con el diseñador de tablas .............................. 100 3.4 RESTRICCIONES CHECK ..................................................................................... 102 3.4.1 Crear restricción CHECK mediante el diseñador de tablas .............................. 103 3.4.2 Expresiones de restricción CHECK .................................................................. 105 3.5 DIAGRAMAS DE BASES DE DATOS................................................................... 106 3.5.1 Creación de un diagrama de base de datos........................................................ 107 3.5.2 Crear claves primarias, índices y restricciones en diagramas de base de datos. Insertar y eliminar columnas y tablas................................................................ 107 3.5.3 Crear relaciones en el diagrama de bases de datos ........................................... 109 3.5.4 Detalles de visualización en el diagrama de base de datos ............................... 111 3.5.5 Crear una tabla nueva y añadir una tabla existente al diagrama ....................... 114 3.6 INTRODUCCIÓN DE DATOS EN LAS TABLAS................................................. 115 CAPÍTULO 4. HERRAMIENTAS DE CONSULTA. CONSULTAS DEL MOTOR DE BASE DE DATOS Y EDITOR SQL ........................................................ 119 4.1 INTRODUCCIÓN .................................................................................................... 119 4.2 INICIACIÓN A LAS CONSULTAS Y HERRAMIENTAS.................................... 120 4.3 CONSULTAS DEL MOTOR DE BASE DE DATOS. EDITOR SQL..................... 121

 RA-MA

ÍNDICE 9

4.4 REALIZAR CONSULTAS EN LA VENTANA DE CONSULTA O EDITOR SQL............................................................................................................ 125 4.5 MODIFICACIÓN DE LA INFORMACIÓN EN LA VENTANA ABRIR TABLA ..................................................................................................................... 130 4.6 ARCHIVOS SQL Y PLANTILLAS......................................................................... 133 4.7 EXPLORADOR DE OBJETOS ............................................................................... 136 4.8 SELECCIÓN DE INFORMACIÓN DE LA BASE DE DATOS. INTRODUCCIÓN AL COMANDO SELECT DE TRANSACT-SQL .................... 137 4.8.1 Cláusula FROM................................................................................................. 139 4.8.2 Cláusula WHERE.............................................................................................. 139 4.8.3 Cláusula GROUP BY........................................................................................ 141 4.8.4 Cláusula ORDER BY........................................................................................ 141 4.8.5 Cláusula HAVING ............................................................................................ 142 CAPÍTULO 5. VER Y MODIFICAR DATOS CON EL DISEÑADOR DE CONSULTAS .................................................................................................................... 145 5.1 DISEÑADOR DE CONSULTAS DESDE EL EDITOR SQL.................................. 145 5.2 DISEÑADOR DE CONSULTAS DESDE TABLAS O VISTAS ............................ 150 5.3 PANELES DEL DISEÑADOR DE CONSULTAS.................................................. 152 5.3.1 Panel Diagrama ................................................................................................. 152 5.3.2 Panel Cuadrícula o Criterios ............................................................................. 155 5.3.3 Panel SQL ......................................................................................................... 157 5.3.4 Panel Resultados ............................................................................................... 158 5.4 OPERATIVA CON CONSULTAS .......................................................................... 158 5.5 TIPOS DE CONSULTAS......................................................................................... 161 5.6 CONSULTAS PARAMÉTRICAS ........................................................................... 165 5.7 TABLAS DERIVADAS ........................................................................................... 168 5.8 CRITERIOS DE BÚSQUEDA ................................................................................. 171 CAPÍTULO 6. ELEMENTOS DE TRANSACT-SQL: FORMATOS, TIPOS DE DATOS, OPERADORES Y FUNCIONES........................ 177 6.1 EL LENGUAJE SQL ................................................................................................ 177 6.2 UTILIZANDO TRANSACT-SQL ........................................................................... 181 6.3 ELEMENTOS BÁSICOS DE TRANSACT- SQL ................................................... 182 6.4 IDENTIFICADORES ............................................................................................... 182 6.5 TIPOS DE DATOS ................................................................................................... 184 6.6 FORMATOS EN TRANSACT-SQL........................................................................ 187 6.7 CONSTANTES ........................................................................................................ 193 6.8 FUNCIONES ............................................................................................................ 195

10 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO

© RA-MA

6.9 CONVERSIÓN DE TIPOS DE DATOS .................................................................. 213 6.9.1 Funciones CAST y CONVERT ........................................................................ 214 6.9.2 Conversiones explícitas e implícitas ................................................................. 215 6.10 EXPRESIONES...................................................................................................... 216 6.11 OPERADORES ...................................................................................................... 218 6.11.1 Clasificación de los operadores....................................................................... 218 6.11.2 Ejemplos de operadores .................................................................................. 220 6.11.3 Orden de precedencia de los operadores ......................................................... 222 6.12 PALABRAS RESERVADAS................................................................................. 222 6.13 REGLAS DE SINTAXIS EN TRANSACT-SQL................................................... 225 6.14 COMENTARIOS EN TRANSACT-SQL............................................................... 226 CAPÍTULO 7. TRANSACT-SQL. LENGUAJE DE CONSULTA DE DATOS: SENTENCIA SELECT..................................................................................................... 229 7.1 INTRODUCCIÓN .................................................................................................... 229 7.2 LA SENTENCIA SELECT....................................................................................... 230 7.2.1 Cláusula SELECT ............................................................................................. 231 7.2.2 Cláusula INTO .................................................................................................. 233 7.2.3 Cláusula FROM................................................................................................. 234 7.2.4 Cláusula WHERE.............................................................................................. 236 7.2.5 Cláusula GROUP BY........................................................................................ 236 7.2.6 Cláusula HAVING ............................................................................................ 238 7.2.7 Operador UNION.............................................................................................. 238 7.2.8 Cláusula ORDER BY........................................................................................ 239 7.2.9 Cláusula COMPUTE......................................................................................... 239 7.2.10 Cláusula FOR .................................................................................................. 241 7.2.11 Cláusula OPTION ........................................................................................... 242 7.2.12 Observaciones relativas a la sentencia SELECT ............................................ 244 7.3 SELECCIÓN DE FILAS .......................................................................................... 246 7.3.1 Filas duplicadas y la cláusula DISTINCT......................................................... 248 7.4 ORDENACIÓN DE LOS RESULTADOS DE UNA CONSULTA......................... 249 7.5 COLUMNAS CALCULADAS ................................................................................ 251 7.6 RENOMBRAR COLUMNAS: CLÁUSULA AS..................................................... 253 7.7 CONSULTAS CON CONDICIONES DE BÚSQUEDA ......................................... 254 7.7.1 Contrastes de comparación ............................................................................... 255 7.7.2 Contraste de rango: cláusula BETWEEN…AND............................................. 256 7.7.3 Contraste de pertenencia a un conjunto: cláusula IN ........................................ 257 7.7.4 Contraste de correspondencia con patrón: cláusula LIKE ................................ 259

 RA-MA

ÍNDICE 11

7.7.5 Contraste de valor nulo: cláusula IS NULL...................................................... 261 7.7.6 Contrastes compuestos: cláusulas AND, OR y NOT........................................ 262 7.7.7 Combinación de consultas: cláusula UNION ................................................... 264 CAPÍTULO 8. TRANSACT-SQL. CONSULTAS MULTITABLA (JOINS) Y CONSULTAS RESUMEN ........................................................................................... 269 8.1 INTRODUCCIÓN .................................................................................................... 269 8.2 JOIN DE DOS TABLAS .......................................................................................... 270 8.2.1 JOINS con criterios de selección de filas.......................................................... 273 8.2.2 JOINS con múltiples columnas de emparejamiento ......................................... 274 8.3 JOIN DE TRES O MÁS TABLAS............................................................................ 275 8.3.1 JOIN con condiciones de búsqueda sin igualdad.............................................. 277 8.4 JOINS INTERNOS Y EXTERNOS.......................................................................... 278 8.4.1 JOIN EXTERNO completo............................................................................... 279 8.4.2 JOIN EXTERNO izquierdo y derecho.............................................................. 280 8.5 INNER JOIN............................................................................................................. 281 8.6 LEFT JOIN, RIGHT JOIN ........................................................................................ 283 8.6.1 Casos especiales en consultas multitabla .......................................................... 286 8.7 CONSULTAS RESUMEN ....................................................................................... 289 8.7.1 Funciones de agregado en la lista de selección................................................. 290 8.7.2 Función COUNT(*) .......................................................................................... 292 8.7.3 Valores NULL en las funciones de agregado ................................................... 293 8.7.4 Tratamiento de filas duplicadas con DISTINCT .............................................. 295 8.7.5 Agrupar filas con GROUP BY.......................................................................... 296 8.8 RESUMIR DATOS................................................................................................... 301 8.8.1 Resumir datos con CUBE ................................................................................. 302 8.8.2 Resumir datos con ROLLUP ............................................................................ 303 CAPÍTULO 9. TRANSACT-SQL. SUBCONSULTAS Y USO AVANZADO DE FUNCIONES ..................................................................................................................... 305 9.1 SUBCONSULTAS ................................................................................................... 305 9.1.1 Reglas de las subconsultas ................................................................................ 309 9.1.2 Subconsultas con IN.......................................................................................... 310 9.1.3 Subconsultas con operadores de comparación.................................................. 312 9.1.4 Subconsultas con EXISTS ................................................................................ 313 9.1.5 Subconsultas con ANY, SOME o ALL ............................................................ 316 9.1.6 Subconsultas usadas en cualquier lugar de una expresión ................................ 318 9.1.7 Subconsultas con múltiples niveles de anidamiento ......................................... 318

12 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO

© RA-MA

9.2 SUBCONSULTAS CORRELACIONADAS ........................................................... 319 9.2.1 Subconsultas correlacionadas con alias ............................................................ 320 9.2.2 Subconsultas correlacionadas con operadores de comparación........................ 321 9.2.3 Subconsultas correlacionadas con una cláusula HAVING ............................... 322 9.2.4 Unión, intersección y diferencia en subconsultas ............................................. 323 9.3 USO AVANZADO DE FUNCIONES Y VARIABLES........................................... 324 9.3.1 Funciones de cadena.......................................................................................... 324 9.3.2 Funciones numéricas ......................................................................................... 327 9.3.3 Funciones agregadas o estadísticas ................................................................... 328 9.3.4 Funciones de fechas y horas.............................................................................. 331 9.3.5 Funciones de metadatos .................................................................................... 334 9.3.6 Funciones de seguridad ..................................................................................... 335 9.3.7 Funciones del sistema ....................................................................................... 336 CAPÍTULO 10. TRANSACT-SQL. LENGUAJE DE DEFINICIÓN DE DATOS: ADMINISTRACIÓN DE TABLAS ................................................................................ 339 10.1 INTRODUCCIÓN .................................................................................................. 339 10.2 TABLAS, COLUMNAS Y TIPOS DE DATOS..................................................... 339 10.3 CREACIÓN DE TABLAS CON CREATE TABLE .............................................. 340 10.3.1 Definición de columnas................................................................................... 342 10.3.2 Restricciones de integridad ............................................................................. 344 10.3.3 Restricciones de columna................................................................................ 350 10.3.4 Restricciones de tabla...................................................................................... 352 10.3.5 Observaciones sobre las restricciones de integridad....................................... 355 10.3.6 Limitaciones en CREATE TABLE................................................................. 360 10.4 MODIFICACIÓN DE TABLAS CON ALTER TABLE........................................ 363 10.5 BORRADO DE TABLAS CON DROP TABLE .................................................... 371 CAPÍTULO 11. TRANSACT-SQL. LENGUAJE DE MANIPULACIÓN DE DATOS: ACTUALIZACIÓN DE TABLAS................................................................... 373 11.1 INTRODUCCIÓN .................................................................................................. 373 11.2 AGREGAR DATOS. LA SENTENCIA INSERT .................................................. 373 11.2.1 Insertar una fila mediante INSERT INTO...VALUES ................................... 374 11.2.2 Insertar valores NULL .................................................................................... 382 11.2.3 Insertar todas las columnas ............................................................................. 383 11.2.4 Insertar varias filas mediante INSERT INTO...SELECT ............................... 384 11.2.5 Sintaxis general de la sentencia INSERT........................................................ 384 11.3 ELIMINAR DATOS. LAS SENTENCIAS DELETE Y TRUNCATE .................. 386

 RA-MA

ÍNDICE 13

11.3.1 Eliminar filas con DELETE ............................................................................ 386 11.3.2 Eliminar todas las filas con TRUNCATE TABLE ......................................... 391 11.4 ACTUALIZAR DATOS. LA SENTENCIA UPDATE .......................................... 392 11.4.1 Cambiar datos con UPDATE .......................................................................... 393 11.4.2 Actualización de todas las filas con UPDATE ............................................... 395 11.4.3 UPDATE con subconsulta .............................................................................. 395 CAPÍTULO 12. TRANSACT-SQL. ADMINISTRAR VISTAS E ÍNDICES Y LENGUAJE DE CONTROL DE TRANSACCIONES................................................. 397 12.1 INTRODUCCIÓN .................................................................................................. 397 12.2 VISTAS................................................................................................................... 397 12.2.1 CREACIÓN DE UNA VISTA........................................................................ 401 12.2.2 Vistas horizontales .......................................................................................... 403 12.2.3 Vistas verticales............................................................................................... 405 12.2.4 Vistas fila/columna.......................................................................................... 406 12.2.5 Vistas agrupadas.............................................................................................. 406 12.2.6 Vistas compuestas ........................................................................................... 407 12.2.7 Actualización de vistas.................................................................................... 408 12.2.8 Modificación de vistas con ALTER VIEW .................................................... 409 12.2.9 Borrado de vistas con DROP VIEW............................................................... 409 12.3 ÍNDICES................................................................................................................. 410 12.3.1 Borrado de índices........................................................................................... 418 12.4 PROCESAMIENTO DE TRANSACCIONES....................................................... 419 12.4.1 Sentencia BEGIN TRANSACTION............................................................... 421 12.4.2 Sentencia COMMIT TRANSACTION........................................................... 422 12.4.3 Sentencia COMMIT WORK........................................................................... 422 12.4.4 Sentencia SAVE TRANSACTION................................................................. 423 12.4.5 Sentencia ROLLBACK TRANSACTION ..................................................... 424 CAPÍTULO 13. ADMINISTRAR SQL SERVER 2008 ................................................ 427 13.1 CONCEPTO DE INSTANCIA............................................................................... 427 13.1.1 Servicios de instancias .................................................................................... 428 13.2 ADMINISTRACIÓN DE BASES DE DATOS: CREACIÓN, MODIFICACIÓN Y ELIMINACIÓN................................................................................................... 431 13.2.1 Creación de una base de datos mediante Transact-SQL ................................. 433 13.2.2 Modificación de una base de datos mediante Transact-SQL .......................... 435 13.2.3 Eliminación de una base de datos mediante Transact-SQL ............................ 439 13.3 ADMINISTRACIÓN DE INSTANCIAS............................................................... 439

14 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO

© RA-MA

13.4 INICIAR, PAUSAR Y DETENER SQL SERVER DESDE EL ADMINISTRADOR CORPORATIVO Y SISTEMA OPERATIVO ..................... 440 13.5 INICIAR, PAUSAR Y DETENER SQL SERVER DESDE SQL SERVER CONFIGURATION MANAGER ........................................................................... 446 13.6 INFORMACIÓN SOBRE BASES DE DATOS Y SUS OBJETOS ....................... 449 CAPÍTULO 14. ADMINISTRAR LA SEGURIDAD. LENGUAJE DE CONTROL DE DATOS CON TRANSACT-SQL .............................................................................. 453 14.1 INTRODUCCIÓN .................................................................................................. 453 14.2 SEGURIDAD DE INSTANCIA............................................................................. 454 14.3 AUTENTICACIÓN Y ADMINISTRACIÓN DE USUARIOS ............................. 457 14.3.1 Crear una contraseña de usuario para acceso a SQL Server ........................... 457 14.3.2 Crear una cuenta de inicio de sesión en SQL Server ...................................... 459 14.4 SEGURIDAD DE BASE DE DATOS.................................................................... 464 14.4.1 Conceder a cuentas de SQL Server el acceso a una base de datos ................. 464 14.4.2 Usuarios por defecto de la base de datos ........................................................ 465 14.5 FUNCIONES (ROLES) DE BASE DE DATOS .................................................... 467 14.6 ADMINISTRAR PERMISOS SOBRE OBJETOS DE BASE DE DATOS ........... 472 14.6.1 Conceder permisos con TRANSACT-SQL: la sentencia GRANT ................ 474 14.6.2 Denegar permisos con TRANSACT-SQL: la sentencia DENY ..................... 476 14.6.3 Revocar permisos con TRANSACT-SQL: la sentencia REVOKE ................ 477 CAPÍTULO 15. COPIAS DE SEGURIDAD Y RESTAURACIÓN DE BASES DE DATOS. IMPORTACIÓN Y EXPORTACIÓN ............................................................ 479 15.1 INTRODUCCIÓN .................................................................................................. 479 15.2 MODELOS DE RECUPERACIÓN ....................................................................... 479 15.2.1 Recuperación simple: copias de seguridad de bases de datos completas ....... 480 15.2.2 Crear una copia de seguridad completa de base de datos mediante Transact-SQL: la sentencia BACKUP DATABASE...................................... 483 15.2.3 Recuperación simple: copias de seguridad diferencial de bases de datos....... 484 15.2.4 Crear una copia de seguridad diferencial de base de datos mediante Transact-SQL: la sentencia BACKUP DATABASE...................................... 485 15.2.5 Recuperación simple: restaurar una copia de seguridad completa de base de datos............................................................................................................ 485 15.2.6 Restaurar una copia de seguridad completa de base de datos mediante Transact-SQL .................................................................................................. 488 15.2.7 Recuperación simple: restaurar una copia de seguridad diferencial de base de datos............................................................................................................ 489 15.2.8 Restaurar una copia de seguridad diferencial de base de datos mediante Transact-SQL .................................................................................................. 489

 RA-MA

ÍNDICE 15

15.2.9 Recuperación completa: copias de seguridad de registro de transacciones .... 489 15.3 CREAR UNA COPIA DE SEGURIDAD DEL REGISTRO DE TRANSACCIONES MEDIANTE TRANSACT-SQL.......................................... 491 15.3.1 Recuperación de registro masivo .................................................................... 492 15.3.2 Recuperar bases de datos sin restaurar mediante Transact-SQL .................... 493 15.3.3 Reiniciar operaciones de copia de seguridad y restauración interrumpidas mediante Transact-SQL................................................................................... 493 15.4 ADMINISTRAR COPIAS DE SEGURIDAD........................................................ 494 15.4.1 Dispositivos de copia de seguridad ................................................................. 494 15.4.2 Información de copias de seguridad................................................................ 496 15.4.3 Comprobación de copias de seguridad............................................................ 497 15.5 COPIAR O MOVER BASES DE DATOS ENTRE SERVIDORES: ASISTENTE PARA COPIAR BASES DE DATOS .............................................. 498 15.6 LA SENTENCIA BACKUP ................................................................................... 504 15.7 LA SENTENCIA RESTORE ................................................................................. 506 15.8 IMPORTACIÓN Y EXPORTACIÓN DE DATOS................................................ 508 15.8.1 Herramienta BCP ............................................................................................ 509 15.8.2 Asistente de importación y exportación con DTS........................................... 512 15.8.3 Importación de datos de Microsoft Access ..................................................... 515 15.8.4 Importación de datos de Microsoft Excel ....................................................... 518 15.8.5 Exportación de datos a Microsoft Excel ......................................................... 522 15.8.6 Exportación de datos a Microsoft Access ....................................................... 524 15.9 ADJUNTAR Y SEPARAR BASES DE DATOS ................................................... 526 15.10 DESCONECTAR Y CONECTAR UNA BASE DE DATOS .............................. 529 15.11 REDUCIR UNA BASE DE DATOS .................................................................... 532 15.12 REFLEJAR UNA BASE DE DATOS .................................................................. 534 ÍNDICE ALFABÉTICO................................................................................................... 537