Republica
Bolivariana de Venezuela
Universidad
Virtual Yacambu
Programa
de Doctorado en Gerencia
Seminario Avanzado
"Herramientas Web
para la Ciencia y Tecnología"
"APLICACIONES DE LA HERRAMIENTA SQL"
Preparado
por Holanda G. de Quijada
CI.
10.572.372
SQL
Las aplicaciones en red son cada día más
numerosas y versátiles. En muchos casos, el esquema básico de operación es una
serie de scripts que rigen el comportamiento de una
base de datos.
Debido a la diversidad de lenguajes y de bases de datos existentes, la manera
de comunicar entre unos y otras sería realmente complicada a gestionar de no
ser por la existencia de estándares que nos permiten el realizar las
operaciones básicas de una forma universal.
Es de eso de lo que trata el Structured Query Language (SQL) que no es
más que un lenguaje estándar de comunicación con bases de datos. Hablamos por
tanto de un lenguaje normalizado que nos permite trabajar con cualquier tipo de
lenguaje (ASP o PHP) en combinación con cualquier tipo de base de datos (MS Access,
SQL Server, MySQL...).
El hecho de que sea estándar no quiere decir que sea idéntico para cada base de
datos. En efecto, determinadas bases de datos implementan funciones específicas
que no tienen necesariamente que funcionar en otras.
Aparte de esta universalidad, el SQL posee otras dos características muy
apreciadas. Por una parte, presenta una potencia y versatilidad notables que
contrasta, por otra, con su accesibilidad de aprendizaje.
sabemos una base de datos esta
compuesta de tablas donde almacenamos registros catalogados en función de
distintos campos (características).
Cada base de datos
introduce tipos de valores de campo que no necesariamente están presentes en
otras. Sin embargo, existe un conjunto de tipos que están representados en la
totalidad de estas bases.
Los registros pueden ser
introducidos a partir de sentencias que emplean la instrucción Insert.
La sintaxis utilizada es la siguiente:
Insert Into
nombre_tabla (nombre_campo1,
nombre_campo2,...) Values (valor_campo1, valor_campo2...)
Como puede verse, los campos no numéricos o booleanos
van delimitados por apostrofes: '. También resulta interesante ver que el
código postal lo hemos guardado como un campo no numérico. Esto es debido a que
en determinados paises (Inglaterra,como no) los codigos
postales contienen también letras.
Borrar un registro
Para borrar un registro
nos servimos de la instrucción Delete. En este caso
debemos especificar cual o cuales son los registros que queremos borrar. Es por
ello necesario establecer una selección que se llevara
a cabo mediante la cláusula Where.
Delete From
nombre_tabla Where condiciones_de_selección
Hay que tener cuidado con esta instrucción ya que si no
especificamos una condición con Where, lo que estamos
haciendo es borrar toda la
tabla:
Actualizar un registro
Update es la instrucción que
nos sirve para modificar nuestros registros. Como para el caso de Delete, necesitamos especificar por medio de Where cuáles son los registros en los que queremos hacer efectivas
nuestras modificaciones. Además, obviamente, tendremos que especificar cuáles
son los nuevos valores de los campos que deseamos actualizar. La sintaxis es de
este tipo:
Update nombre_tabla Set nombre_campo1 = valor_campo1, nombre_campo2 =
valor_campo2,... Where
condiciones_de_selección
Aquí también hay que ser cuidadoso de no olvidarse de usar Where,
de lo contrario, modificaríamos todos los registros de la tabla.
La selección total o parcial de una tabla se lleva a cabo
mediante la instrucción Select. En dicha selección
hay que especificar:
Si quisiésemos seleccionar todos los campos, es decir, toda la tabla, podríamos
utilizar el comodín * del siguiente modo:
Select * From
clientes
Resulta también muy útil el filtrar los registros mediante condiciones que
vienen expresadas después de la cláusula Where. Si
quisiésemos mostrar los clientes de una determinada ciudad usaríamos una
expresión como esta:
Select * From clientes Where
poblacion Like 'Madrid'
Además, podríamos ordenar
los resultados en función de uno o varios de sus campos. Para
este ultimo ejemplo los podríamos ordenar por nombre
así:
Select * From clientes Where
poblacion Like 'Madrid' Order By nombre
Teniendo en cuenta que
puede haber más de un cliente con el mismo nombre, podríamos dar un segundo
criterio que podría ser el apellido:
Select * From clientes Where
poblacion Like 'Madrid' Order By nombre,
apellido
Optimizar
prestaciones I
Las bases de datos (BD) cuanto más extensas
requieren una mayor atención a la hora de organizar sus contenidos. Cuando se
trabaja con tablas de miles o decenas de miles de registros la búsqueda de un
determinado dato puede resultar un proceso largo que ralentiza enormemente la
creación de nuestra página.
Es por ello importante tener en cuenta una serie de aspectos indispensables
para el mejor funcionanmiento de la base.
Gestión y elección de los índices
Los índices son campos elegidos arbitrariamente por el constructor de la BD que
permiten la búsqueda a partir de dicho campo a una velocidad notablemente
superior. Sin embargo, esta ventaja se ve contrarrestada por el hecho de ocupar
mucha más memoria (el doble más o menos) y de requerir para su inserción y
actualización un tiempo de proceso superior.
Evidentemente, no podemos indexar todos
los campos de una tabla extensa ya que doblamos el tamaño de la
BD. Igualmente, tampoco sirve de mucho el indexar todos los campos en una tabla
pequeña ya que las selecciones pueden efectuarse rápidamente de todos modos.
Los índices pueden resultar contraproducentes si los introducimos sobre campos
triviales a partir de los cuales no se realiza ningún tipo de petición ya que,
además del problema de memoria ya mencionado, estamos ralentizando otras tareas
de la base de datos como son la edición, inserción y borrado.
Gestión de los nexos entre tablas
El enlace entre tablas es uno de los puntos más peliagudos y que puede llevar a
la absoluta ralentización de la base de datos a causa "pequeños"
detalles que resultan ser fatales.
Para evitar situaciones de colapso, es necesario
indexar cada uno de los campos que
sirven de enlace entre esas tablas.
INFOGRAFIA
SQL111. Pagina donde se presenta una miniguia detallada del
lenguaje de programación SQL es de fácil comprensión para el usuario que se
inicia en programas relacionados con base de datos.
http://www.controltotal.org/empezamos/html/16.htm
SQL112 Seminario avanzado y completo cuyo contenido es el siguiente: El lenguaje SQL | Sentencias de selección o consultas | Cláusula SELECT | Funciones de agrupamiento | Cláusula FROM |Cláusula WHERE | Cláusula GROUP BY | Cláusula HAVING | Operador UNION | Cláusula ORDER BY | Enlace de varias Tablas |Expresiones SQL | Nombres de campos | Constantes | Operadores Numéricos | Operadores de caracteres | Operadores de relación |Operadores Lógicos | Prioridad de los operadores |Funciones | Creación de una tabla | Destrucción de una tabla | Sentencia INSERT |Sentencia UPDATE | Sentencia DELETE | Llave primaria | Llave Foranea | Sentencias para crear o destruir índices |http://www.lania.mx/biblioteca/seminarios/basedatos/sql.html
SQL113 Curso
Gratis de SQL para Access 2000 con ejercicios de fácil aplicación el contenido
que relacionas esta vinculado Consultas
simples, Consultas multitabla, Consultas de resumen, Subconsultas, Actualización de datos, Tablas de referencias cruzadas, Lenguaje de Definición de Datos.
http://www.aulaclic.es/sql/f_sql.htm
SQL114 Articulo donde
se introduce al usuario al manejo del lenguaje de programación SQL con ejemplos
claros y sencillos creando una base de dato particular y la relacion de
SQL y otras aplicaciones como Access.
http://www.terra.es/tecnologia/articulo/html/tec765.htm
SQL115 Esta página es un tutorial creado por Jim Hoffman sobre Structured Query Language ("Lenguaje Estructurado de consultas"),(también conocido como SQL) donde se permite a los usuarios el acceso a un sistema de manejo de bases de datos relacional, como son Oracle, Sybase, Informix, Microsoft SQL Server, Access entre otras, permitiendo a los usuarios definir los datos en una base de datos y manipularlos. http://www.publispain.com/supertutoriales/redes/bases_de_datos/cursos/1/sql_castellano.htm
SQL116 Manual de SQL organizado en 11 lecciones. Forma parte del Centro de Tecnología Informática de la Universidad de Navarra. http://www.unav.es/cti/manuales/Intro_SQL/indice.html
SQL117 es un sistema
de manejo de bases de datos basado en un mode
relacional de datos. Rueda bajo sistema operativo MVS/SP. http://www.lawebdelprogramador.com/cursos/enlace.php?idp=1847&id=10&texto=Bases+de+Datos
SQL118 Este manual, la Guía del Usuario de Transact-SQL ,
trata sobre
Transact-SQL(R), una versión mejorada del lenguaje de
bases de datos relacionales SQL. La Guía
del Usuario de Transact-SQL está pensada para
los principiantes y aquellos usuarios que ya tienen experiencia con otras
implementaciones de SQL.
http://manuals.sybase.com/onlinebooks/group-asarc/svs11001/tsqlsp/@Generic__BookTextView/64;lang=es