fundamentos de bases de datos
4.1 INTRODUCCION
IBM desarrolló la versión original en su Laboratorio de Investigación de San José (San José Research Center, actualmente Centro de Investigación de Almadén, Almadén Research Center). IBM implementó el lenguaje, originalmente denominado Sequel, como parte del proyecto System R, a principios de 1970. El lenguaje Sequel ha evolucionado desdeentonces y su nombre ha pasado a ser SQL (Structured Query Language, Lenguaje estructurado de consultas). Actualmente, numerosos productos son compatibles con el lenguaje SQL. SQL se ha establecido como el lenguaje estándar de bases de datos relacionales.
En 1986, ANSI (American National Standards Institute, Instituto Nacional Americano de Normalización) e ISO (International StandardsOrganization, Organización Internacional de Normalización), publicaron una norma SQL, denominada SQL-86. En 1987, IBM publicó su propia norma de SQL corporativo, Interfaz de bases de datos para arquitecturas de aplicación a sistemas (Systems Application Architecture Database Interface, SAA-SQL). En 1989 se publicó una norma extendida para SQL denominada SQL-89 y actualmente los sistemas de bases dedatos son normalmente compatibles al menos con las características de SQL-89. La siguiente versión de la norma fue SQL-92 y la versión más reciente es SQL:1999. Las notas bibliográficas proporcionan referencias a esas normas.
En este apartado se presenta una visión general de SQL basada en la norma SQL-92 ampliamente implementada. La norma SQL:1999 es un superconjunto de la norma SQL-92; eneste capítulo se tratan algunas características de SQL:1999 y se proporciona un estudio más detallado en el Capítulo 9. Muchos sistemas de bases de datos soportan algunas de las nuevas constructoras de SQL:1999, aunque ningún sistema de bases datos actual soporta todas las nuevas constructoras. También hay ser consciente de que algunos sistemas de bases de datos ni siquiera soportan todas lascaracterísticas de SQL-92 y de que muchas bases de datos proporcionan características no estándar que no se tratan aquí.
El lenguaje SQL tiene varios componentes:
Lenguaje de definición de datos (LDD). El LDD de SQL proporciona órdenes para la definición de esquemas de relación, borrado de relaciones, creación de índices y modificación de esquemas de relación.
Lenguaje interactivo demanipulación de datos (LMD). El LMD de SQL incluye un lenguaje de consultas, basado tanto en el álgebra relacional como en el cálculo relacional de tuplas. Incluye también órdenes para insertar, borrar y modificar tuplas de la base de datos.
Definición de vistas. El LDD de SQL incluye órdenes para la definición de vistas.
Control de transacciones. SQL incluye órdenes para la especificación delcomienzo y final de transacciones.
SQL incorporado y SQL dinámico. SQL dinámico e incorporado define cómo se pueden incorporar las instrucciones SQL en lenguajes de programación de propósito general, tales como C, C++, Java, PL/I, Cobol, Pascal y Fortran.
Integridad. El LDD de SQL incluye órdenes para la especificación de las restricciones de integridad que deben satisfacer los datos almacenadosen la base de datos. Las actualizaciones que violen las restricciones de integridad se rechazan.
Autorización. El LDD de SQL incluye órdenes para especificar derechos de acceso para las relaciones y vistas.
4.2 ESTRUCTURA BASICA (SELECT, WHERE)
Una base de datos relacional consiste en un conjunto de relaciones, a cada una de las cuales se le asigna un nombre único. Cada relacióntiene una estructura similar a la presentada en unidades anteriores. SQL permite el uso de valores nulos para indicar que el valor o bien es desconocido, o no existe. Se fijan criterios que permiten al usuario especificar a qué atributos no se puede asignar valor nulo.
La estructura básica de una expresión SQL consiste en tres cláusulas: select, from y where.
La cláusula select corresponde...
Regístrate para leer el documento completo.