Harjoitus 1: verkkokauppa

Yleistä

Tehtävänä on suunnitella relaatiotietokanta verkkokaupalle. Voit itse valita verkkokaupan aiheen. Tietokannassa tulee säilyttää tietoja kaupan asiakkaista, tuotteista ja tilauksista. Onko kaupassa myynnissä eri tuotekategorioita? Miten saadaan tallennettua tieto tilauksen tuotteista?

Tehtävä

  1. Tee GitHub-repoon kansio t1_verkkokauppa
  2. Suunnittele tietokanta ER-kaavion ja tietokantakaavion avulla. Lisää kaaviot mukaan GitHub-repon kansioon. Visiossa käytä Chen-merkintätapaa ja Kukonaskel-merkintätapaa.

    Visio

  3. Toteuta tietokanta cPanelin alle ja lisää hieman testidataa. Vie tietokanta sql-tiedostona (export) ja lisää se GitHub-repoosi.
  4. Tee kansioon readme.md-tiedosto johon lisäät markdown-syntaksia käyttäen lyhyen kuvauksen tietokannastasi. Lisää aliotsikko Kyselyt ja lisää ratkaisut omassa tietokannassasi alla oleviin kysymyksiin.

Kyselyt

Laadi seuraavat kyselyt phpMyAdminin avulla tietokannassasi. Lisää ratkaisut readme.md-tiedostoon.

  1. hae kaikki tietokantasi asiakkaat, järjestä postitoiminumeron ja nimen mukaiseen järjestykseen (SELECT, ORDER BY).
  2. hae kaikki tietokantasi tuotteet tuotekategorioineen, järjestä tuotekategorian ja nimen mukaan aakkosjärjestykseen (INNER JOIN).
  3. hae tietokannan tietyn asiakasID:n kaikki tilaukset. Näytä asiakkaan nimi ja tilatut tuotteet (INNER JOIN).

    Kysely 3

  4. hae tietyn asiakkaan tilausten määrä (COUNT)
  5. hae tietyn asiakkaan tilaamien tuotteiden yhteissumma (SUM), tarvitset INNER JOIN-kyselyä

    Kysely 5

  6. hae kaikkien asiakkaiden ostosten yhteishinta, ryhmittele asiakkaan nimen mukaan (GROUP BY).

    Kysely 5

  7. Tee yksi INSERT-kysely jossa lisäät testituotteen, nimike "TESTI SAA POISTAA".
  8. Tee yksi UPDATE-kysely jossa muutat tietyn asiakasID:n omaavan asiakkaan yhteystiedot.
  9. Tee yksi DELETE-kysely jossa poistat kaikki tuotteet joiden nimike "TESTI SAA POISTAA".