|
|
Artículo realizado por
En 1.988, las relaciones entre Microsoft e IBM, eran todavía fructíferas, y prueba de ello, fue el diseño y posterior implementación de un gestor de bases de datos relacional, para el sistema operativo del gigante azul, el OS/2. En la construcción de esta primera versión de SQL SERVER, también participó Sybase, compañía que actualmente posee entre sus productos, otro sistema de gestión de bases de datos relacional muy apetecible. A primeros de los 90, Microsoft contó con el trabajo de David N. Cutler, para desarrollar un sistema operativo totalmente innovador para entornos multiusuario. Dicho sistema, se llamaría Windows NT v.3.1 y como era de esperar, la compañía de Bill Gates le decidió incorporar este gestor de bases de datos, separándose de la colaboración que hasta ahora había mantenido con Sybase. Nació la primera versión de SQL SERVER para NT, bautizada como SQL SERVER v.4.2. En esta primera versión, la administración del sistema era drásticamente diferente a la que nos podemos encontrar hoy en día, pues se basaba en comandos y comandos que había que escribir con mucha atención para evitar equivocarnos. Hoy día, todavía quedan resquicios de aquella administración en línea, pero casi en su totalidad, se pude administrar visualmente a golpe de ratón, lo cual sin duda, es de agradecer. Años después, en 1.995, Microsoft saca a la luz una nueva versión del producto, la v.6.0, que mejoraría justamente la administración del gestor y acrecentaba el rendimiento del mismo, añadiendo multitithreading, sincronización, ficheros mapeados en memoria, etc. Debido al éxito cosechado, (llegó a colocarse como segundo gestor relacional más vendido en el mercado), Microsoft volvió a sacar, al año siguiente, la versión 6.5, que se supone que es la versión que se encuentra a medio camino, entre la 6.0 y la definitiva (a tenor de los acontecimientos, la versión 7.0). Normalmente, cualquier empresa en vías de desarrollo, solicita sistemas multiusuario con facilidad para las comunicaciones y gestores de datos que se adapten a estos sistemas. Windows NT y SQL SERVER cumplen a la perfección estos requisitos. Nuevamente, Microsoft, alarga sus tentáculos hacia un tema de siempre candente actualidad, como son la administración y obtención de datos.
Emilio Rubio.
Capítulo 2.
Algo de historia y conceptos básicos.
¿Qué es una base de datos?
SQL SERVER, en cualquiera de sus versiones, se basa en el modelo relacional para la representación de datos. Los elementos esenciales de dicho modelo, se denominan celdas, columnas, filas, tablas y claves. De nuevo, vuelvo a remitir al sufrido lector, a mi buzón personal, para una explicación de este enfoque mundialmente extendido, por su simplicidad e inusitado parecido con la forma de abstracción que tiene la mente humana.
Llegados a este punto, se preguntará, de acuerdo, pero ¿qué es realmente una base de datos?, ¿se puede considerar como un fichero en donde se almacenan y almacenan datos ?, a lo que se le podría contestar que, SI. No anda equivocado al decir, que es un fichero que contiene información, pero con la salvedad de que dicha información no se almacena como estamos acostumbrados, es decir, no se almacena secuencialmente en el fichero, sino que existe cierto modelo, establecido con anterioridad, que dicta las normas de dicho almacenamiento. Es por tanto, información almacenada en un fichero bajo unas directrices que la hace coherente y más aún, si dichas reglas pueden definirse por nosotros mismos.
Le suenan los términos, ¿modelo de datos, relaciones entre datos, niveles de abstracción e independencia de datos?, si la respuesta es afirmativa, relacione estos conceptos con lo explicado más arriba, y notará como realmente se intentan encapsular datos, siguiendo una estructura lógica para relacionarlos. Podríamos afirmar, que estamos enlatando información, pero enlatando siguiendo unas reglas.
La filosofía cliente/servidor (C/S) está actualmente, muy difundida. Hace unos años, recuerdo, que era muy común la pregunta ¿que significa cliente servidor?, pero no deja de ser curioso, que con lo ampliamente que está desarrollada e implementada esta tecnología, todavía no se tengan claras estas formas de trabajar. Lo intentaré explicar, pues, de la manera más sencilla que pueda.
¿Alguien se acuerda de DBASE?, seguro que sí, pues este paquete es un clásico en lo que se refiere a la gestión de datos en entornos monousuario. Para utilizar DBASE, recuerdo que se tenía que acceder a su entorno, y desde allí desarrollábamos todo, pues diseñábamos las tablas y el código para explotarlas. Todo estaba pues, unido, tanto los módulos que gestionaban los datos, como nuestros programas que accedían a ellos. DBASE, es un sistema de gestión de ficheros de escritorio, y por tanto orientado a entornos monousuario con una cierta cantidad de datos a gestionar. Tanto éxito tuvo, que todavía hoy, existen sistemas trabajando bajo este entorno, sistemas que no pasan del 80386 y no llegan a los 4 MBytes de memoria RAM. Como el caso de DBASE, están los de ARCHIVE y más cercano, ACCESS, entorno que actualmente se acerca más al concepto de bases de datos, como modelo de datos explicado con anterioridad.
Hasta aquí, los entornos de sobremesa. Una base de datos cliente/servidor se caracteriza en que tiene claramente diferenciada la parte que gestiona los datos y la parte que se encarga de visualizarlos/mostrarlos. Es decir, hay una aplicación que se encarga de servir datos (servidor) y otra totalmente deferente a la anterior que se encarga de solicitarlos (cliente). Aquí, como vemos, no hay ninguna relación entre ambas aplicaciones. Yabra
SQL SERVER es pues, una base de datos que funciona bajo la metodología cliente/servidor y a la cual se accede a través de aplicaciones clientes, que están desarrolladas bajo la tutela de, por ejemplo, Borland Delphi, Microsoft Visual C++ o Microsoft Visual Basic.
A grosso modo, esta es la diferencia entre ambas concepciones, aunque, como el lector se puede imaginar, hay muchas más, sobre todo en aspectos particulares de acceso, almacenamiento y definición de datos.
SQL, siglas de Structured Query Language (lenguaje de consulta estructurado) fue llamado en su día SEQUEL (Structured English Query Language), proviene de los proyectos que IBM, en los años 70, desarrolló en el San José Research Laboratory, en Californaria (USA), sobre una sistema relacional denominado SYSTEM R, que en aquella época, imponía las bases de los gestores de datos relacionales que tenemos hoy día. SQL, como en la actualidad se le conoce, fue implementado posteriormente, en la bases de datos para entornos mainframe, que IBM bautizó como DB2. Cualquier sistema de bases de datos que se precie hoy día, deberá tener una referencia a este lenguaje, y de hecho, casi todos la tienen.
Actualmente, SQL ha sido objeto de estandarización por parte de ANSI (American Commitee of Standards Institute), denominándose ANSI SQL-92, aunque, como el lector se puede imaginar, todas las compañías aportan su granito de arena particular a este lenguaje, así por ejemplo, y como es el caso de Microsoft, su lenguaje de consulta se denomina TRANSACT-SQL, que está basado en SQL, pero, con algo más....
Consideraremos pues, a SQL, como nuestra única vía para consultar los datos que almacenemos en nuestro sistema, siendo su conocimiento, por tanto, de obligado interés para poder sacar el máximo provecho de nuestros diseños.
SQL está constituido por sentencias de manipulación y definición de datos de alto nivel, que se pueden ejecutar de tres formas diferentes:
|
|