Guia N°5 Transact-Sql
-
Upload
gustavobonillao -
Category
Documents
-
view
51 -
download
0
Transcript of Guia N°5 Transact-Sql
Sistema de
Gestión de la Calidad
Regional Distrito Capital Centro De Gestión de Mercados, Logística y Tecnologías de la
Información FORMACIÓN POR COMPETENCIAS LABORALES
PROGRAMACIÓN DE SOFTWARE
EJE DE FORMACIÓN: BASE DE DATOS
Fecha: Mayo de 2010 Código: Página 1 de 17
Regional Distrito Capital
Sistema de Gestión de la Calidad
EJE DE FORMACIÓN: BASE DE DATOS
SU NOMBRE Y APELLIDO
FORMACIÓN POR COMPETENCIAS LABORALES Centro Gestión De Mercados, Logística y Tecnologías de la Información
SERVICIO NACIONAL DE APRENDIZAJE - SENA
Bogotá D. C., Fecha
Sistema de
Gestión de la Calidad
Regional Distrito Capital Centro De Gestión de Mercados, Logística y Tecnologías de la
Información FORMACIÓN POR COMPETENCIAS LABORALES
PROGRAMACIÓN DE SOFTWARE
EJE DE FORMACIÓN: BASE DE DATOS
Fecha: Mayo de 2010 Código: Página 2 de 17
Resultados de Aprendizaje:
220501032 04 Interpretar el diagrama relacional para identificar el modelo de datos. Interpretar un Modelo Relacional de acuerdo con un diseño definido según el proyecto de formación De Desempeño:
Se interesa por el tema participando activamente y a consciencia.
Investiga y apropia el lenguaje Transact Sql.
Permite el trabajo colaborativo contribuyendo, en lo pertinente, si sus compañeros lo requieren.
De Producto:
Entrega la evidencia resultante de la investigación, siguiendo los parámetros establecidos por el instructor.
De Conocimiento:
Responde claramente y sin confusiones, a preguntas sobre los conceptos de la terminología propia para bases de datos.
Analiza y representa correctamente la fase Física del diseño de base de datos.
Evidencia de aprendizaje a entregar:
1. Realice la lectura del presente documento acerca de los comandos DDL y DML de Transact-Sql y apóyese de los documentos de consultas que acompañan esta guía de aprendizaje.
2. Instale la base de datos AdventureWorksDB y agréguela a SQL server por medio del Administrador de MS SQL server Express.
3. Realice los siguientes ejercicios propuestos utilizando el Editor de Consultas del motor Sql
server y pegue cada sentencia debajo de cada enunciado junto con el pantallazo de la consulta.
/* Funciones de agrupamiento de Registros*/
Calcular el promedio de horas de vacaciones listardo en una columna que se llame promedio vacaciones y la suma de horas de baja por enfermedad listadas en una columna llamada Total horas incapacidad que han utilizado los vicepresidentes de la tabla HumanResources.Employee.
SELECT AVG(VacationHours)as 'promedio de vacaciones',
SUM(SickLeaveHours) as 'Total horas incapacidad'
FROM HumanResources.Employee
WHERE Title LIKE 'Vice President%'
Sistema de
Gestión de la Calidad
Regional Distrito Capital Centro De Gestión de Mercados, Logística y Tecnologías de la
Información FORMACIÓN POR COMPETENCIAS LABORALES
PROGRAMACIÓN DE SOFTWARE
EJE DE FORMACIÓN: BASE DE DATOS
Fecha: Mayo de 2010 Código: Página 3 de 17
Listar el precio de venta promedio de los productos que estan en la tabla Production.Product.
Seleccionar la cantidad de cargos (title) diferentes que puede tener un empleado que trabaja en Adventure Works de la tabla HumanResources.Employee.
Seleccione el número total de empleados que trabajan en Adventure Works Cycles.
Seleccione la cantidad de Vendedores y el promedio de prima(bonus) de todas los vendedores cuya cuota de venta sea superior de 25000
seleccione el color, el cálculo de la suma de la lista de precios y el calculo de precio estándar de los productos que estan en la tabla Production.Product y agrupelos y ordenelos por color.
seleccione la tasa de impuestos más baja (mínima) que esta en la tabla Sales.SalesTaxRate.
seleccione la lista de precios mas alta (maxima ) que esta en la tabla Production.Product
/* Operadores de Comparacion*/
seleccione el numero de contacto, nombre y apellidos de todos los contactos que están entre el numero de contacto 1 y 4
select ContactID,FirstName,LastName
from Person.Contact
where ContactID between 1 and 4
seleccione todos los contactos cuyo nombre comienza por la letra C
Sistema de
Gestión de la Calidad
Regional Distrito Capital Centro De Gestión de Mercados, Logística y Tecnologías de la
Información FORMACIÓN POR COMPETENCIAS LABORALES
PROGRAMACIÓN DE SOFTWARE
EJE DE FORMACIÓN: BASE DE DATOS
Fecha: Mayo de 2010 Código: Página 4 de 17
select ContactID,FirstName,LastName
from Person.Contact
where FirstName Like 'C%'
seleccione el codigo del producto, nombre de producto y costo estandar de todos los productos que comiencen por A ó F
seleccione el codigo del producto, nombre de producto y costo estandar de todos los productos que comiencen por cualquier letra comprendida entre la M y la S
seleccione el codigo del producto, nombre de producto y costo estandar de todos los productos que comiencen por A y la segunda letra no sea una B
Seleccione todos los números de teléfono de la tabla Contact cuyo código de área comience por 415 y ordenelos por Apellido.
seleccione todos los números de teléfono de la tabla Contact cuyos códigos de área no sean 415 y su nombre sea igual a Gail y orden de forma ascendente por apellido.
buscar todos los contactos en la tabla Contacts cuyo nombre comience por sea Cheryl o Sheryl.
seleccione el codigo y nombre de los productos que se encuentran en la tabla Productos donde ProductID menor o igual 12
seleccione el codigo y nombre de los productos que se encuentran en la tabla Productos donde ProductID igual 2 o a 4 o su tenga por nombre de producto Spokes
seleccione el codigo, color y nombre de los productos que se encuentran en la tabla Productos donde su nombre contenga la palabra Frame y comience por HL y su color sea rojo.
SELECT ProductID, Name, Color
FROM Production.Product
WHERE Name LIKE ('%Frame%')
AND Name LIKE ('HL%')
seleccione el codigo , color y nombre de los productos que se encuentran en la tabla Productos donde el nombre sea Blade, Crown y Spokes
seleccione el codigo, color y nombre de los productos que se encuentran en la tabla Productos donde el codigo del producto este entre 725 y 734
/* Manipulacion de Datos*/
Como en estos ejercicios vamos a modificar los valores almacenados en la base de datos, es conveniente guardar antes una copia de las tablas, en los cuatro primeros ejercicios crearemos una copia de los datos almacenados para luego poder recuperar los valores originales.
Sistema de
Gestión de la Calidad
Regional Distrito Capital Centro De Gestión de Mercados, Logística y Tecnologías de la
Información FORMACIÓN POR COMPETENCIAS LABORALES
PROGRAMACIÓN DE SOFTWARE
EJE DE FORMACIÓN: BASE DE DATOS
Fecha: Mayo de 2010 Código: Página 5 de 17
Crear una tabla (llamarla NuevaEmpleados) que contenga las filas de la tabla HumanResources.Employee.
select *
into nuevaempleados
from HumanResources.Employee
Crear una tabla (llamarla NuevaDepartamentos) que contenga las filas de la tabla oficinas.
select *
into NuevaDepartamentos
from Department
Crear una tabla (llamarla nuevaproductos) que contenga las filas de la tabla productos.
Crear una tabla (llamarla nuevaVentas) que contenga las filas de la tabla Sales.SalesOrderDetail.
Actualice el costo estandar de todos los productos que sus codigos esten entre 1 y 4
Realice primero una selección de los datos y luego cree la sentencia de actualización para que observe los cambios.
Select ProductID , Name ,StandardCost
from Production.Product
where ProductID between 1 and 4
update Production.Product
set StandardCost = 1200
where ProductID between 1 and 4
Select ProductID , Name ,StandardCost
from Production.Product
where ProductID between 1 and 4
Obtener una lista de todos los productos indicando para cada uno su código, nombre descripción, precio y precio con I.V.A. incluido (es el precio anterior aumentado en un 16%).
Select ProductID as 'Numero del producto' , Name as 'Nombre
Producto',StandardCost as 'Costo Estandar',(StandardCost*0.16)+StandardCost
as 'Valor Iva'
from Production.Product
Elimine todos los empleados cuyo titulo es Production Technician - WC50 de la tabla NuevaEmpleados
Sistema de
Gestión de la Calidad
Regional Distrito Capital Centro De Gestión de Mercados, Logística y Tecnologías de la
Información FORMACIÓN POR COMPETENCIAS LABORALES
PROGRAMACIÓN DE SOFTWARE
EJE DE FORMACIÓN: BASE DE DATOS
Fecha: Mayo de 2010 Código: Página 6 de 17
delete from nuevaempleados
where Title
Elimine los productos cuyo color sea blanco de la tabla NuevaProductos
Actualice la cantidad ordenada a 10 de los productos vendidos en la tabla NuevaVentas cuyo cantidad Ordenada sea igual a 1 y el numero de Orden de ventas sea 43659
Actualice el tamaño de los productos a XS cuyo ReorderPoint este entre 273 y 280
4. Utilizando el enunciado del miniproyecto correspondiente y su proyecto de Grado que ya
deben estar en la fase de diseño físico en MS SQL SERVER 2005 Realice los ejercicios correspondientes utilizando los comandos de DML aprendidos.
Inserte valores coherentes en cada uno de las tablas de ambos proyectos
Actualice, Seleccione y Borre datos de cada tabla.
Prerrequisitos
Utiliza adecuadamente los recursos del aula.
Organiza el tiempo para establecer los puntos de investigación.
Entiende los parámetros requeridos para la entrega de la evidencia.
Forma de entrega El desarrollo de esta guía tiene un tiempo máximo de 6 horas clase, elabore un nuevo documento con cada uno de los puntos que están en la parte de Evidencia de aprendizaje a entregar. Recuerden que el documento debe contener la portada del Sena con su nombre completo y el grupo y jornada que pertenece y demás datos. Tenga en cuenta las normas Icontec. Envié la evidencia al correo del instructor, según las indicaciones del mismo.
Fecha Limite de envió: Domingo 16 de Mayo de 2010
Orientación de las estrategias para desarrollar las actividades de enseñanza aprendizaje evaluación : (acompañamiento al aprendiz/ trabajo autónomo) Investigue Organice su tiempo para lograr la investigación y la estructuración del informe requerido.
Evaluación del aprendizaje: El instructor induce el aprendizaje mediante la socialización y análisis del tema. El aprendiz atiende, consulta según su análisis y participa activamente en el transcurso del
Sistema de
Gestión de la Calidad
Regional Distrito Capital Centro De Gestión de Mercados, Logística y Tecnologías de la
Información FORMACIÓN POR COMPETENCIAS LABORALES
PROGRAMACIÓN DE SOFTWARE
EJE DE FORMACIÓN: BASE DE DATOS
Fecha: Mayo de 2010 Código: Página 7 de 17
desarrollo de la actividad de Enseñanza Aprendizaje Evaluación. Se evalúa la presentación, la pertinencia en el desarrollo del tema, la eficacia en la entrega y la adecuada utilización de los recursos del aula. El aprendiz presenta evaluación escrita según la fecha y hora acordada.
El lenguaje Transact-SQL
El principal objetivo de una base de datos de Microsoft® SQL Server™ 2005 es almacenar datos y, posteriormente, poner esos datos a disposición de las aplicaciones y usuarios autorizados. Mientras que los administradores de base de datos crean y mantienen las bases de datos, los usuarios trabajan con el contenido de las mismas al:
Tener acceso o recuperar los datos existentes.
Cambiar o actualizar los datos existentes.
Agregar o insertar nuevos datos.
Eliminar los datos existentes.
El acceso y modificación de datos en Microsoft SQL Server se realiza mediante la utilización de una aplicación o herramienta para enviar peticiones de recuperación y modificación de datos a SQL Server. Por ejemplo, puede conectarse a SQL Server con el Administrador corporativo de SQL Server, el Analizador de consultas SQL o la herramienta osql para empezar a trabajar con los datos de SQL Server. Se necesita entonces de un lenguaje que permita, además de crear objetos de datos, realizar consultas a la información almacenada. En los gestores relacionales el lenguaje más comúnmente empleado es el SQL, estandarizado por ANSI (American Nacional Standard Institute). SQL Server 2005 utiliza un dialecto de SQL denominado Transact-SQL. Consultas El término que se utiliza con más frecuencia es la palabra consulta (Query). Esta palabra hace referencia a cualquier expresión en los dialectos SQL que defina una operación a realizar con los datos del SMBD. Una consulta está compuesta por los siguientes elementos:
Una acción o verbo: determina la operación a realizar. Ej: SELECT, INSERT o UPDATE Un objeto: Usualmente será una combinación de campos de las tablas de la base de datos Una cláusula: determina sobre qué objetos actúa el verbo, como por ejemplo FROM
nombretabla, WHERE criterio de campo Las peticiones de datos se expresan en SQL mediante sentencias. Estas sentencias podrán ser escritas por usuarios finales directamente en la pantalla en un terminal interactivo o incluidas en programas escritos en otros lenguajes de programación. Las tareas que pueden efectuarse con este lenguaje se pueden clasificar en las siguientes, al tiempo subconjuntos del propio lenguaje:
Definición de Datos (Data Definition Lenguaje, DDL) Manipulación de Datos (Data Manipulation Lenguaje, DML)
Sistema de
Gestión de la Calidad
Regional Distrito Capital Centro De Gestión de Mercados, Logística y Tecnologías de la
Información FORMACIÓN POR COMPETENCIAS LABORALES
PROGRAMACIÓN DE SOFTWARE
EJE DE FORMACIÓN: BASE DE DATOS
Fecha: Mayo de 2010 Código: Página 8 de 17
Control de Datos (Data Control Lenguaje, DCL) Procesado de Transacciones (Transaction Processing Lenguaje, TPL) Control de cursores (Cursor Control Lenguaje, CCL)
DDL(Data Definition Language), es el encargado de la definición de Bases de Datos, tablas, vistas
e índices entre otros.
El lenguaje de definición de datos le va a permitir llevar a cabo las siguientes acciones:
Creación de tablas, índices y vistas.
Modificación de las estructura de tablas, índices y vistas.
Supresión de tablas, índices y vistas.
Son comandos propios de este lenguaje:
COMANDOS DESCRIPCIÓN
CREATE DATABASE Crea una nueva base de datos y el archivo usado para almacenarla.
CREATE TABLE Crea una nueva tabla.
ALTER TABLE Modifica la definición de una tabla alterando, agregando o eliminando columnas y restricciones.
CREATE INDEX Crea un índice en una tabla determinada.
DROP INDEX Quita uno o varios índices de la base de datos actual.
DROP TABLE Quita la definición de una tabla y todos sus datos, índices y restricciones.
CREATE VIEW Crea una vista de una instrucción archivada de SQL no contiene datos. Se puede formar a partir de tablas, pero también de otras vistas.
Palabras Clave
Las palabras clave son identificadoras con un significado especial para SQL, por lo que no pueden ser
utilizadas para otro propósito distinto al que han sido pensadas.
SQL dispone de muy pocas órdenes, pero de multiples pálabras clave, lo que le convierten en un
lenguaje sencillo pero tremendamente potente para llevar a cabo su función.
Palabras Clave
ALL AND ANY ASC
AVG BEGIN BY CHAR
CHECK CLOSE COUNT COMMIT
CREATE CURSOR DECIMAL DECLARE
DELETE DESC DISTINCT DEFAULT
EXISTS FETCH FLOAT FOR
FROM GRANT GROUP HAVING
IN INDEX INSERT INTEGER
INTO LIKE MAX MIN
NOT NUMERIC ON OPEN
Sistema de
Gestión de la Calidad
Regional Distrito Capital Centro De Gestión de Mercados, Logística y Tecnologías de la
Información FORMACIÓN POR COMPETENCIAS LABORALES
PROGRAMACIÓN DE SOFTWARE
EJE DE FORMACIÓN: BASE DE DATOS
Fecha: Mayo de 2010 Código: Página 9 de 17
OR ORDER REVOKE ROLLBACK
SELECT SET SUM TABLE
UNION UNIQUE UPDATE USER
VALUES VIEW WHERE WITH
Creación de Base de Datos y sus respectivas tablas
En el modelo relacional la información de una base de datos se almacena en tablas.
La sintaxis de la sentencia es la siguiente:
create database <nombre_BD>
Sintaxis para la creación de tablas :
create table <nombre_tabla1>
(
<nombre_campo1> <tipo_dato(tamaño)> [restriccion],
<nombre_campo2> <tipo_dato(tamaño)> [restriccion],
<nombre_campo3> <tipo_dato(tamaño)> [restriccion],
<nombre_campo4> <tipo_dato(tamaño)> [restriccion]
)
Las Restricciones: Las restricciones de los datos se imponen para asegurarnos que los datos cumplen con una serie de condiciones predefinidas para cada tabla. Estas restricciones ayudan a conseguir la integridad de referencia: todas las referencias dentro de una BD son válidas y todas las restricciones se han cumplido. Las restricciones se van a definir acompañadas por un nombre, lo que permitirá activarlas o desactivarlas según sea el caso; o también mezcladas en la definiciones de las columnas de la tabla. A continuación vamos a describir cada una de las restricciones mencionadas.
NOT NULL Establece la obligatoriedad de que esta columna tenga un valor no nulo. Se debe especificar junto a la columna a la que afecta. Los valores nulos no ocupan espacio, y son distintos a 0 y al espacio en blanco. Hay que tener cuidado con los valores nulos en las operaciones, ya que 1 * NULL es igual a NULL.
UNIQUE Evita valores repetidos en una columna, admitiendo valores nulos. Oracle crea un índice automáticamente cuando se habilita esta restricción y lo borra al deshabilitarse.
DEFAULT Establece un valor por defecto para esa columna, si no se le asigna ninguno.
Sistema de
Gestión de la Calidad
Regional Distrito Capital Centro De Gestión de Mercados, Logística y Tecnologías de la
Información FORMACIÓN POR COMPETENCIAS LABORALES
PROGRAMACIÓN DE SOFTWARE
EJE DE FORMACIÓN: BASE DE DATOS
Fecha: Mayo de 2010 Código: Página 10 de 17
CHECK Comprueba que se cumpla una condición determinada al rellenar esa columna. Esta condición sólo debe estar construida con columnas de esta misma tabla.
PRIMARY KEY Establece el conjunto de columnas que forman la clave primaria de esa tabla. Se comporta como única y obligatoria sin necesidad de explicitarlo. Sólo puede existir una clave primaria por tabla. Puede ser referenciada como clave ajena por otras tablas. Crea un índice automáticamente cuando se habilita o se crea esta restricción.
FOREIGN KEY Establece que el contenido de esta columna será uno de los valores contenidos en una columna de otra tabla maestra. Esta columna marcada como clave ajena puede ser NULL. No hay límite en el número de claves ajenas. La clave ajena puede ser otra columna de la misma tabla. Se puede forzar que cuando una fila de la tabla maestra sea borrada, todas las filas de la tabla detalle cuya clave ajena coincida con la clave borrada se borren también. Esto se consigue añadiendo la coletilla ON DELETE CASCADE en la definición de la clave ajena.
create table Plaza_Toros
(
Nombre_PlazaT varchar(37) primary key,
Localidad_PlazaT varchar(30) not null,
Dir_Nomen_PlazaT varchar(30) not null,
barrio_PlazaT varchar(20) not null,
Ciudad_PlazaT varchar(20) not null,
Aforo_PlzaT varchar(20) not null
)
Modificación de tablas Sentencia para definir la llave foránea en una tabla
Sintaxis: alter table <nombre_tabla>
add
constraint fk<nombre_campo>foreign key (<nombre_campo>)
references <nombre_tabla_relacionada> (<nombre_campo> tabla relacionada)
Ejemplo:
alter table Corrida
add
constraint fkNombre_PlazaT foreign key (Nombre_PlazaT )
references Plaza_Toros(Nombre_PlazaT )
Eliminación de tablas.
La instrucción DROP TABLE elimina de forma permanente la tabla y los datos en ella contenida.
Sistema de
Gestión de la Calidad
Regional Distrito Capital Centro De Gestión de Mercados, Logística y Tecnologías de la
Información FORMACIÓN POR COMPETENCIAS LABORALES
PROGRAMACIÓN DE SOFTWARE
EJE DE FORMACIÓN: BASE DE DATOS
Fecha: Mayo de 2010 Código: Página 11 de 17
Si intentamos eliminar una tabla que tenga registros relacionados a través de una clave externa la
instrucción DROP TABLE fallará por integridad referencial.
Cuando eliminamos una tabla eliminamos también sus índices.
Sintaxis: drop table <nombre_tabla>
Cada gestor de bases de datos implementa distintas opciones para la instrucción CREATE TABLE, pudiendo especificarse gran cantidad de parámetros y pudiendo variar el nombre que damos a los
tipos de datos, pero la sintaxis standart es la que hemos mostrado aquí. Si queremos conocer más acerca de las opciones de CREATE TABLE lo mejor es recurrir a la documentación de nuestro gestor
de base de datos.
DML(Data Manipulation Language), cuya misión es la manipulación de datos. A través de él
podemos seleccionar, insertar, eliminar y actualizar datos. Es la parte que más frecuentemente
utilizaremos, y que con ella se construyen las consultas.
COMANDOS DESCRIPCIÓN
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 operación
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.
SELECT.
La sentencia SELECT se utiliza fundamentalmente para realizar consultas sobre un determinado subconjunto de datos de los presentes en una o varias tablas de nuestras bases.
SELECT sobre una sola tabla
SELECT lista de columnas | * FROM tabla [WHERE condición]
Sistema de
Gestión de la Calidad
Regional Distrito Capital Centro De Gestión de Mercados, Logística y Tecnologías de la
Información FORMACIÓN POR COMPETENCIAS LABORALES
PROGRAMACIÓN DE SOFTWARE
EJE DE FORMACIÓN: BASE DE DATOS
Fecha: Mayo de 2010 Código: Página 12 de 17
[ORDER BY columna ] lista de columnas es un conjunto de nombres de columnas de tabla, separadas por comas. En caso de especificar * se seleccionan todas las columnas de la tabla.
use AmigosDeLaFiesta
select *
from Torero
where Dni_Torero ='12312'
select *
from Torero
Condición Cuando se comparan dos valores se realizan según las siguientes reglas:
Solo se pueden comparar dos valores cuando son del mismo tipo. Todos los datos de tipo numérico pueden ser comparados unos con otros )por ejemplo un
decimal con un entero) Para comparar dos valores alfanuméricos deben ser de igual longitud. Es permisible la comparación entre un dato temporal y uno alfanumérico. Siempre y
cuando este último este escrito en uno de los formatos de tiempo.
Cláusulas:
Las cláusulas son condiciones de modificación utilizadas para definir los datos que
desea seleccionar o manipular.
Cláusula Descripción
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 específico.
HAVING
Utilizada para expresar la condición que debe satisfacer cada grupo
ORDER BY
Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico
La Cláusula WHERE. Condiciones de Selección. La selección de filas se especifica en la cláusula WHERE mediante predicados. Un predicado expresa una condición y su resultado puede ser verdadero, falso o desconocido. Predicados Simples
Operadores de Comparación: predicados simples que expresan condiciones de comparación entre valores. Se especifican con los signos que se detallan en la siguiente tabla:
Sistema de
Gestión de la Calidad
Regional Distrito Capital Centro De Gestión de Mercados, Logística y Tecnologías de la
Información FORMACIÓN POR COMPETENCIAS LABORALES
PROGRAMACIÓN DE SOFTWARE
EJE DE FORMACIÓN: BASE DE DATOS
Fecha: Mayo de 2010 Código: Página 13 de 17
Operadores SQL
Aritméticos + Suma
- Resta
* Producto
/ División
** ^ Exponenciación
Relacionales < Menor que
<= Menor o igual que
> Mayor que
>= Mayor o igual que
<> != Distinto
!< No menor que
!> No mayor que
Lógicos AND Los operadores lógicos permiten comparar expresiones lógicas devolviendo siempre un valor verdadero o falso.
Los operadores lógicos se evalúan de izquierda a derecha.
OR
NOT
Concatenación + Se emplea para unir datos de tipo alfanumérico.
Predicados
Los predicados son condiciones que se indican en cláusula WHERE de una consulta SQL.
La siguiente tabla ilustra los predicados de SQL.
Predicados SQL
BETWEEN...AND Comprueba que al valor esta dentro de un intervalo
LIKE Compara un campo con una cadena alfanumérica. LIKE admite el uso de
caracteres comodines
ALL Señala a todos los elementos de la selección de la consulta
ANY Indica que la condición se cumplirá si la comparación es cierta para al menos
un elemento del conjunto.
EXISTS Devuelve un valor verdadero si el resultado de una subconsulta devuelve
resultados.
IN Comprueba si un campo se encuentra dentro de un determinado rango. El
rango puede ser una sentencia SELECT.
Comparación de caracteres. Predicado LIKE :Cuando se requiere precisar buscar campos
que contengan combinaciones de caracteres que cumplan ciertas condiciones. Para ello se utiliza el predicado LIKE, según el siguiente formato: Columna [NOT] LIKE constante_alfanumerica
Sistema de
Gestión de la Calidad
Regional Distrito Capital Centro De Gestión de Mercados, Logística y Tecnologías de la
Información FORMACIÓN POR COMPETENCIAS LABORALES
PROGRAMACIÓN DE SOFTWARE
EJE DE FORMACIÓN: BASE DE DATOS
Fecha: Mayo de 2010 Código: Página 14 de 17
Donde columna (campo) debe ser de tipo alfanumerico.
La constante alfanumerica puede ser caracteres normales, caracteres con significado espacial, caracteres comodines o wildcards. La siguiente tabla presenta los comodines:
% Cadena de longitud Aleatoria
_ Carácter no nulo ( 1 carácter)
[x-y] Carácter en el rango x hasta y
[^x-y] Carácter fuera del rango x hasta y
Ejemplos: Las ciudades que empiecen por S WHERE ciudad LIKE ‘S%’ Las referencias que no tengan un 4 WHERE ciudad LIKE ‘%[^4]%’ Las referencias que no tengan un 4, 5 o 6 WHERE ciudad LIKE ‘%[4-6]%’
Detección de valores nulos: En ocasiones es necesario discriminar las filas en función de si en una de sus celdas existe un valor o no, esto es si dicha celda contiene un valor nulo.
Nombre_campo IS [NOT] NULL
Predicado BETWEEN: Sirve para determinar si un valor está comprendido o no entre otros dos valores, ambos inclusive.
Nombre_campo [NOT] BETWEEN expr1 AND expr2 Predicado IN: Sirve para averiguar si el resultado de una expresión está incluido en la lista de
valores especificados. Nombre_campo [NOT] IN ( Constante1, constante2, ....) Nombre_campo [NOT] IN ( Sunconsulta )
Predicados compuestos Son combinaciones de otros predicados, con los operadores lógicos And, OR y NOT.
Funciones Agregadas
Las funciones agregadas proporcionan a SQL utilidades de cálculo sobre los datos de las tablas.
Estas funciones se incorporan en las consultas SELECT y retornan un único valor al operar sobre un
grupo de registros.
Las funciones agregadas son.
Funciones Agregadas
MAX() Devuelve el valor máximo.
MIN() Devuelve el valor mínimo.
SUM() Devuelve el valor de la suma de los valores del campo.
COUNT() Devuelve el número de filas que cumplen la condición
AVG() Devuelve el promedia de los valores del campo
INSERT INTO
Sistema de
Gestión de la Calidad
Regional Distrito Capital Centro De Gestión de Mercados, Logística y Tecnologías de la
Información FORMACIÓN POR COMPETENCIAS LABORALES
PROGRAMACIÓN DE SOFTWARE
EJE DE FORMACIÓN: BASE DE DATOS
Fecha: Mayo de 2010 Código: Página 15 de 17
Agrega un registro en una tabla. Se la conoce como una consulta de datos añadidos. Esta consulta puede ser de dos tipo: Insertar un único registro ó Insertar en una tabla los registros contenidos en otra tabla. Sintaxis: 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 atención 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 (#). insert into torero (dni_torero, nombre_torero, apellido_torero,
fecha_alternativa_tor, dni_padrino, apodo_torero)
values (1567, 'Juanito', 'Torres', 23-09-21-998,
13221987,'juancho' )
insert into torero (dni_torero, nombre_torero, apellido_torero,
fecha_alternativa_tor, dni_padrino, apodo_torero)
values (1567, 'Juanito', '', 23-09-21-998, 13221987,'null' )
Sólo especificaremos las columnas donde insertar y su orden cuando no insertemos datos en todas
ellas o no lo hagamos en el mismo orden en que definimos la tabla. La asociación columna-valor es posicional. Los valores deben cumplir con los tipos de datos definidos. Los valores de tipo carácter y
fecha deben ir encerrados entre comillas simples, ('').
UPDATE
Crea una consulta de actualización que cambia los valores de los campos de una tabla especificada basándose en un criterio específico. Su sintaxis es:
UPDATE Nombre_Tabla SET Campo1=Valor1, Campo2=Valor2, ... CampoN=ValorN
WHERE Criterio update torero
set nombre_torero = 'andres', apellido_torero = 'mancilla'
where dni_torero = 1553
Se especificará en la cláusula SET las columnas que se actualizarán y con qué valores.
UPDATE no genera ningún resultado. Para saber qué registros se van a cambiar, hay que
examinar primero el resultado de una consulta de selección que utilice el mismo criterio y después ejecutar la consulta de actualización.
Si en una consulta de actualización suprimimos la cláusula WHERE todos los registros de la
tabla señalada serán actualizados.
Sistema de
Gestión de la Calidad
Regional Distrito Capital Centro De Gestión de Mercados, Logística y Tecnologías de la
Información FORMACIÓN POR COMPETENCIAS LABORALES
PROGRAMACIÓN DE SOFTWARE
EJE DE FORMACIÓN: BASE DE DATOS
Fecha: Mayo de 2010 Código: Página 16 de 17
DELETE
Crea una consulta de eliminación que elimina los registros de una o más de las tablas listadas
en la cláusula FROM que satisfagan la cláusula WHERE.
Esta consulta elimina los registros completos, no es posible eliminar el contenido de algún
campo en concreto.
Su sintaxis es:
DELETE Tabla.* FROM Tabla WHERE criterio
Borrará todas las filas que cumplan la condición especificada en la cláusula WHERE. Si esta
cláusula no se fija, se borrarán todas las filas de la tabla.
DELETE es especialmente útil cuando se desea eliminar varios registros.
En una instrucción DELETE con múltiples tablas, debe incluir el nombre de tabla (Tabla.*). Si
especifica más 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 más eficiente que
ejecutar una consulta de borrado. Se puede utilizar DELETE para eliminar registros de una única tabla o desde varios lados de
una relación uno a muchos.
Las operaciones de eliminación en cascada en una consulta únicamente eliminan desde varios
lados de una relación. Por ejemplo, en la relación 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
específicos.
Si desea eliminar valores en un campo especificado, crear una consulta de actualización que
cambie los valores a Null.
Una vez que se han eliminado los registros utilizando una consulta de borrado, no puede
deshacer la operación. Si desea saber qué registros se eliminarán, primero examine los resultados de una consulta de
selección que utilice el mismo criterio y después 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'
delete
from torero
where nombre_torero = 'andres'
Sistema de
Gestión de la Calidad
Regional Distrito Capital Centro De Gestión de Mercados, Logística y Tecnologías de la
Información FORMACIÓN POR COMPETENCIAS LABORALES
PROGRAMACIÓN DE SOFTWARE
EJE DE FORMACIÓN: BASE DE DATOS
Fecha: Mayo de 2010 Código: Página 17 de 17
DCL (Data Control Laguage), encargado de la seguridad de la base de datos, en todo lo referente
al control de accesos y privilegios entre los usuarios.
Son comandos propios de este lenguaje: GRANT
REVOKE
COMMIT : Guarda los trabajos realizados en las transacciones
ROLLBACK : Restaura la base de datos al estado original desde el comando COMMIT pasado en las transacciones
SAVEPOINT : Establecer un punto en que es posible un ROLLBACK.
SAVE TRANSACTION : Establece un punto de almacenamiento dentro de una transacción