Heb je (bijna) goed; in je voorbeeldje leg je een relatie tussen Klantgegevens en Orders niet met Orderdetails. Een order leg je vast met één klant. Orderdetails bevat de te leveren producten. Je kunt de Join tussen tabellen wel degelijk aanpassen, maar de Referentiële integriteit blijft desondanks bestaan. Wat je kennis bedoelde is de situatie dat je een order wilt opnemen van een niet-bestaande klant. Als je orders opneemt van een nieuwe klant, dan heb je de klantgegevens nog niet. Een beetje slimme zakenman verkoopt niks aan een klant die-ie niet kent. Want je wilt wel enige garantie dat je betaald gaat worden. Dus het zal nooit voorkomen dat je een order opneemt maar de klant zich vervolgens
niet laat opnemen in je klantenbestand. Je kunt dan twee dingen doen: eerst de klant registreren, en daarna de order opnemen, of eerst de order opnemen en daarna de klantgegevens. Het hangt een beetje van de cultuur af welke variant je wilt gebruiken. Maar in beide varianten zul je de klant echt wel willen vastleggen.
De eerste situatie houdt in dat je eerst het Klantenformulier opent, en de klantgegevens invult. Daarna maak je een order aan met de nieuwe klantgegevens. De tweede variant vult een order in, zonder dat je een klant hebt ingevuld. Ook dat kan dus. Je kunt er voor kiezen om dat te faciliteren door het Jointype van de relatie te veranderen zodat je orders mag invullen waarbij het KlantID leeg is. Maar hoe dan ook: de gegevens moeten een keer komen. En op dat moment moet je het KlantID alsnog invullen in de Order tabel.
Conclusie: je legt
altijd een relatie tussen tabellen die aan elkaar gerelateerd zijn, zoals Orders en Klanten. Afhankelijk van de bedrijfscultuur leg je dan eerst de klantgegevens vast en dan de order, of je begint gelijk met het invoeren van de order en eindigt dan met het vastleggen van de klantgegevens. De hybride methode is er ook: begin met het opnemen van de order in Orders, gebruik de gebeurtenis <BijNietInLijst> op de keuzelijst cboKlanten om snel de basisgegevens van de klant in te vullen, en ga dan verder met de order, en voltooi de bestelling met het verder invullen van de klantgegevens. En al die opties dus met een en dezelfde relatie (Eén-op-veel) tussen Klanten en Orders

.