Großhändlershop für einzelne Händler splitten

Ronald Nickel

Legendäres Mitglied
Mal eine organisatorische Frage:
Ich habe einen shop der nur für Händler zugängig ist, um die EK-Preise einsehen zu können. Dort können die Händler also direkt vonm Großhändler kaufen. Da der Daten- und Bilderbestand sowieso zentral erledigt wird bietet sich an weitere Shopoberflächen anzubieten. Die Einkäufe werden wie bei Reisebüros über 2 URL-IDs separiert und zur bestellung zugefügt.

Jeder Händler will aber...
1. Sagen ob und welche Artikel sichtbar sind
2. Seine VK-Preise natürlich selbst bestimmen.

Hier die Frage
Muss ich jetzt für jeden Händler eine Tabelle mit folgenden Feldern anlegen?
händler_id,artnr,VK_preis, visible

... und die Artikeldaten mit InnerJoin zuzamenflicken oder gibt es da eine performarntere Lösung. Denn wenn sich da 50 Händler eintragen stehe ich recht dumm da

Habt ihr ne tricky-Lösung?

Gruß Ronny
 
Hallo,

Du willst also den Vertrieb der Händler organisieren.

Da ist doch eine Handler-id in der Tabelle.
Dann reicht doch für die Artikel diese Tabelle.
Falls es sich bei den Artikeln um sehr unterschiedliche Datentypen handelt, würde ich noch eine Artikeltabelle hinzufügen, sonst kann man Felder wie Artikelbeschreibung, Titel ,usw. mit in die o.g. Tabelle hinzufügen, da jeder Artikel ja wohl nur einmal vorkommt.
Auch wenn mehrere Händler die gleichen Artikel mit anderen Beschreibungen und vkp vertreiben.

Für Artikelbilder kann man ja auf die normalisierte Tabelle zugreifen.
Ob noch eine Tabelle mit Artikelnamen hinzukommt, hängt davon ab, ob die Artikel bei mehreren Händlern unter dem gleichen Namen geführt werden.
Und dann kommt noch die Händleradressdatentabelle (aber die solltest du ja bereits haben), die Bestellungentabelle, Rechnungen mit Datum und Rechnungsstatus, eventuell eine Tabelle für Rechungsformulare, Quittungen, Mahnungen, etc...
Das kann man dann ohne Ende ausbauen bis tief in die Betriebs-edv.

Gruss

Bernd R. Rickert
 
Zum besseren Verständnis:
1 tabelle
Artikel nebst bilder,beschreibung, Händler ek-preise,

2. Tabelle
Händler name, firmenname, adresse, passwort, kundennummer etc.

wohin speicher ich aber den Händler VK-preis der Artikels "Holzhammer"von Händler Huber
bzw stelle die Sichtbarkeit von Artikel "Sägeblatt xxx" auf unsichtbar weil Händler Huber diesen Artikel in seinem Shop nicht will.

Lösung
wäre doch in die Tabelle Artikel zwei weitere Felder anzulegen. Huber_VK und Huber_visible. Dort kann er zum einen "seinen" VK zu dem Datensatz des Artikels eintragen und ob er ihn überhaupt angezeugt haben will. Bei hypothetischen 50 Händlern und 5000 Artikeln sind das 5000 x 50 x2 >Datenfelder die zu den vorhanden Artikeldatensätzen dazukommen. Da geht doch bestimmt besser

Gruß Ronny
 
QUOTE wäre doch in die Tabelle Artikel zwei weitere Felder anzulegen


Die Lösung ist von Tabellendesign her falsch, da für jeden weiteren Händler zwei Spalten und die Änderung des Sql-Codes notwendig wäre.

Stattdessen dritte Tabelle: ArtikelId + HändlerId + Preis dieses Händlers

Preis = -1 - Artikel wird nicht angezeigt, damit lassen sich die zwei Spalten auf eine reduzieren.
 
Hallo Ronnic,

Wenn für jeden Artikel nur ein Bild und ein Händler zugeordnet wird, ist das, was du vorschlägst, sicher so richtig, beschränkt jedoch die Nutzung der Datenbank.

Schön wäre es, wenn die BildId der ArtikelId entspräche. Dann könnte man einfach mit ArtikelId.jpg/gif das Bild aufrufen, sofern das Bild nicht in der Datenbank gespeichert ist. Andernfalls erfordert es ein anderes Konstrukt.

Eventuell macht aber noch eine Tabelle Sprache Sinn.
bildId(=ArtikelId?), spracheId, artikelbeschreibung


QUOTE Stattdessen dritte Tabelle: ArtikelId + HändlerId + Preis dieses Händlers


Bei dieser Lösung kannst du dir auch auf das Sichtbar-Feld sparen, da jedem Händler genau die Artikel zugeordnet werden, die er auch wirklich führt.

Gruss

Bernd R. Rickert
 
Die Bilder werdem gar nicht in die Datenbak geschrieben sondern lediglich mit "#Artikelnummer#.jpg" aufgerufen. Ich denke mal ich mache es mit einer 3. Tabelle:
artnr,KundenID, visible;preis, und verknüpfe die Tabelle mit INNERJOIN.

Gruß Ronny
 
Zurück
Oben