Demo 5
SQL-kyselyjä ja dynaamista SQL:ää

Tietokannan rakenne

  1. Aukaise Accessilla sama tietokanta johon teit edellisissä demoissa SQL-kyselyjä. Ellei sinulla ole tätä tietokantaa tallessa niin hae osoitteesta http://www.jyu.fi/tt-appro/2000/tietokannat/demot/demo4/demo4.mdb mallitietokanta. Talleta se omaan hakemistoosi. Aukaise demo4.mdb Accessilla.
  2. SQL-kyselyjen tekeminen on selitetty monisteen sivulta 29 eteenpäin. Kirjoita seuraavat SQL-kyselyt ja talleta jokainen tehtävän numeron mukaan nimettynä:
  3. Laske paljonko rahaa on tullut yhteensä kaikista vuokratapahtumista.

    Tehtävä 1. Hakutulos

  4. Laske paljonko rahaa on keskimäärin tullut yhdestä vuokratapahtumasta.

    Tehtävä 2. Hakutulos

  5. Laske montako vuokraustapahtumaa on ollut.

    Tehtävä 3. Hakutulos

  6. Laske montako kertaa member 2 on vuokrannut.

    Tehtävä 4. Hakutulos

  7. Laske montako kertaa kutakin vuokrattua nauhaa on yhteensä vuokrattu ja paljonko kukin näistä tuonut vuokratuloja.

    Tehtävä 5. Hakutulos

  8. Tee haku, josta selviää jokaisella nauhalla olevan elokuvan nimi, ostohinta ja vuokraushinta. Järjestä lopputulos elokuvan nimen mukaan.

    Tehtävä 6. Hakutulos

  9. Tee haku josta selviää kuka on vuokrannut (nimi), minkä elokuvan, mihin hintaan ja milloin.

    Tehtävä 7. Hakutulos

  10. Montako kertaa Tommi Lahtonen on vuokrannut elokuvia?

    Tehtävä 8. Hakutulos

  11. Tee haku josta näkee kuka (nimi) on vuokrannut kuinkakin monta elokuvaa ja paljonko kukin on yhteensä maksanut vuokrakuluja.

    Tehtävä 9. Hakutulos

  12. Selvitä minkä nimisiä ovat ja kuinka paljon rahaa ovat käyttäneet ne jotka ovat vuokranneet elokuvia vähintään kaksi kertaa.

    Tehtävä 10. Hakutulos

  13. Selvitä kuinka paljon vuokratuloja on tullut kunkin supplierin elokuvista.

    Tehtävä 11. Hakutulos

  14. Selvitä kuinka monta elokuvaa on vuokrannut kukin niistä, jotka ovat käyttäneet rahaa vuokrauksiin yli 30 mk ja laita heidät järjestykseen siten että vähiten tuhlannut on ensimmäisenä.

    Tehtävä 12. Hakutulos

  15. Selvitä ketkä kaikki memberit asuvat samassa osoitteessa.

    Tehtävä 13. Hakutulos

  16. Listaa kaikki tiedot niistä jäsenistä, jotka eivät ole vuokranneet kertaakaan.

    Tehtävä 14. Hakutulos

  17. Selvitä paljonko yksikseen asuvat ovat yhteensä kuluttaneet rahaa elokuvien vuokraamiseen.

    Tehtävä 15. Hakutulos

  18. Laske kuinka montako vuotta kukin member on ollut jäsenenä. Käytä apuna Accessista löytyvää Year-funktiota, joka osaa erottaa Date-tyyppisestä kentästä pelkän vuoden.

    Tehtävä 16. Hakutulos

  19. Listaa KAIKKIEN elokuvien nimet ja niiden keräämät vuokratulot elokuvien nimien mukaan järjestettynä. Ota mukaan myös ne joita ei ole vuokrattu kertaakaan.

    Tehtävä 17. Hakutulos

Dynaaminen SQL

  1. Kirjoita kysely, jolla saat näkyviin kaikki tiedot memberistä, jonka memberID on numero 6. Talleta kysely nimelle member_kysely.
    
    SELECT *
    FROM Member
    WHERE MemberID = 6
    
  2. Luo yksinkertainen raportti member_kysely-kyselyn pohjalta. Talleta raportti nimelle Jäsentiedot.

    Jäsentietoraportti

  3. Tee lomake, jolla voit selailla memberien tietoja. Talleta lomake nimelle Member

    Lomake member-tietojen selailuun

  4. Varmista, että MemberID-kentän nimi on MemberID eli Name-ominaisuuden arvo on MemberID

    MemberID-tiedon sisältävän kentän nimen on oltavat MemberID

  5. Lisää lomakkeelle nappula, joka aukaisee Jäsentiedot raportin Print Preview-tilassa.

    Nappula, joka aukaisee jäsentiedot-raportin

  6. Jäsentiedot-raportti suorittaa aina member_kysely-kyselyn. Seuraavaksi pitäisi muuttaa kyselyä niin, että se hakisi aina juuri sen memberin tiedot, jonka tiedot käyttäjällä on näkyvissä lomakkeella. Muuta member_kysely-kyselyä seuraavanlaiseksi:
    
    SELECT *
    FROM Member
    WHERE MemberID = [Forms]![member]![MemberID]
    
    Kohta [Forms]![member]![MemberID] tarkoittaa, että viitataan member-nimiseen lomakkeeseen ja sen sisällä olevaan memberid-kenttään, jonka arvo sijoitetaan SQL-lauseeseen tähän kyseiseen kohtaan. SQL-kyselyn sisältö muuttuu siis aina sen mukaan mitä lomakkeella lukee -> kysely on muuttunut dynaamiseksi.
  7. Talleta muutettu kysely. Kokeile Member-lomakkeen toimintaa. Selaile eri jäseniä ja testaa näyttääkö raportti aina kyseisen jäsenen tiedot.
  8. Sulje Access ja kopioi käyttämäsi tietokanta talteen.

http://appro.mit.jyu.fi/2000/yhteistoiminta/tietokannat/demot/demo5/index.html
© Tommi Lahtonen ()<URL: http://www.iki.fi/hazor/>
4.10.2000 13:56:30