Sei sulla pagina 1di 47

http://es.wikipedia.

org/wiki/SQL
SQL
SQL
Desarrollador(es)
IBM
ISO/IEC 9075-1:2012
Informacin general
Paradigma Multiparadigma
Apareci en 1974
Diseado por Donald D. Chamberlin
Raymond F. Boyce
ltima versin
estable
SQL:2012 (2012)
Tipo de dato Esttico, Fuerte
Implementaciones Varias
Dialectos SQL-86, SQL-89, SQL-
92, SQL:1999, SQL:2003,SQL:2008, SQL:2012
Influido por Datalog
Ha influido a Agena, CQL, LINQ,Windows
PowerShell
[cita requerida]

Sistema operativo multiplataforma
SQL
Desarrollador
IBM
ISO/IEC 9075-1:2008
Informacin general
Extensin de archivo .sql
Tipo de MIME application/x-sql
Lanzamiento inicial 1986
ltima versin SQL:2012
2012
Tipo de formato Base de datos
Estndar(es) ISO/IEC 9075
Formato abierto
El lenguaje de consulta estructurado o SQL (por sus siglas en ingls structured query language) es
un lenguaje declarativo de acceso a bases de datosrelacionales que permite especificar diversos tipos
de operaciones en estas. Una de sus caractersticas es el manejo del lgebra y el clculo
relacional permitiendo efectuar consultas con el fin de recuperar -de una forma sencilla- informacin de
inters de una base de datos, as como tambin hacer cambios sobre ella.
http://html.rincondelvago.com/bases-de-datos_10.html
Qu es una base de datos?
Lo representa un grupo de datos los cuales se procesan, relacionando su informacin.
Su utilidad representa una solucin a la manipulacin o procesamiento de pequeos y grandes
volmenes de informacin, ofreciendo mayor funcionalidad y rapidez de operacin.
Introduccin
El trmino base de datos fue acuado por primera vez en 1963, en un simposio celebrado en
California. De forma sencilla podemos indicar que una base de datos no es ms que un
conjunto de informacin relacionada que se encuentra agrupada o estructurada.
El archivo por s mismo, no constituye una base de datos, sino ms bien la forma en que est
organizada la informacin es la que da origen a la base de datos. Las bases de datos
manuales, pueden ser difciles de gestionar y modificar. Por ejemplo, en una gua de telfonos
no es posible encontrar el nmero de un individuo si no sabemos su apellido, aunque
conozcamos su domicilio.
Del mismo modo, en un archivo de pacientes en el que la informacin est desordenada por el
nombre de los mismos, ser una tarea bastante engorrosa encontrar todos los pacientes que
viven en una zona determinada. Los problemas expuestos anteriormente se pueden resolver
creando una base de datos informatizada.
Desde el punto de vista informtico, una base de datos es un sistema formado por un conjunto
de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de
programas que manipulan ese conjunto de datos.
Desde el punto de vista ms formal, podramos definir una base de datos como un conjunto de
datos estructurados, fiables y homogneos, organizados independientemente en mquina,
accesibles a tiempo real, compartibles por usuarios concurrentes que tienen necesidades de
informacin diferente y no predecibles en el tiempo.
La idea general es que estamos tratando con una coleccin de datos que cumplen las
siguientes propiedades:
Estn estructurados independientemente de las aplicaciones y del soporte de
almacenamiento que los contiene.
Presentan la menor redundancia posible.
Son compartidos por varios usuarios y/o aplicaciones.
Base de datos relacionales
En una computadora existen diferentes formas de almacenar informacin. Esto da lugar a
distintos modelos de organizacin de la base de datos: jerrquico, red, relacional y orientada a
objeto.
Los sistemas relacionales son importantes porque ofrecen muchos tipos de procesos de
datos, como: simplicidad y generalidad, facilidad de uso para el usuario final, perodos cortos
de aprendizaje y las consultas de informacin se especifican de forma sencilla.
Las tablas son un medio de representar la informacin de una forma ms compacta y es
posible acceder a la informacin contenida en dos o ms tablas. Ms adelante explicaremos
que son las tablas.
Las bases de datos relacionales estn constituidas por una o ms tablas que contienen la
informacin ordenada de una forma organizada. Cumplen las siguientes leyes bsicas:
Generalmente, contendrn muchas tablas.
Una tabla slo contiene un nmero fijo de campos.
El nombre de los campos de una tabla es distinto.
Cada registro de la tabla es nico.
El orden de los registros y de los campos no est determinados.
Para cada campo existe un conjunto de valores posible.
Diseo de las bases de datos relacionales
El primer paso para crear una base de datos, es planificar el tipo de informacin que se quiere
almacenar en la misma, teniendo en cuenta dos aspectos: la informacin disponible y la
informacin que necesitamos.
La planificacin de la estructura de la base de datos, en particular de las tablas, es vital para la
gestin efectiva de la misma.
El diseo de la estructura de una tabla consiste en una descripcin de cada uno de los
campos que componen el registro y los valores o datos que contendr cada uno de esos
campos.
Los campos son los distintos tipos de datos que componen la tabla, por ejemplo: nombre,
apellido, domicilio. La definicin de un campo requiere: el nombre del campo, el tipo de
campo, el ancho del campo, etc.
Los registros constituyen la informacin que va contenida en los campos de la tabla, por
ejemplo: el nombre del paciente, el apellido del paciente y la direccin de este. Generalmente
los diferente tipos de campos que su pueden almacenar son los siguientes: Texto (caracteres),
Numrico (nmeros), Fecha / Hora, Lgico (informaciones lgicas si/no, verdadero/falso, etc.,
imgenes.
En resumen, el principal aspecto a tener en cuenta durante el diseo de una tabla es
determinar claramente los campos necesarios, definirlos en forma adecuada con un nombre
especificando su tipo y su longitud.
Microsoft Access
Posiblemente, la aplicacin ms compleja de la suite Office, sea Access, una base de datos
visual. Como todas las modernas bases de datos que trabajan en el entorno Windows, puede
manejarse ejecutando unos cuantos clic de mouse sobre la pantalla. Access contiene
herramientas de diseo y programacin reservadas a los usuarios con mayor experiencia,
aunque incluye bases de datos listas para ser usadas; estn preparadas para tareas muy
comunes, que cualquiera puede realizar en un momento determinado -ordenar libros, archivar
documentacin, etc.-.
Objetos de la base de datos
Tablas:
Unidad donde crearemos el conjunto de datos de nuestra base de datos. Estos datos estarn
ordenados en columnas verticales. Aqu definiremos los campos y sus caractersticas. Ms
adelante veremos qu es un campo.
Consultas:
Aqu definiremos las preguntas que formularemos a la base de datos con el fin de extraer y
presentar la informacin resultante de diferentes formas (pantalla, impresora...)
Formulario:
Elemento en forma de ficha que permite la gestin de los datos de una forma ms cmoda y
visiblemente ms atractiva.
Informe:
Permite preparar los registros de la base de datos de forma personalizada para imprimirlos.
Macro:
Conjunto de instrucciones que se pueden almacenar para automatizar tareas repetitivas.
Mdulo:
Programa o conjunto de instrucciones en lenguaje Visual Basic
Conceptos bsicos de una base de datos
Campo:
Unidad bsica de una base de datos. Un campo puede ser, por ejemplo, el nombre de una
persona. Los nombres de los campos, no pueden empezar con espacios en blanco y
caracteres especiales. No pueden llevar puntos, ni signos de exclamacin o corchetes. Si
pueden tener espacios en blanco en el medio. La descripcin de un campo, permite aclarar
informacin referida a los nombres del campo. El tipo de campo, permite especificar el tipo de
informacin que cargaramos en dicho campo, esta puede ser:
Texto: para introducir cadenas de caracteres hasta un mximo de 255
Memo: para introducir un texto extenso. Hasta 65.535 caracteres
Numrico: para introducir nmeros
Fecha/ Hora: para introducir datos en formato fecha u hora
Moneda: para introducir datos en formato nmero y con el signo monetario
Auto numrico: en este tipo de campo, Access numera automticamente el contenido
S/No: campo lgico. Este tipo de campo es slo si queremos un contenido del tipo S/No,
Verdadero/Falso, etc.
Objeto OLE: para introducir una foto, grfico, hoja de clculo, sonido, etc.
Hipervnculo: podemos definir un enlace a una pgina Web
Asistente para bsquedas: crea un campo que permite elegir un valor de otra tabla o de
una lista de valores mediante un cuadro de lista o un cuadro combinado.
Registro:
Es el conjunto de informacin referida a una misma persona u objeto. Un registro vendra a ser
algo as como una ficha.
Campo clave:
Campo que permite identificar y localizar un registro de manera gil y organizada.
Propiedades generales de los campos
PROPIEDADDESCRIPCINTIPO DE CAMPOTamao del campoPermite establecer la
longitud mxima de un campo de texto numrico.Texto, numrico, contadorFormatoPermite
determinar la apariencia de presentacin de los datos, utilizando los formatos predefinidos o
nuestros propios formatosTodos, excepto OLE y MemoLugares decimalesPermite especificar
el nmero de cifras decimales para mostrar los nmeros.Numrico y monedaMscara de
entradaPermite controlar y filtrar los caracteres o valores que los usuarios introducen en un
control de cuadro de texto, evitando errores y facilitando su escritura.Texto, numrico,
fecha/hora, monedaTtuloPermite definir una etiqueta de campo predeterminada para un
formularios o informeTodosValor predeterminadoIntroduce en el campo un valor cuando se
agregan nuevos registros (long. Mx. 255 caracteres)Todos, excepto OLE y contadorRegla de
validacinPermite escribir la condicin que deben satisfacer los datos introducidos para ser
aceptadosTodos, excepto OLE y contadorTexto de validacinDefine el texto del mensaje que
se visualiza cuando los datos no cumplen las condiciones enumeradas en la regla de
validacinTodos excepto OLE y contadorRequeridoPermite especificar si es necesario que
exista un valor en un campo.Todos excepto contadorPermitir longitud ceroPermite especificar
si una cadena de longitud cero ("") es una entrada vlida para el campoTexto,
memoIndexadoDefine un campo como ndice o campo clave.Texto, numrico, contador,
fecha/hora.
Las propiedades de un campo, se establecen seleccionando el campo y haciendo clic en la
propiedad deseada del cuadro PROPIEDADES DEL CAMPO situado en la parte inferior de la
ventana DISEO DE TABLA.
Access tiene una configuracin predeterminada para las propiedades de cada uno de los tipos
de campo. Sin duda la ms importante es el tamao del campo, ya que este nos permitir
hacer una estimacin del espacio ocupado por nuestra base de datos en el disco fijo
FOX PRO
Es un lenguaje estructurado en un entorno de desarrollo donde ciertas tareas son asignadas a
grupos de instrucciones llamadas programas. Adems, Fox ofrece un acceso de informacin,
bastante sencillo y fcil, incluso a las personas sin experiencia en programacin.
Cuando se quiera realizar un programa debe tomarse en consideracin lo que a continuacin
sigue:
Primero: Realizar un anlisis de la informacin a manejar, previo a la elaboracin del
programa.
Segundo: Establecer la lgica de los pasos a utilizar en el programa.
Tercero: Hacer la conversin de la lgica de pasos a instrucciones del lenguaje.
Modo Operacional: Brinda un acceso en forma directa a la informacin de la base de datos.
Modo de Programacin: Ofrece una administracin de la informacin contenida en las bases
de datos, a travs de grupos de instrucciones.
Modo Operacional
Fox maneja los siguientes tipos de datos:
CHARACTER (Carcter): Presenta los valores alfanumricos, siendo su capacidad mxima en
nmeros enteros de 19 dgitos, y para numero reales de 15 dgitos y 2 decimales.
LOGIC (Lgico): Este tipo de valores representa un ahorro de memoria, ya que almacena
solamente un carcter, el cual puede ser falso o verdadero.
DATE (Fecha): Este tipo de valor almacena fechas, teniendo una longitud de 8 caracteres.
MEMO : Este tipo de valores permite el acceso a un editor donde se puede almacenar
cualquier tipo de informacin.
Qu es un Campo?
Lo conforma una agrupacin de datos o valores.
Qu es un Registro?
Lo conforma un conjunto de campos.
Instrucciones de Operacin:
USE: Abre una base de datos.
CREATE: Crea una base de datos.
CREATE REPORT: Crea un informe.
LIST: Lista la informacin de una base de datos.
LIST STRUCTURE: Lista la estructura de una base de datos.
MODIFY STRUCTURE: Modifica la estructura de una base de datos.
MODIFY REPORT: Modifica una informacin.
DELETE: Borra registros de una base de datos.
DELETE FILE: Borra un archivo.
GO: Ubica el puntero en un registro en especial.
GO TOP: Ubica el puntero en el 1er. Registro de la base de datos.
GO BOTTOM: Ubica el puntero en el ltimo registro de la base de datos.
EDIT: Cambia los registros de una base de datos en una ventana de edicin.
FIND: Encuentra un registro en una base de datos.
BROWSE: Crea una ventana de visualizacin de los datos de una base de datos en forma
horizontal.
APPEND: Aade registros a una base de datos.
CLOSE: Cierra una base de datos.
INDEX: Crea un archivo ndice.
PACK: Elimina fsicamente registros con la marca de borrado de archivo de base de datos.
SEEK: Busca en una base de datos indexada.
CLEAR: Borra la pantalla.
QUIT: Genera la salida de Fox.
ZAP: Elimina los registros marcados de una base de datos.
Qu son los operadores?
Fox utiliza los siguientes operadores:
Aritmticos:
( ) = Parntesis
**, ^ = Exponenciacion
* = Multiplicacin
/ = Divisin
+ = Suma
- = Resta
Relacionales:
= = Igual
< = Menor que
> = Mayor que
<> = Distinto
>= = Mayor o igual
<= = Menor o igual
Lgicos:
.NOT. = Negativo lgico que cambia el valor de verdad de una expresin indicada.
.AND. = El valor de verdad de una expresin ser verdadero, siempre y cuando las 2
expresiones unidas por este conectador sean verdaderas.
.OR. = El valor de verdad de una expresin ser verdadero, si por lo menos alguna de las
expresiones unidas por este conectador sea verdadera.
Modo de Programacin
Qu es una variable?
Es un aspecto de memoria la cual almacena algn determinado valor.
Qu es una instruccin?
Es una palabra reservada por fox, la cual no puede ser utilizada como nombre de variable.
Qu es un procedimiento?
Es un grupo de instrucciones a ejecutar dentro de un programa.
Qu es una funcin?
Son instrucciones especiales que utiliza fox, las cuales devuelven valores matemticos, de
caracteres y lgicos; adems existen dos tipos de funcin: Incorporadas y Definidas por el
usuario.
Instrucciones de Programacin:
?: Evala expresiones y visualiza el resultado en la pantalla.
ACCEPT: Acepta desde la pantalla una cadena de caracteres.
APPEND BLANK: Aade un registro en blanco a la base de datos.
MODIFY COMMAND: Entra al editor de fox.
DO: Activa los programas de fox.
DO WHILE: Realiza la ejecucin de un bucle mientras sea verdadera la condicin
especificada.
REINDEX: Actualiza los archivos ndices existentes.
RECALL: Recupera registros borrados lgicamente.
RUN/!: Ejecuta un programa externo.
WAIT: Espera una entrada desde el teclado.
CALL: Llama una sub.-rutina cargada en memoria.
CANCEL: Cancela un programa en ejecucin.
COUNT: Cuenta los registros de una base de datos.
@...SAY/GET: Realiza la entrada y salida en la fila y columna especificada.
@...BOX: Dibuja un marco.
@...CLEAR: Borra un rea especificada de la pantalla o ventana.
@...PROMPT: Crea un men de barra.
ACTIVATE MENU: Visualiza y activa un men de barra.
ACTIVATE POPUP: Visualiza y activa men.
ACTIVATE SCREEN: Dirige la salida a la pantalla.
ACTIVATE WINDOW: Visualiza y activa una ventana.
APPEND MEMO: Llena un campo memo desde un archivo.
DEACTIVE MENU: Desactiva un men y lo borra de la pantalla.
DEACTIVE POPUP: Desactiva una ventana y la borra de la pantalla.
DEACTIVE WINDOW: Desactiva ventanas y las borra de la pantalla.
DEFINE BAR: Define una opcin del men.
DEFINE BOX: Dibuja un recuadro alrededor del texto.
DEFINE MENU: Crea un men de barra.
DEFINE PAD: Define un pad sobre el men de barra.
DEFINE POPUP: Crea un men.
DEFINE WINDOW: Crea una ventana.
DO CASE: Ejecuta instrucciones en un bucle, un especificado numero de veces.
EJECT: Hace avanzar la impresora al comienzo de la siguiente pagina.
FOR...ENDFOR: Ejecuta instrucciones en un bucle, un especificado numero de veces.
HIDE MENU: Oculta un men de barra.
HIDE POPUP: Oculta un men.
HIDE WINDOW: Quita una ventana de la pantalla
IMPUT: Introduce un dato a una variable de memoria.
ON ESCAPE: Interrumpe un programa al pulsar la tecla ESC.
ON READERROR: Ejecuta una rutina por un error de entrada.
READ: Lee datos de @... SAY/GET.
SET BELL ON/OFF: Conmuta la campana e inicializa atributos.
SET BLINK: Especifica los atributos de pantalla y colores.
SET CLOCK: Sita el reloj en la pantalla y especifica su posicin.
SET COLOR: Se definen los colores del sistema de interfaz (sistema men de barra).
SET COLOR TO: Especifica los colores de los mens y ventanas definidos por el usuario.
SET CONFIRM: Especifica si una tecla de finalizacin debe ser pulsada cuando se sale de un
campo o de una eleccin de men de barra.
SET CONSOLE ON/OFF: Direcciona la salida a una venta o a la pantalla.
SET CURSOR ON/OFF: Visualiza o esconde el cursor.
SET DATE: Especifica el formato de la fecha.
SET DELETED: Especifica si los registros marcados para borrar sern usados.
SET ESCAPE ON/OFF: Habilita o inhabilita la tecla escape.
SET INTENSITY ON/OFF: Sobre iluminar la entrada de campos durante la edicin.
SET MESSAGE: Define un mensaje y su localizacin en la pantalla o en una ventana.
SET MOUSE ON/OFF: Habilita un ratn y controla su sensibilidad.
SET PATH: Especifica el camino de directorio para bsqueda de archivos.
SET PRINTER ON/OFF: Habilita o inhabilita la salida a la impresora y especifica un puerto de
salida.
SET SCOREBOARD ON/OFF: Especifica donde es visualizado el estado de las teclas: NUM
LOCK, CAPS LOCK e INSERT.
SET SHADOWS ON/OFF: Sita o elimina las sombras detrs de las ventanas.
SET TALK ON/OFF: Habilita o inhabilita informacin sobre el avance de las ordenes.
SORT: Ordena una base de datos.
SUM: Calcula la suma de campos numricos.
SUSPEND: Suspende la ejecucin de un programa.
TEXT... ENDTEXT: Da la salida a lnea de textos.
TOTAL: Computa o calcula totales de campos numricos.
FUNCTION: Define el comienzo de una sub.-rutina.
PROCEDURE: Define el comienzo de una sub.-rutina.
PARAMETERS: Define variables de memoria como parmetros de procedimientos.
Funciones
Las funciones de fox se dividen en dos categoras: Incorporadas y definidas por el usuario.
En ambos casos las funciones devuelven un valor. La funcin puede estar incluida en una
expresin del mismo tipo, como si fuera una variable.
En el caso de una funcin definida por el usuario, el regreso de la funcin debe ser a travs de
una instruccin RETURN donde la expresin es una expresin valida para el lenguaje fox.
Con las funciones definidas por el usuario, la funcin, igual que un procedimiento, puede
tomar parmetros. Si esto ocurre, la primera instruccin a ejecutar despus de la instruccin
FUNCTION o PROCEDURE, debe ser una instruccin PARAMENTERS.
Instrucciones de Funcin:
ALLTRIM (): Elimina los primeros y ltimos blancos de una expresin o carcter.
BAR (): Devuelve el numero del ltimo indicador de barra seleccionado de un men.
BOF (): Devuelve un valor verdadero, si el puntero de registro esta posesionado en el
comienzo de una base de datos.
CAPSLOCK (): Devuelve el estado actual de CAPSLOCK.
CDOW (): Devuelve el da de la semana que corresponde a un dato tipo fecha.
CHR (): Devuelve el carcter correspondiente a la tabla ASCII.
CMONTH (): Devuelve el nombre del mes que corresponde a un dato tipo fecha.
COL (): Devuelve la posicin de la columna actual del cursor.
CTOD (): Convierte una expresin de caracteres a una expresin de fecha.
CURDIR (): Devuelve el directorio actual del DOS.
DATE (): Devuelve la fecha actual del sistema.
DAY (): Devuelve el da del mes correspondiente a un dato tipo fecha.
DBF (): Devuelve el nombre de archivo de la base de datos.
DELETED (): Devuelve un valor verdadero, si el registro actual esta marcado para borrado.
DISKSPACE (): Devuelve el espacio disponible actual en la unidad de disco por omisin.
DMY (): Convierte una expresin de fecha a un formato de da, mes, ao.
DOW (): Devuelve el da numrico de la semana correspondiente a un dato de fecha.
DTOC (): Devuelve una expresin de tipo fecha a una expresin carcter.
EOF (): Devuelve un valor verdadero si el puntero de registro esta posesionado al final del
archivo de la base de datos.
FIELD (): Devuelve el nombre de un campo de una base de datos.
INKEY (): Devuelve un valor entero que corresponde al valor ASCII de la ultima tecla pulsada,
o a un solo clic de ratn.
INT (): Devuelve la parte entera de una expresin numrica.
ISALPHA (): Devuelve un valor verdadero si una expresin carcter comienza con un carcter
alfabtico.
ISCOLOR (): Devuelve un valor verdadero si esta corriendo con un monitor a color.
ISLOWER (): Devuelve un valor verdadero s el primer carcter de una expresin de tipo
carcter esta en minscula.
ISUPPER (): Devuelve un valor verdadero s el primer carcter de una expresin de tipo
carcter esta en mayscula.
LEN (): Devuelve la longitud de una expresin de tipo carcter.
LTRIM (): Quita los primeros blancos de una expresin de tipo carcter.
OS (): Devuelve el nombre y numero de versin del sistema operativo bajo el que se esta
corriendo Fox.
RECND (): Devuelve el numero de registro actual de una base de datos.
STR (): Convierte una expresin numrica a una expresin carcter.
VAL (): Devuelve el valor numrico de una expresin de tipo carcter compuesta por dgitos.
TIME (): Devuelve la hora actual del sistema.
SYS (): Da informacin del sistema.
TRIM (): Recorta los blancos finales de una expresin de tipo carcter.
VERSION (): Devuelve la versin actual de Fox que esta siendo ejecutada.
WCOLS (): Devuelve el numero de columnas disponibles en una ventana.


TIPOS DE DATO QUE MANEJA EL sql


Mostramos unas tablas con todos los tipos de datos
que hay en SQL.
Por Claudio
Atencin: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
Los tipos de datos SQL se clasifican en 13 tipos de datos primarios y de varios sinnimos vlidos
reconocidos por dichos tipos de datos. Los tipos de datos primarios son:



Tipo de
Datos
Longitud Descripcin
BINARY 1 byte
Para consultas sobre tabla adjunta de productos de bases de datos
que definen un tipo de datos Binario.
BIT 1 byte Valores Si/No True/False
BYTE 1 byte Un valor entero entre 0 y 255.
COUNTER 4 bytes Un nmero incrementado automticamente (de tipo Long)
CURRENCY 8 bytes
Un entero escalable entre 922.337.203.685.477,5808 y
922.337.203.685.477,5807.
DATETIME 8 bytes Un valor de fecha u hora entre los aos 100 y 9999.
SINGLE 4 bytes
Un valor en punto flotante de precisin simple con un rango de -
3.402823*1038 a -1.401298*10-45 para valores negativos,
1.401298*10- 45 a 3.402823*1038 para valores positivos, y 0.
DOUBLE 8 bytes
Un valor en punto flotante de doble precisin con un rango de -
1.79769313486232*10308 a -4.94065645841247*10-324 para
valores negativos, 4.94065645841247*10-324 a
1.79769313486232*10308 para valores positivos, y 0.
SHORT 2 bytes Un entero corto entre -32,768 y 32,767.
LONG 4 bytes Un entero largo entre -2,147,483,648 y 2,147,483,647.
LONGTEXT
1 byte por
carcter
De cero a un mximo de 1.2 gigabytes.
LONGBINARY
Segn se
necesite
De cero 1 gigabyte. Utilizado para objetos OLE.
TEXT
1 byte por
carcter
De cero a 255 caracteres.

La siguiente tabla recoge los sinnimos de los tipos de datos definidos:

Tipo de Dato Sinnimos
BINARY VARBINARY
BIT
BOOLEAN
LOGICAL
LOGICAL1
YESNO
BYTE INTEGER1
COUNTER AUTOINCREMENT
CURRENCY MONEY
DATETIME
DATE
TIME
TIMESTAMP
SINGLE
FLOAT4
IEEESINGLE
REAL
DOUBLE
FLOAT
FLOAT8
IEEEDOUBLE
NUMBER
NUMERIC
SHORT
INTEGER2
SMALLINT
LONG
INT
INTEGER
INTEGER4
LONGBINARY
GENERAL
OLEOBJECT
LONGTEXT
LONGCHAR
MEMO
NOTE
TEXT
ALPHANUMERIC
CHAR - CHARACTER
STRING - VARCHAR
VARIANT (No Admitido) VALUE

http://msdn.microsoft.com/es-es/library/ms187752.aspx
En SQL Server, cada columna, variable local, expresin y parmetro tiene un
tipo de datos relacionado. Un tipo de datos es un atributo que especifica el tipo de
datos que el objeto puede contener: datos de enteros, datos de caracteres, datos de
moneda, datos de fecha y hora, cadenas binarias, etc.
SQL Server proporciona un conjunto de tipos de datos del sistema que define
todos los tipos de datos que pueden utilizarse con SQL Server. Tambin puede
definir sus propios tipos de datos en Transact-SQL o Microsoft .NET
Framework. Los tipos de datos de alias estn basados en los tipos de datos
proporcionados por el sistema. Para obtener ms informacin acerca de los tipos
de datos de alias, vea CREATE TYPE (Transact-SQL). Los tipos definidos por el
usuario obtienen sus caractersticas de los mtodos y los operadores de una clase
que se crean mediante uno de los lenguajes de programacin compatibles con
.NET Framework.
Cuando dos expresiones que tienen tipos de datos, intercalaciones, precisin,
escala o longitud diferentes son combinadas por un operador, las caractersticas
del resultado vienen determinadas por lo siguiente:
El tipo de datos del resultado viene determinado por la aplicacin de las
reglas de precedencia de tipos de datos a los tipos de datos de las
expresiones de entrada. Para obtener ms informacin, vea Prioridad de
tipo de datos (Transact-SQL).
La intercalacin del resultado viene determinada por las reglas de
precedencia de intercalacin cuando el tipo de datos del resultado
es char, varchar, text, nchar, nvarchar o ntext. Para obtener ms
informacin, vea Prioridad de intercalacin (Transact-SQL).
La precisin, escala y longitud del resultado dependen de la precisin,
escala y longitud de las expresiones de entrada. Para obtener ms
informacin, vea Precisin, escala y longitud (Transact-SQL).
SQL Server proporciona sinnimos de tipos de datos para la compatibilidad con
ISO. Para obtener ms informacin, vea Sinnimos de tipos de datos (Transact-
SQL).
Categoras de tipos de datos
Los tipos de datos de SQL Server se organizan en las siguientes categoras:
Numricos exactos Cadenas de caracteres Unicode
Numricos aproximados Cadenas binarias
Fecha y hora Otros tipos de datos
Cadenas de caracteres
En SQL Server, segn las caractersticas de almacenamiento, algunos tipos de
datos estn designados como pertenecientes a los siguientes grupos:
Tipos de datos de valores
grandes: varchar(max), nvarchar(max) y varbinary(max)
Tipos de datos de objetos
grandes: text, ntext, image, varchar(max), nvarchar(max), varbinary(max)
y xml
Nota
sp_help devuelve -1 como longitud de los tipos de datos de valores grandes y xml.
Numricos exactos
bigint numeric
bit smallint
decimal smallmoney
int tinyint
money
Numricos aproximados
float real
Fecha y hora
date datetimeoffset
datetime2 smalldatetime
datetime time
Cadenas de caracteres
char varchar
text
Cadenas de caracteres Unicode
nchar nvarchar
ntext
Cadenas binarias
binary varbinary
image
Otros tipos de datos
cursor timestamp
hierarchyid uniqueidentifier
sql_variant xml
tabla


http://laboratorio.is.escuelaing.edu.co/labinfo/doc/Manual_Basico_de_MySQL.pdf
2. TIPOS DE DATOS
Los tipos de datos en MySQL se pueden clasificar en tres grupos:
Tipos Numricos
Tipos de Fecha
Tipos de Cadena
2.1 Tipos Numricos
En los tipos numricos podemos encontrar:
TinyInt: nmero entero que puede tener o no signo. Si lleva signo el
rango de valores es de -128 a 127 y sin signo 0 a 255. El tamao de
almacenamiento es de 1 byte.
Bit Bool: nmero entero: 0 1.
SmallInt: nmero entero que puede tener o no signo. Si tiene signo el
rango es de -32768 a 32767 y sin signo 0 a 65535. El tamao de
almacenamiento es de 2 bytes.
MediumInt: nmero entero que puede tener o no signo. Si tiene signo
el rango es de -8.388.608 a 8.388.607 y sin signo 0 a16777215. El
tamao de almacenamiento es de 3 bytes.
Integer, Int: nmero entero que puede tener o no signo. Si tiene signo
el rango es de -2147483648 a 2147483647 y sin signo el 0 a
429.4967.295. El tamao de almacenamiento es de 4 bytes.
BigInt: nmero entero que puede tener o no signo. Si tiene signo el
rango es de -9.223.372.036.854.775.808 a
9.223.372.036.854.775.807 y sin signo 0 a
18.446.744.073.709.551.615. El tamao de almacenamiento es de 8
bytes.
Float: nmero pequeo en coma flotante de precisin simple. Los
rangos estn entre -3.402823466E+38 a -1.175494351E-38, 0 y desde
1.175494351E-38 a 3.402823466E+38. El tamao de almacenamiento
es de 4 bytes.
Real, Double: nmero en coma flotante de precisin doble. Los
rangos entan entre -1.7976931348623157E+308 a -
2.2250738585072014E-308, 0 y desde 2.2250738585072014E-308 a 1.7976931348623157E+308.
El tamao de almacenamiento es de 8
bytes.
Decimal, Dec, Numeric: Nmero en coma flotante desempaquetado y
es almacenado como una cadena.
2.2 Tipos De Fecha
MySQL no prueba de una manera precisa si la fecha ingresada es o no
vlida, nicamente realiza las comparaciones lgicas como lo son que el mes
este entre 0 y 12 y que el da entre 0 y 31.
Date: tipo fecha, almacena una fecha. El rango esta entre el 1 de enero
del 1001 al 31 de diciembre de 9999. El formato de almacenamiento
queda de la forma: ao-mes-da. El tamao de almacenamiento es de 3
bytes
DateTime: Es una combinacin de fecha y hora, donde los valores estn
entre el 1 de enero del 1001 a las 0 horas, 0 minutos y 0 segundos al 31
de diciembre del 9999 a las 23 horas, 59 minutos y 59 segundos. El
formato de almacenamiento queda de la forma: ao-mes-da
horas:minutos:segundo. El tamao de almacenamiento es de 8 bytes
TimeStamp: Es una combinacin de fecha y hora y los valores estn
desde el 1 de enero de 1970 al ao 2037. El tamao de almacenamiento
es de 4 bytes
Time: almacena una hora. El rango puede estar entre -838 horas, 59
minutos y 59 segundos a 838, 59 minutos y 59 segundos. El formato de
almacenamiento es de la forma: 'HH:MM:SS'. El tamao de
almacenamiento es de 3 bytes.
Year: almacena un ao. El rango es desde el ao 1901 al ao 2155. El
tamao de almacenamiento es de 1 bytes.
2.3 Tipos De Cadena
Char(n): almacena una cadena de longitud fija y puede contener entre 0
y 255 caracteres. El tamao de almacenamiento es de n bytes.
VarChar(n): almacena una cadena de longitud variable y puede contener
entre 0 y 255 caracteres. El tamao de almacenamiento es de n+1 bytes. TinyText y TinyBlob:
Columna con una longitud mxima de 255
caracteres, donde su tamao de almacenamiento es de longitud + 1
bytes.
Blob y Text: texto con un mximo de 65535 caracteres. Su tamao de
almacenamiento es de longitud + 2 bytes
MediumBlob y MediumText: texto con un mximo de 16.777.215
caracteres. Su tamao de almacenamiento es de longitud + 3 bytes
LongBlob y LongText: texto con un mximo de caracteres
4.294.967.295. Su tamao de almacenamiento es de longitud + 4 bytes
Enum: campo que puede tener un nico valor de una lista que se
especifica y admite hasta 65535 valores distintos.
Set: un campo que puede contener cero, uno varios valores de una
lista, la cual puede tener un mximo de 64 valores. 3. MANEJO DE BASES DE DATOS EN MySQL
Comandos para el manejo de Bases de Datos en MySQL:
CREATE *nombre+: Crea una base de datos con el nombre dado
mysql> create database miprueba;
SELECT: Es un comando utilizado para traer informacin desde una tabla
SELECT seleccionar_Esto
FROM desde_tabla
WHERE condiciones;
SHOW: Lista las bases de datos que hay en el servidor MySQL o las
tablas de la base de datos
mysql> show databases;
mysql> show tables;
DESCRIBE permite obtener informacin sobre una tabla, para saber qu
campos tiene y de qu tipo,
mysql> describe prueba;
USE db_nombre: indica a MySQL que use la base de datos db_nombre
como la base de datos por defecto.
mysql> use miprueba;
DROP DATABASE: elimina todas las tablas de la base de datos,
juntamente con la base de datos.
QUIT permite salir de la lnea de comandos de MySQL.
mysql> quit MYSQLACCESS: verifica los permisos de acceso para una combinacin
de mquina. base de datos y usuario.
MYSQLADMIN: Es el cliente que realiza tareas administrativas, a su vez
es un comando con el cual consultar la versin, informacin de procesos,
e informacin de estado del servidor.
PERROR: Comando que muestra el significado de los errores de sistema
de MySQL.
mysql> perror [opciones] cdigo_de_error ...
CREATE TABLE: Sentencia para especificar la estructura de una tabla
donde se especifica los tipos de variable para cada tem de la tabla.
mysql> CREATE TABLE pet (name VARCHAR(20), owner
VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death
DATE);
SHOW TABLES: Comando que permite ver cuales tablas hay en la base
de datos.
UPDATE: Comando que modifica solo el registro en cuestin y no
requiere que se vuelva a llenar la tabla.
mysql> UPDATE pet SET birth = '1989-08-31' WHERE name = 'Bowser';

3.1 Manejo De Usuarios En MySQL
En MySQL existen cinco niveles distintos de privilegios:
Globales: se aplican al conjunto de todas las bases de datos en un
servidor. Este es el nivel ms alto de privilegio.
De base de datos: se refieren a bases de datos individuales y a su
contenido. De tabla: se aplican a tablas individuales y sus respectivas columnas.
De columna: se aplican a una columna en una tabla concreta.
De rutina: se aplican a los procedimientos almacenados.
Estos son algunos comandos en cuanto al manejo de Usuarios:
CREATE USER: crea nuevas cuentas MySQL
DROP USER: elimina una o ms cuentas MySQL
CURRENT_USER: Devuelve el nombre de usuario y el del host para
el que est autentificada la conexin actual

http://www.ie.uia.mx/acad/atortole/bd/sql/tipos.html
Tipos de Datos
SQL maneja bsicamente seis tipos de datos:
Numricos exactos (exact numerics)
Numricos aproximados (approximate numerics)
Cadenas de caracteres (character strings)
Cadenas de bits (bit strings)
Fechas y tiempos (datetimes)
Intervalos (intervals)
Numricos exactos (exact numerics)
Existen cuatro tipos de datos en esta categora:
INTEGER: No tiene parte fraccional y su precisin (el nmero mximo de dgitos
que puede tener) depende de la implementacin.
SMALLINT: Tambin es para enteros. Su precisin tambin depende de la
implementacin pero no puede ser mayor (aunque puede ser igual) que la
precisin de un INTEGER.
NUMERIC: Puede tener parte fraccional. Se puede especifricar la precisin y la
escala (scale - el nmero de dgitos en la parte fraccional). Si no se especifica la
precisin o la precisin ni la escala, entonces se tienen los valores por omisin
de la implementacin.
DECIMAL: Es similar al NUMERIC, pero con mayor precisin. Puede almacenar
valores con mayor precisin que la especificada en caso de ser necesario.
Numricos aproximados (approximate numerics)
Existen tres tipos de datos:
REAL: Nmeros de punto flotante (mantisa y exponente) de precisin simple, la
cual depende de la implementacin.
DOUBLE PRECISION: Nmeros de punto flotante de doble precisin, la cual
tambin depende de la implementacin. En algunos casos es el doble en mantisa
y en exponente, en otros casos es algo cercano al doble y en otros casos es slo
el doble en la mantisa. El estndar slo establece que la precisin de un DOUBLE
PRECISION sea mayor a la de un REAL.
FLOAT: Nmero de punto flotante que permite especificar la precisin deseada.
Dependiendo de la implementacin y de la precisin especificada se utiliza
aritmtica de precisin simple o de doble precisin.
Cadenas de caracteres (character strings)
Existen dos tipos principales:
CHARACTER o CHAR: Para cadenas de caracteres de tamao fijo. Se debe
especificar el nmero mximo de caracteres. El tamao restante, en caso de no
ocupar la longitud mxima, se rellena con espacios. en caso de no especificar un
nmero de caracteres, entonces se toma el valor por omisin, que es de un
caracter.
CHARACTER VARYING o VARCHAR: Para cadenas de caracteres de tamao variable.
Este tipo es til cuando se quieren cadenas de longitud variable pero sin que se
rellene de espacios el tamao restante, guardando solamente los caracteres
deseados. Tambin permite especificar un nmero mximo de caracteres.
Existen adems dos variantes de estos tipos de datos: NATIONAL CHARACTER y NATIONAL
CHARACTER VARYING, para utilizar el conjunto de caracteres nacional de la implementacin en
lugar que el conjunto de caracteres de la implementacin.
Cadenas de bits (bit strings)
Aceptan cualquier cadena arbitraria de bis. Existen dos tipos:
BIT: Se especifica el tamao de la cadena en bits, o un bit por omisin
BIT VARYING: Puede acomodar cadenas de bits de diferentes tamaos,
especificando una longitud mxima.
Fechas y tiempos (datetimes)
Se definen cinco tipos que tratan con fechas y tiempos:
DATE: Guarda ao, mes y da en una fecha de la formaAAAA-MM-DD.
TIME: Guarda horas, minutos y segundos de determinado tiempo de la
forma HH:MM:SS. Los segundos pueden llevar parte fraccionaria de por lo menos
6 dgitos pero depende de la implementacin. Se puede especificar el nmero de
posiciones siendo 8 el valor por omisin (el punto decimal de los segundos ocupa
la novena posicin).
TIMESTAMP: Incluye fecha y tiempo. Tiene la misma caracterstica
que DATE y TIME, excepto que el valor por omisin para la parte fraccional de los
segundos para un TIMESTAMP es de 6 dgitos. Es de la forma:
AAAA-MM-DD HH:MM:SS.
TIME WITH TIME ZONE: Igual que TIME pero agrega informacin de offset con
respecto al UT (Universal Time, o tambin conocido como GMT). Este offset
puede ser positivo o negativo. Puede llevar parte fraccionaria. Es de la
forma HH:MM:SS+/-HH:MM.
TIMESTAMP WITH TIME ZONE: Igual que TIMESTAMP pero con informacin de
offset con respecto al UT. Puede llevar parte fraccionaria. Es de la forma AAAA-
MM-DD HH:MM:SS+/-HH:MM.
Intervalos (intervals)
Es muy similar a los tipos de datos de fechas. Un intervalo es la diferencia entre dos valores de
fechas o tiempos. Se tiene dos tipos de intervalos:
ao - mes: El nmero de aos y meses entre dos fechas.
da - tiempo: el nmero de das, horas, minutos y segundos entre
dos fechas de un mismo mes
Valores Nulos
Un campo que no posee un valor tiene un valor nulo, que no es lo mismo que un valor de cero
para un numrico o un espacio para una cadena. Un valor nulo es un valor indefinido.
http://www.maestrosdelweb.com/editorial/tutsql1/
1. INTRODUCCIN
El
lenguaje de consulta estructurado (SQL)
es un lenguaje de base de datos normalizado, utilizado por el motor de
base
de datos de Microsoft Jet. SQL
se utiliza para crear objetos QueryDef, como el argumento de origen del
mtodo
OpenRecordSet y como la propiedad RecordSource del control de datos.
Tambin
se puede utilizar con el mtodo Execute para crear y manipular
directamente
las bases de datos Jet y crear consultas SQL
de paso a travs para manipular bases de datos remotas cliente
servidor.
1.1. COMPONENTES DEL SQL
El
lenguaje SQL est compuesto por comandos, clusulas, operadores
y funciones de agregado. Estos elementos se combinan en las
instrucciones para
crear, actualizar y manipular las bases de datos.
1.2
COMANDOS
Existen
dos tipos de comandos SQL:
Los
DLL que permiten crear y definir nuevas bases de datos, campos e ndices.
Los DML que permiten generar consultas para ordenar, filtrar y extraer
datos
de la base de datos.
COMANDOS DLL
Comando Descripcin
CREATE
Utilizado para crear nuevas tablas, campos
e ndices
DROP Empleado para eliminar tablas e ndices
ALTER
Utilizado para modificar las tablas agregando
campos o cambiando la definicin de los campos.

COMANDOS DML
Comando Descripcin
SELECT
Utilizado
para consultar registros de la base de datos que satisfagan un criterio
determinado
INSERT
Utilizado
para cargar lotes de datos en la base de datos en una nica
operacin.
UPDATE
Utilizado
para modificar los valores de los campos y registros especificados
DELETE
Utilizado
para eliminar registros de una tabla de una base de datos

1.3 CLUSULAS
Las clusulas son condiciones de modificacin utilizadas para
definir los datos que desea seleccionar o manipular.
Comando Descripcin
FROM
Utilizada
para especificar la tabla de la cual se van a seleccionar los registros
WHERE
Utilizada
para especificar las condiciones que deben reunir los registros que
se van a seleccionar
GROUP
BY
Utilizada
para separar los registros seleccionados en grupos especficos
HAVING
Utilizada
para expresar la condicin que debe satisfacer cada grupo
ORDER
BY
Utilizada
para ordenar los registros seleccionados de acuerdo con un orden especfico

1.4 OPERADORES LGICOS
Operador Uso
AND
Es
el y lgico. Evala dos condiciones y devuelve un
valor de verdad slo si ambas son ciertas.
OR
Es
el o lgico. Evala dos condiciones y devuelve un
valor de verdad si alguna de las dos es cierta.
NOT
Negacin
lgica. Devuelve el valor contrario de la expresin.

1.5
OPERADORES DE COMPARACIN
Operador Uso
<
Menor
que
>
Mayor
que
<>
Distinto
de
<=
Menor
Igual que
>=
Mayor
Igual que
BETWEEN
Utilizado
para especificar un intervalo de valores.
LIKE
Utilizado
en la comparacin de un modelo
In
Utilizado
para especificar registros de una base de datos

1.6 FUNCIONES DE AGREGADO
Las
funciones de agregado se usan dentro de una clusula SELECT
en grupos de registros para devolver un nico valor que se aplica a un
grupo de registros.
Comando Descripcin
AVG
Utilizada
para calcular el promedio de los valores de un campo determinado
COUNT
Utilizada
para devolver el nmero de registros de la seleccin
SUM
Utilizada
para devolver la suma de todos los valores de un campo determinado
MAX
Utilizada
para devolver el valor ms alto de un campo especificado
MIN
Utilizada
para devolver el valor ms bajo de un campo especificado

2. CONSULTAS DE SELECCIN
Las consultas de seleccin se utilizan para
indicar al motor de datos que devuelva informacin de las bases de
datos, esta informacin es devuelta en forma de conjunto de registros
que se pueden almacenar en un objeto recordset. Este conjunto de
registros
es modificable.
2.1 CONSULTAS BSICAS
La sintaxis bsica de una consulta
de seleccin es la siguiente:
SELECT Campos FROM Tabla;
En donde campos es la lista de campos
que se deseen recuperar y tabla es el origen de los mismos, por
ejemplo:
SELECT Nombre, Telefono FROM Clientes;
Esta consulta devuelve un recordset con
el campo nombre y telfono de la tabla clientes.
2.2 ORDENAR LOS REGISTROS
Adicionalmente se puede especificar el
orden en que se desean recuperar los registros de las tablas mediante la
clasula
ORDER BY Lista de Campos. En donde Lista de campos representa los
campos a ordenar.
Ejemplo:
SELECT CodigoPostal, Nombre, Telefono
FROM Clientes ORDER BY Nombre;
Esta consulta devuelve los campos CodigoPostal,
Nombre, Telefono de la tabla Clientes ordenados por el campo Nombre.
Se pueden ordenar los registros por mas
de un campo, como por ejemplo:
SELECT CodigoPostal, Nombre, Telefono
FROM Clientes ORDER BY
CodigoPostal, Nombre;
Incluso se puede especificar el orden
de los registros: ascendente mediante la clasula (ASC -se toma este
valor por defecto) descendente (DESC)
SELECT CodigoPostal, Nombre, Telefono
FROM Clientes ORDER BY
CodigoPostal DESC , Nombre ASC;
2.3 CONSULTAS CON PREDICADO
El predicado se incluye entre la clasula
y el primer nombre del campo a recuperar, los posibles predicados son:
Predicado Descripcin
ALL
Devuelve todos
los campos de la tabla
TOP
Devuelve un determinado nmero
de registros de la tabla
DISTINCT
Omite los registros cuyos
campos seleccionados coincidan totalmente
DISTINCROW
Omite los registros duplicados
basandose en la totalidad del registro y no slo en los campos
seleccionados.

ALL:
Si no se incluye ninguno
de los predicados se asume ALL.
El Motor de base de datos selecciona todos los registros que cumplen las
condiciones
de la instruccin SQL. No se conveniente abusar de este predicado ya
que obligamos al motor de la base de datos a analizar la estructura de la
tabla
para averiguar los campos que contiene, es mucho ms rpido indicar
el listado de campos deseados.
SELECT ALL FROM Empleados;
SELECT * FROM Empleados;
TOP:
Devuelve un cierto nmero de registros que entran entre al principio
o al final de un rango especificado por una clusula ORDER
BY. Supongamos que queremos recuperar los nombres de los 25
primeros estudiantes del curso 1994:
SELECT TOP 25 Nombre, Apellido FROM
Estudiantes
ORDER BY Nota DESC;
Si no se incluye la clusula ORDER
BY, la consulta devolver un conjunto arbitrario de 25
registros de la tabla Estudiantes .El predicado TOP no elige entre
valores iguales. En el ejemplo anterior, si la nota media nmero
25 y la 26 son iguales, la consulta devolver 26 registros. Se puede
utilizar la palabra reservada PERCENT para devolver un cierto
porcentaje de registros que caen al principio o al final
de un rango especificado por la clusula ORDER
BY. Supongamos que en lugar de los 25 primeros estudiantes deseamos
el 10 por ciento del curso:
SELECT TOP 10 PERCENT Nombre, Apellido
FROM Estudiantes
ORDER BY Nota DESC;
El valor que va a continuacin
de TOP debe ser un Integer sin signo.TOP no afecta a la posible
actualizacin
de la consulta.
DISTINCT:
Omite
los registros que contienen datos duplicados en los campos
seleccionados. Para
que los valores de cada campo listado en la instruccin SELECT se
incluyan en la consulta deben ser nicos.
Por ejemplo, varios empleados listados
en la tabla Empleados pueden tener el mismo apellido. Si dos registros
contienen
Lpez en el campo Apellido, la siguiente instruccin SQL devuelve
un nico registro:
SELECT DISTINCT Apellido FROM Empleados;

Con otras palabras el predicado DISTINCT devuelve aquellos registros
cuyos campos indicados en la clusula SELECT
posean un contenido diferente. El resultado de una consulta que
utiliza DISTINCT
no es actualizable y no refleja los cambios subsiguientes realizados por
otros
usuarios.
DISTINCTROW:
Devuelve los registros diferentes
de una tabla; a diferencia del predicado anterior que slo se fijaba
en el contenido de los campos seleccionados, ste lo hace en el
contenido
del registro completo independientemente de los campo indicados en la
clusulaSELECT.
SELECT DISTINCTROW Apellido FROM Empleados;
Si la tabla empleados contiene dos registros:
Antonio Lpez y Marta Lpez el ejemplo del
predicado DISTINCT devuleve un nico registro con el valor Lpez en el
campo Apellido
ya que busca no duplicados en dicho campo. Este ltimo ejemplo
devuelve
dos registros con el valor Lpez en el apellido ya que se buscan no
duplicados
en el registro completo.
2.4 ALIAS
En determinadas circunstancias es necesario
asignar un nombre a alguna columna determinada de un conjunto
devuelto, otras
veces por simple capricho o por otras circunstancias. Para resolver todas
ellas
tenemos la palabra reservada AS que se encarga de asignar el nombre
que deseamos
a la columna deseada. Tomado como referencia el ejemplo anterior
podemos hacer
que la columna devuelta por la consulta, en lugar de llamarse apellido
(igual
que el campo devuelto) se llame Empleado. En este caso procederamos
de la siguiente forma:
SELECT DISTINCTROW Apellido AS Empleado
FROM Empleados;
2.5 RECUPERAR INFORMACIN DE UNA
BASE DE DATOS EXTERNA
Para concluir este captulo se
debe hacer referencia a la recuperacin de registros de bases de datos
externa. Es ocasiones es necesario la recuperacin de informacin
que se encuentra contenida en una tabla que no se encuentra en la base
de datos
que ejecutar la consulta o que en ese momento no se encuentra
abierta,
esta situacin la podemos salvar con la palabra reservada IN de la
siguiente
forma:
SELECT DISTINCTROW Apellido AS Empleado
FROM Empleados
IN 'c:\databases\gestion.mdb';
En donde c:\databases\gestion.mdb es la
base de datos que contiene la tabla Empleados.
Siguiente captulo: Criterios
de Seleccin
AGRUPAMIENTO DE
REGISTROS
Aprenderemos a combinar los registros con valores idnticos, en la lista
de campos especificados, en un nico registro.
4. AGRUPAMIENTO DE REGISTROS
4.1 GROUP BY
Combina los registros con valores idnticos,
en la lista de campos especificados, en un nico registro. Para cada
registro se crea un valor sumario si se incluye una funcin SQL
agregada,
como por ejemplo Sum o Count, en la instruccin SELECT.
Su sintaxis es:
SELECT campos FROM tabla WHERE criterio
GROUP BY campos del grupo
GROUP BY es opcional. Los valores de resumen se omiten si no existe
una funcin SQL agregada en la instruccin SELECT. Los valores Null
en los campos GROUP BY se agrupan
y no se omiten. No obstante, los valores Null no se evalan en ninguna
de las funciones SQL
agregadas.
Se utiliza la clusula WHERE para excluir aquellas filas que no desea
agrupar, y la clusula HAVING
para filtrar los registros una vez agrupados.
A menos que contenga un dato Memo u Objeto
OLE , un campo de la lista de campos GROUP BY puede referirse a
cualquier campo de las tablas que aparecen en la clusula FROM,
incluso si el campo no
esta incluido en la instruccin SELECT,
siempre y cuando la instruccin SELECT incluya al menos una
funcin SQL
agregada.
Todos los campos de la lista de campos
de SELECT deben o bien incluirse
en la clusula GROUP BY o como argumentos de una funcin SQL
agregada.
SELECT Id_Familia, Sum(Stock) FROM
Productos GROUP BY Id_Familia;
Una vez que GROUP
BY ha combinado los registros, HAVING muestra cualquier registro
agrupado por la clusula GROUP
BY que satisfaga las condiciones de la clusula HAVING.
HAVING
es similar a WHERE, determina
qu registros se seleccionan. Una vez que los registros se han agrupado
utilizando GROUP BY, HAVING
determina cuales de ellos se van a mostrar.
SELECT Id_Familia Sum(Stock) FROM Productos
GROUP BY Id_Familia
HAVING Sum(Stock) > 100 AND NombreProducto Like BOS*;
4.2 AVG
Calcula
la media aritmtica de un conjunto de valores contenidos en un campo
especificado de una consulta. Su sintaxis es la siguiente
Avg(expr)
En donde expr representa el campo que contiene los datos numricos
para los que se
desea calcular la media o una expresin que realiza un clculo
utilizando los datos de dicho campo. La media calculada por Avg es la
media aritmtica (la suma de los valores dividido por el nmero
de valores). La funcin Avg no incluye ningn campo Null en el clculo.
SELECT Avg(Gastos) AS Promedio FROM
Pedidos WHERE Gastos > 100;
4.3 COUNT
Calcula
el nmero de registros devueltos por una consulta. Su sintaxis es la
siguiente
Count(expr)
En donde expr
contiene el nombre del campo que desea contar. Los operandos
de expr pueden incluir el nombre de un campo de una tabla, una
constante o una funcin
(la cual puede ser intrnseca o definida por el usuario pero no otras
de las funciones agregadas de SQL).
Puede contar cualquier tipo de datos incluso texto.
Aunque expr
puede realizar un clculo sobre un campo, Count simplemente cuenta el
nmero de registros sin tener en cuenta qu
valores se almacenan en los registros. La funcin Count
no cuenta los registros que tienen campos null a menos que expr sea el
carcter comodn asterisco (*).
Si utiliza un asterisco, Count calcula el nmero total de registros,
incluyendo aquellos que contienen
campos null. Count(*) es considerablemente
ms rpida que Count(Campo).
No se debe poner el asterisco entre dobles comillas (*).
SELECT Count(*) AS Total FROM Pedidos;
Si expr
identifica a mltiples campos, la funcin Count cuenta un registro slo
si al menos uno de los campos no es Null.
Si todos los campos especificados son Null,
no se cuenta el registro. Hay que separar los nombres de los campos
con ampersand (&).
SELECT Count(FechaEnvo & Transporte) AS Total FROM Pedidos;
4.4 MAX, MIN
Devuelven
el mnimo o el mximo de un conjunto de valores contenidos en
un campo especifico de una consulta. Su sintaxis es:
Min(expr)
Max(expr)
En donde expr es el campo sobre el que se desea realizar el
clculo. Expr pueden incluir el nombre de un campo de una tabla, una
constante o una funcin
(la cual puede ser intrnseca o definida por el usuario pero no otras
de las funciones agregadas de SQL).
SELECT Min(Gastos) AS ElMin FROM Pedidos
WHERE Pais = 'Espaa';
SELECT Max(Gastos) AS ElMax FROM Pedidos WHERE Pais =
'Espaa';
4.5 STDEV, STDEVP
Devuelve
estimaciones de la desviacin estndar para la poblacin
(el total de los registros de la tabla) o una muestra de la poblacin
representada (muestra aleatoria) . Su sintaxis es:
StDev(expr)
StDevP(expr)
En donde
expr representa el nombre del campo que contiene los datos que
desean evaluarse o una expresin que realiza un clculo utilizando
los datos de dichos campos. Los operandos de expr pueden incluir el
nombre de un campo de una tabla, una constante o una funcin
(la cual puede ser intrnseca o definida por el usuario pero no otras
de las funciones agregadas de SQL)
StDevP evala una poblacin, y StDev evala
una muestra de la poblacin. Si la consulta contiene menos de dos
registros
(o ningn registro para StDevP),
estas funciones devuelven un valor Null (el
cual indica que la desviacin estndar no puede calcularse).
SELECT StDev(Gastos) AS Desviacion
FROM Pedidos WHERE Pais = 'Espaa';
SELECT StDevP(Gastos) AS Desviacion FROM Pedidos WHERE Pais=
'Espaa';
4.6 SUM
Devuelve
la suma del conjunto de valores contenido en un campo especifico de
una consulta.
Su sintaxis es:
SumP(expr)
En donde expr representa el nombre del campo que contiene los datos
que desean sumarse o una
expresin que realiza un clculo utilizando los datos de dichos
campos. Los operandos de expr pueden incluir el nombre de un campo
de una tabla, una constante o una funcin
(la cual puede ser intrnseca o definida por el usuario pero no otras
de las funciones agregadas de SQL).
SELECT Sum(PrecioUnidad * Cantidad)
AS Total FROM DetallePedido;
4.7 VAR, VARP
Devuelve una estimacin de la
varianza de una poblacin (sobre el total de los registros) o una muestra
de la poblacin (muestra aleatoria de registros) sobre los valores de
un campo. Su sintaxis es:
Var(expr)
VarP(expr)
VarP evala una poblacin, y Var evala una muestra de la
poblacin. Expr el nombre del campo que
contiene los datos que desean evaluarse o una expresin que realiza un
clculo utilizando los datos de dichos campos. Los operandos de expr
pueden incluir el nombre de un campo de una tabla, una constante o
una funcin
(la cual puede ser intrnseca o definida por el usuario pero no otras
de las funciones agregadas de SQL)
Si la consulta contiene menos de dos registros,
Var y VarP
devuelven Null (esto indica que
la varianza no puede calcularse). Puede utilizar Var
y VarP en una expresin
de consulta o en una Instruccin SQL.
SELECT Var(Gastos) AS Varianza FROM
Pedidos WHERE Pais = 'Espaa';
SELECT VarP(Gastos) AS Varianza FROM Pedidos WHERE Pais =
'Espaa';
CONSULTAS DE
ACTUALIZACIN
Las consultas de accin son aquellas que no devuelven ningn registro,
son las encargadas de acciones como aadir y borrar y modificar
registros.
5. CONSULTAS DE ACTUALIZACIN
Las consultas de actualizacin son aquellas que no devuelven ningn
registro,
son las encargadas de acciones como aadir y borrar y modificar
registros.
5.1 DELETE
Crea una consulta de eliminacin
que elimina los registros de una o ms de las tablas listadas en la
clusula FROMque satisfagan la clusula WHERE. Esta consulta elimina
los registros completos, no es posible eliminar el contenido de algn
campo en concreto. Su sintaxis es:
DELETE Tabla.* FROM Tabla WHERE criterio
DELETE es especialmente til cuando se desea eliminar varios registros.
En una
instruccin DELETE con
mltiples tablas, debe incluir el nombre de tabla (Tabla.*). Si especifica
ms de una tabla desde la que eliminar registros, todas deben ser tablas
de muchos a uno. Si desea eliminar todos los registros de una tabla,
eliminar
la propia tabla es ms eficiente que ejecutar una consulta de borrado.
Se puede utilizar DELETE
para eliminar registros de una nica tabla o desde varios
lados de una relacin uno a muchos. Las operaciones de eliminacin
en cascada en una consulta nicamente eliminan desde varios lados de
una relacin. Por ejemplo, en la relacin entre las tablas Clientes
y Pedidos, la tabla Pedidos es la parte de muchos por lo que las
operaciones
en cascada solo afectaran a la tabla Pedidos. Una consulta de borrado
elimina
los registros completos, no nicamente los datos en campos especficos.
Si desea eliminar valores en un campo especificado, crear una consulta
de actualizacin
que cambie los valores a Null.
Una vez que se han eliminado los registros
utilizando una consulta de borrado, no puede deshacer la operacin. Si
desea saber qu registros se eliminarn, primero examine los resultados
de una consulta de seleccin que utilice el mismo criterio y despus
ejecute la consulta de borrado. Mantenga copias de seguridad de sus
datos en
todo momento. Si elimina los registros equivocados podr recuperarlos
desde las copias de seguridad.
DELETE * FROM Empleados WHERE Cargo
= 'Vendedor';
5.2 INSERT INTO
Agrega un registro en una tabla. Se la
conoce como una consulta de datos aadidos. Esta consulta puede ser
de
dos tipos: Insertar un nico registro Insertar en una tabla
los registros contenidos en otra tabla.
5.2.1
PARA INSERTAR UN NICO REGISTRO:
En este caso la sintaxis es la siguiente:
INSERT INTO Tabla (campo1, campo2, ..,
campoN)
VALUES (valor1, valor2, ..., valorN)
Esta consulta graba en el campo1 el valor1,
en el campo2 y valor2 y as sucesivamente. Hay que prestar especial
atencin
a acotar entre comillas simples () los valores literales (cadenas de
caracteres)
y las fechas indicarlas en formato mm-dd-aa y entre caracteres de
almohadillas
(#).
5.2.2
PARA INSERTAR REGISTROS DE OTRA TABLA:
En este caso la sintaxis es:
INSERT INTO Tabla [IN base_externa]
(campo1, campo2, ..., campoN)
SELECT TablaOrigen.campo1, TablaOrigen.campo2, ...,
TablaOrigen.campoN
FROM TablaOrigen
En este caso se seleccionarn los
campos 1,2, , n de la tabla origen y se grabarn en los campos 1,2,..,
n de la Tabla. La condicin SELECT puede incluir la clusula WHERE
para filtrar los registros a copiar. Si Tabla y TablaOrigen poseen la
misma
estructura podemos simplificar la sintaxis a:
INSERT INTO Tabla SELECT TablaOrigen.*
FROM TablaOrigen
De esta forma los campos de TablaOrigen se grabarn en Tabla, para
realizar esta operacin es necesario que todos los campos
de TablaOrigen estn contenidos con igual nombre en Tabla.
Con otras palabras que Tabla posea
todos los campos de TablaOrigen
(igual nombre e igual tipo).
En este tipo de consulta hay que tener
especial atencin con los campos contadores o autonumricos puesto
que al insertar un valor en un campo de este tipo se escribe el valor que
contenga
su campo homlogo en la tabla origen, no incrementndose como
le corresponde.
Se puede utilizar la instruccin INSERT INTO para agregar un registro
nico a una tabla, utilizando la sintaxis de la consulta de adicin
de registro nico tal y como se mostr anteriormente. En este
caso, su cdigo especfica el nombre y el valor de cada campo
del registro. Debe especificar cada uno de los campos del registro al que
se
le va a asignar un valor as como el valor para dicho campo. Cuando no
se especifica dicho campo, se inserta el valor predeterminado o Null.
Los registros se agregan al final de la tabla.
Tambin se puede utilizar INSERT
INTO para agregar un conjunto de registros pertenecientes a
otra tabla o consulta utilizando la clusula SELECT
FROM como se mostr anteriormente en la sintaxis
de la consulta de adicin de mltiples registros. En este caso
la clusula SELECT especifica
los campos que se van a agregar en la tabla destino especificada.
La
tabla destino u origen puede especificar una tabla o una consulta.
Si la tabla destino contiene una clave
principal, hay que asegurarse que es nica, y con valores no-Null ; si
no es as, no se agregarn los registros. Si se agregan registros
a una tabla con un campo Contador, no se debe incluir el campo
Contador en la
consulta. Se puede emplear la clusula IN
para agregar registros a una tabla en otra base de datos.
Se pueden averiguar los registros que
se agregarn en la consulta ejecutando primero una consulta de
seleccin
que utilice el mismo criterio de seleccin y ver el resultado. Una consulta
de adicin copia los registros de una o ms tablas en otra. Las
tablas que contienen los registros que se van a agregar no se vern
afectadas
por la consulta de adicin. En lugar de agregar registros existentes
en otra tabla, se puede especificar los valores de cada campo en un
nuevo registro
utilizando la clusula VALUES.
Si se omite la lista de campos, la clusula
VALUES debe incluir un valor para cada campo de la tabla, de
otra forma fallar INSERT.
INSERT INTO Clientes SELECT Clientes_Viejos.*
FROM Clientes_Nuevos;
INSERT INTO Empleados (Nombre, Apellido, Cargo)
VALUES ('Luis', 'Snchez', 'Becario');

INSERT INTO Empleados SELECT Vendedores.* FROM Vendedores
WHERE Fecha_Contratacion < Now() - 30;
5.3 UPDATE
Crea una consulta de actualizacin
que cambia los valores de los campos de una tabla especificada
basndose
en un criterio especfico. Su sintaxis es:
UPDATE Tabla SET Campo1=Valor1, Campo2=Valor2,
... CampoN=ValorN
WHERE Criterio;
UPDATE es especialmente til cuando se desea cambiar un gran
nmero de
registros o cuando stos se encuentran en mltiples tablas. Puede
cambiar varios campos a la vez. El ejemplo siguiente incrementa los
valoresCantidad pedidos en un 10 por
ciento y los valores Transporte
en un 3 por ciento para aquellos que se hayan enviado al Reino
Unido.:
UPDATE Pedidos SET Pedido = Pedidos
* 1.1, Transporte = Transporte * 1.03
WHERE PaisEnvo = 'ES';
UPDATE no genera ningn resultado. Para saber qu registros se van a
cambiar, hay que examinar primero el resultado de una consulta de
seleccin
que utilice el mismo criterio y despus ejecutar la consulta de
actualizacin.
UPDATE Empleados SET Grado = 5 WHERE
Grado = 2;
UPDATE Productos SET Precio = Precio * 1.1 WHERE Proveedor =
8 AND Familia
= 3;
Si en una consulta de actualizacin
suprimimos la clusula WHERE todos
los registros de la tabla sealada sern actualizados.
UPDATE Empleados SET Salario = Salario
* 1.1
TIPOS DE
DATOS
Los tipos de datos SQL se clasifican en 13 tipos de datos primarios y de
varios sinnimos vlidos reconocidos por dichos tipos de datos.
6. TIPOS DE DATOS
Los tipos de datos SQL se clasifican en 13 tipos de datos
primarios y de varios sinnimos vlidos reconocidos por dichos
tipos de datos.
Tipos de datos primarios:
Tipo
de Datos Longitud Descripcin
BINARY 1 byte
Para consultas sobre tabla adjunta de productos
de bases de datos que definen un tipo de datos Binario.
BIT 1 byte Valores Si/No True/False
BYTE 1 byte Un valor entero entre 0 y 255.
COUNTER 4 bytes
Un nmero incrementado automticamente
(de tipo Long)
CURRENCY 8 bytes
Un entero escalable entre 922.337.203.685.477,5808
y 922.337.203.685.477,5807.
DATETIME 8 bytes
Un valor de fecha u hora entre los aos
100 y 9999.
SINGLE 4 bytes
Un valor en punto flotante de precisin
simple con un rango de -3.402823*10
38
a -1.401298*10
-45

para valores negativos, 1.401298*10
-45
a 3.402823*10
38

para valores positivos, y 0.
DOUBLE 8 bytes
Un valor en punto flotante de doble precisin
con un rango de -1.79769313486232*10
308
a -4.94065645841247*10
-324

para valores negativos, 4.94065645841247*10
-324
a
1.79769313486232*10
308

para valores positivos, y 0.
SHORT 2 bytes Un entero corto entre -32,768 y 32,767.
LONG 4 bytes Un entero largo entre -2,147,483,648 y 2,147,483,647.
LONGTEXT
1 byte por
carcter De cero a un mximo de 1.2 gigabytes.
LONGBYNARY Segn se necesite
De cero 1 gigabyte. Utilizado para objetos
OLE.
TEXT
1 byte por
caracter De cero a 255 caracteres.

Potrebbero piacerti anche