問題タブ [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.
database - グラフベースのデータベースとオブジェクト指向データベースの違いは何ですか?
グラフベースのデータベース ( http://neo4j.org/ ) とオブジェクト指向データベース ( http://www.db4o.com/ )の違いは何ですか?
couchdb - ドキュメントデータベーススキーマを設計する
私は無駄にオブジェクトデータベースの使い方を学ぼうとしています。データベースの教科書では、学生、コース、クラスを追跡する例を使用するのが伝統のようです。これは、非常に馴染みがあり、適用できるからです。この例は、オブジェクトデータベースとしてどのように見えますか?リレーショナルデータベースは次のようになります
StudentClassesをClasses内、つまりCourse内に保持し、Studentをトップレベルのエンティティとして保持しますか?
.net - 良いdb4oビューアをお勧めします
私はdb4oで遊んでいて、VisualStudio用のObjectManagerビューアを持っています。大丈夫なようですが、HeidiSQL / SQLStudioなどのツールとまったく同じではありません。db4oファイルがロックされることは言うまでもありません。db4oアプリとオブジェクトマネージャーを同時に使用することはできません。
間違って使っているのかもしれませんが、それでも、他に何があるのか知りたいです。db4oファイルを調べて操作するためにどのツールをお勧めしますか?
更新:私はLINQPadを使用しています。ヤクの剃毛も含まれていますが、かなりうまく機能しています。HeidiSQL / SQL Studioなどのアプリケーションで利用できる機能に関しては、まだ多くの要望がありますが、それは始まりです。
jdbc - db4o などのオブジェクト データベースでのデータ メンテナンスの処理
db4oのようなオブジェクト データベースを使用する際に、私が非常に混乱していることの 1 つは、通常は SQL/PL-SQL によって処理される複雑な移行をどのように処理する必要があるかということです。
たとえば、my_users というリレーショナル データベースにテーブルがあるとします。もともと「full_name」という名前の列がありましたが、ソフトウェアが V2 になったので、この列を削除し、フル ネームを空白スペースで分割し、最初の部分を「first_name」という名前の列に入れ、2 番目の部分を列に入れたいと考えています。 last_name という名前です。SQL では、「first_name」列と「second_name」列にデータを入力してから、「full_name」という名前の元の列を削除します。
db4oのようなものでこれを行うにはどうすればよいですか? User.class のすべてのオブジェクトを検索し、first_name と last_name を設定しながら full_name を null に設定するスクリプトを作成する Java プログラムを作成する必要がありますか? 次の svn commit を行うと、full_name に対応するフィールド/bean-property がなくなりますが、これは問題になりますか? 私の「スキーマ」が変更される本番アプリケーションでそれを使用するように思えますが、バージョン x からバージョン x+1 にデータを移行するスクリプトを作成し、バージョン x+2 で実際にしようとしているプロパティを削除します。タイプの一部ではなくなったプロパティを変更する Java スクリプトを作成できないため、バージョン x+1 では削除してください。
問題の一部は、RDBMS が参照しているオブジェクトを単純な大文字と小文字を区別しない文字列ベースの名前に基づいて解決することのようです。Java のような言語では、型付けはこれよりも複雑です。ゲッターがプロパティを参照できない場合/setter/field は実行時にロードされるクラスのメンバーではないため、基本的に同じスクリプトに 2 つのバージョンのコードを含める必要があります (うーん、カスタム クラスローダーは苦痛のように聞こえます)。新しいバージョンのクラスを格納します。別のパッケージ (ごちゃごちゃしているように聞こえます) を使用するか、前述のバージョン x+1 x+2 戦略を使用します (さらに多くの計画が必要です)。おそらく、db4o ドキュメントから収集したことのない明白な解決策があるでしょう。
何か案は?うまくいけば、これはある程度の意味があります。
.net - .NET プロジェクト: オブジェクト データベースの統合ラッパー
.NET 用のオブジェクト データベース (Caché、Objectivity など) に統一された API とツール (インポート/エクスポートなど) を提供するプロジェクトを検討しています。
それは以下を提供します:
- CLR クラスからのスキーマ生成、
- 指定された OODBM スキーマからの C# クラスの生成、
- オブジェクトを削除、作成、更新するための API
- Linq プロバイダー、
- .NET オブジェクトを使用して .NET からデータベース オブジェクトのメソッドを呼び出すための API (*)、
- 一部の OODBM は何らかの SQL サポートを提供するため、このための API
- 最初のフェーズでは、Caché と Objectivity のプロバイダー。
上記のいずれかを実装するプロジェクトは存在しますか? これはNHibernateの方言で達成できますか? それとも、OODBM は RDBM とは大きく異なるため、別のフレームワークを作成する価値があるのでしょうか?
EDIT:(*)アプリケーションからDBメソッド(RDBMの世界のストアドプロシージャ)を呼び出すことを意味します。OODBM の世界では、少なくとも私が理解しているように、オブジェクトは C# オブジェクトのようにメソッドを持つ場合があります。私の考えでは、属性 [DbCall] などでメソッドをマークし、本文を空のままにし、.NET から呼び出すと、フレームワークは実際に特定のオブジェクトのデータベース メソッドを呼び出します。
NHibernate は RDBM 用に設計されたので、NHibernate の使用中に利用できない OODBM の使用方法の違い (機能) があるかどうか疑問に思っています。
database - オブジェクト指向データベースは、ORMを備えたリレーショナルデータベースよりも優れたオプションでしょうか?
ORMを使用するリレーショナルデータベースは、多くの点でオブジェクト指向データベースと非常によく似ていると考えるだけです。私の経験は、ORMのヒントを伴うRDMSのみに基づいているため、オブジェクト指向データベースは非常に似ているように見えますが、経験がなければ、はっきりとは言えません。
オブジェクト指向データベースとORMを使用したことがある場合、それらを比較できますか?RBMS + ORMと比較して、オブジェクト指向データベースに関連する弱点は何ですか?
database - db4o および/または Eloquera データベースの実世界での経験
今後のプロジェクトのために、db4o ( http://www.db4o.com ) と Eloquera Database ( http://eloquera.com ) の2 つのオブジェクト データベースを評価しています。私はどちらかを選ばなければなりません。私の基本的な要件は、スケーラビリティ、マルチ ユーザー サポート、および RAD の簡単な型の進化です。
あなたの実体験を共有してください。
両方持っているなら、この2つを比較できますか?どっちがいい?
database-design - オブジェクト指向データベース-ほとんどの企業がそれらを使用しない理由
私はプログラミングにかなり慣れていません(大学を卒業したばかりです)。
私は過去4年間、オブジェクト指向開発とこのアプローチの多くの利点について考えてきました。
私の質問は
開発アプリケーションで純粋なオブジェクト指向データベースを使用する方が簡単ではありませんか?
オブジェクト指向データベースがリレーショナルほど普及していないのはなぜですか?
私の観点からは、OOデータベースを使用することは理にかなっています。後者は、テーブル上の複雑なオブジェクトのマッピングに必要な多数の構築を回避します。
object-oriented-database - 算術演算子を使用したVersantOQLステートメント
Versant Object Databaseバックエンドを使用するac#プロジェクトに取り組んでおり、算術演算子を含むクエリを作成しようとしています。ドキュメントには、サポートされていると記載されていますが、例がありません。
私はこのようなものを構築しようとしています:
オブジェクトインスペクターでこのステートメントを試してみると、「-」の近くにシンタックスエラーが発生します。
誰かがその種のステートメントで動作するVQLの例を持っていますか?
ありがとう