Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ansisql 110917022757 Phpapp02 PDF
Ansisql 110917022757 Phpapp02 PDF
CATEDRTICO:
DR. CARLOS ARTURO TORRES GASTELU
ALUMNA:
MARTHA TERESA LECHUGA GONZALEZ
INTRODUCCIN
ANSI SQL
HISTORIA
Los orgenes del 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 definen el lenguaje SEQUEL (Structured English
QUEry Language) que ms tarde sera ampliamente implementado por el SGBD
(Sistemas Gestores de Bases de Datos) experimental System R, desarrollado en
1977 tambin por IBM. Sin embargo, fue Oracle quien lo introdujo por primera vez
en 1979 en un programa comercial.
El SEQUEL terminara siendo el predecesor de SQL, siendo ste una versin
evolucionada del primero. El SQL pasa a ser el lenguaje por excelencia de los
diversos SGBD relacionales surgidos en los aos siguientes y es por fin
estandarizado en 1986 por el ANSI, dando lugar a la primera versin estndar de
este lenguaje, el "SQL-86" o "SQL1". Al ao siguiente este estndar es tambin
adoptado por la ISO.
En 1986, el ANSI adopt SQL (sustancialmente adopt el dialecto SQL de IBM)
como estndar para los lenguajes relacionales y en 1987 se transfom en
estndar ISO. Esta versin del estndar va con el nombre de SQL/86. En los aos
siguientes, ste ha sufrido diversas revisiones que han conducido primero a la
versin SQL/89 y, posteriormente, a la actual SQL/92.
El hecho de tener un estndar 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 prctico, por desgracia
las cosas fueron de otro modo. Efectivamente, en general cada productor adopta e
implementa en la propia base de datos slo el corazn del lenguaje SQL (el as
llamado Entry level o al mximo el Intermediate level), extendindolo de manera
individual segn la propia visin que cada cual tenga del mundo de las bases de
datos.
Actualmente, est en marcha un proceso de revisin del lenguaje por parte de los
comits ANSI e ISO, que debera terminar en la definicin de lo que en este
momento se conoce como SQL3. Las caractersticas principales de esta nueva
encarnacin de SQL deberan ser su transformacin en un lenguaje stand-alone
(mientras ahora se usa como lenguaje hospedado en otros lenguajes) y la
introduccin de nuevos tipos de datos ms complejos que permitan, por ejemplo,
el tratamiento de datos multimediales.
CARACTERSTICAS GENERALES
SQL-89
En 1986, el ANSI adopto SQL (sustancialmente adopto el dialecto SQL de IBM)
como estndar para los lenguajes relacionales y en 1987 se transformo en el
estndar ISO. Esta versin estndar tena el nombre de SQL-86. En 1989 ANSI
defini SQL-89 basada en la anterior pero con una serie de mejoras entre las que
destacan:
Definicin de clave primarias
Integridad de datos
Una caracterstica importante de esta versin era la posibilidad de utilizarse a
travs de dos interfaces, de manera interactiva y por medio de programas de
aplicacin.
En la primera versin de SQL-89 se tienen tres partes esenciales:
Lenguaje de Definicin de Datos DDL
Contiene todas las instrucciones para definir el esquema de una base de datos,
como son CREATE (para la creacin de tablas), ALTER (sirve para modificar los
datos o las tablas) y DROP (para eliminar las tablas o registros de una BD).
Lenguaje de Manipulacin de Datos DML
Contiene las instrucciones de manejo de tablas como son:
Enteros
Enteros pequeos
P: precisin: total de nmeros o dgitos
en el numero
Precisin y escala
NUMEROS APROXIMADOS
Real
Doubl precisin
Float
CADENA DE CARACTERES
Carcter
Character varying
Carcter
Carcter variable
CADENA DE BITS
Bit
Bit varying
FECHAS Y HORAS
Date
Time
Timestamp
Timestamp con tiempo zonal
Time con tiempo zonal
INTERVALOS
Year-month
Day-time
Fecha
Hora
Sello de tiempo
Ao-mes
Da-hora
Definicin de dominios
Los tipos de datos con restricciones (constraints) y valores por defecto (default
values) se pueden combinar en la definicin de dominios. Una definicin de
dominio es un tipo de datos especializado que puede estar definido dentro de una
esquema y usado en la definicin de columnas.
Por ejemplo:
CREATE DOMAIN IDENTIFICADOR NUMERIC (4) DEFAULT 0 CHECK
(VALUES IS NOT NULL)
Lo anterior expresa que un dominio llamado IDENTIFICADOR cuenta con las
siguientes caractersticas:
LA EVOLUCION DE ANSI-SQL
AO
1986
NOMBRE
SQL-86
ALIAS
SQL-87
1989
1992
1999
SQL-89
SQL-92
SQL:1999
SQL2
SQL2000
2003
SQL:2003
2006
SQL:2006
2008
SQL:2008
COMENTARIO
Primera publicacin hecha por ANSI.
Confirmada por ISO en 1987.
Revisin menor.
Revisin mayor.
Se agregaron expresiones regulares,
consultas recursivas (para relaciones
jerrquicas),
triggers
y
algunas
caractersticas orientadas a objetos.
Introduce algunas caractersticas de
XML, cambios en las funciones,
estandarizacin del objeto sequence y
de las columnas auto numricas.
ISO/IEC 9075-14:2006 Define las
maneras en las cuales el SQL se puede
utilizar conjuntamente con XML. Define
maneras importar y guardar datos XML
en una base de datos SQL,
manipulndolos dentro de la base de
datos y publicando el XML y los datos
SQL convencionales en forma XML.
Adems, proporciona facilidades que
permiten a las aplicaciones integrar
dentro de su cdigo SQL el uso de
XQuery, lenguaje de consulta XML
publicado por el W3C (World Wide Web
Consortium) para acceso concurrente a
datos ordinarios SQL y documentos
XML.
Permite el uso de la clusula ORDER
BY fuera de las definiciones de los
cursores. Incluye los disparadores del
tipo INSTEAD OF. Aade la sentencia
TRUNCATE.
COMANDOS DDL
COMANDO
CREATE
DROP
ALTER
TRUNCATE
DESCRIPCION
Utilizado para crear nuevas tablas,
campos e ndices
Empleado para eliminar tablas e ndice
Utilizado para modificar las tablas
agregando campos.
Trunca todo el contenido de una tabla
ALTER
ALTER TABLE Nombre-Tabla ADD columna tipo de dato
Por ejemplo:
ALTER TABLE Prueba ADD Descuento SMALLINT
DROP
DROP TABLE
Tambin es posible eliminar en cualquier momento una tabla existente. Se pierde
todo.
DROP TABLE Nombre-Tabla
Por ejemplo:
DROP TABLE Pruebas
TRUCATE
Por ejemplo:
TRUNCATE TABLE ''TABLA_NOMBRE1''
COMANDOS DML
Comando INSERT
Este comando se utiliza para agregar uno o ms registros (filas). Se puede utilizar
para efectuar dos tipos de operaciones:
Insertar un nico registro
Insertar en una tabla los registros contenidos en otra.
Comando INSERT para un registro:
Seleccin
Valor N
DESCRIPCION
El nombre de la tabla donde se van a
aadir registros.
Los nombres de los campos donde se
van a aadir los datos, si est a
continuacin del argumento destino, o
los nombres de los campos de donde
se obtienen los datos, si est a
continuacin de un argumento origen.
Es una expresin de seleccin que
debe tener el mismo nmero de
columnas y tipos que las columnas a
insertar. Los registros que de cmo
resultado la expresin SELECT sern
agregados en la tabla destino (ver
comando SELECT). Esto permite
insertar en una tabla varios registros.
Los valores que se van a insertar en los
campos especficos del nuevo registro.
Cada valor se inserta en el campo que
corresponde a la posicin del valor en
la lista: valor1 se inserta en campo1 del
nuevo registro, valor2 dentro de
campo2, y as sucesivamente. Debe
separar los valores con una coma y
escribir los campos de texto entre
apstrofos ( ) y las fechas indicarlas
en
formato
dd/mm/aa
y
entre
apstrofos.
Ejemplo INSERT
INSERT INTO articulos (art,Descripcion,precio,Stock_max,Stock_min) VALUES (5,
'Vino x1L', 1.5,90,20);
En este ejemplo se agrega un nuevo registro a la tabla artculos, pero en el campo
cantidad no se pone ningn valor (Valor nulo).
Comando UPDATE
Para cambiar uno o ms valores de campos de registros en una tabla, se utiliza el
comando UPDATE.
Su sintaxis es:
UPDATE tabla SET campo1 = valor1 [, campo2 = valor2 [, ...]] WHERE
condicin;
ARGUMENTO
Tabla
Campo N
Valor N
Condicin
DESCRIPCION
Nombre de la tabla cuyos datos desea
modificar.
Nombre del campo cuyo valor se
actualizar.
Expresin cuyo valor tomara el campo
N. La expresin debe ser del tipo del
campo.
Una expresin que determina qu
registros se actualizarn. Slo se
actualizan los registros que satisfacen
la expresin.
Ejemplo UPDATE
1) UPDATE artculos SET precio = precio * 1.2;
Esta instruccin incrementa los precios de todos los artculos en un 20 por ciento.
2) UPDATE artculos SET precio = precio * 1.2
WHERE precio <2;
La ejecucin de este comando incrementa los precios de los artculos cuyo precio
es menor a $2, en un 20 por ciento.
Comando DELETE
El comando DELETE se utiliza para borrar uno o varios registros de una tabla
particular.
Su sintaxis es:
DELETE FROM tabla [WHERE condicion];
ARGUMENTO
Tabla
Condicin
DESCRIPCION
Nombre de la tabla cuyos registros se
van a eliminar
Expresin que determina que registros
se van a eliminar
Expr_columna_N
c_alias_N
DESCRIPCION
Si hay registros repetidos en la consulta
tambin son devueltos.
Si hay registros repetidos en la
consulta, solo devuelve uno de los
repetidos. Valor por omision.
La tabla resultante de la consulta tendr
todas las columnas de las tablas
involucradas.
Define una columna, que ser parte del
resultado de la consulta, puede ser el
nombre de una columna de las tablas
participantes en la consulta, o una
expresin que la involucre (por Ej.:
Precio * 2). Tambin puede ser una
funcin agregada de SQL
Nombres que se van a utilizar como
encabezados de columnas en la tabla
resultante, en vez de los nombres de
las expresiones de columnas.
Clausula FROM
La clusula FROM lista las tablas que contienen los datos a recuperar por la
consulta.
La sintaxis de esta clusula es:
FROM nombre_tabla_1 [t_alias_1][, nombre_tabla _n [t_alias_n][,...]]
Por ejemplo:
Devolver un listado de artculos con el nmero, Descripcin y precio de cada
artculo.
SELECT art, Desc, precio FROM articulos;
Clusula WHERE
En clusula WHERE se define la condicion que deben cumplir las filas o registros
de datos, que estaran en el resultado de la consulta.
Su sintaxis es:
WHERE condicionWhere
Por ejemplo:
Devolver un listado con todos los campos de los artculos a reponer.
SELECT * FROM articulos WHERE stock_min > cant
OPERADORES DE COMPARACIN
Por ejemplo:
SELECT * FROM articulos WHERE desc like A% AND desc like %K
Listados de artculos cuya descripcin empieza con la letra A y termina con la letra
K
SELECT * FROM articulos WHERE stock_min < 15 OR stock_max > 40
Devuelve los artculos cuyo stock mnimo sea menor a 15 o el mximo sea mayor
a 40
FUNCIONES AGREGADAS
SQL proporciona funciones agregadas que toma el nombre de una columna como
argumento. El valor del operador agregado se calcula sobre todos los valores de la
columna especificada en la tabla completa.
Estas funciones se pueden combinar con la clusula GROUP BY que se vera mas
adelante.
Las funciones agregadas son:
o
o
o
o
o
Clusula ORDER BY
Ordena los resultados de la consulta, en base a los datos de una o ms columnas.
Si se omite, los resultados saldrn ordenados conforme estan alojados fisicamente
Su sintaxis es:
ORDER BY
[ASC|DESC] ][,...];
expresin_orden1
[ASC|DESC]
Por ejemplo:
SELECT art AS Numero_Art, Pv.prov AS Numero_prov,
Nombre, Precio_Venta
[,
expresin_orden2
FROM Provee
GROUP BY art
Having AVG(precio_venta) < 2;
Reuniones (JOIN)
Se utilizan para vincular dos o ms tablas, y proporcionar informacin como si se
tratara de una sola.
Para ello, se expresan los nombres de las tablas en la clusula FROM y su
sintaxis es:
FROM Tabla1, Tabla2
Adems, en la clusula WHERE se escribe la ecuacin que indica, a travs de que
atributos se vinculan
WHERE Tabla1.Atributo k = Tabla2.Atributo j
Mostrar el nombre del cliente y el de los artculos que ha comprado.
-
SUBQUERY
Condiciones
Comparadores especiales
Estas son las principales caractersticas con las que cuenta el lenguaje ANSI SQL,
su uso y las ventajas que nos ofrece si lo usamos.
CONCLUSION
El lenguaje de consulta estructurado de ANSI nos permite manejar nuestra base
de datos de manera rpida y confiable, con la seguridad de recibir los informes tal
y como sean requeridos por los usuarios.
Con la ayuda de los sublenguajes que contienen las distintas versiones se nos
hace mas practico el uso de esta herramienta. El uso de los comandos DML,
conforman la base para una preparacin adecuada, en la construccin de
aplicaciones con BD. Las aplicaciones manejan comandos de insert, delete,
update y select, contra la base de datos.
Con lo anteriormente mencionado, podemos darnos cuenta que aun pasando los
aos este lenguaje es y seguir siendo una ayuda incomparable para el manejo de
la base de datos, y tambin podemos decir que aunque s, ha tenido diversas
variaciones a lo largo de los aos, todas han sido para mejorar el rendimiento del
mismo.
FUENTES DE INFORMACIN
www.monografas.com
www.abcdatos.com
www.espanol.yahoo.com
www.ibm.com