Es ist nur eine andere Art, die Daten darzustellen. Auch bekannt als breit (geschwenkt) und lang (gefaltet). Als ein Beispiel und es einfach zu halten, sich vorstellen , dass wir einen Datensatz mit 3 Eigenschaften haben: id
, name
, description
in der breiten (geschwenkt) -Version jede Eigenschaft würde seine eigene Spalte wie so sein:
CREATE TABLE `example_table` (
id int not null,
name archer(50) not null,
description archer(100) null
)
Im langen (gefalteten) Format hätten Sie zwei Spalten wie folgt:
CREATE TABLE `example_table` (
property varchar(50) not null,
value varchar(100) not null
)
Letzteres bietet Ihnen mehr Flexibilität, wenn die Spalten nicht im Voraus bekannt sind oder sich häufig ändern. Die Implementierung ist jedoch im Allgemeinen komplizierter, da Sie eine Methode zum Erkennen des Typs des Werts entwerfen müssen und dann den Aufwand für die Serialisierung / Deserialisierung des Speichertyps haben (in diesem Beispiel varchar (100)).
Das Breitformat ist besser, wenn sich die Eigenschaften nicht sehr oft ändern und im Voraus bekannt sind. Dies bietet eine bessere Leistung, ist jedoch weniger flexibel, wenn Änderungen erforderlich sind.
Wählen Sie im Allgemeinen nach Möglichkeit das Breitformat, wenn Sie die Struktur der gespeicherten Daten kennen, und wählen Sie Long, wenn Sie maximale Flexibilität benötigen und bereit sind, die zusätzliche Komplexität zu akzeptieren.