TABLA DE CONTENIDO Pág.
1 SQL...................................................................................................................................... 2 1.1 CAPACIDAD......................................................................................................................3 1.2 SENTENCIAS....................................................................................................................5 1.2.1 DE RECUPERACIÓN DE DATOS (SINTAXIS GRAL)....................................................5 1.2.2 DE ADICIÓN Y SUPRESIÓN DE DATOS (SINTAXIS GRAL).......................................5 1.2.3 DE MODIFICACION DE DATOS (SINTAXIS GRAL).....................................................6 1.2.4 DE PROTECCIÓN DE DATOS (SINTAXIS GRAL)..........................................................6 1.2.5 DE CREACIÓN Y ELIMINACIÓN DE TABLAS (SINTAXIS GRAL).............................6 1.2.6 DE MANIPULACIÓN DE REGISTROS.........................................................................6 1.2.7 DE DEFINICIÓN..............................................................................................................7 1.2.8 DE CONTROL DE ACCESO Y TRANSACCIONES.....................................................7 1.2.9 DE PROGRAMACION....................................................................................................7 1.2.10 PALABRAS CLAVES PARA SENTENCIAS/CLÁUSULAS......................................8 1.2.11 PALABRAS CLAVES DE SQL.....................................................................................8 1.3 TIPOS DE DATOS...........................................................................................................10 1.3.1 TIPOS DE DATOS EN SYBASE....................................................................................12
i
1 SQL Se trata de un lenguaje de base de datos estándar el cual se puede ejecutar en cualquier plataforma de hardware que van desde microcomputadores comunes y corrientes hasta las grandes mainframes, éste lenguaje es soportado actualmente por practicamente todas los productos de gestión de bases de datos.
El SQL es una potente herramienta para la organización, gestión y recuperación de datos almacenados en bancos de datos (Bases de Datos) cuyo nombre corresponde a la abreviatura de Structured Query Languaje o Lenguaje de Consulta Estructurado el cual se emplea como recurso informático para la interacción con bases de datos de tipo relacional que generalmente son controladas por sistemas de gestión de bases de datos o DBMS (SGBD).
Éste lenguaje se utiliza como intermediario entre el DBMS empleado y la base de datos, efectuando la petición de manipulación de datos adecuada del SQL la cual es procesada por el sistema de gestión el cual recupera y devuelve la información requerida en un proceso llamado Query o Consulta.
2
El propósito inicial del SQL correspondía a tareas de consulta que siguen siendo de las más importantes que realiza éste lenguaje aunque actualmente se emplea en el control de todas las funciones que un sistema de gestión de bases de datos puede realizar como son: Definición de datos; Recuperación de datos; Manipulación de datos; Control de acceso (para limitar las atribuciones de los usuarios); Compartición de datos; y, la Integridad de los datos.
El SQL tiene algunos inconvenientes como son el echo de que no posee algunas de las sentencias de control que poseen los lenguajes de programación completos, dichas sentencias son por ejemplo: If; Goto; Do o For, pero, posee alrededor de treinta (30) sentencias que pueden ser incorporadas a otros lenguajes de programación tales como el C permitiendo así su expansión de capacidades.
Una de las grandes ventajas que presenta el lenguaje SQL corresponde a su facilidad tanto de aplicación como de aprendizaje a la vez de su integración con los sistemas de gestión de bases de datos lo que evita el tener que adquirir una herramienta a parte que conllevaría a incrementar los costos de cualquier proyecto.
1.1
CAPACIDAD
Dentro de las capacidades o funciones que poseen los lenguajes de consulta estructurado se encuentran las siguientes:
3
•
LENGUAJE DE CONSULTAS INTERACTIVAS: Gracias a ésto, los usuarios escriben órdenes propias del lenguaje en un programa SQL Interactivo con la finalidad de recuperar datos y mostrarlos en la pantalla del computador.
•
LENGUAJE DE PROGRAMACIÓN DE BASES DE DATOS: Empleado por los programadores para acceder por medio de ordenes SQL a los datos de la base.
•
LENGUAJE DE ADMINISTRACIÓN DE BASE DE DATOS: Dirigido al administrador de la base de datos con el fin de que éste pueda definir la estructura de la base de datos y controlar el acceso a los datos almacenados.
•
LENGUAJE CLIENTE/SERVIDOR: Lo que permite que los programas existentes en un PC puedan comunicarse sobre una LAN empleando servidores de base de datos para compartir la información.
•
LENGUAJE DE BASE DE DATOS DISTRIBUIDOS: Permitiendo la interconección de sistemas en los cuales se pueden accesar los datos y distribuirlos desde y a cualquier punto de aquel.
•
LENGUAJE DE PASARELA DE BASE DE DATOS: Característica que permite la comunicación con distintos productos manejadores de bases de datos.
4
•
PORTABILIDAD: Lo que permite su adaptación en cualquier sistema informático.
•
ACCESO AD HOC: Característica ésta que permite obtener respuestas a cuestiones complejas en cuestión de segundos o minutos.
•
MULTIPLES VISTAS: Con lo cual cada usuario puede tener una vista de datos distinta en cuanto a estructura y contenido.
1.2
SENTENCIAS
1.2.1 DE RECUPERACIÓN DE DATOS (Sintaxis Gral)
SELECT campos FROM tabla WHERE condición ORDER BY campo_de_orden SELECT AVG(campo a promediar) FROM tabla SELECT SUM(campo a sumar) FROM tabla GROUP BY campo_de_agrupación
1.2.2 DE ADICIÓN Y SUPRESIÓN DE DATOS (Sintaxis Gral)
INSET INTO tabla (campos, , , ) VALUES (valor para cada campo) DELETE FROM tabla WHERE condición
5
1.2.3 DE MODIFICACION DE DATOS (Sintaxis Gral)
UPDATE tabla SET campo=valor WHERE condición
1.2.4 DE PROTECCIÓN DE DATOS (Sintaxis Gral)
GRANT INSERT ON tabla TO usuario GRANT UPDATE, SELECT ON tabla TO usuario REVOKE INSET ON tabla FROM usuario REVOKE ALL ON tabla FROM usuario
1.2.5 DE CREACIÓN Y ELIMINACIÓN DE TABLAS (Sintaxis Gral)
CREATE TABLE nombre_tabla (Campo1 Tipo(tamaño), Campo2 Tipo, ...) DROP TABLE nombre_tabla
1.2.6 DE MANIPULACIÓN DE REGISTROS
SELECT INSERT DELETE UPDATE
6
1.2.7 DE DEFINICIÓN CREATE TABLE
CREATE INDEX
COMMENT
DROP TABLE
DROP INDEX
LABEL
ALTER TABLE
CREATE
CREATE VIEW
SYNONYM
DROP VIEW
DROP SYNONYM
1.2.8 DE CONTROL DE ACCESO Y TRANSACCIONES
GRANT REVOKE COMMINT ROLLBACK
1.2.9 DE PROGRAMACION
DECLARE EXPLAIN OPEN FETCH CLOSE PREPARE EXECUTE
7
DESCRIBE
1.2.10 PALABRAS CLAVES PARA SENTENCIAS/CLÁUSULAS
WHERE FROM INTO HAVING 1.2.11 PALABRAS CLAVES DE SQL
ADA
CHAR
DECIMAL
ALL
CHARACTER
DECLARE
AND
CHECK
DEFAULT
ANY
CLOSE
DELETE
AS
COBOL
DESC
ASC
COMMIT
DISTINCT
AUTHORIZATION
CONTINUE
DOUBLE
AVG
COUNT
END
BEGIN
CREATE
ESCAPE
BETHEEN
CURRENT
EXEC
BY
CURSOR
EXISTS
C
DEC
FETCH
8
FLOAT
MIN
SECTION
FOR
MODULE
SELECT
FOREIGN
NOT
SET
FORTRAN
NULL
SMALLINT
FOUND
NUMERIC
SOME
FROM
OF
SQL
GO
ON
SQLCODE
GOTO
OPEN
SQLERROR
GRANT
OPTION
SUM
GROUP
OR
TABLE
HAVING
ORDER
TO
IN
PASCAL
UNION
INDICATOR
PLI
UNIQUE
INSERT
PRECISION
UPDATE
INT
PRIMARY
USER
INTEGER
PRIVILEGES
VALUES
INTO
PROCEDURE
VIEW
IS
PUBLIC
WHENEVER
KEY
REAL
WHERE
LANGUAGE
REFERENCES
WITH
LIKE
ROLLBACK
WORK
MAX
SCHEMA
9
1.3
TIPOS DE DATOS
CHAR(long)
Cadenas de caracteres con longitud fija
CHARACTER(long)
Cadenas de caracteres con longitud fija
VARCHAR
Cadenas de caracteres con longitud variable
LONG
Cadenas de caracteres largas
LONG VARCHAR
Cadenas de caracteres largas
TEXT
Cadenas de caracteres largas
INTEGER
Números enteros
INTEGER1
Números enteros
INTEGER2
Números enteros
INTEGER4
Números enteros
QUADWORD
Números enteros
TINYINT
Números enteros
NUMBER
Números enteros en unos productos y en otros para especificar números decimales
INT
Números enteros
SMALLINT
Números enteros pequeños
NUMERIC(precisión, escala)
Números decimales
DECIMAL(precisión, escala)
Números decimales
DEC(precisión, escala)
Números decimales
FLOAT(precisión)
Números en coma flotante
REAL
Números reales (coma flotante) de baja precisión
10
DOUBLE PRECISION
Números reales de alta precisión
DOUBLE
Coma flotante
PRECISION
Coma flotante
FLOAT4
Coma flotante
FLOAT8
Coma flotante
MONEY
Valores Monetarios
CURRENCY
Valores Monetarios
GRAPHIC
Para datos asiáticos
VARGRAPHIC
Para datos asiáticos
LOGICAL
Valores lógicos (Boleanos)
BIT
Valores lógicos (Boleanos)
RAW
Flujo de Bytes
LONG RAW
Flujo de Bytes
BINARY
Flujo de Bytes
VARBINARY
Flujo de Bytes
IMAGE
Flujo de Bytes
SERIAL
Datos númericos secuenciales
DATE
Fechas y en algunos productos también horas
DATETIME
Fechas y Horas
TIME
Horas
TIMESTAMP
Tiempo específico en el que se captura
11
1.3.1 TIPOS DE DATOS EN SybASE
CHAR(n)
Cadena de caracteres de longitud fija
VARCHAR(n)
Cadena de caracteres de longitud variable
TEXT
Texto Largo
TINYINT, SMALLINT, INT
Números Enteros
MONEY
Valores Monetarios
FLOAT
Números en coma flotante
DATETIME
Fechas y Horas
BIT
Valores Lógicos
BINARY(n), VARBINARY(n)
Flujo de Bytes
IMAGE
Flujo de Bytes
SYSNAME USER_TYPE_NAME
12