ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Definicion de SQL


Enviado por   •  23 de Octubre de 2013  •  Tesis  •  3.476 Palabras (14 Páginas)  •  200 Visitas

Página 1 de 14

Definicion de SQL

El lenguaje de consulta estructurado o SQL (por sus siglas en inglés structured query language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en ellas. Una de sus características es el manejo del álgebra y el cálculo relacional que permiten efectuar consultas con el fin de recuperar de forma sencilla información de interés de bases de datos, así como hacer cambios en ella.

La sigla que se conoce como SQL corresponde a la expresión inglesa Structured Query Language (entendida en español como Lenguaje de Consulta Estructurado), la cual identifica a un tipo de lenguaje vinculado con la gestión de bases de datos de carácter relacional que permite la especificación de distintas clases de operaciones entre éstas.

Caracteristicas de SQL

A manera de resumen, podemos enunciar las siguientes características de SQL:

• Es un lenguaje basado en el idioma Inglés que usa frases en inglés para manipular la base de datos.

• Es no procedimental. Usted especifica la información requerida, más no las operaciones o la forma de

llegar a la información. Cada RDBMS tiene un optimizador de búsquedas, el cual traduce sus cláusulas en SQL y elabora el camino o la ruta óptima para llegar a los datos.

• Cuando se trabaja con los datos, todas las filas afectadas por los comandos se tratan como un solo bloque, no son tratadas una por una

• Adicionalmente, SQL permite que los resultados de una consulta sean los datos de entrada para una nueva.

Tipos de Consulta de SQL

Una consulta en SQL consta básicamente de dos cláusulas obligatorias (SELECT y FROM) a las

que se le pueden añadir opcionalmente otras cuatro cláusulas (WHERE, GROUP BY, HAVING y

ORDER BY).

3.1. Las cláusulas SELECT / FROM

La cláusula SELECT que inicia cada sentencia especifica la lista de atributos de los datos que

queremos recuperar en la consulta. Corresponde con la operación de proyección del álgebra

relacional.

Para especificar la lista de elementos seleccionados podemos escribir cualquiera de los elementos

siguientes teniendo en cuenta que, si hay más de uno, estarán separados por comas.

• El nombre de una columna, que hará referencia a un atributo de la tabla que especifiquemos en

la cláusula FROM. Más adelante veremos que, en determinadas ocasiones, al tener más de una

tabla en la cláusula FROM necesitaremos además especificar el nombre de la tabla a la que

pertenece dicho atributo escrito de la siguiente forma: mi_tabla.atributo_seleccionado

• El valor *, para indicar que se desea información de todas las columnas que forman la tabla.

• Una constante, especificando que el valor constante va a aparecer en todas las filas de los

resultados de la consulta.

• O una expresión SQL, indicando que SQL debe calcular el valor a colocar en los resultados

según el estilo especificado por la expresión, por ejemplo: AVG .Esto lo veremos más adelante.

La cláusula FROM es la que indica sobre que tabla/s se desea recuperar información. Si hay más

de una, se separan los nombres de las tablas por comas (y esto correspondería al producto cartesiano

del álgebra relacional).

El resultado de una consulta SQL es siempre una tabla de datos, semejante a las tablas de base de

datos. Generalmente los resultados de la consulta formarán una tabla con varias columnas y filas.

Por ejemplo, si queremos saber ”el listado de los

nombres, oficinas y fechas de contrato de todos los

vendedores”, la consulta sería:

SELECT nombre, oficina_rep, contrato FROM

repventas ;

Dando como resultado una tabla de tres columnas

(hemos seleccionado 3 atributos) y diez filas (ya que

hay diez vendedores) que es la tabla de la derecha.

Sin embargo, si pedimos “El nombre, cuota y ventas del empleado número 107”, la consulta

produce una única fila, ya que sólo hay un vendedor que tenga el número de empleado solicitado.

SELECT nombre, cuota, ventas FROM repventas WHERE num_empl=107 ;

NOMBRE CUOTA VENTAS

Natalia Martin 27500 34432

En algunos casos los resultados de la consulta pueden ser un único valor, como en el caso de pedir

“el promedio de ventas de los vendedores”:

SELECT AVG(ventas) FROM repventas ;

NOMBRE OFICINA_REP CONTRATO

Jose Maldonado 11 14/06/1998

Carlos Martinez 12 19/05/1997

Belen Aguirre 13 12/02/1998

Maria Garcia 11 12/10/1999

Lorenzo Fernandez 21 12/10/1999

Soledad Martinez 21 10/12/1996

Daniel Gutierrez 12 20/10/1996

Antonio Valle NULL 13/01/2000

Pedro Cruz 12 01/03/1997

Natalia Martin 22 14/11/1998

AVG (ventas)

24758.20 14748 - Bases de Datos – Biblioteconomía. 2003-2004 Tema 5: Lenguajes de Consulta. SQL.

6

E incluso en otros puede producir cero filas de resultados. Por ejemplo si realizamos la consulta “el

nombre y fecha de contrato de cualquier vendedor con ventas superiores a 75000”:

SELECT nombre, contrato FROM repventas WHERE ventas>75000 ;

NOMBRE CONTRATO

Aún en esta situación, el resultado sigue siendo una tabla. Se trata de una tabla vacía con dos

columnas y cero filas.

Por otra parte, hay que tener en cuenta que la cláusula SELECT nos va a mostrar tantas filas como

datos respondan a la consulta. Si la consulta incluye la clave primaria de una tabla en su lista de

selección, entonces cada fila de resultados será única (ya que la clave primaria tiene un valor

diferente en cada fila). Si no se incluye la clave primaria en los resultados pueden producirse filas

duplicadas. Por ejemplo, supongamos que pedimos “La lista de las regiones en que se encuentran

las oficinas”:

SELECT region FROM oficinas ;

Los resultados tienen cinco filas (uno por oficina), pero observamos que hay filas

duplicadas dado que las regiones se repiten. Probablemente, estos resultados no son

los que uno pretendía con la consulta, es decir, si existen tan solo dos regiones

diferentes cabría esperar que aparecieran solo las dos regiones.

Se pueden eliminar filas duplicadas de los resultados de la consulta insertando la palabra clave

DISTINCT en la sentencia SELECT, justo antes de la lista de selección. Veamos la consulta anterior

modificada:

SELECT DISTINCT region FROM

...

Descargar como (para miembros actualizados) txt (23 Kb)
Leer 13 páginas más »
Disponible sólo en Clubensayos.com