ここから撮影:
データベースは、組織化されたデータの集まりです。データは通常、情報を必要とするプロセスをサポートする方法で現実の側面をモデル化するように編成されます。たとえば、空室のあるホテルの検索をサポートする方法で、ホテルの空室状況をモデル化します。
データベース管理システム( DBMS ) は、ユーザー、他のアプリケーション、およびデータベース自体と対話してデータを取得および分析するコンピューター ソフトウェア アプリケーションです。汎用 DBMS は、データベースの定義、作成、クエリ、更新、および管理を行えるように設計されています。
つまり、要するに、DBMS は、データベースに保存されたデータの保存と管理を担当するソフトウェアの一部であり、ユーザー、他のソフトウェア、およびデータベース自体と対話します。
すべての DBMS がクライアント サーバー アーキテクチャを備えているわけではなく、データベースに格納されるデータに特定のモデルがないことに注意してください。現在最も使用されているデータベース モデルはリレーショナル モデル (多くの一般的な DBMS はリレーショナル DBMS またはRDBMSです) ですが、他のモデル (オブジェクト リレーショナル、ドキュメント指向など) もあります。
クライアント サーバー アーキテクチャに従う DBMS の例:
- MySQL
- PostgreSQL
- SQLサーバー
- MongoDB (NoSQL DBMS)
クライアント サーバー アーキテクチャに従わない (「組み込み」) DBMS の例:
- SQLite (Android アプリはこれをよく使用します)
- Apache Derby (クライアント/サーバー DBMS としても使用可能)
- HSQLDB (クライアント/サーバー DBMS としても使用可能)
- MS Access (クライアントにすることもできますが、データベース サーバーとして実装する
のは本当に骨の折れる作業であり、悲しみと涙の源であり、大規模なプロジェクトにはあまり効果的ではありません)
だから、あなたのリストを取ります:
あなたの特定の質問 (「データベース サーバー ソフトウェアと DBMS の違い」) について...まあ、多くの DBMSはデータベース サーバーです。DBMS は、データの保存と管理を担当するソフトウェアの一部として、"ユーザー" (人間またはアプリ) がデータにアクセスする特定の方法を処理する責任もあります。組み込み DBMS を使用する場合、サーバーはありません。データは、DBMS が組み込まれているアプリのみがアクセスできるファイルに格納することも、(場合によっては) アプリと同じファイルに格納することもできます。より一般的なクライアント/サーバー アーキテクチャにはいくつかの特徴があります (特定のニーズに応じて、利点または障害になる可能性があります)。
- データは、DBMS のサーバー コンポーネントによって管理されるファイルに格納されます。
- DBMS にはクライアント コンポーネントがあり、ユーザーによるデータのアクセスと操作を担当します。
- サーバー部分は、データへのアクセスと操作のためのセキュリティ対策 (許可など) を実装することもできます。
- クライアントは、DBMS の特定のツール (たとえば、MySQL にはサーバー コンポーネントとコマンドライン クライアントがあります)、別のプログラム (たとえば、MySQL サーバーに直接接続できる MySQL Workbench)、または次の目的で使用できるライブラリです。アプリをサーバーに接続します (たとえば、MySQL コネクタ/J は、Java プログラムが MySQL サーバーにアクセスするために使用できる Java ライブラリです)。
- クライアント サーバー アーキテクチャにより、1 人以上のユーザーがアクセスできるデータベースを作成できます。各ユーザーは特定の権限を持っています。
... 等々