GALA. Mm046a. Manual Consultando SQL Server 2005/2008 con Transac-SQL. Sé diferente, intégrate. Autor: Orlando Gutiérrez Fecha: 01/01/2010

Tamaño: px
Comenzar la demostración a partir de la página:

Download "GALA. Mm046a. Manual Consultando SQL Server 2005/2008 con Transac-SQL. Sé diferente, intégrate. Autor: Orlando Gutiérrez Fecha: 01/01/2010"

Transcripción

1 Sé diferente, intégrate Mm046a Manual Consultando SQL Server 2005/2008 con Transac-SQL Autor: Orlando Gutiérrez Fecha: 01/01/2010 Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 1

2 ÍNDICE 1 DIFERENCIAR ENTRE TRANSACT-SQL Y ANSI-SQL DESCRIBIR LOS TIPOS BÁSICOS DE TRANSACT-SQL DESCRIBIR LOS ELEMENTOS DE SINTAXIS DE TRANSACT-SQL DESCRIBIR LAS FUNCIONES BÁSICAS PARA LA GENERACIÓN DE CONSULTAS DEL SQL SERVER MANAGEMENT STUDIO DESCRIBIR COMO USAR LA HERRAMIENTA OBJECT BROWSER EN SQL SERVER MANAGEMENT STUDIO DESCRIBIR COMO USAR LAS PLANTILLAS EN EL SQL SERVER MANAGEMENT STUDIO DESCRIBIR COMO USAR LA UTILIDAD DE LÍNEA DE COMANDOS DE SQL SERVER 2005/2008 (SQLCMD) EJECUTAR COMANDOS TRANSACT-SQL DE VARIAS MANERAS RECUPERAR DATOS DESDE TABLAS USANDO EL COMANDO SELECT FILTRAR DATOS USANDO DIFERENTES CONDICIONES DE BÚSQUEDA PARA USAR CON LA CLÁUSULA WHERE FORMATEAR JUEGOS DE RESULTADOS DESCRIBIR COMO LAS CONSULTAS SON PROCESADAS DESCRIBIR CONSIDERACIONES DE RENDIMIENTO QUE TIENEN EFECTO AL RECUPERAR DATOS USAR LA ORDEN TOP N PARA RECUPERAR UNA LISTA DE VALORES TOP ESPECIFICADOS EN UNA TABLA GENERAR UN VALOR SIMPLE DE SUMARIO USANDO FUNCIONES AGREGADAS ORGANIZAR SUMARIO DE DATOS PARA UNA COLUMNA USANDO FUNCIONES AGREGADAS CON LAS CLÁUSULAS GROUP BY HAVING GENERAR DATOS DE SUMARIO PARA UNA TABLA USANDO FUNCIONES AGREGADAS CON LA CLÁUSULA GROUP BY Y EL OPERADOR ROLLUP O CUBE GENERAR REPORTES CONTROL-BREAK USANDO LAS CLÁUSULAS COMPUTE Y COMPUTE BY USAR ALIAS PARA NOMBRES DE TABLAS COMBINAR DATOS DESDE DOS O MÁS TABLAS USANDO UNIONES COMBINAR MÚLTIPLES JUEGOS DE RESULTADOS EN UN JUEGO DE RESULTADOS USANDO EL OPERADOR UNION COMBINAR DATOS DESDE DOS O MÁS TABLAS USANDO INTERSECCIONES (JOINS) COMBINAR MÚLTIPLES JUEGOS DE RESULTADOS EN UN JUEGO DE RESULTADOS USANDO EL OPERADOR JOIN TIPOS DE JOIN (INNER, LEFT, RIGHT, CROSS) INTRODUCCIÓN A SUBCONSULTAS USANDO UNA SUBCONSULTA COMO UNA TABLA DERIVADA USANDO UNA SUBCONSULTA COMO UNA EXPRESIÓN USANDO UNA SUBCONSULTA PARA CORRELACIONAR DATOS USANDO LAS CLÁUSULAS EXISTS Y NOT EXISTS TRABAJANDO CON SUBCONSULTAS DESCRIBIR CUANDO Y COMO USAR UNA SUBCONSULTA USAR SUBCONSULTAS PARA DETENER Y REALIZAR CONSULTAS COMPLEJAS DESCRIBIR COMO TRABAJAN LAS TRANSACCIONES ESCRIBIR COMANDOS INSERT, DELETE Y UPDATE PARA MODIFICAR DATOS EN TABLAS DESCRIBIR CONSIDERACIONES DE RENDIMIENTO RELACIONADAS CON LA MODIFICACIÓN DE DATOS DESCRIBIR LA FUNCIÓN Y COMPONENTES DE MICROSOFT SEARCH SERVICE ESCRIBIR CONSULTAS DE TEXTO COMPLETO OBTENER INFORMACIÓN SOBRE ÍNDICES DE TEXTO COMPLETO MOSTRAR EL TEXTO DE UN OBJETO DE PROGRAMACIÓN DESCRIBIR LOS CONCEPTOS DE VISTAS LISTAR LAS VENTAJAS DE LAS VISTAS DESCRIBIR STORED PROCEDURES DESCRIBIR TRIGGERS DESCRIBIR FUNCIONES DEFINIDAS POR EL USUARIO LO NUEVO DE TRANSACT SQL REFERENCIAS Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 2

3 1 DIFERENCIAR ENTRE TRANSACT-SQL Y ANSI-SQL El lenguaje standard para trabajar con Bases de Datos relaciones es SQL. SQL es la abreviatura (acrónimo) de Structured Query Language, Lenguaje Estructurado de Consultas. Transact-SQL, conocido como T-SQL es un dialecto de SQL, por lo tanto soporta las funciones de SQL pero añade nueva funcionalidad. T-SQL también es conocido como la extensión Transaccional de SQL. T-SQL es el lenguaje utilizado por los servidores de Base de Datos Microsoft SQL Server 2005/2008, 2000 y SQL 7.0. La implementación más standard de SQL se conoce como ANSI SQL Standard. T-SQL soporta al menos todas las funciones definidas en ANSI SQL 92. Las siguientes funciones de ANSI SQL son soportadas por T-SQL: Manejo de Triggers. (Trigger) Manejo de funciones definidas por el usuario. (Function) Manejo de cursores para recorrer consulta en Bases de Datos. (Declare cursor). Manejo de procedimientos almacenados Stored Procedures. (Procedure). Capacidades de realizar FULL JOIN. Soporte funciones de Import/Export de datos Soporte total manejo de transacciones. Qué es T-SQL? Transact SQL, también llamado T-SQL, es la extensión de Mirosoft al lenguaje SQL. Es el motor de los manejadores de Base de Datos de Microsoft SQL Server y es un lenguaje utilizado para realizar la programación de una Base de Datos de una manera dinámica. Sobre el estándar ANSI SQL se han definido varias extensiones, también conocidos como dialectos SQL. Por ejemplo PL/SQL es el dialecto de las Bases de Datos Oracle y T-SQL es el dialecto de las bases de datos SQL server. Cómo es usado internamente T-SQL? Cuando una aplicación se comunica con SQL Server, lo realiza enviando instrucciones Transact-SQL. Existen cuatro tipos básicos de instrucciones. La más utilizada es SELECT, la cual permite consultar una base de datos (esta instrucción será ampliamente cubierta en este curso). Las otras tres instrucciones son INSERT para insertar registros en la Base de Datos, DELETE para eliminar registros en la Base de Datos y UPDATE para actualizar registros en la Base de Datos. 2 DESCRIBIR LOS TIPOS BÁSICOS DE TRANSACT-SQL Los tipos de datos soportados en T-SQL son indicados en la siguiente jerarquía de tipos. T-SQL maneja también sinónimos para los tipos de datos. Por ejemplo int se refiere como un sinónimo de integer. Los tipos indicados en negrillas se refieren a los tipos sintacticamente correctos en T-SQL. Los no indicados en negrillas son utilizados con la finalidad de agrupar tipos. numéricos numéricos exactos enteros bigint int smallint tinyint bit decimal y numeric decimal numeric money y smallmoney Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 3

4 money smallmoney numéricos aproximados float real datetime y smalldatetime datetime smalldatetime cadenas de caracteres y cadenas binarias cadenas de caracteres char, varchar, y text char y varchar char varchar text cadena de caracteres Unicode nchar y nvarchar nchar nvarchar ntext cursor cadenas de caracteres binarias sql_variant table timestamp uniqueidentifier binary y varbinary binary varbinary image Otras categorías son agrupadas en las siguientes jerarquías: text, ntext, e image text y ntext text ntext image cadenas de caracteres cortas caracteres cortos char y varchar char varchar nchar y nvarchar nchar nvarchar binary y varbinary binary varbinary Rangos para los Tipos de datos Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 4

5 TIPO RANGO MÍNIMO RANGO MÁXIMO bigint -2^63 (-9,223,372,036,854,775,808) 2^63-1 (9,223,372,036,854,775,807). int -2^31 (-2,147,483,648) 2^31-1 (2,147,483,647). smallint -2^15 (-32,768) 2^15-1 (32,767). tinyint bit 0 1 decimal -10^ ^38 1 numeric -10^ ^38 1 money -2^63 (-922,337,203,685, ) 2^63-1 (+922,337,203,685, ) smallmoney -214, , float -1.79E hasta -2.23E E hasta 1.79E real -3.40E + 38 hasta -1.18E E - 38 hasta 3.40E + 38 datetime 1 de enero de diciembre de 9999 smalldatetime 1 de enero de junio de 2079 char 1 caracter 8000 caracteres varchar 1 caracter 8000 caracteres text 1 caracter 2^31-1 (2,147,483,647) caracteres nchar 1 caracter 4000 caracteres nvarchar 1 caracter 4000 caracteres ntext 1 caracter 2^30-1 (1,073,741,823) binary 1 byte 8000 bytes varbinary 1 byte 8000 bytes image 1 byte 2^31-1 (2,147,483,647) 3 DESCRIBIR LOS ELEMENTOS DE SINTAXIS DE TRANSACT-SQL Nomenclatura 4 campos Los elementos de T-SQL son almacenados como objetos de la Base de Datos. Las referencias a los objetos de Transact-SQL utilizan una nomenclatura utilizando cuatro partes para referenciar los elementos de la Base de Datos: [ ] nombre_servidor.[nombre_basedatos].[nombre_propietario]. nombre_basedatos.[ nombre_propietario]. nombre_propietario. ] Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 5

6 nombre_objeto nombre_servidor, especifica un servidor remoto o un servidor enlazado. nombre_basedatos especifica el nombre de una base de datos almacenada en un servidor de Microsoft SQL Server donde se almacena el objeto. Internamente, especifica un catalogo OLE DB. nombre_propietario especifica el nombre del propietario, dueño del objeto en la base de datos. nombre_objeto se refiere al nombre del objeto. Cuando se referencia un objeto específico, no es siempre necesario indicar el servidor, la base de datos y el propietario para identificar el objeto. Los elementos intermedios pueden ser omitidos y se pueden utilizar puntos para indicar estas posiciones. Los formatos validos para nombrar los objetos son: servidor.basedatos.propietario.objeto servidor. basedatos.. objeto servidor.. propietario. objeto servidor... objeto basedatos. propietario. objeto basedatos.. objeto propietario. objeto objeto Elementos T-SQL Transact-SQL, es un lenguaje de programación de base de datos muy poderoso. T-SQL ofrece muchas características importantes como una amplia variedad de tipo de datos predefinidos y posibilidad de extender con nuevos tipos, objetos temporales, procedimientos almacenados del sistema y posibilidad de extender con nuevos procedimientos almacenados, manejo de cursores, procesamiento condicional y dinámico de comandos SQL, control completo de transacciones, manejo de errores y excepciones, manejo de triggers, manejo de funciones predefinidas y posibilidad de extender con nuevas funciones. Transact-SQL significa mucho más que la idea de agregar el manejo de transacciones al lenguaje de programación de base de datos SQL. Transact-SQL no es un lenguaje de programación que puede ser ejecutado por si solo como un producto standalone. No puede ser utilizado para desarrollar aplicaciones como se puede utilizar C++ o Java. En realidad, Transact-SQL es un motor de programación para bases de datos relaciones provistas por Microsoft y Sybase. Transact-SQL se encuentra totalmente relacionado con SQL y adicionalmente ofrece capacidades para realizar la programación de las bases de datos no soportadas por SQL. Transact-SQL extiende SQL, pero también se integra con él. Se entienden en este manual por comandos SQL los definidos en el estándar SQL (SELECT, DELETE, INSERT, UPDATE) y los comandos propios de T-SQL (CREATE PROC, CREATE FUNCTION, etc). Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 6

7 Elementos de Programación T-SQL a) Amplia variedad de tipos de datos y constantes. b) Objetos temporales. Identificados con el símbolo (#) si son locales y (##) si son globales c) Definición de variables. Identificadas con el símbolo (@) si son locales y (@@) si son globales d) Funciones predefinidas y funciones definidas por el usuario (CREATE FUNCTION) e) Procedimientos almacenados del sistema (sp_*) y definidos por el usuario (CREATE PROC) f) Manejo de cursores DECLARE CURSOR g) Manejo de errores RAISE ERROR h) Operadores especiales de Agregación CUBE COMPUTE BY ROLLUP i) Manejo de transacciones: BEGIN TRAN COMMIT TRAN ROLLBACK TRAN j) Funciones de control de procesamiento: IF... ELSE (condicional) WHILE (repetitivo) GOTO (no estructurado) WAITFOR (mecanismo de delay) 4 DESCRIBIR LAS FUNCIONES BÁSICAS PARA LA GENERACIÓN DE CONSULTAS DEL SQL SERVER MANAGEMENT STUDIO El SQL Server Management Studio es una herramienta integrada para realizar operaciones sobre el motor de SQL Server 2005/2008. Entre estas funciones permite la ejecución interactiva de instrucciones y secuencias de comandos Transact-SQL. Para utilizar las funciones de generación de consultas de SQL Server, los usuarios deben conocer Transact-SQL. Por lo tanto, esta utilidad está dirigida principalmente a los administradores de la base de datos y usuarios avanzados. Los usuarios introducen instrucciones Transact-SQL en una ventana de texto, las ejecutan y muestran los resultados de salida en otra ventana de texto o en una tabla directamente. Los usuarios también pueden abrir un archivo de texto que contenga instrucciones Transact-SQL (comandos batch), ejecutarlas y mostrar los resultados en la ventana de resultados. Las funciones básicas se relacionan con la ejecución de comandos y las funciones avanzadas determinan la optimización y el esquema de operación. Por ejemplo, se puede utilizar el SQL Server Management Studio para determinar si una Tabla de Base de Datos requiere índices y cuales columnas pueden ser indexadas. Con Server Management Studio se puede ejecutar consultas ad-hoc (no realizadas frecuentemente o realizadas para probar una funcionalidad específica del sistema) o ejecutar instrucciones SQL. A continuación se indican algunas funcionalidades básicas de la ejecución de consultas: Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 7

8 a) Obteniendo Información de un objeto de la Base de Datos SQL Server almacena metadata para todos los objetos de la bases de datos. El sistema almacena información para los nombres de las columnas de las tablas, los tipos de datos, y otra información. Esta información puede ser obtenida con el Server Management Studio de una manera sencilla sin necesidad de ubicar el objeto en la base de datos. Por ejemplo se escribe en el SQL Server Management Studio SELECT * FROM EMPLEADOS y se selecciona (se marca resaltado) el texto EMPLEADOS y se presiona Alt+F1; la herramienta muestra toda la información asociada con la Tabla. De igual manera si se selecciona la palabra clave SELECT y se presiona Shift+F1 se muestra la ayuda del comando SELECT. b) Obteniendo Información de un objeto de la Base de Datos En ocasiones no se requiere ejecutar toda una secuencia de comandos de SQL sino uno sólo o inclusive parte de este. Si no se requiere ejecutar todas las instrucciones de una ventana de comandos sino parte de estas, se selecciona la parte a ejecutar y se ejecuta F5. Si únicamente se requiere comprobar sintaxis sin ejecutar se escribe ctrl.+f5. c) Buscando un objeto de la Base de Datos Se emplea la utilidad Object Browser descrita más adelante en el presente manual. d) Utilizando plantillas El QL Server Management Studio ofrece plantillas, esta utilidad será descrita más adelante en el presente manual. e) Funciones avanzadas sobre consultas (Optimización) La optimización de consultas se encuentra fuera del alcance de este curso, pero a continuación se mencionan las funciones dsiponibles: Mostrar el plan de ejecución estimado antes de realizar la consulta. Mostrar el plan de ejecución actual después de realizar la consulta. Mostrar una ventana con la traza para la consulta. Mostrar las estadísticas del lado del cliente una vez ejecutada la consulta. f) Depuración de consultas Con Server Management Studio es posible realizar la depuración de las consultas del sistema así como los procedimientos almacenados y las funciones del la Base de Datos. Ofrece un ambiente integrado de depuración similar al ofrecido por las herramientas visuales de Microsoft. Es posible ejecutar un procedimiento almacenado paso a paso, determinar el valor de las variables, colocar valores para los parámetros, revisar la pila de ejecución en el caso de procedimientos o funciones anidados. 5 DESCRIBIR COMO USAR LA HERRAMIENTA OBJECT BROWSER EN SQL SERVER MANAGEMENT STUDIO Modificando objetos desde una manera rápida desde el Object Browser Muchas veces se requiere modificar un objeto de programación de la base de datos como un procedimiento almacenado o un objeto estático del sistema como una tabla. Las ventajas de utilizar el Object Browser además de ubicar de una manera rápida un objeto es su modificación sin utilizar la sintaxis de T-SQL como ALTER PROC o ALTER TABLE. Para desplegar el Object Browser se presiona F8. La utilidad muestra un árbol conteniendo los objetos del sistema. En el caso de cualquier objeto de programación se pulsa el botón derecho del objeto se selecciona Edit. La herramienta abre una nueva ventana y escribe automáticamente el código ALTER <OBJETO> con el código a modificar. Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 8

9 El Object Browser ofece una serie de menus shortcuts para realizar más operaciones sobre los objetos de la Base de Datos. Por ejemplo se puede enviar el código de los objetos de programación a un archive, ejecutarse desde allí, crear instrucciones de SQL modo CREATE o DROP SQL. Operaciones de Drag and Drop desde el Object Browser El Object Browser es también una fuente de drag and drop. Se puede realizar un arrastre de una tabla desde el Object Browser y colocarla en una ventana de consultas del SQL Server Management Studio y de manera automática se coloca el nombre de la tabla en la consulta. De esta manera se pueden ir armando las consultas de una manera visual. Para realizar arrastre de las columnas, se seleccionan de la tabla y se sueltan en la ventana de consultas, la herramienta coloca los nombres de las columnas separados por comas. Este esquema de trabajo reduce el número de errores de sintaxis al escribir los comandos de SQL. 6 DESCRIBIR COMO USAR LAS PLANTILLAS EN EL SQL SERVER MANAGEMENT STUDIO El SQL Server Management Studio soporta plantillas templates. Las plantillas son archivos conteniendo funcionalidad común y reutilizable en aplicaciones de Bases de Datos. Las plantillas contienen instrucciones de SQL permitiendo construir comandos de SQL de una manera más rápida. Las plantillas son almacenadas en archivos con la extension.tql, y son almacenados en carpetas (llamadas por lo general Templates) debajo del directorio donde se instala el SQL Server Management Studio. Se pueden utilizar las teclas Ctrl+Shift+Ins o Edit -> Insert Template para abrir una plantilla en la ventana de consultas actual. Muchas plantillas contienen parámetros, los cuales son especificados por <>. Las plantillas son archivos planos. Por lo tanto se pueden editar directamente y crear nuevas plantillas con comando complejos de SQL, para poder ser reutilizadas en el futuro. 7 DESCRIBIR COMO USAR LA UTILIDAD DE LÍNEA DE COMANDOS DE SQL SERVER 2005/2008 (SQLCMD) sqlcmd es una utilidad de línea de comandos utilizada para ejecutar secuencias de comandos e instrucciones Transact-SQL ad hoc. Se puede utilizar sqlcmd de manera interactiva o crear archivos de secuencias de comandos. En el entorno sqlcmd se pueden especificar instrucciones T-SQL de forma interactiva del mismo modo que se utilizan en el símbolo del sistema. Los resultados aparecen en la ventana del símbolo del sistema, a menos que especifique otra cosa. El onjunto de resultados se puede enviar a archivos de salida. Se puede enviar un trabajo sqlcmd especificando una sola instrucción T-SQL para ejecutarla o se puede indicar a la utilidad un archivo de secuencia de comandos conteniendo instrucciones T-SQL para ejecutar. sqlcmd puede conectarse a versiones anteriores de SQL Server. Para iniciar la utilidad sqlcmd y conectar con una instancia predeterminada de SQL Server 1. En el menú Inicio, haga clic en Ejecutar. En el cuadro Abrir, escriba cmd y, a continuación, haga clic en Aceptar para abrir una ventana del símbolo del sistema. 2. En el símbolo del sistema, escriba sqlcmd. 3. Presione ENTRAR. Ahora tiene una conexión de confianza con la instancia predeterminada de SQL Server que se está ejecutando en el equipo. 1> es el comando sqlcmd que especifica el número de línea. Cada vez que presione ENTRAR, el número se incrementará en uno. 4. Para finalizar la sesión de sqlcmd, escriba EXIT en el comando sqlcmd. Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 9

10 Para iniciar la utilidad sqlcmd y conectar con una instancia con nombre de SQL Server 1. Abra una ventana del símbolo del sistema y escriba sqlcmd -S miservidor\nombredeinstancia. Reemplace miservidor\nombredeinstancia con el nombre del equipo y la instancia de SQL Server a la que desea conectarse. 2. Presione ENTRAR. El comando sqlcmd (1>) indica que está conectado con la instancia especificada de SQL Server. 8 EJECUTAR COMANDOS TRANSACT-SQL DE VARIAS MANERAS Transact-SQL puede ser utilizado en varios tipos de aplicaciones como las mencionadas a continuación: Aplicaciones de oficina (incremento de productividad). Aplicaciones mostrando una interfaz gráfica de usuario (GUI) permitiendo a los usuarios visualizar datos almacenados en Bases de Datos. Aplicaciones desarrolladas en lenguajes de programación integradas con datos almacenados en Bases de Datos. Aplicaciones comerciales (de negocios) almacenando sus datos en Bases de Datos SQL Server. Aplicaciones de este tipo incluyen aplicaciones desarrolladas por otros vendedores o aplicaciones hechas en casa a la medida. Archivos de scripts Transact-SQL ejecutados en utilitarios como sqlcmd. Aplicaciones creadas con ambientes de desarrollos como Microsoft Visual C++, Microsoft Visual Basic, Microsoft Visual J++, las cuales emplean interfaces de programas de aplicación con bases de datos (APIs) tales como ADO, OLE DB, y ODBC. Páginas Web extrayendo información de bases de datos SQL Server. Sistemas de Bases de Datos distribuidos donde los datos son replicados en varias Bases de Datos por SQL Server o se ejecutan consultas distribuidas. Depósitos de datos ( Data Warehouses ) en las cuales los datos son extraídos a través de sistemas procesamiento de transacciones en línea (OLTP) y procesados por sistemas de soporte a las decisiones. Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 10

11 T-SQL es: La funcionalidad de T-SQL puede ser resumida en tres grandes bloques: Una extensión de SQL para incluir transacciones. La extensión transaccional de SQL Una herramienta programática de las Bases de Datos SQL Server Un lenguaje de Programación 9 RECUPERAR DATOS DESDE TABLAS USANDO EL COMANDO SELECT El comando SELECT permite obtener registros de una base de datos almacenados en una o varias tablas. El comando SELECT especifica un grupo de columnas a consultar con una condición de selección para obtener registros (filas) de una o varias tablas. La sintaxis del comando SELECT es muy extensa y se revisará en detalle a lo largo de este curso. A continuación se muestran las clausulas principales de la instrucción SELECT: SELECT lista_col [ INTO nueva_tabla ] FROM lista_tablas [ WHERE condicion ] [ GROUP BY expression_agrupamiento ] [ HAVING condicion ] [ ORDER BY expression_ordenamiento [ ASC DESC ] ] < lista_col > ::= { * { nombre_tabla nombre_vista alias_tabla }.* { nombre_col expresion IDENTITYCOL ROWGUIDCOL } [ [ AS ] nombre_col ] alias_col = expresion } [,...n ] Argumentos ALL Devuelve todos los registros, inclusive los duplicados. ALL es el argumento defecto. DISTINCT Devuelve los registros no duplicados.. Cláusula INTO Crea una nueva tabla e inserta los registros resultantes de la consulta. Para ejecutar una instrucción SELECT con la cláusula INTO de debe tener permisología CREATE TABLE. Cláusula FROM Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 11

12 Especifica la lista de tablas donde los registros son tomados Syntax [ FROM { < fuente_tabla > } [,...n ] ] < fuente_tabla > ::= nombre_tabla [ [ AS ] alias_tabla ] El manejo complete de la claúsula FROM se discutirá a lo largo de este manual Ejemplos Suponga la existencia de una tabla llamada Empleados conteniendo los siguiente registros Id Nombre Apellido Sueldo 1 Juan Pérez Pedro Rodríguez María Rosas Vicente Vílchez Elena González Nury Ruiz Janeth Domínguez Rosa Alvarez Manuel Perez Al ejecutar el comando: SELECT * from Empleados, el resultado producido es: Id Nombre Apellido Sueldo 1 Juan Pérez Pedro Rodríguez María Rosas Vicente Vílchez Elena González Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 12

13 6 Nury Ruiz Janeth Domínguez Rosa Alvarez Manuel Perez Al ejecutar el comando: SELECT Id, Sueldo from Empleados, el resultado producido es: Id Sueldo FILTRAR DATOS USANDO DIFERENTES CONDICIONES DE BÚSQUEDA PARA USAR CON LA CLÁUSULA WHERE Cláusula WHERE Especifica una condición de búsqueda para restringir las filas (registros devueltos) devueltas, sólo aquellos registros cumpliendo la condición son retornados. A continuación se indica la sintaxis del WHERE [ WHERE < condicion > ] < condicion > ::= { [ NOT ] < predicado > ( < condicion > ) } [ { AND OR } [ NOT ] { < predicado > ( < condicion > ) } ] } [,...n ] Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 13

14 < predicado > ::= { expresion { = < >! = > > =! > < < =! < } expresion expresion_string [ NOT ] LIKE expresion_string [ ESCAPE 'caracter_escape' ] expresion [ NOT ] BETWEEN expresion AND expresion expresion IS [ NOT ] NULL CONTAINS ( { columna * }, '< condicion_contiene >' ) FREETEXT ( { column * }, 'freetext' ) } La sintaxis para las subconsultas y las operaciones de JOIN se revisarán en futuras secciones Utilizando los ejemplos utilizados en este manual. Suponga la existencia de una tabla llamada Empleados conteniendo los siguiente registros Id Nombre Apellido Sueldo 1 Juan Pérez Pedro Rodríguez María Rosas Vicente Vílchez Elena González Nury Ruiz Janeth Domínguez Rosa Alvarez Manuel Perez Al ejecutar el comando: SELECT * FROM Empleados WHERE sueldo >= AND sueldo <= , el resultado producido es: Id Nombre Apellido Sueldo 7 Janeth Domínguez Manuel Perez Al ejecutar el comando: SELECT Id, Nombre, Sueldo FROM Empleados WHERE nombre LIKE M%, el resultado producido es: Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 14

15 Id Nombre Sueldo 3 María Rosas 9 Manuel Al ejecutar el comando: SELECT Id, Nombre, Sueldo FROM Empleados WHERE sueldo BETWEEN AND , el resultado producido es: Id Nombre Sueldo 1 Juan Janeth Manuel FORMATEAR JUEGOS DE RESULTADOS Transact SQL ofrece varias alternativas para procesar los resultados producidos al realizar consultas en las Bases de Datos. Dentro de estas alternativas en esta sección se cubrirá el comando CASE y las cláusulas de Agrupación. Es posible también realizar formateo de las diferentes columnas involucradas en el resultado. Comando CASE El comando CASE permite sustituir valore de resultados de las columnas por otros valores. Trabaja como las instrucciones switch y select de los lenguajes de programación. Suponga la existencia de una tabla llamada Empleados conteniendo los siguiente registros Id Nombre Apellido Sueldo 1 Juan Pérez Pedro Rodríguez María Rosas Vicente Vílchez Elena González Nury Ruiz Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 15

16 7 Janeth Domínguez Rosa Alvarez Manuel Perez Al ejecutar el comando: SELECT Nombre, Apellido, Clasificacion = CASE Sueldo WHEN Sueldo <= THEN Menor WHEN Sueldo BETWEEN AND THEN Mayor WHEN Sueldo > THEN Ejecutivo ELSE sin clasificacion END FROM Empleados, el resultado producido es: Nombre Apellido Clasificación Juan Pérez Menor Pedro Rodríguez Ejecutivo María Rosas Ejecutivo Vicente Vílchez Menor Elena González Ejecutivo Nury Ruiz Menor Janeth Domínguez Mayor Rosa Alvarez Ejecutivo Manuel Perez Mayor Claúsulas de agrupación Las cláusulas de agrupación de T-SQL permiten formatear (con un estilo de reportes) los resultados producidos por una instrucción SELECT. En esta sección sólo se mencionan los comandos, los mismos será cubiertos en detalle a lo largo de este manual. GROUP BY: Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 16

17 Divide una tabla en grupos. Los grupos consisten de nombres de columnas, o resultados o columnas con calculos. Al ejecutar el comando: SELECT Nombre, Apellido, Clasificacion = CASE Sueldo END FROM Empleados WHEN Sueldo <= THEN Menor WHEN Sueldo BETWEEN AND THEN Mayor WHEN Sueldo > THEN Ejecutivo ELSE sin clasificacion GROUP BY Clasificacion el resultado producido es: Nombre Apellido Clasificación Juan Pérez Menor Vicente Vílchez Menor Nury Ruiz Menor Janeth Domínguez Mayor Manuel Perez Mayor Pedro Rodríguez Ejecutivo María Rosas Ejecutivo Elena González Ejecutivo Rosa Alvarez Ejecutivo ORDER BY: Especifica cómo son ordenados los registros obtenidos por la instrucción SELECT. Se especifican los nombres de las columnas. Al ejecutar el comando: SELECT * FROM Empleados ORDER BY sueldo, el resultado producido es: Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 17

18 Id Nombre Apellido Sueldo 6 Nury Ruiz Vicente Vílchez Juan Pérez Manuel Perez Janeth Domínguez Rosa Alvarez María Rosas Elena González Pedro Rodríguez Existen otros comandos de agrupación los cuales afectan la manera como los registros son devueltos en un comando SELECT. CUBE, ROLLUP. 12 DESCRIBIR COMO LAS CONSULTAS SON PROCESADAS El servidor de Base de Datos SQL Server, se compone de dos partes principales: El motor relacional y el motor de almacenamiento. El motor relacional de SQL Server es el encargado de realizar el procesamiento de las consultas. A la izquierda se encuentran los componentes encargados de la compilación de consultas, incluido el optimizador de las consultas. El optimizador es una de las partes más importantes desde el punto de vista del rendimiento, ya que tiene la responsabilidad de procesar una consulta expresada en SQL para convertirla en un conjunto de E/S de disco, filtros y cualquier otra lógica de procedimiento ofreciendo la respuesta a la petición de una manera eficiente. Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 18

19 El procesamiento de consultas sigue las reglas del álgebra relacional basadas en los operadores de UNION e INTERSECCION. Internamente SQL Server trabaja con el concepto de cursores para desplazarse sobre los registros de la Base de Datos. Cuando se involucran consultas involucrando varias Tablas, del tipo JOIN se realiza la intersección de los registros. De la manera menos eficiente se realiza el producto cruzado de todos los registros almacenados en las tablas y después se descartan aquellos que no cumplan la condición. sp 13 DESCRIBIR CONSIDERACIONES DE RENDIMIENTO QUE TIENEN EFECTO AL RECUPERAR DATOS SQL Server posee un optimizador de consultas muy poderoso basado en los denominados planes de ejecución. Esta función es la más avanzada del programa SQL Server Management Studio. Los planes de consultas consisten en estrategias basadas en indexamiento y en agrupación de datos de modo de disminuir los tiempos de respuesta ante los comandos SQL Server. El optimizador de SQL Server se compone varias partes independientes. La primera es un optimizador no basado en costos, denominado optimización de planes triviales. La optimización basada en los costos emplea demasiado tiempo cuando sólo existe un plan viable para la instrucción SQL, en estos casos conviene utiliar una optimización trivial. Un ejemplo típico es una consulta contienendo una instrucción INSERT con una cláusula VALUES. Sólo existe un plan posible. Otro ejemplo es una instrucción SELECT donde todas las columnas se encuentran en un índice único y no existe ningún otro índice que contenga ese conjunto de columnas. Estos dos ejemplos muestran casos en los que SQL Server sólo debe generar el plan sin intentar examinar varios planes para ver si existe alguna posibilidad mejor. El optimizador de planes triviales detecta los planes realmente obvios consumiendo poco tiempo. Por lo tanto, las consultas más simples tienden a eliminarse al inicio del proceso, y de esta manera el optimizador no pierde tiempo buscando un buen plan. Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 19

20 Si el optimizador de planes triviales no detecta un plan, SQL Server pasa a la siguiente parte de la optimización, conocida como simplificación. Las simplificaciones son transformaciones sintácticas de la propia consulta, buscando operaciones y propiedades candidatos a ser conmutados y reorganizados. SQL Server puede realizar plegamientos de constantes y otras operaciones donde no se requiere tener en cuenta el costo ni analizar los índices existentes, el objetivo es producir una consulta más eficaz. A continuación, SQL Server carga la información de estadísticas sobre los índices y las columnas, y pasa a la parte principal y final de la optimización, el optimizador basado en los costos. La optimización basada en los costos se compone de tres fases. La primera, denominada fase de procesamiento de transacciones, detecta los planes para las peticiones simples típicas de los sistemas de procesamiento de transacciones. Normalmente, estas consultas son más complejas de las controladas por el optimizador de planes triviales y necesitan comparar los planes se comparen para encontrar el de menor costo. Una vez finalizada la fase de procesamiento de transacciones, SQL Server compara el costo del plan más económico detectado con un umbral interno. Este umbral se utiliza para determinar si es posible realizar una optimización mayor. Si el costo del plan es menor al del umbral, realizar una optimización adicional sería más costoso que meramente ejecutar el plan ya encontrado. Por lo tanto, SQL Server no realizará una optimización adicional y utilizará el plan encontrado en la fase de procesamiento de transacciones. Si el plan detectado en la fase de procesamiento de transacciones aún resulta caro en comparación con el umbral de esta fase, SQL Server pasará a una segunda fase, en ocasiones se denomina fase QuickPlan (plan rápido). La fase QuickPlan expande la búsqueda de un buen plan para cubrir las opciones indicadas para las consultas moderadamente complejas. QuickPlan examina una serie de planes posibles y, una vez ha finalizado, compara el costo del mejor plan con un segundo umbral. Al igual que en la fase de procesamiento de transacciones, si el costo del plan encontrado es menor al umbral, se detendrá la optimización y se utilizará ese plan. La última fase de la optimización, denominada optimización completa, está dirigida a producir un buen plan para consultas complejas o muy complejas. Una vez detectado un plan, se convierte en el resultado del optimizador y, a continuación, SQL Server utilizará los mecanismos de caché tratados con anterioridad, antes de ejecutar el plan.. En la siguiente figura se muestra el flujo del procesamiento a través del optimizador. Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 20

21 El optimizador de SQL Server ofrece muchos beneficios, pero requiere un amplio conocimiento del manejador, aunque el QL Server Management Studio es capaz de realizar recomendaciones automáticas. A continuación se indican otros criterios a revisar y los cuales afectan sobre el rendimiento de las Bases de Datos Índices: Decidir los índices sobre las tablas, uno principal por clave primaria y otro por columnas involucradas en muchas operaciones de JOIN. Diseño Físico de Base de Datos: Ubicación física de las tablas y criterios de fragmentación tanto interna como externa Ordenamiento: Ordenar físicamente los registros en las tablas Ejecución del lado del cliente o del lado del servidor 14 USAR LA ORDEN TOP N PARA RECUPERAR UNA LISTA DE VALORES TOP ESPECIFICADOS EN UNA TABLA Existen ocasiones donde nos interesa únicamente procesar los primeros N (en valor absoluto o en porcentaje) registros devueltos al realizar una operación de SELECT. A continuación se muestra la sintaxis de T-SQL SELECT [ ALL DISTINCT ] [ TOP n [ PERCENT ] [ WITH TIES ] ] TOP n [PERCENT] Indica que únicamente los primeros n registros serán devueltos al procesarse la consulta. n es un entero cuyos posibles valores varían desde 0 hasta Si PERCENT es indicado, solo los primeros n por ciento de los registros son devueltos. Al especificar PERCENT, n debe ser un entero con valores desde 0 hasta 100. Si la consulta también incluye una cláusula ORDER BY, los primeros n registros (o n porcentaje de registros) ordenados por la cláusula ORDER BY son obtenidos. WITH TIES Permite obtener todos los registros donde hubo empate. Por ejemplo si se requieren los primeros 10 registros cumpliendo una condición y existen 13 registros cumpliendo la condición y los cuatro últimos con los mismos valores, se devuelven los 13. TOP...WITH TIES solo puede ser especificado con la opción ORDER BY. Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 21

22 Suponga la existencia de una tabla llamada Empleados conteniendo los siguiente registros Id Nombre Apellido Sueldo 1 Juan Pérez Pedro Rodríguez María Rosas Vicente Vílchez Elena González Nury Ruiz Janeth Domínguez Rosa Alvarez Manuel Perez Al ejecutar el comando: SELECT TOP 3 Nombre, Apellido FROM Empleados, el resultado producido es: Nombre Juan Pedro María Apellido Pérez Rodríguez Rosas SELECT TOP 20 PERCENT Nombre, Apellido FROM Empleados, el resultado producido es: Nombre Juan Pedro Apellido Pérez Rodríguez 15 GENERAR UN VALOR SIMPLE DE SUMARIO USANDO FUNCIONES AGREGADAS Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 22

23 Las funciones agregadas permiten obtener un valor escalar combinando valores de diferentes registros, por lo general se combinan con la instrucción GROUP BY. Las funciones agregadas disponibles en T-SQL son: AVG : Cálculo del promedio (Media Aritmética) COUNT: Conteo de Registros MAX y MIN : Valores Máximos y Mínimos STDEV y STDEVP: Desviación Estándar SUM: Suma de Valores VAR y VARP: Varianza Suponga la existencia de una tabla llamada Empleados conteniendo los siguiente registros Id Nombre Apellido Sueldo 1 Juan Pérez Pedro Rodríguez María Rosas Vicente Vílchez Elena González Nury Ruiz Janeth Domínguez Rosa Alvarez Manuel Perez Al ejecutar el comando: SELECT MAX(Sueldo) AS maxs, MIN(Sueldo) AS mins FROM Empleados, el resultado producido es: maxs mins Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 23

24 16 ORGANIZAR SUMARIO DE DATOS PARA UNA COLUMNA USANDO FUNCIONES AGREGADAS CON LAS CLÁUSULAS GROUP BY HAVING Al emplear GROUP BY HAVING es posible organizar un grupo de datos generando un reporte donde los datos son agrupados por columnas (GROUP BY) y cumpliendo una condición (HAVING). La sintaxis es como sigue: [ GROUP BY { expresion, [..., n ] } ] [ HAVING condicion_busqueda ] La expresión GROUP BY, divide en grupos los resultados de una consulta. Es generalmente utilizada con funciones agregadas donde se calcula un valor para el grupo. La expresión HAVING, es utilizada para colocar criterios de búsqueda sobre los registros retornados con la instrucción GROUP BY. Cuando no es utilizado con GROUP BY, el comportamiento de HAVING es el mismo al de WHERE. Suponga la existencia de una tabla llamada Empleados conteniendo los siguiente registros Id Nombre Apellido Sueldo Nivel 1 Juan Pérez Pedro Rodríguez María Rosas Vicente Vílchez Elena González Nury Ruiz Janeth Domínguez Rosa Alvarez Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 24

25 9 Manuel Perez Al ejecutar el comando: SELECT SUM(Sueldo) AS Sums, Nivel FROM Empleados GROUP BY Nivel HAVING Nivel >= 4: SumS Nivel GENERAR DATOS DE SUMARIO PARA UNA TABLA USANDO FUNCIONES AGREGADAS CON LA CLÁUSULA GROUP BY Y EL OPERADOR ROLLUP O CUBE Al emplear GROUP BY con los operadores ROLLUP y CUBE se crean registros en las Bases de Datos con valores de resumen (para los datos del mismo grupo). La sintaxis es como sigue: [ GROUP BY { group_by_expression, [..., n ] } [ WITH CUBE WITH ROLLUP ] ] El operador WITH CUBE agrega registros resumen para todos los posibles grupos y sub grupos en los registros devueltos por la consulta. Estos registros muestran resultados calculados por las funciones de agregados especificadas en el comando SELECT AVG, COUNT, MAX, MIN y SUM. Los grupos y los subgrupos son determinados por el orden de especificación de las columnas. Un registro es agregado por cada grupo y subgrupo. CUBE Cuando se especifica en la cláusula GROUP BY además de las registros normalmente proporcionados por GROUP BY, se incluyen registros de resumen en el conjunto de resultados. Se devuelve un registro de resumen GROUP BY por cada posible combinación de grupo y subgrupo del conjunto de resultados. En el resultado se muestra un registro de resumen GROUP BY como NULL, pero se utiliza para indicar todos los valores. Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 25

26 Se utiliza la función GROUPING para determinar si los valores nulos del conjunto de resultados son valores de resumen GROUP BY. El número de registros de resumen del conjunto de resultado se determina mediante el número de columnas indicados en la cláusula GROUP BY. Cada operando (columna) de la cláusula GROUP BY se enlaza según el agrupamiento NULL y aplica el agrupamiento al resto de los operandos (columnas). Como CUBE devuelve todas las combinaciones posibles de grupo y subgrupo, el número de filas es el mismo, independientemente del orden como especifiquen las columnas de agrupamiento. Suponga la existencia de una tabla llamada Ordenes conteniendo los siguiente registros tipo ordenid cantidad descuento normal normal flete descuento Si se ejecuta SELECT tipo, ordenid, SUM (cantidad) from ordenes group by tipo, ordenid with cube Se produce como resultado tipo orden Id Sum(cantidad) descuento descuento descuento NULL flete flete NULL normal normal normal NULL 9923 NULL NULL NULL NULL NULL NULL NULL El operador WITH ROLLUP agrega registros resumen para todos los posibles grupos y sub grupos en los registros devueltos por la consulta y para la entera colección de subgrupos. Estos registros muestran resultados calculados por las funciones de agregados especificadas en el comando SELECT AVG, COUNT, MAX, MIN y SUM. Los grupos y los subgrupos son determinados de manera jerárquica por el orden de especificación de las columnas. Un registro es agregado por cada nivel en la jerarquía de grupos y subgrupos. El orden de las columnas afecta en el número de registros. ROLLUP Cuando se especifica en la claúsula ROLLUP, además de los registros normalmente proporcionados por GROUP BY, deben incluirse registros de resumen en el conjunto de resultados. Los grupos se resumen en un orden jerárquico, desde el nivel inferior del grupo al superior. La jerarquía del grupo se determina mediante el orden como se especifican las columnas de agrupamiento. Cambiar el orden de las columnas de agrupamiento puede Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 26

27 afectar al número de filas producidas en el conjunto de resultados. Si se ejecuta SELECT tipo, ordenid, SUM (cantidad) from ordenes group by tipo, ordenid with rollup Se produce como resultado tipo orden Id Sum(cantidad) descuento descuento descuento NULL flete flete NULL normal normal normal NULL 9923 NULL NULL A continuación se muestran más ejemplos, suponga la existencia de una tabla Empleados Id Nombre Apellido Sueldo Nivel 1 Juan Pérez Pedro Rodríguez María Rosas Vicente Vílchez Elena González Nury Ruiz Janeth Domínguez Rosa Alvarez Manuel Perez Al ejecutar el comando: SELECT Id, SUM(Sueldo) AS Sums, Nivel FROM Empleados GROUP BY Nivel,id WITH CUBE HAVING Nivel >= 4: Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 27

28 Id Sums Nivel null null Para ver la diferencia del orden de las columnas de agrupamiento con la claúsula ROLLUP, Al ejecutar el comando: SELECT Id, SUM(Sueldo) AS Sums, Nivel FROM Empleados GROUP BY id, Nivel WITH ROLLUP HAVING Nivel >= 4: id SumS Nivel Si se cambia el orden de las columnas en el Group By SELECT id, SUM(Sueldo) AS Sums, Nivel FROM Empleado GROUP BY Nivel,id WITH rollup having nivel >= 4 id SumS Nivel NULL Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 28

29 NULL GENERAR REPORTES CONTROL-BREAK USANDO LAS CLÁUSULAS COMPUTE Y COMPUTE BY Al emplear COMPUTE o COMPUTE BY se generan valores calculados para las consultas y se devuelven como registros. La sintaxis es como sigue: [ COMPUTE { AVG ( expresion ) COUNT ( expresion ) MAX ( expresion ) MIN ( expresion ) STDEV ( expresion ) STDEVP ( expresion ) SUM ( expresion ) VAR ( expresion ) VARP ( expresion ) } [..., n ] [ BY expresion, [..., n ] ] La cláusula COMPUTE genera valores empleando una o más funciones agregadas. Los resultados de estos valores calculados son desplegados como registros de la Base de Datos. Cuando se especifica COMPUTE BY se generan breaks y sub totales en los reportes. COMPUTE BY sólo se puede utilizar cuando se especifica ORDER BY y las expresiones utilizadas en ambas deben ser las mismas. COMPUTE y COMPUTE BY pueden aparecer en la misma consulta. 19 USAR ALIAS PARA NOMBRES DE TABLAS La utilización de Alias permite referirse alternativamente al nombre de una tabla. Los Alias son utilizados generalmente en consultas involucrando varias tablas. Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 29

30 Los alias se indican en la cláusula FROM del comando SELECT [ FROM { < fuente_tabla > } [,...n ] ] < fuente_tabla > ::= nombre_tabla [ [ AS ] alias_tabla ] nombre_vista [ [ AS ] alias_tabla ] Una vez definido el alias este puede ser utilizado en cualquier parte del comando SELECT inclusive en la cláusula FROM. Suponga exista un sistema con las siguientes tres tablas. Tabla Producto Codigo Descripción Localidad Tabla Proveedor Codigo Descripción Localidad Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 30

31 Tabla Orden Codigo NumLinea Producto Proveedor PrecioUnitario Cantidad Se puede realizar una consulta involucrando las tres tablas empleando ALIAS de la siguiente manera SELECT O.Codigo, O.Linea, PROD.Descripción, PROV.Descripción FROM Orden O, Producto PROD, Proveedor PROV WHERE O.Producto = PROD.Codigo AND O.Proveedor = PROV.Codigo Una manera alternativa es colocar la palabra clave AS SELECT O.Codigo, O.Linea, PROD.Descripción, PROV.Descripción FROM Orden AS O, Producto AS PROD, Proveedor AS PROV WHERE O.Producto = PROD.Codigo AND O.Proveedor = PROV.Codigo 20 COMBINAR DATOS DESDE DOS O MÁS TABLAS USANDO UNIONES Los lenguajes para la manipulación de datos de SQL utilizan los operadores del álgebra relacional. Los operadores más comunes son la Unión y la Intersección. En esta sección describiremos al Operador UNIÖN. El Operador UNION trabaja como la unión de conjuntos, es decir toma todos los elementos. Cuando se realizan uniones de dos o más tablas el sistema produce como resultado la unión de todos los registros de todas las tablas. Es decir si la Tabla 1 tiene 5 columnas y 10 registros, la tabla 2 5 columnas y 3 registros; al realizar la operación de Unión produce una tabla con 5 columnas y trece registros Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 31

32 Suponga exista un sistema con las siguientes dos tablas. Tabla Producto Codigo Descripción Localidad PROD1 Producto1 Caracas PROD2 Producto2 Caracas PROD3 Producto3 Maracay PROD4 Producto4 Maracay PROD5 Producto5 Maracay PROD6 Producto6 Valencia PROD7 Producto7 Valencia Tabla Proveedor Codigo Descripción Localidad PROV1 Proveedor1 Caracas PROV2 Proveedor2 Caracas PROV3 Proveedor3 Maracay PROV4 Proveedor4 Maracay PROV5 Proveedor5 Maracay PROV6 Proveedor6 Valencia PROV7 Proveedor7 Valencia El operador UNION trabaja de la siguiente manera Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 32

33 Tabla Resultado Union Codigo Descripción Localidad PROD1 Producto1 Caracas PROD2 Producto2 Caracas PROD3 Producto3 Maracay PROD4 Producto4 Maracay PROD5 Producto5 Maracay PROD6 Producto6 Valencia PROD7 Producto7 Valencia PROV1 Proveedor1 Caracas PROV2 Proveedor2 Caracas PROV3 Proveedor3 Maracay PROV4 Proveedor4 Maracay PROV5 Proveedor5 Maracay PROV6 Proveedor6 Valencia PROV7 Proveedor7 Valencia 21 COMBINAR MÚLTIPLES JUEGOS DE RESULTADOS EN UN JUEGO DE RESULTADOS USANDO EL OPERADOR UNION El operador UNION trabaja de la siguiente manera Combina los resultados de dos o más consultas en un conjunto de registros conteniendo todos los registros de las consultas involucradas en la UNION. En el caso del otro operador relacional INTERSECCION se combinan las columnas de varias tablas.. Las dos reglas básicas para combinar registros de dos o más comandos SELECT con UNION son: El número y el orden de las columnas debe ser idéntico en todas las consultas. Los tipos de datos deben ser compatibles. La sintaxis del operador UNION se muestra a continuación { < especificacion_consulta > ( < expresion_consulta > ) } UNION [ ALL ] < especificacion_consulta ( < expresion_consulta > ) [ UNION [ ALL ] < especificacion_consulta ( < expresion_consulta > ) [...n ] ] Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 33

m046a Curso Consultando SQL Server 2005/2008 con Transact-SQL, 15 h

m046a Curso Consultando SQL Server 2005/2008 con Transact-SQL, 15 h L1. ANSI SQL SQL, STANDS STRUCTURED QUERY LANGUAGE ANSI SQL 9 2 ESTANDARD SQL LENGUAJE DBMS RELACIONALES SQL SERVER 2005/2008, DBMS MICROSOFT TRANSACT SQL (T-SQL) LENGUAJE SQL SERVER 2005/2008 T-SQL SE

Más detalles

Procedimientos para agrupar y resumir datos

Procedimientos para agrupar y resumir datos Procedimientos para agrupar y resumir datos Contenido Introducción Presentación de los primeros n valores Uso de funciones de agregado 4 Fundamentos de GROUP BY 8 Generación de valores de agregado dentro

Más detalles

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN Una de las funcionalidades de la sentencia SELECT es el permitir obtener resúmenes

Más detalles

Bases de Datos Relacionales

Bases de Datos Relacionales 2da. Parte Bases de Datos Relacionales Objetivos de la Clase SQL. Tipos de sentencias SQL Describir los tipos de dato que se pueden utilizar al especificar la definición de columnas. Sentencias SQL Select.

Más detalles

8 SQL SERVER 2008 RA-MA

8 SQL SERVER 2008 RA-MA ÍNDICE Capítulo 1. Características, novedades y entorno de trabajo... 17 1.1 Novedades en SQL Server 2008... 17 1.2 Instalación de Microsoft SQL Server 2008... 19 1.3 Versiones de Microsoft SQL Server

Más detalles

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA ÍNDICE CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO...17 1.1 NOVEDADES EN SQL SERVER 2008 R2...17 1.2 INSTALACIÓN DE MICROSOFT SQL SERVER 2008 R2...18 1.3 VERSIONES DE MICROSOFT SQL SERVER

Más detalles

Curso Oficial Microsoft: LENGUAJE DE CONSULTA DE SQL SERVER. Duración : 35 Hrs.

Curso Oficial Microsoft: LENGUAJE DE CONSULTA DE SQL SERVER. Duración : 35 Hrs. Curso Oficial Microsoft: LENGUAJE DE CONSULTA DE SQL SERVER Duración : 35 Hrs. Sobre este curso Este curso de 5 días impartido por un instructor proporciona a estudiantes con las habilidades técnicas necesarias

Más detalles

ADMINISTRACIÓN DE BASE DE DATOS

ADMINISTRACIÓN DE BASE DE DATOS SQL SERVER T-SQL QUERY s es ADMINISTRADOR GRÁFICO SGBD Elementos objetos Tablas Procedimientos Triggers Funciones Usuarios Permiso Roles Contraseñas Programas DTS (Data Transfer System) Exportación e Importación

Más detalles

MANUAL BÁSICO DEL LENGUAJE SQL

MANUAL BÁSICO DEL LENGUAJE SQL MANUAL BÁSICO DEL LENGUAJE SQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO INTRODUCCIÓN... 3 1. COMANDOS... 4 1.1 Comandos DLL... 4

Más detalles

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

Manual de ACCESS Intermedio

Manual de ACCESS Intermedio Manual de ACCESS Intermedio Funciones agregadas (GROUP BY) Las funciones agregadas proporcionan información estadística sobre conjuntos de registros. Por ejemplo, puede usar una función agregada para contar

Más detalles

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite

Más detalles

2071 Querying Microsoft SQL Server 2000 with Transact- SQL

2071 Querying Microsoft SQL Server 2000 with Transact- SQL 2071 Querying Microsoft SQL Server 2000 with Transact- SQL Introducción La meta de este curso es proveer a los estudiantes con las habilidades técnicas requeridas para escribir consultas básicas de Transact-SQL

Más detalles

Crear BD en. Isis Bonet Cruz, PhD

Crear BD en. Isis Bonet Cruz, PhD Crear BD en Isis Bonet Cruz, PhD SQL Server Microsoft SQL Server es un sistema de administración y análisis de bases de datos relacionales de Microsoft para soluciones de comercio electrónico, línea de

Más detalles

BASES DE DATOS SQL MÁS S DE SQL (DML) OPERADOR UNION (L30) <SELECT1> UNION <SELECT2> UNION <SELECTN> Copyright 2006, 2007 Instituto Gala

BASES DE DATOS SQL MÁS S DE SQL (DML) OPERADOR UNION (L30) <SELECT1> UNION <SELECT2> UNION <SELECTN> Copyright 2006, 2007 Instituto Gala OPERADOR UNION (L30) UNION UNION OPERADOR INTERSECCION (L31) OPERADOR RELACIONAL INTERSECCION, DEVUELVE REGISTROS CON CAMPOS COMUNES. LAS TABLAS INVOLUCREADAS DEBEN TENER

Más detalles

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo. CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia

Más detalles

3 Consultas y subconsultas

3 Consultas y subconsultas 3 Consultas y subconsultas En SQL, la sentencia SELECT permite escribir una consulta o requerimiento de acceso a datos almacenados en una base de datos relacional. Dichas consultas SQL van desde una operación

Más detalles

2- Creación de tablas y manejos de datos.

2- Creación de tablas y manejos de datos. 2- Creación de tablas y manejos de datos. Objetivos: Crear tablas completas. Identificar qué tipo de datos a usar en cada campo Recursos: SQL SERVER 2012 Guías de práctica. http://msdn.microsoft.com/es-es/library/ms187752.aspx

Más detalles

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas)

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Lo que aprenderá Esta clase es aplicable para los usuarios de Oracle8i, Oracle9i y Oracle Database 10g. En este

Más detalles

CAPITULO 9. Diseño de una Base de Datos Relacional Distribuida

CAPITULO 9. Diseño de una Base de Datos Relacional Distribuida 9.1 Operaciones CAPITULO 9 Diseño de una Base de Datos Relacional Distribuida Las consultas distribuidas obtienen acceso a datos de varios orígenes de datos homogéneos o heterogéneos. Estos orígenes de

Más detalles

A.1. Definiciones de datos en SQL

A.1. Definiciones de datos en SQL A.1. Definiciones de datos en SQL Las Sentencias del lenguaje de definición de datos (DDL) que posee SQL operan en base a tablas. Las Principales sentencias DDL son las siguientes: CREATE TABLE DROP TABLE

Más detalles

CURSO DE SQL SERVER 2005

CURSO DE SQL SERVER 2005 CURSO DE SQL SERVER 2005 Una vez finalizado el curso, el alumno estará preparado para: Instalar y configurar SQL Server 2005. Comprender los conceptos más importantes del diseño de bases de datos. Crear

Más detalles

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Práctica preliminar Crear la siguiente base de datos de prácticas

Más detalles

ST31_Querying Microsoft SQL Server

ST31_Querying Microsoft SQL Server ST31_Querying Microsoft SQL Server Presentación Este curso de 5 días proporciona a los estudiantes las habilidades técnicas necesarias para escribir consultas de Transact-SQL básicas para Microsoft SQL

Más detalles

1. DML. Las subconsultas

1. DML. Las subconsultas 1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se

Más detalles

CONSULTAS BASICAS EN SQL SERVER

CONSULTAS BASICAS EN SQL SERVER CONSULTAS BASICAS EN SQL SERVER CONSULTAS DE SELECCION Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta

Más detalles

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle: PL/SQL (Procedural Language/Structured Query Language) PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los

Más detalles

Microsoft SQL Server 2005

Microsoft SQL Server 2005 Microsoft SQL Server 2005 Módulo 1: Diseño y programación Estudia el servidor de bases de datos SQL Server 2005 desde el punto de vista de un diseñador y programador de bases de datos, prestando atención

Más detalles

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia

Más detalles

Sub consultas avanzadas

Sub consultas avanzadas Sub consultas avanzadas Objetivo Después de completar este capítulo conocerá lo siguiente: Escribir una consulta de múltiples columnas Describir y explicar el comportamiento de las sub consultas cuando

Más detalles

MS_20461 Querying Microsoft SQL Server

MS_20461 Querying Microsoft SQL Server Gold Learning Gold Business Intelligence Silver Data Plataform www.ked.com.mx Por favor no imprimas este documento si no es necesario. Introducción. Este curso proporciona a los estudiantes las habilidades

Más detalles

Entrarás a formar parte de nuestra bolsa de empleo a la que acuden las empresas en busca de nuestros alumnos.

Entrarás a formar parte de nuestra bolsa de empleo a la que acuden las empresas en busca de nuestros alumnos. CURSO PROFESIONAL DE TRANSACT-SQL MÁSTER EN DESARROLLO DE APLICACIONES WEB CON JAVA ENTERPRISE EDITION Precio: 450 Euros y Matrícula Gratis. Modalidad: Presencial en nuestras aulas. Valores añadidos: Nuestro

Más detalles

5- Uso de sentencias avanzadas

5- Uso de sentencias avanzadas Objetivos: 5- Uso de sentencias avanzadas Elaborar sentencias de manejo de datos. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Introducción: Después de trabajar con las sentencias

Más detalles

Base de datos I Facultad de Ingeniería. Escuela de computación.

Base de datos I Facultad de Ingeniería. Escuela de computación. Base de datos I Facultad de Ingeniería. Escuela de computación. 1 2 Base de datos I, Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Bases de datos I en el desarrollo de

Más detalles

Administración y programación de Bases de Datos con SQL Server 2005

Administración y programación de Bases de Datos con SQL Server 2005 Administración y programación de Bases de Datos con SQL Server 2005 Este curso trata las diferentes tareas necesarias para llevar a cabo el despliegue, diseño, implementación y mantenimiento de bases de

Más detalles

Curso SQL Nivel Avanzado 1. Miguel Jurado García

Curso SQL Nivel Avanzado 1. Miguel Jurado García Curso SQL Nivel Avanzado 1 Miguel Jurado García Temario Sesión 1: 1- Elementos de Sintaxis Uso de Variables Collation y las Fechas Construcción de Sentencias Dinámicas 2- SQL Server Management Studio Filtrado

Más detalles

ÍNDICE. Introducción... Capítulo 1. Novedades, mejoras y requisitos para la instalación... 1

ÍNDICE. Introducción... Capítulo 1. Novedades, mejoras y requisitos para la instalación... 1 Introducción... XIII Capítulo 1. Novedades, mejoras y requisitos para la instalación... 1 Novedades y mejoras en SQL Server 2008 R2... 1 Novedades... 1 Mejoras... 3 Ediciones y componentes en SQL Server

Más detalles

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1 Introducción... XIII Capítulo 1. Novedades de Access 2013... 1 Nuevas posibilidades de cifrado, compactación y reparación de archivos... 1 Trabajo en la nube... 2 Compartir la información... 3 Guardar

Más detalles

Guía práctica de SQL

Guía práctica de SQL Guía práctica de SQL Francisco Charte Ojeda Agradecimientos Introducción Qué es SQL? Aplicaciones de SQL Intérpretes de SQL Tipos de RDBMS Cómo usar este libro Convenciones tipográficas 1. El modelo relacional

Más detalles

MS_10774 Querying Microsoft SQL Server 2012

MS_10774 Querying Microsoft SQL Server 2012 Querying Microsoft SQL Server 2012 www.ked.com.mx Av. Revolución No. 374 Col. San Pedro de los Pinos, C.P. 03800, México, D.F. Tel/Fax: 52785560 Introducción Este curso de cinco días impartido por instructor,

Más detalles

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25.

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25. INDICE Programación Introducción 706 Capitulo 21 BASIC 711 Introducción 711 Sintaxis 713 Procedimientos y control de flujo 713 Tipos de datos 714 Disponibilidad y variantes del dialecto 714 Capitulo 22.

Más detalles

Tecnología de la Información y la Comunicación. Base de datos. Consultas - 2007 -

Tecnología de la Información y la Comunicación. Base de datos. Consultas - 2007 - Tecnología de la Información y la Comunicación Base de datos Consultas - 2007 - Profesores del área Informática: Guillermo Storti Gladys Ríos Gabriel Campodónico Consultas Se utilizan consultas para ver,

Más detalles

El lenguaje SQL es un lenguaje estándar para el acceso y

El lenguaje SQL es un lenguaje estándar para el acceso y 1. INTRODUCCIÓN El lenguaje SQL es un lenguaje estándar para el acceso y manipulación de bases de datos relacionales como SQL Server. Esto quiere decir que aprender SQL es algo indispensable para cualquier

Más detalles

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN Tipos de datos SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las tablas, los tipos

Más detalles

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional PROGRAMAS DE ESTUDIO FORMATO 7 NOMBRE DE LA ASIGNATURA INTRODUCCIÓN A SQL CICLO, AREA O MODULO Área de Formación Profesional CLAVE DE LA ASIGNATURA IT222 OBJETIVOS GENERALES DE LA ASIGNATURA Al final del

Más detalles

A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla.

A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla. 4. TABLAS A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla. 4.1. Principales Elementos Al momento de generar y diseñar una tabla es importante

Más detalles

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas.

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas. Vistas. El resultado de una consulta en el caso de SQL siempre es una tabla, ésta se puede hacer permanente dentro de la base de datos. En este caso se dice que esta tabla resultado es una vista o una

Más detalles

Microsoft SQL Server Conceptos.

Microsoft SQL Server Conceptos. Microsoft Conceptos. Microsoft 2005 es una plataforma de base de datos a gran escala de procesamiento de transacciones en línea (OLTP) y de procesamiento analítico en línea (OLAP). La siguiente tabla muestra

Más detalles

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 )

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 ) Definiciones Transacciones ( L33 ) CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) Transacciones En Microsoft ( L33 ) MANUAL (REQUIERE PROGRAMACION) AUTOMATICO (COM+ O DTM) DTM (DISTRIBUTED TRANSACTION

Más detalles

Documento Informativo

Documento Informativo UNIVERSIDAD DE IBAGUE FACULTAD DE INGENIERÍA PROGRAMA: INGENIERÍA DE SISTEMAS ASIGNATURA: Electiva I CÓDIGO: 2233 ÁREA: SISTEMAS CICLO: PROFESIONAL SEMESTRE: VII PRE-REQUISITO: DISEÑO DE BASES DE DATOS

Más detalles

Oracle 12c DISEÑO Y PROGRAMACIÓN

Oracle 12c DISEÑO Y PROGRAMACIÓN Oracle 12c Se estudia el servidor de bases de datos empresarial Oracle 12c, centrándose especialmente en el punto de vista de un diseñador o programador de bases de datos, pero explicando también cómo

Más detalles

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL.

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL. 2.6.1.- Concepto de vista. Una vista es una tabla derivada de otras tablas (básicas o virtuales). Una vista se caracteriza porque: Se considera que forma parte del esquema externo. Una vista es una tabla

Más detalles

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS Una subconsulta es una consulta que aparece dentro de otra consulta o subconsultas, en

Más detalles

Base de datos Procedimientos Almacenados y Funciones

Base de datos Procedimientos Almacenados y Funciones Base de datos Procedimientos Almacenados y Eduardo Saavedra A. Universidad Nacional Andrés Bello 4 de noviembre de 2008 Contenidos Ventajas 1 Ventajas 2 3 4 5 Conceptos Ejemplo 6 Procedimiento Almacenado

Más detalles

Uso de las herramientas de consulta de Transact-SQL

Uso de las herramientas de consulta de Transact-SQL Uso de las herramientas de consulta de Transact-SQL Contenido Introducción 1 Analizador de consultas SQL 2 Uso de la herramienta Examinador de objetos en el Analizador de consultas SQL 3 Uso de plantillas

Más detalles

6- Combinación de tablas

6- Combinación de tablas Objetivos: 6- Combinación de tablas Utiliza sentencias para unir los datos de diferentes tablas. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Script de bases de datos. Introducción

Más detalles

SQL Los fundamentos del lenguaje

SQL Los fundamentos del lenguaje Introducción 1. Un poco de historia 11 2. Las normas SQL 12 3. Descripción rápida del modelo relacional 14 3.1 Principales conceptos del modelo relacional 15 3.2 Principales reglas 16 4. Los operadores

Más detalles

8283: Administración y programación en Microsoft SQL Server 2012

8283: Administración y programación en Microsoft SQL Server 2012 8283: Administración y programación en Microsoft SQL Server 2012 Este curso es orientado a los profesionales en desarrollo que desean maximizar la participación de SQL Server 2012 en beneficio del desempeño

Más detalles

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127 I. DATOS INFORMATIVOS Carrera Especialidad Curso Código Ciclo : Tercero Requisitos Duración Horas Semana : 06 horas Versión : v.0110 II. SUMILLA : COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería

Más detalles

Índice. iii. Objetivos... 24

Índice. iii. Objetivos... 24 Índice Objetivos... 2 1: Modelación de base de datos... 2 2: Ejemplo de un caso de negocios... 3 2.1: Requerimientos de la aplicación... 4 2.2: Características de flujo de información... 4 2.3: Diagrama

Más detalles

Querying Microsoft SQL Server 2012

Querying Microsoft SQL Server 2012 Cursos Especialización Versión 1.0 13/02/2013 Tabla de contenido 1. Introducción... 3 2. Objetivos... 3 3. Prerrequisitos... 4 4. Duración y Precio... 4 5. Contenido... 4 2 Cursos Especialización Querying

Más detalles

m046a Curso Consultando SQL Server 2005/2008 con Transact-SQL, 15 h

m046a Curso Consultando SQL Server 2005/2008 con Transact-SQL, 15 h Alias Nombres Tablas ( L19 ) UNA VEZ INDICADO SE UTI LIZAN EN LAS CONSULTAS, EN LUGAR DE ESCRIBIR EL NOMBRE COMPLETO DE LA TABLA SE INDICAN EN LA CLAÚSULA FROM PALABRA CLAVE OPCIONAL AS SINTAXIS [ FROM

Más detalles

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints Crear Una Base De Datos (L12) A TRAVÉS DE LA CONSOLA DE ADMINISTRACIÓN A TRAVÉS DEL ASISTENTE DE BASES DE DATOS (DATABASE WIZARD) A TRAVÉS DE COMANDOS SQL (CREATE DATABASE, CREATE TABLE) Crear Un Grupo

Más detalles

Formularios. Formularios Diapositiva 1

Formularios. Formularios Diapositiva 1 Formularios Crear un formulario utilizando el Asistente para formularios Modificación en vista Diseño Adición de Controles a un Formulario Adición de un Subformulario a un formulario Formularios Diapositiva

Más detalles

ÍNDICE INTRODUCCIÓN...13

ÍNDICE INTRODUCCIÓN...13 ÍNDICE INTRODUCCIÓN...13 CAPÍTULO 1. EL MODELO RELACIONAL. LENGUAJE SQL...17 1.1 INTRODUCCIÓN AL MODELO RELACIONAL...17 1.2 RELACIONES...19 1.2.1 Definición formal de relación...21 1.2.2 Propiedades y

Más detalles

SENTENCIAS Y CONSULTAS EN SQL SERVER

SENTENCIAS Y CONSULTAS EN SQL SERVER SENTENCIAS Y CONSULTAS EN SQL SERVER En esta sección nos preocuparemos por conocer, las consultas en SQL que describiremos aquí. Para eso haremos un pequeño de las palabras claves que se utilizan en SQL,

Más detalles

Capítulo 9. Archivos de sintaxis

Capítulo 9. Archivos de sintaxis Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta

Más detalles

abacformacio@abacformacio.com 1

abacformacio@abacformacio.com 1 Cu Oracle 10gg Estudia el servidor de bases de datos Oracle 10g desde el punto de vista de un diseñador y programador de bases de datos, prestando atención a los objetos que puede crear, como tablas, consultas

Más detalles

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales.

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales. SQL (Lenguaje de Consulta Estructurado): Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales. ANSI (Instituto

Más detalles

ESPECIALISTA EN BASE DE DATOS

ESPECIALISTA EN BASE DE DATOS ESPECIALISTA EN BASE DE DATOS EXPERTO ANALISIS Y DISEÑO DE BASE DE DATOS EN MANEJAR BASES DE ACCESS COMPLETO DATOS MYSQL Requisito: Manejo Windows POSTGRESQL DURACION: 3 MESES DE L-V SQL SERVER Cliente-Administración

Más detalles

Bases de Datos: Structured Query Language (SQL)

Bases de Datos: Structured Query Language (SQL) Structured Query Language (SQL): Introducción Bases de Datos: Structured Query Language (SQL) Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile

Más detalles

Objetos de la Base de Datos

Objetos de la Base de Datos Objetos de la Base de Datos Todos los datos de una base de datos de Microsoft SQL Server 2005/8 están contenidos en objetos llamados tablas. Cada tabla representa algún tipo de objeto con significado para

Más detalles

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access)

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access) Administración de la producción Sesión 10: Gestor de Base de Datos (Access) Contextualización Microsoft Access es un sistema de gestión de bases de datos, creado para uso personal y de pequeñas organizaciones,

Más detalles

Base de datos relacional

Base de datos relacional Base de datos relacional Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar

Más detalles

CAPÍTULO 3 VISUAL BASIC

CAPÍTULO 3 VISUAL BASIC CAPÍTULO 3 VISUAL BASIC 3.1 Visual Basic Microsoft Visual Basic es la actual y mejor representación del viejo lenguaje BASIC, le proporciona un sistema completo para el desarrollo de aplicaciones para

Más detalles

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL. GUIA DE LABORATORIO # 5 Nombre de la Practica: Manipulación de datos Lugar de ejecución: Centro de Computo MATERIA: Base de Datos II CICLO: 02-2012 I. OBJETIVOS ESPECIFICOS Qué el estudiante: Manipule

Más detalles

CURSORES EN SQL SERVER

CURSORES EN SQL SERVER Año del Centenario de Machu Picchu para el mundo CURSORES EN SQL SERVER Curso: IMPLEMENTACION DE BASE DE DATOS VII Ciclo Integrantes: Vásquez Paredes, Pablo Bustamante Auccasi, Janett Córdova Farfán, Carlos

Más detalles

Práctica A: Procedimientos para agrupar y resumir datos

Práctica A: Procedimientos para agrupar y resumir datos Procedimientos para agrupar y resumir datos 1 Práctica A: Procedimientos para agrupar y resumir datos Objetivos Después de realizar esta práctica, el alumno será capaz de: Utilizar las cláusulas GROUP

Más detalles

GALA MODELO CLIENTE SERVIDOR SQL SERVER MANAGEMENT STUDIO SERVIDOR SQL BASES DE DATOS. Introducción. Describir SQL Server (L1)

GALA MODELO CLIENTE SERVIDOR SQL SERVER MANAGEMENT STUDIO SERVIDOR SQL BASES DE DATOS. Introducción. Describir SQL Server (L1) Describir SQL Server (L1) MODELO CLIENTE SERVIDOR SQL SERVER MANAGEMENT STUDIO SERVIDOR SQL BASES DE DATOS Sistema de Operación SQL Server (L1) WINDOWS 2000/2003 ADVANCED SERVER WINDOWS 2000/2003 SERVER

Más detalles

T12 Vistas y tablas temporales

T12 Vistas y tablas temporales 1 de 9 17/05/2013 14:01 Lecciones SQL > T12 Vistas y tablas temporales En esta sesión vamos a mostrar dos tipos de objetos de uso habitual en cualquier SGBD: las vistas y las tablas temporales. Mientras

Más detalles

Guía de Laboratorio Base de Datos I.

Guía de Laboratorio Base de Datos I. Guía de Laboratorio Base de Datos I. UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA 1- Gestión del SQL Server Management Studio y creación de bases de datos. Objetivos: Identificar el entorno de trabajo

Más detalles

ENTORNO DE DESARROLLO MICROSOFT.NET 2010

ENTORNO DE DESARROLLO MICROSOFT.NET 2010 ENTORNO DE DESARROLLO MICROSOFT.NET 2010 UNIDAD 2 Estructura de contenidos: 1. Conociendo ASP 2. Sitio Web y Proyecto Web 3. WebForm 4. Características de los webforms 5. Entorno del.net 6. Controles básicos

Más detalles

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP Características del Explorador de Windows El Explorador de Windows es una de las aplicaciones más importantes con las que cuenta Windows. Es una herramienta indispensable

Más detalles

Guía de implementación Softland en SQL Server 2012. Versión 1.0

Guía de implementación Softland en SQL Server 2012. Versión 1.0 Guía de implementación Softland en SQL Server 2012 Versión 1.0 Tabla de Contenido 1. INTRODUCCIÓN... 2 2. MIGRACIÓN A SQL SERVER 2012... 2 2.1 Ausencia de Compatibilidad con versiones anteriores... 2 3.

Más detalles

Tipos de datos de campo disponibles en Access (MDB)

Tipos de datos de campo disponibles en Access (MDB) Tipos de datos de campo disponibles en Access (MDB) Nota La información recogida en este tema sólo se aplicará a bases de datos de Microsoft Access (.mdb). La siguiente lista resume todos los tipos de

Más detalles

Toda base de datos relacional se basa en dos objetos

Toda base de datos relacional se basa en dos objetos 1. INTRODUCCIÓN Toda base de datos relacional se basa en dos objetos fundamentales: las tablas y las relaciones. Sin embargo, en SQL Server, una base de datos puede contener otros objetos también importantes.

Más detalles

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

MANUALITO MS-SQL SERVER

MANUALITO MS-SQL SERVER MANUALITO MS-SQL SERVER Contenido 1. Crear Store Procedures en MS SQL Server... 1 2. Crear Triggers en MS SQL Server... 5 3. Crear Vistas en MS SQL Server... 9 1. Crear Store Procedures en MS SQL Server

Más detalles

Curso Excel Básico - Intermedio

Curso Excel Básico - Intermedio Curso Excel Básico - Intermedio Clase 4 Relator: Miguel Rivera Adonis Introducción Base de Datos: Definición de Base de Datos Ordenar datos Formulario Filtros Trabajar con Sub-Totales Validación de Datos

Más detalles

Novedades. Introducción. Potencia

Novedades. Introducción. Potencia Introducción Basado en el demostrado rendimiento y flexibilidad de la versión 8.5, Crystal Reports 9 presenta una amplia variedad de avanzadas funciones para que el diseño, entrega e integración de informes

Más detalles

Sistemas de Datos Curso: Ernesto Chinkes. Subconsultas Stored Procedures - Triggers

Sistemas de Datos Curso: Ernesto Chinkes. Subconsultas Stored Procedures - Triggers Subconsultas Stored Procedures - Triggers Subconsultas Concepto Ubicación En el SELECT En el FROM En el WHERE Operadores IN ANY-ALL EXISTS Concepto Son sentencias SELECT que aparecen dentro de otra consulta

Más detalles

Bases de Datos 2. Teórico

Bases de Datos 2. Teórico Bases de Datos 2 Teórico Structured Query Language (SQL) Características de SQL Standard Opera sobre conjuntos de tuplas: incluso para las operaciones de inserción, borrado y actualización. No elimina

Más detalles

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 1 SQL Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 2 Structured Query Language Lenguaje de consulta para bases de datos comerciales. Originalmente llamado

Más detalles

Bases de datos en Excel

Bases de datos en Excel Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Bases de datos en Excel Hojas de cálculo Tema 5 Bases de datos en Excel Hasta ahora hemos usado Excel básicamente para realizar cálculos

Más detalles

Tema 4. Manipulación de datos con SQL

Tema 4. Manipulación de datos con SQL Tema 4 Manipulación de datos con SQL Índice Tema 4 1. Inserción de registros. Consultas de datos anexados. 2. Modificación de registros. Consultas de actualización. 3. Borrado de registros. Consultas de

Más detalles

9- Procedimientos almacenados.

9- Procedimientos almacenados. Objetivos: 9- Procedimientos almacenados. Crear procedimientos almacenados para ser usados en el desarrollo de software. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Base de datos

Más detalles

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo - 2011

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo - 2011 Structured Query Language () Fundamentos de Bases de Datos InCo - Un poco de historia Lenguajes de consulta relacionales: SEQUEL (IBM-1970) QUEL (Ingres-1970) QBE (IBM-1970) es el lenguaje comercial más

Más detalles

MÓDULO 2: TRATAMIENTO DE DATOS CON HOJA DE CÁLCULO. Tema 1: Gestión de listas de datos y tablas dinámicas. Leire Aldaz, Begoña Eguía y Leire Urcola

MÓDULO 2: TRATAMIENTO DE DATOS CON HOJA DE CÁLCULO. Tema 1: Gestión de listas de datos y tablas dinámicas. Leire Aldaz, Begoña Eguía y Leire Urcola MÓDULO 2: TRATAMIENTO DE DATOS CON HOJA DE CÁLCULO Tema 1: Gestión de listas de datos y tablas dinámicas Leire Aldaz, Begoña Eguía y Leire Urcola Índice del tema - Introducción a las listas de datos -

Más detalles

Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM).

Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM). Base de datos I. Guía 3 1 Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM). Objetivo Específico Creer una base de datos Diseñar y crear tablas para almacenar información Manejar

Más detalles

Tu Educación en Manos de Profesionales

Tu Educación en Manos de Profesionales La Universidad Nacional de Ingeniera (UNI) a través de la Dirección de Posgrado, tiene el agrado de invitarlos a la Segunda Convocatoria de cursos especializados de capacitación y actualización continua

Más detalles