Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Definicin de Columnas
Una lista separada por comas que consiste en cualquiera de los siguientes incisos:
[nombre columna] [tipo de dato] {NULL | NOT NULL} {opciones de columna}
La clusula CONSTRAINT
Se utiliza la clusula CONSTRAINT en las instrucciones ALTER TABLE y CREATE TABLE para crear o eliminar ndices. Existen dos sintaxis para esta clusula dependiendo si se desea Crear Eliminar un ndice de un nico campo o si se trata de un campo multindice.
{CONSTRAINT} [definicin del constraint]
Estructura General1
CREATE TABLE tabla ( campo1 tipo (tamao) ndice1, campo2 tipo (tamao) ndice2,..., ndice multicampo,... ); CONSTRAINT nombre { PRIMARY KEY (primario1 [, primario2 [,...]]) | UNIQUE (nico1 [, nico2 [,...]]) | FOREIGN KEY (ref1 [, ref2 [,...]]) REFERENCES tabla externa [(campo externo1 [, campo externo2 [,...]])] }
En donde: Parte
tabla campo1 campo2 tipo tamao ndice1 ndice2 ndice multicampos nombre primarioN nicoN refN tabla externa campos externos UNIQUE PRIMARY KEY FOREIGN KEY
Descripcin
Es el nombre de la tabla que se va a crear. Es el nombre del campo o de los campos que se van a crear en la nueva tabla. La nueva tabla debe contener, al menos, un campo. Es el tipo de datos de campo en la nueva tabla. (Ver Tipos de Datos) Es el tamao del campo slo se aplica para campos de tipo texto. Es una clusula CONSTRAINT que define el tipo de ndice a crear. Esta clusula en opcional. Es una clusula CONSTRAINT que define el tipo de ndice multicampos a crear. Un ndice multi campo es aquel que est indexado por el contenido de varios campos. Esta clusula en opcional. Es el nombre del ndice que se va a crear. Es el nombre del campo o de los campos que forman el ndice primario. Es el nombre del campo o de los campos que forman el ndice de clave nica. Es el nombre del campo o de los campos que forman el ndice externo (hacen referencia a campos de otra tabla). Es el nombre de la tabla que contiene el campo o los campos referenciados en refN Es el nombre del campo o de los campos de la tabla externa especificados por ref1, ref2, ..., refN Genera un ndice de clave nica. Lo que implica que los registros de la tabla no pueden contener el mismo valor en los campos indexados. Genera un ndice primario el campo o los campos especificados. Todos los campos de la clave principal deben ser nicos y no nulos, cada tabla slo puede contener una nica clave principal. Genera un ndice externo (toma como valor del ndice campos contenidos en otras tablas). Si la clave principal de la tabla externa consta de ms de un campo, se debe utilizar una definicin de ndice de mltiples campos, listando todos los campos de referencia, el nombre de la tabla externa, y los nombres de los campos referenciados en la tabla externa en el mismo orden que los campos de referencia listados. Si los campos referenciados son la clave principal de la tabla externa, no tiene que especificar los campos referenciados, predeterminado por valor, el motor Jet se comporta como si la clave principal de la tabla externa fueran los campos referenciados.
Ejemplo:
Crear una tabla llama Empleado (recordar que el nombre de la tabla debe de ir en la forma singular), con los campos: Cdigo _emp 5 alfanumrico llave principal Nombre 50 alfanumrico Apellido 75 alfanumrico Fecha_nac fecha
CREATE TABLE empleado ( Cdigo_emp INTEGER PRIMARY KEY, Nombre CHAR (50) null, Apellido CHAR (75) not null, Fecha_nac DATE null );
B. DROP
Se utiliza para destruir un objeto existente. Tal es el caso de una base de datos, una tabla, ndices o una vista. Este comando se utiliza para eliminar objetos de nuestra base de datos. Se suele utilizar la palabra DROP, a continuacin el tipo del objeto que se desea eliminar (por ejemplo, Table) y por ltimo, el nombre de dicho objeto (Empleado).
DROP tipo_objeto nombre_objeto;
Como ejemplo, el comando para borrar la tabla recien creada^^ llamada Empleado es el siguiente:
DROP TABLE Empleado;
Si se borra una tabla, se borran, a su vez, los ndices a ella asociados, vistas, vistas creadas a partir de dichas vistas, etc. Si se borra una tabla a la que otras hacen referencia en claves externas habr que incluir la clusula CASCADE CONSTRAINT
Otros Ejemplos:
DROP VIEW Informe_Clientes_vw; DROP INDEX pk_Codigo_Cliente;
La sentencia DROP es distinta de la sentencia DELETE. Por ejemplo, la sentencia DELETE puede borrar un poco (o toda) de informacin de una tabla, mientras que la sentencia DROP remueve toda la tabla de la base de datos.
C. ALTER
Utilizado para modificar un objeto existente en la base de datos.
ALTER tipo_objeto nombre_objeto parmetros.
En donde: Parte
tabla campo tipo tamao ndice ndice multicampo
Descripcin
Es el nombre de la tabla que se desea modificar. Es el nombre del campo que se va a aadir o eliminar. Es el tipo de campo que se va a aadir. El tamao del campo que se va a aadir (slo para campos de texto). Es el nombre del ndice del campo (cuando se crean campos) o el nombre del ndice de la tabla que se desea eliminar. Es el nombre del ndice del campo multicampo (cuando se crean campos) o el nombre del ndice de la tabla que se desea eliminar.
Ejemplos:
1. Agrega un campo Salario de tipo Moneda a la tabla Empleado.
ALTER TABLE Empleado ADD COLUMN Salario CURRENCY;
3. Agrega un ndice externo a la tabla Pedido. El ndice externo se basa en el campo Cdigo_emp y se refiere al campo Cdigo_emp de la tabla Empleado. En este ejemplo no es necesario indicar el campo junto al nombre de la tabla en la clusula REFERENCES, pues Cdigo_emp es la clave principal de la tabla Empleado.
ALTER TABLE Pedido ADD CONSTRAINT RelacionPedido FOREIGN KEY (Cdigo_emp) REFERENCES Empleados (Cdigo_emp);
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 estrucutra 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.
Ejemplo:
A la tabla Empleado, ingresar el siguiente registro: Cdigo _emp f0500 Nombre Juan Apellido Prez Fecha_nac 1986/05/19
INSERT INTO Empleado VALUES (f0500, Juan, Prez, 1986/05/19);
B. SELECT2
El comando SELECT es el ms utilizado en los comandos de SQL. Permite a los usuarios de la base de datos retirar informacin especfica que ellos desean de una base de datos operacional. El comando mostrado abajo, retira toda la informacin contenida en la tabla de "Empleado". Note que el asterisco es utilizado como un comodn en SQL. Esto literalmente significa "Seleccione todo lo que se encuentra en la tabla de Empleado".
SELECT * FROM Empleado
Como alternativa, los usuarios podran desear limitar los atributos a ser retirados de la base de datos. Por ejemplo, El departamento de recursos humanos requiere una lista de los apellidos de todos los empleados de la compa.
SELECT Apellido FROM Empleado
Finalmente, la clausula WHERE puede ser utilizada para limitar los registros que sern retirados hacia aquellos que cumplen un criterio especifico. Por ejemplo el Gerente General podra estar interesado en revisar los registros de personal de los empleados con paga alta. El siguiente comando retira toda la informacin contenida en la tabla de "Empleado" para los registros que tienen un salario mayor a $12,000 (suponiendo que exista el campo Slario).
SELECT * FROM Empleado WHERE Salario > $12000
Solo muestro lo bsico del uso de esta clusula, ya que hay un sin fin de formas de utilizarla, con la combinacin de los dems comandos (operadores lgicos y de comparacin, funciones de agregado y consultas con predicado (ALL TOP, DISTINT CT, DISTIN CTROW, etc.), etc.), solo depende de la creatividad de cada quien (>.<)
C. UPDATE
Crea una consulta de actualizacin que cambia los valores de los campos de una tabla especificada basndose en un criterio especfico.
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.
Ejemplo:
Incrementa los valores Cantidad 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
D. DELETE
Utilizado para eliminar datos dentro de una tabla. Desafortunadamente, los ltimos ingresos de la corporacin reportan disminucin en el desempeo, esto ha causado que Juan Perez sea despedido. El comando DELETE con la clausula WHERE puede ser utilizado para eliminar su registro de la tabla de Empleado
DELETE FROM personal WHERE Cdigo_emp = f5012