Sunteți pe pagina 1din 18

REPUBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA DEFENSA


UNIVERSIDAD NACIONAL EXPERIMENTAL POLITCNICA DE LA
FUERZA ARMADA NACIONAL BOLIVARIANA
(UNEFA)
NUCLEO YARACUY-EXTENCION NIRGUA

SQL
Facilitadora:
Ing. Edgardo Molina

Emprendedores:
Joxany Chvez
Seccin U

V Semestre de Ing. de Sistemas

Nirgua, Mayo del 2016

Lenguaje SQL

SQL (por sus siglas en ingls 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 caractersticas es el manejo del lgebra y el clculo
relacional que permiten efectuar consultas con el fin de recuperar, de forma
sencilla, informacin de bases de datos, as como hacer cambios en ellas.

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 normalizacin 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.

A diferencia de muchos lenguajes de descripcin de datos, SQL utiliza una accin


de versos imperativo cuyo efecto es modificar el esquema de la base de datos, aadiendo,
cambiando o eliminando las definiciones de tablas y otros objetos. Estas declaraciones se
pueden mezclar libremente con otras sentencias SQL, por lo que el DDL no es realmente
una lengua independiente.

La declaracin ms comn es CREATE TABLE. El lenguaje de programacin SQL,


el ms difundido entre los gestores de bases de datos, admite las siguientes sentencias de

definicin: CREATE, DROP y ALTER, cada una de las cuales se puede aplicar a
las tablas, vistas, procedimientos almacenados y triggers de la base de datos.

Los orgenes de SQL estn ligados a los de las bases de datos relacionales. En
1970 E. F. Codd propone el modelo relacional y asociado a este un sublenguaje de acceso a
los datos basado en el clculo de predicados.

Basndose en estas ideas, los laboratorios de IBM definieron el


lenguaje SEQUEL (Structured English Query Language) que ms tarde fue ampliamente
implementado por el sistema de gestin de bases de datos (SGBD) experimental System R,
desarrollado en 1977 tambin por IBM. Sin embargo, fue Oracle quien lo introdujo por
primera vez en 1979 en un producto comercial.

El SEQUEL termin siendo el predecesor de SQL, que es una versin evolucionada


del primero. SQL pasa a ser el lenguaje por excelencia de los diversos sistemas de gestin
de bases de datos relacionales surgidos en los aos siguientes y fue por fin estandarizado en
1986 por el ANSI, dando lugar a la primera versin estndar de este lenguaje, "SQL-86" o
"SQL1". Al ao siguiente este estndar es tambin adoptado por ISO.

Sin embargo, este primer estndar no cubra todas las necesidades de los
desarrolladores e inclua funcionalidades de definicin de almacenamiento que se consider
suprimirlas. As que, en 1992, se lanz un nuevo estndar ampliado y revisado de SQL
llamado "SQL-92" o "SQL2".

En la actualidad SQL es el estndar de facto de la inmensa mayora de los SGBD


comerciales. Y, aunque la diversidad de aadidos particulares que incluyen las distintas
implementaciones comerciales del lenguaje es amplia, el soporte al estndar SQL-92 es
general y muy amplio.

Caractersticas generales de SQL

SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia


de los sistemas relacionales y permite as gran variedad de operaciones.

Es un lenguaje declarativo de "alto nivel" o "de no procedimiento" que, gracias a su


fuerte base terica y su orientacin al manejo de conjuntos de registros y no a registros
individuales permite una alta productividad en codificacin y la orientacin a objetos. De
esta forma, una sola sentencia puede equivaler a uno o ms programas que se utilizaran en
un lenguaje de bajo nivel orientado a registros.

SQL tambin tiene las siguientes caractersticas:


Lenguaje de definicin de datos: El LDD de SQL proporciona comandos para la
definicin de esquemas de relacin, borrado de relaciones y modificaciones de los
esquemas de relacin.

Lenguaje interactivo de manipulacin de datos: El LMD de SQL incluye lenguajes


de consultas basado tanto en lgebra relacional como en clculo 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.

Definicin 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 transaccin.

SQL incorporado y dinmico: Esto quiere decir que se pueden incorporar


instrucciones de SQL en lenguajes de programacin como: C++, C, Java, PHP, Cobol,
Pascal y Fortran

Autorizacin: El LDD incluye comandos para especificar los derechos de acceso a


las relaciones y a las vistas.

Tipos de Datos

Algunos de los tipos de datos bsicos de SQL son:


Varchar: Recibe cadena de palabras compuestas de letras, nmeros y caracteres
especiales.
Date: una fecha de calendario que contiene el ao (de cuatro cifras), el mes y el da.
Time: La hora del da en horas minutos segundos (el valor predeterminado es 0).
Datetime: la combinacin de Date y Time.
Optimizacin

Como ya se dijo antes, y suele ser comn en los lenguajes de acceso a bases de datos de
alto nivel, SQL es un lenguaje declarativo. O sea, que especifica qu es lo que se quiere y
no cmo conseguirlo, por lo que una sentencia no establece explcitamente un orden de
ejecucin.

El orden de ejecucin interno de una sentencia puede afectar seriamente a la eficiencia


del SGBD, por lo que se hace necesario que ste lleve a cabo una optimizacin antes de su
ejecucin.

Muchas veces, el uso de ndices acelera una instruccin de consulta, pero ralentiza la
actualizacin de los datos. Dependiendo del uso de la aplicacin, se priorizar el acceso
indexado o una rpida actualizacin de la informacin. La optimizacin difiere
sensiblemente en cada motor de base de datos y depende de muchos factores.

Existe una ampliacin de SQL conocida como FSQL (Fuzzy SQL, SQL difuso) que
permite el acceso a bases de datos difusas, usando la lgica difusa. Este lenguaje ha sido
implementado a nivel experimental y est evolucionando rpidamente.

Clusulas
Las clusulas son condiciones de modificacin utilizadas para definir los datos que
desea seleccionar o manipular.

Una expresin de consulta se compone de una serie de clusulas que aplican


operaciones sucesivas a una coleccin de objetos. Se basan en las mismas clusulas que se
encuentran en una instruccin SELECT estndar de SQL: FROM, WHERE, GROUP
BY, HAVING y ORDER BY.

Clusula

Descripcin

FROM

Utilizada para especificar la tabla de la cual se van a seleccionar los


registros

WHERE

Utilizada para especificar las condiciones que deben reunir los


registros que se van a seleccionar

GROUP BY

Utilizada para separar los registros seleccionados en grupos


especficos

HAVING

Utilizada para expresar la condicin que debe satisfacer cada grupo

ORDER BY

Utilizada para ordenar los registros seleccionados de acuerdo con


un orden especfico

Funciones de Agregado

Las funciones de agregado se usan dentro de una clusula SELECT en grupos de registros
para devolver un nico valor que se aplica a un grupo de registros.

Funcin Descripcin
AVG

Utilizada para calcular el promedio de los valores de un campo


determinado

COUN
T

Utilizada para devolver el nmero de registros de la seleccin

SUM

Utilizada para devolver la suma de todos los valores de un campo


determinado

MAX

Utilizada para devolver el valor ms alto de un campo especificado

MIN

Utilizada para devolver el valor ms bajo de un campo especificado

Orden de ejecucin de los comandos


Dada una sentencia SQL de seleccin que incluye todas las posibles clusulas, el orden de
ejecucin de las mismas es el siguiente:
Clusula FROM
Clusula WHERE

Clusula GROUP BY
Clusula HAVING

Clusula SELECT

Clusula ORDER BY

Lenguaje de definicin de datos (DDL)


El lenguaje de definicin de datos (en ingls Data Definition Language, o DDL), es
el que se encarga de la modificacin de la estructura de los objetos de la base de datos.
Incluye rdenes para modificar, borrar o definir las tablas en las que se almacenan los datos
de la base de datos.

Un lenguaje de definicin de datos (Data Definition Language, DDL por sus siglas
en ingls) es un lenguaje proporcionado por el sistema de gestin de base de datos que
permite a los usuarios de la misma llevar a cabo las tareas de definicin de las estructuras
que almacenarn los datos as como de los procedimientos o funciones que permitan
consultarlos.

Un Data Definition Language o Lenguaje de descripcin de datos ( DDL ) es un


lenguaje de programacin para definir estructuras de datos . El trmino DDL fue
introducido por primera vez en relacin con el modelo de base de datos CODASYL, donde
el esquema de la base de datos ha sido escrito en un lenguaje de descripcin de datos que
describe los registros, los campos, y "conjuntos" que conforman el usuario modelo de
datos.

Ms tarde fue usado para referirse a un subconjunto de SQL, pero ahora se utiliza en
un sentido genrico para referirse a cualquier lenguaje formal para describir datos o
estructuras de informacin, como los esquemas XML.

El DDL es la parte del SQL dedicada a la definicin de la base de datos, consta de


sentencias para definir la estructura de la base de datos, permite definir gran parte del nivel
interno de la base de datos. Por este motivo estas sentencias sern utilizadas normalmente
por
el
administrador
de
la
base
de
datos.
La definicin de la estructura de la base de datos incluye tanto la creacin inicial de
los diferentes objetos que formarn la base de datos, como el mantenimiento de esa
estructura.

Existen cuatro operaciones bsicas: CREATE, ALTER, DROP y TRUNCATE.


Comandos DLL
Comando

Descripcin

CREATE

Utilizado para crear nuevas tablas, campos e ndices

DROP

Empleado para eliminar tablas e ndices

ALTER

Utilizado para modificar las tablas agregando campos o cambiando la


definicin de los campos.

TRUNCATE Este comando trunca todo el contenido de una tabla


CREATE | CREAR

Este comando permite crear objetos de datos, como nuevas bases de datos, tablas,
vistas y procedimientos almacenados.
Ejemplo (crear una tabla)
CREATE TABLE 'CUSTOMERS';

ALTER | MODIFICAR

Este comando permite modificar la estructura de una tabla u objeto. Se pueden


agregar/quitar campos a una tabla, modificar el tipo de un campo, agregar/quitar ndices a
una tabla, modificar un trigger, etc.
Ejemplo (agregar columna a una tabla)
ALTER TABLE 'ALUMNOS' ADD EDAD INT UNSIGNED;

DROP | ELIMINAR

Este comando elimina un objeto de la base de datos. Puede ser una


tabla, vista, ndice, trigger, funcin, procedimiento o cualquier objeto que el motor de la
base de datos soporte. Se puede combinar con la sentencia ALTER.
Ejemplo
DROP TABLE 'ALUMNOS';

TRUNCATE | BORRAR TABLA

Este comando trunca todo el contenido de una tabla. La ventaja sobre el comando
DROP, es que si se quiere borrar todo el contenido de la tabla, es mucho ms rpido,
especialmente si la tabla es muy grande.

La desventaja es que TRUNCATE slo sirve cuando se quiere eliminar


absolutamente todos los registros, ya que no se permite la clusula WHERE. Si bien, en un
principio, esta sentencia parecera ser DML (Lenguaje de Manipulacin de Datos), es en
realidad una DDL, ya que internamente, el comando TRUNCATE borra la tabla y la vuelve
a crear y no ejecuta ninguna transaccin.
Ejemplo
TRUNCATE TABLE 'NOMBRE_TABLA';

Lenguaje de manipulacin de datos

Lenguaje de Manipulacin de Datos (Data Manipulation Language, DML) es un


lenguaje proporcionado por los sistemas gestores de bases de datos que permite a los
usuarios de la misma llevar a cabo las tareas de consulta o modificacin de los datos
contenidos en las Bases de Datos del Sistema Gestor de Bases de Datos.

El lenguaje de manipulacin de datos ms popular hoy da es SQL, usado para


recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son
los
usados
por
bases
de
datos IMS/DL1, CODASYL u
otras..

Comandos DML
Comand
o

Descripcin

SELECT

Utilizado para consultar registros de la base de datos que satisfagan un


criterio determinado

INSERT

Utilizado para cargar lotes de datos en la base de datos en una nica


operacin.

UPDATE

Utilizado para modificar los valores de los campos y registros


especificados

DELETE Utilizado para eliminar registros de una tabla de una base de datos

SELECT
La sintaxis bsica de select es la siguiente utilizando el estndar de SQL:
Select columna from tabla;
Donde se sustituye la palabra columna por el nombre del campo a consultar y la
palabra tabla por el nombre de la tabla que contiene el campo mencionado.

INSERT

en

Una sentencia INSERT de SQL agrega uno o ms registros a una (y slo una) tabla
una
base
de
datos
relacional.

Ejemplo 1 (inserto valores alumno pepe en la materia spd2 a la tabla cursada):


INSERT INTO ''cursada'' (''alumno'', ''materia'') VALUES (''pepe'', ''spd2'')

UPDATE
Una sentencia UPDATE de SQL es utilizada para modificar los valores de un
conjunto
de
registros
existentes
en
una
tabla.
Ejemplo

(modifico

UPDATE

''cursada''

SET

la

materia

''materia''=

donde
''spd3''

el

alumno

WHERE

sea

pepe):

''alumno''=

''pepe''

DELETE
Una sentencia DELETE de SQL borra uno o ms registros existentes en una tabla.
Ejemplo 1 (borro todos los valores de las columnas alumno y materia donde la
materia
sea
spd2):
DELETE FROM ''cursada'' WHERE ''materia''= ''spd2''

Clasificacin de los DML

Se clasifican en dos grandes grupos de:

LENGUAJES DE CONSULTA PROCEDIMENTALES

Lenguajes procedimentales. En este tipo de lenguaje el usuario da instrucciones al


sistema para que realice una serie de procedimientos u operaciones en la base de datos para
calcular un resultado final.

LENGUAJES DE CONSULTA NO PROCEDIMENTALES

En los lenguajes no procedimentales el usuario describe la informacin deseada sin


un procedimiento especfico para obtener esa informacin.

LENGUAJE DE MANIPULACIN DE DATOS DML

Un Lenguaje de Manipulacin de Datos (Data Manipulacin Language, DML) es un


lenguaje proporcionado por el sistema de gestin de base de datos que permite a los
usuarios de la misma llevar a cabo las tareas de consulta o manipulacin de los datos,
organizados por el modelo de datos adecuado

Lenguaje Definicin de Datos (DDL) Vistas


Las vistas son tablas virtuales que contienen el resultado de una consulta SELECT,
tienen la misma estructura que una tabla cualquiera, es decir, estn organizadas por filas y
columnas.

Una de las principales ventajas de utilizar vistas procede del hecho de que la vista
no almacena los datos, sino que hace referencia a una o varias tablas de origen mediante
una consulta SELECT, consulta que se ejecuta cada vez que se hace referencia a la vista.

De esta forma, cualquier modificacin que se realice sobre los datos de las tablas de
origen es inmediatamente visible en la vista, cuando sta vuelva a ejecutarse.

Las vistas (views) en SQL son un mecanismo que permite generar un resultado a
partir de una consulta (query) almacenado, y ejecutar nuevas consultas sobre este resultado
como si fuera una tabla normal.

Las vistas tienen la misma estructura que una tabla: filas y columnas. La nica
diferencia es que slo se almacena de ellas la definicin, no los datos.

La clusula CREATE VIEW permite la creacin de vistas. La clusula asigna un


nombre a la vista y permite especificar la consulta que la define.

Opcionalmente se puede asignar un nombre a cada columna de la vista. Si se


especifica, la lista de nombres de las columnas debe de tener el mismo nmero de
elementos que el nmero de columnas producidas por la consulta. Si se omiten, cada
columna de la vista1 adopta el nombre de la columna correspondiente en la consulta.

Su sintaxis es:

CREATE VIEW id_vista [(columna,)]AS especificacin_consulta;


CREATE [OR REPLACE] VIEW Nombre_vista
[(Lista de columnas)]
AS SELECT [...]

La opcin REPLACE, lo que hace es, reemplazar la vista en el caso de que esta ya
exista.

Las vistas se utilizan de forma anloga a las tablas, permitiendo realizar consultas
sobre las vistas, tambin se pueden realizar sentencias DML sobre las vistas, sin embargo,
las modificaciones, borrados e inserciones estn restringidas a vistas que estn definidas
sobre una nica tabla.

Vista para mostrar datos de departamentos y empleados

CREATE OR REPLACE VIEW my_emp_view AS


SELECT d.department_id, d.department_name,ne.employee_id, e.first_name, e.last_name
FROM employees e
JOIN departments d ON d.manager_id = e.employee_id;

Expresiones SQL
Una expresin es una combinacin de smbolos y operadores que el motor de base
de datos de SQL Server evala para obtener un nico valor. Una expresin simple puede ser
una sola constante, variable, columna o funcin escalar. Los operadores se pueden usar para
combinar dos o ms expresiones simples y formar una expresin compleja.

Dos expresiones pueden combinarse mediante un operador si ambas tienen tipos de


datos admitidos por el operador y se cumple al menos una de estas condiciones: Las
expresiones tienen el mismo tipo de datos. El tipo de datos de menor prioridad se puede
convertir implcitamente al tipo de datos de mayor prioridad.
La funcin CAST puede convertir explcitamente el tipo de datos con menor
prioridad al tipo de datos con mayor prioridad o a un tipo de datos intermedio que pueda
convertirse implcitamente al tipo de datos con la mayor prioridad.

Tipos de operadores:

Operador Numrico
Suma

Resta

Multiplicacin

Divisin

Modulo

Operadores Lgicos

Operado
Uso
r
AND

Es el "y" lgico. Evala dos condiciones y devuelve un valor de verdad


slo si ambas son ciertas.

OR

Es el "o" lgico. Evala dos condiciones y devuelve un valor de verdad si


alguna de las dos es cierta.

NOT

Negacin lgica. Devuelve el valor contrario de la expresin.

Operadores de Comparacin

Operador

Uso

<

Menor que

>

Mayor que

<>

Distinto de

<=

Menor o igual que

>=

Mayor o igual que

Igual que

BETWEEN

Utilizado para especificar un intervalo de valores.

LIKE

Utilizado en la comparacin de un modelo

In

Utilizado para especificar registros de una base de datos

Resultados de la expresin

Si se combinan dos expresiones mediante operadores de comparacin o lgicos, el


tipo de datos resultante es booleano y el valor es uno de los
siguientes: TRUE, FALSE o UNKNOWN.

Cuando dos expresiones se combinan mediante operadores aritmticos, bit a bit o de


cadena, el operador determina el tipo de datos resultante.

Las expresiones complejas formadas por varios smbolos y operadores se evalan


como un resultado formado por un solo valor.
El tipo de datos, intercalacin, precisin y valor de la expresin resultante se
determina al combinar las expresiones componentes de dos en dos, hasta que se alcanza un
resultado final. La prioridad de los operadores de la expresin define la secuencia en que se
combinan las expresiones.

Expresiones de consulta (Entity SQL)


Una expresin de consulta combina muchos operadores de consulta diferentes en
una sintaxis nica. Entity SQL proporciona varios tipos de expresiones, incluidos los
siguientes: literales, parmetros, variables, operadores, funciones, operadores de conjuntos,
etc. Para obtener ms informacin, consulta Referencia de Entity SQL.

S-ar putea să vă placă și