SQLサーバーにおけるインスタンスとデータベースの主な違いは、インスタンスがオペレーティングシステムのサービスとして実行されるsqlservr.exe実行ファイルのコピーであるのに対し、データベースはテーブルにデータを格納する体系的なデータの集合体である点です。
SQL Serverは、Microsoft社が開発したRDBMSです。
GUIとコマンドラインの両方から構成されています。
プログラマーはSQLを使ってクエリーを書き、SQL Serverで実行することができます。
SQL Serverは複数の利点を提供します。
SQL Serverは、データベースの作成と管理を可能にし、分析サービスやレポートサービスなどのサービスを提供します。
SQL Serverにはインスタンスとデータベースという2つの用語があり、インスタンスとデータベースはSQL Serverに関連する用語です。
SQL Serverにおけるインスタンスとは
インスタンスとは、sqlserver.exeという実行ファイルのコピーです。
言い換えれば、SQL Serverのインストールです。
プログラマーがSQLサーバーをn回インストールした場合、n個のインスタンスが作成されます。
1台のコンピュータで複数のデータベースエンジンのインスタンスを実行することができ、1つのインスタンスで複数のデータベースを管理することができます。
Javaや.NETアプリケーションからデータを送信する場合、まずそのデータベースを管理するインスタンスに接続する必要がある。
SQLサーバーには、デフォルトとネームドという2種類のインスタンスがあります。
SQLサーバーのインスタンスには、デフォルトのインスタンスは1つですが、ネームドインスタンスは複数あります。
ある接続要求でコンピュータの名前だけが指定された場合、その接続はデフォルト・インスタンスに対するものです。
プログラマーがインストール時にインスタンスに名前を付けた場合は、名前付きインスタンスとなります。
この状況では、接続要求には、インスタンスに接続するためのコンピューター名とインスタンス名を指定する必要があります。
SQL Serverにおけるデータベースとは
データベースとは、関連するデータの集まりで、それらをテーブルに格納したものです。
テーブルの行は、レコードまたはタプルです。
カラムは属性です。
さらに、各カラムには、id、name、age、city などの特定のタイプの情報のデータが格納されます。
SQL Serverデータベースは、ファイルシステム内のファイルに格納されます。
データベースには、1つまたは複数のオブジェクト所有グループが存在します。
これらはスキーマと呼ばれます。
各スキーマ内には、テーブル、ビュー、ストアドプロシージャなど、多くのデータベースオブジェクトが存在します。
プログラマーは、SQLサーバー管理ツールを使って、SQLサーバーのデータベースを管理することができます。
このツールはグラフィカルユーザーインターフェースを備えています。
そのため、データベースやデータベースオブジェクトの作成と管理が容易です。
さらに、クエリエディタでSQLコマンドを記述し、それを実行することができます。
SQL Serverにおけるインスタンスとデータベースの関係
- 1つのインスタンスが複数のデータベースを管理します。
SQL Serverにおけるインスタンスとデータベースの違い
定義
インスタンスとは、オペレーティング システム サービスとして実行される sqlservr.exe 実行ファイルのコピーのことです。
データベースは、構造化されたデータの特定のセットを格納するテーブルのコレクションです。
したがって、これらの定義には、SQLサーバーにおけるインスタンスとデータベースの主な違いが含まれています。
基本情報
インスタンスは SQL Server のインストールで、データベースはデータの集合体です。
数量
SQLサーバーのインスタンスとデータベースのもう一つの違いは、一つのインスタンスに一つ以上のデータベースがあるのに対し、一つのコンピューターに複数のインスタンスが存在できることです。
タイプ
SQLサーバーでは、インスタンスにはデフォルトと名前の付いた2つのタイプがあります。
同様に、データベースには、システムデータベースとユーザー定義データベースがあります。
結論
SQLサーバーにおけるインスタンスとデータベースの主な違いは、インスタンスがOSサービスとして動作するsqlservr.exe実行ファイルのコピーであるのに対し、データベースはテーブルにデータを格納する体系的なデータの集合体である点です。