Ich möchte eine Datenbank für meine Praxis entwerfen, aber ich blieb ohne eine Idee stecken. Also würde ich gerne einen Tipp oder Rat von irgendwelchen erfahrenen Entwicklern hier bekommen.Wie man Tabelle für Datenbank entwirft, wenn wir nicht genaue Daten wissen, die in Tabelle kommen?
Ich möchte eine Datenbank für einen "Tailor-Shop" entwerfen. Im Geschäft ist unser Hauptprodukt Hemden und Röcke.
Also erstelle ich zwei Tabellen für Rock und Shirt mit wenigen Attributen oder Spalten.
Aber das Problem ist, dass, wenn jemand kommen würde, um etwas anderes zu nähen, wir es auch nähen würden.
Also wie kann ich den Tisch für diese Sache machen, wenn wir nicht wissen, was das sein wird und was wird sein Attribut sein?
[Gemäß der Dokumentation] (http://dev.mysql.com/doc/refman/5.7/en/json.html) unterstützt MySql JSON als Datentyp. Sie könnten eine allgemeine Produkttabelle mit allen in einer JSON-Spalte gespeicherten Produkteigenschaften haben. Eine weitere Option ist die Verwendung des EAV-Anti-Patterns. –
Was @ZoharPeled erwähnt. Verwenden Sie den 'JSON'-Datentyp oder' EAV'. Wenn Sie diese Begriffe googlen, erhalten Sie entsprechende Ergebnisse. Ihre Frage kann zu einer langen Diskussion führen und dazu führen, dass die Leute eigensinnige Antworten geben (da jeder glaubt, dass sie sich etwas Neues oder Gutes einfallen lassen können), manche könnten sogar NoSQL vorschlagen. Jedoch - bis auf den Kern - speichert es entweder unbekannte Daten in der 'JSON'-Spalte oder erstellt ein Entity-Attribut-Wert-Datenmodell, das aus ein paar Tabellen besteht. Wenn ich mich nicht irre, verwendet Magento es, so dass Sie seinen Code nach nützlichem Ansatz suchen können. –
DML liest und schreibt in Tabellen. DDL ändert, welche Tabellen Sie haben. Dies ist eine direkte Verwendung eines DBMS. (Wie in reaanbs Antwort.) Sie benötigen also keine strukturierten Datentypen oder EAV, bis Sie nachweisen, dass ein einfaches Design nicht ausreicht. Außerdem solltest du immer dieses Design haben, und wenn du diese anderen Techniken verwendest, dann codierst du es in sie. Lesen Sie eine Einführung in relationale Datenbanken. – philipxy