1

Ich versuche, ein Papierformular in ein PHP-Formular zu konvertieren, das Informationen über die Eigenschaftenliste in einer Datenbank speichert, und ich habe Schwierigkeiten, die beste Methode dafür zu finden. Ich bin gut mit PHP, aber ein wenig rostig mit Datenbankstruktur und Normalisierung.MySQL Normalisierung - Strukturierung einer Multi-Tabelle Real Estate Listing-Datenbank?

Ich brauche eine Tabelle (tblListing) für die Eigenschaft Details (Eintragsnummer, Preis, Adresse, etc).

Aber dann brauche ich eine andere Tabelle (tblPropFeatures) für die Eigenschaftsmerkmale (Zentral A/C, Zentrale Hitze, Fliesen, etc.)

Und noch ein weiteres (tblLotFeatures) für die Menge Funktionen (Eckgrundstück, Kul- Sackgasse, usw.).

Die Papierform, die ich ersetzen möchte, hat über hundert Checkboxen für Eigenschaftsmerkmale und Los-Features, also möchte ich sicherstellen, dass ich diese teile, damit die db richtig normalisiert wird.

Aber ich kann nicht herausfinden, ob ich eine Art Verknüpfungstabelle oder wenn ich nur eine regelmäßige Verknüpfung verwenden kann.

Ich möchte auch in der Lage sein, die Liste der Kontrollkästchen dynamisch aus den Funktionen, die in der Datenbanktabelle enthalten sind, zu erstellen. Wenn in Zukunft ein neues Feature hinzugefügt werden soll, kann sich ein Administrator bei phpMyAdmin anmelden und der PropertyFeatures-Tabelle eine Spalte hinzufügen. Das PHP-Formular wird bei der Aktualisierung dynamisch aktualisiert und zeigt ein neues Kontrollkästchen für das neue Feature in der Datenbank an.

Vielen Dank im Voraus für Ihre Hilfe und Beratung

Antwort

1

Sie benötigen eine „Auflistung Eigenschaft Funktionen“ Tabelle, die Auflistung propFeatures und ein „Auflistung Menge Features“, die Auflistung

zu lotFeatures verbindet verbindet

Diese viele genannt werden zu vielen Beziehungen. Sie haben viele Immobilienlisten, die jeweils viele oder viele Eigenschaften haben können.

Dadurch wird auch Ihr Ziel erreicht, dass Sie Ihre Checkboxen dynamisch erstellen können. Sie müssen nur alle Features aus jeder Tabelle auswählen und diese durchlaufen, um ein Kontrollkästchen zu erstellen. Wenn Sie die Eigenschaften direkt mit den Features verknüpft haben, müssen Sie jeden Feature-Eintrag duplizieren.

Stellen Sie sicher, dass Sie jede Tabelle mit einem Primärschlüssel erstellen und diese Schlüssel in den Verbindungstabellen indizieren.

Hoffe, dass hilft! Viel Glück!

+0

Danke! Ich war in der Lage, eine funktionierende Datenbank mit Bridge-Tabellen zu erstellen, wie Sie vorgeschlagen haben. Danke für die Hilfe! – Tyler