el lenguaje transact- taller _ 1

Upload: miprincesasofia

Post on 10-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 El Lenguaje Transact- Taller _ 1

    1/9

    Sistema de

    Gestin de la

    Calidad

    Regional Distrito CapitalCentro Gestin Comercial y Mercadeo

    ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION

    MDULO DE FORMACIN:DESARROLLO DE SISTEMAS DE INFORMACION

    Fecha:Abril/07

    Versin 1

    Cdigo:Pgina 1 de 9

    El lenguaje Transact-SQL

    El principal objetivo de una base de datos de Microsoft SQL Server 2000 esalmacenar datos y, posteriormente, poner esos datos a disposicin de lasaplicaciones y usuarios autorizados. Mientras que los administradores de base dedatos crean y mantienen las bases de datos, los usuarios trabajan con elcontenido de las mismas al:

    y Tener acceso o recuperar los datos existentes.

    y Cambiar o actualizar los datos existentes.

    y Agregar o insertar nuevos datos.

    y Eliminar los datos existentes.

    El acceso y modificacin de datos en Microsoft SQL Server se realiza mediante lautilizacin de una aplicacin o herramienta para enviar peticiones de recuperaciny modificacin de datos a SQL Server. Por ejemplo, puede conectarse a SQLServer con el Administrador corporativo de SQL Server, el Analizador de consultasSQL o la herramienta osql para empezar a trabajar con los datos de SQL Server.

    Se necesita entonces de un lenguaje que permita, adems de crear objetos de

    datos, realizar consultas a la informacin almacenada. En los gestoresrelacionales el lenguaje ms comnmente empleado es el SQL, estandarizado porANSI (American Nacional Standard Institute). SQL Server 2000 utiliza un dialectode SQL denominado Transact-SQL.

    Consultas

    El trmino que se utiliza con ms frecuencia es la palabra consulta (Query). Estapalabra hace referencia a cualquier expresin en los dialectos SQL que defina unaoperacin a realizar con los datos del SMBD . Una consulta esta compuesta porlos siguientes elementos:

    Una accin o verbo: determina la operacin a realizar. Ej: SELECT,INSERT o UPDATE

    Un objeto: Usualmente ser una combinacin de campos de las tablas dela base de datos

    Una clusula: determina sobre qu objetos acta el verbo, como porejemplo FROM nombretabla.

  • 8/8/2019 El Lenguaje Transact- Taller _ 1

    2/9

    Sistema de

    Gestin de la

    Calidad

    Regional Distrito CapitalCentro Gestin Comercial y Mercadeo

    ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION

    MDULO DE FORMACIN:DESARROLLO DE SISTEMAS DE INFORMACION

    Fecha:Abril/07

    Versin 1

    Cdigo:Pgina 2 de 9

    Las peticiones de datos se expresan en SQL mediante sentencias. Estassentencias podrn ser escritas por usuarios finales directamente en la pantalla en

    un terminal interactivo o incluidas en programas escritos en otros lenguajes deprogramacin.

    Las tareas que pueden efectuarse con este lenguaje se pueden clasificar en lassiguientes, al tiempo subconjuntos del propio lenguaje:

    Manipulacin de Datos (Data Manipulation Lenguaje, DML) Definicin de Datos (Data Definition Lenguaje, DDL) Control de Datos (Data Control Lenguaje, DCL) Procesado de Transacciones (Transaction Processing Lenguaje, TPL) Control de cursores (Cursor Control Lenguaje, CCL)

    La sentencia SELECT se utiliza fundamentalmente para realizar consultas sobreun determinado subconjunto de datos de los presentes en una o varias tablas denuestras bases.

    SELECT sobre una sola tabla

    SELECT lista de columnas | *FROM tabla[WHERE condicin]

    [ORDER BY columna ]

    Lista de columnas es un conjunto de nombres de columnas de tabla, separadaspor comas. En caso de especificar * se seleccionan todas las columnas de latabla.

    Condicin Cuando se comparan dos valores se realizan segn las siguientesreglas:

    Solo se pueden comparar dos valores cuando son del mismo tipo. Todos lo datos de tipo numrico pueden ser comparados unos con otros

    )por ejemplo un decimal con un entero)

    Para comparar dos valores alfanumricos deben ser de igual longitud. Es permisible la comparacin entre un dato temporal y uno

    alfanumrico. Siempre y cuando este ltimo este escrito en uno de losformatos de tiempo.

    La Clusula WHERE. Condiciones de Seleccin.

  • 8/8/2019 El Lenguaje Transact- Taller _ 1

    3/9

    Sistema de

    Gestin de la

    Calidad

    Regional Distrito CapitalCentro Gestin Comercial y Mercadeo

    ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION

    MDULO DE FORMACIN:DESARROLLO DE SISTEMAS DE INFORMACION

    Fecha:Abril/07

    Versin 1

    Cdigo:Pgina 3 de 9

    La seleccin de filas se especifica en la clusula WHERE mediante predicados.Un predicado expresa una condicin y su resultado puede ser verdadero, falso o

    desconocido.

    Predicados Simples

    Operadores de Comparacin: predicados simples que expresancondiciones de comparacin entre valores. Se especifican con los signosque se detallan en la siguiente tabla:

    = Igual a> Mayor que< Menor que

    >= Mayor o igual que No mayor que

    Comparacin de caracteres. Predicado LIKE :Cuando se requiere precisarbuscar campos que contengan combinaciones de caracteres que cumplanciertas condiciones. Para ello se utiliza el predicado LIKE, segn elsiguiente formato:

    Columna [NOT] LIKE constante_alfanumericaDonde columna (campo) debe ser de tipo alfanumerico.La constante alfanumrica puede ser caracteres normales, caracteres consignificado espacial, caracteres comodines o wildcards. La siguiente tablapresenta los comodines:

    % Cadena de longitud Aleatoria _ Carcter no nulo ( 1 carcter)

    [x-y] Carcter en el rango x hastay

    [^x-y] Carcter fuera del rango xhasta y

    Ejemplos:Las ciudades que empiecen por S WHERE ciudad LIKE S%Las referencias que no tengan un 4 WHERE ciudad LIKE %[^4]%Las referencias que no tengan un 4, 5 o 6 WHERE ciudad LIKE %[4-6]%

  • 8/8/2019 El Lenguaje Transact- Taller _ 1

    4/9

    Sistema de

    Gestin de la

    Calidad

    Regional Distrito CapitalCentro Gestin Comercial y Mercadeo

    ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION

    MDULO DE FORMACIN:DESARROLLO DE SISTEMAS DE INFORMACION

    Fecha:Abril/07

    Versin 1

    Cdigo:Pgina 4 de 9

    Deteccin de valores nulos: En ocasiones es necesario discriminar las filasen funcin de si en una de sus celdas existe un valor o no, esto es si dicha

    celda contiene un valor nulo.Nombre_campo IS [NOT] NULL

    Predicado BETWEEN: Sirve para determinar si un valor est comprendidoo no entre otros dos valores, ambos inclusive.

    Nombre_campo [NOT] BETWEEN expr1 AND expr2 Predicado IN: Sirve para averiguar si el resultado de una expresin est

    incluido en la lista de valores especificados.Nombre_campo [NOT] IN ( Constante1, constante2, ....)Nombre_campo [NOT] IN ( Subconsulta )

    Predicados compuestos

    Son combinaciones de otros predicados, con los operadores lgicos AND, OR yNOT.

    EJERCICIOS PROPUESTOS

    La lista de seleccin

    1 Obtener una lista de todos los productos indicando para cada uno su cdigo,

    nombre categora, precio y precio con I.V.A. incluido (es el precio anterioraumentado en un 16%).

    2 De cada detalle de pedido queremos saber su nmero de pedido, producto,cantidad, precio unitario y valor total.

    3 Listar de cada empleado su nombre, aos que lleva trabajando en la empresay su edad (suponiendo que este ao ya ha cumplido aos).

    Ordenacin de filas.

    4 Obtener la lista de los clientes ordenados por pas, visualizar todas lascolumnas de la tabla.

    5 Obtener los productos ordenados alfabticamente por categora, cuandopertenezcan a la misma categora de acuerdo a sus precios de mayor a menor.

    6 Obtener los pedidos ordenados por fecha de pedido.

    Seleccin de filas.

    7 Listar las cuatro lneas de pedido ms caras (las de mayor importe).

  • 8/8/2019 El Lenguaje Transact- Taller _ 1

    5/9

    Sistema de

    Gestin de la

    Calidad

    Regional Distrito CapitalCentro Gestin Comercial y Mercadeo

    ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION

    MDULO DE FORMACIN:DESARROLLO DE SISTEMAS DE INFORMACION

    Fecha:Abril/07

    Versin 1

    Cdigo:Pgina 5 de 9

    8 Obtener las mismas columnas que en el ejercicio 2 pero sacando nicamentelas 5 lneas de pedido de menor precio unitario.

    9 Listar toda la informacin de los pedidos de marzo.

    10 Listar los clientes que pertenecen a Suramrica.

    11. Listar los productos que no tienen unidades ordenadas.

    12 Listar los productos cuyo nombre tenga ms de 10 caracteres.

  • 8/8/2019 El Lenguaje Transact- Taller _ 1

    6/9

    Sistema de

    Gestin de la

    Calidad

    Regional Distrito CapitalCentro Gestin Comercial y Mercadeo

    ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION

    MDULO DE FORMACIN:DESARROLLO DE SISTEMAS DE INFORMACION

    Fecha:Abril/07

    Versin 1

    Cdigo:Pgina 6 de 9

  • 8/8/2019 El Lenguaje Transact- Taller _ 1

    7/9

    Sistema de

    Gestin de la

    Calidad

    Regional Distrito CapitalCentro Gestin Comercial y Mercadeo

    ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION

    MDULO DE FORMACIN:DESARROLLO DE SISTEMAS DE INFORMACION

    Fecha:Abril/07

    Versin 1

    Cdigo:Pgina 7 de 9

    Solucin de la gua el lenguaje transact-sql 1

    Por:Cindy Rodrguez

    Presentado:Sandra Rueda

    Servicio nacional de aprendizaje-Senacentro de gestin de mercados, logsticas y tecnologas de la informacin y

    la comunicacinAnlisis y desarrollo de sistemas de informacin

    Bogot2010

  • 8/8/2019 El Lenguaje Transact- Taller _ 1

    8/9

    Sistema de

    Gestin de la

    Calidad

    Regional Distrito CapitalCentro Gestin Comercial y Mercadeo

    ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION

    MDULO DE FORMACIN:DESARROLLO DE SISTEMAS DE INFORMACION

    Fecha:Abril/07

    Versin 1

    Cdigo:Pgina 8 de 9

    EJERCICIOS PROPUESTOS

    La lista de seleccin

    1 Obtener una lista de todos los productos indicando para cada uno sucdigo, nombre categora, precio y precio con I.V.A. incluido (es el precioanterior aumentado en un 16%).

    SELECT ProductID, ProductName, CategoryID, UnitPrice, (UnitPrice*1.16) as[valor_Total]FROM Products

    2 De cada detalle de pedido queremos saber su nmero de pedido,producto, cantidad, precio unitario y valor total.

    SELECT orderID,ProductID,Quantity,UnitPrice,((UnitPrice*Quantity)-Discount)as[valor_total]FROM [Order Details]

    3 Listar de cada empleado su nombre, aos que lleva trabajando en laempresa y su edad (suponiendo que este ao ya ha cumplido aos).

    Select LastName,HireDate, birthdate,(2010-YEAR(BirthDate))as[aos_persona],(2010-YEAR(HireDate))as [aos_en_empresa]From Employees

    Ordenacin de filas.

    4 Obtener la lista de los clientes ordenados por pas, visualizar todas lascolumnas de la tabla.

    select*from Customers order by City asc

    5 Obtener los productos ordenados alfabticamente por categora, cuandopertenezcan a la misma categora de acuerdo a sus precios de mayor amenor.

    SELECT ProductID, ProductName, CategoryID, UnitPrice,(UnitPrice*1.16)as[valor_Total]FROM Products

    6 Obtener los pedidos ordenados por fecha de pedido.

    select*from Orders order by orderdate asc

  • 8/8/2019 El Lenguaje Transact- Taller _ 1

    9/9

    Sistema de

    Gestin de la

    Calidad

    Regional Distrito CapitalCentro Gestin Comercial y Mercadeo

    ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION

    MDULO DE FORMACIN:DESARROLLO DE SISTEMAS DE INFORMACION

    Fecha:Abril/07

    Versin 1

    Cdigo:Pgina 9 de 9

    Seleccin de filas.

    7 Listar las cuatro lneas de pedido ms caras (las de mayor importe).Select top 4 * from Orders order by Freight desc

    8 Obtener las mismas columnas que en el ejercicio 2 pero sacandonicamente las 5 lneas de pedido de menor precio unitario.

    select top 5 OrderID,ProductID,UnitPrice,Quantity,Discount,(UnitPrice*Quantity -Discount)as valor_totalfrom [Order Details]

    order by UnitPrice

    9 Listar toda la informacin de los pedidos de marzo.select * from Orders

    where month (OrderDate) =3

    10 Listar los clientes que pertenecen a Suramrica.

    select * from Customers

    where Country LIKE 'Argentina'

    11. Listar los productos que no tienen unidades ordenadas.

    select * from Products

    where UnitsOnOrder LIKE '0'

    12 Listar los productos cuyo nombre tenga ms de 10 caracteres.

    select ProductNamefrom Products

    where ProductName like '%__________%'