2011-06-29 2 views
3

データベースの機能(挿入、更新、削除など)を提供するデータ構造はありますか?たとえば:CまたはC++のデータベースのように機能するデータ構造

  • がそれにそれとクエリに
  • ストアデータをデータベーステーブルのような構造体を作成し、選択削除、それ

私はハッシュテーブルで、あなたがこれを行うことができますことを知っています( ex:uthashライブラリ)。しかし、私が知っている限り、1つの列要素を更新するだけでは、ハッシュテーブルでは簡単ではありません。

答えて

0

Cの構造体を使用して、データの行を表し、次に索引のツリー(または多分ハッシュ)を表します。特にすべてのオペレーションを効率的にするためには、解決する必要のある問題はほとんどありませんが、これがインメモリテーブルの基礎となります。

簡単なこととして、ツリー構造で十分でしょう。

+1

ありがとうございました。可能であれば、解決しなければならない小さな問題のいくつかの例を教えてください。効率やその他の問題に関連しているだけですか? – snibu

+0

メモリの取り扱い。特に一意でないインデックスを使用する場合は、要素を削除します。いくつかのシナリオでは、エントリをツリーから削除するのではなく無効なものとしてマークすることをお勧めします。 – salva

2

sqliteをご覧ください。リレーショナル・データベース・システムではなく、本質的に、SQLをサポートするコネクションレスなファイルベースのデータベース・ライブラリーです。プログラムをリンクして、データファイルに対してSQLクエリを実行する機能を提供します。

+2

RAMデータベースを使用するには、ファイル名として ':memory:'を使用できます。 –

+0

@WTP:良い点。 –

+1

ありがとうございます。 sqliteは良いようです。しかし、私が本当に求めているのは、これを行うデータ構造です。データベースの主な機能(クエリ、保存、更新)がデータ構造で実現できるかどうかを知るだけです。私は明確です。 – snibu

1

Lookless NoSQL itis使用するRMDBS

関連する問題