martes, 19 de abril de 2016

Historia y evoluciòn de SQL



 Integrantes
 Acosta Ynery
 Fuenmayor Génesis
 Semestre 5
 seccion71
                                                                                                                                                                                                                                                                                                                                                                                                                    

SQL:
Hablemos de SQL,  pero te preguntaras, ¿qué es SQL? Sin problema que en este espacio de explicaremos, que es SQL, pero antes de aclarar que es SQL, su importancia, características o funciones, Recordemos  su definición y orígenes.

Definición:
Te habrás preguntado qué significa las sigla SQL, la abreviatura  que se conoce como SQL pertenece al término inglés Structured Query Language (entendida en español como Lenguaje de Consulta Estructurado), la cual unifica a un prototipo de lenguaje enlazado con la gestión de bases de datos de condición  relacional, que admite la especificación de distintas clases de operaciones entre éstas. Gracias a la utilización del álgebra y de cálculos relacionales, el SQL brinda la oportunidad de realizar consultas con el objetivo de recuperar información de las bases de datos de manera sencilla.

Orígenes y evolución:
Ya entendido el término de SQL, indaguemos en su naturaleza, todo se inicia en los años 70 específicamente en 1974, basándose en el modelo relacional de Edgar codd, se emprende en un laboratorio deIBM, (International Business Machine,= Empresa de tecnología internacional, de software /hardware) las elaboraciones para la creación de una base de datos que llevaría  el nombre de SEQUEL (Structured Query Language), en su principios, posteriormente se llamaría SQL.

Entre 1974 y 1975 se implementó  un prototipo llamado SEQUEL-XRM.
Las experimentaciones con ese modelo (SEQUEL-XRM) llevaron, entre 1976 y 1977, a una revisión del lenguaje (SEQUEL/2), que a partir de ese tiempo cambió de nombre por causas legales, transformándose en SQL. El prototipo (System R), basado en este lenguaje, se adoptó y utilizó internamente en IBM y lo tomaron algunos de sus clientes elegidos. Gracias al éxito  rotundo de este sistema, que no estaba todavía comercializado
           
En la trayectoria de los años ochenta, varias compañías (Oracle y Sybase, etc) 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.

A partir de 1981, IBM comenzó a entregar sus productos relacionales. En 1986, el
ANSI adoptó SQL (sustancialmente adoptó el dialecto SQL de IBM) como estándar para los lenguajes relacionales.


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.

En 1992 se lanza un nuevo SQL/92, más amplio y  revisado.

El SQL3 fue aceptado como el nuevo estándar de SQL en 1999, después de más de
7 años de debate.

En  2000 aparece la versión SQL Server 8.0. Presenta un host de innovadoras
Características que le ayudarán a adecuarse a las diferentes exigencias de análisis y gestión de datos. Gran soporte para estándares de web, potentes herramientas para el ajuste y la gestión del sistema, y escalabilidad y fiabilidad excepcionales que convierten a SQL Server 2000 en la mejor elección de la siguiente generación de soluciones de bases de datos de empresa. Proporciona a los usuarios una innovadora plataforma de base de datos para el procesamiento transaccional online a gran escala, el Business Inteligencia y las aplicaciones de comercio-e .también facilita a los usuarios un medio XML integrado, añade una nueva característica de data mining en Servicios de Análisis, y mejora la tecnología de repositorios con los Servicios de Metas.

En el 2003  Microsoft saco la versión SQL Server 2000 64-bit Edition, que se podía
Instalar en Windows XP 64Bit y Windows Server.

En el 2010 sale SQL Server 2008 R2, algunos la llaman SQL Server 2010, cosas no
muy raras de algunos administradores. SQL Server 2008 R2 ofrece varias capacidades sin precedentes  que permitirá a su organización a escala las operaciones de base de datos con la confianza, mejorar la eficiencia de TI y desarrolladores, y permitirá altamente escalable y bien administrativo Business Intelegence en un sistema de autoservicio para los usuarios.

SQL Server 2012 fue lanzado en el año 2012 el cual proporciona confianza de
Misión crítica con mayor tiempo activo, rendimiento ultra rápido y características mejoradas de seguridad para cargas de trabajo de misión crítica. Avances innovadores con exploración de datos de auto-servicio administrado y capacidades asombrosas e interactivas de visualización de datos; La nube en sus propios términos al habilitar la creación y extensión de soluciones a lo largo de la nube en las instalaciones y en la nube pública.
Además de contar con una nueva edición específica para BI (Business Intelligence), las nuevas opciones de licenciamiento vuelven a SQL Server 2012 una solución adaptada a las necesidades actuales de las organizaciones desde el momento de su adquisición.

El hecho de tener un estándar determinado 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. Evidentemente, en general cada productor adopta y realiza 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), desarrollándolo de manera particular según la propia visión que cada cual tenga del mundo de las bases de datos.


Características de SQL:



Lenguaje de definición de datos: El LDD de SQL proporciona comandos para la
Definición de esquemas de relación, borrado de relaciones y modificaciones de los esquemas de relación.
Lenguaje interactivo de manipulación de datos: El LMD de SQL incluye lenguajes
De consultas basado tanto en álgebra relacional como en cálculo relacional de tuplas.
Integridad: El LDD de SQL incluye comandos para especificar las restricciones de
Integridad que deben cumplir los datos almacenados en la base de datos.
Definición de vistas: El LDD incluye comandos para definir las vistas.

Control de transacciones: SQL tiene comandos para especificar el comienzo y el final de una transacción.

SQL incorporado y dinámico: Esto quiere decir que se pueden incorporar
Instrucciones de SQL en lenguajes de programación como: C++, C, Java, PHP, Cobol, Pascal y Fortran.
Autorización: El LDD incluye comandos para especificar los derechos de acceso a
Las relaciones y a las vistas.

Lenguaje de SQL:
El lenguaje SQL  es aquél que nos permite manejar las bases de datos., pero antes tomaremos un momento para recordar  cómo funcionan las bases de datos.
Una base de datos consiste fundamentalmente unas  o más tablas.
Cada tabla consiste en una o más columnas llamadas "campos", y una o más filas llamadas "registros". Cada columna o campo contiene un tipo de dato diferente y cada fila o registro contiene una "entidad", es decir objeto, persona ... que está registrado como un ente único.
La intersección de cada columna o "campo" con cada fila o "registro" es una "celda". La celda es la unidad mínima de la base de datos, y en cada una de ellas sólo podemos guardar un dato.
Cada base de datos (dentro de MySQL) debe tener un nombre único que la distinga de las demás. De la misma forma cada tabla, dentro de cada base de datos, debe tener también su nombre, no pudiendo haber nombres repetidos para distintas tablas dentro de una misma base.
Dentro de cada tabla, cada columna o "campo" tiene también un nombre. No puede haber dos columnas con el mismo nombre dentro de una tabla.
Dentro de cada base las tablas pueden estar relacionadas entre sí. Por ejemplo tenemos una base de datos llamada "literatura". Esta puede contener diferentes tablas, por ejemplo, "autores", "obras", "época", "genero". Cada una de estas tablas se relaciona con las otras para poder mostrar no sólo sus propios datos sino también algunos datos de las otras.
Esto nos lleva a otro tipo de elemento, la consulta. Una consulta es una serie de datos que extraemos de la tabla mediante el lenguaje SQL. En una consulta podemos extraer, por ejemplo una tabla entera, o datos que buscamos en una tabla que coincidan con un cierto criterio, o datos de varias tablas relacionados entre sí, etc.
Ya expuesto que es una base de datos, regresemos al tema primordial lenguaje SQL, este  sirve para manejar las bases de datos, es un lenguaje de texto plano, que podemos usar desde cualquier editor de textos. De esta manera podemos acceder y operar las bases de datos. Para usarlo con páginas web debemos usarlo conjuntamente con otros lenguajes.


Con SQL podemos hacer entre otras las siguientes operaciones en el programa que gestiona las bases de datos:

  1. 1.      Crear nuevas bases de datos.

  1. 2.      Crear nuevas tablas en una base de datos.

  1. 3.      Crear nuevos registros en las tablas de una base de datos

  1. 4.      Crear tablas de consulta en una base de datos.

      5.      Borrar tablas o bases de datos.
      6.      Borrar registros.
      7.      Cambiar uno o varios datos de un registro.
      8. Mostrar los datos de una tabla o consulta.
      9.      Buscar y mostrar sólo algunos datos de una tabla o consulta, poniendo una serie de
Condiciones para la búsqueda. Es decir, el lenguaje SQL admite gestionar una base de datos en su totalidad. Con MySQL y PHP podemos hacer todas estas operaciones desde un sitio web.
  
Sintaxis de SQL.
El lenguaje SQL se reconstruye de sentencias. Cada una de las cuales es una instrucción que se envía a la base de datos. En las sentencias se incluyen dos tipos de palabras: las palabras clave propias del lenguaje SQL y los datos de la base (datos individuales, nombres de bases, tablas o columnas. etc.); este tampoco distingue  entre mayúsculas o minúsculas en sus palabras clave. Es decir podemos escribir tanto "select" como "SELECT". Sin embargo en los nombres de bases de datos, tablas, columnas y otros elementos de la base SI se distingue, por lo que éstos debemos ponerlos tal como están en la base
Cada sentencia empieza por una palabra que es un verbo e indica lo que queremos hacer (create, drop, select, update, etc) seguido por el nombre del tipo de elemento al que afecta. Esto último puede ser una o varias palabras. Además también pueden usarse algunas preposiciones o adverbios que indiquen restricciones o el tipo de búsqueda (where = condición, from = restringe a el elemento indicado luego, etc.). Sabiendo un poco de inglés el lenguaje SQL puede resultar un tanto lógico ya que estamos indicando lo que queremos hacer. Por ejemplo la instrucción:
SELECT nombre, teléfono FROM agenda
Indica que queremos seleccionar (SELECT) los campos "nombre" y "teléfono" dentro de la tabla llamada "agenda".
Acabar cada sentencia con un punto y coma es opcional, sin embargo es lo más recomendable, ya que si bien en MySQL esto es opcional, podría haber problemas con otros tipos de sistemas para bases de datos.
a) Select: función que permite solicitar que se nos devuelva un dato o serie de datos.
b) Insert: función para insertar nuevas filas de información en una tabla.
c) Update: función para modificar una o varias filas ya existentes previamente.
d) Delete: función que borra una fila o un conjunto de filas de una
Al igual que otros lenguajes de programación como HTML, CSS o PHP, en SQL asimismo se ignoran los espacios en blanco de más, las tabulaciones y los saltos de línea, es decir escribir más de un espacio en blanco o un salto de línea con tabulación o sin ella tiene el mismo efecto que escribir sólo un espacio en blanco, con lo cual el programador puede aprovechar esto para poner el código de una manera clara y estructurada.


Tipos de sentencias:
Las sentencias de SQL se agrupan en tres  grades tipo que son:
DDL: Lenguaje de definición de Datos: (Data Definition Languaje) Entran aquí las sentencias que definen y crean los objetos que soportan la base de datos (creación o supresión de bases, creación o supresión de tablas, relaciones entre tablas, claves en las tablas, etc., las sentencias más importante DDL en SQL son:
CREATE DATABASE - crea una nueva base de datos
ALTER DATABASE - modifica una base de datos
CREATE TABLE - crea una nueva tabla
ALTER TABLE - modifica una tabla
DROP TABLE - borra una tabla
CREATE INDEX - crea un índice (llave de búsqueda)
DROP INDEX - borra un índice

DML: Lenguaje de Manipulación de Datos: (Data Management Languaje) Entran aquí las sentencias para manejar los datos almacenados en las tablas, a nivel de campos (columnas) o registros (filas). Por ejemplo crear, cambiar o consultar registros o sus datos. La parte DML del SQL de los comandos de consulta y actualización son:
SELECT - extrae datos de una base de datos
UPDATE - actualiza datos en una base de datos
DELETE - borra datos de una base de datos
INSERT INTO - inserta datos dentro de una base de datos

DCL: Lenguaje de Control de Datos: (Data Control Languaje) Entran aquí las sentencias para controlar las funciones de administración. La parte de DCL de los comandos de SQL de control de datos son:
COMMIT: Guarda los trabajos realizados en las transacciones Para generar un COMMIT automáticamente utilizaremos las siguientes instrucciones:
Quit
Exit
Connect
Disconnect
Create table
Drop table
Create view

Drop view
Grant
Alter
Revoque
Audit
Noaudit

ROLLBACK: Restaura la base de datos al estado original desde el comando COMMIT pasado en las transacciones
SAVEPOINT: establecer un punto en que es posible un ROLLBACK.
SAVETRANSACTION: Establece un punto de almacenamiento dentro de una transacción
GRANT: Permite dar permisos a uno o varios usuarios o roles para realizar tareas determinadas.
REVOKE: Permite eliminar permisos que previamente se han concedido con GRANT: Las tareas sobre las que se pueden conceder o denegar permisos son las siguientes:
Los accesos son los siguientes: ALL PRIVILEGES / SELECT /UPDATE |/CONNET/INSERT /USAGE/ DELETE
El comando PUBLIC hace referencia a «todos los usuarios». Se le concede a ese usuario el permiso de conceder privilegios con el comando WITH GRANT OPTION.

También es muy importante recordar que Las instrucciones SQL y los procedimientos almacenados suelen usar paràmetros de input, parámetros de output entrada y códigos de retorno. En Integration Services, la tarea Ejecutar SQL admite los tipos de parámetros Input, Output y ReturnValue.Utilice el tipo Input para parámetros de entrada, Output para parámetros de salida y ReturnValue para códigos de retorno.

Ventajas y desventajas de SQL:
Entre las ventajas destacan:
Microsoft da asistencia y capacitación a sus productos ya que otras empresas no lo haces con sus productos.

Microsoft SQL, ofrece muchas ventajas y beneficios a las empresas comparado con IBM, Oracle, MySQL.
Microsoft SQL, incluye funcionalidades más importantes de bases de datos sin tener que pagar por funcionalidades o productos añadidos, como son recuperación ante desastres de remoto, particionado, compresión de datos, cifrado transparente de datos, gestión de datos maestros, procesamiento de eventos complejos y Herramientas de Business Intelligence (BI)



  1. 1        Creación de Procedimientos Almacenados

  1. 2         Usuarios Vistas y Triggers. Un solo archivo de base de datos y uno de transacciones

  1. 3        Interfaz Gráfica para Administración de BD.

  1. 4        SQL permite administrar permisos a todo. También  permite que  alguien conecte su SQL al nuestro pero sin embargo podemos decirle que no puede ver esta base de datos pero otro sí.

  1. 5        Automatización de Tareas de Mantenimiento de BD -Mayor velocidad en búsquedas.

Algunas de sus desventajas son:
1       Enorme cantidad de memoria RAM que utiliza para la instalación y utilización del software.
2       Tiene restricciones en lo particular.
3       La relación calidad-precio. .    
4       Tiene muchos bloqueos a nivel de página, un tamaño de página fijo y demasiado pequeño, una pésima implementación de los tipos de datos variables.

Como instalar SQL 2014:
Este paso a paso resumido está hecho con la segunda versión preliminar de SQL Server 2014.
Una vez cargada la ISO/CD lanzamos el instalador. Nosotros queremos una nueva instancia de bbdd. Nos vamos al apartado de Instalación y agregamos una nueva instancia (captura inferior). Pulsamos Siguiente y nos pide la clave, que introducimos si toca y pulsamos siguiente de nuevo.
  • Seguimos con la licencia (que aceptamos, claro) y después seguimos con la validación de requisitos. Seguramente si pruebas sobre una máquina virtual  falle la parte de “Actualización de .NET 2.0 y .NET 3,5 Service Pack 1 para...”. No pasa nada. Miramos el detalle del error y nos bajamos el paquete que nos específica para nuestro sistema operativo. Más adelante también se comprueba si tentemos habilitado Windows PowerShell 2.0 y el NetFramework 3.5 Sp1. Lo instalamos todo y volvemos a empezar.
Cuando lleguemos al mismo punto, se pone a buscar actualizaciones, lo dejamos si hace falta y pasamos al siguiente paso que es otra validación, en este caso de reglas (firewall etc..). Si está habilitado nos advertirá (captura inferior). Posteriormente podemos añadir los puertos de SQL o deshabilitarlo si lo creyéramos preciso.
 

  • Seguimos con el Rol de la instalación donde seleccionamos Instalación de características de SQL Server. Siguiente y ya podemos elegir lo que vamos a instalar (en mi caso para probar las tablas en memoria y Power View es lo que ves en pantalla: motores de base de datos y analisys services, conectividad de cliente y herramientas de administración).
A continuación podemos configurar el nombre de la instancia (dejamos el valor por defecto si es la primera en este servidor). Después elegimos las cuentas de ejecución para cada servicio. Podemos dejar las cuentas por defecto o alguna otra cuenta, pero la gracia aquí es aplicar aquello de que la cuenta tenga los permisos justos y necesarios. Pulsamos siguiente.
  • En la configuración de cada servicio debemos recordar añadir algún usuario al grupo de administradores. Además debemos elegir si toca, el tipo de autentificación para los usuarios.
 
  • Pulsamos siguiente y ya tenemos el resumen final de lo que vamos a instalar. Siguiente y a esperar. Cuando acabe reiniciamos y listos!
Ya tenemos instalado nuestro base de datos SQL Server 2014 a punto para empezar a probar
Anexo  link de video tutorial y de descarga de SQL 2014
http://www.identi.li/index.php?topic=311580 
https://www.youtube.com/watch?v=XmViUNlg2L4 



4 comentarios: