2016-06-17 8 views
0

Ich entwickle ein Management-System für Privatunterricht. Ich muss Informationen für den Schüler und für ihre Eltern speichern.Mysql Organisation Tabellen

Die Informationen der Eltern sind: vollständiger Name, Adresse, E-Mail, Telefonnummer. Für den Schüler: vollständiger Name, E-Mail

Das Problem ist, im Fall von erwachsenen Schüler alle Informationen zwischen "Eltern" und "Studenten" sind die gleichen.

Darüber hinaus haben die Eltern und Schüler ihre eigenen Benutzer und Passwort (ich werde die Multi-Auth mit Laravel verwenden).

Wie kann ich die Tabellen organisieren, um alle zwei Fälle (Elternteil mit Kind/Kindern und erwachsener Schüler) einzuschließen?

Antwort

2

Haben Sie eine Personentabelle. Speichern Sie alle gemeinsamen Informationen dort (einschließlich Passwort).

+0

Sie meinen: eine Eltern-Tabelle mit (vollständiger Name, E-Mail, Passwort), eine Schüler-Tabelle mit der gleichen Spalte und eine Tabelle mit allen anderen Details? – J03Bukowski

+0

Nein. Eine Personentabelle mit allen Feldern und einer PersonId. Dann können Ihre Student-Tabelle und Ihre Eltern-Tabelle diese PersonId verwenden. Auf diese Weise kann eine Person sowohl ein Schüler als auch ein Elternteil sein. So wird es keine E-Mail oder Passwort in Schüler- oder Elterntabellen –

+0

In Postgres gibt es eine Erbschaftseigenschaft für diese Art von Dingen. Sie können dies jedoch mit Fremdschlüsseln in MySQL tun. Wie in http://stackoverflow.com/questions/26624138/does-mysql-support-table-inheritance –