問題タブ [denormalized]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
818 参照

mysql - MySQL は、最小値と最大値の間の配列値を持つ行を選択します

私は立ち往生しているこの問題を抱えています...

配列のようなフィールドがあり、値はスペースで区切られています。これらの値があるとしましょう:

次に、最小値と最大値のような 2 つのユーザー入力値があります。たとえば、120 と 300 とします。これらの最小値と最大値の間の配列値を持つすべての行をテーブルから mysql で選択する必要があります。

したがって、出力は前の例の v1 と v3 になるはずです。

誰か助けてくれませんか?

0 投票する
1 に答える
2282 参照

mongodb - mongoの正規化されたデータと非正規化されたデータ

投稿には次のスキーマがあります。各投稿には、作成者と添付ファイル (一連のリンク、動画、写真など) が埋め込まれています。

投稿は頻繁に読まれます (4 つのタブを持つビューがあり、各タブには 24 の投稿が表示される必要があります)。現在、これらのリストのインデックスを Redis で作成しているため、4x24posts のクエリは、Redis からリストを取得し (mongo ID のリストを返します)、ID を使用して投稿をクエリするのと同じくらい簡単です。

埋め込まれた作成者の更新はめったに行われません (たとえば、作成者が自分の写真を変更した場合など)。更新は瞬時である必要はなく、高速である必要さえありません。

著者と投稿を 2 つの異なるコレクションに分割する必要があるかどうか疑問に思っています。したがって、投稿には、埋め込み/複製された作成者ではなく、作成者への参照が含まれます。ここでは、正規化されたデータ状態が優先されますか (著者は投稿ごとに複製され、多くの複製データ/余分なバイトが発生します)? それとも、非正規化状態を継続する必要がありますか?

0 投票する
2 に答える
9632 参照

database - NOSQL 非正規化データモデル

NOSQL データベースのデータが非正規化されて格納されていることを何度も読みました。たとえば、チェスの戦績を考えてみましょう。チェス ゲームに参加するプレイヤー ID だけでなく、そのプレイヤーの姓名も含まれる場合があります。NOSQL では結合ができないため、これが行われたと思われます。そのため、データを複製するだけでも、アプリケーション レベルでデータを手動で処理しなくても、必要なすべてのデータを 1 回の呼び出しで取得できます。

私が理解できないのは、チェス プレーヤーの名前を更新する場合、そのプレーヤーが参加しているチェス ゲーム レコードとそのプレーヤーのプレーヤー レコードの両方を更新するクエリを作成する必要があるということです。データベースはそのプレーヤーが参加するすべてのゲームを検索し、それらの各レコードを更新する必要があるため、これはパフォーマンスのオーバーヘッドが非常に大きくなるようです。

私の例のように、データが非正規化されて保存されることが多いというのは本当ですか?

0 投票する
2 に答える
15 参照

database - データベース設計の開始

最初のデータベースの作成を始めたばかりで、行き詰まっています。

毎月購入してくださるお客様が複数います(mm関係)。毎月販売する複数のサプライヤーがいます (mm 関係)。すべての顧客は複数のサプライヤーから購入でき、すべてのサプライヤーは複数の顧客に販売できます (mm 関係)。

それらをすべて一緒に接続するにはどうすればよいですか?

0 投票する
0 に答える
948 参照

c - C における正規化された混乱と非正規化された混乱

私は C の初心者で、クラスで C を使用して、かなり低レベルのコンピューター システムを理解できるようにしています。

次の問題が発生しました。exp、frac、および「if」ステートメントごとに x と比較される数値を除いて、すべてのコードが与えられました。

逐語的に:

「あなたは、2^x の浮動小数点表現を計算する C 関数を作成するタスクを割り当てられました。これを行う最善の方法は、結果の IEEE 単精度表現を直接構築することであると判断しました。x が小さすぎると、ルーチンは 0.0 を返します. x が大きすぎると、+infinity を返します. 次のコードの空白部分を埋めて、正しい結果を計算してください. 関数 u2f が同じ値を持つ浮動小数点値を返すと仮定します.符号なし引数としてのビット表現。」

私は誰にも宿題をするように頼んでいません。道に迷いました。私が埋めたいくつかの空白についてはかなり確信がありますが、私が開いたままにしている空白には動的な解決策があるように思えます。つまり、答えは x に依存するのではないでしょうか?

私が理解するのを手伝ってください、私はそれが私が思っているよりもずっと簡単だと感じています!

0 投票する
0 に答える
162 参照

angularfire - AngularFire:非正規化された配列/オブジェクトを更新するには?

現在、加藤の要点 ( https://gist.github.com/katowulf/f78d4a224c06a643ddfa ) を使用して、レコードを別の Firebase パスで正規化しています。

私が直面している問題は、オブジェクトを更新して firebase データベースに戻そうとしているときです。データベースは更新されません (コンソールにエラー メッセージは表示されません)。

私の本のテーブルは次のようになります。

私の著者テーブルは次のようになります。

normalizedBook の私のサービスは次のようになります。

firebaseService は、データを取得するための単なるヘルパー サービスです。

私のコントローラーは次のようになります。

私のビューは期待されるオブジェクト (同じオブジェクト内の本と著者の情報) をレンダリングするので、すべてが正常に機能しています。唯一の問題は、オブジェクトを更新して firebase データベースに戻す方法です。これを行う方法について何か考えはありますか?