02 - Oefening Master-Detail
Je hebt geleerd dat een master-detail relatie een ouder-kind verhouding is in de data. Kun je het patroon herkennen in nieuwe scenario’s?
Vraag 1 — Niveaus benoemen
Bekijk het volgende business object voor een leveringsoverzicht:
Leverancier
├── Naam: MeelCo B.V.
├── Plaats: Rotterdam
└── Leveringen
├── Levering
│ ├── LeverNummer: L-501
│ ├── Datum: 2024-04-01
│ └── Artikelen
│ ├── Artikel (Tarwebloem, 200 kg)
│ └── Artikel (Roggebloem, 100 kg)
└── Levering
├── LeverNummer: L-502
├── Datum: 2024-04-08
└── Artikelen
└── Artikel (Speltbloem, 150 kg) Hoeveel niveaus van herhaling zijn er? Benoem bij elk niveau wat de master is en wat de detail.
Denk na voor je doorgaat naar het antwoord.
Vraag 2 — Rapport voorspellen
Hoe zou het gegenereerde rapport eruitzien als je de data hierboven afdrukt met een master-detail structuur? Schets het resultaat in je hoofd of op papier.
Denk na voor je doorgaat naar het antwoord.
Vraag 3 — Situatie beoordelen
Bij welke van de volgende situaties heb je een master-detail relatie nodig? En bij welke volstaat één databand?
- Een pakbon met orderregels voor één order
- Een maandoverzicht met alle orders, gegroepeerd per klant
- Een productlabel met ingrediënten
- Een rapportage van alle leveranciers met per leverancier de openstaande facturen
Denk na voor je doorgaat naar het antwoord.
Stop hier. Beantwoord alle drie de vragen voordat je verder scrolt.
Antwoorden
Vraag 1
Details
Antwoord: Niveaus
Er zijn twee niveaus van herhaling:
- Niveau 1 (master): Leveringen — herhaalt per levering (L-501, L-502)
- Niveau 2 (detail): Artikelen — herhaalt per artikel binnen een levering
De Leverancier zelf herhaalt niet — die staat eenmalig bovenaan (ReportTitle).
Vraag 2
Details
Antwoord: Rapport
MeelCo B.V. — Rotterdam
Levering L-501 — 1 april 2024
Tarwebloem 200 kg
Roggebloem 100 kg
Levering L-502 — 8 april 2024
Speltbloem 150 kg Elke levering krijgt een eigen koptekst, gevolgd door de artikelen van die levering.
Vraag 3
Details
Antwoord: Beoordeling
| # | Situatie | Master-detail? | Waarom |
|---|---|---|---|
| 1 | Pakbon met regels voor één order | Nee | Eén niveau van herhaling — één databand volstaat |
| 2 | Maandoverzicht per klant | Ja | Klanten (master) met orders (detail) per klant |
| 3 | Productlabel met ingrediënten | Nee | Eén product, één lijst — en bij een label gebruik je geen databanden |
| 4 | Leveranciers met facturen | Ja | Leveranciers (master) met facturen (detail) per leverancier |
Vuistregel: als je twee niveaus van herhaling ziet in de boomstructuur, heb je een master-detail relatie.
< Vorige: Master-detail relaties | Volgende: Geneste databanden >
Meer in deze rubriek
- 01 - Master-Detail relaties
- 02 - Oefening Master-Detail
- 03 - Geneste databanden
- 04 - Oefening Geneste Databanden
- 05 - Child Bands
- 06 - Oefening Child Bands
- 07 - Groepering
- 08 - Oefening Groepen Herkennen
- 09 - Groepering Instellen
- 10 - Oefening Groepering
- 11 - Subtotalen
- 12 - Oefening Subtotalen
- 13 - Sorteren
- 14 - Oefening Sorteren Groeperen
- 15 - Leverbon bouwen
- 16 - Oefening Leverbon