問題タブ [object-oriented-database]
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.
java - JDOアーキテクチャ:1対多の関係とカスケード削除
私はオブジェクト指向データベースの設計に不慣れであり、Google App Engine用のJDOでクラスをどのように構成する必要があるか、特に1対多の関係を理解しようとしています。
百貨店の構造を構築しているとしましょう。百貨店には多くの部門があり、各部門には多くの商品があります。したがって、Productクラスのリストである変数を持つDepartmentというクラスが必要です。
ただし、1つの製品を複数の部門に含めることができます(たとえば、バッテリーが電子機器や家庭用品にある場合など)。次の質問は、OODの世界でデータを複製せず、多数の部門に製品データのコピーを1つだけ持つにはどうすればよいかということです。次の質問は、特定の製品を削除したとしましょう。各部門は、その製品が削除されたことをどのようにして知るのでしょうか。
mysql - OODBMS postgreSQL配列フィールド実際に使用しますか?
私はPostgreSQLを初めて使用し、主に以前はMySQLを使用し、SQLServer(クライアントプレッシャー用。あまり使用していません)を使用しました。いくつかのGoogle検索でいくつかのOODBMSの紹介を行いました。それらのほとんどは、主にテーブル<->オブジェクトマッピングに焦点を当てています。ただし、RDBMSで汎用ORMレイヤーを使用すると、物事はハピリーマップされます。では、本当にOODBMSが必要なのでしょうか。
PostgreSqlにいくつかの配列フィールドがあるのを見てきました。彼らはデータベースの正規化の問題をすり減らしていませんか?
PHPのPDOやQtのデータベースモジュールなどの標準データベース抽象化レイヤーは、これらの配列フィールドをサポートしていますか?
配列ベースのフィールドで多対多または1対多の双方向の関係を管理することはどれほど優れていますか?
これらの配列フィールドに制約を配置することはどの程度怒りますか?
OIDの使用とは何ですか?それはどのくらいの価値がありますか?
アプリケーション開発者の側から見ると、OODBMSとRDBMSを使用することのメリットはどれくらいですか?
user-interface - .NetオブジェクトデータベースのGUIモデリングツールを参照してください。
eloquera(http://eloquera.com/page/home.aspx)などのオブジェクトデータベースを使用することを計画しています。
RDBMSをストレージとして使用する場合、GUIモデリングツールはたくさんあります。
しかし、オブジェクトデータベース用のものが見つかりません。つまり、.Net(C#)コードを生成するためのGUIモデリングツールです。
知っているなら教えてください。
ありがとう、
イン
実際、私はいくつかのUMLツールを見てきました。彼らは私が必要とするいくつかの機能を欠いています。
私は自分のアイデアを再配置し、ここに新しい質問を作成しました。.Netの知識ベースモデリングのコンポーネント/ツール( https://stackoverflow.com/questions/3227543/a-component-tools-of-knowledge-based-modeling-for -net)。
申し訳ありませんが、この質問は終了しました。
ありがとうございました、
イン
database - どの種類のデータベース システムを使用すればよいですか?
連絡先情報を保存したアドレス帳を作成する予定です。
各連絡先には、無制限の数のフィールドを含めることができます。主に文字列と整数。しかし、おそらく他のオブジェクトへの参照です。
RDBMS を ORM と OODBMS とドキュメント DBMS (CouchDB など) で使用することの長所と短所は何ですか。
ありがとう。
database - オブジェクト指向/リレーショナル ハイブリッド データベース?
オブジェクトの永続性のために、リレーショナル データベース + オブジェクト リレーショナル マッパーを使用してきました。不必要なオーバーヘッドが追加されるため、これは永続化のための真に適切なソリューションではないと思います。また、オブジェクトをテーブルのような構造に合わせる必要がありますが、これはうまくできない場合があります。これは、四角形を円に合わせるようなもので、うまく機能しません。
現在、オブジェクト指向データベースが存在することは承知していますが、1 つにはサポートが不足しており、リレーショナル モデルはほとんどのデータで機能しますが、すべてではありません。
では、オブジェクト指向レコードとリレーショナル レコードの両方をサポートする DBMS はありますか? つまり、作業内容に応じて、(リレーショナル) テーブルまたはオブジェクトのコレクションにレコードを含めることができますか?
database - 参照整合性を備えた NoSQL / RDBMS ハイブリッド (削除カスケード)?
参照整合性の利点を提供し、クエリに SQL 型言語を使用できるだけでなく、データ属性とエンティティ間の関係に関してエンティティを大まかに定義できるデータベースはありますか?
たとえば、アクセス許可、ユーザー、ユーザー グループ、およびロールを持つ RBAC タイプのモデルを考えてみましょう。複雑で柔軟なモデルには、次のルールを含めることができます。
- ロールは 1 つ以上の権限を持つことができ、権限は 1 つ以上のロールに属することができます
- ユーザーは 1 つ以上の権限を持つことができ、権限は 1 つ以上のユーザーに属することができます
- ユーザー グループは 1 つ以上の権限を持つことができ、権限は 1 つ以上のユーザー グループに属することができます
- ユーザーは 1 つ以上のロールを持つことができ、ロールは 1 つ以上のユーザーに属することができます
- ユーザー グループは 1 つ以上の役割を持つことができ、役割は 1 つ以上のユーザー グループに属することができます
- 役割は 1 つ以上の役割を持つことができ、役割は 1 つ以上の役割に属することができます
上記を RDBMS でモデル化するには、多数の交差テーブルを作成する必要があります。理想的には、データベースで定義したいのは、エンティティ自体 (ユーザー、ロールなど) といくつかの必須属性だけです。他のすべては動的になります (つまり、DDL は必要ありません)。たとえば、事前定義されていない新しい属性を持つユーザーを作成できます。データベースは通常の RDBMS のように参照整合性を処理しますが、事前定義されていないエンティティ間の関係を作成することもできます。
上記は、エンティティを格納するテーブルと関係を格納する別のテーブルを作成することにより、RDBMS である程度達成できますが、単純なクエリを実行するために必要な SQL が過度に複雑になり、パフォーマンスに影響を与える可能性もあります。
c# - .Net バインディングに必要な Magical Object Database
私がプログラムを書いていると仮定しましょう。私のプログラムには独自のエンティティなどがあります。また、私は OOP .Net 言語 (C# ですが、F# または Iron Python の場合もあります) を使用しているため、オブジェクトには、継承、他のオブジェクトへの参照、階層関係などの奇妙な OOP 特性があります。
当然のことながら、これらすべてをデータベースに保存したいのですが、それはリレーショナルであるため、明らかにできません。また、集合論について学ぶのに多くの時間を費やした数学者から来ました。
ORM レイヤーを使用できるようになりましたが、あらゆる種類の XML などを記述する必要があるため、それは少し悪夢のようです。
いいえ、私が欲しいのは、オブジェクト指向機能を備えたデータベースです! おそらく、オブジェクト リレーショナル データベースでさえも!
しかし!また、 .Netの世界に自然な API とバインディングを持たせたいと思っています。
私はクラス Cat を記述できるようになり、データベースに私の Cat を保存するように指示できるようにしたいと考えています。Linqプロバイダーがあれば、それも非常に便利です。
何か案は?
database - オブジェクト データベースはいつ使用する必要がありますか?
私はしばらくの間リレーショナル データベースを使用してきましたが、最近、別の種類のデータベースであるオブジェクト データベースに出会いました。このアイデアに基づいて構築された製品の 1 つには、次のような説明がありました。分散 Web アプリケーション用の多次元データとアプリケーション サーバーを備えたスケーラブルな「ポスト リレーショナル」データベースです。
これは、いつそのようなデータベースを使用することになっているのでしょうか? つまり、Facebook は MySQL を使用しているに違いなく、問題なく動作しているようで、大規模な分散 Web アプリケーションと見なすことができます。同じことは、おそらく Twitter や Orkut などの他の Web アプリケーションにも当てはまります。この場合、いつオブジェクト データベースを使用すればよいのでしょうか。
database - Eloqueraオブジェクトデータベース
Eloquera dbを見て、とても感動しました。現在、SQLServerではなくEloqueraで次のプロジェクトを開発することを考えています。ですから、いくつか質問があります。
- Eloqueraは、エンタープライズおよび高負荷でどのように機能しますか?
- 他のオープンソースおよび商用RDBMSと比較してどうですか(つまりパフォーマンス)?
- 実稼働環境で使用するのに十分安定していて安全ですか?
- SQL Management StudioのようなGUIツールはありますか?
- Eloqueraを他のRDBMSと比較するベンチマークを行った人はいますか?
database - 単一ユーザーの .NET Winforms アプリケーションに最適なデータベースの選択肢は何ですか
新しい .Net 3.5 Winforms シングル ユーザー アプリケーションを作成していますが、どのデータベースを使用すればよいかわかりません。データベースは約 30 のテーブルで構成され、テーブルの最大行数は 50,000 を超えません。
クライアント ユーザーが構造を表示したり、データを手動で変更したりできないように、データベースはパスワードで保護する必要があります。
アプリケーションのセットアップは別として、クライアント マシンにこれ以上インストールするのは避けたいと思います。たとえば、SQL Server Express Edition はクライアント マシンにインストールする必要があるため、使用したくありません。しかし、それは優先事項ではありません。
私の知る限り、私の選択肢は SQL Server Compact Edition、SQLite、および Microsoft Access です。SQL Server Compact エディションを使用するのが最良の選択だと思いますが、モバイル デバイスで実行されるデータベース アプリで使用するように作成されているため、それが適切かどうかはわかりません。しかし、私は間違っている可能性があります。
ODBMS について聞いたことはありますが、使用した経験がなく、パフォーマンスや柔軟性などについてもわかりません。