問題タブ [schema-design]
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.
python - App Engine で 1 対 1 の関係を表す方法
データストアに保存したい「ユーザー」レコードの概念があるとします。
first_name や last_name のように、ユーザー オブジェクトを使用するたびに必ず使用したいフィールドがいくつかあります。
ただし、twitter_oauth_token や twitter_oauth_secret など、ユースケースが 1 つしかないフィールドもあり、これらが 95% の確率で必要とされない場合に、これらをシリアライズおよびデシリアライズするのはやや非効率的です。
したがって、モデルを分割する場合:
UserTwitterOauth で User に ReferenceProperty を配置できますが、これは実際には 1 対多になります。任意の User に関連する UserTwitterOauth は最大で 1 つにする必要があります。これらのモデルを 1 対 1 で関連付けるにはどうすればよいでしょうか?
xml - XMLスキーマ:別のオプションのタグが提供されている場合にのみタグを許可する
オプションのタグを含むXMLスキーマを定義しようとしていますsort_expression
。そのオプションのタグが指定されている場合、2番目のオプションのタグalternate_sort_expression
が許可されますが、最初のタグの存在を条件とします。
たとえば、次の例を検証する必要があります。
また
また
ただし、以下は検証に合格しないはずです。
次のスキーマは、2つのシーケンスの選択を使用して機能すると思いました。残念ながら、スキーマ自体は検証されていません。Altova XML Spyは、「複雑な型の表示のコンテンツモデルはあいまいです。
mongodb - MongoDB スキーマ設計 - 参照と埋め込み
結果を保存するためのバッキング データベースを必要とするシミュレーションを作成しています。シミュレーションは大量のデータを書き込みます。明らかなパフォーマンス上の理由から、NoSQL データベース、特に MongoDB を試すことにしました。ただし、データ モデルについては少し戸惑っています。
リレーショナルの世界では、スキーマは次のように変換されます。
- シミュレーションには、シミュレーションの構成、ステータスなどが保持されます。
- シナリオでは、特定のシミュレーション ケースについて説明します。
- 実現グループ TestResults。
シミュレーションは次のように動作します。最初に、構成 (シミュレーション テーブルへのマップ) を作成し、シナリオと、計算する実現の数を指定します。それではシミュレーションを開始します。シミュレーションは、シナリオで実現を作成します (並行して、非常に多くの実現が同時に計算され、シミュレーションが現在取り組んでいるシナリオに挿入されます)。
ただ、NoSQL、特にMongoDBはリレーションが悪くて遅いので、埋め込みドキュメントを極力活用したい。だから私はこれを思いついた:
このモデルは、最初にすべての実現を計算し、それを (シナリオの) 単一の挿入としてデータベースに保存するときに、最高のパフォーマンスを発揮するはずです。
ただし、パフォーマンス上の理由から、計算されたらすぐに実現をシナリオに挿入したいと考えています。これは、実現が完了するたびにシナリオを更新する必要があります。これは悪い考えですか?MongoDB のリファレンスでは、埋め込みドキュメントを親ドキュメントに追加すると、親ドキュメントは更新されますが、とにかくパフォーマンスが低下すると書かれています。
Realization を Scenario に埋め込まずに参照した方が速いでしょうか? 後でデータを読み取って集計すると、どの程度のパフォーマンスが失われますか? 私が知っておくべき他の落とし穴はありますか?
ありがとう。
hyperlink - Cassandraの価値のない列手法-データベーススキーマ
Cassandra0.8.2を使用しています
「値のない列」の手法を使用して、cassandraスキーマを設定しようとしています。値のない列の背後にある考え方は次のとおりです。列の名前が関連情報になり、「名前/値」ペアの値が空になります。これは、クエリを高速化するために使用されます-非正規化の例です。列の名前をバックリンクのURLにします。行キーは、バックリンクのターゲットURLのUUIDです。これは良いアイデア/スキーマデザインでもありますか?
私は非常に基本的な例を使用して、質問の要点を理解しています。Cassandra-Cliを使用して設定したものは次のとおりです。
エラーが発生します:
私のエラーは、column_nameで使用している期間が原因だと思います。要するに、カサンドラで「価値のない列」のアイデアを使用するためのより良い方法に出くわした人がいるかどうか知りたいのですが。価値のないカラムテクニックの良い/良い例はありますか?私の考えは、価値のない列の手法を使用する正しい方法でさえありますか?
よろしくお願いします。
mysql - 特定のシナリオ向けのデータベース ユーザー テーブルの設計
私は、この質問が何度も聞かれ、回答されていることを知っており、次の質問を読むのにかなりの時間を費やしました。
問題は、いくつかのクラスのソリューションに対するサポーターの分布がやや均一に見えることです。
- 正規化されている限り、ユーザー設定を 1 つのテーブルに固定する
- 「users」と「user_settings」など、1 対 1 の 2 つのテーブルに分割します。
- ある種のキー値システムで一般化する
- ビットフィールドまたはその他のシリアル化された形式でフラグを設定する
したがって、重複した質問をする危険を冒して、私の特定のシナリオについて説明し、できればより具体的な回答を得たいと思います。
現在、私のサイトにはmysqlに単一のユーザーテーブルがあり、約10〜15列(ID、名前、電子メール、パスワード...)があります
さまざまな種類のイベント (notify_if_user_follows_me、notify_if_user_messages_me、notify_when_friend_posts_new_stuff...) について電子メール アラートを送信するかどうかについて、ユーザーごとの設定を追加したいと考えています。
将来的には、ほとんどの場合ユーザーと 1 対 1 である、ユーザーごとの設定を 1 つ追加することはめったになくなると思います。
メインのユーザーテーブルを読みやすくするために、2番目の user_settings テーブルを作成し、そこにメール通知設定などの「必須ではない」情報を貼り付けようとしていますが、何が期待されているかを聞いて非常に興味があります。
schema - mongodb でオーサー/ユーザー モデルのスキーマを設計する方法
私は、mongoのWebサイトにあるほとんどのmongodbスキーマ設計記事と、SOに関するほとんどの質問に目を通しました。私が理解していないユースケースがまだ1つあります。これらのチュートリアルを見ると、通常、記事のコメントの問題と製品/カテゴリの問題が参照されます。投稿のリストを照会するときに、1 対多の関係 (作成者から投稿) をモデル化する方法を理解したいと考えています。スキーマの例を次に示します。
ここで、最新の 10 件の投稿に対してクエリを実行するとします。非常に単純なクエリですが、投稿ごとにユーザーを指す一意の ObjectID を持つ可能性がある投稿ができました。さて、投稿の各ユーザーの名前と電子メールを取得するにはどうすればよいでしょうか。
投稿クエリからユーザー ObjectID の配列を作成し、クエリ db.users.find({ _id: {$in: PostsUserIDArray}}); を実行する必要があります。その後、アプリケーション ロジックを使用して、適切なユーザー情報を正しい投稿に一致させますか?
投稿のデータのコピーを保持する必要があります。IE は、ユーザー ID、名前、および電子メールを posts テーブルに保持します。次に、ユーザーがこの情報を更新して投稿内のすべての情報を更新するときにフックを用意します。
私や私の友人が思いもよらなかったオプション。
mongo データ モデリングに頭を悩ませようとしているので、すべての助けに感謝します。
mongodb - Mongo DBRef の何が問題になっていますか?
RDMBS のバックグラウンドから来て、特にスキーマのない MongoDB 環境で作業する場合、結合のような考えを考えずにはいられません。
DBRef は、参照しているオブジェクトのタイプがわかっている場合にのみ役立つというブログを読みました。
これはなぜですか?確かにそれ以上の用途があります。
ユーザー コレクションと雇用者コレクションがあるとします。多くのユーザーが同じ雇用主を参照できます。私にとって、これは DBRef の完璧な使い方です。しかし、これは私がそのブログで読んだことと矛盾しています。
もちろん、雇用主を各ユーザー コレクションに埋め込むこともできますが、雇用主が変わるとどうなるでしょうか。雇用主が住所や電話番号などを変更したのかもしれません。雇用者が各ユーザーに埋め込まれている場合、すべてのユーザーの埋め込みドキュメントを更新する必要があります。
それは効率的ではありません。それともできますか?
database-design - 埋め込みドキュメント (MongoDB) をサポートするデータベース設計ソフトウェアを知っていますか?
MongoDB のデータベース スキーマを設計しようとしていますが、埋め込まれたドキュメントを直感的に表現できるようにしたいと考えています。このようなビット:
これを可能にするソフトウェアを知っている人はいますか?紙でできることはわかっていますが、スキーマを同僚と共有して、小さなものを編集できるようにしたいと考えています。
php - Mongo DB コレクション フィールド スキーマのベスト プラクティス
コレクション スキーマを設定する方法を教えてください。
たとえば、最初にユーザーオブジェクト(ユーザー名、電子メール、パスワード)が必要です。次に、ユーザーに登録を確認させるフィールドが必要なので、ユーザーを挿入するときにすべてのフィールドを挿入する必要があります(ユーザー名、電子メール、パスワード、確認= 0) )
また
ユーザーが自分の登録アカウントを確認するときにのみ確認フィールドを作成する方が良いですか?
c# - Mongo DB スキーマ設計の問題
stackoverflow のようなサイトの mongo db スキーマを設計しています。質問とユーザーがいます。ユーザーは質問をお気に入りリストに追加したり、お気に入りリスト内で質問を検索したりできます。
ユーザーと質問の 2 つのコレクションがあります。問題は、お気に入りの保存方法です。2つのオプションがあります
- ユーザーのお気に入りの質問 Id のリストを保存する
- 質問とともに、(この質問をお気に入りに追加したユーザーの) ユーザー ID のリストを保存します。
どのアプローチを取るべきですか?ユーザーのお気に入りも検索する必要があることを忘れないでください。
データベース/レコード サイズの見積もりについては、質問の数、ユーザーがスタック オーバーフローで実行するデータベース操作を想定してください。
詳細については;
このアプリは、C# で記述された asp.net mvc であり、検索に Lucene.NET を使用することを望んでいます
前もって感謝します