Betrachten Sie einen Einkaufswagen, der es Kunden ermöglicht, variable Bezahlsysteme zu verwenden.Frage zum Datenbankentwurf (FK zu verschiedenen Tabellen)
Jedes System hat einen anderen Satz von Parametern: System A hat Attribute wie Referenz-ID, XML-Antwort, Transaktions-ID, System B hat Transaktions-ID und Status, System C (Scheck) hat nur Zahlungsdatum. Die Zustände unterscheiden sich auch in jedem System.
Auf der Zahlungssystem-Auswahlseite befinden sich Name und Beschreibung des Zahlungssystems, die ebenfalls in der Datenbank gespeichert werden sollen (z. B. nicht HTML-codiert).
Wie würden Sie die Datenbank entwerfen?
Das Beste, was ich mir vorstellen kann, ist eine Tabelle für jedes System + eine Tabelle für Zahlungssystembeschreibungen, die mit dem Namen der relevanten Tabelle verknüpft sind + 2 zusätzliche Felder in der Auftragstabelle: Zahlungssystem-ID (wird verknüpft mit " Beschreibungstabelle "), Zahlungsaufzeichnungs-ID (wird mit der ID in der entsprechenden Zahlungssystemtabelle verknüpft). Dies würde auch ermöglichen, spezifische Funktionalität (Auftragsbenachrichtigungsverarbeitung usw.) bereitzustellen, die zwischen Zahlungssystemmodellen getrennt werden soll, anstatt if
s zu verwenden. Ist es o.k?
Wenn überhaupt, basiert das Projekt auf PHP 5, Doctrine und MySQL.