Lenguaje De Consulta Estructurado: Sql
66
5. Lenguaje de Consulta Estructurado: SQL.
5.1. Introducción.
El SQL (Structured Query Language, lenguaje de consulta estructurado), llamado
anteriormente SEQUEL, proviene de un proyecto de investigación de IBM (1974) en el
San José Research Laboratory, de California, sobre una base de datos relacional llamada
SYSTEM R. SQL pronto se convirtióen un estándar de lenguaje de consulta y
manipulación de los SGBD relacionales.
En la actualidad, los motores de bases de datos relacionales utilizan este lenguaje
para definir, manipular, consultar y administrar sus bases de datos. Entre otros podemos
citar: DB2, ORACLE, SQL Server, INFORMIX, MySQL, Jet (utilizado por Access),
etc...
El SQL está constituido por comandos de consulta,manipulación y definición de
datos de alto nivel, que se pueden ejecutar de varias formas:
•
•
•
De forma interactiva (ISQL-Interactive SQL), procesando transacciones en línea.
Por lotes, mediante un fichero batch.
Embebido o inmerso en programas de aplicaciones escritos en algún lenguaje de
alto nivel.
5.2. Descripción de datos.
En este apartado veremos un conjunto de ordenes SQLutilizadas para la descripción
de los esquemas conceptual y externo, que se utilizan para definir el modelo relacional
de datos (tablas de base) y el submodelo relacional de datos (vistas).
5.2.1. Creación de tablas.
Una tabla de base tiene existencia por sí misma y se suele implementar como un
archivo almacenado distinto.
La creación de una tabla de base en SQL se realiza ejecutado la proposiciónCREATE TABLE, cuyo formato simplificado es:
CREATE TABLE nombre-tabla ( [, ] ...);
El argumento adopta la forma:
nombre-campo tipo-dato [NOT NULL] [ IDENTITY [(ValorInicial , Incremento)]
La cláusula NOT NULL especifica que el contenido de un campo no se puede dejar
sin definir, es decir, debe contener algún valor distinto de nulo.
I.E.S. Bezmiliana
Lenguaje de ConsultaEstructurado: SQL
67
La cláusula IDENTITY [ ( ValorIncial , Incremento ) ] se utiliza para que el valor
del campo se comporte como un tipo autonumérico, que parta de un valor inicial y se
vaya incrementando de forma automática a medida que se vayan introduciendo nuevos
registros. Si no se especifica la inicialización y el incremento, el valor predeterminado
es (1,1). En Access existe el tipo counterque funciona de modo similar.
Los tipos de datos dependerán del motor SQL, los utilizados por SQL Server son
los siguientes:
Bigint: Datos enteros comprendidos entre -2^63 (-9223372036854775808) y 2^63 -1
(9223372036854775807).
Int: Datos enteros comprendidos entre -2^31 (-2.147.483.648) y 2^31 - 1
(2.147.483.647).
Smallint: Datos enteros comprendidos entre -2^15 (-32.768) y 2^15 - 1(32.767).
Tinyint: Datos enteros comprendidos 0 y 255.
Bit: Datos enteros con valor 1 ó 0.
Decimal: Datos de precisión y escala numérica fijas comprendidos entre –10^38 +1 y
10^38 – 1.
Numeric: Funcionalmente equivalente a decimal.
Money: Valores de moneda comprendidos entre –2^63 (-922.337.203.685.477,5808) y
2^63 - 1 (+922.337.203.685.477,5807), con una precisión de una diezmilésima de launidad monetaria.
Smallmoney: Valores de moneda comprendidos entre -214.748,3648 y +214.748,3647,
con una precisión de una diezmilésima de la unidad monetaria.
Float: Números con precisión de coma flotante comprendidos entre -1,79E + 308 y
1,79E + 308.
Real: Números en coma flotante comprendidos entre -3,40E + 38 y 3,40E + 38.
Datetime: Datos de fecha y hora comprendidos entre el 1 de enero de1753 y el 31 de
diciembre de 9999, con una precisión de 3,33 milisegundos.
Smalldatetime: Datos de fecha y hora comprendidos entre el 1 de enero de 1900 y el 6
de junio de 2079, con una precisión de un minuto.
Char: Datos de caracteres no Unicode de longitud fija con una longitud máxima de
8.000 caracteres.
Varchar: Datos no Unicode de longitud variable con un máximo de 8.000 caracteres....
Regístrate para leer el documento completo.