Project PiggyBank 2014

Project PiggyBank 2014

Start

Project Piggybank

In deze les gaan we nog een laatste maal hands-on met databases.

Als je het goed doet, komen alle aspecten nog een keer terug; het normaliseren, sql als select en insert into, maar ook joins en relaties komen aan bod.

Wat gaan we doen?

We gaan een banksysteem bouwen. In je woonplaats staat een nieuwe bank genaamd PiggyBank. Bij deze bank kun je veilig je geld wegzetten.

Je maakt een mini-website, waarin je een overzicht van alle rekeningen ziet, per rekening een overzicht kan opvragen van bij- en afschrijvingen, en zelf ook nieuwe transacties (overboekingen) kan doen.

Overboekingen kunnen alleen intern. Iedereen in jouw stad moet dus lid worden van deze bank ;)

 

Klik op Volgende om te doen hoe we het gaan aanpakken...

Piggy-Bank
Piggy-Bank

Uitleg Project PiggyBank

Stap 1: De Database

Zoals gelezen op de vorige pagina, maak je een kleine website met een aantal functies.

Voordat het zover is, moeten we eerst helder krijgen welke gegevens we in de databases willen.

Dataset

Vooraf is al bekend geworden dat er met deze dataset gewerkt moet worden. Als je functionaliteit mist, voeg je deze toe. 

telefoonnr, adres, klantnaam, klantnr, woonplaats, rekeningnr, rekeningnaam, roodstaan, transactieid, rekeningnr, tegenrekening, bedrag, datum, balansnatransactie

 

Orden en normaliseer deze gegevens, zorg dat er 3 tabellen ontstaan: klanten, rekeningen, transacties

Maak deze tabellen aan in een nieuwe database, die je piggybank noemt.

Relaties

Je brengt ook relaties aan tussen je tabellen.

Gebruik als voorbeeld dit stuk SQL:

ALTER TABLE tabelnaam
ADD CONSTRAINT fk_kolomnaam
FOREIGN KEY (
kolomnaam)
REFERENCES tabelnaam(
kolomnaam)

 

Leg deze relaties:

1. Er kan alleen een rekeningnummer aangemaakt worden voor een bestaande klant. (De tabel klanten moet dus gekoppeld worden met de tabel rekeningen)

2. Bij een nieuwe transactie, kan er alleen voor bestaande rekeningnummers gekozen worden. (De tabel transacties, moet dus gekoppeld worden aan de tabel rekeningen.)

 

Vul je tabellen klanten, en rekeningen vast met wat data!

 

 

Je website

Zie de afbeeldingen hierover voor voorbeeld hoe je websiteje eruit kan zien.

Zorg in ieder geval dat je dit kunt:

  • Overzicht kan krijgen van alle rekeningnummers + bijhorende klantnamen.
  • Overzicht kan krijgen voor een specifiek rekeningnummer. Geef alle transacties. (Zoals Internetbankieren ook werkt)
  • Nieuwe transacties kan invoeren. Dus een overschrijving tussen 2 bestaande rekeningen.

Alleen als je bovenstaande voor elkaar hebt:

  • Zorg dat je via de website ook nieuwe klanten kan toevoegen.
  • Zorg dat je voor een klant ook rekeningen kan toevoegen.
  • Als je nog tijd over hebt, zie de pagina 'Klaar'.

 

Heel veel plezier gewenst!

Klaar!?

Jij bent snel!

Om je Piggybank nog wat uitdagender te maken, gaan kunnen we nog wat functionaliteit toevoegen:

Rood Staan

Zoals je weet, staat er in de database een veld waarin wordt geregistreerd of iemand rood mag staan.
Zorg ervoor dat als in dit veld op FALSE staat, iemand niet een overboeking kan doen, waarmee hij/zij in het rood komt te staan.

IBAN Check

Zoek je nog meer uitdaging?

Maak dan een script, waarin je een IBAN rekeningnummer kan valideren, en bouw dit in je PiggyBank in, als je een een nieuw rekeningnummer toevoegd aan een klant.

De eisen waaraan een geldig IBAN voldoet, kun je op Wikipedia vinden. Lees dit even zorgvuldig.

Uiteraard programmeer je deze check-module zelf, en gebruik je niet iets wat al bestaat.

 

Als je klaar bent, zou je je eigen rekeningnummers kunnen toevoegen, maar een zelf bedacht nummer niet.

  • Het arrangement Project PiggyBank 2014 is gemaakt met Wikiwijs van Kennisnet. Wikiwijs is hét onderwijsplatform waar je leermiddelen zoekt, maakt en deelt.

    Auteur
    Bert Bredewold Je moet eerst inloggen om feedback aan de auteur te kunnen geven.
    Laatst gewijzigd
    2014-04-23 11:02:24
    Licentie

    Dit lesmateriaal is gepubliceerd onder de Creative Commons Naamsvermelding 3.0 Nederlands licentie. Dit houdt in dat je onder de voorwaarde van naamsvermelding vrij bent om:

    • het werk te delen - te kopiëren, te verspreiden en door te geven via elk medium of bestandsformaat
    • het werk te bewerken - te remixen, te veranderen en afgeleide werken te maken
    • voor alle doeleinden, inclusief commerciële doeleinden.

    Meer informatie over de CC Naamsvermelding 3.0 Nederland licentie.

    Aanvullende informatie over dit lesmateriaal

    Van dit lesmateriaal is de volgende aanvullende informatie beschikbaar:

    Toelichting
    In het kader van PHP + Databases
    Leerniveau
    MBO, Niveau 3: Vakopleiding; MBO, Niveau 4: Middenkaderopleiding;
    Eindgebruiker
    leerling/student
    Moeilijkheidsgraad
    gemiddeld
    Studiebelasting
    0 uur en 50 minuten
  • Downloaden

    Het volledige arrangement is in de onderstaande formaten te downloaden.

    Metadata

    LTI

    Leeromgevingen die gebruik maken van LTI kunnen Wikiwijs arrangementen en toetsen afspelen en resultaten terugkoppelen. Hiervoor moet de leeromgeving wel bij Wikiwijs aangemeld zijn. Wil je gebruik maken van de LTI koppeling? Meld je aan via info@wikiwijs.nl met het verzoek om een LTI koppeling aan te gaan.

    Maak je al gebruik van LTI? Gebruik dan de onderstaande Launch URL’s.

    Arrangement

    IMSCC package

    Wil je de Launch URL’s niet los kopiëren, maar in één keer downloaden? Download dan de IMSCC package.

    Meer informatie voor ontwikkelaars

    Wikiwijs lesmateriaal kan worden gebruikt in een externe leeromgeving. Er kunnen koppelingen worden gemaakt en het lesmateriaal kan op verschillende manieren worden geëxporteerd. Meer informatie hierover kun je vinden op onze Developers Wiki.