Taller 1                               SQL Server Fundamentals
                                                  Taller Nro. 1

    1. Modificación de tipos de datos.

           Usted ha sido contratado por Northwind Ltda. Para rediseñar la base de datos del sistema
           principal de facturación. El objetivo del departamento de IT es optimizar la utilización de los
           dispositivos de almacemiento dado que últimamente los costos de backups en cinta han ido en
           incremento y la gerencia espera minimizarlos en cuanto sea posible.

           Para ello su primera labor es elegir los tipos de datos más adecuados para las tablas
           “Categories” y “Region” y “territories”. Asuma que los datos actuales en las tablas son el
           universo completo de los datos, es decir no se agregarán nuevas categorías, regiones y/o
           territorios.

           Modifique las tablas que tengan lugar utilizando el comando Alter Table y el comando Drop and
           CreateConstraint según sea necesario.

    2. Creación de Vistas
       El departamento de mercadeo necesita un reporte en el cual pueda identificar que productos ha
       comprado cada cliente y cuantas veces ha adquirido dichos productos, con el fin de diseñar una
       campaña enfocada a brindar descuentos a los clientes en el TOP 5 de sus productos favoritos,
       siempre y cuando en el TOP 5 de productos existan productos que han sido adquiridos por el
       cliente en más de 8 ocasiones. De lo contrario solo se ofrecerá descuentos sobre los productos
       que superen este número de ocasiones.

           Para ello, le solicita al departamento de IT un reporte que le permita identificar que productos
           han sido adquiridos por cada cliente y el número de veces que han sido adquiridos. La
           información deberá estar ordenada por 2 columnas cliente y producto más vendido a cada
           cliente. Los campos mínimos que deberá tener el reporte son: Contactname, Productname y
           Quantity (nro de veces que se ha adquirido un producto).

           Recomendaciones: Utilizarsentencias Join, Group by, having, Order y VIEW.

    3. Creación de Objetos
       Cree una nueva table denominada Customer_col basados en la metadata de la tabla Customers
       pero utilice los tipos de datos que considere más apropiados. Ingrese información Real de su
       equipo de trabajo más la información del grupo que esté cerca a usted. En total debe crear 10
       registros.

           Cree una 2 tabla en la cual relacione a cada customerIDcon las siguientes características, color
           favorito, equipo deportivo (futbol, baloncesto, Formula 1, etc), prenda de vestir, fruta, bebida y
           animal. Nombre esta tabla como Custormer_col_deep.


Julián Castiblanco P. http://julycastiblanco.blogspot.com                                               Page 1
Taller 1                           SQL Server Fundamentals
       Cree una nueva vista en la cual relacione la información de estas 2 tablas y denomínela
       vw_customerinDeep.
    4. Aseguramiento de Vistas
              Intente renombrar la tabla “Customer_col” por “Clientes”. Fue posible hacerlo?
              En caso de lograr renombrarla, intente realizar la consulta de la vista. Se generó algún
              error?
              En caso de generarse error renombre la tabla a su nombre original y busque en internet
              o en la ayuda local como asegurar las vistas para que los objetos no sean modificados.
    5. Creación de vistas de negocio
              Genere una vista vw_productospremiun que cumpla las siguientes condiciones.
              Devuelva las columnas CategoryName, ProductName, ContactName, QuantityPerUnit,
              UnitPrice, UnitInStock filtrando la información par alas categoriasBeverages y
              condimients.
              Genere una vistas vw_CategoriesPremiun que devuelva el nombre de la categoría y el
              valor promedio, siempre y cuando el valor promedio sea mayor que 25.
              Genere una vista vw_TerritoriesTarget que devuelva el código del territorio, la
              descriptcion y la región, siempre y cuando pertenezcan a la región 3 o la descripción del
              territorio sea mayor de 10 caracteres.
              Genere una vista vw_CostByBill que devuelva la información del id de la orden, el país
              destino, el valor total de la factura, el número total de productos, el precio máximo y el
              precio mínimo de producto de cada factura.
              Genere una vista vw_ShipperByCountry que devuelva la información de la empresa de
              transporte, el país destino, el total de la carga. Para los meses de octubre, noviembre y
              diciembre de 1996.
    6. Cree un procedimiento almacenados
              Cree el procedimiento stp_clientbyId que como parámetro reciba el ID del cliente y
              devuelva la información básica del cliente.
              Cree el procedimiento stp_billsbyClient que como parámetro reciba el nombre del
              cliente o parte del nombre del cliente y como respuesta entregue el nombre del cliente,
              con las ordenes que ha solicitado, el costo por orden, el valor máximo de producto, el
              valor mínimo de producto y el valor promedio de cada producto.
              Cree una función en la cual al digitar el número de empresa de envío, retorne el nombre
              de la empresa. Cree una vista vw_ShipperByOrder que traiga orderid, contactname,
              employeename (nombre y apellido en un solo campo), empresa de transporte (con la
              función), la carga, el nombre del barco, el país y la ciudad destino.




Julián Castiblanco P. http://julycastiblanco.blogspot.com                                        Page 2

Taller Consultas Básicas SQL Server No 1

  • 1.
    Taller 1 SQL Server Fundamentals Taller Nro. 1 1. Modificación de tipos de datos. Usted ha sido contratado por Northwind Ltda. Para rediseñar la base de datos del sistema principal de facturación. El objetivo del departamento de IT es optimizar la utilización de los dispositivos de almacemiento dado que últimamente los costos de backups en cinta han ido en incremento y la gerencia espera minimizarlos en cuanto sea posible. Para ello su primera labor es elegir los tipos de datos más adecuados para las tablas “Categories” y “Region” y “territories”. Asuma que los datos actuales en las tablas son el universo completo de los datos, es decir no se agregarán nuevas categorías, regiones y/o territorios. Modifique las tablas que tengan lugar utilizando el comando Alter Table y el comando Drop and CreateConstraint según sea necesario. 2. Creación de Vistas El departamento de mercadeo necesita un reporte en el cual pueda identificar que productos ha comprado cada cliente y cuantas veces ha adquirido dichos productos, con el fin de diseñar una campaña enfocada a brindar descuentos a los clientes en el TOP 5 de sus productos favoritos, siempre y cuando en el TOP 5 de productos existan productos que han sido adquiridos por el cliente en más de 8 ocasiones. De lo contrario solo se ofrecerá descuentos sobre los productos que superen este número de ocasiones. Para ello, le solicita al departamento de IT un reporte que le permita identificar que productos han sido adquiridos por cada cliente y el número de veces que han sido adquiridos. La información deberá estar ordenada por 2 columnas cliente y producto más vendido a cada cliente. Los campos mínimos que deberá tener el reporte son: Contactname, Productname y Quantity (nro de veces que se ha adquirido un producto). Recomendaciones: Utilizarsentencias Join, Group by, having, Order y VIEW. 3. Creación de Objetos Cree una nueva table denominada Customer_col basados en la metadata de la tabla Customers pero utilice los tipos de datos que considere más apropiados. Ingrese información Real de su equipo de trabajo más la información del grupo que esté cerca a usted. En total debe crear 10 registros. Cree una 2 tabla en la cual relacione a cada customerIDcon las siguientes características, color favorito, equipo deportivo (futbol, baloncesto, Formula 1, etc), prenda de vestir, fruta, bebida y animal. Nombre esta tabla como Custormer_col_deep. Julián Castiblanco P. http://julycastiblanco.blogspot.com Page 1
  • 2.
    Taller 1 SQL Server Fundamentals Cree una nueva vista en la cual relacione la información de estas 2 tablas y denomínela vw_customerinDeep. 4. Aseguramiento de Vistas Intente renombrar la tabla “Customer_col” por “Clientes”. Fue posible hacerlo? En caso de lograr renombrarla, intente realizar la consulta de la vista. Se generó algún error? En caso de generarse error renombre la tabla a su nombre original y busque en internet o en la ayuda local como asegurar las vistas para que los objetos no sean modificados. 5. Creación de vistas de negocio Genere una vista vw_productospremiun que cumpla las siguientes condiciones. Devuelva las columnas CategoryName, ProductName, ContactName, QuantityPerUnit, UnitPrice, UnitInStock filtrando la información par alas categoriasBeverages y condimients. Genere una vistas vw_CategoriesPremiun que devuelva el nombre de la categoría y el valor promedio, siempre y cuando el valor promedio sea mayor que 25. Genere una vista vw_TerritoriesTarget que devuelva el código del territorio, la descriptcion y la región, siempre y cuando pertenezcan a la región 3 o la descripción del territorio sea mayor de 10 caracteres. Genere una vista vw_CostByBill que devuelva la información del id de la orden, el país destino, el valor total de la factura, el número total de productos, el precio máximo y el precio mínimo de producto de cada factura. Genere una vista vw_ShipperByCountry que devuelva la información de la empresa de transporte, el país destino, el total de la carga. Para los meses de octubre, noviembre y diciembre de 1996. 6. Cree un procedimiento almacenados Cree el procedimiento stp_clientbyId que como parámetro reciba el ID del cliente y devuelva la información básica del cliente. Cree el procedimiento stp_billsbyClient que como parámetro reciba el nombre del cliente o parte del nombre del cliente y como respuesta entregue el nombre del cliente, con las ordenes que ha solicitado, el costo por orden, el valor máximo de producto, el valor mínimo de producto y el valor promedio de cada producto. Cree una función en la cual al digitar el número de empresa de envío, retorne el nombre de la empresa. Cree una vista vw_ShipperByOrder que traiga orderid, contactname, employeename (nombre y apellido en un solo campo), empresa de transporte (con la función), la carga, el nombre del barco, el país y la ciudad destino. Julián Castiblanco P. http://julycastiblanco.blogspot.com Page 2