Ich entwerfe die relationale Datenbank für ein System, das Informationen über bestimmte Arten von Produkten, Einzelhändler und Lieferanten für die Einzelhändler speichert.Datenbankentwurf - Speicherung der Äquivalenz
Einige der Lieferanten verkaufen die gleichen Produkte - aber sie einen Standard haben die Produkte nicht zur Identifizierung des Lieferanten A bedeutet ein Produkt mit ID haben könnte 618.261, dem Produktlieferanten B entsprechen 007162.
Das Problem ist, ich möchte das gleiche Produkt nicht mehrmals für verschiedene Lieferanten speichern. Derzeit habe ich die folgenden Tabellen:
Äquivalenz
- supplier1_id
- supplier2_id
- supplier1_product_id
- supplier2_product_id
Produkt
- id (generiert)
- SUPPLIER_ID
- supplier_product_id
Dies scheint wie eine schlechte Idee. Wann immer etwas in ‚Produkt‘ eingefügt,
- ‚Gleichwertigkeit‘ abgefragt werden muss jede Äquivalenz
- ‚Produkt‘ zu finden ist zu finden abgefragt werden, wenn gleichwertige Produkte bereits
- gespeichert werden, wenn Mittel werden nicht gefunden kann das Produkt eingefügt werden
Gibt es eine klügere Möglichkeit, dies zu tun?