2016-08-03 4 views
0

Ich habe ein paar Fragen hier und habe sehr große Hilfe und Unterstützung bekommen. Ich bin immer noch ziemlich neu im Programmieren und ich stelle zusammen, was ich für eine einfache Website für die Firma halte, für die ich arbeite. Ich entschuldige mich im Voraus für meine lange Post/Frage, ich möchte nur gründlich und klar in dem, was ich fragen. Meine Frage besteht eher darin, Hilfe brauchen zu müssen, um in die richtige Richtung zu weisen, wie man anfangen soll, und einige Best Practices zu beachten. Woran ich gerade arbeite, ist ein System zu erstellen, in dem ein Benutzer einen Fragebogen/ein Online-Formular einreichen kann, um sich nach einem bestimmten Produkt zu erkundigen (in diesem Fall ist es ein hartes Geldkreditprodukt). Die Art, wie ich es einrichten möchte, ist eine Datenbank mit mehreren Tabellen (Benutzer, user_info, loan_app, property) zu haben und diese miteinander zu verbinden, indem man sich gegenseitig referenziert. Ich habe über Tabellen Joins gelesen und ich verstehe sie konzeptionell, aber ich habe keine Ahnung, wie man es in der Praxis implementiert. Ich hatte es schwer, echte Beispiele zu finden.Datenbank eingerichtet für Multi-Way-Beziehungen und Formular Daten sammeln

Insbesondere ist es das, was ich tue und wie ich es denke funktionieren soll (korrigiert mich wenn ich falsch bin, oder wenn es einen besseren Weg, es zu tun):

1- der Benutzer (auch bekannt als die Kreditnehmer) sich auf der Website anmelden. Das Benutzeranmeldesystem referenziert die Benutzertabelle, in der Dinge wie Vorname, Nachname, Benutzername, Passwort und Benutzerkennung gespeichert sind. Ich habe eine "aktive" Spalte in diese Tabelle eingefügt, so dass, wenn sich ein Benutzer anmeldet, die Bedingung für den Zugang zur Webseite ist, dass der Benutzername und das Passwort übereinstimmen UND der Benutzer aktiviert ist. Auf diese Weise können wir bestimmte Zugriffe auf Benutzerkonten am Backend kontrollieren. Ich habe diesen Teil in Arbeit.

2- Wenn der Benutzer sich registriert, werden nur die Informationen ausgefüllt, die einen neuen Datensatz in der Tabelle "user" erstellen. Ich habe eine zweite Tabelle namens "user_info" erstellt, die andere Daten wie Heimatadresse, Telefonnummer E-Mail usw. enthält. Aber ich muss in der Lage sein, den richtigen Datensatz mit dem richtigen Benutzer zu verknüpfen. Das ist meine erste Frage, die mich umgibt. Mein Gedanke, dies zu tun, statt all diese Informationen einfach in die Benutzertabelle zu bringen, ist, dass ich zum einen die Tabelle weiter vergrößern und sie sehr groß machen möchte und zweitens aus Sicherheitsgründen die Informationen getrennt halten möchte. Ich weiß nicht, ob dieser Denkprozess etwas dafür bedeutet. Noch einmal, deshalb poste ich das hier.

3- Der Benutzer klickt nach der Anmeldung auf eine Schaltfläche auf seinem Startbildschirm/Dashboard, die ihn zum Formular "Vorantrag" des Darlehens führt, bei dem es sich um den Fragebogen handelt. Auf diesem Formular werden ihre grundlegenden Informationen aus der "user_info" -Tabelle wiedergegeben/gepostet, um bestimmte Felder wie Vorname, Nachname, E-Mail, Telefonnummer, Adresse usw. vorzubelegen. Also gehe zurück zu # 2 und stelle sicher, dass ich den Benutzer mit dem richtigen Datensatz in der Tabelle "user_info" ist kritisch. DANN gibt es zusätzliche Felder, die der Benutzer ausfüllen muss, um den Antrag/Fragebogen einzureichen. Diese Formularfelder erstellen einen neuen Datensatz in der Tabelle "loan_app". Diese Tabelle enthält eine Spalte loanid, die der Primärschlüssel für diese Tabelle ist, und eine automatisch generierte/randomisierte 6- oder 7-stellige Darlehensnummer (loannum). Das Darlehen wird ein versteckter Wert sein, aber die Darlehensnummer wird wie eine Referenznummer sein, die mit dem Darlehen für das Leben verbunden ist und intern für spätere Buchhaltungs- und Aufzeichnungszwecke verwendet wird, unabhängig davon, ob es tatsächlich zu einem Darlehen wird oder nicht. Die Loanid, nehme ich an, ist der Fremdschlüssel in der Tabelle "user" und die Benutzerkennung ist der Fremdschlüssel in den Tabellen "loan_app" und "user_info" korrekt? Wenn ja, wie integriere ich die Möglichkeit, alle diese Datensätze gleichzeitig zu verknüpfen, wenn der Kreditantrag/Fragebogen eingereicht wird? Mein Gedanke wäre schreiben individuelle PHP-Skripte, die jedes dieser Dinge separat dann eine "Master" PHP, die alle diese einzelnen enthält, die als Formular Aktion mit der Schaltfläche Senden auf dem Formular zugeordnet platziert.

Danke, dass Sie sich die Zeit genommen haben, dies zu lesen. Ich würde wirklich jeden Rat oder Referenzmaterial schätzen, über das ich nachlesen kann, um mehr über diese Dinge zu erfahren. Mein Job hat einen ziemlich verrückten Zeitplan und ich reise viel, so dass ich nicht die Zeit habe, tatsächlich Unterricht zu nehmen, um dieses Zeug formell zu lernen. Ich mache das ziemlich, während ich gehe.

Auch ich bin mit MAMP mit mysql, nicht sicher, ob das hilft einige oder nicht ...

Antwort

0

Die user Tabelle Primärschlüssel userid kann auch der Primärschlüssel der Tabelle user_info sein, da jeder Benutzer wird nur einen user_info Rekord haben, oder? Eine Fremdschlüsseleinschränkung ist gut, um sicherzustellen, dass nur gültige userid s in user_info aufgezeichnet werden. Die loan_app Tabelle kann eine denormalisierte Beziehung von loanid zu userid enthalten, so dass jede Kreditanwendung einem Benutzer zugeordnet ist. Verwenden Sie erneut eine FK-Einschränkung für die Integrität.

Fügen Sie keine loanid in die user Tabelle ein - das würde bedeuten, dass jeder Benutzer eine Beziehung zu einer einzigen Kreditanwendung hat. Sie haben bereits die One-to-Many-Beziehung, die Sie in der Tabelle loan_app benötigen.

Verwandte Themen