問題タブ [object-relational-model]
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.
sql-server-2005 - データベース スキーマで動作する O/RM または ERD ツールはありますか?
スキーマを考慮して名前空間を作成する O/RM または ERD ツールを探しています。複数のスキーマで設計されたデータベースがあります。同じテーブル名の複数のテーブルがありますが、スキーマは異なります。例: Statuses.Contact、Contacts.Contact、Types.Contact。スキーマから名前空間を作成し、次にテーブルからオブジェクト/エンティティを作成するものが欲しいです。
このようなものはありますか?
SQL Server 2005 を使用しており、C# でクラスを生成したいと考えています。
ありがとうございました。
java - これは Java でのカスタム オブジェクト リレーショナル マッピングの良いアプローチですか?
私は、Oracle の組み込み「HR」データベース スキーマを使用するサンプル Java アプリケーションを開発しています。テーブルの行を Java オブジェクトとして扱いたいと考えています。HR スキーマの表の 1 つである EMPLOYEES は、自己参照型です。EMPLOYEES テーブルの別の行への外部キー (NULL でない場合) を含む MANAGER_ID 列があります。
オブジェクト指向の用語で言えば、問題は、特定の Employee オブジェクトのマネージャー (別の Employee オブジェクト) にアクセスする方法です。指定された Employee オブジェクトのマネージャーもマネージャーを持つことができるため、一括読み込みは良い解決策ではないようです。この状況で熱心にロードするオブジェクトの数は無制限です。
ここまでで決めたことは、Employee オブジェクトをインスタンス化するときに MANAGER_ID フィールドを熱心にロードすることです。次に、Employee のマネージャである Employee オブジェクトが (getManager()
メソッドを介して) 要求されると、後者が遅延ロードされます。コード内:
それで、これは良いアプローチですか?私が抱えている唯一の問題は、遅延読み込みを実装する方法です。Employee オブジェクトはそのインスタンス化子への参照を必要とするように思われます。おそらく、それはマネージャの Employee オブジェクトをインスタンス化するのと同じことです。
また、独自の ORM フレームワークを展開する代わりに、世の中にある多くの ORM フレームワークの 1 つを使用できることもわかっていますが、基礎となるプロセスについてより多くの洞察を得るために、これを自分で行っています。
編集: 明確にするために、この取り組みのための私のアーキテクチャ (そのようなもの) には、Java EE はまったく含まれていません。これは、クライアントが単純な RMI を介してサーバーとやり取りする Java SE アーキテクチャです。
また、上記の Employee クラスは、遅延読み込みを実行するために DAO への参照を明らかに必要とします。ただし、次の理由により、これが必ずしも密結合であるとは考えていません。
- Employee オブジェクトは、DAO が実装する抽象インターフェイスへの参照を保持できます。および/または
- Employee オブジェクトはサーバー オブジェクトへの参照を保持でき、サーバー オブジェクトは DAO への (プライベート) 参照を保持します。
#2 の場合、Employee オブジェクトが参照するサーバー オブジェクトは、おそらくクライアントが参照するものと同じであることに注意してください。
php - Doctrine: 「このイベントは、次の他のイベントに関連しています」のように、リンク テーブルを使用してモデルをそれ自体に関連付けます。
したがって、英語では、この関係は「このイベントは次の他のイベントに関連しています」のように聞こえます。
私の最初の本能は、フィールドとフィールドをEventEvent
持つモデルを作成することです。次に、モデルで次の 2 つの関係を定義します。first_event_id
second_event_id
Event
Event
しかし、モデルで 2 つの関係を使用する必要はありません。これを行うより良い方法はありますか?
php - RESTfulAPIリソースのアーキテクチャと構文。私はそれを正しくやっていますか?
マイクロフレームワークにRESTfulAPIリソースアーキテクチャを実装する作業をしています。最近開発したすばらしいルーティング機能を利用して、オブジェクト階層と並行してリソースパスをモデル化しています。(ああ、それは空想です!)
私が使用しているURI構文は次のとおりです。
これにより、次のようなURIが許可されます。
これは次のようなものにマップされます(この機能をルーターに組み込んだ後):
だからさらなる例:
私が抱えている問題は、最後の問題で、複数の結果をクエリデータ(LIKE
SQLではa'la)と照合することです。ワイルドカードを表すのに安全な文字は何でしょうか。アスタリスク( )は、 http://labs.apache.org/webarch/uri/rfc/rfc3986.html#reserved*
のサブ区切り文字予約リストに表示されるため、エンコードされないままになります。おそらく、%25( )を使用する方が簡単でしょう。%
この問題は実装固有である可能性があることを理解していますが、これに類似したRESTful APIリソースアーキテクチャを実装する既存のフレームワークがあり、アイデアを参照できますか?
また、私はここで完全に穀物に反対していますか?
sql - 拡張SQLスキーマとは何ですか?
質問の1つが、特定のオブジェクトリレーショナルデータベースの「拡張SQLスキーマ」を要求するという課題があります。この質問が何を意味するのか誰かが知っていますか?
指定されたデータベーステーブルは、car_parts、engine_parts、tires、およびwindowsです。
私はスキーマを作成するために次のコードを思いつきました(私も少し不安定です):
拡張スキーマを作成するためにこのスキーマに追加する必要があるものは他にありますか?これはスキーマを作成するための正しい方法ですか?
php - コメント Crud の記事のタイトルを取得する
記事とコメントのモデルを作成し、両方に CRUD を設定しました。その作品は完全に。ここで必要なのは、comment.articleid の代わりに article.title フィールドを Comment Crud に表示することです。どうやってやるの?
これは私が立ち往生しているところです。次に何をすべきか、またはそれが正しいかどうかはわかりません。
編集:
これが私のコードadmin.phpビューファイルです:
ありがとう。
orm - エンティティに非永続変数があっても大丈夫ですか?
ORM を使用する場合、計算にのみ使用され、安全に削除できるいくつかの非永続的なプロパティを持つモデル クラスを持つことは、ある種の良い習慣を破っていますか?
Product があるとしましょう。この製品には、可能なオプションのリストがあります。オプションは、製品の価格に影響を与える場合があります。また、1 つのオプションが選択されると、別のオプションの価格が変わるという一連のルールもあります。
選択したオプションとともに製品を注文に追加する場合、まず、選択した各オプションに影響するルールに基づいて、すべてのオプションの価格を再計算する必要があります。次に、選択したすべてのオプションを使用して製品の最終価格を計算できます。
この例では、Option は、選択された Options のコンテキスト内でのみ意味を持ち、Product が Order に追加された後に安全に削除できる、calculatedPrice プロパティを持つことができます。
この問題について考えるより正しい方法はありますか、それとも問題ありませんか?
postgresql - postgreSQLに1:Nリレーションを実装する(オブジェクトリレーショナル)
タイプAの1つのインスタンスをタイプBのインスタンスのセットにリンクする方法がわからないため、postgreSQLで苦労しています。簡単な例を示します。
たとえば、音楽アルバムと人々を含むDBを設定し、それぞれにお気に入りのアルバムのリストを設定するとします。次のようなタイプを定義できます。
次に、これらのタイプのテーブルを作成します。
DBをオブジェクトとして現実的なものにしたいので、PersonテーブルのFavAlbums行にアルバム「objects」をネストしたくありませんが、Albumテーブルのエントリを「ポイント」したいと思います。 、n人のレコードが同じアルバムレコードを何度も複製することなく参照できるようにします。
マニュアルを読みましたが、オブジェクトリレーショナル機能があまり使用されていないため、いくつかの重要な例が不足しているようです。私は現実化モデルにも精通していますが、リレーションに追加のテーブルを使用したいと思います。
hibernate - Hibernateのエンティティ階層
1つが他の親である2つのエンティティを作成する適切な方法は何ですか?たとえば、次の2つのテーブルがあります。
非常に単純です。すぐにEmailOutbox
送信されるメールと、の指定された日付に送信されるメールがありますEmailOutboxSchedule
。したがって、理想的には、これはJavaのクラス階層であり、EmailOutboxSchedule
extends EmailOutbox
。次に、1つの追加フィールドを指定するだけでdateToSend
、一般的なオブジェクト階層機能を利用できます。hibernateでこれを行うのに問題はありますか?2つのエンティティに特別な方法で注釈を付ける必要がありますか?