Während unseres letzten wöchentlichen Treffens hat eine Person, die keine Hintergrunderfahrung in der Datenbankverwaltung hat, folgende Frage aufgeworfen:
"Gibt es ein Szenario, das das Speichern von Daten in einer Zeile (Zeichenfolge) anstelle mehrerer Zeilen rechtfertigt?"
Nehmen wir eine Tabelle countryStates
an, in der die Bundesstaaten eines Landes gespeichert werden sollen. Ich werde die USA für dieses Beispiel verwenden und der Faulheit halber nicht alle Staaten auflisten.
Dort hätten wir zwei Spalten; einer rief an Country
und der andere rief an States
. Wie hier besprochen und in der Antwort von @ srutzky vorgeschlagen , PK
ist dies der Code, der durch ISO 3166-1 alpha-3 definiert ist .
Unser Tisch würde so aussehen:
+---------+-----------------------+-------------------------------------------------------+
| Country | States | StateName |
+---------+-----------------------+-------------------------------------------------------+
| USA | AL, CA, FL,OH, NY, WY | Alabama, California, Florida, Ohio, New York, Wyoming |
+---------+-----------------------+-------------------------------------------------------+
Als er einem befreundeten Entwickler dieselbe Frage stellte, sagte er, dass dies aus Sicht der Datenverkehrsgröße nützlich sein könnte, aber nicht, wenn wir diese Daten manipulieren müssen. In diesem Fall müsste der Anwendungscode eine Intelligenz enthalten, die diese Zeichenfolge in eine Liste umwandeln könnte (sagen wir, dass die Software, die Zugriff auf diese Tabelle hat, ein Kombinationsfeld erstellen muss).
Wir kamen zu dem Schluss, dass dieses Modell nicht sehr nützlich ist, aber ich wurde misstrauisch, dass es einen Weg geben könnte, dies nützlich zu machen.
Ich möchte fragen, ob einer von Ihnen so etwas bereits auf eine Weise gesehen, gehört oder getan hat, die wirklich funktioniert .
a;b;c
, verwenden Sie das vordere Ende der Zeichenfolge analysieren Sie dann erhalten a
, b
, c
und tragen auf der Ausführung etwas mit ihnen zu tun, vielleicht ?. Ich glaube, es könnte auf diese Weise zu einem bestimmten Bedürfnis passen ... Beim zweiten Gedanken, nein. Sie können jederzeit IDs speichern, Ihre Tabellen verbinden und eine verkettete Zeichenfolge erstellen, um Inhalte an die FE zu senden ...