私たちが行う主な操作は、あらゆる種類のデータ構造での挿入、削除、検索です。これは、データベースクエリを使用して実行することもできますが、データ構造の用途は何ですか。
これにより、データベースとは異なるデータ構造になりますか?
データ構造は、問題のオブジェクトがモデル化および編成される方法を示します。例えば、
データ構造が解決する問題は、現実の世界でオブジェクトを論理的にモデル化して、計算で問題を解決できるようにする方法です。
データベースは、情報がどのように永続化されるかについてです。データ構造内のデータは、必要に応じてデータベースに保持される場合とされない場合があります。
データ構造とは、RAMまたは一時メモリにデータを格納または処理することです。データベースは、永続的なメモリの場所(ハードドライブ)にデータを格納および処理する概念またはツールです。
データ構造は永続的なストレージではありません。プログラムが生きるまで生きています。しかし、異なるデータ構造を使用して、データベースにデータを追加できます。
データベースを使用して、プロセスの最後にプロセスデータを含むデータ構造を格納します。
最初は非常に愚かな質問のようですが、実際にはそうではありません。答えはあなたの世界をひっくり返すことができます。 (多分)。だから質問を分割して征服しましょう
データ構造大まかに言えば、
“ A data structure is a specialized format for organizing and storing data. Any data structure is designed to organize data to suit a specific purpose so that it can be used according to needs, stored normally on RAM”
-ウィキペディア
データベース
“A database is an organized collection of data. It is the collection of database objects stored normally on hard disk.”
-ウィキペディア
誤解
正直に言うと、データ構造という用語がRamに存在する構造に適用されているというのは誤解です。はい通常、データ構造はRam(別名メインメモリ)に存在しますが、ハードディスク(別名セカンダリストレージ)に存在することもできます。人種差別主義者にならないでください!!!!
類似点と相違点
データベースは、ハードディスクに保存されているデータベースオブジェクトのコレクションにすぎません。データベース管理システムは、それ自体の目的でデータベースを使用します。私を完全に明確にするために、ここでのデータベースオブジェクトとは、スキーマ、テーブル、ビュー、インデックス、ユーザーなどを意味します。非常に多くのデータベースオブジェクトがあります。各オブジェクトは、1つ以上のデータ構造を使用して実装できます。
たとえば、btree/btree +インデックスは、Btreeデータ構造を使用して実装されます。ハッシュベースのインデックスは、明らかにハッシュテーブルを使用して、キーをアドレスに解決します。 Databaseはさまざまなデータ構造のコレクションであると言っても安全です。これらのタイプは、テクノロジーとオペレーティングシステムによって大きく異なる場合があります。
データベースは、テーブル(および場合によってはストアドプロシージャ、関数、ビューなど)のコレクションです。
とりあえず、単純にしておこう。各テーブルには、何を配置できるかを定義するテーブル構造があります。 No-SQLデータベースでは、よりルーズであるので、これは異なります。繰り返しますが、とりあえず、簡単にしましょう。
データベースは「Platypus」などの名前を付けることができます。「DuckbillsInTheWild」や「DuckbillsInCaptivity」など、多くのテーブルを含めることができます。
これらのテーブルの1つは、次のような構造になります。
Name Data Type
-------------------------
ID int
Name VarChar
Weight Float
PoisonToeLength Float
データ構造はメモリであり、データベースはコンピュータのストレージです。データ構造は揮発性メモリであり、データベースは不揮発性メモリです。
IMO、データベースは、インベントリデータ、ユーザーのデータなど、何でもかまわないレコードのコレクションを指す用語です。今、それをコンピューターに保存する方法は、もう1つの技術的な問題です。リンクされたリスト、配列、ツリー、グラフなどを使用して、ユースケースに応じてレコードを保存できます。したがって、データ構造はこれらの構造に与えられる専門用語です。簡単に言うと、データベースはビジネス用語または民間伝承用語であり、データ構造はレコードのコレクションを指す専門用語です。
データ構造は、データの編成方法を論理的に表現したものです。データベースは、データをファイルシステムに格納するのに役立つミドルウェアです。
あなたがソーシャルネットワーク会社で働いているとしましょう。直感的に、ソーシャルネットワークはグラフ(データ構造)です。ここでグラフアルゴリズムを適用して、実用的な問題を解決できます。一方、このグラフのデータは、どこかに永続化して、読み書きできるようにする必要があります。それらをファイルに保存するためのコードを書く代わりに、グラフデータベースが役立ちます。
1つは論理的で、もう1つはミドルウェアです(物理的に密接に関連しています)。
データベースは、Excelシート、CSVファイルなどのデータをデータセットに保存する概念図です。データ構造は、データを本質的に永続的に保存します。一方、データ構造は、データを配列などのメモリに保存する論理的な表現であり、グラフなどは、一時的な性質にデータを保存します。
データ構造は、データベースまたはデータストアの実装の基本要件です。