Вы находитесь на странице: 1из 5

TEMA 20: CONCEPTOS BSICOS DE SQL

OBJETIVOS DEL TEMA

Introduccin al lenguaje de consultas SQL.

Para iniciar esta parte del curso se va a utilizar el programa SQLITE que es sencillo, multiplataforma y de cdigo libre:
http://www.sqlite.org

Para Windows, hay que descargarse los dos ficheros siguientes desde el enlace 'download' , 'Precompiled Binaries for Windows' sqlite-3_6_23_1.zip (Programa de linea para acceso a SQLITE3)

sqlitedll-3_6_23_1.zip (Biblioteca .dll con SQLITE3)

Descomprimir los dos .zip en el directorio 'C:\FUNGISDB', tendremos los 3 ficheros:


sqlite3.exe sqlite3.dll sqlite3.def

1.- EL LENGUAJE SQL

SQL responde a Structured Query Language: Lenguaje Estructurado de Consultas. Como en el caso de los ms modernos lenguajes relacionales, SQL est basado en el clculo relacional de tuplas. Como resultado, toda consulta formulada utilizando el clculo relacional de tuplas ( o su equivalente, el lgebra relacional) se puede formular tambin utilizando SQL. Hay, sin embargo, capacidades que van ms all del clculo o del lgebra relacional. El lenguaje SQL consta de unas 30 sentencias que permiten desde la creacin de tablas, hasta la recuperacin de datos, modificacin de stos, asignacin de permisos, etc.

Para nuestros ejemplos del curso, al emplear SQLITE, el subconjunto de comandos SQL que utiliza estn descritos en el enlace: http://www.sqlite.org/lang.html

Hay algunas limitaciones con respecto al Estndar SQL92 descritas en el enlace: http://www.sqlite.org/omitted.html

2.- SENTENCIAS

Todas las sentencias SQL comienzan por un verbo, una palabra clave que describe lo que la sentencia hace, como por ejemplo UPDATE, SELECT, ALTER, .... La sentencia contina con una o ms clusulas. La clusula puede especificar los datos sobre los que acta la sentencia. Todas las clusulas comienzan por una palabra clave como FROM, WHERE, etc. Algunas son opcionales, otras obligatorias. El estndar SQL1 ANSI/ISO especifica las palabras claves que se utilizan como verbos y clusulas de sentencias.

Capacidades aritmticas: En SQL es posible incluir operaciones aritmticas as como comparaciones, por ejemplo A < B + 3. Funciones agregadas: Operaciones tales como promedio (avg), suma (sum), mximo (max), etc. se pueden aplicar a las columnas de una relacin para obtener una cantidad nica.

3.- NOMBRES

Es posible imprimir una relacin construida por una consulta y asignar una relacin calculada a un nombre de relacin. Por ejemplo, de una consulta se puede extraer:

..... 1.1 * SUELDO AS SUELDO_INCREMENTADO .... ,se toma el sueldo, se multiplica por 1.1 y este resultado se devuelve bajo el nombre

SUELDO_INCREMENTADO.

4.- DEFINICIN DE DATOS

Como ya se indic anteriormente, el lenguaje SQL incluye un conjunto de comandos para definicin de datos. Esto es creacin de tablas, modificacin de stas, creacin de dominios, etc. Todo el proceso de creacin de una BD se hace enteramente mediante sentencias SQL.

Con el fin de ir viendo esto se tiene:

Para crear una base de datos se utiliza el comando CREATE

CREATE DATABASE dbname [WITH LOCATION = 'dbpath']

Por ejemplo,
CREATE DATABASE 'C:\curso_bdatos\ejemplo1.db'

(Nota: SQLITE no emplea este comando, en su lugar llama al programa sqlite3 con un nombre de fichero), entonces, para crear la base de datos ejemplo1.db, deberemos hacer: Abrir una ventana de comandos DOS: 'Menu inicio'> 'ejecutar'> cmd Situarse en el directorio creado antes, para ello teclear:

cd C:\FUNGISBD

Crear base de datos nueva llamada ejemplo1.db y salir, teclear:

sqlite3 ejemplo1.db sqlite> .exit

Esto nos crea una base de datos nueva llamada 'ejemplo1.db'

Las distintas tablas de la BD se crearon con el comando de creacin de tablas cuya sintaxis es:

CREATE [TEMP] TABLE class_name

(attr1 type1 [DEFAULT expression] [NOT NULL], ...attrN

[[CONSTRAINT name] CHECK condition1, ...conditionN] ) [INHERITS (class_name1, ...class_nameN)]; y en nuestro caso para la tabla cliente se hizo as:
sqlite3 ejemplo1.db sqlite> CREATE TABLE CLIENTE ( DNI INTEGER NOT NULL, APELLIDOS VARCHAR(50), NOMBRE VARCHAR(20), EDAD INTEGER);

5.- TIPOS DE DATOS

A continuacin se muestra una lista de algunos tipos de datos soportados por SQL:

INTEGER: entero binario con signo de palabra completa (31 bits de precisin + 1 bit de signo).

SMALLINT: entero binario con signo de media palabra (15 bits de precisin + 1 bit de signo).

DECIMAL (p[,q]): nmero decimal con signo de p dgitos de precisin, asumiendo q a la derecha para el punto decimal. (15 = p = qq = 0). Si q se omite, se asume que vale 0.

FLOAT: numrico con signo de doble palabra y coma flotante.

CHAR(n): cadena de caracteres de longitud fija, de longitud n.

VARCHAR(n): cadena de caracteres de longitud variable, de longitud mxima n.

(Nota: para SQLITE, los tipos de datos que emplea para almacenar informacin son algo distintos: NULL, INTEGER, REAL, TEXT y BLOB. Se pueden emplear los tipos de datos habituales SQL que se ajustarn por afinidad a estos cinco tipos. Para mas informacin ver detalles en:http://www.sqlite.org/datatype3.html )

RESUMEN DEL TEMA 20

El lenguaje SQL es un lenguaje que engloba dentro de s todos los comandos para la creacin de BD, as como la insercin y modificacin de datos dentro de sta. Se ha visto como se crea una BD, una tabla dentro de sta. El lenguaje SQL, como cualquier lenguaje de programacin permite definir variables y estas pueden ser de distinto tipo: Enteras, alfanumricas, etc.

Вам также может понравиться