繰り返し発生するBLOBデータを抽出して別のテーブルに配置するための最良の方法は何ですか?-SQL

今、名前を付けてはならない彼。

以下のシナリオのために、(。NET Frameworkが役立つ場合は)新しいWebページを開発しています。毎日、タクシー運転手のレポートを受け取ります。

 Date   |  Blob 
-------------------------------------------------------------
15/07   |  {"DriverName1":"100kms", "DriverName2":"10kms", "Hash":"Value"...}
16/07   |  {"DriverName1":"50kms", "DriverName3":"100kms", "Hash":"Value"}

'Blob'はjson形式で受信された実際のデータであることに注意してください-その特定の日にドライバーがカバーした距離に関する情報が含まれています。

上記のテーブルを読み取り、さらにこれを分解して、以下のような新しいテーブルに配置するサービスを作成しました。

Date  |  DriverName   | KmsDriven

15/07    DriverName1     100
15/07    DriverName2      10
16/07    DriverName3     100
16/07    DriverName1      50

これを入力することで、次のクエリを簡単に実行できます。

  1. その特定の日に何人のドライバーが運転したか。

  2. その特定の週などの「DriverName1」はどうでしたか、

ここでの私の質問は次のとおりです。

  1. これ.NET / SQL world具体的に対処するために何かありますか、または私がここで車輪の再発明をしているのかどうか私に知らせてください。
  2. これはBlobデータを使用する正しい方法ですか?
  3. ここで守るべきデザインパターンはありますか?
ブランコ・ディミトリエビッチ
  1. .NET / SQLの世界で、これに具体的に対処するものはありますか、またはここで車輪の再発明を行うかどうかを知らせてください。

NewtonsoftのJson.NETなど、利用可能なJSONパーサーがありますまたは、SQLServer独自の関数を使用することもできますJSONから個々の値を抽出したら、それらを対応する列(新しいテーブル内)に書き込むことができます。

  1. これはBlobデータを使用する正しい方法ですか?

いいえ。原子性の原理に違反しているため、第一正規形に違反しています。

  1. ここで守るべきデザインパターンはありますか?

「パターン」についてはよくわかりませんが、この場合になぜBLOBが必要になるのかわかりません。

データが均一である(つまり、常に同じフィールドがある)と仮定すると、必要な列を宣言して、それらに直接書き込むことができます(すでに提案したとおり)。

それ以外の場合は、SQL ServerのXMLデータ型の使用を検討してください。これにより、XMLドキュメント内の一部のセクションを抽出したり、ドキュメント全体を置き換えずに新しいセクションを挿入したりできます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ