J'ai mis en signet le billet de blog de Phil Factor Normalisation et 'Anima notitia copia' aujourd'hui car il résume parfaitement les arguments pour et contre la normalisation de certains types de données. Exécutez la requête suivante sur une instance SQL et voyez si vous êtes d'accord.
SELECT * FROM sys.syslanguages
SQL vous permet de créer des bases de données relationnelles. Cependant, même si ça sent mauvais, ce n'est pas un crime de faire des choses affreusement non relationnelles avec une base de données SQL aussi longtemps que cela est nécessaire et vous pouvez faire la différence; non seulement cela, mais aussi seulement si vous êtes conscient des risques et des implications.
Vous avez mentionné que le fichier XML contient "des informations supplémentaires sur les données". Y a-t-il un avantage à modéliser ces métadonnées dans une base de données relationnelle, à des fins d'interrogation peut-être? Si tel est le cas, il peut être utile d'extraire les données pertinentes et de conserver le XML restant en tant que type de document XML.
... si vous recevez une chaîne JSON ou XML et que vous devez la stocker dans une base de données, alors tout ce que vous devez faire est de vous demander, dans votre rôle d'Anima notitia copia (âme de la base de données) 'ai-je intérêt pour le contenu de cette information? ». Si la réponse est «non!» Ou «nequequam! Il s'agit alors d'une valeur atomique, aussi complexe soit-elle.
L'argument de Phil Factor est que les champs non relationnels dans une base de données relationnelle sont parfaitement acceptables si le champ est traité comme atomique, c'est-à-dire qu'il ne change pas, ou quand il fait tout le champ change, pas une partie constitutive de celui-ci. L'extension naturelle de cela est que si votre document contient des éléments qui vous intéressent, il peut être utile d'appliquer un modèle relationnel à ces éléments.
Relatif à la question mais surtout pour la phraséologie, une dernière citation de Phil:
Naturellement, je n'ai jamais sciemment créé une base de données sur laquelle Codd aurait froncé les sourcils, mais autour des bords se trouvent des interfaces et des flux de données que j'ai écrits qui ont causé des crises de sifflement parmi les fondamentalistes de la normalisation.
N'avons-nous pas tous!