BramdeWitte
Gebruiker
- Lid geworden
- 25 jan 2010
- Berichten
- 18
Ik heb hier een datamodel.
Laatst bewerkt:
Bekijk de onderstaande video om te zien hoe je onze site als een web app op je startscherm installeert.
Opmerking: Deze functie is mogelijk niet beschikbaar in sommige browsers.
Conclusie: het model klopt niet.
- Donatie bedrag bestaat in geen enkele tabel en is dus niet te zien
- Vraagstelling klopt niet, een donateur sponsort een kind, niet andersom. Verder is de sponsor_kind tabel overbodig (vergeten te normaliseren?) dus is de vraag niet netjes te beantwoorden hoewel je natuurlijk een dubbele "inner join" zou kunnen proberen
- zelfde problemen als bij de vorige vraag
- Er bestaat geen contact tabel en ook geen datum kolom, dus ook deze vraag is niet op te lossen
Nog meer kritiek op het model...
- Ik denk dat er een many-kraaienpootje mist van project naar de koppeltabel sponsor-project
- Ik snap niet waarom er in de koppeltabellen NAW-gegevens zitten
- Ik snap niet waarom de projectnaam (redundant) opgeslagen wordt in de koppeltabel sponsor-project.
Hebben jullie voor je opdracht allemaal een datamodel in moeten leveren en moeten jullie nu vervolgens verder werken met het datamodel van een andere leerling/student? Want als dit het model van de docent is, vrees ik het ergste voor het Nederlandse onderwijs...
Hoi Bram,
Als je wat doet aan de drie punten die ik noem en alle punten die flitsflitsflits noemde, kom je er vast wat verder mee.
Overigens is die koppeltabel tussen sponsor en kind wel nodig als een kind ook meerdere sponsors kan hebben. Maar dan mist er volgens mij ook daar een many-kraaienpootje (net als ik noemde bij de andere koppeltabel).
Waarom heb je geen entiteit donatie meer? of wil je van een donatie niets weten behalve het bedrag?
Ja in dat plaatje kan een sponsor 1 of meer donaties doen. Elke donatie hangt aan een project of aan een kind, dus kan een sponsor inderdaad meerdere kinderen en/of projecten sponseren.
- per donatie: [sql]select naam, adres, bedrag from sponsor inner join donatie on sponsor.sponsor_id = donatie.sponsor_id[/sql]
- totaal: [sql]select first(naam) as sponsor_naam, first(adres) as sponsor_adres, sum(bedrag) as totaal from sponsor inner join donatie on sponsor.sponsor_id = donatie.sponsor_id group by naam[/sql]
- [sql]select sponsor.naam, sponsor.adres, bedrag, kind.naam, kind.adres from sponsor inner join (kind inner join donatie on kind.kind_id=donatie.kind_id) on sponsor.sponsor_id=donatie.sponsor_id[/sql]
- [sql]select sponsor.naam, sponsor.adres, bedrag, project.omschrijving, project.plaats from sponsor inner join (project inner join donatie on project.project_id=donatie.project_id) on sponsor.sponsor_id=donatie.sponsor_id[/sql]
- deze tabel zul je er nog bij moeten maken
We gebruiken essentiële cookies om deze site te laten werken, en optionele cookies om de ervaring te verbeteren.