Está en la página 1de 69

UNIVERSIDAD NACIONAL DE

INGENIERA
FACULTAD DE INGENIERA INDUSTRIAL Y DE
SISTEMAS

Sybase ASE
SISTEMA DE GESTIN DE BASE DE
DATOS
CURSO:
ADMINISTRACIN DE BASE DE DATOS
PROFESOR:
ING. MANUEL VELARDE CARPIO
INTEGRANTES:
BENAVIDES ZEGARRA, FRANS JIORDY
NEYRA MERINO, CARLOS
CHAMAYA GALJUF, ANGELO VICENTE

2016

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
NDICE
INTRODUCCIN...........................................................................................4
1.

OBJETIVOS............................................................................................5

2.

MARCO TEORICO...................................................................................5
2.1. BASE DE DATOS................................................................................................. 5
2.2. SISTEMA DE GESTIN DE BASE DE DATOS........................................................6
2.3. ADMINISTRACIN DE BASE DE DATOS...............................................................8
2.4. BASE DE DATOS RELACIONAL............................................................................9
2.4.1.
Tablas......................................................................................................... 9
2.4.2.
Terminologa Relacional.............................................................................9
2.4.3.
Claves........................................................................................................ 9

3.

SQL SERVER........................................................................................10
3.1. DEFINICIN..................................................................................................... 10
3.2. HISTORIA......................................................................................................... 10
3.3. CARACTERSTICAS........................................................................................... 11
3.3.1.
Caractersticas Bsicas............................................................................11
3.3.2.
Caractersticas del servidor SQL SERVER 2014........................................12
3.3.3.
Tamao mximo de una base de datos....................................................13
3.4. TRANSACT- SQL (MOTOR DE BASE DE DATOS)................................................13
3.4.1.
Consulta MULTITABLA...............................................................................14
3.4.2.
Subconsultas............................................................................................15
3.4.3.
Programacin en TRANSACT SQL.............................................................15
3.4.4.
Procedimientos almacenados STORE PROCEDURE...................................16
3.5. ADMINISTRACIN............................................................................................ 17
3.5.1.
Instalacin................................................................................................17
3.5.2.
Administracin de la Seguridad................................................................18
3.5.3.
Organizacin de archivos.........................................................................19
3.5.4.
Organizacin de Tablas............................................................................21
3.5.5.
Copias de Seguridad................................................................................23
3.5.6.
Replicacin............................................................................................... 26
3.6. SQL SERVER INTEGRATION SERVICES..............................................................27
3.6.1.
Caractersticas y tareas de Integration Services......................................27
3.7. SQL SERVER DATA TOOLS (SSDT).........................................................................28

4.

VENTAJAS............................................................................................ 28

5.

DIFERENCIAS.......................................................................................30

6.

COSTOS.............................................................................................. 31

7.

USO DEL SOFTWARE EN LAS EMPRESAS................................................33

8.

APLICACIN........................................................................................36
8.1. INFORMACIN ACERCA DEL NEGOCIO DE LA COMPAA ADVENTURE WORKS:...................36
8.2. SENTENCIAS DDL (LENGUAJE DE DEFINICIN DE DATOS):............................................37
8.2.1.
Creacin la Base de datos:.......................................................................37
8.2.2.
Creacin de esquemas XML:....................................................................38

ADMINISTRACIN DE BASE DE DATOS

Pgina 2 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
8.2.3.
Creacin de las tablas:.............................................................................40
8.2.4.
Modelo Relacional:...................................................................................43
8.2.5.
Creacin de Triggers:...............................................................................45
8.2.6.
Creacin de Funciones:............................................................................47
8.2.7.
Creacin de Procedimientos:....................................................................49
8.2.8.
Creacin de vistas:...................................................................................50
8.3. SENTENCIAS DML (LENGUAJE DE MANIPULACIN DE DATOS).........................................52
8.3.1.
Insertando Datos:.....................................................................................52
8.3.2.
Actualizar Datos:......................................................................................53
8.3.3.
Eliminar datos:......................................................................................... 54
8.3.4.
Reportes................................................................................................... 54
8.4. EXPORTAR DATOS A EXCEL.....................................................................................59
CONCLUSIONES.........................................................................................61
BIBLIOGRAFA........................................................................................... 62

ADMINISTRACIN DE BASE DE DATOS

Pgina 3 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

INTRODUCCIN
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 informacin necesaria, es imposible tomar buenas decisiones que
lleven a las organizaciones a seguir creciendo. Esta informacin tiene como
caractersticas 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 situacin real de la organizacin y de buen
costo, debido a su relevancia.
Por tanto, para que las organizaciones puedan reducir la incertidumbre en la
toma de una determinada decisin, es necesario que cuenten con un sistema
de procesamiento de datos (SPD) que es el conjunto de procedimientos
manuales y/o automticos que cumplen con las funciones de recolectar datos,
procesarlos y distribuir la informacin. Pero adems, debido al volumen de
datos que una organizacin maneja, es necesario contar adems con un
Sistema de Gestin de Base de Datos (SGBD) que permitan el almacenamiento,
modificacin y extraccin de la informacin en una base de datos, adems de
proporcionar herramientas para aadir, borrar, modificar y analizar los datos.
Los usuarios pueden acceder a la informacin usando herramientas especficas
de interrogacin y de generacin 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 gestin de base de datos especfico y que ha
tenido muchos aos en el mercado, Sybase ASE. 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 caractersticas 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 tericos bsicos necesarios para una mayor comprensin del SGBD
Sybase ASE. Empezando por su definicin, historia, caractersticas importantes,
las herramientas que posee, el tipo modelo de datos y la organizacin de
archivos que usa, y la administracin de la base de datos. Se estudiarn las
ventajas que sta posee, as como las diferencias con otros SGBD que existen
en el mercado. Tambin se dar a conocer los precios por cada edicin que
presenta la ltima versin de Sybase ASE, las empresas que actualmente
ADMINISTRACIN DE BASE DE DATOS

Pgina 4 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
tienen implementado este sistema de gestor de base de datos, y por ltimo
una aplicacin basado en dicho gestor, usando las herramientas que nos
proporciona.

ADMINISTRACIN DE BASE DE DATOS

Pgina 5 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

1. OBJETIVOS
Conocer las bondades del manejador de base de datos Sybase ASE.
Identificar su organizacin de archivos y organizacin de tablas de
Sybase ASE.
Identificar los clientes que lo utilizan.
Hacer una evaluacin costo-beneficio del uso de Sybase ASE en una
empresa.
Realizar una aplicacin pequea utilizando Sybase ASE y base de datos
relacional.

2. MARCO TEORICO
2.1.

BASE DE DATOS

Las aplicaciones informticas de los aos sesenta acostumbraban a darse


totalmente por lotes (batch) y estaban pensadas para una tarea muy especfica
relacionada con muy pocas entidades tipo.
Cada aplicacin (una o varias cadenas de programas) utilizaba ficheros de
movimientos para actualizar y/o para consultar uno o dos ficheros maestros o,
excepcionalmente, ms de dos.
Cada programa trataba como mximo un fichero maestro, que sola estar sobre
cinta magntica y, en consecuencia, se trabajaba con acceso secuencial. Cada
vez que se le quera aadir una aplicacin que requera el uso de algunos de
los datos que ya existan y de otros nuevos, se diseaba 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 lneas de comunicacin, los
terminales y los discos, se fueron escribiendo programas que permitan a varios
usuarios consultar los mismos ficheros de forma simultnea. Ms adelante fue
surgiendo la necesidad de hacer las actualizaciones tambin 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 deba disear de modo que estuviesen interrelacionados; al mismo
tiempo, las informaciones redundantes (como por ejemplo, el nombre y la
direccin de los clientes o el nombre y el precio de los productos), que
figuraban en los ficheros de ms de una de las aplicaciones, deban estar ahora
en un solo lugar.

ADMINISTRACIN DE BASE DE DATOS

Pgina 6 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
El acceso on-line y la utilizacin eficiente de las interrelaciones exigan
estructuras fsicas que diesen un acceso rpido, como por ejemplo los ndices,
las multilistas, las tcnicas de hashing, etc.
Estos conjuntos de ficheros interrelacionados, con estructuras complejas y
compartidos por varios procesos de forma simultnea (unos on-line y otros por
lotes), recibieron al principio el nombre de Data Banks, y despus, a inicios de
los aos 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 representacin ser nica e
integrada, a pesar de que debe permitir utilizaciones varias y simultneas.

2.2.

SISTEMA DE GESTIN DE BASE DE DATOS

Un Sistema de Gestin de Bases de Datos (SGBD) consiste en una coleccin 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 Definicin de Datos.
DML (Data Manipulation Language): Lenguaje de Manipulacin de
Datos.
SQL (Structured Query Language): Lenguaje de Consulta
Estructurado
Ahora bien, para entender mejor qu son los SGBD, haremos un repaso de su
evolucin desde los aos sesenta hasta nuestros das.
Los primeros SGBDen los aos sesenta todava no se les denominaba as
estaban orientados a facilitar la utilizacin de grandes conjuntos de datos en
los que las interrelaciones eran complejas. El arquetipo de aplicacin era el Bill
of materials o Parts explosion, tpica en las industrias del automvil, en la
construccin 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 lnea telefnica, se empiezan a construir grandes aplicaciones
on-line transaccionales (OLTP). Los SGBD estaban ntimamente ligados al
software de comunicaciones y de gestin de transacciones.
Aunque para escribir los programas de aplicacin se utilizaban lenguajes de
alto nivel como Cobol o PL/I, se dispona tambin de instrucciones y de
subrutinas especializadas para tratar las BD que requeran que el programador

ADMINISTRACIN DE BASE DE DATOS

Pgina 7 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
conociese muchos detalles del diseo fsico, y que hacan que la programacin
fuese muy compleja.
Puesto que los programas estaban relacionados con el nivel fsico, se deban
modificar continuamente cuando se hacan cambios en el diseo y la
organizacin de la BD. La preocupacin bsica era maximizar el rendimiento: el
tiempo de respuesta y las transacciones por segundo.
Durante los aos ochenta, el mejoramiento de los ordenadores (en reduccin
del tamao y aumento de la eficiencia), extendi el uso de la informtica a
prcticamente todas las empresas e instituciones, lo cual exiga que el
desarrollo de aplicaciones fuese ms sencillo. Los SGBD de los aos setenta
eran demasiado complejos e inflexibles, y slo los poda utilizar un personal
muy calificado.
Es as pues que, la aparicin de los SGBD relacionales supuso un avance
importante para facilitar la programacin de aplicaciones con BD y para
conseguir que los programas sean independientes de los aspectos fsicos de la
BD. La estandarizacin, en el ao 1986, del lenguaje SQL produjo una autntica
explosin de los SGBD relacionales.
Al acabar la dcada de los ochenta, los SGBD relacionales ya se utilizaban
prcticamente en todas las empresas; sin embargo, an a mediados de los
noventa, por un factor de rendimiento, se prefera usar otro tipo de SGBD.
La necesidad de tener una visin global de la empresa y de interrelacionar
diferentes aplicaciones que utilizan BD diferentes, junto con la facilidad que
dan las redes para la intercomunicacin 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 aos
ochenta y noventa son muy limitados. La incorporacin de tecnologas
multimediaimagen y sonido en los Sistemas de Informacin (SI) hace
necesario que los SGBD relacionales acepten atributos de estos tipos.
Esto nos lleva a la orientacin a objetos (OO). El xito de la OO al final de
aos ochenta, en el desarrollo de software bsico, en las aplicaciones
ingeniera industrial y en la construccin de interfaces grficas con
usuarios, hizo que durante la dcada de los noventa se extendiese
prcticamente todos los campos de la informtica.

ADMINISTRACIN DE BASE DE DATOS

los
de
los
en

Pgina 8 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
La rpida adopcin de la web a los SI hace que los SGBD incorporen recursos
para ser servidores de pginas web, como por ejemplo la inclusin 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
informacin proveniente de toda clase de aplicaciones de la empresa (e,
incluso, de fuera). Los datos de este gran almacn, el Data Warehouse , se
obtienen por una replicacin ms 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 aplicacin, incorporando, por
ejemplo, herramientas como las siguientes:
a) La creacin y el mantenimiento de rplicas, con una cierta elaboracin
de los datos.
b) La consolidacin de datos de orgenes diferentes.
c) La creacin de estructuras fsicas que soporten eficientemente el anlisis
multidimensional.
Los SGBD que actualmente estn en el mercado pretenden satisfacer un
conjunto de objetivos directamente deducibles de lo que hemos explicado
hasta ahora. A continuacin 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 caracterizacin de la
informacin
Adaptarse al mundo del Internet.

2.3.

ADMINISTRACIN DE BASE DE DATOS

Hay un tipo de usuario especial: el que realiza tareas de administracin y


control de la BD. Una empresa o institucin que tenga SI construidos entorno a
BD necesita que alguien lleve a cabo una serie de funciones centralizadas de
ADMINISTRACIN DE BASE DE DATOS

Pgina 9 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
gestin y administracin, para asegurar que la explotacin de la BD es la
correcta. Este conjunto de funciones se conoce con el nombre de
administracin 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
problemticas o de emergencia, pero su responsabilidad fundamental es velar
para que no se produzcan incidentes.
Se procede a mencionar, en una lista, las tareas tpicas de la Administracin
de Base de Datos:
Mantenimiento, administracin y control de los esquemas
Asegurar la mxima disponibilidad de los datos
Resolucin de emergencias
Vigilancia de la integridad y de la calidad de los datos
Diseo fsico, estrategia de caminos de acceso y restructuraciones
Control del rendimiento y decisiones relativas a las modificaciones en los
esquemas y/o parmetros del SGBD y del SO, para mejorarlo
Normativa y asesoramiento a los programadores y a los usuarios finales
sobre la utilizacin de la BD
Control y administracin 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 aos despus el modelo se empez a implementar cada vez ms,
hasta ser el modelo de bases de datos ms popular. En las bases de Codd se
definan los objetivos de este modelo:
Independencia fsica. La forma de almacenar los datos, no debe influir en
su manipulacin lgica.
Independencia lgica. 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 fcilmente distintas vistas en
funcin de los usuarios y aplicaciones.
Uniformidad. Las estructuras lgicas siempre tienen una nica forma
conceptual (las tablas).
Sencillez.

ADMINISTRACIN DE BASE DE DATOS

Pgina 10 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

2.4.1.

Tablas

Las bases de datos relacionales se basan en el uso de tablas (tambin se las


llama relaciones). Las tablas se representan grficamente como una estructura
rectangular formada por filas y columnas. Cada columna almacena informacin
sobre una propiedad determinada de la tabla (se le llama tambin atributo),
nombre, DNI, apellidos, edad, etc.
Cada fila posee una ocurrencia o ejemplar de la instancia o relacin
representada por la tabla (a las filas se las llama tambin tuplas).

2.4.2.

Terminologa Relacional

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


Atributo. Cada columna de la tabla
Grado. Nmero de atributos de la tabla
Cardinalidad. Nmero de tuplas de una tabla
Dominio. Conjunto vlido de valores representables por un atributo.

2.4.3.

Claves

Clave candidata: Conjunto de atributos de una tabla que identifican


unvocamente 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.

Representacin de una tabla en el modelo relacional

3. Sybase ASE
3.1.

DEFINICIN

ASE es la abreviatura de "Adaptive Server Enterprise", el software de gestin


de base de datos relacional fabricado y vendido por Sybase, Inc. ASE es un

ADMINISTRACIN DE BASE DE DATOS

Pgina 11 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
RDBMS de clase empresarial verstil que es especialmente bueno en el manejo
de cargas de trabajo OLTP. ASE es una pieza central en el mundo financiero
(bancos, bolsas de valores, compaas de seguros), en el comercio electrnico,
as como en prcticamente todas las otras reas.
La versin ms reciente de ASE es ASE versin 15.7 (lanzado en septiembre de
2011); la versin anterior es la versin 15.5. ASE 15.7 tambin se conoce como
"la liberacin de SAP", ya que esta es la versin ASE que SAP est utilizando
para apoyar el paquete Business Suite ERP en la parte superior de Sybase ASE.
ASE se ejecuta en las principales variantes de Unix, en Linux y en Windows.
Sybase ASE es un producto de software propietario, comercial. Sin embargo,
versiones libres de ASE estn disponibles tambin
Sybase vende muchos otros productos, incluyendo otras dos bases de datos,
pero todava es ms conocido por ASE. Por esta razn, es posible escuchar a la
gente hablando de "Sybase" cuando se hace referencia al ASE. Esto suele ser lo
suficientemente clara, pero cuando alguien le pregunta si ha trabajado con
"bases de datos de Sybase" o con "Sybase Adaptive Server", vale la pena
comprobar si significan ASE, Sybase IQ (a veces conocido con el nombre
antiguo de Adaptive Server IQ) o SQL Anywhere (anteriormente llamado
Adaptive Server en cualquier lugar).

3.2.

HISTORIA

ASE comenz su vida a mediados de los aos ochenta como "Sybase SQL
Server". Desde hace varios aos, Microsoft era un distribuidor Sybase, Sybase
revendi el producto para OS / 2 y ms tarde NT bajo el nombre "Microsoft SQL
Server".
Alrededor de 1994, Microsoft compr bsicamente una copia del cdigo fuente
de Sybase SQL Server y luego sigui su propio camino. Como competidores,
Sybase y Microsoft han estado desarrollando sus productos de forma
independiente desde entonces. Microsoft ha hecho hincapi sobre todo la
facilidad de uso y "Ventana-ising" del producto, mientras que Sybase se ha
centrado en maximizar el rendimiento y la fiabilidad, y la restauracin de la
gama alta del mercado de OLTP.
Cuando la liberacin de la versin 11.5 en 1997, Sybase cambi el nombre de
su producto a "ASE" para distinguir mejor entre s "MS SQL Server". Debido al
fondo comn, todava hay muchas similitudes en las versiones actuales de ASE
y MS SQL Server: es relativamente fcil de aprender uno si ya sabe que la otra.
A modo de ejemplo, tanto ASE y MS SQL Server tienen una aplicacin SQL
llamado "Transact-SQL", que son muy similares (pero no idnticos).
ADMINISTRACIN DE BASE DE DATOS

Pgina 12 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
En los primeros das, Sybase SQL Server fue el primer RDBMS cliente-servidor
cierto que tambin era capaz de manejar cargas de trabajo del mundo real. Por
el contrario, otros DBMS han sido durante mucho tiempo los programas
monolticos; por ejemplo, slo Oracle "atornilla" funcionalidad cliente-servidor a
mediados de los aos noventa. Adems, Sybase SQL Server fue el primer xito
comercial RDBMS apoyan los procedimientos almacenados y disparadores, y un
optimizador de consultas basado en los costos.
La calidad tcnica de ASE siempre ha sido, y sigue siendo, reconocida en la
industria de TI (es decir, sin contar un lapso temporal de la calidad en la
versin notoria 10 alrededor de 1994). Como una compaa impulsada por la
tecnologa, Sybase ha sido siempre mejor para escribir buen software y la
construccin de grandes productos que en la comercializacin de estos
productos; en mi opinin, esta es la razn principal por la cuota de mercado
actual de la ASE es menor que el de Oracle o Microsoft SQL Server.
A propsito, el nombre Sybase es dicho por haber sido derivado de las
palabras system y database.

3.3.

CARACTERSTICAS

3.3.1.
-

3.3.2.
-

Caractersticas Tcnicas
Posee un optimizador de consultas completamente renovado y
ms inteligente.
Tcnicas de particionamiento semntico de tablas que aumentan
la velocidad de acceso a los datos.
Columnas cifradas para mayor seguridad de los datos.
Columnas computadas "virtuales" y materializadas, e ndices
funcionales, que brindan mayor rendimiento.
Mejoras al lenguaje Transact SQL, para mayor productividad.
Mejoras a los servicios de Java y XML en la base de datos.
Mejoras a los servicios para consumo y publicacin de servicios
Web.
Herramientas mejoradas para la administracin y el monitoreo.

Caractersticas Generales
Arquitectura VSA de Sybase.
Administrador lgico de recursos y tareas.
Mltiples esquemas de bloqueo de datos.
Copias de respaldo en lnea y de alto rendimiento.
Integracin transparente con orgenes de datos remotos.
Programador de tareas.
Conexiones seguras con SSL

ADMINISTRACIN DE BASE DE DATOS

Pgina 13 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
-

Soporte a LDAP para autenticacin de usuarios y conectividad


cliente/servidor.
Soporte a mltiples herramientas de desarrollo y lenguajes de
programacin, como PowerBuilder, Visual Basic, Java, PHP, etc.
Soporte a mltiples protocolos de conectividad, como Open
Client (propio de Sybase), ODBC, OLE DB, ADO.NET y JDBC.

3.3.3.

Tamao mximo de una base de datos

En la siguiente tabla se especifican el tamao y la cantidad mxima 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
Tamao de archivo
(datos)
Tamao de archivo
(registro)
Tamao de la base de
datos
Bases de datos por
instancia de SQL Server
Niveles de
procedimientos
almacenados anidados
Subconsultas anidadas
Niveles de
desencadenadores
anidados
ndices no clster por
tabla
Parmetros por
procedimiento
almacenado
REFERENCES por tabla
Columnas por instruccin
UPDATE (tablas anchas)

3.4.

Tamaos mximo SQL


Server (32 bits)
16 terabytes

Tamaos mximo
SQL Server (64
bits)
16 terabytes

2 terabytes

2 terabytes

524.272 terabytes

524.272 terabytes

32.767

32.767

32

32

32
32

32
32

999

999

2,100

2,100

253
4096

253
4096

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
aplicacin.
TRANSACT-SQL es un lenguaje muy potente que nos permite definir casi
cualquier tarea que queramos efectuar sobre la base de datos. TRANSACT-SQL

ADMINISTRACIN DE BASE DE DATOS

Pgina 14 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
va ms all de un lenguaje SQL cualquiera ya que incluye caractersticas
propias de cualquier lenguaje de programacin, caractersticas que nos
permiten definir la lgica necesaria para el tratamiento de la informacin:

Tipos de datos.
Definicin de variables.
Estructuras de control de flujo.
Gestin de excepciones.
Funciones predefinidas.
Sin embargo no permite:
Crear interfaces de usuario.
Crear aplicaciones ejecutables, sino elementos que en algn momento
llegarn al servidor de datos y sern ejecutados.

Debido a estas restricciones se emplea generalmente


procedimientos almacenados, triggers y funciones de usuario.

para

crear

Puede ser utilizado como cualquier SQL como lenguaje embebido en


aplicaciones desarrolladas en otros lenguajes de programacin como Visual
Basic, C, Java, etc. Y por supuesto los lenguajes incluidos en la plataforma .NET.
Tambin lo podremos ejecutar directamente de manera interactiva, por
ejemplo desde el editor de consultas de SSMS (SQL Server Management
Studio) el entorno de gestin 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 operacin basada en el lgebra relacional. El lgebra
relacional define una serie de operaciones cuyos operandos son tablas y cuyo
resultado es tambin una tabla.
Las operaciones de lgebra relacional implementadas en TRANSACT-SQL son:

La unin UNION
La diferencia EXCEPT
La interseccin INTERSECT
El producto cartesiano CROSS JOIN
La composicin interna INNER JOIN
La composicin externa LEFT JOIN, RIGHT JOIN Y FULL JOIN

3.4.2.

Subconsultas

ADMINISTRACIN DE BASE DE DATOS

Pgina 15 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
Una subconsulta es una consulta que aparece dentro de otra consulta o
subconsultas, en la lista de seleccin o en la clusula WHERE o HAVING,
originalmente no se podan incluir en la lista de seleccin.
Una subconsulta se denomina tambin consulta o seleccin interna, mientras
que la instruccin que contiene la subconsulta es conocida como consulta o
seleccin externa.
Aparece siempre encerrada entre parntesis y tiene la misma sintaxis que una
sentencia SELECT normal con alguna limitacin:
No puede incluir una clusula COMPUTE o FOR BROWSE y slo puede incluir
una clusula ORDER BY cuando se especifica tambin una clusula TOP.
Una subconsulta puede anidarse en la clusula WHERE o HAVING de una
instruccin externa SELECT, INSERT, UPDATE o DELETE, o bien en otra
subconsulta. Se puede disponer de hasta 32 niveles de anidamiento, aunque el
lmite vara 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 nmero de veces que se ejecutarn las subconsultas puede
dispararse!
Cuando la subconsulta aparece en la lista de seleccin de otra consulta, deber
devolver un solo valor, de lo contrario provocar un error.

3.4.3.

Programacin en TRANSACT SQL

Ahora veremos que TRANSACT-SQL va ms all de un lenguaje SQL cualquiera


ya que aunque no permita:
Crear interfaces de usuario.
Crear aplicaciones ejecutables, sino elementos que en algn momento
llegarn al servidor de datos y sern ejecutados.
Incluye caractersticas propias de cualquier lenguaje de programacin,
caractersticas que nos permiten definir la lgica necesaria para el tratamiento
de la informacin:

Tipos de datos.
Definicin de variables.
Estructuras de control de flujo.
Gestin de excepciones.
Funciones predefinidas.

ADMINISTRACIN DE BASE DE DATOS

Pgina 16 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
Elementos para la visualizacin, que permiten mostrar mensajes
definidos por el usuario gracias a la clusula PRINT.
Estas caractersticas permiten crear bloques de cdigo orientados a realizar
operaciones ms complejas. Estos bloques no son programas sino
procedimientos o funciones que podrn ser llamados en cualquier momento.
En SQL Server podemos definir tres tipos de bloques de cdigo, 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 parmetros 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 estn precompilados. La
primera vez que se ejecuta un procedimiento, el procesador de consultas de
SQL Server lo analiza y prepara un plan de ejecucin que se almacena en una
tabla del sistema. Posteriormente, el procedimiento se ejecuta segn 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 instantnea 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 informacin de las tablas del
sistema y pueden ejecutarse en cualquier base de datos del servidor.
Tambin estn los procedimientos de usuario, los crea cualquier usuario que
tenga los permisos oportunos.
Se pueden crear tambin procedimiento temporales locales y globales. Un
procedimiento temporal local se crea por un usuario en una conexin
determinada y slo se puede utilizar en esa sesin, un procedimiento temporal
global lo pueden utilizar todos los usuarios, cualquier conexin puede ejecutar
un procedimiento almacenado temporal global. ste existe hasta que se cierra
la conexin que el usuario utiliz para crearlo, y hasta que se completan todas
las versiones del procedimiento que se estuvieran ejecutando mediante otras
ADMINISTRACIN DE BASE DE DATOS

Pgina 17 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
conexiones. Una vez cerrada la conexin que se utiliz para crear el
procedimiento, ste ya no se puede volver a ejecutar, slo podrn 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 tambin se
puede utilizar el nombre del procedimiento almacenado slo, siempre que sea
la primera palabra del lote. Para eliminar un procedimiento almacenado
utilizamos la sentencia DROP PROCEDURE.

3.5.

ADMINISTRACIN

3.5.1.

Instalacin

La instalacin de SQL Server no representa mayores problemas, ya que muchas


distribuciones incluyen paquetes con los que realizar la instalacin y
configuracin bsica. A continuacin
Requisitos software y hardware para SQL Server 2014:
Compone
nte
.NET
Framewor
k

Windows
PowerShe
ll

Software
de red

Requisito
.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, Replicacin o SQL Server
Management Studio, y no lo instala ya el programa
de instalacin de SQL Server.
.NET 4.0 es un requisito para SQL Server 2014. SQL
Server instala .NET 4.0 durante el paso de instalacin
de caractersticas.
SQL Server 2014 no instala ni habilita Windows
PowerShell 2.0; sin embargo, Windows PowerShell 2.0
es un requisito previo de instalacin para los
componentes del Motor de base de datos y SQL
Server Management Studio.
Los sistemas operativos admitidos para SQL Server
2014 tienen software de red integrado. Las instancias
con nombre y predeterminadas de una instalacin
independiente admiten los siguientes protocolos de
red: Memoria compartida, Canalizaciones con

ADMINISTRACIN DE BASE DE DATOS

Pgina 18 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
Virtualiza
cin

Disco
duro

Unidad
Monitor
Internet

nombre, TCP/IP y VIA.


SQL Server 2014 se admite en entornos de mquina
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.
SQL Server 2014 requiere un mnimo de 6 GB de
espacio disponible en disco.
Las necesidades de espacio en disco variarn segn
los componentes de SQL Server 2014 que instale.
Para la instalacin desde disco se necesita una
unidad de DVD.
SQL Server 2014 requiere Super VGA (800x600) o un
monitor de una resolucin mayor.
La funcionalidad de Internet necesita acceso a
Internet (no necesariamente de carcter gratuito).

Requisitos de procesador, memoria y sistema operativo


Componente
Memoria

Velocidad
del
procesador
Tipo de
procesador

3.5.2.

Requisito
Mnimo:
Ediciones Express: 512 MB
Todas las dems ediciones: 1 GB
Se recomienda:
Ediciones Express: 1 GB
Todas las dems ediciones: al menos 4 GB y debe
aumentar a medida que el tamao de la base de
datos aumente para asegurar un rendimiento
ptimo.
Mnimo:
Procesador x86: 1,0 GHz
Procesador x64: 1,4 GHz
Recomendado: 2 GHz o ms
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

Administracin de la Seguridad

Un usuario es una entidad de seguridad de la base de datos. Los inicios de


sesin deben estar asignados a un usuario de base de datos para poder
conectarse a una base de datos.

ADMINISTRACIN DE BASE DE DATOS

Pgina 19 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
En SQL server se puede crear inicios de sesin con autenticacin en Windows y
autenticacin 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.
Autenticacin de Windows: En este modo de autenticacin, los usuarios
obtienen acceso al servidor SQL Server mediante un inicio de sesin asignado a
sus cuentas de Windows.
Ventajas:
Permite agregar grupos de usuarios a SQL Server mediante la
agregacin de una cuenta de inicio de sesin nica.
Permite a los usuarios un rpido acceso a SQL Server sin tener que
recordar otra cuenta de inicio de sesin y contrasea.
Autenticacin SQL: En este modo de autenticacin, los usuarios obtienen
acceso a SQL Server mediante un inicio de sesin asignado a sus cuentas de
SQL Server.
Modificar inicios de sesin: Se puede modificar un inicio de sesin con la
instruccin ALTER LOGIN o con el explorador de objetos, que puede ser para
cambiar su contrasea.
Eliminar inicios de sesin: Se puede eliminar inicios de sesin con la
instruccin 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 funcin sysadmin, por
ejemplo el inicio de sesin 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 sesin 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:
FUNCION
db_accessadmin

ADMINISTRACIN DE BASE DE DATOS

DESCRIPCIN
Agregar o quitar usuarios, grupos
y funciones de la base de datos.

Pgina 20 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
db_backupoperator
db_datareader
db_datawriter
db_ddladmin
db_denydatareader
db_denydatawriter
db_owner
public

3.5.3.

Realizar una copia de seguridad


de la base de datos
Leer datos de cualquier tabla.
Agregar, cambiar o eliminar datos
de cualquier tabla
Agregar, eliminar o modificar
objetos de la base de datos
No poder leer datos de ninguna
tabla
No poder cambiar datos de
ninguna tabla.
Realizar cualquier actividad de
funcin de la base de datos
Mantener los permisos
predeterminados

Organizacin de archivos

La organizacin de archivos de SQL Server es de forma indexada utilizando dos


archivos, uno de datos que contiene la informacin de la base de datos (tablas)
que permite que las consultas realizadas sean ms rpidas, se puede acceder a
los registros de forma secuencial y tambin de forma aleatoria(usando el
ndice).
En SQL Server, los ndices se organizan como rboles b. Las pginas de un
rbol b de ndice se llaman nodos del ndice. El nodo superior del rbol b se
llama nodo raz. El nivel inferior de los nodos del ndice se denomina nodos
hoja. Los niveles del ndice entre el nodo raz y los nodos hoja se conocen en
conjunto como niveles intermedios. En un ndice agrupado, los nodos hoja
contienen las pginas de datos de la tabla subyacente. El nodo raz y los nodos
intermedios incluyen pginas de ndice que contienen filas de ndice. Cada fila
de ndice contiene un valor clave y un puntero a una pgina de nivel
intermedio en el rbol b, o bien a una fila de datos del nivel hoja del ndice. Las
pginas de cada nivel del ndice se vinculan en una lista con vnculos dobles.
Los ndices agrupados tienen una fila en sys.partitions, con index_id = 1 para
cada particin utilizada por el ndice. De forma predeterminada, un ndice
agrupado tiene una sola particin. Cuando un ndice agrupado tiene mltiples
particiones, cada particin tiene una estructura de rbol b que contiene los
datos de esa particin especfica. Por ejemplo, si un ndice agrupado tiene
cuatro particiones, hay cuatro estructuras de rbol b, una en cada particin.
En funcin de los tipos de datos del ndice agrupado, cada estructura de ndice
agrupado tendr una o ms unidades de asignacin en las que almacenar y
administrar los datos de una particin especfica. Como mnimo, cada ndice
ADMINISTRACIN DE BASE DE DATOS

Pgina 21 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
agrupado tendr una unidad de asignacin IN_ROW_DATA por particin. El
ndice agrupado tambin tendr una unidad de asignacin LOB_DATA por
particin si contiene columnas de objetos grandes (LOB). Tambin tendr una
unidad de asignacin ROW_OVERFLOW_DATA por particin si contiene
columnas de longitud variable que superen el lmite de tamao de fila de 8.060
bytes.
Las pginas de la cadena de datos y las filas que contienen se ordenan segn
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 pginas del
rbol b estn delimitadas por punteros de pgina 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 particin especfica. 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 despus recorre las pginas de datos
mediante los punteros anterior y siguiente. Para buscar la primera pgina de la
cadena de pginas de datos, SQL Server sigue los punteros situados ms a la
izquierda desde el nodo raz del ndice.
En esta ilustracin se muestra la estructura de un ndice agrupado en una sola
particin.

ADMINISTRACIN DE BASE DE DATOS

Pgina 22 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

3.5.4.

Organizacin de Tablas

Las tablas y los ndices se almacenan como una coleccin de pginas de 8 KB.
En este tema se describe el modo en el que se organizan las pginas de tablas
e ndices.
En la siguiente ilustracin se muestra la organizacin de una tabla. Una tabla
est incluida en una o varias particiones y cada particin incluyen filas de
datos con una estructura de ndice clster o de montn. Las pginas del ndice
clster o de montn se administran en una o varias unidades de asignacin,
segn los tipos de columna de las filas de datos.

ADMINISTRACIN DE BASE DE DATOS

Pgina 23 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

Particiones
Las pginas de tablas e ndices estn incluidas en una o varias particiones. Una
particin es una unidad de organizacin de datos definida por el usuario. De
forma predeterminada, una tabla o un ndice solo incluyen una particin que
contiene todas las pginas de tablas o ndices. La particin se encuentra en un
solo grupo de archivos. Una tabla o un ndice con una sola particin 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 funcin 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 tratarn como una sola entidad lgica cuando se realicen consultas o
actualizaciones en los datos.
Para ver las particiones utilizadas por una tabla o un ndice, utilice la vista de
catlogo sys.partitions (Transact-SQL).
Tablas, montones e ndices clster
Las tablas de SQL Server utilizan uno de estos dos mtodos para organizar sus
pginas de datos en una particin:
Las tablas agrupadas son tablas que tienen un ndice clster.
Las filas de datos estn almacenadas en un orden basado en la clave del
ndice clster. El ndice clster se implementa como una estructura de
rbol b que admite la recuperacin rpida de las filas a partir de los
valores de las claves del ndice clster. Las pginas de cada nivel del

ADMINISTRACIN DE BASE DE DATOS

Pgina 24 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
ndice, incluidas las pginas de datos del nivel hoja, se vinculan en una
lista con vnculos dobles. Sin embargo, la navegacin de un nivel a otro.

3.5.5.

Copias de Seguridad

Una copia de seguridad completa de la base de datos crea una copia


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

de
de
de
de

Las copias de seguridad de bases de datos son fciles 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 pequeas, de las que se puede hacer una
copia de seguridad con rapidez, la prctica recomendada es utilizar copias de
seguridad completas de la base de datos. Sin embargo, a media que la base de
datos aumenta de tamao, 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
recuperacin simple
Con el modelo de recuperacin simple, despus de cada copia de seguridad, la
base de datos queda expuesta a la prdida potencial del trabajo en caso de
desastre. El riesgo de prdida del trabajo se incrementa con cada actualizacin
hasta la siguiente copia de seguridad completa, cuando el riesgo de prdida
vuelve a cero y empieza un nuevo ciclo de riesgo.
Con el modelo de recuperacin simple, el riesgo de prdida del trabajo se
incrementa a lo largo del tiempo que transcurre entre las copias de seguridad.
La siguiente ilustracin muestra el riesgo de prdida del trabajo en una
estrategia de copia de seguridad que solo utiliza copias de seguridad
completas de la base de datos.

ADMINISTRACIN DE BASE DE DATOS

Pgina 25 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

Usar copias de seguridad de la base de datos en el modelo de


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

Copias de seguridad diferenciales de bases de datos

ADMINISTRACIN DE BASE DE DATOS

Pgina 26 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
Una copia de seguridad diferencial de la base de datos registra slo 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 ms pequeas y rpidas 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
prdida 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 ms 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 recuperacin simple)
Con el modelo de recuperacin simple, el riesgo de prdida de trabajo entre
copias de seguridad aumenta con el tiempo. La siguiente ilustracin muestra
una estrategia de copia de seguridad que reduce el riesgo de prdida del
trabajo mediante la utilizacin 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
tamao suficiente como para que la prxima 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.

ADMINISTRACIN DE BASE DE DATOS

Pgina 27 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

Estrategia de las copias de seguridad diferenciales de bases de datos


(modelo de recuperacin completa)
Con el modelo de recuperacin completa y el de recuperacin optimizada para
cargas masivas de registros, las copias de seguridad diferenciales de la base
de datos reducen el tiempo necesario para poner al da 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 prdida de trabajo al momento
despus de la copia de seguridad de registros ms 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 tamao
suficiente como para que la prxima 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.

ADMINISTRACIN DE BASE DE DATOS

Pgina 28 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

Antes de la primera copia de seguridad de la base de datos en esta ilustracin,


la base de datos est expuesta a una posible prdida de trabajo (de la hora t0
a la hora t1). Por tanto, las copias de seguridad de registros rutinarias reducen
el riesgo de prdida de trabajo a la posibilidad de perder los cambios realizados
despus 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.

Replicacin

La replicacin es un conjunto de tecnologas destinadas a la copia y


distribucin 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 replicacin permite distribuir datos entre diferentes ubicaciones y entre
usuarios remotos o mviles mediante redes locales y de rea extensa,
conexiones de acceso telefnico, conexiones inalmbricas e Internet.
La replicacin 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 creacin de

ADMINISTRACIN DE BASE DE DATOS

Pgina 29 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
informes, la integracin de datos procedentes de varios sitios, la integracin de
datos heterogneos, y la descarga del procesamiento por lotes. La replicacin
de mezcla se ha diseado principalmente para las aplicaciones mviles o de
servidores distribuidos que pueden encontrarse con conflictos de datos. Los
escenarios ms frecuentes son: el intercambio de datos con usuarios mviles,
las aplicaciones de punto de venta (POS) a consumidores, y la integracin de
datos de varios sitios. La replicacin de instantneas se usa para proporcionar
el conjunto de datos inicial para la replicacin transaccional y de mezcla;
tambin se puede usar cuando est indicada una actualizacin completa de los
datos. Con estos tres tipos de replicacin, SQL Server proporciona un sistema
eficaz y flexible para la sincronizacin de datos en toda la organizacin. La
replicacin 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 creacin de soluciones


empresariales de transformaciones de datos e integracin de datos. Integration
Services sirve para resolver complejos problemas empresariales mediante la
copia o descarga de archivos, el envo de mensajes de correo electrnico como
respuesta a eventos, la actualizacin de almacenamientos de datos, la limpieza
y minera de datos, y la administracin 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 orgenes como archivos de datos XML,
archivos planos y orgenes de datos relacionales y, despus, cargar los datos
en uno o varios destinos.
Integration Services contiene un variado conjunto de tareas y transformaciones
integradas, herramientas para la creacin de paquetes y el servicio Integration
Services para ejecutar y administrar los paquetes. Las herramientas grficas de
Integration Services se pueden usar para crear soluciones sin escribir una sola
lnea de cdigo. Tambin se puede programar el amplio modelo de objetos de
Integration Services para crear paquetes mediante programacin y codificar
tareas personalizadas y otros objetos de paquete.

3.6.1.

Caractersticas 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 solucin empresarial requiere. SQL Server Data Tools

ADMINISTRACIN DE BASE DE DATOS

Pgina 30 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
(SSDT) proporciona el proyecto de Integration Services en el que se
crean paquetes.
SQL Server Management Studio para administrar paquetes en un
entorno de produccin.

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 importacin y exportacin de SQL Server para
crear paquetes bsicos que copian datos de un origen en un destino.
Crear paquetes que incluyan flujo de control complejo, flujo de datos,
lgica controlada por eventos y registro.
Probar y depurar paquetes mediante las caractersticas de solucin de
problemas y supervisin en el Diseador SSIS, y las caractersticas de
depuracin en SQL Server Data Tools (SSDT).
Crear configuraciones que actualizan las propiedades de los paquetes y
los objetos de paquete en el tiempo de ejecucin.
Crear una utilidad de implementacin que pueda instalar paquetes y sus
dependencias en otros equipos.
Guardar copias de paquetes en la base de datos msdb de SQL Server, el
Almacn de paquetes de SSIS y el sistema de archivos.

4. VENTAJAS
Dado que las aplicaciones de red y web cada vez se vuelven ms significantes,
la importancia de sistemas de administracin de bases de datos relacionales
tambin se incrementa. Seleccionar la adecuada de acuerdo a las necesidades
es esencial para asegurar la calidad y el desempeo adecuado de las
aplicaciones. Microsoft SQL Server presenta las siguientes cualidades:

ADMINISTRACIN DE BASE DE DATOS

Pgina 31 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
Software de Administracin de Nivel Empresarial
Microsoft SQL Server incluye software de administracin de base de datos de
nivel profesional y empresarial. Pocos competidores, como MySQL, han
desarrollado software similar en aos recientes, pero Microsoft SQL Server se
diferencia por ser ms fcil de usar, adems de tener ms funcionalidades.
Soporte completo para disparadores (triggers), por ejemplo, son compatibles
con los productos de Microsoft. MySQL Server ha incluido esta caracterstica,
sin embargo, sin el completo soporte necesario. El software ofrecido por
Microsoft tambin ofrece una estrecha integracin con .NET framework, el cual
no es el caso de sus competidores.
Excelente Soporte de Recuperacin de Datos
Los datos corruptos son siempre una preocupacin cuando se producen
prdidas de energa o paradas incorrectas. Microsoft SQL Server posee una
serie de caractersticas que facilitan la recuperacin y restauracin de datos.
Aunque tablas individuales no pueden ser recuperadas o restauradas, estn
disponibles opciones de recuperacin 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 mltiples opciones de recuperacin.
Seguridad y Estabilidad
Muchos servidores SQL estn diseados para el uso de grandes conjuntos de
datos y el manejo de muchos usuarios. Cuando se enfrenta esta situacin, es
decir, mltiples 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 difcil acceso no autorizado). Microsoft SQL Server tiene
herramientas como Administracin Basada en Polticas (Poilicy-Based
Managment) que permite a los administradores de la base de datos el poder
definir polticas para los datos y el recibir alertas cuando estas polticas son
violadas. Otra caracterstica 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 ms seguro frente a eventuales ataques. Existen
tambin caractersticas de Administracin de Claves Externas (External Key
Managment) que permiten soportar certificados de terceros e informacin
encriptada en una seccin separada, por lo que se puede, por ejemplo,
manejar el procesamiento de tarjetas de crdito y permanecer en el
cumplimiento de las leyes actuales de la industria de tarjetas de crditos.
Instalacin Simplificada
Microsoft SQL Server puede ser instalado usando asistentes de configuracin
(setup-wizards); el instalador tambin detecta, descarga e instala cualquier

ADMINISTRACIN DE BASE DE DATOS

Pgina 32 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
actualizacin pre-requisito requerida. Estas caractersticas reducen la
complejidad de instalar el software. Componentes individuales como Servicios
de Base de Datos, Servicios de Anlisis e Integracin de Servicios pueden ser
instalados de forma separada. Microsoft SQL Server actualiza automticamente
los parches de seguridad para reducir los costes de mantenimiento.
Menores costos de propiedad
Microsoft SQL Server incluye caractersticas adicionales sin costo adicional,
como: Compresin Avanzada, herramientas de gestin de datos,
particionamiento de discos, herramientas de minera de datos, Reportes
Empresariales (Enterprise Reporting) y Seguridad Avanzada. Adems, pese a
ligeras variaciones, las versiones ms recientes de Microsft SQL Server poseen
compatibilidad con versiones anteriores, por lo que no hay necesidad de
actualizar todos los equipos.

5. DIFERENCIAS
A continuacin 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

Cuadro comparativo sobre ndices que son soportados nativamente

ADMINISTRACIN DE BASE DE DATOS

Pgina 33 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

ADMINISTRACIN DE BASE DE DATOS

Pgina 34 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
Cuadro comparativo sobre Otros Objetos ms 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 integracin de tecnologas en memoria, una
rpida obtencin de informacin 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
Propsito
2014
editions
Enterpri Enterprise - SQL Server
se
2014 Enterprise pone a
su disposicin
rendimiento fiable y
completo para
satisfacer los requisitos
de base de datos y

Canal de
Modelo de
Distribuci
Licencias
n
Por
ncleo**

ADMINISTRACIN DE BASE DE DATOS

Licencias
por
volumen,
hosting de
terceros

Precio Open
NL (US$)
$14,256***

Pgina 35 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
Business Intelligence
ms exigentes La
edicin Enterprise
proporciona los niveles
de servicio y
rendimiento ms altos
para las cargas de
trabajo de nivel 1.
Busines Business Intelligence s
SQL Server 2014
intellige Business Intelligence
nce
ofrece una plataforma
amplia que permite a
las organizaciones
compilar e implementar
soluciones BI seguras,
escalables y
administrables.
Standar Standard - SQL Server
d
2014 Standard
proporciona
funcionalidad de
Business Intelligence y
administracin de datos
bsica para cargas de
trabajo que no son
crticas, con recursos de
TI mnimos.

Servidor +
CAL****

Licencias
por
volumen,
hosting de
terceros

$8,908***

Por
ncleo**

Licencias
por
volumen,
hosting de
terceros

$3,717***

Servidor +
CAL****

Licencias
por
volumen,
hosting de
terceros,
minorista
(FPP)
Develop Developer - SQL Server Por usuario Licencias
er
2014 Developer es una
por
versin completamente
volumen,
funcional de SQL Server
hosting de
que permite a los
terceros,
desarrolladores
minorista
compilar, probar y
(FPP)
demostrar aplicaciones
con software de SQL
Server de una manera
rentable.

ADMINISTRACIN DE BASE DE DATOS

$931***

$38***

Pgina 36 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
Web

Express

Web - SQL Server 2014 Web facilita una


plataforma de datos
segura, rentable y
altamente escalable
para sitios web
pblicos. La edicin
Web est disponible
solo para proveedores
de servicios de software
de terceros.
Express - SQL Server
2014 Express es una
base de datos bsica
gratuita, ideal para
aprender y para
compilar aplicaciones
de escritorio y
pequeas aplicaciones
de servidor controladas
por datos. Novedad en
SQL Server 2014: SQL
Server Express LocalDB.

Slo hosting
de terceros

Descarga
gratuita

Segn sea el
precio
establecido
por el
proveedor de
hosting

Gratuito

* Los clientes que requieran un almacn de datos MPP ahora tienen acceso a
Parallel Data Warehouse (PDW) a travs de sus licencias bsicas Enterprise
Edition con Software Assurance. PDW es parte Analytics Platform System (APS)
**Ediciones vendidas bajo el modelo de licencia por ncleo se venden como
paquetes de dos ncleos.
***Los precios corresponden a Open No Level (NL) ERP. Para precios ms
especficos, 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 lderes
en el sector, partners y clientes.
En la siguiente tabla, se muestra las empresas INTERNACIONALES que usan
SQL SERVER, mostrando el tipo de aplicacin en el que se ha usado, junto con
los resultados que se obtuvieron:
Tipo de
Aplicacin

EMPRESAS/Aplica
ciones

ADMINISTRACIN DE BASE DE DATOS

Resultado

Pgina 37 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
Servicios de
juego en lnea

bwin.party

Aceleracin
del
almacenamien
to flash PCIe

LSI

Aceleracin

Fusion-io

ADMINISTRACIN DE BASE DE DATOS

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 compaa de entretenimiento
digital en lnea bwin.party ofrece
servicios de juego en lnea y otros
productos a casi dos millones de
usuarios. Dado que la empresa
necesitaba ms capacidad para el
rpido crecimiento del negocio y
mejorar el rendimiento del sitio web,
implement
una
solucin
de
procesamiento de transacciones en
lnea (OLTP) en memoria en Microsoft
SQL Server 2014. Ahora, la compaa
puede
administrar
250.000
solicitudes por segundo y ofrecer a
los jugadores una experiencia de
juego ms gil y fluido. bwin.party
tambin
espera
ahorrar
hasta
100.000 USD en costes de hardware,
y est aumentando sus ingresos.
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 caracterstica SQL Server 2014
con OLTP en memoria. Adems, 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.
Mejora radical del rendimiento

Pgina 38 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
del
almacenamien
to flash PCIe

Administraci
n de plizas
de seguros

Sistema
de
administracin
de
plizas de seguros
de Accenture Duck
Creek

Software
empresarial

Conjunto
de
aplicaciones ECM de
OpenText

ADMINISTRACIN DE BASE DE DATOS

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.
Un rendimiento transaccional un
9 % mayor con respecto a SQL
Server 2008
Con ms de 37.000 transacciones por
hora, esta comparativa de Accenture
y HP model una mezcla compleja de
actividades de administracin de
plizas
que
una
aseguradora
experimentara durante un da activo
de
procesamiento
empresarial.
Basndose en datos recopilados de
tres aseguradoras diferentes de nivel
1, se demostr que Microsoft SQL
Server 2012 ofrece un aumento
significativo en el rendimiento.
Procesamiento de 14,8 millones
de
mensajes
de
correo
electrnico en 24 horas
OpenText,
lder
global
de
administracin
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 solucin
OpenText
Email
Monitoring
ejecutndose en SQL Server 2012
proces 14,8 millones de mensajes
en 24 horas. Esta cantidad sobrepasa
cualquier
resultado
comparativo
publicado
para
soluciones
de
supervisin de correo electrnico y es
aproximadamente 15 veces superior
al volumen tpico de ingesta de
mensajes de organizaciones de gran
tamao que procesan entre 1 y 1,5
millones de mensajes al da.

Pgina 39 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
Facturacin de
telecomunicac
iones

Turnkey Converged
Billing
(TCB)
de
Redknee

Administraci
n del ciclo de
vida
del
producto

Teamcenter
Siemens

Servicios
financieros

Temenos T24

de

ADMINISTRACIN DE BASE DE DATOS

Escalado a 250 millones de


suscriptores
En estudios comparativos, la solucin
de facturacin convergente (Turnkey
Converged Billing), integrada en SQL
Server 2012, ha evidenciado ser
capaz de admitir a 250 millones de
suscriptores. La prueba de los 250
millones de suscriptores excedi los
objetivos de rendimiento tanto en la
facturacin como en la mediacin,
con la generacin de 26 millones de
facturas en un ciclo de facturacin de
seis horas y la mediacin de 4.900
millones registros de detalles de
llamadas en 12 horas. Esto mostr
una escalabilidad casi lineal a medida
que aumentaba el nmero de
suscriptores.
Nmero de usuarios simultneos
duplicado a 10.000 y con un gran
rendimiento
Las
pruebas
comparativas
de
rendimiento realizadas por Siemens
PLM validaron el rendimiento y la
escalabilidad de Microsoft SQL Server
2012
como
un
sistema
de
administracin de bases de datos
empresariales para Teamcenter. Las
pruebas confirman que, cuando se
ejecuta
en
SQL
Server
2012,
Teamcenter puede escalar fcilmente
a 10.000 usuarios simultneos y
mantener un rendimiento excelente.
Escalado lineal de un 95 %
Microsoft SQL Server 2012, junto con
HP y XIO, bati el rcord de
rendimiento de Temenos T24. En un
momento de mximo rendimiento, el
sistema
proces
11.500
transacciones
por
segundo
en
pruebas empresariales en lnea y, de
media,
ms
de
10.000
capitalizaciones y devengos de

Pgina 40 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
intereses por segundo durante las
pruebas de cierre de empresa, lo que
se traduce en un procesamiento de
25 millones de capitalizaciones y
devengos de cuentas en menos de
42 minutos.
En la siguiente tabla, se muestra las empresas NACIONALES que usan SQL
SERVER, junto con las aplicaciones en el que se ha usado el manejador de base
de datos:
EMPRESA
S
Neptunia
s.a.

AFP
Integra

Depsa

Hersil s.a.

Corporaci
n
Miyasato

Arquitectura

Aplicaciones

Sistemas
Fuente: Sistemas
Propios.
ETL: DTS de MS SQL
Base de Datos: MS SQL Server
Plataforma BI: MicroStrategy
Desktop
Designer,
Architect,
Intelligence Server SE, Web
Reporter.
Sistemas Fuente: Sistemas
Propios
ETL: MS DTS
Base de Datos: MS SQL
Plataforma BI: MicroStrategy
Architect,
Desktop
Designer,
Intelligence Server SE y
Web Professional
Sistemas Fuente: Desarrollos
propios y pirmides
Base de Datos: MS SQL
Plataforma BI: MicroStrategy

Extranet
para
Clientes
Externos
Track & Trace de Envos

Sistemas Fuente: AS 400 e IMS


ETL: BI Tool y procesos de AS400
Base de Datos: MS SQL
Plataforma
de
BI:
MicroStrategy
Sistemas Fuente: OfiSmart ERP.
ETL: Desarrollos propios (Stored
Procedures)
Base de Datos: MS SQL 2005

ADMINISTRACIN DE BASE DE DATOS

Finanzas

Contabilidad
Almacn
Ventas
Existencias
Clientes
Finanzas
Comercial
Prescripciones mdicas

Ventas
Logstica
Cuentas por Cobrar

Pgina 41 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

Yichang

Plataforma
de
BI:
MicroStrategy
Sistemas Fuente: SAP
ETL: DTS
Base de Datos: MS SQL
Plataforma BI: MicroStrategy

Ventas
Rentabilidad
Finanzas
Logstica
Operaciones

8. APLICACIN
La aplicacin se realizar en la base de datos AdventureWorks (una BD de la
compaa ficticia Adventure Works ), el cual ser implementada utilizando
Microsoft SQL Server Managment Studio 2014:

8.1.
Informacin acerca
Adventure Works:

del

negocio

de

la

compaa

Adventure Works Cycles, la empresa ficticia en la que se basan las bases de


datos de ejemplo AdventureWorks, es una gran empresa de fabricacin
multinacional. La empresa fabrica y vende bicicletas de metal y de metal
compuesto en los mercados de Norteamrica, Europa y Asia. Si bien su sede
central de operaciones se encuentra en Bothell, Washington, con 290
empleados, en toda su base de mercado tiene distribuidos varios equipos
regionales de ventas.
En el ao 2000, Adventure Works Cycles compr una pequea planta de
fabricacin, Importadores Neptuno, situada en Mxico. Importadores Neptuno
fabrica varios subcomponentes muy importantes para la lnea de productos de
Adventure Works Cycles. Estos subcomponentes se envan a la sede de Bothell
para el ensamblado final del producto. En el ao 2001, Importadores Neptuno
pas a ser el nico fabricante y distribuidor del grupo de productos de
bicicletas de paseo.
Tras un ao fiscal con muy buenos resultados, Adventure Works Cycles est
intentando ampliar su cuota de mercado dirigiendo sus ventas a sus mejores
clientes, ampliando la disponibilidad de sus productos en un sitio web externo,
y reduciendo los costos de venta a travs de costos de produccin ms bajos.
Los empleados de la compaa realizan actividades de negocio habituales tales
como:
Ventas
Establecimiento de objetivos de ventas y otros objetivos de negocio

ADMINISTRACIN DE BASE DE DATOS

Pgina 42 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
Entregas
Administracin de inventario
Administracin de ferias comerciales
Administracin de personal
Definicin de presupuestos

8.2.

Sentencias DDL (Lenguaje de definicin de datos):

8.2.1.

Creacin la Base de datos:

Se crea la base de datos llamada AdventureWorks, especificando la direccin


del archivo principal AdventureWorks2014_Data.mdf' (El cul tiene
extensin .mdf y contiene todas las tablas), y el archivo de transacciones
AdventureWorks2014_Log.ldf (con extensin ldf. y que almacena los detalles
de todas las modificaciones sobre la base de datos)
:setvar SqlSamplesDatabasePath "C:\Program Files\Microsoft SQL
Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\"
:setvar SqlSamplesSourceDataPath "C:\Program Files\Microsoft SQL
Server\120\Tools\Samples\Adventure Works 2014 OLTP Script\"
IF '$(SqlSamplesSourceDataPath)' IS NULL OR '$(SqlSamplesSourceDataPath)'
= ''
BEGIN
RAISERROR(N'The variable SqlSamplesSourceDataPath must be
defined.', 16, 127) WITH NOWAIT
RETURN
END;
IF '$(SqlSamplesDatabasePath)' IS NULL OR '$(SqlSamplesDatabasePath)' = ''
BEGIN
RAISERROR(N'The variable SqlSamplesDatabasePath must be defined.',
16, 127) WITH NOWAIT
RETURN
END;
SET NOCOUNT OFF;
GO
CREATE DATABASE [AdventureWorks2014]

ADMINISTRACIN DE BASE DE DATOS

Pgina 43 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
ON (NAME = 'AdventureWorks2014_Data', FILENAME = N'$
(SqlSamplesDatabasePath)AdventureWorks2014_Data.mdf', SIZE = 170,
FILEGROWTH = 8)
LOG ON (NAME = 'AdventureWorks2014_Log', FILENAME = N'$
(SqlSamplesDatabasePath)AdventureWorks2014_Log.ldf' , SIZE = 2,
FILEGROWTH = 96);
GO

8.2.2.

Creacin de esquemas XML:

Se pueden crear colecciones de esquemas XML en la base de datos y


asociarlas a variables y columnas de tipo xml. Para administrar las colecciones
de esquemas de la base de datos, SQL Server proporciona las siguientes
instrucciones DDL:
CREATE XML SCHEMA COLLECTION (Transact-SQL) Importa los

componentes del esquema a una base de datos.


ALTER

XML SCHEMA COLLECTION (Transact-SQL) Modifica los


componentes de esquema en una coleccin de esquemas XML existente.

DROP XML SCHEMA COLLECTION (Transact-SQL) Elimina toda la

coleccin de esquemas XML y todos sus componentes.


En nuestra aplicacin vamos a crear algunas colecciones de esquemas XML
para nuestra base de datos; en el siguiente script lo haremos para la entidad
Persona creando un esquema y luego modificandola:
CREATE XML SCHEMA COLLECTION [Person].
[AdditionalContactInfoSchemaCollection] AS
'<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
targetNamespace="http://schemas.microsoft.com/sqlserver/2004/07/adventure
-works/ContactInfo"
xmlns="http://schemas.microsoft.com/sqlserver/2004/07/adventureworks/ContactInfo"
elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
<!-- the following imports are not needed. They simply provide readability
-->
<xsd:import
namespace="http://schemas.microsoft.com/sqlserver/2004/07/adventureworks/ContactRecord" />
<xsd:import
namespace="http://schemas.microsoft.com/sqlserver/2004/07/adventureworks/ContactTypes" />

ADMINISTRACIN DE BASE DE DATOS

Pgina 44 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
<xsd:element name="AdditionalContactInfo" >
<xsd:complexType mixed="true" >
<xsd:sequence>
<xsd:any processContents="strict"
namespace="http://schemas.microsoft.com/sqlserver/2004/07/adventureworks/ContactRecord
http://schemas.microsoft.com/sqlserver/2004/07/adventureworks/ContactTypes"
minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>';
GO
ALTER XML SCHEMA COLLECTION [Person].
[AdditionalContactInfoSchemaCollection] ADD
'<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
targetNamespace="http://schemas.microsoft.com/sqlserver/2004/07/adventure
-works/ContactRecord"
elementFormDefault="qualified"
xmlns="http://schemas.microsoft.com/sqlserver/2004/07/adventureworks/ContactRecord"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
<xsd:element name="ContactRecord" >
<xsd:complexType mixed="true" >
<xsd:choice minOccurs="0" maxOccurs="unbounded" >
<xsd:any processContents="strict"
namespace="http://schemas.microsoft.com/sqlserver/2004/07/adventureworks/ContactTypes" />
</xsd:choice>
<xsd:attribute name="date" type="xsd:date" />
</xsd:complexType>
</xsd:element>
</xsd:schema>';
GO

En la tabla siguiente se describen los esquemas que se utilizan en nuestra base


de datos de AdventureWorks y se enumeran las tablas representativas de cada
esquema:

ADMINISTRACIN DE BASE DE DATOS

Pgina 45 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
Esquema

Contiene objetos relacionados con

HumanResou
Empleados de Adventure Works Cycles.
rces

Ejemplos
Tabla Employee
Tabla Department
Tabla Contact

Person

Nombres y direcciones de clientes


Tabla Address
individuales, proveedores y empleados.
Tabla StateProvince
Tabla BillOfMaterials

Production

Productos fabricados y vendidos por


Adventure Works Cycles.

Tabla Product
Tabla WorkOrder
Tabla
PurchaseOrderDetail

Purchasing

Proveedores a los que se compran las


piezas y los productos.

Tabla
PurchaseOrderHeade
r
Tabla Vendor
Tabla Customer

Sales

Tabla
Datos relacionados con los clientes y las
SalesOrderDetail
ventas.
Tabla
SalesOrderHeader

8.2.3.

Creacin de las tablas:

Se crear una tabla Producto para el rea de Produccin (esquema Production


en la BD), estableciendo su Clave Primaria (Primary Key), sus respectivos
CONSTRAINTS y con algunos CHECKS para sus restricciones:
CREATE TABLE [Production].[Product](
[ProductID] [int] IDENTITY (1, 1) NOT NULL,
[Name] [Name] NOT NULL,
ADMINISTRACIN DE BASE DE DATOS

Pgina 46 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
[ProductNumber] [nvarchar](25) NOT NULL,
[MakeFlag] [Flag] NOT NULL CONSTRAINT [DF_Product_MakeFlag] DEFAULT
(1),
[FinishedGoodsFlag] [Flag] NOT NULL CONSTRAINT
[DF_Product_FinishedGoodsFlag] DEFAULT (1),
[Color] [nvarchar](15) NULL,
[SafetyStockLevel] [smallint] NOT NULL,
[ReorderPoint] [smallint] NOT NULL,
[StandardCost] [money] NOT NULL,
[ListPrice] [money] NOT NULL,
[Size] [nvarchar](5) NULL,
[SizeUnitMeasureCode] [nchar](3) NULL,
[WeightUnitMeasureCode] [nchar](3) NULL,
[Weight] [decimal](8, 2) NULL,
[DaysToManufacture] [int] NOT NULL,
[ProductLine] [nchar](2) NULL,
[Class] [nchar](2) NULL,
[Style] [nchar](2) NULL,
[ProductSubcategoryID] [int] NULL,
[ProductModelID] [int] NULL,
[SellStartDate] [datetime] NOT NULL,
[SellEndDate] [datetime] NULL,
[DiscontinuedDate] [datetime] NULL,
[rowguid] uniqueidentifier ROWGUIDCOL NOT NULL CONSTRAINT
[DF_Product_rowguid] DEFAULT (NEWID()),
[ModifiedDate] [datetime] NOT NULL CONSTRAINT
[DF_Product_ModifiedDate] DEFAULT (GETDATE()),
CONSTRAINT [CK_Product_SafetyStockLevel] CHECK ([SafetyStockLevel] >
0),
CONSTRAINT [CK_Product_ReorderPoint] CHECK ([ReorderPoint] > 0),
CONSTRAINT [CK_Product_StandardCost] CHECK ([StandardCost] >= 0.00),
CONSTRAINT [CK_Product_ListPrice] CHECK ([ListPrice] >= 0.00),
CONSTRAINT [CK_Product_Weight] CHECK ([Weight] > 0.00),
CONSTRAINT [CK_Product_DaysToManufacture] CHECK ([DaysToManufacture]
>= 0),
CONSTRAINT [CK_Product_ProductLine] CHECK (UPPER([ProductLine]) IN ('S',
'T', 'M', 'R') OR [ProductLine] IS NULL),
CONSTRAINT [CK_Product_Class] CHECK (UPPER([Class]) IN ('L', 'M', 'H') OR
[Class] IS NULL),
CONSTRAINT [CK_Product_Style] CHECK (UPPER([Style]) IN ('W', 'M', 'U') OR
[Style] IS NULL),
CONSTRAINT [CK_Product_SellEndDate] CHECK (([SellEndDate] >=
[SellStartDate]) OR ([SellEndDate] IS NULL)),
) ON [PRIMARY];
GO
ALTER TABLE [Production].[Product] WITH CHECK ADD
CONSTRAINT [PK_Product_ProductID] PRIMARY KEY CLUSTERED
(

ADMINISTRACIN DE BASE DE DATOS

Pgina 47 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
[ProductID]
) ON [PRIMARY];
GO
Tambin se le crea un ndice para acelerar y hacer ms eficiente las consultas
sobre la tabla producto, este ndice tambin se puede realizar en XML para
cada columna XML:
CREATE UNIQUE INDEX [AK_Product_ProductNumber] ON [Production].[Product]
([ProductNumber]) ON [PRIMARY];
CREATE UNIQUE INDEX [AK_Product_Name] ON [Production].[Product]([Name])
ON [PRIMARY];
CREATE UNIQUE INDEX [AK_Product_rowguid] ON [Production].[Product]
([rowguid]) ON [PRIMARY];
GO
CREATE PRIMARY XML INDEX [PXML_ProductModel_CatalogDescription] ON
[Production].[ProductModel]([CatalogDescription]);
GO
CREATE PRIMARY XML INDEX [PXML_ProductModel_Instructions] ON
[Production].[ProductModel]([Instructions]);
GO

ADMINISTRACIN DE BASE DE DATOS

Pgina 48 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
Creacin de Foreign Keys para la tabla producto:
ALTER TABLE [Production].[Product] ADD
CONSTRAINT [FK_Product_UnitMeasure_SizeUnitMeasureCode] FOREIGN KEY
(
[SizeUnitMeasureCode]
) REFERENCES [Production].[UnitMeasure](
[UnitMeasureCode]
),
CONSTRAINT [FK_Product_UnitMeasure_WeightUnitMeasureCode] FOREIGN
KEY
(
[WeightUnitMeasureCode]
) REFERENCES [Production].[UnitMeasure](
[UnitMeasureCode]
),
CONSTRAINT [FK_Product_ProductModel_ProductModelID] FOREIGN KEY
(
[ProductModelID]
) REFERENCES [Production].[ProductModel](
[ProductModelID]
),
CONSTRAINT [FK_Product_ProductSubcategory_ProductSubcategoryID]
FOREIGN KEY
(
[ProductSubcategoryID]
) REFERENCES [Production].[ProductSubcategory](
[ProductSubcategoryID]
);
GO

8.2.4.

Modelo Relacional:

Debido a la enorme cantidad de tablas distribuidas en los diferentes esquemas


en la base de datos AdventureWorks, presentar un modelo relacional entre
todas las tablas de la base de datos sera demasiado incomprensible y extenso,
por lo que presentaremos solamente el modelo relacional del esquema ms
importante del negocio: Esquema de produccin.
Este esquema contiene la informacin completa de los productos que la
empresa fabrica, y su relacin con las diferentes tablas existentes en el
esquema. Estas tablas contienen la informacin de: los componentes que se
utilizan para fabricar las biciletas, lista de ubicaciones en las que los productos
y las piezas de almacenan como inventario, clasificacin general de los
productos, costos, descripcin, modelos del producto, orden de trabajo, etc.

ADMINISTRACIN DE BASE DE DATOS

Pgina 49 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
Modelo relacional sencillo del esquema Production

ADMINISTRACIN DE BASE DE DATOS

Pgina 50 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

ADMINISTRACIN DE BASE DE DATOS

Pgina 51 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

8.2.5.

Creacin de Triggers:

Para el rea de produccin se crearon los siguientes triggers, estos triggers se


relacionan con la orden de trabajo y el historial de transacciones del producto
en particular, cada vez que se crea una nueva orden de trabajo de un producto
o si se edita una orden se deber registrar la informacin de esa orden en el
historial de transacciones del producto.
CREATE TRIGGER [Production].[iWorkOrder] ON [Production].[WorkOrder]
AFTER INSERT AS
BEGIN
DECLARE @Count int;
SET @Count = @@ROWCOUNT;
IF @Count = 0
RETURN;
SET NOCOUNT ON;
BEGIN TRY
INSERT INTO [Production].[TransactionHistory](
[ProductID]
,[ReferenceOrderID]
,[TransactionType]
,[TransactionDate]
,[Quantity]
,[ActualCost])
SELECT
inserted.[ProductID]
,inserted.[WorkOrderID]
,'W'
,GETDATE()
,inserted.[OrderQty]
,0
FROM inserted;
END TRY
BEGIN CATCH
EXECUTE [dbo].[uspPrintError];
-- Rollback any active or uncommittable transactions before
-- inserting information in the ErrorLog
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRANSACTION;
END
EXECUTE [dbo].[uspLogError];
END CATCH;
END;

ADMINISTRACIN DE BASE DE DATOS

Pgina 52 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
GO
CREATE TRIGGER [Production].[uWorkOrder] ON [Production].[WorkOrder]
AFTER UPDATE AS
BEGIN
DECLARE @Count int;
SET @Count = @@ROWCOUNT;
IF @Count = 0
RETURN;
SET NOCOUNT ON;
BEGIN TRY
IF UPDATE([ProductID]) OR UPDATE([OrderQty])
BEGIN
INSERT INTO [Production].[TransactionHistory](
[ProductID]
,[ReferenceOrderID]
,[TransactionType]
,[TransactionDate]
,[Quantity])
SELECT
inserted.[ProductID]
,inserted.[WorkOrderID]
,'W'
,GETDATE()
,inserted.[OrderQty]
FROM inserted;
END;
END TRY
BEGIN CATCH
EXECUTE [dbo].[uspPrintError];
-- Rollback any active or uncommittable transactions before
-- inserting information in the ErrorLog
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRANSACTION;
END
EXECUTE [dbo].[uspLogError];
END CATCH;
END;
GO

ADMINISTRACIN DE BASE DE DATOS

Pgina 53 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

8.2.6.

Creacin de Funciones:

Primeramente se crear una funcin para saber el nivel de stock de un


producto en su respectivo almacn, donde el parmetro de entrada ser el
cdigo del producto.
Cdigo de la funcin:
CREATE FUNCTION [dbo].[ufnGetStock](@ProductID [int])
RETURNS [int]
AS
-- Returns the stock level for the product. This function is used internally only
BEGIN
DECLARE @ret int;
SELECT @ret = SUM(p.[Quantity])
FROM [Production].[ProductInventory] p
WHERE p.[ProductID] = @ProductID
AND p.[LocationID] = '6'; -- Only look at inventory in the misc storage
IF (@ret IS NULL)
SET @ret = 0
RETURN @ret
END;
GO
Al ejecutar la funcin para un parmetro 1 y al consultarlo se obtiene su stock
respectivo:

ADMINISTRACIN DE BASE DE DATOS

Pgina 54 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
Luego crearemos una funcin para obtener el precio de un producto segn su
cdigo y una fecha en especfico, esta informacin se obtendr del historial de
costos del producto.
Cdigo de la funcin:
CREATE FUNCTION [dbo].[ufnGetProductStandardCost](@ProductID [int],
@OrderDate [datetime])
RETURNS [money]
AS
-- Returns the standard cost for the product on a specific date.
BEGIN
DECLARE @StandardCost money;
SELECT @StandardCost = pch.[StandardCost]
FROM [Production].[Product] p
INNER JOIN [Production].[ProductCostHistory] pch
ON p.[ProductID] = pch.[ProductID]
AND p.[ProductID] = @ProductID
AND @OrderDate BETWEEN pch.[StartDate] AND COALESCE(pch.
[EndDate], CONVERT(datetime, '99991231', 112)); -- Make sure we get all the
prices!
RETURN @StandardCost;
END;
GO
El resultado que obtendremos al consultar la funcin con los parmetros
respectivos del producto con cdigo 770 y la fecha del 20-06-2011 ser:

ADMINISTRACIN DE BASE DE DATOS

Pgina 55 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

8.2.7.

Creacin de Procedimientos:

Este procedure permite obtener los datos de los diferentes componentes de un


producto en sus diferentes niveles de estructura, adems se mostrar la
descripcin del componente, su cantidad, su costo total, y su nivel de jerarqua
en la construccin del producto.
Cdigo del procedure:
CREATE PROCEDURE [dbo].[uspGetWhereUsedProductID]
@StartProductID [int],
@CheckDate [datetime]
AS
BEGIN
SET NOCOUNT ON;
--Use recursive query to generate a multi-level Bill of Material (i.e. all level 1
components of a level 0 assembly, all level 2 components of a level 1
assembly)
WITH [BOM_cte]([ProductAssemblyID], [ComponentID], [ComponentDesc],
[PerAssemblyQty], [StandardCost], [ListPrice], [BOMLevel], [RecursionLevel]) -CTE name and columns
AS (
SELECT b.[ProductAssemblyID], b.[ComponentID], p.[Name], b.
[PerAssemblyQty], p.[StandardCost], p.[ListPrice], b.[BOMLevel], 0 -- Get the
initial list of components for the bike assembly
FROM [Production].[BillOfMaterials] b
INNER JOIN [Production].[Product] p
ON b.[ProductAssemblyID] = p.[ProductID]
WHERE b.[ComponentID] = @StartProductID
AND @CheckDate >= b.[StartDate]
AND @CheckDate <= ISNULL(b.[EndDate], @CheckDate)
UNION ALL
SELECT b.[ProductAssemblyID], b.[ComponentID], p.[Name], b.
[PerAssemblyQty], p.[StandardCost], p.[ListPrice], b.[BOMLevel],
[RecursionLevel] + 1 -- Join recursive member to anchor
FROM [BOM_cte] cte
INNER JOIN [Production].[BillOfMaterials] b
ON cte.[ProductAssemblyID] = b.[ComponentID]
INNER JOIN [Production].[Product] p
ON b.[ProductAssemblyID] = p.[ProductID]
WHERE @CheckDate >= b.[StartDate]
AND @CheckDate <= ISNULL(b.[EndDate], @CheckDate)
)
-- Outer select from the CTE
SELECT b.[ProductAssemblyID], b.[ComponentID], b.[ComponentDesc],
SUM(b.[PerAssemblyQty]) AS [TotalQuantity] , b.[StandardCost], b.[ListPrice], b.
[BOMLevel], b.[RecursionLevel]
FROM [BOM_cte] b
ADMINISTRACIN DE BASE DE DATOS

Pgina 56 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
GROUP BY b.[ComponentID], b.[ComponentDesc], b.[ProductAssemblyID], b.
[BOMLevel], b.[RecursionLevel], b.[StandardCost], b.[ListPrice]
ORDER BY b.[BOMLevel], b.[ProductAssemblyID], b.[ComponentID]
OPTION (MAXRECURSION 25)
END;
GO
Al ejecutar el procedimiento para el producto con cdigo 717 y en la fecha del
15-06-2011, se obtendrn los siguientes resultados:

8.2.8.

Creacin de vistas:

Cdigo de creacin para el producto y su descripcin:


CREATE VIEW [Production].[vProductAndDescription]
WITH SCHEMABINDING
AS
-- View (indexed or standard) to display products and product descriptions by
language.
SELECT
p.[ProductID]

ADMINISTRACIN DE BASE DE DATOS

Pgina 57 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
,p.[Name]
,pm.[Name] AS [ProductModel]
,pmx.[CultureID]
,pd.[Description]
FROM [Production].[Product] p
INNER JOIN [Production].[ProductModel] pm
ON p.[ProductModelID] = pm.[ProductModelID]
INNER JOIN [Production].[ProductModelProductDescriptionCulture] pmx
ON pm.[ProductModelID] = pmx.[ProductModelID]
INNER JOIN [Production].[ProductDescription] pd
ON pmx.[ProductDescriptionID] = pd.[ProductDescriptionID];
GO
El diseo de esta vista se podr visualizar en el SQL Server Management Studio
de la siguiente manera:

ADMINISTRACIN DE BASE DE DATOS

Pgina 58 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
Al consultar la vista se tendra el siguiente resultado:

8.3.

Sentencias DML (Lenguaje de manipulacin de datos)

8.3.1.

Insertando Datos:

Para insertar datos a la entidad Producto se necesita insertar un cdigo de


subcategora y de modelo existentes en la base de datos ya que sus claves
primarias son consideradas como claves forneas en la tabla Producto.
Insertaremos los datos de un Producto con nombre PRODUCTO X y con cdigo
1010:
INSERT INTO Production.Product
("ProductID","Name","ProductNumber","MakeFlag","FinishedGoodsFlag","Color",
"SafetyStockLevel","ReorderPoint","StandardCost","ListPrice","Size","SizeUnitM
easureCode","WeightUnitMeasureCode"
, "Weight", "DaysToManufacture", "ProductLine", "Class",
"Style","ProductSubcategoryID","ProductModelID","SellStartDate"
,"SellEndDate","DiscontinuedDate","rowguid","ModifiedDate") VALUES
(1010,'PRODUCTO X','XY-7800',0,0,'Black',
1000, 600, 300.5, 620.75, 55, 'CM', 'LB', 23.44, 5, 'M', 'L', 'U', 21,10,
'20140530', NULL, NULL,
'694215B7-08F7-4C1D-ACB1-D754Bb44C0C8', '20140208');

ADMINISTRACIN DE BASE DE DATOS

Pgina 59 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
Al realizar una consulta del PRODUCTO X, se mostrarn los datos del nuevo
producto que hemos insertado:

8.3.2.

Actualizar Datos:

Actualizaremos los datos del PRODUCTO X que hemos creado anteriormente,


cambiaremos su ProductNumber por de XY-7800 a XY-7500 y le cambiaremos
su Precio de 620.75 a 700.50
UPDATE Production.Product
set ProductNumber='XY-7500', ListPrice=700.50
where ProductID=1010;
Al consultar la Tabla del PRODUCTO X con cdigo 1010 veremos que la
actualizacin de datos se realiz satisfactoriamente:

ADMINISTRACIN DE BASE DE DATOS

Pgina 60 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

8.3.3.

Eliminar datos:

Procederemos a eliminar el PRODUCTO X con cdigo 1010:


DELETE from Production.Product
where ProductID=1010;
Al consultar la tabla del PRODUCTO X, veremos que la eliminacin de datos se
ha realizado satisfactoriamente:

8.3.4.

Reportes

Reporte de los productos con color Negro y cuyo precio sea mayor a 200
dlares:
select ProductID, Name, ProductNumber, Color, SafetyStockLevel,
ReorderPoint,StandardCost, ListPrice, ProductSubcategoryID, ProductModelID
from Production.Product where Color='Black' and ListPrice>200;

ADMINISTRACIN DE BASE DE DATOS

Pgina 61 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

Reporte de las ordenes de venta de un producto: el n de orden, su fecha y su


importe total:
SELECT
H.SalesOrderID AS 'N Orden',
H.OrderDate AS Fecha,
SUM(D.OrderQty*D.UnitPrice) AS [Importe Vendido]
FROM Sales.SalesOrderHeader H
INNER JOIN Sales.SalesOrderDetail D
ON H.SalesOrderID = D.SalesOrderID
GROUP BY H.SalesOrderID, H.OrderDate;

ADMINISTRACIN DE BASE DE DATOS

Pgina 62 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

Reporte de las ordenes de venta, con el nombre y apellido del cliente, su correo
y cuyo importe de venta total sea mayor 2000 dlares:
SELECT
H.SalesOrderID AS 'N Orden',
H.OrderDate AS Fecha,
SUM(D.OrderQty*D.UnitPrice) AS [Importe Vendido],
C.FirstName+' '+C.MiddleName+' '+C.LastName AS Cliente,
A.EmailAddress AS Email
FROM Sales.SalesOrderHeader H
INNER JOIN Sales.SalesOrderDetail D
ON H.SalesOrderID = D.SalesOrderID
INNER JOIN Person.Person C
ON H.CustomerID = C.BusinessEntityID
INNER JOIN Person.EmailAddress A
ON C.BusinessEntityID = A.BusinessEntityID
GROUP BY H.SalesOrderID, H.OrderDate, C.FirstName+' '+C.MiddleName+'
'+C.LastName,A.EmailAddress
HAVING SUM(D.OrderQty*D.UnitPrice)>2000;

ADMINISTRACIN DE BASE DE DATOS

Pgina 63 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

Reporte de los vendedores que tiene la empresa AdventureWorks, con sus


datos del vendedor y sus ventas de este ao y del ao pasado:
SELECT
s.[BusinessEntityID] AS CODIGO
,p.[FirstName] AS NOMBRE
,p.[LastName] AS APELLIDO
,e.[JobTitle] AS TTULO
,pp.[PhoneNumber] AS NMERO
,ea.[EmailAddress] AS CORREO
,a.[AddressLine1] AS DIRRECIN
,a.[City] AS CIUDAD
,s.[SalesQuota] AS VENTAS
,s.[SalesLastYear] AS Ventas_Ao_Pasado
FROM [Sales].[SalesPerson] s
INNER JOIN [HumanResources].[Employee] e
ON e.[BusinessEntityID] = s.[BusinessEntityID]
INNER JOIN [Person].[Person] p
ON p.[BusinessEntityID] = s.[BusinessEntityID]
INNER JOIN [Person].[BusinessEntityAddress] bea
ON bea.[BusinessEntityID] = s.[BusinessEntityID]
INNER JOIN [Person].[Address] a
ON a.[AddressID] = bea.[AddressID]
INNER JOIN [Person].[CountryRegion] cr
ON cr.[CountryRegionCode] = sp.[CountryRegionCode]
LEFT OUTER JOIN [Sales].[SalesTerritory] st
ON st.[TerritoryID] = s.[TerritoryID]
LEFT OUTER JOIN [Person].[EmailAddress] ea

ADMINISTRACIN DE BASE DE DATOS

Pgina 64 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER
ON ea.[BusinessEntityID] = p.[BusinessEntityID]
LEFT OUTER JOIN [Person].[PersonPhone] pp
ON pp.[BusinessEntityID] = p.[BusinessEntityID]

Reporte de los datos de los productos con su cdigo, nombre, color, nivel de
stock, costo , precio, su nmero componentes estructurales (Bills of Materials)
totales, adems se muestra la cantidad de ordenes totales que se ha realizado
de un producto y con una condicin de que su stock actual sea mayor que
200:
SELECT
P.ProductID as Cdigo, P.Name as Nombre, P.Color, P.SafetyStockLevel as 'Nivel
de Stock', P.StandardCost as Costo, P.ListPrice as Precio,
SUM(B.PerAssemblyQty) as 'Cantidad de Materiales', SUM(W.OrderQty) as
'Orden Total'
FROM Production.Product P
INNER JOIN Production.BillOfMaterials B
ON P.ProductID = B.ComponentID
INNER JOIN Production.WorkOrder W
ON W.ProductID = P.ProductID
WHERE P.SafetyStockLevel > 200
GROUP BY P.SafetyStockLevel, P.Name, P.StandardCost, P.ListPrice, P.ProductID,
P.Color

ADMINISTRACIN DE BASE DE DATOS

Pgina 65 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

8.4.

Exportar datos a Excel

Desde el mismo Excel se puede importar las tablas de nuestras diferentes


bases de datos a travs de las pestaas Datos > De otras fuentes > Desde Sql
Server.
Seleccionamos nuestro servidor, luego seleccionamos la base de datos que
queremos importar ( AdventureWorks ),y por ltimo la tabla o vista que
deseamos excelizar.

ADMINISTRACIN DE BASE DE DATOS

Pgina 66 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

Al importar los datos obtendremos la siguiente tabla en excel con la


informacin de la tabla Empleados de base de datos utilizada en nuestra
aplicacin:

ADMINISTRACIN DE BASE DE DATOS

Pgina 67 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

CONCLUSIONES
Microsoft SQL Server es un manejador de base de datos que implementa
el modelo relacional, teniendo como ventaja manejar la relacin de
muchos a muchos. Adems de tener la considerable ventaja de que es
ms fcil de entender y de utilizar por un usuario no experto.
La organizacin de archivos de SQL Server se hace de forma indexada
utilizando dos archivos, uno de datos que contiene la informacin de la
base de datos permitiendo que las consultas realizadas sean ms
rpidas, accedindose a los registros de forma secuencial y tambin de
forma aleatoria, usando el ndice.
SQL Server presenta opciones para la administracin de los datos y su
seguridad respectiva. Esto mediante las copias de seguridad y sus
diversas formas de realizarlo, as como los permisos que se otorgan a los
usuarios para la lectura y escritura de los datos.
Microsoft SQL Server compensa su precio al ser usado en empresas que
posean bases de datos de gran volumen, sobre todo si se requiere de
encriptacin, debido a que este manejador de base de datos apuesta por
la seguridad.
Las empresas grandes tanto del Per como del Mundo, tienen
implementados este gestor de base de datos que almacenan las grandes
cantidades de datos que son originados por el propio negocio. Esto
debido a su seguridad y escalabilidad.
Microsoft SQL Server ofrece garantas, as como un rendimiento
confiable, mayor rapidez en la obtencin de la informacin privilegiada
que subyace en datos de cualquier tipo, y una plataforma para la nube
hbrida, que facilitan ms la creacin de soluciones de recuperacin ante
desastres y copias de seguridad con Microsoft Azure.
Por lo tanto, SQL Server hace ms sencilla y rentable la creacin de
aplicaciones esenciales y de alto rendimiento, ayudando a los empleados
y de la alta direccin, a tomar decisiones ms inteligentes y rpidas.

ADMINISTRACIN DE BASE DE DATOS

Pgina 68 de 69

SISTEMA DE GESTIN DE BASE DE DATOS


SQL SERVER

BIBLIOGRAFA
https://msdn.microsoft.com/es-es/library/bb545450.aspx
https://www.microsoft.com/es-es/server-cloud/products/sql-serverbenchmarks/partner.aspx
http://www.spperu.com/pdf/microstrategy/Neptunia.pdf
http://www.spperu.com/pdf/microstrategy/AFPIntegra.pdf
http://www.spperu.com/pdf/microstrategy/Depsa.pdf
http://www.spperu.com/pdf/microstrategy/Laboratorios_Hersil.pdf
http://www.spperu.com/pdf/microstrategy/Miyasato.pdf
http://www.spperu.com/pdf/microstrategy/Yichang.pdf
https://www.microsoft.com/en-us/server-cloud/products/sqlserver/purchasing.aspx

ADMINISTRACIN DE BASE DE DATOS

Pgina 69 de 69

También podría gustarte