2016-07-09 11 views
0

Ich habe einige Probleme mit Datenbankschema für eine folgende Szenario zu erstellen:Datenbankschema für die Produktmenge

Geschäft, wo Sie Ihre Bestellung konfigurieren. Nehmen wir an, Benutzer bestellt Blumen und Schokolade. Bisher hatte ich die folgende Struktur:

OrderID FK_Flower FK_Chocolate 
1   1   1    

Wo FK ist auf den Eintrag in der Datenbank zeigte, wie:

Id Name  Price 
1 Rose  100 

Das gleiche gilt für Schokolade.

Jetzt gibt es jedoch eine Änderung: Verwendung kann mehrere verschiedene Blumen bestellen. Sagen wir mal, er kann 5 Rosen, 3 Gänseblümchen bestellen.

Welche Änderungen sollte ich vornehmen, um dieses Problem zu lösen?

Antwort

0

Sie möchten eine Viele-zu-Viele-Beziehung.

Ändern der Orders-Tabelle, um etwas wie folgt aus:

Orders: 
------- 
Id 
1 

Die Blumen Tabelle bleibt gleich:

Flowers: 
------------------ 
Id Name  Price 
1 Rose  100 
2 Daisy 120 

eine neue Tabelle erstellen mit mit der Bestellung und Blumen-IDs als Fremdschlüssel:

Orders_Flowers: 
------------------------- 
FK_Order_Id FK_Flower_ID 
1   1 
1   1 
1   1 
1   1 
1   1 
1   2 
1   2 
1   2 

Auf diese Weise hat der Auftrag mit Id = 1, 5 Rosen und 3 Gänseblümchen.