Daten sauber modellieren
Moin, Kang,
das Datenmodell weist ein paar Schwächen auf, das solltest Du erstmal geradeziehen.
Fang mit der Benamsung an: Bestellkopf statt Bestellungen, Bestellposition statt Bestelldetails.
Die Kunden_Id hat in der Bestellposition nichts verloren, weil alle Positionen zu einem Bestellkopf gehören. Nur dort ist der Kunde vermerkt. Desgleichen gilt fürs Datum, es sei denn, die Applikation müsste wirkllich wissen, wann die Bestellposition erfasst wurde - äußerst unwahrscheinlich.
Der Schlüssel kandidat für die Bestellposition besteht aus Bestellkopf_Id und einer Artikelnummer. Als Schlüssel würde ich dennoch einen simplen Autowert bevorzugen, das macht das (Beziehungs-)Leben einfacher.
Als nächstes kläre, was Produkt überhaupt ist, da passt der Schlüssel nicht zum Namen - Kategorie würde ich niemals in den Schlüssel aufnehmen.
Gruß Ralf