Ich habe heute Phil Factors Blog-Post " Normalization" und "Anima notitia copia" als Lesezeichen hinzugefügt, da er die Gründe für und gegen die Normalisierung bestimmter Datentypen auf übersichtliche Weise zusammenfasst. Führen Sie die folgende Abfrage für eine SQL-Instanz aus und prüfen Sie, ob Sie damit einverstanden sind.
SELECT * FROM sys.syslanguages
Mit SQL können Sie relationale Datenbanken erstellen. Selbst wenn es schlecht riecht, ist es kein Verbrechen, mit einer SQL-Datenbank schrecklich unrelationale Dinge zu tun, solange dies erforderlich ist und Sie den Unterschied erkennen können. Nicht nur das, sondern auch nur, wenn Sie sich der Risiken und Auswirkungen bewusst sind.
Sie haben erwähnt, dass die XML-Datei "zusätzliche Informationen zu den Daten" enthält. Gibt es einen Vorteil bei der Modellierung dieser Metadaten in einer relationalen Datenbank, um sie möglicherweise abzufragen? In diesem Fall kann es sinnvoll sein, die relevanten Daten zu extrahieren und das verbleibende XML als XML-Dokumenttyp beizubehalten.
... Wenn Sie eine JSON-Zeichenfolge oder XML-Datei übergeben und diese in einer Datenbank speichern müssen, müssen Sie sich lediglich als Anima notitia copia (Seele der Datenbank) fragen Interesse an den Inhalten dieser Information? Wenn die Antwort "Nein!" Oder "Nequequam!" Ist Dann ist es ein atomarer Wert, wie komplex er auch sein mag.
Phil Factors Argument ist, dass nicht relationale Felder in einer relationalen Datenbank vollkommen akzeptabel sind, wenn das Feld als atomar behandelt wird, dh es ändert sich nicht, oder wenn sich das gesamte Feld ändert, kein Bestandteil davon. Die natürliche Erweiterung besteht darin, dass die Anwendung eines relationalen Modells auf diese Elemente von Nutzen sein kann, wenn Ihr Dokument Elemente enthält, an denen Sie interessiert sind.
Relevant für die Frage, aber hauptsächlich für die Ausdrucksweise, ein letztes Zitat von Phil:
Natürlich habe ich nie wissentlich eine Datenbank erstellt, die Codd verpönt hätte, aber an den Rändern befinden sich Schnittstellen und Datenfeeds, die ich geschrieben habe und die bei den Normalisierungs-Fundamentalisten für verrückte Anfälle gesorgt haben.
Haben wir nicht alle!