• No se han encontrado resultados

SQL Server

N/A
N/A
Protected

Academic year: 2021

Share "SQL Server"

Copied!
70
0
0

Texto completo

(1)

INGENIERÍA

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE

SISTEMAS

SQL SERVER

SISTEMA DE GESTIÓN DE BASE DE

DATOS

CURSO:

ADMINISTRACIÓN DE BASE DE DATOS PROFESOR:

ING. MANUEL VELARDE CARPIO INTEGRANTES:

GOYCOCHEA SANTISTEBAN, JARED HUISA PALACIOS, CARLOS

ZUTTA TUESTA, JHEYMY

2015

(2)

ÍNDICE

INTRODUCCIÓN...4

1. OBJETIVOS...5

2. MARCO TEORICO...5

2.1. BASE DE DATOS...5

2.2. SISTEMA DE GESTIÓN DE BASE DE DATOS...6

2.3. ADMINISTRACIÓN DE BASE DE DATOS...8

2.4. BASE DE DATOS RELACIONAL...9

2.4.1. Tablas... 9 2.4.2. Terminología Relacional...9 2.4.3. Claves...10 3. SQL SERVER...10 3.1. DEFINICIÓN...10 3.2. HISTORIA... 11 3.3. CARACTERÍSTICAS...11 3.3.1. Características Básicas...11

3.3.2. Características del servidor SQL SERVER 2014...12

3.3.3. Tamaño máximo de una base de datos...13

3.4. TRANSACT- SQL (MOTOR DE BASE DE DATOS)...14

3.4.1. Consulta MULTITABLA...14

3.4.2. Subconsultas...15

3.4.3. Programación en TRANSACT SQL...15

3.4.4. Procedimientos almacenados STORE PROCEDURE...16

3.5. ADMINISTRACIÓN...17 3.5.1. Instalación...17 3.5.2. Administración de la Seguridad...18 3.5.3. Organización de archivos...20 3.5.4. Organización de Tablas...21 3.5.5. Copias de Seguridad...23 3.5.6. Replicación...27

3.6. SQL SERVER INTEGRATION SERVICES...27

3.6.1. Características y tareas de Integration Services...28

3.7. SQL SERVER DATA TOOLS (SSDT)...28

4. VENTAJAS...28

5. DIFERENCIAS...31

6. COSTOS...33

7. USO DEL SOFTWARE EN LAS EMPRESAS...34

8. APLICACIÓN...38

8.1. INFORMACIÓN ACERCA DEL NEGOCIO DE LA COMPAÑÍA ADVENTURE WORKS:...38

8.2. SENTENCIAS DDL (LENGUAJE DE DEFINICIÓN DE DATOS):...38

8.2.1. Creación la Base de datos:...38

(3)

8.2.3. Creación de las tablas:...41 8.2.4. Modelo Relacional:...44 8.2.5. Creación de Triggers:...46 8.2.6. Creación de Funciones:...48 8.2.7. Creación de Procedimientos:...50 8.2.8. Creación de vistas:...51

8.3. SENTENCIAS DML (LENGUAJE DE MANIPULACIÓN DE DATOS)...53

8.3.1. Insertando Datos:...53

8.3.2. Actualizar Datos:...54

8.3.3. Eliminar datos:...55

8.3.4. Reportes...55

8.4. EXPORTAR DATOS A EXCEL...60

CONCLUSIONES...62

(4)

INTRODUCCIÓN

En la actualidad, existen muchas organizaciones que necesitan tomar decisiones importantes en tiempo real, y que el resultado de las mismas depende de la existencia de dichas organizaciones. La finalidad de estas decisiones en las empresas es el de obtener mayores beneficios, pero si no se tiene la información necesaria, es imposible tomar buenas decisiones que lleven a las organizaciones a seguir creciendo. Esta información tiene como características ser oportuna, exacta y de buen costo. Oportuna porque debe darse en el momento indicado, en el tiempo correcto; exacta porque debe ser precisa y concreta, debe mostrar la situación real de la organización y de buen costo, debido a su relevancia.

Por tanto, para que las organizaciones puedan reducir la incertidumbre en la toma de una determinada decisión, es necesario que cuenten con un sistema de procesamiento de datos (SPD) que es el conjunto de procedimientos manuales y/o automáticos que cumplen con las funciones de recolectar datos, procesarlos y distribuir la información. Pero además, debido al volumen de datos que una organización maneja, es necesario contar además con un Sistema de Gestión de Base de Datos (SGBD) que permitan el almacenamiento, modificación y extracción de la información en una base de datos, además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos. Los usuarios pueden acceder a la información usando herramientas específicas de interrogación y de generación de informes, o bien mediante aplicaciones al efecto.

Existen muchos SGBD que dan soporte a los datos que son generados por el propio negocio de las organizaciones, y es por ello que en el presente trabajo se estudiará a un sistema de gestión de base de datos específico y que ha tenido muchos años en el mercado, SQL Server. Este sistema de gestor de base de datos, es pues, ampliamente conocido por sus funciones avanzadas y su seguridad. Ofrece varias ediciones con diferentes opciones en cada una de ellas, las cuales cuentan con un conjunto de características que buscan satisfacer una variedad de necesidades de los usuarios. Esto, sumado a su confiabilidad, otorga beneficios considerables al momento de su uso.

En el presente informe, en primer lugar, se tratará de dar a conocer algunos conceptos teóricos básicos necesarios para una mayor comprensión de SQL Server. Luego se tratará a detalle del SGBD SQL Server, empezando por su definición, historia, características importantes, las herramientas que posee, el tipo modelo de datos y la organización de archivos que usa, y la administración de la base de datos. Se estudiarán las ventajas que ésta posee, así como las diferencias con otros SGBD que existen en el mercado. También se dará a conocer los precios por cada edición que presenta la última versión de SQL

(5)

Server, las empresas que actualmente tienen implementado este sistema de gestor de base de datos, y por último una aplicación basado en dicho gestor, usando las herramientas que nos proporciona.

(6)

1. OBJETIVOS

 Conocer las bondades del manejador de base de datos Microsoft SQL Server.

 Identificar su organización de archivos y organización de tablas de SQL Server.

 Identificar los clientes que lo utilizan.

 Hacer una evaluación costo-beneficio del uso de Microsoft SQL Server en una empresa.

 Realizar una aplicación pequeña utilizando SQL Server y base de datos relacional.

2. MARCO TEORICO

2.1.

BASE DE DATOS

Las aplicaciones informáticas de los años sesenta acostumbraban a darse totalmente por lotes (batch) y estaban pensadas para una tarea muy específica relacionada con muy pocas entidades tipo.

Cada aplicación (una o varias cadenas de programas) utilizaba ficheros de movimientos para actualizar y/o para consultar uno o dos ficheros maestros o, excepcionalmente, más de dos.

Cada programa trataba como máximo un fichero maestro, que solía estar sobre cinta magnética y, en consecuencia, se trabajaba con acceso secuencial. Cada vez que se le quería añadir una aplicación que requería el uso de algunos de los datos que ya existían y de otros nuevos, se diseñaba un fichero nuevo con todos los datos necesarios (algo que provocaba redundancia) para evitar que los programas tuviesen que leer muchos ficheros.

A medida que se fueron introduciendo las líneas de comunicación, los terminales y los discos, se fueron escribiendo programas que permitían a varios usuarios consultar los mismos ficheros de forma simultánea. Más adelante fue surgiendo la necesidad de hacer las actualizaciones también on-line.

A medida que se integraban las aplicaciones, se tuvieron que interrelacionar sus ficheros y fue necesario eliminar la redundancia. El nuevo conjunto de ficheros se debía diseñar de modo que estuviesen interrelacionados; al mismo tiempo, las informaciones redundantes (como por ejemplo, el nombre y la dirección de los clientes o el nombre y el precio de los productos), que figuraban en los ficheros de más de una de las aplicaciones, debían estar ahora en un solo lugar.

(7)

El acceso on-line y la utilización eficiente de las interrelaciones exigían estructuras físicas que diesen un acceso rápido, como por ejemplo los índices, las multilistas, las técnicas de hashing, etc.

Estos conjuntos de ficheros interrelacionados, con estructuras complejas y compartidos por varios procesos de forma simultánea (unos on-line y otros por lotes), recibieron al principio el nombre de Data Banks, y después, a inicios de los años setenta, el de Data Bases, es decir, Bases de Datos.

Es así pues que, una base de datos es un conjunto estructurado de datos que representa entidades y sus interrelaciones. La representación será única e integrada, a pesar de que debe permitir utilizaciones varias y simultáneas.

2.2.

SISTEMA DE GESTIÓN DE BASE DE DATOS

Un Sistema de Gestión de Bases de Datos (SGBD) consiste en una colección de datos interrelacionados y un conjunto de programas para acceder a los mismos. Vale decir, un conjunto de programas que gestionan la Base de Datos, el cual está compuesto por:

DDL (Data Definition Language): Lenguaje de Definición de Datos.DML (Data Manipulation Language): Lenguaje de Manipulación de

Datos.

SQL (Structured Query Language): Lenguaje de Consulta Estructurado

Ahora bien, para entender mejor qué son los SGBD, haremos un repaso de su evolución desde los años sesenta hasta nuestros días.

Los primeros SGBD–en los años sesenta todavía no se les denominaba así– estaban orientados a facilitar la utilización de grandes conjuntos de datos en los que las interrelaciones eran complejas. El arquetipo de aplicación era el Bill of materials o Parts explosion, típica en las industrias del automóvil, en la construcción de naves espaciales y en campos similares. Estos sistemas trabajaban exclusivamente por lotes (batch).

Al aparecer los terminales de teclado, conectados al ordenador central mediante una línea telefónica, se empiezan a construir grandes aplicaciones on-line transaccionales (OLTP). Los SGBD estaban íntimamente ligados al software de comunicaciones y de gestión de transacciones.

Aunque para escribir los programas de aplicación se utilizaban lenguajes de alto nivel como Cobol o PL/I, se disponía también de instrucciones y de

(8)

subrutinas especializadas para tratar las BD que requerían que el programador conociese muchos detalles del diseño físico, y que hacían que la programación fuese muy compleja.

Puesto que los programas estaban relacionados con el nivel físico, se debían modificar continuamente cuando se hacían cambios en el diseño y la organización de la BD. La preocupación básica era maximizar el rendimiento: el tiempo de respuesta y las transacciones por segundo.

Durante los años ochenta, el mejoramiento de los ordenadores (en reducción del tamaño y aumento de la eficiencia), extendió el uso de la informática a prácticamente todas las empresas e instituciones, lo cual exigía que el desarrollo de aplicaciones fuese más sencillo. Los SGBD de los años setenta eran demasiado complejos e inflexibles, y sólo los podía utilizar un personal muy calificado.

Es así pues que, la aparición de los SGBD relacionales supuso un avance importante para facilitar la programación de aplicaciones con BD y para conseguir que los programas sean independientes de los aspectos físicos de la BD. La estandarización, en el año 1986, del lenguaje SQL produjo una auténtica explosión de los SGBD relacionales.

Al acabar la década de los ochenta, los SGBD relacionales ya se utilizaban prácticamente en todas las empresas; sin embargo, aún a mediados de los noventa, por un factor de rendimiento, se prefería usar otro tipo de SGBD. La necesidad de tener una visión global de la empresa y de interrelacionar diferentes aplicaciones que utilizan BD diferentes, junto con la facilidad que dan las redes para la intercomunicación entre ordenadores, ha conducido a los SGBD actuales, que permiten que un programa pueda trabajar con diferentes BD como si se tratase de una sola. Es lo que se conoce como base de datos distribuida.

Los tipos de datos que se pueden definir en los SGBD relacionales de los años ochenta y noventa son muy limitados. La incorporación de tecnologías multimedia–imagen y sonido– en los Sistemas de Información (SI) hace necesario que los SGBD relacionales acepten atributos de estos tipos.

Esto nos lleva a la orientación a objetos (OO). El éxito de la OO al final de los años ochenta, en el desarrollo de software básico, en las aplicaciones de ingeniería industrial y en la construcción de interfaces gráficas con los usuarios, hizo que durante la década de los noventa se extendiese en prácticamente todos los campos de la informática.

(9)

La rápida adopción de la web a los SI hace que los SGBD incorporen recursos para ser servidores de páginas web, como por ejemplo la inclusión de SQL en guiones HTML, SQL incorporado en Java, etc.

Es importante notar que en el mundo de la web son habituales los datos multimedia y la OO. Por lo tanto, se trata de mantener una gran BD con información proveniente de toda clase de aplicaciones de la empresa (e, incluso, de fuera). Los datos de este gran almacén, el Data Warehouse , se obtienen por una replicación más o menos elaborada de las que hay en las BD que se utilizan en el trabajo cotidiano de la empresa.

Estos almacenes de datos se utilizan exclusivamente para hacer consultas, de forma especial para que lleven a cabo estudios los analistas financieros, los analistas de mercado, etc.

Actualmente, los SGBD se adaptan a este tipo de aplicación, incorporando, por ejemplo, herramientas como las siguientes:

a) La creación y el mantenimiento de réplicas, con una cierta elaboración de los datos.

b) La consolidación de datos de orígenes diferentes.

c) La creación de estructuras físicas que soporten eficientemente el análisis multidimensional.

Los SGBD que actualmente están en el mercado pretenden satisfacer un conjunto de objetivos directamente deducibles de lo que hemos explicado hasta ahora. A continuación los mencionaremos, pero sin entrar en detalles:

 Consultas no predefinidas y complejas  Flexibilidad e independencia

 Problemas de la redundancia  Integridad de los datos  Concurrencia de usuarios  Seguridad

 Servir eficientemente los Data Warehouse.  Adaptarse al desarrollo orientado a objetos

 Incorporar el tiempo como un elemento de caracterización de la información

 Adaptarse al mundo del Internet.

2.3.

ADMINISTRACIÓN DE BASE DE DATOS

Hay un tipo de usuario especial: el que realiza tareas de administración y control de la BD. Una empresa o institución que tenga SI construidos en torno a BD necesita que alguien lleve a cabo una serie de funciones centralizadas de

(10)

gestión y administración, para asegurar que la explotación de la BD es la correcta. Este conjunto de funciones se conoce con el nombre de administración de BD (ABD), y los usuarios que hacen este tipo especial de trabajo se denominan administradores de BD.

Los administradores de BD son los responsables del correcto funcionamiento de la BD y velan para que siempre se mantenga útil. Intervienen en situaciones problemáticas o de emergencia, pero su responsabilidad fundamental es velar para que no se produzcan incidentes.

Se procede a mencionar, en una lista, las tareas típicas de la Administración de Base de Datos:

 Mantenimiento, administración y control de los esquemas  Asegurar la máxima disponibilidad de los datos

 Resolución de emergencias

 Vigilancia de la integridad y de la calidad de los datos

 Diseño físico, estrategia de caminos de acceso y restructuraciones

 Control del rendimiento y decisiones relativas a las modificaciones en los esquemas y/o parámetros del SGBD y del SO, para mejorarlo

 Normativa y asesoramiento a los programadores y a los usuarios finales sobre la utilización de la BD

 Control y administración de la seguridad: autorizaciones, restricciones, etc.

2.4.

BASE DE DATOS RELACIONAL

Edgar Frank Codd a finales definió las bases del modelo relacional a finales de los 60. Trabajaba para IBM empresa que tardó un poco en implementar sus bases. Pocos años después el modelo se empezó a implementar cada vez más, hasta ser el modelo de bases de datos más popular. En las bases de Codd se definían los objetivos de este modelo:

 Independencia física. La forma de almacenar los datos, no debe influir en su manipulación lógica.

 Independencia lógica. Las aplicaciones que utilizan la base de datos no deben ser modificadas por que se modifiquen elementos de la base de datos.

 Flexibilidad. La base de datos ofrece fácilmente distintas vistas en función de los usuarios y aplicaciones.

 Uniformidad. Las estructuras lógicas siempre tienen una única forma conceptual (las tablas).

(11)

2.4.1.

Tablas

Las bases de datos relacionales se basan en el uso de tablas (también se las llama relaciones). Las tablas se representan gráficamente como una estructura rectangular formada por filas y columnas. Cada columna almacena información sobre una propiedad determinada de la tabla (se le llama también atributo), nombre, DNI, apellidos, edad, etc.

Cada fila posee una ocurrencia o ejemplar de la instancia o relación representada por la tabla (a las filas se las llama también tuplas).

2.4.2.

Terminología Relacional

 Tupla. Cada fila de la tabla (cada ejemplar que la tabla representa)  Atributo. Cada columna de la tabla

 Grado. Número de atributos de la tabla  Cardinalidad. Número de tuplas de una tabla

 Dominio. Conjunto válido de valores representables por un atributo.

2.4.3.

Claves

 Clave candidata: Conjunto de atributos de una tabla que identifican unívocamente cada tupla de la tabla.

 Clave primaria: Clave candidata que se escoge como identificador de las tuplas.

 Clave alternativa: Cualquier clave candidata que no sea primaria

 Clave externa o secundaria: Atributo de una tabla relacionado con una clave de otra tabla.

Representación de una tabla en el modelo relacional

3. SQL SERVER

3.1.

DEFINICIÓN

SQL Server es un sistema gestor de bases de datos relacionales de Microsoft Corporation orientado a sistemas medianos y grandes. SQL Server

(12)

Management Studio (SSMS) es la herramienta de SQL Server que permite definir y gestionar todas las bases de datos almacenadas en el servidor SQL Server.

Microsoft SQL Server 2014 se basa en las funciones críticas ofrecidas en la versión anterior, proporcionando un rendimiento, una disponibilidad y una facilidad de uso innovadores para las aplicaciones más importantes. Microsoft SQL Server 2014 ofrece nuevas capacidades en memoria en la base de datos principal para el procesamiento de transacciones en línea (OLTP) y el almacenamiento de datos, que complementan sus capacidades de almacenamiento de datos en memoria y BI existentes para lograr la solución de base de datos en memoria más completa del mercado.

SQL Server 2014 también proporciona nuevas soluciones de copia de seguridad y de recuperación ante desastres, así como de arquitectura híbrida con Windows Azure, lo que permite a los clientes utilizar sus actuales conocimientos con características locales que aprovechan los centros de datos globales de Microsoft. Además, SQL Server 2014 aprovecha las nuevas capacidades de Windows Server 2012 y Windows Server 2012 R2 para ofrecer una escalabilidad sin parangón a las aplicaciones de base de datos en un entorno físico o virtual.

3.2.

HISTORIA

La historia de SQL empieza en 1974 con la definición, por parte de Donald Chamberlin y de otras personas que trabajaban en los laboratorios de investigación de IBM, de un lenguaje para la especificación de las características de las bases de datos que adoptaban el modelo relacional. Este lenguaje se llamaba SEQUEL (Structured English Query Language) y se implementó en un prototipo llamado SEQUEL-XRM entre 1974 y 1975. Las experimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una revisión del lenguaje (SEQUEL/2), que a partir de ese momento cambió de nombre por motivos legales, convirtiéndose en SQL.

El prototipo (System R), basado en este lenguaje, se adoptó y utilizó internamente en IBM y lo adoptaron algunos de sus clientes elegidos. Gracias al éxito de este sistema, que no estaba todavía comercializado, también otras compañías empezaron a desarrollar sus productos relacionales basados en SQL. A partir de 1981, IBM comenzó a entregar sus productos relacionales y en 1983 empezó a vender DB2. En el curso de los años ochenta, numerosas compañías (por ejemplo Oracle y Sybase, sólo por citar algunos) 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.

(13)

3.3.

CARACTERÍSTICAS

3.3.1.

Características Básicas

Seguridad: Protección de datos, Control de acceso.

Integridad de datos: SQL Server proporciona los siguientes mecanismos para exigir la integridad de datos en una columna

 Restricciones PRIMARY KEY  Restricciones FOREIGN KEY  Restricciones UNIQUE  Restricciones CHECK  Restricciones Default

 Permitir o denegar valores NULL

 Así como también admite distintos tipos de datos

Concurrencia: Permite que varios usuarios usen la misma base de datos al mismo tiempo controlando el acceso simultáneo mediante 2 modos de control de concurrencia.

Recuperación: SQL Server cuenta con 3 formas diferentes de respaldo y recuperación de base de datos

 SQL Server Management Studio: Herramienta gráfica de administración para SQL Server 2005

 PowerShell: Interfaz avanzada de consola disponible para Microsoft, Windows con posibilidad de interactuar con SQL Server

 TRANSACT-SQL: lenguaje propio de SQL Server.

Diccionario de datos: Contiene palabras reservadas como cualquier otro SGBD que permiten acceder a la información dela estructura de una BD. Para crear una Base de Datos solo basta con crear un script que obtenga dicha información.

 Almacenamiento y servicios en la nube

3.3.2.

Características del servidor SQL SERVER 2014

OLTP en memoria

Proporciona funciones de OLTP en memoria integradas en la base de datos central de SQL Server para mejorar en forma significativa la velocidad y el rendimiento de las transacciones en su aplicación de base de datos. OLTP en memoria se instala con el motor de SQL Server 2014 y no requiere de acciones adicionales. Además, entrega los beneficios del rendimiento en memoria sin necesidad de reescribir la aplicación de base de datos ni de actualizar el

(14)

hardware. OLTP en memoria le permite acceder a las demás características sofisticadas de SQL Server, mientras saca ventaja del rendimiento en memoria. Almacén de columnas actualizable en memoria

Proporciona una compresión mayor, consultas más sofisticadas y la capacidad de actualizar el almacén de columnas existente para las cargas de trabajo de almacenamiento de datos, lo que mejora aún más la velocidad de carga, el rendimiento de las consultas, la concurrencia e incluso reduce el precio por terabyte.

Extensión de la memoria a SSD

Integra en forma transparente y sin fisuras el almacenamiento en estado sólido en SQL Server al utilizar las unidades SSD como una extensión del grupo de búfer de la base de datos, lo que permite aumentar el procesamiento en memoria y reduce la E/S en disco.

Alta disponibilidad mejorada

Nuevas funciones AlwaysOn: los grupos de disponibilidad ahora permiten hasta ocho réplicas secundarias que permanecen disponibles para lecturas en todo momento, incluso en el caso de errores de red. Las instancias de los clústeres de conmutación por error ahora son compatibles con los volúmenes compartidos de clúster de Microsoft, lo que aumenta el uso del almacenamiento compartido y mejora la resistencia ante la conmutación por error.

Operaciones en línea mejoradas de la base de datos: incluye la reconstrucción en línea del índice de una sola partición y la administración de prioridad de bloqueo para el conmutador de partición de tablas, lo que reduce el impacto por tiempos de inactividad debido a mantenimiento.

Copias de seguridad cifradas: permite cifrar las copias de seguridad en las instalaciones locales y en Microsoft Azure.

Gobierno de recursos de E/S: los grupos de recursos ahora permiten configurar IOPS mínimas y máximas en cada volumen, lo que ofrece controles más completos para aislar los recursos.

Escenarios híbridos

Copias de seguridad de SQL Server en Azure: proporciona una administración y automatización de las copias de seguridad de SQL Server (desde las instalaciones locales y Microsoft Azure) al almacenamiento de Microsoft Azure. AlwaysOn mediante réplicas secundarias de Azure: agregue fácilmente réplicas en Microsoft Azure a los grupos de disponibilidad locales.

(15)

SQL XI (integración con XStore): compatibilidad con los archivos de base de datos de SQL Server (desde las instalaciones locales y Microsoft Azure) en los blobs de almacenamiento de Microsoft Azure.

Asistente de implementación: implemente fácilmente las bases de datos locales de SQL Server en Microsoft Azure.

3.3.3.

Tamaño máximo de una base de datos

En la siguiente tabla se especifican el tamaño y la cantidad máxima de diversos objetos definidos en las bases de datos de SQL Server o a los que se hace referencia en las instrucciones Transact-SQL.

Objeto SQL Server Motor de base de datos

Tamaños máximo SQL

Server (32 bits) Tamaños máximo SQL Server (64 bits)

Tamaño de archivo (datos)

16 terabytes 16 terabytes Tamaño de archivo

(registro) 2 terabytes 2 terabytes Tamaño de la base de

datos 524.272 terabytes 524.272 terabytes Bases de datos por

instancia de SQL Server 32.767 32.767 Niveles de procedimientos almacenados anidados 32 32 Subconsultas anidadas 32 32 Niveles de desencadenadores anidados 32 32

Índices no clúster por tabla 999 999 Parámetros por procedimiento almacenado 2,100 2,100

REFERENCES por tabla 253 253

Columnas por instrucción

UPDATE (tablas anchas) 4096 4096

3.4.

TRANSACT- SQL (MOTOR DE BASE DE DATOS)

TRANSACT-SQL es fundamental para trabajar con SQL Server. Todas las aplicaciones que se comunican con SQL Server lo hacen enviando instrucciones TRANSACT-SQL al servidor, independientemente de la interfaz de usuario de la aplicación.

(16)

TRANSACT-SQL es un lenguaje muy potente que nos permite definir casi cualquier tarea que queramos efectuar sobre la base de datos. TRANSACT-SQL va más allá de un lenguaje SQL cualquiera ya que incluye características propias de cualquier lenguaje de programación, características que nos permiten definir la lógica necesaria para el tratamiento de la información:

 Tipos de datos.

 Definición de variables.

 Estructuras de control de flujo.  Gestión de excepciones.

 Funciones predefinidas.  Sin embargo no permite:  Crear interfaces de usuario.

 Crear aplicaciones ejecutables, sino elementos que en algún momento llegarán al servidor de datos y serán ejecutados.

Debido a estas restricciones se emplea generalmente para crear procedimientos almacenados, triggers y funciones de usuario.

Puede ser utilizado como cualquier SQL como lenguaje embebido en aplicaciones desarrolladas en otros lenguajes de programación como Visual Basic, C, Java, etc. Y por supuesto los lenguajes incluidos en la plataforma .NET. También lo podremos ejecutar directamente de manera interactiva, por ejemplo desde el editor de consultas de SSMS (SQL Server Management Studio) el entorno de gestión que ya conocemos. Esta es la forma en que lo utilizaremos nosotros.

3.4.1.

Consulta MULTITABLA

Para obtener datos de varias tablas tenemos que combinar estas tablas mediante alguna operación basada en el álgebra relacional. El álgebra relacional define una serie de operaciones cuyos operandos son tablas y cuyo resultado es también una tabla.

Las operaciones de álgebra relacional implementadas en TRANSACT-SQL son:  La unión UNION

 La diferencia EXCEPT  La intersección INTERSECT

 El producto cartesiano CROSS JOIN  La composición interna INNER JOIN

(17)

3.4.2.

Subconsultas

Una subconsulta es una consulta que aparece dentro de otra consulta o subconsultas, en la lista de selección o en la cláusula WHERE o HAVING, originalmente no se podían incluir en la lista de selección.

Una subconsulta se denomina también consulta o selección interna, mientras que la instrucción que contiene la subconsulta es conocida como consulta o selección externa.

Aparece siempre encerrada entre paréntesis y tiene la misma sintaxis que una sentencia SELECT normal con alguna limitación:

No puede incluir una cláusula COMPUTE o FOR BROWSE y sólo puede incluir una cláusula ORDER BY cuando se especifica también una cláusula TOP.

Una subconsulta puede anidarse en la cláusula WHERE o HAVING de una instrucción externa SELECT, INSERT, UPDATE o DELETE, o bien en otra subconsulta. Se puede disponer de hasta 32 niveles de anidamiento, aunque el límite varía dependiendo de la memoria disponible y de la complejidad del resto de las expresiones de la consulta. Hay que tener en cuenta que para cada fila de la consulta externa, se calcula la subconsulta, si anidamos varias consultas, el número de veces que se ejecutarán las subconsultas ¡puede dispararse!

Cuando la subconsulta aparece en la lista de selección de otra consulta, deberá devolver un solo valor, de lo contrario provocará un error.

3.4.3.

Programación en TRANSACT SQL

Ahora veremos que TRANSACT-SQL va más allá de un lenguaje SQL cualquiera ya que aunque no permita:

 Crear interfaces de usuario.

 Crear aplicaciones ejecutables, sino elementos que en algún momento llegarán al servidor de datos y serán ejecutados.

Incluye características propias de cualquier lenguaje de programación, características que nos permiten definir la lógica necesaria para el tratamiento de la información:

 Tipos de datos.

 Definición de variables.

(18)

 Gestión de excepciones.  Funciones predefinidas.

 Elementos para la visualización, que permiten mostrar mensajes definidos por el usuario gracias a la cláusula PRINT.

Estas características permiten crear bloques de código orientados a realizar operaciones más complejas. Estos bloques no son programas sino procedimientos o funciones que podrán ser llamados en cualquier momento. En SQL Server podemos definir tres tipos de bloques de código, los procedimientos almacenados, los desencadenadores (o triggers) y funciones definidas por el usuario.

3.4.4.

Procedimientos almacenados STORE PROCEDURE

Un procedimiento almacenado (STORE PROCEDURE) está formado por un conjunto de instrucciones Transact-SQL que definen un determinado proceso, puede aceptar parámetros de entrada y devolver un valor o conjunto de resultados. Este procedimiento se guarda en el servidor y puede ser ejecutado en cualquier momento.

Los procedimientos almacenados se diferencian de las instrucciones SQL ordinarias y de los lotes de instrucciones SQL en que están precompilados. La primera vez que se ejecuta un procedimiento, el procesador de consultas de SQL Server lo analiza y prepara un plan de ejecución que se almacena en una tabla del sistema. Posteriormente, el procedimiento se ejecuta según el plan almacenado. Puesto que ya se ha realizado la mayor parte del trabajo de procesamiento de consultas, los procedimientos almacenados se ejecutan casi de forma instantánea por lo que el uso de procedimientos almacenados mejora notablemente la potencia y eficacia del SQL.

SQL Server incorpora procedimientos almacenados del sistema, se encuentran en la base de datos master y se reconocen por su nombre, todos tienen un nombre que empieza por sp_. Permiten recuperar información de las tablas del sistema y pueden ejecutarse en cualquier base de datos del servidor.

También están los procedimientos de usuario, los crea cualquier usuario que tenga los permisos oportunos.

Se pueden crear también procedimiento temporales locales y globales. Un procedimiento temporal local se crea por un usuario en una conexión determinada y sólo se puede utilizar en esa sesión, un procedimiento temporal global lo pueden utilizar todos los usuarios, cualquier conexión puede ejecutar un procedimiento almacenado temporal global. Éste existe hasta que se cierra

(19)

la conexión que el usuario utilizó para crearlo, y hasta que se completan todas las versiones del procedimiento que se estuvieran ejecutando mediante otras conexiones. Una vez cerrada la conexión que se utilizó para crear el procedimiento, éste ya no se puede volver a ejecutar, sólo podrán finalizar las conexiones que hayan empezado a ejecutar el procedimiento.

Tanto los procedimientos temporales como los no temporales se crean y ejecutan de la misma forma, el nombre que le pongamos indicará de qué tipo es el procedimiento.

Los procedimientos almacenados se crean mediante la sentencia CREATE PROCEDURE y se ejecutan con EXEC (o EXECUTE). Para ejecutarlo también se puede utilizar el nombre del procedimiento almacenado sólo, siempre que sea la primera palabra del lote. Para eliminar un procedimiento almacenado utilizamos la sentencia DROP PROCEDURE.

3.5.

ADMINISTRACIÓN

3.5.1.

Instalación

La instalación de SQL Server no representa mayores problemas, ya que muchas distribuciones incluyen paquetes con los que realizar la instalación y configuración básica. A continuación

Requisitos software y hardware para SQL Server 2014:

Compone nte Requisito .NET Framewor k

.NET 3.5 SP1 es un requisito para SQL Server 2014 cuando se selecciona Motor de base de datos, Reporting Services, Master Data Services, Data Quality Services, Replicación o SQL Server

Management Studio, y no lo instala ya el programa de instalación de SQL Server.

.NET 4.0 es un requisito para SQL Server 2014. SQL Server instala .NET 4.0 durante el paso de instalación de características.

Windows PowerShe ll

SQL Server 2014 no instala ni habilita Windows PowerShell 2.0; sin embargo, Windows PowerShell 2.0 es un requisito previo de instalación para los

componentes del Motor de base de datos y SQL Server Management Studio.

Software de red

Los sistemas operativos admitidos para SQL Server 2014 tienen software de red integrado. Las instancias con nombre y predeterminadas de una instalación

(20)

independiente admiten los siguientes protocolos de red: Memoria compartida, Canalizaciones con nombre, TCP/IP y VIA.

Virtualiza ción

SQL Server 2014 se admite en entornos de máquina virtual que se ejecutan en el rol Hyper-V de:

 Windows Server 2008 SP2 Standard, Enterprise y Datacenter

 Ediciones Windows Server 2008 R2 SP1 Standard, Enterprise y Datacenter.

 Windows Server 2012 Datacenter y Standard. Disco

duro

SQL Server 2014 requiere un mínimo de 6 GB de espacio disponible en disco.

Las necesidades de espacio en disco variarán según los componentes de SQL Server 2014 que instale. Unidad Para la instalación desde disco se necesita una

unidad de DVD.

Monitor SQL Server 2014 requiere Super VGA (800x600) o un monitor de una resolución mayor.

Internet La funcionalidad de Internet necesita acceso a Internet (no necesariamente de carácter gratuito). Requisitos de procesador, memoria y sistema operativo

Componente Requisito

Memoria Mínimo:

Ediciones Express: 512 MB Todas las demás ediciones: 1 GB Se recomienda:

Ediciones Express: 1 GB

Todas las demás ediciones: al menos 4 GB y debe aumentar a medida que el tamaño de la base de datos aumente para asegurar un rendimiento óptimo. Velocidad del procesador Mínimo:  Procesador x86: 1,0 GHz  Procesador x64: 1,4 GHz Recomendado: 2 GHz o más Tipo de procesador

 Procesador x64: AMD Opteron, AMD Athlon 64, Intel Xeon compatible con Intel EM64T Intel Pentium IV compatible con EM64T

 Procesador x86: compatible con Pentium III o superior

(21)

Un usuario es una entidad de seguridad de la base de datos. Los inicios de sesión deben estar asignados a un usuario de base de datos para poder conectarse a una base de datos.

En SQL server se puede crear inicios de sesión con autenticación en Windows y autenticación en SQL Server con sus respectivos permisos. SQL Server usa permisos para controlar el acceso a los protegibles por parte de las entidades de seguridad.

Autenticación de Windows: En este modo de autenticación, los usuarios obtienen acceso al servidor SQL Server mediante un inicio de sesión asignado a sus cuentas de Windows.

Ventajas:

 Permite agregar grupos de usuarios a SQL Server mediante la agregación de una cuenta de inicio de sesión única.

 Permite a los usuarios un rápido acceso a SQL Server sin tener que recordar otra cuenta de inicio de sesión y contraseña.

Autenticación SQL: En este modo de autenticación, los usuarios obtienen acceso a SQL Server mediante un inicio de sesión asignado a sus cuentas de SQL Server.

Modificar inicios de sesión: Se puede modificar un inicio de sesión con la instrucción ALTER LOGIN o con el explorador de objetos, que puede ser para cambiar su contraseña.

Eliminar inicios de sesión: Se puede eliminar inicios de sesión con la instrucción DROP LOGIN o con el explorador de objetos.

Tipos de usuarios: Se puede tener dos tipos de usuario:

Usuario dbo: Son usuarios especiales con la función sysadmin, por ejemplo el inicio de sesión “a” se encuentra en todas las base de datos. El usuario dbo es una cuenta predeterminada y no puede eliminarse.  Usuario invitado: Permite inicios de sesión sin cuentas de usuario para

tener acceso a una base de datos.

Permisos: Asignar los permisos a los usuarios es muy importante, ya que de ello va a depender la seguridad de la base de datos; por ejemplo: no se puede conceder las opciones de eliminar, agregar o cambiar a un usuario que su rol en una empresa solo sea de consultar datos; entre las funciones que nos brinda SQL server son:

(22)

FUNCION DESCRIPCIÓN

db_accessadmin Agregar o quitar usuarios, grupos y funciones de la base de datos. db_backupoperator Realizar una copia de seguridad

de la base de datos

db_datareader Leer datos de cualquier tabla. db_datawriter Agregar, cambiar o eliminar datos

de cualquier tabla

db_ddladmin Agregar, eliminar o modificar objetos de la base de datos db_denydatareader No poder leer datos de ninguna

tabla

db_denydatawriter No poder cambiar datos de ninguna tabla.

db_owner Realizar cualquier actividad de función de la base de datos

public Mantener los permisos

predeterminados

3.5.3.

Organización de archivos

La organización de archivos de SQL Server es de forma indexada utilizando dos archivos, uno de datos que contiene la información de la base de datos (tablas) que permite que las consultas realizadas sean más rápidas, se puede acceder a los registros de forma secuencial y también de forma aleatoria(usando el índice).

En SQL Server, los índices se organizan como árboles b. Las páginas de un árbol b de índice se llaman nodos del índice. El nodo superior del árbol b se llama nodo raíz. El nivel inferior de los nodos del índice se denomina nodos hoja. Los niveles del índice entre el nodo raíz y los nodos hoja se conocen en conjunto como niveles intermedios. En un índice agrupado, los nodos hoja contienen las páginas de datos de la tabla subyacente. El nodo raíz y los nodos intermedios incluyen páginas de índice que contienen filas de índice. Cada fila de índice contiene un valor clave y un puntero a una página de nivel intermedio en el árbol b, o bien a una fila de datos del nivel hoja del índice. Las páginas de cada nivel del índice se vinculan en una lista con vínculos dobles. Los índices agrupados tienen una fila en sys.partitions, con index_id = 1 para cada partición utilizada por el índice. De forma predeterminada, un índice agrupado tiene una sola partición. Cuando un índice agrupado tiene múltiples particiones, cada partición tiene una estructura de árbol b que contiene los datos de esa partición específica. Por ejemplo, si un índice agrupado tiene cuatro particiones, hay cuatro estructuras de árbol b, una en cada partición.

(23)

En función de los tipos de datos del índice agrupado, cada estructura de índice agrupado tendrá una o más unidades de asignación en las que almacenar y administrar los datos de una partición específica. Como mínimo, cada índice agrupado tendrá una unidad de asignación IN_ROW_DATA por partición. El índice agrupado también tendrá una unidad de asignación LOB_DATA por partición si contiene columnas de objetos grandes (LOB). También tendrá una unidad de asignación ROW_OVERFLOW_DATA por partición si contiene columnas de longitud variable que superen el límite de tamaño de fila de 8.060 bytes.

Las páginas de la cadena de datos y las filas que contienen se ordenan según el valor de la clave de índice agrupado. Todas las inserciones se hacen en el punto en el que el valor de clave de la fila insertada quede dentro de la secuencia de orden entre las filas existentes. Las colecciones de páginas del árbol b están delimitadas por punteros de página en la vista del sistema sys.system_internals_allocation_units.

En un índice agrupado, lancolumna root_page de

sys.system_internals_allocation _units apunta al nivel superior del índice agrupado para una partición específica. SQL Server baja en el índice para buscar la fila correspondiente a una clave de índice agrupado. Para buscar un intervalo de claves, SQL Server se desplaza por el índice hasta encontrar el valor de clave inicial del intervalo y después recorre las páginas de datos mediante los punteros anterior y siguiente. Para buscar la primera página de la cadena de páginas de datos, SQL Server sigue los punteros situados más a la izquierda desde el nodo raíz del índice.

En esta ilustración se muestra la estructura de un índice agrupado en una sola partición.

(24)

3.5.4.

Organización de Tablas

Las tablas y los índices se almacenan como una colección de páginas de 8 KB. En este tema se describe el modo en el que se organizan las páginas de tablas e índices.

En la siguiente ilustración se muestra la organización de una tabla. Una tabla está incluida en una o varias particiones y cada partición incluyen filas de datos con una estructura de índice clúster o de montón. Las páginas del índice clúster o de montón se administran en una o varias unidades de asignación, según los tipos de columna de las filas de datos.

(25)

Particiones

Las páginas de tablas e índices están incluidas en una o varias particiones. Una partición es una unidad de organización de datos definida por el usuario. De forma predeterminada, una tabla o un índice solo incluyen una partición que contiene todas las páginas de tablas o índices. La partición se encuentra en un solo grupo de archivos. Una tabla o un índice con una sola partición es equivalente a la estructura organizativa de tablas e índices de versiones anteriores de SQL Server.

Cuando una tabla o un índice utilizan varias particiones, se crean particiones horizontales de los datos para que se asignen los grupos de filas a particiones individuales, en función de la columna especificada. Las particiones se pueden colocar en uno o varios grupos de archivos de la base de datos. La tabla o el índice se tratarán como una sola entidad lógica cuando se realicen consultas o actualizaciones en los datos.

Para ver las particiones utilizadas por una tabla o un índice, utilice la vista de catálogo sys.partitions (Transact-SQL).

Tablas, montones e índices clúster

Las tablas de SQL Server utilizan uno de estos dos métodos para organizar sus páginas de datos en una partición:

 Las tablas agrupadas son tablas que tienen un índice clúster.

 Las filas de datos están almacenadas en un orden basado en la clave del índice clúster. El índice clúster se implementa como una estructura de árbol b que admite la recuperación rápida de las filas a partir de los valores de las claves del índice clúster. Las páginas de cada nivel del

(26)

índice, incluidas las páginas de datos del nivel hoja, se vinculan en una lista con vínculos dobles. Sin embargo, la navegación de un nivel a otro.

3.5.5.

Copias de Seguridad

Una copia de seguridad completa de la base de datos crea una copia de seguridad de toda la base de datos, que incluye parte del registro de transacciones para que se pueda recuperar la copia de seguridad completa de la base de datos. Las copias de seguridad completas representan la base de datos en el momento en que finalizó la copia de seguridad.

Las copias de seguridad de bases de datos son fáciles de utilizar. Una copia de seguridad completa de una base de datos contiene todos los datos de la base de datos. Para las bases de datos pequeñas, de las que se puede hacer una copia de seguridad con rapidez, la práctica recomendada es utilizar copias de seguridad completas de la base de datos. Sin embargo, a media que la base de datos aumenta de tamaño, las copias de seguridad completas requieren una mayor cantidad de tiempo y espacio de almacenamiento. Por ello, para una base de datos grande, puede que desee complementar las copias de seguridad completas con copias de seguridad diferenciales.

Usar copias de seguridad de la base de datos en el modelo de recuperación simple

Con el modelo de recuperación simple, después de cada copia de seguridad, la base de datos queda expuesta a la pérdida potencial del trabajo en caso de desastre. El riesgo de pérdida del trabajo se incrementa con cada actualización hasta la siguiente copia de seguridad completa, cuando el riesgo de pérdida vuelve a cero y empieza un nuevo ciclo de riesgo.

Con el modelo de recuperación simple, el riesgo de pérdida del trabajo se incrementa a lo largo del tiempo que transcurre entre las copias de seguridad. La siguiente ilustración muestra el riesgo de pérdida del trabajo en una estrategia de copia de seguridad que solo utiliza copias de seguridad completas de la base de datos.

(27)

Usar copias de seguridad de la base de datos en el modelo de recuperación completa

Las bases de datos que usan el modelo de recuperación completa y el modelo de recuperación optimizado para cargas masivas de registros, requieren copias de seguridad del registro de transacciones. La siguiente ilustración muestra la estrategia de copia de seguridad menos compleja en un modelo de recuperación completa.

(28)

Una copia de seguridad diferencial de la base de datos registra sólo los datos que han cambiado desde la última copia de seguridad completa de la base de datos. Esta copia de seguridad completa se llama base diferencial. Las copias de seguridad diferenciales de base de datos son más pequeñas y rápidas que las copias de seguridad completas de base de datos. Esto ahorra tiempo de copia de seguridad pero aumenta la complejidad. Para bases de datos grandes, las copias de seguridad diferenciales pueden producirse en intervalos menores que las copias de seguridad de base de datos. Esto disminuye el riesgo de pérdida del trabajo.

Las copias de seguridad diferenciales de bases de datos son particularmente útiles si un subconjunto de una base de datos se modifica con más frecuencia que el resto de la base de datos. En tales casos, las copias de seguridad diferenciales de bases de datos le permiten hacer una copia de seguridad con frecuencia sin la sobrecarga que generan las copias de seguridad completas de bases de datos.

Estrategia de las copias de seguridad diferenciales de bases de datos (modelo de recuperación simple)

Con el modelo de recuperación simple, el riesgo de pérdida de trabajo entre copias de seguridad aumenta con el tiempo. La siguiente ilustración muestra una estrategia de copia de seguridad que reduce el riesgo de pérdida del trabajo mediante la utilización de copias de seguridad de bases de datos complementadas con copias de seguridad diferenciales de bases de datos. Tras la primera copia de seguridad de la base de datos, se realizan tres copias de seguridad diferenciales. La tercera copia de seguridad diferencial tiene el tamaño suficiente como para que la próxima copia de seguridad sea una copia de seguridad de base de datos. Esta copia de seguridad de base de datos establece una nueva base diferencial.

(29)

Estrategia de las copias de seguridad diferenciales de bases de datos (modelo de recuperación completa)

Con el modelo de recuperación completa y el de recuperación optimizada para cargas masivas de registros, las copias de seguridad diferenciales de la base de datos reducen el tiempo necesario para poner al día las copias de seguridad del registro de transacciones cuando se restaura una base de datos. Una copia de seguridad diferencial de la base de datos restaura la base de datos hasta el punto en el que terminó la copia de seguridad diferencial.

La siguiente figura muestra una estrategia de copia de seguridad que complementa las copias de seguridad completas de la base de datos con las copias de seguridad diferenciales, así como una serie de copias de seguridad de registros rutinarias. La presencia de copias de seguridad del registro de transacciones reduce el posible riesgo de pérdida de trabajo al momento después de la copia de seguridad de registros más reciente. Tras la primera copia de seguridad de la base de datos, se realizan tres copias de seguridad diferenciales. La tercera copia de seguridad diferencial tiene el tamaño suficiente como para que la próxima copia de seguridad sea una copia de seguridad de base de datos completa. Esta copia de seguridad de base de datos completa establece una nueva base diferencial.

(30)

Antes de la primera copia de seguridad de la base de datos en esta ilustración, la base de datos está expuesta a una posible pérdida de trabajo (de la hora t0 a la hora t1). Por tanto, las copias de seguridad de registros rutinarias reducen el riesgo de pérdida de trabajo a la posibilidad de perder los cambios realizados después de la última copia de seguridad de registros (realizada a la hora t14). Si se produce un error de disco, el administrador de la base de datos debe intentar realizar inmediatamente una copia de seguridad del registro activo (el final del registro). Si esta copia del final del registro se realiza correctamente, la base de datos se puede restaurar hasta el momento del error.

3.5.6.

Replicación

La replicación es un conjunto de tecnologías destinadas a la copia y distribución de datos y objetos de base de datos desde una base de datos a otra, para luego sincronizar ambas bases de datos y mantener su coherencia. La replicación permite distribuir datos entre diferentes ubicaciones y entre usuarios remotos o móviles mediante redes locales y de área extensa, conexiones de acceso telefónico, conexiones inalámbricas e Internet.

La replicación transaccional se usa normalmente en escenarios servidor a servidor que requieren un alto rendimiento, como por ejemplo, la mejora de la escalabilidad y la disponibilidad, el almacenamiento de datos y la creación de

(31)

informes, la integración de datos procedentes de varios sitios, la integración de datos heterogéneos, y la descarga del procesamiento por lotes. La replicación de mezcla se ha diseñado principalmente para las aplicaciones móviles o de servidores distribuidos que pueden encontrarse con conflictos de datos. Los escenarios más frecuentes son: el intercambio de datos con usuarios móviles, las aplicaciones de punto de venta (POS) a consumidores, y la integración de datos de varios sitios. La replicación de instantáneas se usa para proporcionar el conjunto de datos inicial para la replicación transaccional y de mezcla; también se puede usar cuando está indicada una actualización completa de los datos. Con estos tres tipos de replicación, SQL Server proporciona un sistema eficaz y flexible para la sincronización de datos en toda la organización. La replicación en SQLCE 3.5 y SQLCE 4.0 se admite tanto en Windows Server 2012 como en Windows 8.

3.6.

SQL SERVER INTEGRATION SERVICES

Microsoft Integration Services es una plataforma para la creación de soluciones empresariales de transformaciones de datos e integración de datos. Integration Services sirve para resolver complejos problemas empresariales mediante la copia o descarga de archivos, el envío de mensajes de correo electrónico como respuesta a eventos, la actualización de almacenamientos de datos, la limpieza y minería de datos, y la administración de objetos y datos de SQL Server. Los paquetes pueden funcionar en solitario o junto con otros paquetes para hacer frente a las complejas necesidades de la empresa. Integration Services puede extraer y transformar datos de diversos orígenes como archivos de datos XML, archivos planos y orígenes de datos relacionales y, después, cargar los datos en uno o varios destinos.

Integration Services contiene un variado conjunto de tareas y transformaciones integradas, herramientas para la creación de paquetes y el servicio Integration Services para ejecutar y administrar los paquetes. Las herramientas gráficas de Integration Services se pueden usar para crear soluciones sin escribir una sola línea de código. También se puede programar el amplio modelo de objetos de Integration Services para crear paquetes mediante programación y codificar tareas personalizadas y otros objetos de paquete.

3.6.1.

Características y tareas de Integration Services

Entornos IDE e Integration Services (SSIS)

SQL Server 2012 Integration Services incluye dos IDEs para trabajar con Integration Services:

 SQL Server Data Tools (SSDT) para desarrollar los paquetes Integration Services que una solución empresarial requiere. SQL Server Data Tools

(32)

(SSDT) proporciona el proyecto de Integration Services en el que se crean paquetes.

 SQL Server Management Studio para administrar paquetes en un entorno de producción.

3.7.

SQL Server Data Tools (SSDT)

Al trabajar en SQL Server Data Tools (SSDT), se pueden realizar las siguientes tareas:

 Ejecutar el Asistente para importación y exportación de SQL Server para crear paquetes básicos que copian datos de un origen en un destino.  Crear paquetes que incluyan flujo de control complejo, flujo de datos,

lógica controlada por eventos y registro.

 Probar y depurar paquetes mediante las características de solución de problemas y supervisión en el Diseñador SSIS, y las características de depuración en SQL Server Data Tools (SSDT).

 Crear configuraciones que actualizan las propiedades de los paquetes y los objetos de paquete en el tiempo de ejecución.

 Crear una utilidad de implementación que pueda instalar paquetes y sus dependencias en otros equipos.

 Guardar copias de paquetes en la base de datos msdb de SQL Server, el Almacén de paquetes de SSIS y el sistema de archivos.

4. VENTAJAS

Dado que las aplicaciones de red y web cada vez se vuelven más significantes, la importancia de sistemas de administración de bases de datos relacionales también se incrementa. Seleccionar la adecuada de acuerdo a las necesidades es esencial para asegurar la calidad y el desempeño adecuado de las aplicaciones. Microsoft SQL Server presenta las siguientes cualidades:

(33)

Software de Administración de Nivel Empresarial

Microsoft SQL Server incluye software de administración de base de datos de nivel profesional y empresarial. Pocos competidores, como MySQL, han desarrollado software similar en años recientes, pero Microsoft SQL Server se diferencia por ser más fácil de usar, además de tener más funcionalidades. Soporte completo para disparadores (triggers), por ejemplo, son compatibles con los productos de Microsoft. MySQL Server ha incluido esta característica, sin embargo, sin el completo soporte necesario. El software ofrecido por Microsoft también ofrece una estrecha integración con .NET framework, el cual no es el caso de sus competidores.

Excelente Soporte de Recuperación de Datos

Los datos corruptos son siempre una preocupación cuando se producen pérdidas de energía o paradas incorrectas. Microsoft SQL Server posee una serie de características que facilitan la recuperación y restauración de datos. Aunque tablas individuales no pueden ser recuperadas o restauradas, están disponibles opciones de recuperación de bases de datos completas. Mediante el uso de archivos de registro, almacenamiento en caché, y copias de seguridad, Microsoft SQL Server previene futuras complicaciones debido perdidas de datos, ofreciendo múltiples opciones de recuperación.

Seguridad y Estabilidad

Muchos servidores SQL están diseñados para el uso de grandes conjuntos de datos y el manejo de muchos usuarios. Cuando se enfrenta esta situación, es decir, múltiples usuarios y enromes cantidades de datos, se necesita un sistema fiable (lo que significa que no se “congela” a menudo) y seguro (lo cual se traduce en difícil acceso no autorizado). Microsoft SQL Server tiene herramientas como Administración Basada en Políticas (Poilicy-Based Managment) que permite a los administradores de la base de datos el poder definir políticas para los datos y el recibir alertas cuando estas políticas son violadas. Otra característica adicional, es que Microsoft SQL Server puede cifrar toda la base de datos, incluyendo los datos y archivos de registro, haciendo de este modo que el servidor sea más seguro frente a eventuales ataques. Existen también características de Administración de Claves Externas (External Key Managment) que permiten soportar certificados de terceros e información encriptada en una sección separada, por lo que se puede, por ejemplo, manejar el procesamiento de tarjetas de crédito y permanecer en el cumplimiento de las leyes actuales de la industria de tarjetas de créditos.

Instalación Simplificada

Microsoft SQL Server puede ser instalado usando asistentes de configuración (setup-wizards); el instalador también detecta, descarga e instala cualquier

(34)

actualización pre-requisito requerida. Estas características reducen la complejidad de instalar el software. Componentes individuales como Servicios de Base de Datos, Servicios de Análisis e Integración de Servicios pueden ser instalados de forma separada. Microsoft SQL Server actualiza automáticamente los parches de seguridad para reducir los costes de mantenimiento.

Menores costos de propiedad

Microsoft SQL Server incluye características adicionales sin costo adicional, como: Compresión Avanzada, herramientas de gestión de datos, particionamiento de discos, herramientas de minería de datos, Reportes Empresariales (Enterprise Reporting) y Seguridad Avanzada. Además, pese a ligeras variaciones, las versiones más recientes de Microsft SQL Server poseen compatibilidad con versiones anteriores, por lo que no hay necesidad de actualizar todos los equipos.

5. DIFERENCIAS

A continuación se presenta cuadros comparativos, donde se muestran las diferencias que existen entre los distintos motores de base de datos en la actualidad.

Cuadro comparativo sobre Tablas y Vistas que son soportados nativamente

(35)
(36)

Cuadro comparativo sobre Otros Objetos más comunes en los motores de BD

Cuadro comparativo sobre Particionamiento que son soportados nativamente

6. COSTOS

SQL Server, la amplia plataforma de base datos de Microsoft, ofrece un rendimiento fiable gracias a la integración de tecnologías en memoria, una rápida obtención de información útil a partir de cualquier tipo de datos, con herramientas que todos conocemos, como Excel, y una plataforma para compilar, implementar y administrar soluciones tanto locales como en nube.

SQL Server

2014 editions

Propósito Modelo deLicencias

Canal de Distribució n Precio Open NL (US$) Enterpri

se Enterprise - SQL Server 2014 Enterprise pone a su disposición

rendimiento fiable y completo para

satisfacer los requisitos de base de datos y

Por

núcleo** Licencias por volumen, hosting de terceros

(37)

Business Intelligence más exigentes La edición Enterprise proporciona los niveles de servicio y

rendimiento más altos para las cargas de trabajo de nivel 1. Busines s intellige nce Business Intelligence - SQL Server 2014 Business Intelligence ofrece una plataforma amplia que permite a las organizaciones compilar e implementar soluciones BI seguras, escalables y administrables. Servidor +

CAL**** Licencias por volumen, hosting de terceros

$8,908***

Standar

d Standard - SQL Server 2014 Standard proporciona

funcionalidad de

Business Intelligence y administración de datos básica para cargas de trabajo que no son críticas, con recursos de TI mínimos.

Por

núcleo** Licencias por volumen, hosting de terceros

$3,717***

Servidor +

CAL**** Licencias por volumen, hosting de terceros, minorista (FPP) $931*** Develop er Developer - SQL Server 2014 Developer es una versión completamente funcional de SQL Server que permite a los

desarrolladores compilar, probar y demostrar aplicaciones con software de SQL Server de una manera rentable.

Por usuario Licencias por volumen, hosting de terceros, minorista (FPP) $38***

(38)

Web Web - SQL Server 2014 Web facilita una

plataforma de datos segura, rentable y altamente escalable para sitios web públicos. La edición Web está disponible solo para proveedores de servicios de software de terceros. - Sólo hosting de terceros Según sea el precio establecido por el proveedor de hosting

Express Express - SQL Server 2014 Express es una base de datos básica gratuita, ideal para aprender y para compilar aplicaciones de escritorio y pequeñas aplicaciones de servidor controladas por datos. Novedad en SQL Server 2014: SQL Server

Express LocalDB.

- Descarga

gratuita Gratuito

* Los clientes que requieran un almacén de datos MPP ahora tienen acceso a Parallel Data Warehouse (PDW) a través de sus licencias básicas Enterprise Edition con Software Assurance. PDW es parte Analytics Platform System (APS) **Ediciones vendidas bajo el modelo de licencia por núcleo se venden como paquetes de dos núcleos.

***Los precios corresponden a Open No Level (NL) ERP. Para precios más específicos, es necesario contactarse con un proveedor de Microsoft.

****Se requieren licencias CAL para cada usuario o dispositivo que acceda a un servidor, bajo el modelo de licencia Servidor+CAL

7. USO DEL SOFTWARE EN LAS EMPRESAS

SQL Server 2014 ofrece un innovador rendimiento confiable gracias a funcionalidades integradas en memoria y respaldadas por comparativas líderes en el sector, partners y clientes.

En la siguiente tabla, se muestra las empresas INTERNACIONALES que usan SQL SERVER, mostrando el tipo de aplicación en el que se ha usado, junto con los resultados que se obtuvieron:

Tipo de Aplicación

EMPRESAS/Aplica ciones

(39)

Servicios de juego en línea

bwin.party Mejora del rendimiento

transaccional que multiplica por 16 el actual, de 15.000 transacciones por segundo a 250.000 con SQL Server con OLTP en memoria

La compañía de entretenimiento digital en línea bwin.party ofrece servicios de juego en línea y otros productos a casi dos millones de usuarios. Dado que la empresa necesitaba más capacidad para el rápido crecimiento del negocio y mejorar el rendimiento del sitio web, implementó una solución de procesamiento de transacciones en línea (OLTP) en memoria en Microsoft SQL Server 2014. Ahora, la compañía puede administrar 250.000 solicitudes por segundo y ofrecer a los jugadores una experiencia de juego más ágil y fluido. bwin.party también espera ahorrar hasta 100.000 USD en costes de hardware, y está aumentando sus ingresos.

Aceleración del

almacenamie nto flash PCIe

LSI Mejora del rendimiento

transaccional que multiplica por 24 el actual, de 6.500 transacciones por segundo a 158.000 con SQL Server con OLTP en memoria

Esta comparativa de LSI muestra una mejora radical del rendimiento con la nueva característica SQL Server 2014 con OLTP en memoria. Además, se solicitó al equipo de rendimiento de Microsoft SQL Server que cree un entorno de pruebas interno que fuera flexible y estable, y que eliminara el almacenamiento como cuello de botella del rendimiento. Para realizar esta tarea, se utilizó SQL Server 2014 y las tarjetas LSI Nytro WarpDrive. Aceleración Fusion-io Mejora radical del rendimiento

(40)

del

almacenamie nto flash PCIe

mediante SQL Server 2014 con OLTP en memoria

Fusion-io ha realizado varias comparativas con SQL Server 2014 con OLTP en memoria en las que se muestran mejoras radicales del rendimiento. Administració n de pólizas de seguros Sistema de administración de pólizas de seguros de Accenture Duck Creek Un rendimiento transaccional un 9 % mayor con respecto a SQL Server 2008

Con más de 37.000 transacciones por hora, esta comparativa de Accenture y HP modeló una mezcla compleja de actividades de administración de pólizas que una aseguradora experimentaría durante un día activo de procesamiento empresarial. Basándose en datos recopilados de tres aseguradoras diferentes de nivel 1, se demostró que Microsoft SQL Server 2012 ofrece un aumento significativo en el rendimiento. Software empresarial Conjunto de aplicaciones ECM de OpenText Procesamiento de 14,8 millones de mensajes de correo electrónico en 24 horas

OpenText, líder global de

administración de contenido empresarial (ECM), ayuda a las organizaciones a administrar y a obtener el verdadero valor de su contenido empresarial. Durante el estudio comparativo, la solución

OpenText Email Monitoring

ejecutándose en SQL Server 2012 procesó 14,8 millones de mensajes en 24 horas. Esta cantidad sobrepasa cualquier resultado comparativo publicado para soluciones de supervisión de correo electrónico y es aproximadamente 15 veces superior al volumen típico de ingesta de mensajes de organizaciones de gran tamaño que procesan entre 1 y 1,5 millones de mensajes al día.

Referencias

Documento similar

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que

La siguiente y última ampliación en la Sala de Millones fue a finales de los años sesenta cuando Carlos III habilitó la sexta plaza para las ciudades con voto en Cortes de

a) Se podría migrar a un manejador de bases de datos más potente como Microsoft SQL Server. b) Se puede hacer que los sistemas sean indispensable para cualquier encargado de la

Partiendo del hecho de que la información es un activo, tanto así como el elemento clave, estratégico y de competitividad dentro de las empresas y organizaciones, entonces las

Fig. Arquitectura de la Capa de Acceso a Datos. El paquete Entidades Persistentes representa las clases persistentes que constituyen las entidades del negocio con

1 de 26.. Cálculo Relacional Orientado a Tuplas. Equivalencia entre Cálculo Relacional y Álgebra Relacional: El Algoritmo de Reducción de Codd... Tema

Esta herramienta gratuita facilita las tareas necesarias para la gestión de Microsoft SQL Server Express, permitiendo modificar las configuraciones de la base de datos y

Al hacer consultas a la base de datos, SQL permite utilizar operaciones algebraicas