LIBRO EN LINEA

LIBRO EN LINEA
TUTORIAL SQL EN FORMATO PDF

lunes, 17 de marzo de 2014

DISEÑO


 www.google.com

EL CÓDIGO SQL


El código SQL (lenguaje de consulta estructurado) es un lenguaje de base de datos normalizado, utilizado en diferentes tipos de motores de base de datos para realizar determinadas operaciones sobre los datos o sobre la estructura de los mismos. Pero como siempre hay excepciones, no nos servirá para todo tipo de motores de base de datos, debido que un motor de base de datos puede ser diferente a otro motor porque tiene sus propias peculiaridades, por lo tanto este lenguaje SQL no servirá para resolver todo tipo de problemas, aunque se puede asegurar que cualquier sentencia escrita en este lenguaje podrá ser interpretada en cualquier motor.

HISTORIA
La historia de SQL  empieza en 1974

Con la definición, por parte de Donald Chamberlain y de otras personas que trabajaban en los laboratorios de investigación de IBM, de un lenguaje para la especificación de las características de las bases de datos que adoptaban el modelo relacional. Este lenguaje se llamaba SEQUEL (Structured English Query Language) y se implementó en un prototipo llamado SEQUEL-XRM entre 1974 y 1975. Las experimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una revisión del lenguaje (SEQUEL/2), que a partir de ese momento cambió de nombre por motivos legales, convirtiéndose en SQL. El prototipo (System R), basado en este lenguaje, se adoptó y utilizó internamente en IBM y lo adoptaron algunos de sus clientes elegidos. Gracias al éxito de este sistema, que no estaba todavía comercializado, también otras compañías empezaron a desarrollar sus productos relacionales basados en SQL. A partir de 1981, IBM comenzó a entregar sus productos relacionales y en 1983 empezó a vender DB2. En el curso de los años ochenta, numerosas compañías (por ejemplo Oracle y Sybase, sólo por citar algunos) comercializaron productos basados en SQL, que se convierte en el estándar industrial de hecho por lo que respecta a las bases de datos relacionales.
 En 1986, el ANSI adoptó SQL (sustancialmente adoptó el dialecto SQL de IBM) como estándar para los lenguajes relacionales y en 1987 se transformó en estándar ISO. Esta versión del estándar va con el nombre de SQL/86. En los años siguientes, éste ha sufrido diversas revisiones que han conducido primero a la versión SQL/89 y, posteriormente, a la actual SQL/92.

El hecho de tener un estándar definido por un lenguaje para bases de datos relacionales abre potencialmente el camino a la intercomunicabilidad entre todos los productos que se basan en él. Desde el punto de vista práctico, por desgracia las cosas fueron de otro modo. Efectivamente, en general cada productor adopta e implementa en la propia base de datos sólo el corazón del lenguaje SQL (el así llamado Entry level o al máximo el Intermediate level), extendiéndolo de manera individual según la propia visión que cada cual tenga del mundo de las bases de datos.

Actualmente, está en marcha un proceso de revisión del lenguaje por parte de los comités ANSI e ISO, que debería terminar en la definición de lo que en este momento se conoce como SQL3. Las características principales de esta nueva encarnación de SQL deberían ser su transformación en un lenguaje stand-alone (mientras ahora se usa como lenguaje hospedado en otros lenguajes) y la introducción de nuevos tipos de datos más complejos que permitan, por ejemplo, el tratamiento de datos multimedia.
SQL (Lenguaje de consulta estructurado) Es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones sobre las mismas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo lanzar consultas con el fin de recuperar -de una forma sencilla- información de interés de una base de datos, así como también hacer cambios sobre la misma. Es un lenguaje de cuarta generación (4GL).


CARACTERÍSTICAS GENERALES
El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones sobre los mismos.
Es un lenguaje declarativo de alto nivel o de no procedimiento, que gracias a su fuerte base teórica y su orientación al manejo de conjuntos de registros, y no a registros individuales, permite una alta productividad en codificación. De esta forma una sola sentencia puede equivaler a uno o más sentencias de código en un lenguaje de bajo nivel.

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 lógica y de presentar la información al usuario. Generalmente, el cliente corre en una o más computadoras Cliente, aunque también 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 múltiples 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 información y la Base de Asegurarse de que la información es almacenada correctamente, es decir, que las reglas que definen las relaciones ente los datos no sean violadas.
- Recuperar toda la información en un punto conocido en caso de que el sistema falle.
TRANSACT - SQL: 

Éste es una versión de SQL (Structured Query Languaje) usado como lenguaje de  programación para SQL Server. SQL es un conjunto de comandos que permite especificar la información que se desea restaurar o modificar. Con Transact – SQL se puede tener acceso a la información, realizar búsquedas, actualizar y administrar sistemas de Bases de Datos Relacionales. 

INTEGRACIÓN DE SQL CON MICROSOFT
WINDOWS NT
SQL se encuentra totalmente integrado con Windows NT y toma ventaja de muchas de sus características:
SEGURIDAD:
SQL Server está integrado con el sistema de seguridad de Windows NT. Esta integración permite accesar tanto a Windows NT como a SQL Server con el mismo user name password. Además SQL Server una las características de encriptación que Windows NT para la seguridad en red. SQL Server está provisto de su propia seguridad para clientes no-Microsoft.
SOPORTE MULTIPROCESADOR:
SQL Server soporta las capacidades de multiprocesamiento simétrico (SMP) de Windows NT. SQL Server automáticamente toma ventaja de cualquier procesador adicional que sea agregado al Servidor. 

SERVICIOS DE WINDOWS NT:
SQL Server corre como un servicio dentro de Windows NT, permitiendo operarlo remotamente.
 MICROSOFT CLUSTER SERVER 

Es un componente de Windows NT Enterprise Edition. Soporta la conexión de dos  servidores, o nudos, en un cluster para aumentar las habilidades y tener un mejor manejo de la información y las aplicaciones. SQL Server trabaja en conjunto con el Cluster Server para intercambiar papeles automáticamente en caso de que el nodo primario falle. 

HERRAMIENTAS Y ASISTENTES PARA ADMINISTRACIÓN DE SQL SERVER:
SQL Server provee un número de herramientas administrativas y asistentes que atienden aspectos particulares de SQL Server.
ARQUITECTURA DE SQL SERVER
COMUNICACIÓN: SQL Server usa una arquitectura de comunicación por capas para aislar aplicaciones internas de red y protocolos. Esta arquitectura permite desplegar la misma aplicación en diferentes ambientes de red. Los componentes en la arquitectura de comunicación incluyen:
-APLICACIÓN: Una aplicación es desarrollada usando una aplicación de interfaz de programación para Base de Datos (API). La aplicación no tiene conocimiento de los protocolos internos de red usados para la comunicación con SQL Server.
-INTERFAZ DE LA BASE DE DATOS: Esta es una interfaz usada por una aplicación para mandar peticiones a SQL Server y procesar los resultados devueltos por SQL Server.
-LIBRERÍA DE RED: Este es un componente de Software de comunicación que empaqueta las peticiones de la Base de Datos y los resultados para transmitirlos por medio del protocolo de red apropiado. Una librería de Red, también conocida como Net- Library, debe ser instalada tanto en el cliente como en el servidor. Tanto Clientes como Servidores pueden usar más de una Net-Library al mismo tiempo, pero deben usar una Librería de Red común para comunicarse satisfactoriamente. SQL Server soporta protocolos de red tales como TCP/IP, Novell, IPX/SPX, Banyan VINES/IP, Named Pipes,y Apple Talk ADSP.
-TABULAR DATA STREAM: (TDS) Es un protocolo por niveles de aplicación usado para la comunicación entre un Cliente y SQL Server. Los paquetes TDS son encapsulados en los paquetes de red hechos por la protocol stak usada por las Net-Libraries.
-SERVICIOS OPEN DATA: Este es un componente de SQL Server que se encarga de las conexiones de red, pasando las peticiones del cliente al SQL Server para procesar y regresar cualquier resultado a los Clientes. Open Data escucha automáticamente en todas las Net-Libraries que están instaladas en el servidor. 

SEGURIDAD EN SQL SERVER 
SQL Server valida a los usuarios con 2 niveles de seguridad; autentificación del login y validación de permisos en la Base de Datos de cuentas de usuarios y de roles. La autentificación identifica al usuario que está usando una cuenta y verifica sólo la habilidad de conectarse con SQL Server. El usuario debe tener permiso para accesar a las Bases de Datos en el Servidor. Esto se cumple para asignar permisos específicos para la Base de Datos, para las cuentas de usuario y los roles. Los permisos controlan las actividades que el usuario tiene permitido realizar en la Base de Datos del SQL Server.

BIBLIOGRAFIA:

EL LENGUAJE ESTANDAR SQL (PDF)

UNIDAD 3: SQL (1) DDL Y DML. POR: JORGE SÁNCHEZ ALSEJO

SQL SERVE 2012, SQL TRANSACT SQL, DISEÑO Y CREACIÓN DE UNA BASA DE DATOS. POR: JEROME GABILLOUD.

SQL  Y DESARROLLO DE APLICACIONES EN ORACLE 8. POR: MERCEDES MARQUE ANDRES; JOSE I. ABOGA ESTELLES

VISITE TAMBIEN:
http://foxeando.com.ar/archivos/sql.pdf