1
Ana Gabriela Oseguera Doris Isabel Maradiaga
Esly Reinaldo Vásquez Iris Clarivel Moncada
Jairo Antonio López Jeferson Rolando Sosa Katherine Gissel Salgado Martha Roxeli Burgos
Wendy Valeska Martínez
ÍNDICE INTRODUCCION ................................................. ........................................................................... .................................................... .............................. .... 1 OBJETIVOS ................................................. ........................................................................... .................................................... ...................................... ............ 2 CONTENIDO ................................................... ............................................................................. .................................................... ............................. ... 3- 36 Historia y Evolución de SQL Server ................................................... .......................................................................... ....................... 3- 4 Definición de SQL Server....................................................... Server................................................................................ ...................................... ............. 5 Características De SQL Server .................................................. ............................................................................ .................................. ........ 6 Ventajas y Desventajas de SQL Server ................................................. ....................................................................... ...................... 7 Tipos de Backups en SQL Server .................................................. ........................................................................... ......................... 8- 11 Lenguajes que Soporta Microsoft Micros oft SQL Server ................................................ ........................................................... ........... 12 Descargar e Instalar Microsoft SQL Server ................................................ .......................................................... .......... 13- 21 Crear Base de Datos, Crear Tabla en SQL Server 2014 20 14 ...................................... ...................................... 22- 27 Consultas Básicas en SQL Server ................................................. ........................................................................ ....................... 28- 33 Insertar Datos en una Tabla T abla SQL Server Ser ver ............................................... .............................................................. ............... 34- 36 CONCLUSIÓN ................................................. ........................................................................... .................................................... ................................ ...... 37 ANEXOS .................................................. ............................................................................ .................................................... ........................................ .............. 38 BIBLIOGRAFÍA ................................................ .......................................................................... .................................................... ................................ ...... 39
INTRODUCCION Hoy en día SQL Server juega un papel muy importante ya que es un sistema que tiene muchas cualidades que lo hacen ser el gestor de base de datos líder, para empresas que manejan grandes volúmenes de información es esencial contar con sistemas ágiles y preparados para la gestión de los datos en grandes cantidades. En la medida en que el mundo globalizado avanza, aumenta consigo las exigencias para el manejo de información y más aún la seguridad e integridad que esta representa, así como las facilidades de acceso, uso y la adaptabilidad que estos sistemas ofrezcan. Es por ello, que mediante este informe abordaremos muchos aspectos interesantes que nos permitirá conocer mejor la base de datos SQL Server, Este documento está pensado como un material practico de introducción a los sistemas de bases de datos del modelo relacional basados en SQL Server. Los aspectos por tratar en este informe serán los siguientes: ● Historia ● Evolución ● Características de SQL Server. ● Ventajas y Desventajas de SQL Server . ● Lenguajes que S oporta SQL Server. ● ¿Cómo descargar e instalar Microsoft SQL Server 2014? ● ¿Cómo crear una Base de Datos en SQL Server? ● ¿Cómo crear una Tabla en SQL Server? ● Los Tipos de Backups. ● Consultas Básicas de SQL Server.
1
OBJETIVOS General Nuestro objetivo como estudiantes es obtener conocimientos generales de SQL Server, para ser capaces de saber cómo funciona este gestor de base de datos, saber además cuáles son las grandes características y ventajas de implementar este gestor de base para el entorno empresarial y conocer el proceso de creación de una Base de Datos en SQL Server.
Objetivos Específicos
Conocer la historia y evolución de SQL Server y tener conocimiento de qué es SQL Server, aprender además como funciona o para que sirve este gestor de base de datos, obteniendo conocimientos básicos de este tema como estudiantes.
Conocer el proceso que se lleva a cabo para descargar e instalar el programa de SQL Server 2014.
Conocer cómo es la creación de una base de datos en el gestor de base de datos SQL Server.
Aprender cuáles son los tipos de Backups en el Sistema Gestor de Base de Datos SQL Server.
2
Historia y Evolución de SQL Server La historia de SQL empieza en 1974, basándose en el modelo relacional de Edgar Codd, se emprende en un laboratorio de IBM, (International Business Machine= “Empresa de tecnología internacional, de software /hardware ”) las elaboraciones para la creación de una base de datos que llevaría el nombre de SEQUEL (Structured Query Language), en sus principios, posteriormente se llamaría SQL. Entre 1974 y 1975 se implementó un prototipo llamado SEQUEL-XRM. Las experimentaciones con ese modelo (SEQUEL-XRM) llevaron, entre 1976 y 1977, a una revisión del lenguaje (SEQUEL/2), que a partir de e se tiempo cambió de nombre por causas legales, transformándose en SQL. El prototipo (System R), basado en este lenguaje, se adoptó y utilizó internamente en IBM y lo tomaron algunos de sus clientes elegidos. Gracias al éxito rotundo de este sistema, que no estaba todavía comercializado. En la trayectoria de los años ochenta, varias compañías (Oracle y Sybase, etc.) comercializaron productos basados en SQL, que se convierte en el estándar industrial, de hecho, por lo que respecta a las bases de datos relacionales. A partir de 1981, IBM comenzó a entregar sus productos relacionales. En 1986, el ANSI adoptó SQL (sustancialmente adoptó el dialecto SQL de IBM) como estándar para los lenguajes relacionales. 1987 se transformó en estándar ISO. Esta versión del estándar va con el nombre de SQL/86. En los años siguientes, éste ha sufrido diversas revisiones. Que han conducido primero a la versión SQL/89. En 1992 se lanza un nuevo SQL/92, más amplio y revisado. El SQL3 fue aceptado como el nuevo estándar de SQL en 1999, después de más de 7 años de debate. En 2000 aparece la versión SQL Server 8.0. Presenta un host de innovadoras características que le ayudarán a adecuarse a las diferentes exigencias de análisis y gestión de datos. Gran soporte para estándares de web, potentes herramientas para el ajuste y la gestión del sistema, y escalabilidad y fiabilidad excepcionales que convierten a SQL Server 2000 en la mejor elección de la siguiente generación de soluciones de bases de datos de empresa. Proporciona a los usuarios una innovadora plataforma de base de datos para el procesamiento transaccional online a gran escala, el Business Inteligencia y las aplicaciones de comercio-e. también facilita a los usuarios un medio XML integrado, añade una nueva característica de data mining en Servicios de Análisis, y mejora la tecnología de repositorios con los Servicios de Metas. En el 2003 Microsoft saco la versión SQL Server 2000 64-bit Edition, que se podía instalar en Windows XP 64Bit y Windows Server.
3
En el 2010 sale SQL Server 2008 R2, algunos la llaman SQL Server 2010, cosas no muy raras de algunos administradores. SQL Server 2008 R2 ofrece varias capacidades sin precedentes que permitirá a su organización a escala las operaciones de base de datos con la confianza, mejorar la eficiencia de TI y desarrolladores, y permitirá altamente escalable y bien administrativo Business Intelligence en un sistema de autoservicio para los usuarios. SQL Server 2012 fue lanzado en el año 2012 el cual proporciona confianza de Misión crítica con mayor tiempo activo, rendimiento ultra rápido y características mejoradas de seguridad para cargas de trabajo de misión crítica. Avances innovadores co n exploración de datos de autoservicio administrado y capacidades asombrosas e interactivas de visualización de datos; La nube en sus propios términos al habilitar la creación y extensión de soluciones a lo largo de la nube en las instalaciones y en la nube pública. Además de contar con una nueva edición específica para BI (Business Intelligence), las nuevas opciones de licenciamiento vuelven a SQL Server 2012 una solución adaptada a las necesidades actuales de las organizaciones desde el momento de su adquisición. El hecho de tener un estándar determinado por un lenguaje para bases de datos relacionales abre potencialmente el camino a la intercomunicabilidad entre todos los productos que se basan en él. Desde el punto de vista práctico, por desgracia las cosas fueron de otro modo. Evidentemente, en general cada productor adopta y realiza en la propia base de datos sólo el corazón del lenguaje SQL (el así llamado Entry level o al máximo el Intermediate level), desarrollándolo de manera particular según la propia visión que cada cual tenga del mundo de las bases de datos.
4
Definición de SQL Server Microsoft SQL Server es un sistema de gestión de bases de datos relacionales (RDBMS) de Microsoft que está diseñado para el entorno empresarial. SQL Server se ejecuta en T-SQL (Transact -SQL), un conjunto de extensiones de programación de Sybase y Microsoft que añaden varias características a SQL estándar, incluyendo control de transacciones, excepción y manejo de errores, procesamiento fila, así como variables declaradas. Bajo el nombre código Yukon en su etapa de desarrollo, SQL Server 2005 fue lanzado en noviembre de 2005. Se dice que el producto 2005 proporcionó una mayor flexibilidad, escalabilidad, confiabilidad y seguridad a las aplicaciones de base de datos, y permitió que fueran más fáciles de crear y desplegar, lo que reduce la complejidad y el tedio involucrado en la gestión de bases de datos. SQL Server 2005 también incluía más soporte administrativo. El código original de SQL Server ha sido desarrollado por Sybase; a finales de 1980, Microsoft, Sybase y Ashton-Tate colaboraron para producir la primera versión del producto, SQL Server 4.2 para OS/2. Posteriormente, tanto Sybase como Microsoft ofrecieron productos de SQL Server. Sybase cambió después el nombre de su producto a Adaptive Server Enterprise. Dentro de los competidores más destacados de SQL Server están: Oracle, MariaDB, MySQL, PostgreSQL. SQL Server ha estado tradicionalmente disponible solo para sistemas operativos Windows de Microsoft, pero desde 2017 también está disponible para Linux y Docker containers. SQL Server puede ser configurado para utilizar varias instancias en el mismo servidor físico, la primera instalación lleva generalmente el nombre del servidor, y las siguientes - nombres específicos (con un guion invertido entre el nombre del servidor y el nombre de la instalación).
5
Características De SQL Server Características Soporte de transacciones. Soporta procedimientos almacenados. Incluye también un entorno gráfico de administración, que permite el uso de comandos DDL y DML gráficamente. Permite trabajar en modo cliente-servidor, donde la información y datos se alojan en el servidor y los terminales o clientes de la red sólo acceden a la información. Además, permite administrar información de otros servidores de datos. Este sistema incluye una versión reducida, llamada MSDE con el mismo motor de base de datos, pero orientado a proyectos más pequeños, que en sus versiones 2005 y 2008 pasa a ser el SQL Express Edition, que se distribuye en forma gratuita. Es común desarrollar proyectos completos empleando Microsoft SQL Server y Microsoft Access a través de los llamados ADP (Access Data Project). De esta forma se completa la base de datos ( Microsoft SQL Server ), con el entorno de desarrollo (VBA Access), a través de la implementación de aplicaciones de dos capas mediante el uso de formularios Windows. En el manejo de SQL mediante líneas de comando se utiliza el SQLCMD, osql, o PowerShell. Para el desarrollo de aplicaciones más complejas (tres o más capas), Microsoft SQL Server incluye interfaces de acceso para varias plataformas de desarrollo, entre ellas .NET, pero el servidor sólo está disponible para Sistemas Operativos. El tipo NUMERIC fue mejorado para ser usado como identificador de columna a partir de la versión 2008 R2.
6
Ventajas y Desventajas de SQL Server Ventajas:
Es un Sistema de Gestión de Bases de Datos Relacionales (SGBDR). Puede ser útil para manejar y/o obtener datos de la red de redes. Ofrece una potente forma de unir SQL e Internet. Utiliza una extensión al SQL estandar, que se denomina Transact SQL. El Transact SQL, soporta la definición, modificación y eliminación de bases de datos, tablas, atributos, índices, etc., es decir, el lenguaje de definición de datos (LDD), así como la consulta, actualización y borrado de tuplas de tablas, es decir, el lenguaje de manipulación de datos (LMD). Para empezar SQL Server nos permite olvidarnos un poco de los ficheros que forman la base de datos. En Access tenemos que abrir el fichero .mdb para ver el contenido. Aquí abrimos la consola de SQL Server y tenemos todas las bases de datos de todos nuestros programas. Esto es muy cómodo, ciertamente. Si trabajamos en una red local nos permite agregar otros servidores de SQL Server. por ejemplo: yo tengo en mi ordenador una base de datos en mi servidor SQL y mi compañero tiene en su servidor otra base de datos. Yo puedo conectar mi SQL al suyo y así tengo sus bases de datos en mi SQL Server. Esto, también es muy cómodo. Seguridad: SQL permite administrar permisos a TODO. Permisos a nivel de servidor, seguridad en tablas, permitir o no lectura, escritura, ejecución; seguridad en los procedimientos almacenados (después hablo de ellos) ... todo se puede configurar. O sea, que podemos permitir que alguien conecte su SQL al nuestro, pero sin embargo podemos decirle que no puede ver esta base de datos, pero otra sí.
Desventajas:
Los problemas de la 6.5 eran muchos: bloqueo a nivel de página, dispositivos con crecimiento manual, un tamaño de página fijo y demasiado pequeño (2048KB), una pésima implementación de los tipos de datos variables como varchar. La principal desventaja de Microsoft SQL SERVER es la enorme cantidad de memoria RAM que utiliza para la instalación y utilización del software. Una de las desventajas de SQL es que si lo quieres para practicas no te va hacer útil porque en él se prohíben muchas cosas tiene restricciones en lo particular me parase más viable usar MySQL es mucho mejor además de ser un software gratis. La relación calidad-precio está muy debajo comparado con Oracle.
7
Tipos de Backups en SQL Server Backups Completos. Es necesario establecer un punto de referencia inicial, independientemente del modo de recuperación que vayamos a emplear. Para ello, crearemos un backup completo de nuestra BB.DD. La cláusula en T-SQL es:
BACKUP DATABASE Nombre_BBDD TO DISK = 'Unidad:\ruta\ficherobackup.bak' WITH INIT Con el parámetro WITH INIT nos aseguraremos de que el fichero de backup contiene una única copia de seguridad ya que, por defecto, el comando BACKUP lo añade al fichero existente. De esta forma nos aseguramos de que el fichero se sobreescribe. En los modos Full-Recovery o Bulk-Logged Recovery, los backups de los logs son esenciales, no sólo por el propósito de recuperación, sino también para controlar el tamaño del registro de transacciones activo. El modo de recuperación simple es el único que elimina las transacciones periódicamente. Si nunca se realiza un respaldo, el registro de transacciones de una BBDD en modo Full-Recovery o Bulk-Logged Recovery continuará creciendo hasta consumir todo el espacio disponible en disco. Y si el disco se queda sin espacio, la BB.DD. se parará. El comando para realizar el backup del fichero de log es:
BACKUP LOG Nombre_Log_BBDD TO DISK = 'Unidad:\ruta\ficherobackup.trn' Cada acción contra la BB.DD. se asigna a un Log Sequence Number (LSN). Para restaurar a un punto específico en el tiempo, debemos tener un continuo registro de LSNs. Backups Diferenciales. La restauración de los bakups de transacciones tiende a ser una operación lenta, especialmente si nuestro backup completo es semanal, o incluso superior en su programación en el tiempo. Los backups diferenciales intentan decrementar el tiempo de recuperación. La cláusula T-SQL es:
BACKUP DATABASE Nombre_BBDD TO DISK = 'Unidad:\ruta\ficherobackup.dif' WITH DIFFERENTIAL, INIT El backup "ficherobackup.dif" contiene todos los cambios realizados desde el último backup completo. Podemos utilizarlo durante el proceso de restauración en combinación a los backups del registro de transacciones. En primer lugar, restaurando el backup completo, seguido de la restauración del último diferencial, y a continuación restaurando cualquier log de transacciones posterior. Consideraremos los siguientes elementos cuando hagamos uso de backups diferenciales:
Si no realizamos backups completos frecuentemente, los backups diferenciales crecerán significativamente en tamaño para una BB.DD. operativa. Recordemos 8
que un backup diferencial contiene todos los cambios desde el backup completo más reciente. Cuanto mayor sea el tiempo entre backups completos, más cambios recogerán en los diferenciales. Un backup diferencial está directamente ligado a un específico backup completo. La realización de un backup completo fuera del calendario habitual de backups puede hacer inservible una copia diferencial. A través del examen de la frecuencia de backups diferenciales, se puede establecer un plan de copias de seguridad. Cuando la BB.DD. sufre cambios frecuentemente, los backups diferenciales pueden consumir bastante espacio. Deberemos encontrar el equilibrio entre la velocidad de recuperación necesaria con respecto al espacio disponible.
NOTA: no debemos confundir los backups diferenciales con los incrementales. Los
diferenciales incluyen todos los datos que han cambiado desde el último backup completo. Mientras, el incremental incluye todos los datos que han cambiado desde el último diferencial o completo. SQL Server no dispone de ningún equivalente a los incrementales.
Verificación de Errores. El proceso de backup puede realizar una verificación de los datos mientras se están respaldando ya sea verificando páginas dañadas o validando por checksums. Debemos habilitar cualquier opción que deseemos en el nivel de la base de datos. La opción "Verificación de páginas" nos permitirá descubrir e informar sobre transacciones de E/S incompletas debidas a errores de E/S de disco. Podremos elegir entre las opciones "Ninguna", "checksum" y "TornPageDetection".
La opción "TornPagesDetection" (detección de páginas dañadas) verifica simplemente cada página de datos para ver si un proceso de escritura se ha completado en su totalidad. Si encuentra una página que ha sido sólo parcialmente escrita (debido a algún tipo de fallo hardware) simplemente se marca como "dañado". La validación por comprobación de sumas ("Checksum") es una técnica de verificación de páginas que añade un valor para cada página de datos, esencialmente identificando el tamaño exacto en bytes de cada página. El proceso de backup puede validar por checksum comparando el valor almacenado en la base de datos con el valor asociado con la página de datos escrita en disco. Sin embargo, no lo hace por defecto. Si la validación por checksums está habilitada, podemos forzar el proceso de backup para realizar está validación. 9
BACKUP DATABASE Nombre_BBDD TO DISK = 'unidad:\ruta\fichero.back' WITH CHECKSUM
Cuando se encuentre con un error durante la validación por checksum, SQL Server escribirá un registro a MSDB..SUSPECT_PAGE. El comportamiento por defecto es STOP_ON_ERROR, permitiendo corregir el problema y continuar, lanzando el mismo comando con la adicción de RESTART. La otra opción de validación por checksum es CONTINUE_ON_ERROR. Cuando está habilitada, el backup simplemente escribe el error en la tabla MSDB..SUSPECT_PAGE y continua. Sin embargo, esta tabla tiene un límite de 1000 filas, y si se alcanza, el backup fallará. El habilitar la validación por checksum obviamente tiene un impacto en el rendimiento del proceso de backup, por lo que deberemos tener una ventana suficientemente grande para realizar las copias de seguridad. Examinaremos la tabla MSDB.SUSPECT_PAGE para buscar el enfoque adecuado para hacer frente a los errores.
Backups Divididos (striped). Algunas BB.DD.s son demasiado grandes para crear un backup completo en una única cinta LTO o en un array de discos. En estos casos, podemos hacer uso de los backup striped, también denominados multiplexados. La ventaja es que cada dispositivo utiliza la totalidad de su capacidad para crear el backup. Su desventaja es que, en caso de fallo, todas las cintas o ficheros se necesitarán para completar una restauración. Para crear un backup striped utilizaremos: BACKUP DATABASE Nombre_BBDD TO DISK = 'unidad1:\ruta1\fichero1.bak' , 'unidad2:\ruta2\fichero2.bak', 'unidad3:\ruta3\fichero3.bak' WITH INIT, CHECKSUM, CONTINUE_ON_ERROR El backup será "extendido" a través de todos los ficheros indicados.
10
Backups en Espejo (mirrored). Los backups en espejo son una característica incorporada desde la versión 2005 de SQL Server, y que nos permite escribir el mismo fichero de backup en múltiples ubicaciones. El comando para crear un backup en espejo es:
BACKUP DATABASE Nombre_BBDD TO DISK = 'unidad1:\ruta1\fichero1.bak' MIRROR TO DISK = 'unidad2:\ruta2\fichero2.bak' MIRROR TO DISK = 'unidad3:\ruta3\fichero3.bak' WITH INIT, CHECKSUM, CONTINUE_ON_ERROR La única restricción para realizar respaldos en múltiples localizaciones es que los dispositivos utilizados deben ser idénticos. En particular, múltiples dispositivos de cinta deben ser del mismo modelo del mismo fabricante.
Backups Sólo_copia (copy_only). Podemos utilizar backup para propósitos distintos a los de recuperación en caso de desastre. Por ejemplo, un uso típico es utilizar un backup para mover una copia de la BBDD a un entorno de desarrollo. Como ya hemos indicado, los backups diferenciales están asociados directamente a un único backup completo. Desde SQL Server 2005 existe una característica, el backup "copy-only", que no resetea la cadena de backups. Cualquier copia de seguridad realizada fuera del esquema de los backups estándar debería ser realizada como un backup "only-copy":
BACKUP DATABASE Nombre_BBDD TO DISK = 'unidad:\ruta\ficheroBackup.bk' WITH INIT, CHECKSUM, COPY_ONLY Si existe un calendario de respaldos en SQL Server, para cada respaldo creado existe un número de secuencia o LSN. Entonces si creamos un backup completo sin hacer uso de la opción "copy-only", esa secuencia se verá afectada y tendremos problemas para recuperar un respaldo diferencial realizado posteriormente. Necesitaremos contar con el respaldo completo que se realizó en medio de la secuencia entonces no podremos recuperar la información. Si queremos conocer el número de secuencia podemos lanzar esta query:
SELECT database_name, backup_start_date, is_copy_only, first_lsn FROM msdb..backupset WHERE database_name = ''Nombre_BBDD' ORDER BY backup_start_date DESC
11
Lenguajes que Soporta Microsoft SQL Server Lenguaje
Descripción
Transact-SQL
Transact-SQL es el lenguaje que se utiliza para administrar instancias del SQL Server Database Engine (Motor de base de datos de SQL Server), para crear y administrar objetos de base de datos, y para insertar, recuperar, modificar y eliminar datos. Transact-SQL es una extensión del lenguaje definido en los estándares de SQL publicados por International Standards Organization (ISO) y American National Standards Institute (ANSI).
Expresiones multidimensionales (MDX)
El lenguaje MDX (expresiones multidimensionales) es un lenguaje de secuencias de comandos basado en instrucciones que se utiliza para definir, manipular y recuperar datos de objetos multidimensionales de SQL Server 2005 Analysis Services (SSAS). El lenguaje MDX proporciona instrucciones del lenguaje de definición de datos (DDL); instrucciones del lenguaje de manipulación de datos (DML); instrucciones del lenguaje de secuencias de comandos para administrar el ámbito, el contexto y el control de flujo en secuencias de comandos MDX; operadores y funciones para la manipulación de datos recuperados a partir de objetos multidimensionales; y la posibilidad de ampliar el lenguaje MDX con funciones definidas por el usuario.
Extensiones de minería de datos (DMX)
El lenguaje DMX (extensiones de minería de datos) es el lenguaje que se utiliza para crear y trabajar con modelos de minería de datos en SSAS. DMX se compone de instrucciones de lenguaje de definición de datos (DDL), instrucciones de lenguaje de manipulación de datos (DML), y funciones y operadores.
El DDL (Data Definition Language)
Es la parte del SQL dedicada a la definición de la base de datos, consta de sentencias para definir la estructura de la base de datos, permite definir gran parte del nivel interno de la base de datos.
12
Descargar e Instalar Microsoft SQL Server En primer lugar, descargaremos el fichero SQLEXPRADV_x64_ESN.exe desde la web oficial de Microsoft. Elegiremos la descarga "SQL Server 2014 para el tipo de sistema que tenemos. https://msdn.microsoft.com/es-es/sqlserver2014express.aspx
1. Una vez finalizada la descarga, vamos a donde está descargado el ejecutable y hacemos doble clic y tras unos segundos nos saldrá un mensaje de aviso, en donde debemos hacer clic en continuar. Posteriormente sale una ventana en donde pide que se indique el directorio (carpeta) en donde descomprimir los archivos, elegiremos una carpeta para la descompresión y pulsaremos "Ok":
13
2. Una vez descargado el fichero SQLEXPRADV_x86_ESN.exe lo ejecutaremos como administrador, pulsando con el botón derecho del ratón sobre él y eligiendo "Ejecutar como administrador":
3. Una vez descomprimido se iniciará el asistente de instalación de SQL Server Express 2014, pulsaremos en "Nueva instalación independiente de SQL Server o agregar características a una instalación existente":
14
4. El asistente de instalación nos mostrará el acuerdo de licencia, si estamos de acuerdo marcaremos "Acepto los términos de licencia" y pulsaremos "Siguiente":
5.
A continuación, nos ofrecerá la opción de activar Windows Update para SQL Server, si queremos mantener nuestro motor de base de datos actualizado siempre con los últimos parches marcaremos la opción "Use Microsoft Update para comprobar las actualizaciones (recomendado)", pulsaremos "Siguiente" para continuar:
15
6. Elegiremos los componentes a instalar: Características de instancia. Servicios de Motor de base de datos.
o
Replicación de SQL Server. Extracciones de texto completo y semánticas de búsqueda .
Reporting Services - Nativo. Características compartidas.
o
Conectividad con las herramientas de cliente. Compatibilidad con versiones anteriores de las herramientas de cliente. SDK de las herramientas cliente. Componentes de la documentación. Herramientas de administración - Básica.
o o o o o
o o
Herramientas de administración - Completa.
SDK de conectividad de cliente SQL. Local DB.
Características redistribuidas.
En nuestro caso instalaremos todos los componentes y dejaremos la carpeta de instalación por defecto como directorio raíz de la instancia:
16
7. Elegiremos el nombre para la instancia de SQL Server 2014, dado que en un mismo equipo podemos tener corriendo varias instancias, elegiremos un nombre para identificarla, por ejemplo "SQLExpress", por defecto establecerá como ID. de instancia el nombre de la instancia.
8. A continuación, podremos establecer las credenciales (usuario y contraseña) con los que se iniciará cada servicio de SQL Server. Podremos dejar los valores por defecto. Los servicios que se instalarán: Motor de base de datos de SQL Server. SQL Server Reporting Services. Selector de demonio de filtro de texto completo de SQL. SQL Server Browser.
17
9. Configuración del Motor de Base de Datos: llegamos al punto más importante, ya que aquí hay que decidir si usar autentificación de Windows o modo Mixto, establecer la cuenta del administrador de SQL Server si se elige el modo Mixto… todo eso solo ya
en la primera pestaña (Configuración del Servidor). Lo del resto de pestañas, pues se puede dejar tal cual y ya solo cuando se tenga algo de control se tocará ahí (por ejemplo, cambiar los directorios de datos).
Si no sabes que poner, pues elige “Modo Mixto”, establece una contraseña y Siguiente.
18
10. Tras elegir todas las opciones de configuración del motor de base de datos SQL Server pulsaremos en "Siguiente":
11. A continuación, podremos elegir qué hacer con Reporting Services Instalar y configurar: instala y configura el servidor de informes. Solo instalar: instala los archivos del servidor de informes. Pulsaremos "Siguiente" y se iniciará el proceso de instalación de SQL Server 2014:
19
12. El asistente realizará las tareas necesarias para instalar definitivamente SQL Server 2014 en nuestro equipo:
20
13. Tras la instalación, el asistente mostrará las tareas realizadas y el estado de finalización, es posible que nos advierta de que haya que reiniciar el equipo, pulsaremos "Aceptar":
14. Pulsaremos "Cerrar":
15. Y ya tendremos instalado y disponible el motor de base de datos Microsoft SQL Server 2014 en su versión gratuita Express en nuestro equipo con Windows.
21
Crear Base de Datos, Crear Tabla en SQL Server 2014 Tras la instalación podremos usar Microsoft SQL Management Studio para crear bases de datos, crear tablas, etc. Para ello accederemos al botón "Inicio", pulsaremos en "Todas las aplicaciones":
Buscaremos la carpeta "Microsoft SQL Server 2014":
22
Abriremos "SQL Server 2014 Management Studio":
1. Introduciremos usuario y contraseña de SQL Server (la establecida en el proceso de instalación) o bien usuario y contraseña del sistema operativo al que hayamos asignado privilegios de acceso y pulsaremos en "Conectar":
23
2. Si todo es correcto Microsoft SQL Server Management Studio conectará con la instancia de la base de datos SQL Server elegida y desde este software podremos realizar las tareas de administración del motor de base de datos que estimemos oportunas. Como ejemplo vamos a crear una nueva base de datos y una tabla dentro de esta base de datos. Para crear una base de datos pulsaremos con el botón derecho del ratón sobre "Base de datos" y elegiremos "Nueva base de datos":
24
3. Introduciremos el nombre para la nueva base de datos, por ejemplo "bdfacturacion" y los datos generales, como el tamaño estimado inicial, ubicación de los ficheros de la base de datos, propietario, etc. Una vez elegidas las opciones pulsaremos en "Aceptar":
Una vez creada la base de datos, la desplegaremos y si queremos crear una nueva tabla pulsaremos con el botón derecho del ratón sobre "Tablas" y seleccionaremos "Tabla":
25
4. Añadiremos los campos y tipo de datos de cada campo para la tabla, por ejemplo, un campo "código" de tiempo "int" y con "Especificación de identidad" para que sea autoincremental:
5. Podemos establecer como clave primaria de la tabla el campo autoincrementar "código" anterior, para ello pulsaremos con el botón derecho del ratón sobre el campo creado y seleccionaremos "Establecer clave principal":
26
6. Añadiremos el resto de campos con su tipo de datos y sus propiedades. En la parte derecha, en la ventana de "Propiedades" podremos establecer el nombre para la tabla en la propiedad "Nombre", por ejemplo "factura":
7. Una vez añadidos todos los campos pulsaremos en el botón "Guardar" para crear la tabla:
8. Y de esta forma sencilla tendremos disponible la tabla "factura" para su uso en SQL Server:
27
Consultas Básicas en SQL Server CONSULTAS DE SELECCIÓN Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta en forma de conjunto de registros.
Consultas básicas La sintaxis básica de una consulta de selección es la siguiente:
SELECT Campos FROM Tabla SELECT * FROM Tabla En donde “campos” es la lista de campos que se deseen recuperar, si fuesen todos los campos por utilizar colocar “*” y después “tabla”, es el origen de los mismos, por ejemp lo:
SELECT Nombres, Teléfono FROM empleados Esta sentencia devuelve un conjunto de resultados con el campo “nombres” y “teléfono” de la tabla “empleados”.
Devolver Literales En determinadas ocasiones nos puede interesar incluir una columna con un texto fijo en una consulta de selección, por ejemplo, supongamos que tenemos una tabla de Empleados y deseamos recuperar los nombres y teléfonos y una columna fija que diga el nombre de la empresa, podríamos realizar la siguiente consulta:
SELECT Nombres, Teléfono, Credomatic FROM Empleados Adicionalmente se puede especificar el orden en que se desean recuperar los registros de las tablas mediante la cláusula ORDER BY Lista de Campos. En donde Lista de campos representa los campos a ordenar. Ejemplo:
SELECT Código, Nombres, Teléfono, ‘Credomatic’ FROM Empleados ORDER BY Nombres Esta consulta devuelve los campos Código, Nombres, Teléfono de la tabla Empleados ordenados por el campo Nombres. Se pueden ordenar los registros por más de un campo, como, por ejemplo:
SELECT Código, Nombres, Teléfono , ‘Credomatic’ FROM Empleados ORDER BY Código, Nombres Incluso se puede especificar el orden de los registros: ascendente mediante la cláusula (ASC – se toma este valor por defecto) ó descendente (DESC) SELECT Código Nombres, Teléfono , ‘Credomatic’ FROM Empleados ORDER BY Código DESC, Nombres ASC 28
CONSULTAS CON PREDICADO El predicado se incluye entre la cláusula y el primer nombre del campo a recuperar, los posibles predicados son: Predicado Descripción (*) Devuelve todos los campos de la tabla. (TOP) Devuelve un determinado número de registros de la tabla.(DISTINCT) Omite los registros cuyos campos seleccionados coincidan totalmente.(*) El Motor de base de datos selecciona todos los registros que cumplen las condiciones de la instrucción SQL y devuelve todos y cada uno de sus campos. No es conveniente abusar de este predicado ya que obligamos al motor de la base de datos a analizar la estructura de la tabla para averiguar los campos que contiene, es mucho más rápido indicar el listado de campos deseados.
SELECT * FROM Empleados (TOP) Devuelve un cierto número de registros que entran entre el principio o el final de un rango especificado por una cláusula ORDER BY. Supongamos que queremos recuperar los nombres de los 25 últimos empleados ingresados a la empresa
SELECT TOP 25 código, nombres, teléfono, Credomatic FROM Empleados ORDER BY Código DESC Si no se incluye la cláusula ORDER BY, la consulta devolverá un conjunto arbitrario de 25 registros de la tabla de Empleados. El predicado TOP no elige entre valores iguales. Se puede utilizar la palabra reservada PERCENT para devolver un cierto porcentaje de registros que caen al principio o al final de un rango especificado por la cláusula ORDER BY. Supongamos que en lugar de los 25 últimos empleados deseamos el 10 por ciento de los empleados ingresados recientemente a la empresa:
SELECT Top 10 percent código, nombres, teléfono, Credomatic FROM Empleados ORDER BY Código DESC El valor que va a continuación de TOP debe ser un entero sin signo. TOP no afecta a la posible actualización de la consulta. (DISTINCT) Omite los registros que contienen datos duplicados en los campos seleccionados. Para que los valores de cada campo listado en la instrucción SELECT se incluyan en la consulta deben ser únicos. Por ejemplo, varios empleados listados en la
29
tabla Empleados pueden tener el mismo apellido. Si dos registros contienen López en el campo Apellido, la siguiente instrucción SQL devuelve un único registro:
SELECT DISTINCT Prim_Apellido FROM Empleados Con otras palabras, el predicado DISTINCT devuelve aquellos registros cuyos campos indicados en la cláusula SELECT posean un contenido diferente. El resultado de una consulta que utiliza DISTINCT no es actualizable. (ALIAS) En determinadas circunstancias es necesario asignar un nombre a alguna columna determinada de un conjunto devuelto, otras veces por simple capricho o por que estamos recuperando datos de diferentes tablas y resultan tener un campo con igual nombre. Para resolver todas ellas tenemos la palabra reservada AS que se encarga de asignar el nombre que deseamos a la columna deseada. Tomado como referencia el ejemplo anterior podemos hacer que la columna devuelta por la consulta, en lugar de llamarse prim_apellido (igual que el campo devuelto) se llame Empleado. En este caso procederíamos de la siguiente forma:
SELECT Prim_Apellido AS Empleado FROM Empleados También podemos asignar alias a las tablas dentro de la consulta de selección, en este caso hay que tener en cuenta que en todas las referencias que deseemos hacer a dicha tabla se ha de utilizar el alias en lugar del nombre. Esta técnica será de gran utilidad más adelante cuando se estudien las vinculaciones entre tablas. Por ejemplo:
SELECT Prim_Apellido Empleado FROM Empleados Trabajadores También se puede asignar alias a las tablas y campos en ORACLE y SQL-SERVER escribiendo el nombre de la tabla o el campo, dejando un espacio en blanc o y escribiendo el Alias.
SELECT Trabajadores.Apellido (1) AS Empleado FROM Empleados Trabajadores Esta nomenclatura [Tabla].[Campo] se debe utilizar cuando se está recuperando un campo cuyo nombre se repite en varias de las tablas que se utilizan en la sentencia. No obstante, cuando en la sentencia se emplean varias tablas es aconsejable utilizar esta nomenclatura para evitar el trabajo que supone al motor de datos averiguar en que tabla está cada uno de los campos indicados en la cláusula SELECT.
CONSULTAS DE ACCIÓN Las consultas de acción son aquellas que no devuelven ningún registro, son las encargadas de acciones como añadir y borrar y modificar registros. Tanto las sentencias de actualización como las de borrado desencadenarán (según el motor de datos) las actualizaciones en cascada, borrados encascada, restricciones y valores por defecto definidos para los diferentes campos o tablas afectadas por la consulta.
30
(DELETE) Crea una consulta de eliminación que elimina los registros de una o más de las tablas listadas en la cláusula FROM que satisfagan la cláusula WHERE. Esta consulta elimina los registros completos, no es posible eliminar el contenido de algún campo en concreto. Su sintaxis es:
DELETE FROM Tabla WHERE criterio Una vez que se han eliminado los registros utilizando una consulta de borrado, no puede deshacerla operación. Si desea saber qué registros se eliminarán, primero examine los resultados de una consulta de selección que utilice el mismo criterio y después ejecute la consulta de borrado. Mantenga copias de seguridad de sus datos en todo momento. Si elimina los registros equivocados podrá recuperarlos desde las copias de seguridad. Ejemplo:
DELETE FROM Empleados WHERE código = ‘1001 (INSERT INTO) Agrega un registro en una tabla. Se la conoce como una consulta de datos añadidos. Esta consulta puede ser de dos tipos: Insertar un único registro ó Insertar en una tabla los registros contenidos en otra tabla. Para insertar un único registro, en este caso la sintaxis es la siguiente:
INSERT INTO Tabla (campo1, campo2, ..., campoN) VALUES (valor1, valor2, ..., valorN) Esta consulta graba en el campo1 el valor1, en el campo2 y valor2 y así sucesivamente. Para seleccionar registros e insertarlos en una tabla nueva, en este caso la sintaxis es la siguiente:
INSERT INTO nueva tabla SELECT campo1, campo2, ..., campoN FROM tablaorigen [WHERE criterios] Se pueden utilizar las consultas de creación de tabla para arc hivar registros, hacer copias de seguridad de las tablas o hacer copias para exportar a otra base de datos o utilizar en informes que muestren los datos de un periodo de tiempo concreto. Por ejemplo, se podría crear un informe de depósitos mensuales por agencia ejecutando la misma consulta de creación de tabla cada mes , para insertar registros de otra Tabla, en este caso la sintaxis es:
INSERT INTO Tabla_destino (campo1, campo2, , campoN) SELECT campo1, campo2,,.campoN FROM Tabla Origen WHERE [criterios] En este caso se seleccionarán los campos 1, 2, ..., n de la tabla origen y se grabarán en los campos1, 2, ..., n de la Tabla destino. La condición SELECT puede incluir la cláusula WHERE para filtrar los registros a copiar. Si Tabla destino y Tabla Origen poseen la misma estructura podemos simplificarla sintaxis a:
31
INSERT INTO Tabla_destino SELECT * FROM Tabla Origen De esta forma los campos de Tabla Origen se grabarán en Tabla Destino, para realizar esta operación es necesario que todos los campos de Tabla Origen estén contenidos con igual nombre y en el mismo orden en Tabla Destino. Con otras palabras, que Tabla Destino posea todos los campos de Tabla Origen (igual nombre e igual tipo). En este tipo de consulta hay que tener especial atención con los campos contadores o auto numéricos puesto que al insertar un valor en un campo de este tipo se escribe el valor que contenga su campo homólogo en la tabla origen, no incrementándose como le corresponde. Se puede utilizar la instrucción INSERT INTO para agregar un registro único a una tabla, utilizándola sintaxis de la consulta de adición de registro único tal y como se mostró anteriormente. En este caso, su código especifica el nombre y el valor de cada campo del registro. Debe especificar cada uno de los campos del registro al que se le va a asignar un valor, así como el valor para dicho campo. Cuando no se especifica dicho campo, se inserta el valor predeterminado o Null. Los registros se agregan al final de la tabla. También se puede utilizar INSERT INTO para agregar un conjunto de registros pertenecientes a otra tabla o consulta utilizando la cláusula SELECT... FROM como se mostró anteriormente en la sintaxis de la consulta de adición de múltiples registros. En este caso la cláusula SELECT especifícalos campos que se van a agregar en la tabla destino especificada. La tabla destino u origen puede especificar una tabla o una consulta. Si la tabla destino contiene una clave principal, hay que asegurarse que es única, y con valores no nulos; si no es así, no se agregarán los registros. Si se agregan registros a una tabla con un campo Contador, no se debe incluir el campo Contador en la consulta. Se pueden averiguar los registros que se agregarán en la consulta ejecutando primero una consulta de selección que utilice el mismo criterio de selección y ver el resultado. Una consulta de adición copia los registros de una o más tablas en otra. Las tablas que contienen los registros que se van a agregar no se verán afectadas por la consulta de adición. En lugar de agregar registros existentes en otra tabla, se puede especificar los valores de cada campo en un nuevo registro utilizando la cláusula VALUES. Si se omite la lista de campos, la cláusula VALUES debe incluir un valor para cada campo de la tabla, de otra forma fallará INSERT. Ejemplo:
INSERT INTO empleados SELECT * FROM empleados WHERE Código = ‘1250’
32
(UPDATE) Crea una consulta de actualización que cambia los valores de los campos de una tabla especificada basándose en un criterio específico. Su sintaxis es:
UPDATE Tabla SET Campo1=Valor1, Campo2=Valor2, CampoN=ValorN WHERE Criterio UPDATE es especialmente útil cuando se desea cambiar un gran número de registros o cuando éstos se encuentran en múltiples tablas. Puede cambiar varios campos a la vez. El ejemplo siguiente incrementa los valores Cantidad pedidos en un 10 por ciento y los valores Transporte en un 3 por ciento para aquellos que se hayan enviado al Reino Unido.:
UPDATE Pedidos SET Pedido = Pedidos * 1.1, Transporte = Transporte * 1.03 WHERE País Envío = ES UPDATE no genera ningún resultado. Para saber qué registros se van a cambiar, hay que examinar primero el resultado de una consulta de selección que utilice el mismo criterio y después ejecutarla consulta de actualización. Si en una consulta de actualización suprimimos la cláusula WHERE todos los registros de la tabla serán actualizados.
UPDATE Empleados SET Salario = Salario * 1.1
33
Insertar Datos en una Tabla SQL Server Insertar datos en la tabla mediante la instrucción INSERT. Después de insertar los datos, cambiará el contenido de una fila con una instrucción UPDATE. Utilizará la cláusula WHERE de la instrucción UPDATE para restringir la actualización a una sola fila. Las cuatro instrucciones introducirán los siguientes datos.
ProductID ProductName Price ProductDescription
1
Clamp
12,48 Workbench clamp
50
Screwdriver
3,17
75
Tire Bar
3000
3mm Bracket
Flat head
Tool for changing tires.
,52
La sintaxis básica es: INSERT, nombre de tabla, lista de columnas, VALUES y, a continuación, una lista de los valores que se van a insertar. Los do s guiones dobles antes de cada línea indican que la línea es un comentario y el compilador ignorará el texto. En este caso, el comentario describe una variación permitida de la sintaxis.
Para Insertar Datos en una Tabla 1. Ejecute la instrucción siguiente para insertar una fila en la tabla Products que se ha creado en la tarea anterior. Ésta es la sintaxis básica. -- Standard syntax INSERT dbo.Products (ProductID, ProductName, Price, ProductDescription) VALUES (1, 'Clamp', 12.48, 'Workbench clamp') GO
34
2. La instrucción siguiente muestra cómo se puede cambiar el orden en que se proporcionan los parámetros modificando la situación de ProductID y ProductName en la lista de campos (entre paréntesis) y en la lista de valores. -- Changing the order of the columns INSERT dbo.Products (ProductName, ProductID, Price, ProductDescription) VALUES ('Screwdriver', 50, 3.17, 'Flat head') GO
3. La instrucción siguiente demuestra que los nombres de las columnas son opcionales, siempre y cuando los valores se enumeren en el orden correcto. Esta sintaxis es habitual, pero no se recomienda porque podría ser difícil para otros comprender su código. NULL se especifica para la columna Price porque el precio de este producto no se conoce todavía. 4. -- Skipping the column list, but keeping the values in order 5. INSERT dbo.Products 6. VALUES (75, 'Tire Bar', NULL, 'Tool for changing tires.') 7. GO 8. 9.
4. El nombre de esquema es opcional mientras tenga acceso a una tabla del esquema predeterminado y la modifique. Puesto que la columna ProductDescription permite valores NULL y no se ha proporcionado ningún valor, el nombre de columna y el valor de ProductDescription se pueden quitar por completo de la instrucción. 5. -- Dropping the optional dbo and dropping the ProductDescription column 6. INSERT Products (ProductID, ProductName, Price) 7. VALUES (3000, '3mm Bracket', .52) 8. GO 9.
Para Actualizar la Tabla de Productos Escriba y ejecute la siguiente instrucción UPDATE para cambiar el ProductName del segundo producto de Screwdrivera Flat Head Screwdriver. 1. UPDATE dbo.Products 2. SET ProductName = 'Flat Head Screwdriver' 3. WHERE ProductID = 50 4. GO
35
Para Eliminar Datos en una Tabla SQL Server Para eliminar los registros de una tabla usamos el comando "DELETE": A veces podemos desear deshacernos de los registros de una tabla. Para ello, utilizamos el comando DELETE FROM. La sintaxis para esto es,
DELETE FROM "nombre_tabla" WHERE "condición"; Es más fácil utilizar un ejemplo. Por ejemplo, digamos que actualmente tenemos la siguiente tabla: Tabla S tore_Information Store_Name Los Ángeles
Sales Txn_Date 1500 05-Jan-1999
San Diego
250 07-Jan-1999
Los Ángeles
300 08-Jan-1999
Boston
700 08-Jan-1999
y decidimos no mantener ninguna información sobre Los Ángeles en esta tabla. Para lograrlo, ingresamos el siguiente SQL:
DELETE FROM Store_Information WHERE Store_Name = 'Los Ángeles'; Ahora el contenido de la tabla se vería, Tabla S tore_Information Store_Name
Sales Txn_Date
San Diego
250 07-Jan-1999
Boston
700 08-Jan-1999
36
CONCLUSIÓN En nuestra conclusión podemos decir que es la mejor opcion en bases de datos modelo relacional. Nos queda aportar los puntos más claves o más específicos descritos en nuestro informe lo cual consideramos lo más resaltante de la base de datos SQL Server. En relación con lo anterior, podríamos concluir que, este sistema de gestión de bases de datos relaciones de Microsoft integra todo lo que necesita una empresa que maneja grandes cantidades de datos, cuenta con una gran seguridad para la protección de la información, además de su facilidad de uso. SQL Server es gratuito, pero no es libre, además de que hoy nos ofrece una gran cantidad de opciones avanzadas. De hecho, es considerado el gestor de base de datos líder del mercado. SQL Server tiene todo lo que se exige de un gestor de bases de datos relacionales, transacciones a grandes escalas, es potente y flexible, cuenta con almacenamiento en la nube, permite trabajar con diferentes formatos como fotos, audio y vídeo. Podríamos decir que hemos alcanzado los objetivos que se tenían en cuenta en este informe, ya que hemos conocido qué es y cómo funciona SQL Server, además se vio como se instala este gestor de base de datos, como se crea una base de datos en SQL Server, se conocieron las características que tiene, además sus ventajas y desventajas. Se puede decir que SQL Server es sin duda alguna el mejor o uno de los mejores gestores de bases de datos del modelo relacional que además es el sistema de gestión de bases de datos del modelo relacional más potente del mercado y eso ayuda para la productividad y tiene una gran capacidad de almacenamiento.
37
ANEXOS MICROSOFT SQL SERVER
ARQUITECTURA DE BASES DE DATOS SQL SERVER
38