問題タブ [data-modeling]
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.
database-design - リレーショナル db へのドメイン継承 - 動作する db モデルを探しています
この質問の焦点は、主に、ここでオブジェクト モデルを指定してリレーショナル データベース スキームを開発することです。
システムのこの部分は、リソース (さまざまな種類の従業員と請負業者) がアクティビティ (プロジェクトまたはアカウント) に行う時間ベースの割り当てに関係しています。データ エントリは毎週行われ、ドメイン モデルは毎週のエントリ (200 リソースでリソースごとに最大 5) を検証してから永続化する必要があります。データベースからのクエリは、アクティビティとリソースの両方による割り当ての承認/分析をサポートする必要があります。
私はすでに NHib (& FNH) をシステムのより単純な部分で使用しているので、私の主な焦点に付随して、これらのツールを永続化するためにドメイン モデルが行わなければならない他の譲歩を具体化することです。例:
1) そうでなければ仮想ではないプロパティは仮想です
2) ID 生成 (基本クラスとしてのエンティティは、ID (int) を生成するために自動マップされます
以下は、プレゼンテーション目的でテストされた対象のドメイン クラスです。
ここでフィードバックを探して、私が捨てている最初のデータベース構造を次に示します。
)
)
)
私はまだ特定の継承マッピングスキーム(つまり、クラスごとのテーブルなど)を狙っていません(最適なパフォーマンスではないにしても)動作する開始データベースモデルを取得しようとしています。私は、データベースのスキルが私のプログラミングスキルを比較すると素晴らしいものにしていることをすでに痛感しているので、すべての建設的なフィードバックと質問を歓迎します!
乾杯、
ベリル
ruby-on-rails - Railsのデータモデリングに関する質問
私は次のエンティティを持っています。
- ユーザー
- イベント
- 費用
- ゲスト
ユーザーとは、私のサイトに登録されている人です。イベントは、特定のユーザーが作成して、他のユーザーに招待できるものです。費用は、特定のイベントのために特定のユーザーによって作成され、イベントの他のユーザー/ゲストに関連付けることができます (ユーザー A がユーザー B、ユーザー C、およびゲスト D のために何かを購入したように)。ゲストも特定のイベントのために特定のユーザーによって作成されますが、イベントのために作成されると、そのイベントに関連付けられた他のユーザーがゲストを見ることができます。ゲストが実際にシステムにログインすることはありません。これは、イベントに参加した可能性があるが、サイトに登録されていない人々の単なるプレースホルダーです。
これらのエンティティのhas_many
および属性に頭を悩ませようとしています。belongs_to
私の多対多の関係テーブルとほぼ同じように、人 (ユーザーまたはゲスト) の「タイプ」を識別する別の列が必要です。これにより、適切に結合してユーザー テーブルとゲスト テーブルから名前などを適切に取得できます。
レコードがゲストであるかどうかを示すフラグを users テーブルに作成することを考えました (したがって、そのゲストがサイトに登録したり、ログインしたりする必要はありません) が、あまりクリーンではないようです。
どんな考えでも大歓迎です。
ありがとう!
トーマス
php - MySQLデータモデリング:複数のユーザータイプ/アクティビティ/フォロー
複数のユーザータイプのサイトがあるプロジェクトがあります。そして、このためのベストプラクティスに頭を悩ませるのに苦労しています。
ノードの種類に関係なく、フォローしている(ノード)からアクティビティを取得できるようにしたい。ノードタイプが次のようになります。
ユーザー:組織:
組織は、ユーザーとして機能できるエンティティになります。コメントを書いて、メッセージを送ってください。ただし、組織は、組織の情報を編集できるユーザーで構成されています。組織もフォローでき、フォローできます。
- A)ユーザーと組織は別々のテーブルにする必要がありますか?
- B)一般的に言えば、これはどのように保存する必要がありますか。
- C)それらが実際に2つのテーブルである場合、フォローしているテーブルからアクティビティを取得するときに結合はどのように機能しますか?
sql-server - EAV モデルを作成するための SQL ステートメントはどこにありますか?
あるいは、Erwin の EAV モデルを入手できる場所を知っている人はいますか?
data-modeling - 分散データモデル
私はフィールドロボティクスで働いており、中央サーバーが車両の状態、環境の状態、タスク、タスクのグループ化などに関係するデータのヒープ全体を追跡しています。このデータのさまざまな部分を処理するプロセスと、特定の部分が変更されたときに更新する必要があるユーザーインターフェイスがあります。
私が欲しいのは、システムが中央サーバーに接続し、データの一部をサブスクライブする方法です。彼らはすべてのデータを彼らにパイプダウンし、変更が発生すると送信されます。さらに、特定の更新を統合できることを指定できるようにしたいと思います。車両が3回移動したが、接続されたUIの帯域幅が、最新の位置だけが送信されるよりも少ない場合です。
現在、クライアントサブスクリプションクエリを追跡し、それらに送信するデルタを計算するインメモリデータベースを考えています。データモデルを配布するためのより良い方法または既存のソリューションはありますか?
database - どのデータモデルのストレージ戦略ですか?
データモデルを保存するための優れた設計を考え出そうとしています。言語はPythonですが、これはかなり不可知論者だと思います。
現時点では、3つの可能な戦略を想定しています。
オブジェクトデータベース
データモデルはオブジェクトのネットワークです。それらを作成するとき、永続オブジェクトの子孫として指定します。例:
クライアントコードは永続性を認識せず、メモリ内にあるようにオブジェクトを操作し、永続性オブジェクトはクライアントコードが知らないうちにすべてを処理します。取得は、データベースオブジェクトのキー付きルックアップを介して実行できます。これは、(他の多くの中で)ZopeObjectDatabaseが使用するアプローチです。利点は、遅延検索であり、変更は、変更されたオブジェクトでのみ操作され、変更されていないオブジェクトは取得されません。
棚のオブジェクト
上記のデータモデルはメモリで表されますが、データベースを使用してデータをモノリティックエンティティとしてプッシュまたはプルします。例えば:
これは、ピクルスベースのソリューションが行うことです。これは、ある意味で前のソリューションと似ていますが、オブジェクトを単一のバンドルとして保存し、それを単一のバンドルとして再度取得する点が異なります。
ファサード
便利なメソッドを持つ単一のデータベースクラス。クライアントコードはオブジェクトを処理せず、IDのみを処理します。例
この解決策はかなり物議を醸しています。データベースクラスには多くの責任がありますが、これがSOAPで使用されている哲学であると感じています。オブジェクトを直接操作するのではなく、リモートサーバーへのオブジェクトプロパティの照会を実行します。SQLがない場合、これはリレーショナルデータベースへのインターフェイスになる可能性があります:db.createTable()
、、。SQLはこれを単純化して、言語(SQL)の解析と実行を犠牲にして、非常に単純なdbインターフェースを取得します。他の部分に触れることなく、関心のあるデータモデルのサブパートを操作することができます。db.insert()
db.select()
db.query(sql_string)
3つのデザイン、特に3つ目のデザインについてご意見をお聞かせください。良いデザインはいつですか?
逆論理
これは私がMediaWikiコードで見たものです。のようなものを持つ代わりに
彼らは持っている
編集:私が示すサンプルデータモデルは少し単純です。私の本当の目的は、グラフベースのデータモデルを作成することです(誰かがプロジェクトに参加したい場合は、私は光栄に思います)。3番目のソリューションで私が心配しているのは、(メモリ内のデータモデルではなく)書き込まれたデータモデルを強力にカプセル化し、バックエンドをマスクすることですが、すべてのメソッドが公開されている中央クラスは1つしかないため、爆発するリスクがあります。正直なところ、3番目のケースは好きではありませんが、考えられる解決策として考えたので、質問の皿に載せたかったのです。そこに良いものがあるかもしれません。
編集2:反転論理エントリを追加しました
entity-framework - EF を使用して、データベースの要素を一連のクエリ可能なクラスとして取得することは可能ですか?
開発者とエンド ユーザーの両方が、SQL コードをまったく記述せずに (実行時に選択された) リレーショナル DB からデータを取得できるアプリケーションを作成しようとしています (データベースと対話するときに文字列を連結しないことが望ましい)。このアプリケーションの目的は、式ツリー ビルダーへの GUI と、それによって生成されたツリーの XML シリアル化の 2 つです。
物事をうまく進める方法について、いくつかのガイダンスやヒントをお願いしたいと思います。他の誰かにこれを書いてもらいたくない - これは私のプロジェクトであり、コードを書くのは私です。
だから私の質問は:
実行時に接続文字列のみを使用するだけで、オブジェクト モデルを作成し、DB の要素をセットでアドレス指定できますか? たとえば、すべてのテーブル、ビュー、関数、および sproc のリストなどです。
式ツリーを構築できるように、前述のリストの要素を拡張メソッドで使用できますか?
CSDL、SSDL、および MDL ファイルのみを含む (Entity クラスを含まない) データベースからこれらのリストを取得するために、Metadata Workspace クラスと ItemCollections を使用できますか?
式ツリーの結果をシリアル化するために LINQ to XML を使用できますか? それとも、Entity Framework に固有の他のシリアル化テクノロジを使用する必要がありますか? (ここに示す例のように: http://msdn.microsoft.com/en-us/library/bb738528.aspx )
PS: これまでの私の調査からのいくつかのメモは次のとおりです。 1. たとえば、DataContext.GetTable() メソッド (はい、ジェネリックではなく、弱く型付けされたもの) は、DataContext が接続文字列のみを受け取った場合、データを取得しませんでした。
スキーマ アーティファクトを生成するために EdmGen ツールを呼び出しています。これまでのところ、それらの属性を読みましたが、ラムダ式で使用できる要素のある種のリストを取得しようとしています (テーブルなど)。 ?
私の理解が正しければ、Entity Framework では、Metadata Workspace や ItemCollections などのクラスを EdmGen ツールと共に使用して、概念スキーマをアプリケーションのオブジェクト モデルとして表すために必要なオブジェクトのセットを作成できます。
ここと MSDN の他の関連トピックに沿って Entity Framework プログラミング ガイドを参照しましたが、これまでのところ、このシナリオに関連する情報は見つかりませんでした。昨日、「Programming Entity Framework」という本を手に入れました。答えのいくつかがそこにあることを願っています。手がかりが見つかったら、この質問を更新します。
そのため、混乱しており、まだ検索中ですが、この件について何か助けていただければ幸いです。
敬具、 ボリスラフ
sql - 再帰なしのSQL再帰
私は4つのテーブルを持っています
ユーザーが属するすべてのグループを直接または間接的に返すクエリを作成したいと思います。明らかな解決策は、アプリケーションレベルで再帰を行うことです。データベースアクセスを減らし、結果としてパフォーマンスを向上させるために、データモデルにどのような変更を加えることができるのでしょうか。
mysql - DBDesigner の問題
DBDesigner は MySQL とのみ同期できますか?
SQL Server で試しましたが、うまくいきません。
DB デザイナー バージョン: 4.0.5.6
わかりました。
sql - CREATE TABLE SQL からグラフィカル スキーマ表現を生成する
多くの CREATE TABLE ステートメントを含む .sql ファイルがあります。参照仕様 (MyISAM のもの) はありませんが、さまざまなテーブル ボックスを作成して、手動でテーブルの関係を構成することを楽しみにしています。私はマックを使用しています。これを行うための無料のプログラムはありますか?