問題タブ [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.
tsql - チェックインとチェックアウトのリストからタイムスパンを計算するにはどうすればよいですか?
自分のプロジェクトを管理するための簡単な時間追跡プログラムを書いています。私はレポート コードをデータベースに保存するのが大好きなので、請求書やタイムシートなどを生成するいくつかの sproc を作成しようとしています。
クロック アクション、つまり「パンチ イン」と「パンチ アウト」を含むテーブルがあります。また、このアクションを実行したユーザー、アクションに関連付けられたプロジェクト、および現在の日付/時刻も含まれています。
このテーブルから選択して、特定の時間/プロジェクト/およびユーザーの出勤を取得できますが、各出勤が 2 行から合計時間を含む 1 行に変換されるように集計したいと考えています。
たとえば、出力例を次に示します。
ActionType 1 は「ClockIn」、ActionType 2 は「ClockOut」です。また、簡潔にするために、ユーザー、プロジェクト、および説明の列を削除しました。
純粋な SQL で、次のような結果セットを生成する必要があります。
各クロックイン/クロックアウト ペア。
これは実際にはかなり単純だと思いますが、どの方法でアプローチすればよいかわかりません。
編集: ユーザーは複数のプロジェクトに同時にクロックインできますが、最初に結果セットを 1 つのプロジェクトに絞り込むことで、ここでのロジックに違いはありません。
database - 整合性を確保するテーブル リレーションシップの最適なスキーマ設計
モデル「A」のテーブルを考えると、複数の子モデル「B」を持つことができ、そのうちの「B」には1つ以上の子モデル「C」があります..これは簡単に聞こえますが、「A」ごとに強制する必要があります'、任意の 'B' は 'C' の一意のコレクションを持つ必要があります..たとえば、C は、同じ親 'A' の一部である 2 つの 'B' の子になることはできません.. ただし、'C' は子になることができます各 'B' の親 'A' が異なる場合、複数の 'B' の
それは理にかなっていますか、それともシナリオの難読化を解除する必要がありますか? 事前に乾杯!
このポリシーがアプリケーションに適用されることはわかっていますが、データベースが無効な状態になることを不可能にしたくないことに注意してください。
編集:こんにちは、素晴らしいフィードバックです。まず、知識を共有してくださった皆さんに感謝しなければなりません。
状況を明確にするために、シナリオを説明しますが、ここにいくつかの注意事項があります。
'A' には 0 個以上の 'B' があり、'B' は暗黙的に 'A' に関連付けられているため、常に 1 つの 'A' の子になります。「C」は、データベース内の多くの「B」やその他の要素に関連付けられているルート エンティティのようなものです。
これが本当の話です:
これは、多くのブリーフ (A) と多くのメンバー (C) を含む Web サイトです。ブリーフには多くの提出物 (B) を含めることができます。提出物には、常に 1 つ以上の関連メンバーが含まれます。アイデアは、提出物は実際にはコラボレーションである可能性があり、各メンバーは他のメンバーよりも多くの「力」を持っていませんが、メンバーがどのように協力するかのポリシーを検証するための異なるシステムが配置されるというものです.
したがって、ブリーフごとに、メンバーは 1 つの提出のみを提出でき、提出には多くのメンバー (共同作業者) を含めることができます。
お役に立てば幸いですが、すでに十分なご支援をいただいていると思います。
スティーブ。
xml - XML 要素の一意の ID スキーマの表現
私のXMLは次のようになります:
各従業員が一意の id 属性を持つように従業員要素が定義されるように xml スキーマを作成する方法 (2 つの従業員要素が id 属性に同じ値を持つことはできません)
database - interbase でデータベース テーブルを設計する最良の方法は?
会社のデータベースを適切な方法でやり直そうとしています。現在のデータベースはごちゃごちゃしており、ドキュメントはほとんどありません。Interbase データベースを設計するときに、何を使用することをお勧めしますか? SQL を生成する優れたビジュアル スキーマ デザイナーはありますか? 全部手でやったほうがいいの?
基本的に、データベースを設計して文書化するとき、人々は通常どのような手順を踏むのでしょうか? 問題があれば、Hibernate をデータベースの ORM として使用するつもりです。(Interbase に関する具体的なヒントも歓迎します)。
ありがとう!
ruby-on-rails - Rubyコミュニティはシンプルさを重視しています...新しいプロジェクトでdbスキーマをシンプル化するためのあなたの主張は何ですか?
私はこれまでRubyORRailsを使用したことがない開発者と一緒にプロジェクトに取り組んでいます。
私の意見では、彼らは複雑すぎるスキーマを作成しました。スキーマには117個のテーブルがあり、最も単純な情報を取得するには、7つのテーブルをトラバース/結合する必要があります...もちろん、それらの間の一種のキーとして機能する「メイン」テーブルはありません。スキーマは、「find」メソッドのような多くのrailsツールをレンダリングし、has_many/belongsの関係の多くはほとんど役に立たないものになります。そして、これらすべての関係のコーディングは、コーディングするお金よりも時間がかかる可能性があります。
質問:
スキーマが理想的ではないと非常に確信していて(IMHO ... hehe)、ドメインを表す方法が複数あると仮定すると、スキーマを単純化するためにどのように主張しますか(私がすでに言ったことは別として)?
xcode - Core Dataのビジュアルレイアウトを整理する方法についての提案はありますか?
Core Data
the visual layout
非常に素晴らしいです。Xcodeが提供するものを使用して、物事を整理し、配置したデータの簡単なサンプルを取得することを本当に楽しんでいます。時々、それを最大限に活用しているのだろうかと思い始めましたが、しばらくすると矢がたくさん出てきて、何が起こっているのかわからなくなってしまいます。
私はこれを最小限に抑えるようにしています
- 同様のオブジェクトをグループ化して、
- 子供と一緒に木の抽象的なオブジェクト/親、
- 等
しかし、混乱は避けられないようです。
それを最適に整理して読みやすくするために採用するいくつかの方法は何ですか?
c# - JavaScript と C# オブジェクト モデル間の一貫性の維持
私は、クライアント側で多くの JavaScript を使用して、ユーザーがリストのドラッグアンドドロップの並べ替え、リストに追加するアイテムの検索などを実行できるようにする ASP.NET Web アプリケーションに取り組んでいます ( Google 検索バー)、リストからのアイテムの削除など。
クライアント側の各リスト項目と、ユーザーが項目に対して実行したアクション (追加、編集、削除、移動) に関する情報を格納するために使用する JavaScript「クラス」があります。ページがサーバーに投稿されるのは、ユーザーが完了したときだけです。ページが送信される直前に、JSON に加えられた変更に関するすべての情報をシリアル化し、ページの非表示フィールドに保存します。
私が探しているのは、C# でクラスを構築する方法に関する一般的なアドバイスです。JSON をこのクラスのインスタンスに逆シリアル化できるように、JavaScript のクラスと一致する C# のクラスがあればいいと思います。JavaScript クラスを直接複製し、JavaScript UI 実装をサポートするためだけに存在するクラスがサーバー側にあるというのは、少し奇妙に思えます。
これは一種の抽象的な質問です。クライアント側とサーバー側のオブジェクトモデルの一致を維持するという点で同様のことを行った他の人からのガイダンスを探しています。
schema - SOLR スキーマ設計の質問: フィールドが存在しないか、ブール型フィールドですか?
SOLR インデックスを 2 つに分割する必要があります。結局のところ、必要なパーティション情報を表す STRING フィールドが既にあります。つまり、検索されるレコードの種類の 1 つは、文字列フィールドがレコード内に存在し、値が含まれている場所であり、もう 1 つの種類は、値が含まれていない場所です。すべてのクエリで、検索するパーティションを指定する必要があります。負のフィールドクエリを使用してそのフィールドを検索する方が速いでしょうか、-strFld:[* TO *]
それとも新しいブールフィールドを作成し、それを「hasStrFld」と呼んで検索する方が良い/速いでしょうか? したがって、strFld が存在しない場合、hasStrFld は false になります。同様に、StrFld にデータがある場合、hasStrFld は true になります。
その他の考慮事項: 将来、インデックスが 3 番目のパーティションに分割される可能性は非常に低く、ブール値の不適切なクエリと負のクエリが不適切になり、列挙値を持つフィールドが考慮されます。ただし、可能性はかなり低く、将来の拡張性よりも今日の高速パフォーマンスの方がはるかに重要です。
sql - 参照整合性が適切でないのはいつですか?
入力時に特定の値を制限したり、削除の要求時にそれらが削除されないようにするために、参照整合性が必要であることを理解しています。ただし、このメカニズムが常に使用されることを排除する有効なユースケースについては不明です。
これはいくつかのサブ質問に分類されると思います。
- 参照整合性が適切でないのはいつですか?
- 外部キーのリストの複数のサブセットおよび/または不完全なサブセットを含むフィールドを持つことは適切ですか?
- 通常、これはスキーマ構造の設計上の決定ですか、それともインターフェイスの設計上の決定ですか。(または、どちらでもないか、両方である可能性があります)
考え?