SQL (STRUCTURED QUERY LANGUAJE

)

1. DEFINICIONES:

El SQL (Structured Query Language) es un estándar aceptado en productos de bases de datos, además SQL es un ejemplo de lenguaje orientado a transformaciones es decir un lenguaje diseñado para usar relaciones con el fin de transformar los datos, SQL tiene algunos componentes que son: Un lenguaje de definición de Datos, un lenguaje de manipulación de datos.[1] SQL (Structured Query Language) es un potente lenguaje informático que cumple las funciones de DDL y DML en los SGBD relacionales. Su origen está en el lenguaje SEQUEL (Structured English QUEry Language) desarrollado en IBM en los años 1974-75. Oracle fue el primer fabricante de sistemas de bases de datos en comercializar una implementación de SQL en 1979. IBM lanzó el producto SQL/DS en 1981 y dos años más tarde el conocido DB2.[2] El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por los diferentes motores de bases de datos para realizar determinadas operaciones sobre los datos o sobre la estructura de los mismos. Pero como sucede con cualquier sistema de normalización hay excepciones para casi todo; de hecho, cada motor de bases de datos tiene sus peculiaridades y lo hace diferente de otro motor, por lo tanto, el lenguaje SQL normalizado (ANSI) no nos servirá para resolver todos los problemas, aunque si se puede asegurar que cualquier sentencia escrita en ANSI será interpretable por cualquier motor de datos.[3 Es un estándar en el lenguaje de acceso a bases de datos. Originalmente, era un lenguaje de acceso al sistema de gestión de bases de datos denominado DB2 en plataformas 390 de IBM. En la actualidad está adoptado por ISO. [4] Se trata de un lenguaje fuertemente basado en el inglés, que puede ser utilizado en modo conversacional mediante un intérprete o bien formando parte de un programa desarrollado en un lenguaje de programación anfitrión como C, Cobol, etc. (SQL embebido). La característica relacional más importante de SQL es que permite acceder a los datos sin necesidad de especificar cómo se ha de realizar dicho acceso permitiendo así la "navegación automática" por los datos.[5] (Structured Query Language) Lenguaje utilizado para base de datos desarrollado entre 1974 y 1975 en IBM Research. Por esos años se llamaba SEQUEL (Structured English QUEry Language) y servía como interfaz para un sistema experimental de base de datos llamado SYSTEM R. SQL fue introducido por Oracle por primera vez en una base de datos comercial en el año 1979. Se convirtió en un estándar ANSI e ISO dando lugar al SQL-86 o SQL1, que se fue actualizando a SQL-92 o

SLQ2, luego a SQL3 y actualmente (2004) a SQL4. El lenguaje se utiliza para definir, consultar y actualizar la base de datos, y es el más popular de su estilo. La estructura básica para consultas en SQL es select-from-where. Conceptualmente, SQL es un lenguaje de definición de datos (LDD), un lenguaje de definiciones de vistas (LDV) y un lenguaje de manipulación de datos (LMD), que posee también capacidad para especificar

EXISTEN DOS TIPOS DE COMANDOS SQL: • DLL: que permiten crear y definir nuevas bases de datos, campos e índices.

COMANDO DDL COMANDO CREATE DROP ALTER DESCRIPCION Utilizado para crear nuevas tablas, campos e índices Empleado para eliminar tablas e índices Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos

DML: que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.

COMANDO DML COMANDO SELECT INSERT UPDATE DELETE [7] 2. DML: DESCRIPCION Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado Utilizado para cargar lotes de datos en la base de datos en una única operación. Utilizado para modificar los valores de los campos y registros especificados Utilizado para eliminar registros de una tabla de una base de datos

DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio, es decir, añadir, consultar, borrar o actualizar. En SQL los comandos SELECT, INSERT, UPDATE y DELETE son comandos DML. Otras órdenes como COMMIT, START TRANSACTION o ROLLBACK están en el límite de lo que podemos considerar órdenes DML de SQL puesto que no inciden en la manpilación o consulta de datos pero sí en el proceso en que esto se realiza.[8] p
2.1.SELECT: La instrucción SELECT es la instrucción mas importante y

se utiliza para las consultas, la clausula SELECT indica las columnas y los datos calculados que deben aparecer en la tabla de resultados http://jamestorres.wordpress.com/2007/10/05/sql-definicion-ymanipulacion-de-datos/ SINTAXIS:

SELECT "nombre_columna" FROM "nombre_tabla" Para ilustrar el ejemplo anterior, suponga que tenemos la siguiente tabla: Tabla Store_Information store_name Los Angeles San Diego Los Angeles Boston Sales 1500 € 250 € 300 € 700 € Date 05-Jan-1999 07-Jan-1999 08-Jan-1999 08-Jan-1999

Podemos utilizar esta tabla como ejemplo a lo largo de la guía de referencia (esta tabla aparecerá en todas las secciones). Para seleccionar todos los negocios en esta tabla, ingresamos, SELECT store_name FROM Store_Information Resultado:

store_name San Diego Los Angeles Boston

2.2.UPDATE: Sustituye valores de columnas en una tabla.

SINTAXIS:

UPDATE tabla SET columna=expresión [, … ] [FROM lista] [WHERE condición]
[9]

UPDATE “nombre tabla” SET “columna 1” = [nuevo valor] WHERE {condición}

Tenemos la siguiente tabla: Tabla Store Information

Store_ name Bogotá Tunja Cali Medellín

sales 1500 750 300 700

date 03-jun-1999 04 –jun- 1999 05-jun-1999 05-jun-1999

Después de realizar la tabla notamos que las ventas en Tunja son de 1050 y no de 750; como necesitamos modificar nuestra entrada realizamos lo siguiente:

UPDATE Store Information SET Sales= 1050 WHERE store name= “Tunja” AND date= “04-JUN-1999”

NUESTRA TABLA NUEVA SERIA: Tabla Store Information

Store_ name Bogotá Tunja Cali Medellín

sales 1500 1050 300 700

date 03-jun-1999 04 –jun- 1999 05-jun-1999 05-jun-1999

También podemos aplicar UPDATE para múltiples filas, su estructura es la siguiente:

UPDATE “nombre tabla” SET colonne 1= [valor1], colonne 2=[valor2] WHERE {condición} [10]

2.3.INSERT: Es una instrucción que nos permite ingresar datos en las

filas de las tablas. En SQL encontramos dos formas para insertar datos en una tabla: Una es insertar una fila por vez, y otra es insertar filas múltiples por vez.

Para insertar datos a través de una fila por vez la función es la siguiente:

INSERT INTO “nombre tabla” (“columna1”,”columna2”,…) VALUES (“valor1”,”valor2”,…)

Si tenemos la siguiente tabla:

Tabla Store Information

Column name Store name sales date

Data type Char(50) float datetime

Queremos insertar una fila adicional en esta tabla que sean: Tunja, 05 febrero de 1999, con habitantes de 25000.Nuestra escritura seria:

INSERT INTO Store Information (store name, sales, date) VALUES (‘TUNJA’, 25000,’05 febrero de 1999’).

Para insertar filas múltiples en una tabla la función es la siguiente; para esto debemos utilizar la instrucción SELECT que nos permite especificar los datos que deseamos insertar en la tabla.

INSER INTO “tabla1” (“columna1”,”columna2”,…) SELECT “columna3”,”columna4”,… FROM “tabla2 [10]

3. DDL:

El DDL (Data Definition Language) lenguaje de definición de datos es la parte del SQL que más varía de un sistema a otro ya que esa area tiene que ver con cómo se organizan internamente los datos y eso, cada sistema lo hace de una manera u otra. Así como el DML de Microsoft Jet incluye todas las sentencias DML que nos podemos encontrar en otros SQLs (o casi todas), el DDL de Microsoft Jet en cambio contiene menos instrucciones que otros sistemas[11] El DDL es la parte del lenguaje SQL que se encarga de la creación,

modificación y eliminación de los objetos de la base de datos (es decir de los metadatos). Por supuesto es el encargado de la creación de tablas. [12]
3.1.CREATE: Las vistas tienen un conjunto de definiciones, que se construye

en la parte superior de la(s) tabla(s) u otra(s) vista(s), y no almacena datos físicamente. • CREATE nos permite crear vistas su sintaxis es la siguiente:

CREATE VIEW “NOMBRE VISTA” AS “Instrucción SQL”

Ejemplo: Tenemos la siguiente tabla.

Tabla customer First name char(50), Last name char(50), Address char(50), City char(50), Country char(25), Birth Date(date)

-Deseamos crear una lista que se llame B customer que contenga las siguientes columnas: First name, Last Name, y Country de esta tabla, Si sintaxis es la siguiente:

CREATE VIEW B customer AS SELECT First Name, Last Name, Country FROM Customer

Esta opción también nos permite crear vistas para unir dos tablas: Tabla Store Information

Store_Name Tunja Bogota Tunja Cali

Sales 1500 750 750 450

Date 05-jun-1999 05-jun-1999 06-jun-1999 07-jun-1999

Tabla Geography Region name Store Name east Boston east New York west Los Angeles west San Diego Si Deseamos una vista con ventas organizada según la región la instrucción es la siguiente:

CREATE VIEW V REGION SALES AS SELECT AL. region name REGION, SUM(A2. Sales) SALES FROM Geograpy AL, Store Information A2 WHERE AL. store name= A2.store name GROUP BY AL.región name

V REGION SALES: Si deseamos conocer el resultado de esta vista ingresamos: SELECT*FROM V REGION SALES RESULTADO: REGION SALES East 700 West 2050

3.2.DROP

Toda sentencia de creación CREATE tiene su equivalente para eliminar el objeto creado. Todas estas sentencias tienen la misma

sintaxis: DROP tipo_objeto objeto_a_borrar. Por ejemplo: DROP TABLE FACTURA; DROP SEQUENCE COD_CLIENTE; DROP SYNONYM BILL; DROP VIEW TOTAL_FACTURA_CLIENTE; DROP TABLESPACE tab_indices; Ciertas sentencias DROP (como DROP TABLE o DROP TABLESPACE) tienen cláusulas adicionales para ciertas situaciones especiales. Para más información buscar la ayuda de la sentencia necesitada en el Oracle8 SQL Reference.

3.3.ALTER

Al igual que existe una sentencia DROP para cada objeto creado, también existe una sentencia ALTER para cada objeto de base de datos. Con estos tres grupos de sentencias se hace la gestión completa de los objeto: creación, modificación y borrado. La sintaxis básica de las sentencias ALTER es: ALTER tipo_objeto nombre_objeto Cláusulas específicas de cada tipo de ALTER; Las cláusulas propias de cada sentencia ALTER son muchas y variadas, por lo que aquí no se citarán más que ciertos ejemplos. Ejemplos: ALTER TABLE FACTURA ADD( NUEVA_COLUMNA VARCHAR2(10) NOT NULL );

ALTER VIEW BILL COMPILE; ALTER TABLESPACE tab_indices ADD( DATAFILE ‘C:\ORANT\DATABASE\otro_datafile.ora’ SIZE 5M; ALTER TABLESPACE tab_indices RENAME DATAFILE ‘C:\ORANT\DATABASE\nombre.ora’ TO ‘C:\ORANT\DATABASE\otro_nombre.ora’ ALTER TABLESPACE tab_indices COALESCE; ALTER SEQUENCE NOCYCLE;

INFOGRAFIA

http://jamestorres.wordpress.com/2007/10/05/sql-definicion-y-manipulacionde-datos/
1. 2. http://www.cs.us.es/cursos/bd-2001/temas/sql_I.html 3. http://personal.lobocom.es/claudio/sql001.htm 4. http://www.mastermagazine.info/termino/6771.php

5. http://www.cs.us.es/cursos/bd-2001/temas/sql_I.html 6. http://www.alegsa.com.ar/Dic/sql.php
7. http://personal.lobocom.es/claudio/sql001.htm

8.http://www.error500.net/garbagecollector/archives/categorias/bases_de_datos/sql_y_l os_comandos_dml.php
9. http://www.miliuco.net/docs/oracle_select.htm

10. http://sql.1keydata.com/es/sintaxis-sql.php

11. http://www.aulaclic.es/sql/t_8_1.htm
12. http://www.scribd.com/doc/2892924/Unidad-3-Lenguaje-SQL-I-DDL-y-DML