een standaard record
Er zijn een 60-tal toernooien verspreid over 2 clubs.
Elke club mag slechts 1 standaard toernooi hebben. Meestal dat van het lopende jaar.
In de toernooi-eigenschappen is er een veld standaard.
Nu voor ik 2 querys uit.
1. stel alles op niet standaard
2. stel toernooi met id ### als standaard.
Kan dit eenvoudiger?
Jan
Toevoeging op 26/02/2022 12:16:08:
Ook zou je nog kunnen nadenken over het gebruik van een multiquery.
Als het van belang is dat er geen andere query (van een ander) tussen jouw twee queries komt dan kun je ook nog een MySQL Transaction gebruiken.
Waarin verschilt het "jaarlijkse standaardtoernooi" van alle andere toernooien?
En als je meer complexiteit wilt toevoegen, kan je CASE WHEN gebruiken in SQL.
Ward van der Put op 26/02/2022 12:58:29:
Waarin verschilt het "jaarlijkse standaardtoernooi" van alle andere toernooien?
Er is geen "jaarlijkse standaardtoernooi". Er is een standaard toernooi
Ad Fundum op 26/02/2022 16:33:35:
Nee, dit kan niet want dan zouden er na verloop van tijd meerdere standaard toernooien zijn.
Jaar is niet van toepassing. De standaard kan ook van vorige jaren zijn. of er kunnen meerdere per jaar zijn
Ik herhaal de vraag niet zozeer omdat je die niet beantwoordt, maar vooral omdat het antwoord een oplossing in beeld kan brengen.
Je hebt in één tabel per definitie namelijk allemaal gelijksoortige objecten. In jouw geval is er echter één afwijkend. Wat is dan die afwijking?
Het is allesbehalve een standaard, want dan zou die standaard voor veel meer objecten gelden. Wat is je doel met die afwijking?
Een vervolgvraag zou kunnen zijn of die afwijking dan überhaupt wel in deze tabel thuishoort, maar zo'n vraag is pas aan de orde als we weten welk afwijkende gedrag je probeert te modelleren. Waarom wil je die afwijking voor alle toernooien bijhouden terwijl deze voor slechts één toernooi geldt?
Meestal is dit het toernooi welke nog niet gedaan is.
Dit toernooi wordt dan geopend (getoond) bij het openen van de website tenzij de kijker eerst zelf een toernooi gekozen heeft.
de 4 mogelijkheden zijn dus:
keuze door de gebruiker
* meegegeven in de url trn=id al dan niet array (cookie inhoud=id)
* opgeslagen na selectie in een cookie. Ook hier kan het een array zijn (cookie inhoud=id indien nummer anders negeren)
* Gebruiker kiest om steeds het standaard toernooi te openen. (cookie inhoud=standaard)
Niet gekozen door de gebruiker
* Het standaard toernooi opent
jan
Jan R op 26/02/2022 19:31:03:
Dit is gewoon het toernooi welke door te toernooileider als standaard gesteld wordt.
Het standaardtoernooi is dus geen eigenschap van alle toernooien, maar van de toernooileider.
Jan R op 26/02/2022 19:31:03:
de 4 mogelijkheden
Bij 3 van die 4 mogelijkheden bepaalt een entiteit buiten de tabel hoe data moet worden getoond. Beschouwen we de toernooileider ook als een gebruiker, dan zijn het er zelfs 4.
Je moet het standaardtoernooi dus niet opslaan in de tabel met toernooien, maar ergens daarbuiten. De tabel met data die van een gebruiker de toernooileider maakt, is daarvoor een goede kandidaat.
We kunnen dit vergelijken met een andere situatie: het is alsof je nu alle adressen van de Benelux opslaat en bij één enkel adres een schakelaar omzet: "Dit is ons adres!" Maar het standaardadres is geen eigenschap van die adressen, maar van de bewoner.
Ik zal het veld verplaatsen naar de tabel clubs. Zal wel weer wat werk vragen.
Bedankt. Jan
Toevoeging op 27/02/2022 10:34:31:
Bij die vraagtekens stond een imoticon