Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Entwerfen einer Datenbank:Was ist der bessere Ansatz?

Dies ist eine typische Diskussion zwischen schmaler Tabelle (attributbasiert) und breiter Tabelle. Das Problem bei Ansatz Nr. 2 besteht darin, dass Sie die Daten wahrscheinlich drehen müssen, um sie in eine Form zu bringen, mit der der Benutzer arbeiten kann (zurück in ein breites Ansichtsformat). Dies kann sehr ressourcenintensiv sein, wenn die Anzahl der Zeilen wächst und die Anzahl der Attribute wächst. Es ist auch schwierig, in der rohen Tabellenansicht auf die Tabelle zu schauen und zu sehen, was los ist.

Diese Diskussion hatten wir in unserem Unternehmen schon oft. Wir haben einige Tabellen, die sich sehr gut für ein Attributtypschema eignen. Wir haben uns immer dagegen entschieden, weil die Daten geschwenkt werden müssen und die Daten nicht einsehbar und sinnvoll sind (aber das ist für uns der Vermieter der beiden Probleme - wir wollen einfach nicht Millionen von Daten drehen Datenzeilen).

Übrigens würde ich das Alter nicht als Zahl speichern. Ich würde das Geburtsdatum speichern, wenn Sie es haben. Ich weiß auch nicht, worauf sich „Muttersprache“ bezieht, aber wenn es die Sprache ist, die die Mutter spricht, würde ich dies als FK in einer Master-Sprachtabelle speichern. Es ist effizienter und verringert das Problem fehlerhafter Daten aufgrund einer falsch geschriebenen Sprache.