README.md 2.36 KB
Newer Older
M1888's avatar
M1888 committed
1 2
# ttzc0800-harkka

M1888's avatar
M1888 committed
3 4
Tietokannat (TTZC0800) kurssin harkkatyö

M1888's avatar
M1888 committed
5
## Suunnitelmavaihe
M1888's avatar
M1888 committed
6 7 8 9 10

**[Vaatimusmäärittelyyn](vaatimusmaarittely.md)** tästä.

Vaatimusmäärittelyn pohjalta nousi ainakin seuraavanlaisia käsitteitä:

M1888's avatar
M1888 committed
11 12 13 14 15 16
- Kaupunki (sisältää areenoja, joukkueilla kotikaupunki)
- Areena (sisältää otteluita)
- Joukkue (sisältää pelaajia)
- Pelaaja (kuuluu joukkueeseen)
- Ottelu (sisältää tapahtumia)
- Tapahtumat (maali & jäähy, eri tauluista)
M1888's avatar
M1888 committed
17

M1888's avatar
M1888 committed
18
## Toteutus
M1888's avatar
M1888 committed
19

M1888's avatar
M1888 committed
20
Kun kanta oli vihdoin saatu toimimaan, oli aika syöttää tietoja sinne.
M1888's avatar
M1888 committed
21

M1888's avatar
M1888 committed
22 23 24 25 26 27 28 29 30 31 32 33 34 35
Alkuun lisättiin neljä kaupunkia, niiden areenat ja joukkueet.

| Kaupunki | Joukkue | Areena |
|---|---|---|
| Jyväskylä | JYP | LähiTapiola Areena |
| Kuopio | KalPa | Niiralan monttu |
| Tampere | Tappara | Hakametsän jäähalli |
| Pori | Ässät | Isomäki Areena |

Jokaiselle joukkueelle pyrin lisäämään seitsemän pelaajaa - kolme hyökkääjää, kolme puolustajaa sekä yhden maalivahdin.

Näiden välille lähdettiin sitten lisäämään otteluita. Ensimmäisen keksin päästä, ja kahteen jälkimmäiseen totesin helpommaksi käyttää lähteenä oikeita ottelutapahtumia näiden joukkueiden välisistä peleistä.

| Ottelu | Kotijoukkue | Vierasjoukkue | Tulos |
M1888's avatar
M1888 committed
36
|:-:|---|---|:-:|
M1888's avatar
M1888 committed
37 38 39 40 41 42 43
| 1 | JYP | KalPa | 3-2 |
| 2 | Tappara | Ässät | 4-3 |
| 3 | Ässät | KalPa | 3-2 |

Kun ottelut oli saatu lisättyä, oli aika lähteä työstämään erilaisia kyselyitä kannasta.

Pistepörssi (maalit + syötöt yhteenlaskettuna):
M1888's avatar
M1888 committed
44

M1888's avatar
M1888 committed
45
```SQL
M1888's avatar
M1888 committed
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
SELECT CONCAT(p.enimi, ' ', p.snimi) AS Nimi, count(m.pelaaja_id) AS Pts 
    FROM maali AS m 
    INNER JOIN pelaaja AS p 
        ON (p.pelaaja_id = m.pelaaja_id OR p.pelaaja_id = m.syottaja_id) 
    GROUP BY p.pelaaja_id 
    ORDER BY Pts DESC;   -- TODO: laskee kaikki maalit, ei jätä omia maaleja huomiotta.

+------------------+-----+
| Nimi             | Pts |
+------------------+-----+
| Eetu Luostarinen |   3 |
| Niklas Appelgren |   3 |
| David Tomasek    |   2 |
| Anton Stråka    |   2 |
| Teemu Suhonen    |   2 |
| Balazs Sebok     |   2 |
| Aleksi Rekonen   |   2 |
| Mikael Seppälä |   2 |
| Lenni Killinen   |   2 |
| Matti Järvinen  |   2 |
| Saku Salmela     |   1 |
| Niko Ojamäki    |   1 |
| Aleksi Varttinen |   1 |
| Patrik Puistola  |   1 |
| Juuso Ketola     |   1 |
| Hugo Haš        |   1 |
| Joona Riekkinen  |   1 |
+------------------+-----+
17 rows in set (0.00 sec)
M1888's avatar
M1888 committed
75

M1888's avatar
M1888 committed
76
```