SQL(StructuredQueryLanguage)CESAR DAVID FERNANDEZ GRUESO“Un lenguaje de consulta al servicio de las Bases de Datos”SENA Regional CaucaCENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIALTECNICO EN PROGRAMACION DE SOFTWAREVigencia 2009 - 2010
DEFINICIONSQL es una herramienta para organizar, gestionar y recuperar datos almacenados en una base de datos informática. Por lo tanto permite interactuar con la Base de Datos.SQL es a la vez un lenguaje fácil de aprender y una herramienta completa para gestionar datos. Las peticiones sobre los datos se expresan mediante sentencias, que deben escribirse de acuerdo con unas reglas sintácticas y semánticas de este lenguaje. Es un lenguaje estándar por haberse visto consolidado por el Instituto Americano de Normas (ANSI) y por la Organización de Estándares Internacional (ISO).
DEFINICION
ACLARACION“PARA ESTA ORIENTACION PRESENCIAL SOLO VEREMOS LAS SENTENCIAS DE TIPO DML DEL LENGUAJE SQL. EL CUAL SERAN INVOCADAS DESDE VISUAL BASIC .NET PARA CONECTAR LOS FORMS CON EL MOTOR DE BASE DE DATOS MICROSOFT SQL SERVER 2005. EL ESQUEMA DE LAS TABLAS Y RELACIONES SE CREARAN DIRECTAMENTE CON LA HERRAMIENTA MICROSOFT SQL SERVER MANAGEMENT STUDIO ”
OPERANDOS
CLAUSULA SELECTSELECT  * FROM proyecto ( Consulta todos los campos y registros de la tabla proyecto).SELECT codigo, nombre FROM proyecto (Consulta solo el codigo y el nombre de los proyectos registrados en la tabla proyecto ).  SELECT  DISTINCT nombre FROM proyecto (DISTINCT elimina las filas o registros duplicados del resultado de la consulta).
CLAUSULA SELECTFUNCIONES DE AGRUPAMIENTOSELECT COUNT(nombre) FROM integrante (Consulta el numero de integrantes).SELECT COUNT(DISTINCT nombre) FROM integrante (Consulta el numero de integrantes eliminando los nombres repetidos).SELECT SUM(presupuesto) FROM proyecto (hace una sumatoria de todos los valores almacenados en el campo presupuesto).  SELECT AVG(presupuesto) FROM proyecto (Obtiene el promedio de todos los valores almacenados en el campo presupuesto).  SELECT MAX(presupuesto) FROM proyecto (Obtiene el mayor valor de la columna presupuesto).  SELECT MIN(presupuesto) FROM proyecto (Obtiene el menor valor de la columna presupuesto).
CLAUSULA SELECTWHERESELECT * FROM proyecto WHERE nombre = ‘redes datos’ (Consulta todos los proyectos cuyo nombre sea redes datos).SELECT nombre FROM proyecto WHERE presupuesto > 3000000  (Consulta el nombre de los proyectos cuyo presupuesto sea mayor a $3’000.000).SELECT nombre FROM integrante WHERE fecha_nac <= ‘01/06/1990’  (Consulta el nombre de los integrantes cuya  fecha de nacimiento sea mayor  igual a  01/06/1990).SELECT nombre FROM integrante WHERE fecha_nac <= ‘01/06/1990’  AND institución = ‘SENA’  (Consulta el nombre de los integrantes cuya  fecha de nacimiento sea mayor  igual a  01/06/1990 y además, estudian en el SENA).
CLAUSULA SELECTUNIONSELECT nombre FROM ascesor UNION SELECT nombre FROM integrante  (Devuelve en una sola columna los nombres de los asesores de proyectos y los nombres de los integrantes. “omite los valores repetidos”)Si se le agrega la instrucción:  ALL , no omite los valores repetidos.AsesorIntegranteUNION=
CLAUSULA SELECTORDER BYSELECT nombre, apellido FROM integrante ORDER BY fecha_nac  DESC (Consulta los nombres y apellidos de los integrantes ordenados de mayor a menor edad)Si no se coloca DESC por defecto los ordena de forma ascendente.SELECT nombre, fecha_inicio FROM proyecto ORDER BY presupuesto (Consulta los proyectos ordenados de menor  a mayor  presupuesto)SELECT nombre, teléfono FROM integrante ORDER BY teléfono  DESC (Consulta los nombres y teléfonos de los integrantes ordenados por numero telefónico en forma descendente)
CLAUSULA SELECTINNER JOININNER JOIN: Permite generar consultas entre tablas relacionadas.SELECT   integrante.nombre,  proyecto.nombre FROM   proyecto INNER  JOIN  integrante ON proyecto.ID_proyecto  =  integrante.id_proyecto. (Consulta los integrantes de cada proyecto)SELECT   integrante.nombre,  proyecto.nombre FROM   proyecto INNER  JOIN  integrante ON proyecto.ID_proyecto  =  integrante.id_proyecto  WHERE proyecto.ID_proyecto = 111(Consulta únicamente los  integrantes del proyecto con codido: 111)
CLAUSULA INSERTPermite añadir registros a una tabla especifica.INSERT INTO proyecto (ID_proyecto, Nombre) VALUES (7755, ‘Diseño Web’) : Si se van a insertar algunos valores de un registro se deben especificar después del nombre de la tabla los campos a añadir en el registro. En este caso no se adiciono la Fecha al nuevo registro creado.INSERT INTO proyecto VALUES (7755, ‘Diseño Web’, ‘05/07/2010’) : Si se van a insertar TODOS los valores de un registro  no es necesario colocar los nombres de los campos depues del nombre de la tabla.
CLAUSULA UPDATEPermite modificar los valores de un registro.UPDATE  proyecto SET  Fecha = ‘04/09/2010’  WHERE  ID_proyecto = 4412.  Modificar la fecha del proyecto con ID: 4412.UPDATE  proyecto SET  presupuesto = 25000000  WHERE  Fecha >= ‘01/07/2010’ . Modificar el presupuesto  a 25’000.000 de aquellos proyectos que inicien en una fecha mayor o igual a 01/07/2010.UPDATE  proyecto SET  presupuesto = 25000000  WHERE  Fecha BETWEEN ‘01/07/2010’  AND ‘09/07/2011’. Modificar el presupuesto  a 25’000.000 de aquellos proyectos cuyas fechas de inicio están comprendidas entre  01/07/2010  a  09/07/2011.UPDATE  proyecto SET  Fecha = ‘04/09/2010’  WHERE  ID_proyecto = 4412 OR ID_proyecto = 5512.  Modificar la fecha del proyecto con ID: 4412 o 5512.
CLAUSULA DELETELa sentencia DELETE se utiliza para borrar registros de una tabla de la base de datos.DELETE FROM integrante WHERE ID_integrante = 1122. Eliminar el integrante cuyo ID sea igual a 1122.DELETE FROM proyecto WHERE Fecha BETWEEN ‘01/05/2010’ AND ’01/07/2010’. Eliminar los proyectos que poseen fecha de inicio comprendida entre ‘01/05/2010 a 01/07/2010’DELETE FROM integrante WHERE ID_proyecto = 1823. Eliminar los  integrantes del proyecto cuyo ID es 1823.
MUCHAS GRACIASPROXIMAMENTE  CONEXIÓN DE VISUAL BASIC .NET CON SQL SERVERINQUIETUDES O DUDAS ?Ing. Cesar David Fernández Grueso.CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIALSENA REGIONAL CAUCA

Sql

  • 1.
    SQL(StructuredQueryLanguage)CESAR DAVID FERNANDEZGRUESO“Un lenguaje de consulta al servicio de las Bases de Datos”SENA Regional CaucaCENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIALTECNICO EN PROGRAMACION DE SOFTWAREVigencia 2009 - 2010
  • 2.
    DEFINICIONSQL es unaherramienta para organizar, gestionar y recuperar datos almacenados en una base de datos informática. Por lo tanto permite interactuar con la Base de Datos.SQL es a la vez un lenguaje fácil de aprender y una herramienta completa para gestionar datos. Las peticiones sobre los datos se expresan mediante sentencias, que deben escribirse de acuerdo con unas reglas sintácticas y semánticas de este lenguaje. Es un lenguaje estándar por haberse visto consolidado por el Instituto Americano de Normas (ANSI) y por la Organización de Estándares Internacional (ISO).
  • 3.
  • 4.
    ACLARACION“PARA ESTA ORIENTACIONPRESENCIAL SOLO VEREMOS LAS SENTENCIAS DE TIPO DML DEL LENGUAJE SQL. EL CUAL SERAN INVOCADAS DESDE VISUAL BASIC .NET PARA CONECTAR LOS FORMS CON EL MOTOR DE BASE DE DATOS MICROSOFT SQL SERVER 2005. EL ESQUEMA DE LAS TABLAS Y RELACIONES SE CREARAN DIRECTAMENTE CON LA HERRAMIENTA MICROSOFT SQL SERVER MANAGEMENT STUDIO ”
  • 5.
  • 6.
    CLAUSULA SELECTSELECT * FROM proyecto ( Consulta todos los campos y registros de la tabla proyecto).SELECT codigo, nombre FROM proyecto (Consulta solo el codigo y el nombre de los proyectos registrados en la tabla proyecto ). SELECT DISTINCT nombre FROM proyecto (DISTINCT elimina las filas o registros duplicados del resultado de la consulta).
  • 7.
    CLAUSULA SELECTFUNCIONES DEAGRUPAMIENTOSELECT COUNT(nombre) FROM integrante (Consulta el numero de integrantes).SELECT COUNT(DISTINCT nombre) FROM integrante (Consulta el numero de integrantes eliminando los nombres repetidos).SELECT SUM(presupuesto) FROM proyecto (hace una sumatoria de todos los valores almacenados en el campo presupuesto). SELECT AVG(presupuesto) FROM proyecto (Obtiene el promedio de todos los valores almacenados en el campo presupuesto). SELECT MAX(presupuesto) FROM proyecto (Obtiene el mayor valor de la columna presupuesto). SELECT MIN(presupuesto) FROM proyecto (Obtiene el menor valor de la columna presupuesto).
  • 8.
    CLAUSULA SELECTWHERESELECT *FROM proyecto WHERE nombre = ‘redes datos’ (Consulta todos los proyectos cuyo nombre sea redes datos).SELECT nombre FROM proyecto WHERE presupuesto > 3000000 (Consulta el nombre de los proyectos cuyo presupuesto sea mayor a $3’000.000).SELECT nombre FROM integrante WHERE fecha_nac <= ‘01/06/1990’ (Consulta el nombre de los integrantes cuya fecha de nacimiento sea mayor igual a 01/06/1990).SELECT nombre FROM integrante WHERE fecha_nac <= ‘01/06/1990’ AND institución = ‘SENA’ (Consulta el nombre de los integrantes cuya fecha de nacimiento sea mayor igual a 01/06/1990 y además, estudian en el SENA).
  • 9.
    CLAUSULA SELECTUNIONSELECT nombreFROM ascesor UNION SELECT nombre FROM integrante (Devuelve en una sola columna los nombres de los asesores de proyectos y los nombres de los integrantes. “omite los valores repetidos”)Si se le agrega la instrucción: ALL , no omite los valores repetidos.AsesorIntegranteUNION=
  • 10.
    CLAUSULA SELECTORDER BYSELECTnombre, apellido FROM integrante ORDER BY fecha_nac DESC (Consulta los nombres y apellidos de los integrantes ordenados de mayor a menor edad)Si no se coloca DESC por defecto los ordena de forma ascendente.SELECT nombre, fecha_inicio FROM proyecto ORDER BY presupuesto (Consulta los proyectos ordenados de menor a mayor presupuesto)SELECT nombre, teléfono FROM integrante ORDER BY teléfono DESC (Consulta los nombres y teléfonos de los integrantes ordenados por numero telefónico en forma descendente)
  • 11.
    CLAUSULA SELECTINNER JOININNERJOIN: Permite generar consultas entre tablas relacionadas.SELECT integrante.nombre, proyecto.nombre FROM proyecto INNER JOIN integrante ON proyecto.ID_proyecto = integrante.id_proyecto. (Consulta los integrantes de cada proyecto)SELECT integrante.nombre, proyecto.nombre FROM proyecto INNER JOIN integrante ON proyecto.ID_proyecto = integrante.id_proyecto WHERE proyecto.ID_proyecto = 111(Consulta únicamente los integrantes del proyecto con codido: 111)
  • 12.
    CLAUSULA INSERTPermite añadirregistros a una tabla especifica.INSERT INTO proyecto (ID_proyecto, Nombre) VALUES (7755, ‘Diseño Web’) : Si se van a insertar algunos valores de un registro se deben especificar después del nombre de la tabla los campos a añadir en el registro. En este caso no se adiciono la Fecha al nuevo registro creado.INSERT INTO proyecto VALUES (7755, ‘Diseño Web’, ‘05/07/2010’) : Si se van a insertar TODOS los valores de un registro no es necesario colocar los nombres de los campos depues del nombre de la tabla.
  • 13.
    CLAUSULA UPDATEPermite modificarlos valores de un registro.UPDATE proyecto SET Fecha = ‘04/09/2010’ WHERE ID_proyecto = 4412. Modificar la fecha del proyecto con ID: 4412.UPDATE proyecto SET presupuesto = 25000000 WHERE Fecha >= ‘01/07/2010’ . Modificar el presupuesto a 25’000.000 de aquellos proyectos que inicien en una fecha mayor o igual a 01/07/2010.UPDATE proyecto SET presupuesto = 25000000 WHERE Fecha BETWEEN ‘01/07/2010’ AND ‘09/07/2011’. Modificar el presupuesto a 25’000.000 de aquellos proyectos cuyas fechas de inicio están comprendidas entre 01/07/2010 a 09/07/2011.UPDATE proyecto SET Fecha = ‘04/09/2010’ WHERE ID_proyecto = 4412 OR ID_proyecto = 5512. Modificar la fecha del proyecto con ID: 4412 o 5512.
  • 14.
    CLAUSULA DELETELa sentenciaDELETE se utiliza para borrar registros de una tabla de la base de datos.DELETE FROM integrante WHERE ID_integrante = 1122. Eliminar el integrante cuyo ID sea igual a 1122.DELETE FROM proyecto WHERE Fecha BETWEEN ‘01/05/2010’ AND ’01/07/2010’. Eliminar los proyectos que poseen fecha de inicio comprendida entre ‘01/05/2010 a 01/07/2010’DELETE FROM integrante WHERE ID_proyecto = 1823. Eliminar los integrantes del proyecto cuyo ID es 1823.
  • 15.
    MUCHAS GRACIASPROXIMAMENTE CONEXIÓN DE VISUAL BASIC .NET CON SQL SERVERINQUIETUDES O DUDAS ?Ing. Cesar David Fernández Grueso.CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIALSENA REGIONAL CAUCA