Databasernas grunder

vår 2026

Projektuppgift 1

Datan i denna uppgift utgörs av en databas som innehåller uppgifter om cykelturer som gjorts med stadscyklarna år 2024 i Helsingfors och Esbo. Databasen bygger på data som publicerats av HSL och som har omvandlats till en SQLite-databas för användning i denna kurs.

Du kan ladda ner databasen här: bikes_2024.zip

Databasen innehåller följande två tabeller:

CREATE TABLE Stations (
    id INTEGER PRIMARY KEY,
    name TEXT
);

CREATE TABLE Trips (
    id INTEGER PRIMARY KEY,
    start_time TEXT,
    end_time TEXT,
    start_station_id INTEGER REFERENCES Stations,
    end_station_id INTEGER REFERENCES Stations,
    distance INTEGER,
    duration INTEGER
);

I kursmaterialet finns mer detaljerad information om databasens innehåll och exempel på databassökningar.

Din uppgift är att skriva kod som innehåller följande funktioner som använder databasen. Du kan själv bestämma i vilken form funktionerna exakt ger resultaten. Det viktiga är att du med hjälp av funktionerna kan hämta de exempelresultat som nämns i deluppgifterna.

Du får ett visst antal poäng för varje deluppgift. Din poäng för uppgiften är summan av poängen för de deluppgifter du har löst.

Deluppgift 1 (4 poäng)

Funktionerna ska ge som resultat exempelvis att 8535 resor har startat från stationen ‘Intiankatu’ och att 8448 resor har avslutats vid den stationen.

Deluppgift 2 (5 poäng)

Funktionerna ska ge följande resultat när limit är 5:

Startstation Slutstation Avstånd (m)
Erottajan aukio Unioninkatu 655225
Gunillantie Workshop Helsinki 425905
Pajamäki Paloheinän kirjasto 393434
Tupasaarentie Marjaniementie 277991
Pitäjänmäen asema Workshop Helsinki 262121
Startstation Slutstation Varaktighet (s)
Lintulahdenkatu Marjaniementie 6286982
Tupasaarentie Marjaniementie 4649106
Ehrenströmintie Workshop Helsinki 4396006
Matinkyläntie Paciuksenkaari 4000567
Kuikkarinne Trumpettikuja 3987658

Sidnot: Dessa uppgifter verkar inte trovärdiga eftersom den avståndsmässigt längsta cykelturen var 655 km och den cykeltur som varade längst tog 73 dagar.

Deluppgift 3 (6 poäng)

Funktionerna ska ge följande resultat:

Månad Antal resor
April 167960
Maj 448518
Juni 469132
Juli 455422
Augusti 492348
September 340507
Oktober 211781
Veckodag Antal resor
Måndag 379173
Tisdag 423740
Onsdag 405657
Torsdag 406417
Fredag 367325
Lördag 311952
Söndag 291404

Deluppgift 4 (7 poäng)

Funktionerna ska ge följande resultat när limit är 5:

Station Antal avgångar
Itämerentori 50441
Töölönlahdenkatu 36382
Rautatientori / länsi 32415
Pasilan asema 30910
Kalasatama (M) 28352
Station Antal avgångar
Relay Box test station 9
Workshop Helsinki 26
Puistolan VPK 393
Sateenkaarentie 418
Jakomäentie 481

Här verkar “Relay Box test station” vara en teststation och “Workshop Helsinki” ett cykelgarage. Den minst populära startstationen verkar således vara “Puistolan VPK”.

Deluppgift 5 (8 poäng)

Funktionen ska ge följande resultat när limit är 5:

Station Antal startade resor Antal avslutade resor Skillnad
Pasilan asema 30910 26670 4240
Karhupuisto 9686 8018 1668
Sompasaari 21604 23158 1554
Vallilan varikko 6068 4647 1421
Opastinsilta 5905 4550 1355

Inlämning

Rapporten ska innehålla din kod.