ich programmiere einen kleinen Webshop und habe dafür eine Datenbank mit mehreren Tabellen angelegt. Sie besitzen folgende Eigenschaften:
- Jede Tabelle hat eine Spalte mit einer eigenen ID, die automatisch inkrementiert wird. Dieses Feld '......_id' ist auch der Primärschlüssel der jeweiligen Tabelle.
- Keine meiner Tabellen besitzt einen zusammengesetzten Primärschlüssel.
- Befindet sich in einer Tabelle ein Primärschlüssel einer anderen Tabelle, habe ich eine interne Beziehung zugefügt, und diesen so als Fremdschlüssel gekennzeichnet (Verbindungsende mit dickem blauen Punkt = Fremdschlüssel)
Hier die Übersicht:
Kann mir jemand sagen, ob ich die Primärschlüssel der Tabellen so lassen kann? Oder müssen die Fremdschlüssel auch in der 'Kind-Tabelle' ein Primärschlüssel sein und zusammen mit der ID-Spalte der Tabelle einen zusammengesetzten Primärschlüssel ergeben?
Also dass sich z.B. in der Tabelle 'article_numbers' der Primärschlüssel aus 'article_number_id' und 'article_id' zusammensetzt. Im Moment ist 'article_numbers' der Primärschlüssel und 'article_id' durch die interne Beziehung ein Fremdschlüssel. Ist dies so richtig? 'article_number_id' wird automatisch inkrementiert und kommt somit immer nur einmal vor...
Ich bin mir einfach nicht ganz sicher, ob ich es richtig gelöst habe. Die Sache mit den zusammengesetzten Primärschlüsseln aus Fremdschlüsseln verwirrt mich irgendwie...
Danke schon mal im Voraus für Anregungen
Grüße Melly