Professional Documents
Culture Documents
DE BASES DE
DATOS
INTRODUCCIN AL SQL
25/10/2010 2
COORDINACION DE BASES DE DATOS
25/10/2010 3
COORDINACION DE BASES DE DATOS
Orgenes y Evolucin
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 SMBD experimental System R,
desarrollado en 1977 tambin por IBM. Sin embargo, fue Oracle quien lo introdujo por
primera vez en 1979 como un programa comercial.
Sin embargo este primer estndar no cubre todas las necesidades de los
desarrolladores e incluye funcionalidades de definicin de almacenamiento que se
consideraron suprimir. As que en 1992 se lanza un nuevo estndar ampliado y revisado
del SQL llamado SQL-92 o SQL2.
AO ACONTECIMIENTO
1970 Codd define el modelo de bases de datos relacional.
1974 Comienza el proyecto System/R de IBM.
1974 Primer artculo que describe al lenguaje SEQUEL.
1978 Test de clientes del System/R
1979 Oracle introduce el primer RDBMS comercial.
1981 Relational Technology introduce al INGRES.
1981 IBM anuncia el SQL/DS.
1982 ANSI forma el comit de estndares SQL.
1983 IBM anuncia DB2.
1986 Se ratifica el estndar ANSI SQL. (SQL 86). SQL 1.
1986 Sybase introduce un RDBMS para el procesamiento de transacciones.
1987 Se ratifica el estndar ISO SQL. (SQL 86).
1988 Ashton Tate y Microsoft anuncian SQL Server para OS / 2.
1988 IBM anuncia la versin 2 de DB2.
1989 Primera entrega de servidores de bases de datos SQL para OS/2.
25/10/2010 4
COORDINACION DE BASES DE DATOS
XML no ha nacido slo para su aplicacin en Internet, sino que se propone como un
estndar para el intercambio de informacin estructurada entre diferentes plataformas.
Se puede usar en bases de datos, editores de texto, hojas de clculo y casi cualquier
cosa imaginable.
XML es una tecnologa sencilla que tiene a su alrededor otras que la complementan y la
hacen mucho ms grande y con unas posibilidades mucho mayores. Tiene un papel
muy importante en la actualidad ya que permite la compatibilidad entre sistemas para
compartir la informacin de una manera segura, fiable y fcil.
25/10/2010 5
COORDINACION DE BASES DE DATOS
cualquier parte del mundo por empresas ajenas al fabricante original. De ste modo, y
siguiendo con el ejemplo de la cmara fotogrfica, la gente puede comprar carretes
para la misma independientemente del pas donde se encuentre y el proveedor del
mismo.
Esta organizacin aprueba estndares que se obtienen como fruto del desarrollo de
tentativas de estndares por parte de otras organizaciones, agencias gubernamentales,
compaas y otras entidades. Estos estndares aseguran que las caractersticas y las
prestaciones de los productos son consistentes, es decir, que la gente use dichos
productos en los mismos trminos y que esta categora de productos se vea afectada
por las mismas pruebas de validez y calidad.
El estndar ANSI para SQL resultante esta basado en gran medida en el SQL del DB2,
aunque contiene algunas diferencias importantes con respecto a l. Despus de varias
revisiones, el estndar fue oficialmente adoptado como estndar ANSI X3.135 en 1986,
y como estndar ISO en 1987. El estndar ANSI/ISO ha sido adoptado desde entonces
como estndar del FEDERAL INFORMATION PROCESSING STANDARD (FIPS) por el
gobierno de los Estados Unidos.
Muchos de los miembros del comit ANSI e ISO eran representantes de vendedores de
bases de datos que tenan productos SQL existentes, cada uno implementando un
dialecto SQL ligeramente diferente. Al igual que los dialectos de los lenguajes humanos,
los dialectos SQL eran generalmente muy similares los unos a los otros, pero
incompatibles en sus detalles.
25/10/2010 6
COORDINACION DE BASES DE DATOS
Estndares SQL. La ANSI y la ISO han publicado un estndar oficial SQL que se
ha convertido tambin el estndar FIPS, lo que le convierte en un requerimiento
esencial para los grandes contratos informticos. En Europa, X/OPEN, ha
aadido al SQL tambin estndar para acceso a bases de datos. Estos
estndares sirven como sello oficial de aprobacin para el SQL y han acelerado
su aceptacin en el mundo.
25/10/2010 7
COORDINACION DE BASES DE DATOS
25/10/2010 8
COORDINACION DE BASES DE DATOS
Como suele ser comn en los lenguajes de alto nivel, el 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 gravemente a la eficiencia del SMBD, por lo que
se hace necesario que ste lleve a cabo una optimizacin antes de la ejecucin de la
misma. Muchas veces, el uso de ndices acelera una instruccin de consulta, pero hace
ms lenta 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.
CREATE Este comando crea un objeto dentro de la base de datos. Puede ser
una tabla, vista, ndice, trigger, funcin, procedimiento o cualquier otro
objeto que el motor de la base de datos soporte.
ALTER Este comando permite modificar la estructura de un 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.
DROP Este comando elimina un objeto de la base de datos. Puede ser una
tabla, vista, ndice, trigger, funcin, procedimiento o cualquier otro
objeto que el motor de la base de datos soporte.
25/10/2010 9
COORDINACION DE BASES DE DATOS
Parte del lenguaje SQL que se encarga de la seguridad y acceso a los datos dentro de
una base de datos. Sirve sobre todo cuando se trabaja en un entorno multiusuario y de
red, donde es muy importante la proteccin, la seguridad y la comparticin de los datos
por parte de usuarios. Los comandos ms utilizados son: REVOKE, GRANT y DENY.
Otros comandos utilizados son COMMIT y ROLL BACK.
MODO CONSOLA. Actualmente todos los DBMS manejan al SQL como el lenguaje
por excelencia de acceso a los datos. Los DBMS permiten la utilizacin de editores muy
25/10/2010 10
COORDINACION DE BASES DE DATOS
sencillos que permiten trabajar bajo cdigo SQL en modo consola, y as interactuar
directamente con una base de datos. Todas las operaciones que se pueden hacer con
los asistentes grficos de trabajos mencionados en el punto anterior tambin pueden
hacerse directamente trabajando con el cdigo SQL. Aqu lo que sucede es que el
entorno grfico funciona como una especie de intermediario entre el usuario y el SQL,
pero despus de ejecutadas las acciones en el entorno grfico se genera y ejecuta de
manera oculta para el usuario el cdigo SQL equivalente que es quien en verdad
acciona el motor del DBMS. Lo que si es cierto es que todos los DBMS concuerdan por
lo menos en un 95 % con un mismo cdigo SQL. Cuando se trabaja en modo consola
se generan lneas de cdigo que son conocidas como SCRIPTS.
DB2
Firebird
Informix
Interbase
MySQL
Oracle
PostgreSQL
SQL Server
Sybase ASE
25/10/2010 11