You are on page 1of 35

Introduccin

En el siguiente informe hablaremos sobre Microsoft SQL Server, abarcaremos desde el comienzo de su historia con Microsoft SQL Server 1.0 cuya creacin fue generada en el ao 1989, hasta lo que ha logrado llegar a ser hoy en da como lo es con Microsoft SQL Server 2012. Hablaremos del comienzo de Microsoft y de su alianza con sybase, la cual tiene duracin desde el ao 1989 hasta el ao 1993, cuando estos dos grandes de los sistemas de BD deciden tomar caminos por separado. Tambin hablaremos del notorio cambio que efectu como imagen Microsoft en el ao 2000 con su versin 8.0, donde mejora considerablemente el sistema que ya venia trabajando desde su comienzo en el ao 1989. Desde ese entonces Microsoft ya comienza a ser reconocido como una corporacin consolidada en el rea de bases de datos, por lo cual comienza a ganar clientes y competir con grandes corporaciones de bases de datos como son ORACLE O IBM. Cabe mencionar que para el ao 2005 microsoft realiza uno de los cambios ms importantes en su motor de base de datos con su nueva versin 9.0, el cual hasta hoy a la fecha aun continua manteniendo su arquitectura de funcionalidad con SQL Server 2012. Nuestro enfoque principal en este informe de SQL Server ser para la versin 9.0, como ya aviamos mencionado anteriormente esta versin fue la mejora mas importante que halla realizado Microsoft a lo largo de su historia.

Historia de SQL server

Comenz como un proyecto de colaboracin en 1988 entre Microsoft , Sybase , IBM e incluso AshtonTate para crear un sistema de gestin de base de datos para el sistema operativo OS/2 (sistema desarrollado entre IBM y Microsoft), donde la primera version de SQL Server fue SQL Server 1.0 desarrollada en el ao1989, tiempo despus se desarrollo la versin SQL Server 4.21 para Windows NT en el ao 1993. Al ao siguiente en 1994 Sybase y Microsoft deciden dar por terminada su colaboracin y Sybase se dedica al desarrollo de sus bases de datos y al igual que Microsoft con las suyas. En 1995 Microsoft Lanza su primera versin ya como independiente y nico propietario, desarrollando SQL Server con la versin Microsoft SQL Server 6.0, una versin mejorada principalmente en rendimiento, luego en el ao 1996 se lanza la versin Microsoft SQL Server 6.5, esta fue una versin que se mantuvo vigente durante 2 aos, luego Microsoft saco su nueva versin 7.0 en el ao 1998 en donde durante esos 2 aos Microsoft trabajo rigurosamente para realizar mejoras considerables en cuanto a usabilidad, potencia y rendimiento. Fue una de las versiones mas fuertes y en donde SQL tuvo una evolucin considerable, pudiendo competir con sistemas como ORACLE o el propio DB2 y poco a poco logro consolidarse como una propuesta atractiva a empresas que manejaban volmenes un poco mayores a los que SQL Server venia manejando. Tanto as que esta versin permaneci estable y con ligeras actualizaciones hasta el desarrollo de Microsoft SQL Server 2000 o version 8.0 en esta versin incorpora ediciones para diferentes enfoques, una de ellas la edicin de 64bits, workgroup, desktop, profesional, personal, standard, developer, Enterprise, etc. Durante los siguientes 5 aos comenz a causar delirios de persecucin a los gigantes de las bases de datos como ORACLE o IBM con DB2, para la versin 2005 de SQL Server o version 9.0 ya era un serio competidor digno de respeto por las competencias. Para el ao 2008 Microsoft saca su nueva version Microsoft server 2008 o version 10.0 y luego para el ao 2010 Microsoft saca la version de SQL Server 2008 R2, finalmente la version mas acualisada de Microsoft es la version MIcrosoft server 2012

Versiones a los largo de la historia de SQL Server Versin 1.0 ( OS / 2 ) 1.1 ( OS / 2 ) 4.21 ( WinNT ) 6.0 6.5 7.0 Ao 1989 1991 1993 1995 1996 1998 Nombre del estreno SQL Server 1.0 (16 bits) SQL Server 1.1 (16 bits) SQL Server 4.21 SQL Server 6.0 SQL Server 6.5 SQL Server 7.0 SQL Server 7.0 OLAP Herramientas SQL Server 2000 SQL Server 2000 64-bit Edition SQL Server 2005 SQL Server 2008 SQLNT SQL95 Hidra Esfinge Nombre en clave SQL

1999

Platn

8.0

2000

Shiloh

8.0

2003

Libertad

9.0 10.0

2005 2008

Yukon Katmai Matrix (tambin conocido como CloudDB) Kilimanjaro (tambin conocido como KJ) Denali

10.25

2010

SQL Azure

10.5

2010

SQL Server 2008 R2

11.0

2012

SQL Server 2012

Microsoft SQL Server 2005

MS SQL Server a la medida Microsoft hace que SQL Server este disponible en varias ediciones, con diferentes conjuntos de caractersticas y objetivos a diferentes usuarios. Estas ediciones son las siguientes: Ediciones Mainstream (Segn necesidad)

Datacenter

SQL Server 2008 R2 Datacenter es la edicin con todas las caractersticas de SQL Server y est diseado para centros de datos que requieren los altos niveles de soporte de aplicaciones y la escalabilidad. Es compatible con 256 procesadores lgicos y de memoria prcticamente ilimitada. Viene con la edicin Premium de StreamInsight. La edicin Datacenter se ha retirado en SQL Server 2012, todas las funciones estn disponibles en SQL Server 2012 Edicin Enterprise.

Enterprise

SQL Server Enterprise Edition incluye tanto el motor de base de datos central y los servicios de add-on, con una serie de herramientas para crear y administrar un clster de SQL Server. Se puede administrar bases de datos tan grande como 524 petabytes y direccin 2 terabytes de memoria y soporta 8 procesadores fsicos.

Standard

SQL Server Standard Edition incluye el motor de base de datos central, junto con los servicios independientes. Se diferencia de la edicin Enterprise en que es compatible con un menor nmero de casos activos (nmero de nodos en un cluster) y no incluye algunas de las funciones de alta disponibilidad tales como hot-add memoria (memoria permitiendo que se aade mientras el servidor sigue en funcionamiento), y ndices paralelos.

Web

SQL Server Web Edition es un bajo costo total de propiedad opcin de alojamiento web.

Business Intelligence

Introducido en SQL Server 2012 y se centra en Self Service y Business Intelligence Corporativo. Incluye las funciones de edicin estndar y herramientas de Business Intelligence: PowerPivot, Power View, el modelo semntico de BI, Servicios de datos maestros, Servicios de Calidad de Datos y xVelocity en memoria analtica.

Workgroup

SQL Server Workgroup Edition incluye la funcionalidad de base de datos central, pero no incluye los servicios adicionales. Tenga en cuenta que esta edicin ha sido retirado en SQL Server 2012.

Express

SQL Server Express Edition es una escala hacia abajo edicin gratuita de SQL Server, que incluye el motor de base de datos central. Si bien no hay limitaciones en el nmero de bases de datos o usuarios admitidos, que se limita a la utilizacin de un procesador, memoria de 1 GB y 4 GB de archivos de base de datos (10 GB de archivos de base de datos SQL Server Express 2008 R2 ). Se pretende que sea un reemplazo para MSDE . Dos ediciones adicionales proporcionan un superconjunto de caractersticas que no estn en el original Express Edition. La primera es SQL Server Express con herramientas , que incluye SQL Server Management Studio Basic. SQL Server Express con Advanced Services agrega texto completo de la capacidad de bsqueda y servicios de informacin.

Ediciones Especializadas

Azur

Microsoft SQL Azure Database es la basada en la nube versin de Microsoft SQL Server, presentado como software como servicio en Azure Services Platform.

Compact (SQL CE)

La edicin compacto es un motor de base de datos integrada. A diferencia de las otras ediciones de SQL Server, el motor SQL CE se basa en SQL Mobile (inicialmente diseado para su uso con dispositivos de mano) y no compartir los mismos archivos binarios. Debido a su pequeo tamao (1 huella DLL MB), tiene una caracterstica marcadamente reducido fijado en comparacin con las otras ediciones. Por ejemplo, se admite un subconjunto de los tipos de datos estndar, no admite procedimientos almacenados o vistas o mltiples sentencias lotes (entre otras limitaciones). Se limita a 4 GB de tamao mximo de base de datos y no se puede ejecutar como un servicio de Windows, Compact Edition debern ser invitados por la aplicacin de usarlo. La versin 3.5 incluye soportes ADO.NET servicios de sincronizacin. SQL CE no es compatible con conectividad ODBC, a diferencia de SQL Server adecuado.

Developer

SQL Server Developer Edition incluye las mismas caractersticas de SQL Server 2012 Edicin Enterprise, pero est limitado por la licencia para ser utilizado como un sistema de prueba y desarrollo, y no como servidor de produccin. Esta edicin est disponible para descarga por los estudiantes de forma gratuita como parte de Microsoft 's DreamSpark programa.

Embedded (SSEE)

SQL Server 2005 Embedded Edition es un ejemplo especialmente configurado el nombre del motor de base de datos SQL Server Express que se puede acceder slo por algunos servicios de Windows.

Evaluacin

SQL Server Evaluation Edition, tambin conocida como la edicin de prueba , tiene todas las caractersticas de la edicin Enterprise, pero est limitado a 180 das, despus de lo cual las herramientas continuar funcionando, pero los servicios de servidor se detendr

Fast Track

SQL Server Fast Track es especficamente para escala empresarial almacenamiento de data warehousing y procesamiento de inteligencia de negocios, y se ejecuta en hardware de referencia de arquitectura que est optimizado para Fast Track.

Parallel Data Warehouse (PDW)

Un procesamiento paralelo masivo (MPP) dispositivo de servidor SQL optimizado para grandes almacenes de datos , tales como cientos de terabytes.

Arquitectura

Esta arquitectura de MS SQL Server contiene diferentes capas y servicios.

Protocolo de capa
Protocolo de capa implementa la interfaz externa a SQL Server. Todas las operaciones que se pueden invocar en SQL Server se comunican a travs de un formato definido por Microsoft, llamada secuencia de datos tabular (TDS). TDS es un protocolo de capa de aplicacin, que se utiliza para transferir datos entre un servidor de base de datos y un cliente. Inicialmente diseado y desarrollado por Sybase Inc. por su Sybase SQL Server Motor de base de datos relacional en 1984, y ms tarde por Microsoft en Microsoft SQL Server, paquetes TDS se puede encerrar en otros protocolos de transporte fsico cargo, tales como TCP / IP , Conexiones con nombre , y compartido memoria . En consecuencia, el acceso a SQL Server est disponible a travs de estos protocolos. Adems, el SQL Server API tambin est expuesta a travs de servicios web.

Almacenamiento
La unidad principal de almacenamiento de datos es una base de datos , que es una coleccin de tablas con mecanografiadas columnas. SQL Server admite distintos tipos de datos, incluidos los tipos primarios tales como Integer , Float , Decimal , Char (incluyendo cadenas de caracteres), Varchar (variables de las cadenas de caracteres de longitud), binario (por no estructurados blobs de datos), Texto (para los datos textuales), entre otros . El redondeo de carrozas a enteros utiliza cualquiera de redondeo aritmticos simtrico simtrico o Round Down ( Fix ) en funcin de argumentos: Ronda SELECT (2,5, 0) da 3. Microsoft SQL Server tambin permite a los definidos por el usuario (UDT tipos compuestos) que se define y utiliza. Tambin hace que las estadsticas del servidor en forma de tablas y vistas virtuales (llamados vistas de administracin dinmica o DMV). Adems de las tablas de una base de datos puede contener tambin otros objetos como vistas , procedimientos almacenados , ndices y restricciones , junto con un registro de transacciones. Una base de datos de SQL Server puede contener un mximo de 2 31 objetos, y pueden abarcar varios niveles OS-archivos con un tamao mximo de archivo de 2 20 TB . Los datos de la base de datos se almacenan en archivos de datos primarios con una extensin . mdf . Archivos de datos secundarios, identificados con una . ndf extensin, se utilizan para almacenar opcional metadatos . Los archivos de registro se identifican con el . ldf extensin.

El espacio de almacenamiento asignado a una base de datos se divide en numerados secuencialmente pginas , cada uno de 8 KB de tamao. Una pgina es la unidad bsica de E / S para operaciones de SQL Server. Una pgina est marcada con una cabecera de 96 bytes que almacena metadatos acerca de la pgina, incluyendo el nmero de pgina, tipo de pgina, el espacio libre en la pgina y el Id. del objeto que lo posee. Tipo de pgina define los datos que figuran en la pgina - datos almacenados en la base de datos, hoja de ndice de asignacin, que contiene informacin sobre el nmero de pginas se asignan a las tablas e ndices, cambio del mapa que contiene informacin sobre los cambios realizados en otras pginas desde la ltima copia de seguridad o de registro , o que contienen tipos de datos de gran tamao como imagen o texto. Mientras que la pgina es la unidad bsica de una operacin de E / S, el espacio es realmente administrada en trminos de una medida que consiste en 8 pginas. Un objeto de base de datos puede abarcar todas las 8 pginas en el punto ("extensin uniforme") o compartir una extensin de hasta 7 ms objetos ("extensin mixta"). Una fila en una tabla de base de datos no puede abarcar ms de una pgina, por lo que se limita a 8 KB de tamao. Sin embargo, si los datos superan 8 KB y la fila contiene Varchar o Varbinary datos, los datos de esas columnas se mueven a una nueva pgina (o, posiblemente, una secuencia de pginas, llamado una unidad de asignacin ) y se sustituye por un puntero a los datos. Para el almacenamiento fsico de una tabla, sus filas estn divididas en una serie de particiones (numerados de 1 a n). El tamao de la particin es definida por el usuario, por defecto todas las filas estn en una sola particin. Una tabla se divide en varias particiones con el fin de difundir una base de datos de ms de un clster . Las filas de cada particin se almacenan en B-tree o montn estructura. Si la tabla tiene asociado un ndice para permitir una rpida recuperacin de filas, las filas se almacenan en orden de acuerdo a sus valores de ndice, con un B-tree proporcionar el ndice. Los datos estn en el nodo de hoja de las hojas, y otros nodos que almacenan los valores de ndice de la hoja de datos accesible desde los respectivos nodos. Si el ndice es no agrupado, las filas no se ordenan de acuerdo con las claves de ndice. Un indexado vista tiene la misma estructura de almacenamiento como una tabla indexada. Una tabla sin un ndice se almacena en una estructura de montn no ordenada. Los dos montones y B-rboles pueden abarcar varias unidades de asignacin.

Buffer de gestin
SQL Server almacena temporalmente las pginas de RAM para minimizar el disco I / O. Cualquier pgina 8 KB puede ser amortiguada en memoria, y el conjunto de todas las pginas actualmente almacenados en el bfer se llama la cach del bfer. La cantidad de memoria disponible para SQL Server decide cuntas pginas se almacenan en cach en la memoria. El cach del bfer es administrado por el Administrador de bfer . Cualquiera de leer o escribir en cualquier pgina se copia en la cach del bfer. Despus lee o escribe son redirigidos a la copia en memoria, en lugar de la versin en disco. La pgina se actualiza el disco por el Administrador de bfer si el cach en memoria no ha sido referenciado por algn tiempo. Mientras escriba las pginas de vuelta al disco, E / S asncrona se utiliza lo que la operacin de E / S se realiza en un

subproceso en segundo plano para que otras operaciones no tienen que esperar a que la operacin de E / S para completar. Cada pgina est escrita junto con su suma de comprobacin cuando se escribe. Al leer la ltima pgina, su suma de comprobacin se calcula de nuevo y emparejar con la versin almacenada para asegurar que la pgina no ha sido daado o alterado desde entonces.

El registro de transacciones
SQL Server garantiza que cualquier cambio en los datos es ACID -compliant, es decir, que utiliza transacciones para asegurarse de que la base de datos siempre volver a un estado conocido consistente en fracaso. Cada transaccin puede consistir en varias sentencias SQL todo lo cual slo har un cambio permanente en la base de datos si la ltima instruccin de la transaccin (una sentencia COMMIT) se complete con xito. Si el COMMIT termina con xito la transaccin es segura en el disco. SQL Server implementa transacciones utilizando un registro de escritura anticipada. Cualquier cambio realizado en cualquier pgina se actualizar la cach en memoria de la pgina, al mismo tiempo todas las operaciones realizadas se escribir en el registro, junto con el ID de la transaccin que la operacin era parte. Cada entrada de registro se identifica por un aumento de nmero de secuencia de anotacin (LSN) que se utiliza para asegurar que todos los cambios se escriben en los archivos de datos. Tambin durante una restauracin del registro que se utiliza para comprobar que no hay registros se duplican o se saltan. SQL Server requiere que el registro se escribe en el disco antes de que la pgina de datos se escribe de nuevo. Tambin debe asegurarse de que todas las operaciones de una transaccin se escribe en el registro antes de cualquier operacin COMMIT se reporta como terminada. En un punto posterior del servidor voluntad puesto de control de la base de datos y asegurarse de que todas las pginas de los archivos de datos tienen el estado de su contenido sincronizado a un punto en o despus de la LSN que el puesto de control de empezar. Cuando se haya completado las marcas de puntos de control que parte del archivo de registro lo ms completo y puede liberarlo (ver operacin simple tala tala vs transaccin completa). Esto permite a SQL Server para asegurar la integridad de los datos, incluso si el sistema falla. En caso de error en el registro de base de datos tiene que ser repetido para garantizar que los archivos de datos estn en un estado coherente. Todas las pginas almacenadas en la puesta al da parte del registro (no marcado como completada) se reescriben a la base de datos, cuando el final del registro se alcanza todas las operaciones abiertas se revierte mediante la parte de atrs de balanceo del tronco. El motor de base de datos de puntos de control por lo general con bastante frecuencia. Sin embargo, en una base de datos muy cargado esto puede tener un impacto en el rendimiento significativo. Es posible reducir la

frecuencia de los controles o desactivarlos por completo, pero la operacin de avance durante una recuperacin tardar mucho ms La concurrencia y bloqueo SQL Server permite que varios clientes a utilizar la misma base de datos al mismo tiempo. Como tal, es necesario controlar el acceso simultneo a los datos compartidos, para garantizar la integridad de los datos cuando varios clientes actualizar los mismos datos, o clientes intenten leer datos que estn en el proceso de ser cambiado por otro cliente. SQL Server proporciona dos modos de control de concurrencia: concurrencia pesimista y optimista de concurrencia . Cuando el control de concurrencia pesimista se est utilizando SQL Server controla el acceso concurrente mediante el uso de cerraduras. Las cerraduras pueden ser ya sea compartido o exclusivo. Bloqueo exclusivo concede al usuario el acceso exclusivo a los datos - ningn otro usuario puede acceder a los datos, siempre y cuando se mantiene el bloqueo. Bloqueos compartidos se utilizan cuando algunos se estn leyendo - varios usuarios pueden leer datos bloqueados con un bloqueo compartido, pero no adquirir un bloqueo exclusivo. Este ltimo tendra que esperar a que todos los bloqueos compartidos para ser liberados. Las cerraduras pueden ser aplicados en diferentes niveles de granularidad - sobre tablas completas, pginas, o incluso en una fila por fila en las tablas. Para los ndices, que puede ser en todo el ndice o en las hojas del ndice. El nivel de granularidad a utilizar se define en una base por base de datos por el administrador de la base de datos. Mientras que un buen sistema de bloqueo de grano permite que ms usuarios utilicen la tabla o ndice al mismo tiempo, requiere ms recursos. Por lo tanto, no se enciende automticamente en un mayor rendimiento solucin. SQL Server tambin incluye dos ms ligeros exclusin mutua soluciones - cerraduras y spinlocks - que son menos robustos que los bloqueos, pero son menos recursos. SQL Server utilizar a DMV y otros recursos que no son generalmente ocupados. SQL Server tambin supervisa todos los subprocesos de trabajo que adquieren bloqueos para asegurarse de que no terminen en callejones sin salida - si lo hacen, SQL Server toma medidas correctivas, que en muchos casos es matar a uno de los hilos enredados en un punto muerto y la reversin operacin que comenz.] Para implementar bloqueo, SQL Server contiene el Administrador de bloqueos . El Administrador de bloqueo mantiene una tabla en memoria que administra los objetos de base de datos y cerraduras, en su caso, sobre ellos junto con otros metadatos acerca de la cerradura. El acceso a cualquier objeto compartido est mediada por el gestor de bloqueo, que, o bien concede acceso al recurso o lo bloquea. SQL Server tambin proporciona el mecanismo de control de concurrencia optimista, que es similar a la de control de concurrencia multiversin utilizado en otras bases de datos. El mecanismo permite que una nueva versin de una fila que se crea cada vez que se actualiza la fila, en lugar de sobrescribir la fila, es decir, es, adems, una fila identificado por la ID de la transaccin que cre la versin de la fila. Tanto la antigua, as como las nuevas versiones de la fila son almacenados y mantenidos, aunque las versiones antiguas se desplazan fuera de la base de datos en una base de datos del sistema identificado como tempdb . Cuando una fila se encuentra en proceso de actualizacin, cualquier otra peticin no estn bloqueadas (a diferencia de bloqueo), pero se ejecutan en la versin anterior de la fila. Si la solicitud de otro es una instruccin de

actualizacin, que se traducir en dos diferentes versiones de las filas - ambos se almacenar la base de datos, identificados por sus respectivos identificadores de transaccin. Recuperacin de datos El principal modo de recuperar datos de una base de datos SQL Server est consultando para ello. La consulta se expresa utilizando una variante del SQL llamado T-SQL , un dialecto de Microsoft SQL Server con las acciones de Sybase SQL Server debido a su legado. La consulta mediante declaracin especifica lo que se va a recuperar. Se procesada por el procesador de consultas, que calcula la secuencia de pasos que sern necesarios para recuperar los datos solicitados. La secuencia de acciones necesarias para ejecutar una consulta que se llama un plan de consulta . Puede haber varias formas de procesar la misma consulta. Por ejemplo, para una consulta que contiene una ensamblar declaracin y un selecto declaracin, la ejecucin de unirse tanto en las mesas y luego ejecutar seleccionar a los resultados dara el mismo resultado que la seleccin de cada mesa y luego ejecutar la unin, pero el resultado de la ejecucin diferente planes. En este caso, SQL Server elige el plan que se espera que produzca los resultados en el menor tiempo posible. Esto se denomina optimizacin de la consulta y se lleva a cabo por el procesador de consulta en s misma. SQL Server incluye un optimizador de consultas basado en los costos que trata de optimizar el costo, en trminos de los recursos que se necesita para ejecutar la consulta. Dada una consulta, a continuacin, el optimizador de consulta busca en el esquema de base de datos , las bases de datos y estadsticas de la carga del sistema en ese momento. A continuacin, decide qu secuencia para acceder a las tablas mencionadas en la consulta, cuya secuencia para ejecutar las operaciones y qu mtodo de acceso que se utiliza para acceder a las tablas. Por ejemplo, si la tabla tiene un ndice asociado, si el ndice debe ser utilizado o no - si el ndice est en una columna que no es nica para la mayora de las columnas (bajo "selectividad"), que no puede valer la pena utilizar el ndice para acceder a los datos. Finalmente, se decide si va a ejecutar la consulta al mismo tiempo o no. Mientras que una ejecucin concurrente es ms costoso en trminos de tiempo total del procesador, ya que la ejecucin se divide en realidad a diferentes procesadores podra significar que se ejecutarn ms rpido. Una vez que el plan de consulta generado para una consulta, es temporalmente almacenada en cach. En las invocaciones posteriores de la misma consulta, el plan almacenado en cach se utiliza. Planes no utilizados se desechan despus de algn tiempo. SQL Server tambin permite que los procedimientos almacenados que se definan. Los procedimientos almacenados se parametrizado T-SQL, que se almacenan en el propio servidor (y no emitidas por la aplicacin cliente como es el caso de las consultas generales). Los procedimientos almacenados pueden aceptar valores enviados por el cliente como parmetros de entrada y devolver los resultados como parmetros de salida. Se puede llamar a funciones definidas, y otros procedimientos almacenados, incluyendo el mismo procedimiento almacenado (hasta un nmero determinado de veces). Ellos pueden ser selectivamente proporcionado acceso a . A diferencia de otras consultas, procedimientos almacenados tienen un nombre asociado, que se utiliza en tiempo de ejecucin para resolver en las consultas reales. Tambin porque el cdigo no necesita ser enviado desde el cliente cada vez (como se puede acceder por su nombre), se

reduce el trfico de red y un tanto mejora el rendimiento. Los planes de ejecucin de los procedimientos almacenados son tambin almacena en cach como sea necesario.

SQL CLR
Microsoft SQL Server 2005 incluye un componente denominado SQL CLR ("Common Language Runtime") a travs del cual se integra con . NET Framework . A diferencia de la mayora de las otras aplicaciones que utilizan. NET Framework, SQL Server se aloja el. NET Framework en tiempo de ejecucin , es decir, la memoria, roscado y los requisitos de gestin de recursos. NET Framework est satisfecho por SQLOS s mismo, en lugar del sistema operativo Windows. SQLOS proporciona deteccin de punto muerto y servicios de resolucin de. NET tambin. Con SQL CLR, procedimientos almacenados y disparadores pueden ser escritos en cualquier administrado . NET , incluyendo C # y VB.NET . Cdigo administrado tambin puede ser utilizado para definir UDT ( tipos definidos por el usuario ), que pueden persistir en la base de datos. Cdigo administrado es compilado para las asambleas de la CLI y previa verificacin de la seguridad de tipos , registrada en la base de datos. Despus de eso, pueden ser invocadas como cualquier otro procedimiento. Sin embargo, slo un subconjunto de la biblioteca de clases base est disponible, cuando se ejecuta cdigo en SQL CLR. Mayora de las API en relacin con la interfaz de usuario funcionalidad no estn disponibles. Al escribir cdigo para SQL CLR, los datos almacenados en bases de datos de SQL Server se puede acceder mediante el ADO.NET APIs como cualquier otra aplicacin administrada que tiene acceso a los datos de SQL Server. Sin embargo, hacer que crea una sesin de base de datos nuevo, diferente de aquel en el que se ejecuta el cdigo. Para evitar esto, SQL Server proporciona algunas mejoras en el ADO.NET proveedor que permite la conexin a ser redirigido a la misma sesin que ya alberga el cdigo que se ejecuta. Dichas conexiones se denominan conexiones de contexto y se establecen mediante el establecimiento de contexto de conexin parmetro verdadero en la cadena de conexin. SQL Server tambin proporciona varias otras mejoras para el ADO.NET API, incluyendo clases para trabajar con datos tabulares o una sola fila de datos, as como clases para trabajar con los metadatos internos sobre los datos almacenados en la base de datos. Tambin proporciona acceso a las funciones XML en SQL Server, incluyendo XQuery apoyo. Estas mejoras tambin estn disponibles en TSQL Procedimientos como consecuencia de la introduccin del nuevo tipo de datos XML (consulta, el valor, los nodos de funciones).

Servicios MS SQL SERVER

Es una plataforma de base de datos para transacciones en lnea (OLTP) a gran escala, bodegas de datos (data warehousing), y aplicaciones de comercio electrnico; a su vez es un plataforma de inteligencia de negocios con integracin de datos, anlisis, y soluciones de reporteo. Este se compone de:

Database Engine
El motor de la base de datos es el servicio ncleo del almacenamiento, procesamiento, y seguridad de los datos. En el motor se crean las bases de datos relacionales para procesamiento de transacciones en lnea (OLTP)(1) o para el anlisis analtico de los datos (OLAP)(1). Esto incluye crear tablas para el almacenamiento de datos, y otros objetos de la base de datos como ndices, vistas, y procedimientos almacenados para visualizar, controlar, y asegurar los datos

Analysis Services
La minera de datos es el proceso de detectar la informacin procesable de los conjuntos grandes de datos. Utiliza el anlisis matemtico para deducir los patrones y tendencias que existen en los datos. Normalmente, estos patrones no se pueden detectar mediante la exploracin tradicional de los datos porque las relaciones son demasiado complejas o porque hay demasiado datos. Estos patrones y tendencias se pueden recopilar y definir como un modelo de minera de datos. Los modelos de minera de datos se pueden aplicar a situaciones empresariales como las siguientes: Predecir ventas Dirigir correo a clientes especficos Determinar los productos que se pueden vender juntos Buscar secuencias en el orden en que los clientes agregan productos a una cesta de compra La generacin de un modelo de minera de datos forma parte de un proceso mayor que incluye desde la formulacin de preguntas acerca de los datos y la creacin de un modelo para responder dichas cuestiones, hasta la implementacin del modelo en un entorno de trabajo. Este proceso se puede definir mediante los seis pasos bsicos siguientes: Definir el problema Preparar los datos Explorar los datos Generar modelos Explorar y validar los modelos Implementar y actualizar los modelos

SQL Server Integration Services

SQL Server Integration Services ('SSIS) es un componente de Microsoft SQL Server utilizado para migracin de datos. SSIS es una plataforma para la integracin de datos y sus de flujos de trabajo. Tiene importantes tareas para procesamiento de cubos multidimensionals de Analisis Services. Remplaza a los servicios de transformacin (DTS) adems Puede extraer y transformar datos de una variedad de fuentes como archivos de datos XML, archivos de formato plano, y otras fuentes de datos relacionales diferentes a SQL Server El SSIS Import/Export permite mover datos de origen a destino sin modificar los datos. Se pueden importar datos de fuentes diferentes a SQL Server. Con la herramienta Business Intelligence Development Studio, se pueden realizar tareas de migracin fcilmente usando tareas visuales. Si se desea crear nueva funcionalidad, se pueden crear scripts en c# o VB.

Los paquetes, que son las unidades de almacenamiento de estas tareas de migracin se pueden guardar en archivos dtsx o en la base de datos en formato XML. Una vez implementado el paquete puede ser depurado.

Caractersticas del flujo de datos


Las tareas de flujo de datos permitern transformar datos del origen al destino. Transformaciones del Flujo de datos : Conditional Split Multicast Union-All, Merge, and Merge Join Sort Fuzzy Grouping Lookup and Fuzzy Lookup Percentage Sampling and Row Sampling Copy/Map, Data Conversion, and Derived Column Aggregation Data Mining Model Training, Data Mining Query, Partition Processing, and Dimension Processing Pivot Slowly Changing Dimension Script Component

Reporting Services
Es un servicio centralizado en el servidor que permite el almacenamiento de reportes, controla el acceso, y determina cmo se van a visualizar y distribuir. Los reportes son construidos sobre bases de datos relacionales o multidimencionales de fuentes de datos como SQL Server, Analysis Services, Oracle, o cualquier fuente de datos que posea una interfaz de acceso a datos (como los Microsoft .NET Framework data provider, ODBC, y OLE DB) Todos los reportes se pueden presentar en aplicaciones de escritorio o aplicaciones tipo web. Se puede determinar si estos reportes se generan por demanda, o de manera pre-programada, para su manipulacin, o para imprimir.

Replication
Copia y distribucin de datos y objetos de las bases de datos de una base de datos a otra para mantener consistencia. Replicacin transaccional (transactional) Replicacin combinada (Merge) Replicacin esttica (Snapshot)

Notification Services

Permite generar aplicaciones de notificacin a suscriptores con inters en una informacin en especfico. Las notificaciones pueden ser generadas por eventos ocurridos al manipular los datos, o en alarmas preprogramadas. Los eventos puede originarse de las mismas bases de datos, o de bases de datos en servidores externos. Notification Services trabaja en conjunto con el motor de la base de datos (Database Engine). El motor almacena los datos de los aplicativos y realiza una comparacin contra los eventos y suscripciones programadas. .

Nota Importante: Notification Services 2.0 est disponible en forma separada para SQL Server 2000. SQL Server 2005 Notification Services incluye un nmero de mejoras sobre Notification Services 2.0.

Full-Text Search

Permite Indexamiento rpido y flexible sobre datos tipo texto almacenados en una base de datos mejorando el rendimiento en consultas de grandes cantidades de texto no estructurado

La ganancia en rendimiento usando Full-Text Search se experimenta en consultas de grandes cantidades de texto no estructurado. Por ejemplo, una consulta Transact-SQL LIKE sobre millones de registros de datos tipo texto puede tomar minutos en retornar los resultados; pero una consulta full-text puede tomar solo segundos en retornar resultados sobre los mismos datos, dependiendo del nmero de registros retornados.

Service Broker

Provee a el motor de la base de datos soporte nativo de mensajera y manejo de colas. Facilita crear aplicaciones sofisticadas que usan los componentes del motor de la bases datos para comunicarse con bases de datos no compatibles. Permite crear fcilmente aplicaciones distribuidas y robustas. Hace posible crear aplicaciones de distribucin de cargas entre servidores de bases de datos sin tener que programar complicados protocolos de comunicaciones y mensajera. Por ejemplo, aplicaciones front-end pueden ejecutar tareas intensivas en la base de datos encolando solicitudes en los servidores back-end. Service Broker verifica que todas las tareas son manejadas en el contexto transaccional que asegura consistencia tcnica y confiabilidad.

Arquitectura Cliente / Servidor:


SQL Server usa la arquitectura Cliente / Servidor para separar la carga de trabajo en tareas que corran en computadoras tipo Servidor y tareas que corran en computadoras tipo Cliente: El Cliente es responsable de la parte lgica y de presentar la informacin al usuario. Generalmente, el cliente corre en una o ms computadoras Cliente, aunque tambin puede correr en una computadora Servidor con SQL Server. SQL Server administra Bases de Datos y distribuye los recursos disponibles del servidor (tales como memoria, operaciones de disco, etc.) entre las mltiples peticiones. La arquitectura Cliente /Servidor permite desarrollar aplicaciones para realizar en una variedad de ambientes.

Sistema Administrador Para Bases De Datos Relacionales (Rdbms)


El RDBMS es responsable de: Mantener las relaciones entre la informacin y la Base de Datos. Asegurarse de que la informacin es almacenada correctamente, es decir, que las reglas que definen las relaciones ente los datos no sean violadas. Recuperar toda la informacin en un punto conocido en caso de que el sistema falle.

Transact - Sql
ste es una versin de SQL (Structured Query Languaje) usado como lenguaje de programacin para SQL Server. SQL es un conjunto de comandos que permite especificar la informacin que se desea restaurar o modificar. Con Transact - SQL se puede tener acceso a la informacin, realizar bsquedas, actualizar y administrar sistemas de Bases de Datos Relacinales.

Componentes de comunicacin Cliente Servidor

Client Application: Construye sentencias Transact-SQL que enva al servidor y recibe result sets. Database API: Usa proveedores, o DLLs para enviar sentencias T-SQL y retornar result sets, ocultando la complejidad de los protocolos de red requeridos para comunicarse con SQL Server. Cliente Net-Library: Controla las conexiones de red y enrutamiento para la transmisin de peticiones y respuestas de SQL usando el protocolo de red adecuado. Server Net-Libraries: SQL Server puede monitorear mltiples Client-Net-Libraries al mismo tiempo. Los protocolos de red usados por SQL Server son TCP/IP, Named Pipes, NWLink, IPX/SPK, VIA ServerNet II SAN, VIA GigaNet SAN, Banyan VINES, y AppleTalk. Open Data Services: Hace los servicios de datos disponibles a un cliente. Este componente maneja las conexiones de red, pasando las peticiones de los clientes a SQL Server para su procesamiento y retornando los result sets hacia los clientes SQL. Automticamente escucha todas las libreras instaladas en el servidor. Relational Engine: Traduce sentencias T-SQL, optimiza y ejecuta planes de ejecucin, procesa sentencias de definicin (DDL), y provee seguridad a los datos. Storage Engine: Maneja los archivos fsicos de la base de datos as como el espacio de disco usado por estos, maneja buffers y operaciones fsicas de entrada y salida (I/O), controla concurrencia, procesa operaciones de log y recuperacin, e implementa comandos utilitarios de la base de datos, como backup.

Tipos de bases de datos

Master: Controla las bases de datos de los usuarios y las operaciones del servidor SQL en general llevando un seguimiento de informacin como las cuentas de acceso, variables de entorno, y mensajes de error. Model: Proporciona una plantilla para las nuevas bases de datos. Tempdb: Provee almacenamiento temporal para tablas y otros objetos. Msdb: Almacena informacin de tareas programadas. Distribution: Guarda datos histricos de transacciones usadas en tareas de replicacin. Pubs y Northwind: Bases de datos de ejemplo. User1: Hace referencia a las bases de datos creadas por los usuaris.

Archivos fsicos y grupos de archivos de base de datos

SQL Server 2005 bases de datos tienen tres tipos de archivos: Los archivos de datos primarios El archivo de datos principal es el punto de partida de la base de datos y puntos a los dems archivos de la base de datos. Cada base de datos tiene un archivo de datos principal. La extensin de nombre de archivo recomendada para los archivos de datos primarios es. Mdf. Los archivos de datos secundarios Archivos de datos secundarios forman todos los archivos de datos que no sean el archivo de datos principal. Algunas bases de datos pueden no tener todos los archivos de datos secundarios, mientras que otros tienen varios archivos de datos secundarios. La extensin de nombre de archivo recomendada para los archivos de datos secundarios es. Ndf. Los archivos de registro Los archivos de registro contener toda la informacin de registro que se utiliza para recuperar la base de datos. Debe haber al menos un archivo de registro para cada base de datos, aunque puede haber ms de uno. La extensin de nombre de archivo recomendada para los archivos de registro es. Ldf.

Pginas En SQL Server, el tamao de pgina es de 8 KB. Esto significa que las bases de datos de SQL Server tiene 128 pginas por megabyte. Cada pgina comienza con una cabecera de 96 bytes que se utiliza para almacenar la informacin del sistema acerca de la pgina. Esta informacin incluye el nmero de pgina, tipo de pgina, la cantidad de espacio libre en la pgina, y el ID de la unidad de asignacin del objeto al que pertenece la pgina.

Extensiones Extensin son la unidad bsica en la que el espacio se gestiona. Una extensin es de ocho pginas contiguas fsicamente, o 64 KB. Esto significa que las bases de datos de SQL Server tienen 16 extensiones por megabyte. Para hacer que la asignacin eficiente del espacio, SQL Server no asigna reas enteras en las tablas con pequeas cantidades de datos. SQL Server tiene dos tipos de extensiones: Extensiones uniformes son propiedad de un objeto nico, las ocho pginas de la extensin slo puede ser utilizado por el objeto propietario. Las extensiones mixtas son compartidas por hasta ocho objetos. Cada una de las ocho pginas de la extensin puede ser propiedad de un objeto diferente. Las extensiones mixtas son compartidos por hasta ocho objetos extensiones uniformes Son propiedad un solo objeto

as

Los ndices agrupados

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 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. Para obtener ms informacin acerca de las unidades de asignacin, vea Organizacin de tablas e ndices. 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, la columna 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.

Estructuras de ndices no agrupados


Los ndices no agrupados tienen la misma estructura de rbol b que los ndices agrupados, excepto por las siguientes diferencias importantes: Las filas de datos de la tabla subyacente no estn ordenadas ni almacenadas basndose en sus claves no agrupadas. La capa de hoja de un ndice no agrupado est compuesta por pginas de ndices, en lugar de pginas de datos. Los ndices no agrupados se pueden definir en una tabla o vista con un ndice clster o un montn. Cada fila del ndice no agrupado contiene un valor de clave no agrupada y un localizador de fila. Este localizador apunta a la fila de datos del ndice clster o el montn que contiene el valor de clave.

Los localizadores de filas de las filas de ndices no agrupados pueden ser un puntero a la fila o una clave de ndice agrupado para una fila, tal como se describe a continuacin: Si la tabla es un montn, lo que significa que no tiene ningn ndice agrupado, el localizador de fila es un puntero a la fila. El puntero se genera a partir del identificador (Id.) de archivo, el nmero de pgina y el nmero de la fila dentro de la pgina. El puntero completo se conoce como Id. de fila (RID). Si la tabla tiene un ndice clster o si el ndice est en una vista indizada, el localizador de fila es la clave del ndice clster para la fila. Si el ndice clster no es un ndice nico, SQL Server hace que las claves duplicadas sean nicas agregando un valor generado internamente denominado valor de unicidad. Este valor de cuatro bytes no es visible para los usuarios. Slo se agrega cuando es necesario para que la clave agrupada sea nica para usarla en los ndices no agrupados. SQL Server recupera la fila de datos buscando el ndice clster con el valor de clave del ndice clster que est almacenado en la fila de hoja del ndice no agrupado. Los ndices no agrupados tienen una fila en sys.partitions, con index_id >0 para cada particin utilizada por el ndice. De forma predeterminada, un ndice no agrupado tiene una sola particin. Cuando un ndice no agrupado tiene varias particiones, cada una tiene una estructura de rbol b que contiene las filas de ndice de esa particin especfica. Por ejemplo, si un ndice no agrupado tiene cuatro particiones, habr cuatro estructuras de rbol b, una en cada particin. En funcin de los tipos de datos del ndice no agrupado, cada estructura de ndice no agrupado tendr una o ms unidades de asignacin en las que almacenar y administrar los datos de una particin especfica. Como mnimo, cada ndice no agrupado tendr una unidad de asignacin IN_ROW_DATA por particin encargada de almacenar las pginas de rbol b del ndice. El ndice no 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. Para obtener ms informacin acerca de las unidades de asignacin, vea Organizacin de tablas e ndices. Las colecciones de pginas del rbol b estn delimitadas por punteros root_page en la vista del sistema sys.system_internals_allocation_units.

Importante La vista del sistema sys.system_internals_allocation_units slo puede utilizarla internamente Microsoft SQL Server. La compatibilidad con versiones posteriores no est garantizada.

En la siguiente ilustracin se muestra la estructura de un ndice no agrupado en una sola particin.

Una pregunta muy comn para los iniciados en el mundo de SQL Server, es cul es la diferencia entre un ndice clustered y un ndice non-clustered y en qu caso conviene usar un ndice u otro. Bueno, empecemos a describir las caractersticas generales de un ndice y luego de estos tipos de ndices y las conclusiones van a ser evidentes. Los ndices son objetos de la bases de datos, cuya funcin es optimizar el acceso a datos. A medida que las tablas se van haciendo ms grandes y se desea hacer consultar sobre estas tablas, los ndices son indispensables. Internamente un ndice normal es una estructura de rbol, que cuenta con una pgina principal y luego esta con paginas hijas, que a su vez tiene ms paginas hijas hasta llegar a la pagina final del ndice (leaf level). La clave del ndice est repartida en las pginas del ndice, de modo tal que la bsqueda se haga leyendo la menor cantidad posible de datos.

Estructura interna de un ndice:

Despus de esta brevsima introduccin, donde est la diferencia entre un ndice clustered y uno nonclustered? En la leaf level (la ultima pagina) del ndice. En un ndice non-clustered, la clave por la que buscamos tiene un puntero a la pgina de datos donde se encuentra el registro. Mientras que en ndice clustered, la leaf level es la pagina de datos!. Con lo cual, el SQL Server, se ahorra hacer un salto para leer los datos del registro (Bookmark lookup). La diferencia es importante, ya que el uso de este tipo de ndices al evitar tener que hacer lecturas adicionales para traer el registro, son ms performantes. Bsqueda por clustered index: Bsqueda por non-clustered index:

SQL Server 2005 incorpora una nueva feature interesante en los ndices non-clustered. Ahora es posible incluir dentro de la leaf page del ndice, campos que en s, no son parte de la clave. Esto nos permitir en algunos casos, evitar el salto a la pgina de datos (Bookmark Lookup) que habamos hablado anteriormente. Aunque hay que tener cuidado de seleccionar bien que campos se desean incluir al ndice, porque de poner demasiados se expandera mucho el ndice, haciendo ineficiente. Por ejemplo, si tenemos una tabla Personas cuyo campo DNI es un ndice non-clustered y queremos hacer una consulta que solo traiga el Apellido y DNI, entonces si incluimos el campo Apellido , nos ahorraramos tener que ir a la pgina de datos para buscar el valor. Es importante recalcar que el campo Apellido no sera parte de la tabla, sino un campo mas en pagina final del ndice. Ahora bien, entonces porque no siempre usar ndices clustered? Bueno, en primer lugar, lamentablemente solo puede haber 1 solo ndice clustered por tabla. La razn es muy sencilla y lgica: Los registros de la tabla

fsicamente son las paginas leaf-level del ndice clustered. Los datos de la tabla esta ordenados segn el ndice. Y obviamente una tabla no puede simultneamente estar fsicamente ordenada de 2 maneras diferentes. Por lo tanto, en tablas grandes y muy consultadas, tenemos que ser cuidadosos y analizar a que campos vamos a seleccionar para ser llaves del ndice clustered. Tenemos 1 solo ndice de este tipo por tabla, no hay que desperdiciarlo!!! Este ltimo punto es importante para saber en qu situaciones y para que campos se debe utilizar un clustered index o un non-clustered.

Gua general de uso de ndices: Campos autoincrementales (Identitys, newsequentialid, etc), deben convenientemente ser del tipo clustered index. La razn es reducir el page split (fragmentacin) de la tabla. Los clustered index son convenientes si se va seleccionar un rango de valores, ordenar (ORDER BY) o agrupar (GROUP BY). La PK es un buen candidato para un clustered index. Pero no siempre. Por ejemplo, si tenemos una tabla de ventas, cuya PK es un identity en donde se efectan muchas consultar por rangos de fecha, el campo Fecha seria un mejor candidato para el clustered que la PK. Para bsquedas de valores especficos, conviene utilizar un non-clustered index. Para ndices compuestos, mejor utilizar non-clustered index (generalmente).

Implementacin
Se cita la documentacin web oficia para una mejor comprensin de la correcta instalacin de Ms SQL Server 2005 Se adjunta vnculo oficial: http://technet.microsoft.com/es-es/library/ms143516(v=sql.90).aspx

Referencias

SQL Server 2005 Books Online http://msdn2.microsoft.com/en-us/library/ms166352.aspx http://msdn2.microsoft.com/en-us/library/ms179276.aspx Pro SQL Server 2008 Reporting Services Rodney Landrum, Shawn McGehee, and Walter J. Voytek III- editorial apress http://es.wikipedia.org http://msdn.microsoft.com/en-us/library/cc645577(v=sql.110).aspx http://msdn.microsoft.com/en-us/library/cc645580(v=sql.110).aspx http://msdn.microsoft.com/en-us/library/cc645578(v=sql.110).aspx

Conclusin

Luego de la investigacin realizada nos damos cuenta de la importancia que poseen las bases de datos en las empresas para la administracin y orden de estas. Como sabemos no es un sistema fcil de aprender y que creemos que aun es un sistema que no esta desarrollado al 100%, creemos que aun se pueden sacar muchas ventajas de un motor de base de datos. Pero bueno eso se lo dejaremos a los expertos. Por nuestra parte quedamos muy conformes con la informacin recopilada, y lo mejor es que logramos aprender algo mas de las bases de datos, y creemos que es una parte fundamental del funcionamiento de la informtica

You might also like