README.md 4.88 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 21
### 1. [create-kendokanta.sql](create-kendokanta.sql)

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

M1888's avatar
M1888 committed
24 25
### 2. [insert-teams.sql](insert-teams.sql)

M1888's avatar
M1888 committed
26 27 28 29 30 31 32 33 34 35 36 37 38 39
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
40
|:-:|---|---|:-:|
M1888's avatar
M1888 committed
41 42 43 44 45 46
| 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.

M1888's avatar
M1888 committed
47
### [views.sql](views.sql)
M1888's avatar
M1888 committed
48

M1888's avatar
M1888 committed
49
Näin saatiinkin aikaiseksi kätevät pistepörssit joukkueille ja pelaajille, sekä statistiikkaa jäähyminuuteista.
M1888's avatar
M1888 committed
50

M1888's avatar
M1888 committed
51
```SQL
M1888's avatar
M1888 committed
52
mysql> SELECT * FROM Pisteporssi ORDER BY pts DESC;
M1888's avatar
M1888 committed
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
+------------+--------+-------------+-----+
| pelaaja_id | enimi  | snimi       | pts |
+------------+--------+-------------+-----+
|         24 | Niklas | Appelgren   |   3 |
|         10 | Eetu   | Luostarinen |   3 |
|          1 | David  | Tomasek     |   2 |
|          3 | Anton  | Stråka     |   2 |
|          8 | Balazs | Sebok       |   2 |
|         18 | Teemu  | Suhonen     |   2 |
|         11 | Mikael | Seppälä   |   2 |
|         22 | Aleksi | Rekonen     |   2 |
|         23 | Lenni  | Killinen    |   2 |
|         15 | Matti  | Järvinen   |   2 |
|         16 | Niko   | Ojamäki    |   1 |
|         25 | Saku   | Salmela     |   1 |
|         17 | Patrik | Puistola    |   1 |
|         26 | Aleksi | Varttinen   |   1 |
|         27 | Juuso  | Ketola      |   1 |
|         20 | Hugo   | Haš        |   1 |
|         12 | Joona  | Riekkinen   |   1 |
+------------+--------+-------------+-----+
17 rows in set (0.01 sec)

mysql> SELECT * FROM Joukkue_maalit;
+-----------+------------+--------+
| ottelu_id | joukkue_id | maalit |
+-----------+------------+--------+
|         1 |          1 |      3 |
|         1 |          2 |      2 |
|         3 |          2 |      2 |
|         2 |          3 |      4 |
|         2 |          4 |      3 |
|         3 |          4 |      3 |
+-----------+------------+--------+
6 rows in set (0.01 sec)

mysql> SELECT * FROM Voittajat;
+-----------+------------+---------+--------+
| ottelu_id | joukkue_id | nimi    | maalit |
+-----------+------------+---------+--------+
|         1 |          1 | JYP     |      3 |
|         2 |          3 | Tappara |      4 |
|         3 |          2 | KalPa   |      3 |
+-----------+------------+---------+--------+
3 rows in set (0.00 sec)

M1888's avatar
M1888 committed
99
mysql> SELECT * FROM Pisteporssi_joukkue ORDER BY pts DESC;
M1888's avatar
M1888 committed
100 101 102 103 104 105 106 107 108
+---------+-----+
| nimi    | pts |
+---------+-----+
| JYP     |   1 |
| KalPa   |   1 |
| Tappara |   1 |
+---------+-----+
3 rows in set (0.01 sec)

M1888's avatar
M1888 committed
109
mysql> SELECT * FROM Jaahyt_pelaajat ORDER BY minuutit DESC;
M1888's avatar
M1888 committed
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
+------------+----------+-------------+----------+
| pelaaja_id | enimi    | snimi       | minuutit |
+------------+----------+-------------+----------+
|         12 | Joona    | Riekkinen   | 00:07:00 |
|         23 | Lenni    | Killinen    | 00:06:00 |
|         19 | Valtteri | Kemiläinen | 00:04:00 |
|         26 | Aleksi   | Varttinen   | 00:04:00 |
|          1 | David    | Tomasek     | 00:02:00 |
|          7 | Niko     | Parkkinen   | 00:02:00 |
|          3 | Anton    | Stråka     | 00:02:00 |
|         11 | Mikael   | Seppälä   | 00:02:00 |
|         17 | Patrik   | Puistola    | 00:02:00 |
|          9 | Aleksi   | Klemetti    | 00:02:00 |
|          4 | Anttoni  | Honka       | 00:02:00 |
|         28 | Niklas   | Peltomäki  | 00:02:00 |
|          5 | Joonas   | Viinikainen | 00:02:00 |
|         20 | Hugo     | Haš        | 00:02:00 |
+------------+----------+-------------+----------+
14 rows in set (0.01 sec)

M1888's avatar
M1888 committed
130
mysql> SELECT * FROM Jaahyt_joukkue ORDER BY minuutit DESC;
M1888's avatar
M1888 committed
131 132 133 134 135 136 137 138 139
+---------+----------+
| nimi    | minuutit |
+---------+----------+
| Ässät | 00:12:00 |
| KalPa   | 00:11:00 |
| JYP     | 00:10:00 |
| Tappara | 00:08:00 |
+---------+----------+
4 rows in set (0.00 sec)
M1888's avatar
M1888 committed
140
```