10 - ipi - consultas a una bd - funciones

Upload: erfolg-villegas-marco

Post on 02-Mar-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    1/42

    INFORMTICA PARA INGENIEROSIngeniera Empresarial

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    2/42

    CONSULTAS A UN BD USO DE FUNCIONES

    Semana 10

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    3/42

    QU ES MS IMPORTANTE DAR O RECUPERAR?

    Cuando se trata de basesde datos, lo ms probablees que tendr querecuperar sus datos con lamisma frecuencia que senecesita para insertardatos.

    Ah es donde entra enjuego esta clase,aprendiendo la poderosa

    declaracin SELECT ycmo acceder a esaimportante informacinalmacenada en las BDs.

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    4/42

    QU SABEMOS HASTA AHORA DE SQL?

    Qu es DDL?

    Qu es DML?

    Qu tipo de

    instrucciones permitencrear una tabal y una

    BD?

    Qu es SQL?

    Cul es la utilidad dellenguaje SQL?

    http://www.google.com.pe/url?sa=i&rct=j&q=&esrc=s&frm=1&source=images&cd=&cad=rja&docid=b8dycXpRLwJJ5M&tbnid=wRyVrZxmfz226M:&ved=0CAUQjRw&url=http://www.troglod.com/sql-cambiar-un-campo-de-forma-masiva/&ei=xJ51Uba_IOz64AOwrIDIBA&bvm=bv.45512109,d.dmg&psig=AFQjCNHQzgXkPuc3VQQIn9vO4htvY6ubKw&ust=1366749238508246http://www.google.com.pe/url?sa=i&rct=j&q=&esrc=s&frm=1&source=images&cd=&cad=rja&docid=b8dycXpRLwJJ5M&tbnid=wRyVrZxmfz226M:&ved=0CAUQjRw&url=http://www.troglod.com/sql-cambiar-un-campo-de-forma-masiva/&ei=xJ51Uba_IOz64AOwrIDIBA&bvm=bv.45512109,d.dmg&psig=AFQjCNHQzgXkPuc3VQQIn9vO4htvY6ubKw&ust=1366749238508246
  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    5/42

    QU PASARA SI

    Tenemos que encontrar

    los registros de la tabla

    productos que empiezan

    por la letra C y que

    pertenecen a la categoracondimentos

    Cmo lo resolvemos?

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    6/42

    LOGRO ESPERADO

    Al trmino de la sesin, el

    estudiante elabora un

    documento describiendo

    cada uno de los puntos

    tratados, acompaado desu respectivo ejemplo,

    para recuperar datos de

    una BD, incluyendo los

    ejercicios propuestos.

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    7/42

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    8/42

    SQL

    Las sentencias SQL siguen este patrn:

    Empiezan por un verbo que indica la accin a realizar,

    completado por el objeto sobre el cual queremos realizar la

    accin,

    seguido de una serie de clusulas (unas obligatorias, otrasopcionales) que completan la frase, y proporcionan ms detalles

    acerca de lo que se quiere hacer.

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    9/42

    SQL

    DDL: verbos bsicos

    CREATE (Crear)

    DROP (Eliminar)

    ALTER (Modificar)

    DML: verbos bsicos

    INSERT (Crear, es decir, insertar una

    nueva fila de datos)

    DELETE (Eliminar filas de datos)

    UPDATE (Modificar filas de datos) SELECT (Seleccionar, obtener)

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    10/42

    AGENDA

    1. Recuperar datos de

    tablas mediante la

    instruccin SELECT

    2. Filtrar los datos

    3. Dar formato a los

    conjuntos de resultados

    4. Cmo se procesan las

    consultas

    5. Consideraciones acerca

    del rendimiento

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    11/42

    1. RECUPERACIN DE DATOS: INSTRUCCIN SELECT

    Uso de la instruccin

    SELECT

    Especificacin de

    columnas

    Uso de la clusula

    WHERE para especificar

    filas

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    12/42

    SELECT [ALL | DISTINCT]

    FROM [,n]WHERE

    Sintaxis parcial

    USO DE LA INSTRUCCIN SELECT

    La lista de seleccin especifica las columnas

    La clusula WHERE especifica las condiciones de

    restriccin de la consulta

    La clusula FROM especifica la tabla

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    13/42

    USO DE LA INSTRUCCIN SELECT

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    14/42

    ESPECIFICACIN DE COLUMNAS

    employeeid lastname firstname title

    1 Davolio Nancy Sales Representative

    2 Fuller Andrew Vice President, Sales

    3 Leverling Janet Sales Representative

    4 Peacock Margaret Sales Representative

    5 Buchanan Steven Sales Manager

    6 Suyama Michael Sales Representative

    7 King Robert Sales Representative

    8 Callahan Laura Inside Sales Coordinator

    9 Dodsworth Anne Sales Representative

    USE northwind

    SELECT employeeid, lastname, firstname, titleFROM employeesGO

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    15/42

    ESPECIFICACIN DE COLUMNAS

    Para la tabla producto mostrar su id,

    nombre, precio unitario, unidades en stock,su punto de reposicin.

    Para la tabla categora mostrar su id,nombre y descripcin.

    De la tabla proveedores obtener su id,nombre de la compaa, ciudad, regin ypas.

    De la tabla clientes mostrar su id, nombrede la compaa, ttulo del contacto, nombredel contacto, ciudad, regin y pas.

    Mostar id, ttulo de cortesa, nombre,apellido, fecha de nacimiento, notas de latabla empleado

    Mostrar el id y nombre de compaa de latabla transportistas

    Mostrar el id y la descripcin de la tablaregin

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    16/42

    USO DE LA CLUSULA WHERE PARA ESPECIFICAR FILAS

    employeeid lastname firstname title

    5 Buchanan Steven Sales Manager

    USE northwindSELECT employeeid, lastname, firstname, titleFROM employeesWHERE employeeid = 5

    GO

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    17/42

    USO DE LA CLUSULA WHERE PARA ESPECIFICAR FILAS

    Para la tabla producto mostrar su id,nombre, precio unitario, unidades enstock que estn descontinuados.

    Mostar id, ttulo de cortesa, nombre,apellido, fecha de nacimiento, notas dela tabla empleado cuya fecha de contrato

    sea 1993/10/17 De la tabla proveedores obtener su id,

    nombre de la compaa, ciudad, regin ypas cuyo pas sea USA

    De la tabla clientes mostrar su id,nombre de la compaa, ttulo del

    contacto, nombre del contacto, ciudad,regin y pas y cuyo cdigo postal es1010

    Para la tabla producto mostrar su id,nombre, precio unitario, unidades enstock que pertenecen a la categora 6.

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    18/42

    AGENDA

    1. Recuperar datos de

    tablas mediante la

    instruccin SELECT

    2. Filtrar los datos

    3. Dar formato a los

    conjuntos de resultados

    4. Cmo se procesan las

    consultas

    5. Consideraciones acerca

    del rendimiento

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    19/42

    2. FILTROS DE DATOS

    Uso de los operadores de

    comparacin

    Uso de comparaciones de

    cadenas

    Uso de operadores lgicos

    Obtencin de un intervalo

    de valores

    Uso de una lista de valores

    como criterio de bsqueda Obtencin de valores

    desconocidos

    A veces se desea limitarel conjunto de

    resultados que

    devuelve una consulta.

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    20/42

    USO DE LOS OPERADORES DE COMPARACIN

    USE northwindSELECT lastname, cityFROM employeesWHERE country = 'USA'

    GO

    lastname city

    Davolio Seattle

    Fuller Tacoma

    Leverling Kirkland

    Peacock Redmond

    Callahan Seattle

    Ejemplo 1

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    21/42

    USO DE COMPARACIONES DE CADENAS

    USE northwindSELECT companynameFROM customersWHERE companyname LIKE '%Restaurant%'GO

    companyname

    GROSELLA-Restaurante

    Lonesome Pine Restaurant

    Tortuga Restaurante

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    22/42

    USO DE OPERADORES LGICOS

    USE northwindSELECT productid, productname, supplierid, unitpriceFROM productsWHERE (productname LIKE 'T%' OR productid = 46)

    AND (unitprice > 16.00)GO

    productid productname supplierid unitprice

    14 Tofu 6 23.25

    29 Thringer Rostbratwurst 12 123.79

    62 Tarte au sucre 29 49.3

    Ejemplo 1

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    23/42

    OBTENCIN DE UN INTERVALO DE VALORES

    USE northwindSELECT productname, unitpriceFROM productsWHERE unitprice BETWEEN 10 AND 20GO

    productname unitprice

    Chai 18

    Chang 19

    Aniseed Syrup 10Genen Shouyu 15.5

    Pavlova 17.45

    Sir Rodney's Scones 10

    Ejemplo 1

    USO DE UNA LISTA DE VALORES COMO CRITERIO DE

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    24/42

    USE northwindSELECT companyname, countryFROM suppliersWHERE country IN ('Japan', 'Italy')

    GO

    USO DE UNA LISTA DE VALORES COMO CRITERIO DEBSQUEDA

    companyname country

    Tokyo Traders Japan

    Mayumi's Japan

    Formaggi Fortini s.r.l. Italy

    Pasta Buttini s.r.l. Italy

    Ejemplo 1

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    25/42

    OBTENCIN DE VALORES DESCONOCIDOS

    USE northwindSELECT companyname, faxFROM suppliersWHERE fax IS NULLGO

    companyname fax

    Exotic Liquids NULL

    New Orleans Cajun Delights NULL

    Tokyo Traders NULL

    Cooperativa de Quesos 'Las Cabras' NULL

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    26/42

    AGENDA

    1. Recuperar datos de

    tablas mediante la

    instruccin SELECT

    2. Filtrar los datos

    3. Dar formato a los

    conjuntos de resultados

    4. Cmo se procesan las

    consultas

    5. Consideraciones acerca

    del rendimiento

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    27/42

    3. DAR FORMATO A LOS CONJUNTOS DE RESULTADOS

    Ordenacin de los datos

    Eliminacin de filas

    duplicadas

    Cambio del nombre de

    las columnas

    Uso de literales

    http://www.google.com.pe/url?sa=i&rct=j&q=&esrc=s&frm=1&source=images&cd=&cad=rja&docid=bcBUiIfo1pNpMM&tbnid=SWxEAzJDTK1ygM:&ved=0CAUQjRw&url=http://elcomercio.pe/economia/1562320/noticia-bolsas-asiaticas-culminan-operaciones-verde-buenos-datos-china&ei=svh1UareG4XK4APU8oCwBw&psig=AFQjCNGrk5pE75LmXuUGFIx5IeDPdK3VBw&ust=1366772251276060http://www.google.com.pe/url?sa=i&rct=j&q=&esrc=s&frm=1&source=images&cd=&cad=rja&docid=bcBUiIfo1pNpMM&tbnid=SWxEAzJDTK1ygM:&ved=0CAUQjRw&url=http://elcomercio.pe/economia/1562320/noticia-bolsas-asiaticas-culminan-operaciones-verde-buenos-datos-china&ei=svh1UareG4XK4APU8oCwBw&psig=AFQjCNGrk5pE75LmXuUGFIx5IeDPdK3VBw&ust=1366772251276060
  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    28/42

    ORDENACIN DE LOS DATOS

    USE northwindSELECT productid, productname, categoryid, unitpriceFROM productsORDER BY categoryid, unitprice DESCGO

    productid productname categoryid unitprice

    38 Cte de Blaye 1 263.5000

    43 Ipoh Coffee 1 46.0000

    2 Chang 1 19.0000

    63 Vegie-spread 2 43.9000

    8 Northwoods Cranberry Sauce 2 40.0000

    61 Sirop d'rable 2 28.5000

    Ejemplo 1

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    29/42

    ELIMINACIN DE FILAS DUPLICADAS

    USE northwindSELECT DISTINCT country

    FROM suppliersORDER BY countryGO

    country

    AustraliaBrazil

    Canada

    Denmark

    Finland

    FranceGermany

    Italy

    Japan

    Netherlands

    NorwaySingapore

    Spain

    Sweden

    UK

    USA

    Ejemplo 1

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    30/42

    CAMBIO DEL NOMBRE DE LAS COLUMNAS

    USE northwind

    SELECT firstname AS First, lastname AS Last,employeeid AS 'Employee ID:'

    FROM employeesGO

    First Last Employee ID:

    Nancy Davolio 1

    Andrew Fuller 2

    Janet Leverling 3

    Margaret Peacock 4Steven Buchanan 5

    Michael Suyama 6

    Robert King 7

    Laura Callahan 8

    Anne Dodsworth 9

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    31/42

    USO DE LITERALES

    USE northwindSELECT firstname, lastname,

    'Nmero de identificacin:', employeeidFROM employeesGO

    First Last Employee ID:

    Nancy Davolio Nmero de identificacin: 1

    Andrew Fuller

    Janet Leverling

    Margaret PeacockSteven Buchanan

    Michael Suyama

    Robert King

    Laura Callahan

    Anne Dodsworth

    Nmero de identificacin: 2

    Nmero de identificacin: 3

    Nmero de identificacin: 4Nmero de identificacin: 5

    Nmero de identificacin: 6

    Nmero de identificacin: 7

    Nmero de identificacin: 8

    Nmero de identificacin: 9

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    32/42

    AGENDA

    1. Recuperar datos de

    tablas mediante la

    instruccin SELECT

    2. Filtrar los datos

    3. Dar formato a los

    conjuntos de resultados

    4. Cmo se procesan las

    consultas

    5. Consideraciones acerca

    del rendimiento

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    33/42

    4. CMO SE PROCESAN LAS CONSULTAS

    Consultas no almacenadas en cach (ad hoc)

    Consultas almacenadas en cach

    EjecutarCompilarOptimizarResolverAnalizar

    Primera ejecucin

    EjecutarCompilarOptimizarResolverAnalizar

    Ejecucin posterior EjecutarProcedimiento

    en cach

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    34/42

    5. CONSIDERACIONES ACERCA DEL RENDIMIENTO

    Las condiciones debsqueda negativaspueden hacer que larecuperacin de datos seams lenta

    La obtencin de datos conLIKE puede resultar mslenta

    Las coincidencias exactas ointervalos hacen que laobtencin de datos sea ms

    rpida La clusula ORDER BY

    puede ralentizar laobtencin de datos

    http://www.google.com.pe/url?sa=i&rct=j&q=&esrc=s&frm=1&source=images&cd=&cad=rja&docid=upAsxkIS8tMnlM&tbnid=DwYdWdpU7gknAM:&ved=0CAUQjRw&url=http://upgraderevista.com/2012/11/26/marcas-del-deporte/&ei=bgJ2UebeCqnh0gGJzYHQCw&psig=AFQjCNHsJKUzacbIVkgPkO7sXWQxg2tqpA&ust=1366774692896672http://www.google.com.pe/url?sa=i&rct=j&q=&esrc=s&frm=1&source=images&cd=&cad=rja&docid=upAsxkIS8tMnlM&tbnid=DwYdWdpU7gknAM:&ved=0CAUQjRw&url=http://upgraderevista.com/2012/11/26/marcas-del-deporte/&ei=bgJ2UebeCqnh0gGJzYHQCw&psig=AFQjCNHsJKUzacbIVkgPkO7sXWQxg2tqpA&ust=1366774692896672
  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    35/42

    REPASO

    Recuperar datos de tablas mediante la instruccin

    SELECT

    Filtros de datos

    Dar formato a los conjuntos de resultados

    Cmo se procesan las consultas

    Consideraciones acerca del rendimiento

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    36/42

    RECORDANDO LA APRENDIDO

    Las consultas son preguntas que le hacemos a un BD

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    37/42

    PREGUNTAS DE REPASO

    Ejemplos de instrucciones DDL Ejemplo de instrucciones DML

    Para qu nos sirve cada una de lassiguientes clusulas: SELECT,WHERE, FROM

    Funcionalidad del *

    Cmo devuelvo los 10 primeroselementos de una tabla?

    De qu manera podemos mostraruna fila especfica de una tabla?

    Cules son los operadores decomparacin?

    Operador que permite comparar

    cadenas Cules son los operadoreslgicos?

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    38/42

    PREGUNTAS DE REPASO

    Operador lgico de negacin Permite mostrar Intervalo

    de valores

    Cundo utilizamos lasinstruciones IN, NOT IN?

    Cmo mostramos valoresdesconocidos ?

    Instruccin que permiteordenar los datos

    Elimina las filas duplicadasen el conjunto de resultados

    Permite cambiar losnombres de las columnas porliterales para mejorar lalegibilidad de los conjuntos deresultados

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    39/42

    EJERCICIOS DE APLICACIN

    Trabajemos!

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    40/42

    PRACTICANDO LO APRENDIDOUsando lo que aprendiste la clase anterior, cree la tabla de esta pgina e introduzca los

    datos que se muestran. Esta tabla es parte de una base de datos denominada drinks

    (bebidas) contiene las recetas para una serie de bebidas que tienen slo dos ingredientes.

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    41/42

    OBTENIENDO INFORMACIN DE UNA TABLA!

    Use la tabla

    easy_drinks que acaba

    de crear y escriba las

    bebidas que resultan de

    cada consulta

  • 7/26/2019 10 - IPI - Consultas a Una BD - Funciones

    42/42

    CONSULTANDO NORTHWIND

    Mostrar todos los productos,

    cuyo nombre comienzan conM y tienen un preciocomprendido entre 10 y 100.

    Mostrar los clientes de USA yFrancia

    Obtener todas las rdenes

    hechas por el empleado concdigo: 3, 5 y 7.

    Listar los empleados que tienecomo jefe al empleado concdigo 5.

    Seleccionar todos los camposdel cliente, cuya compaaempiece con la letra M ypertenezcan al pas de USA.

    De la tabla productos mostrarlos productos descontinuadoso con stock cero.