推奨されます, 2019

エディターズチョイス

OracleとSQL Serverの違い

多くのリレーショナルデータベース管理システム(RDBMS)の中で、最も一般的で広く使用されている2つは、 OracleSQL Serverです。 OracleとSQL Serverの間には多くの根本的な違いがあります。それらの間の最も重要な違いの1つはそれらが使用する言語です。 OracleはPL / SQL (プロシージャ言語SQL)を使用し、SQL ServerはT-SQL、つまりTransact-SQLを使用します。

以下に示す比較チャートを使用して、OracleとSQL Serverの違いについてもう少し説明しましょう。

比較表

比較基準オラクルSQLサーバー
基本Oracleで使用されている言語はPL / SQL(Procedural Language / SQL)です。SQL Serverで使用されている言語はT-SQL(Transact-SQL)です。
トランザクションOracleでは、DBAが明示的にCOMMITコマンドを発行するまでトランザクションはコミットされません。BEGIN TRANSACTIONおよびCOMMITコマンドが指定されていない場合は、各コマンドを個別に実行してコミットします。
組織データベースはすべてのスキーマとユーザー間で共有されます。データベースがユーザー間で共有されていません。
パッケージ手続き、関数、変数はパッケージにまとめられています。パッケージはSQLにはありません。
OSサポートWindows、Linux、Solaris、HP-UX、OS X、z / OS、AIX。WindowsとLinux
複雑複雑だが強力です。よりシンプルで使いやすい。

Oracleの定義

Oracleは、SQLのすべてのコア機能をサポートするリレーショナルデータベースシステムです。 さらに、Oracleは他の多くの言語もサポートしています。 多くのオペレーティングシステムは、Windows、Linux、Solaris、HP-UX、OS X、z / OS、AIXなどのOracleをサポートしています。 Oracleで使用されている元の言語はPL / SQL、つまりSQLの手続き型拡張であるProcedure Language SQLです。 オラクル社は、データベースのプロシージャ、ファンクションおよび変数をカプセル化して単一のユニットを形成できるパッケージを提供しています。

Oracleでは、クエリまたはコマンドの実行時に、変更はメモリに対してのみ行われます。 DBA (データベース管理者)が明示的なCOMMITコマンドを発行するまで、変更はコミットされません。 COMMITコマンドが実行されるとすぐに、COMMITが新しいトランザクションを開始した後に、 ディスクおよびコマンドに変更が加えられます。

Oracleのデータベーススキーマは、すべてのデータベースオブジェクトをグループ化します。 これらのデータベースオブジェクトは、Oracleデータベースのスキーマとユーザー間で共有されます。 データベースオブジェクトはすべてのユーザー間で共有されますが、ユーザーはロールまたは権限を介してデータベースにアクセスすることを制限できます。 Oracleは複雑ですが強力なRDBMSです。

SQL Serverの定義

Oracleと同様に、SQL Serverもリレーショナルデータベースシステムです。 SQL Serverが使用する言語はT-SQL、つまりTransact-SQLです。 SQL Serverは、 Windowsオペレーティングシステムでのみサポートされています 。 Oracleと同様に、SQL Serverにデータベースのすべてのプロシージャ、関数、および変数をカプセル化するためのパッケージ はありません

SQL Serverでは、BEGIN TRANSACTIONコマンドとCOMMITコマンドが指定されていない場合、各コマンドは個別に実行され、コミットされます。 この場合、すべてのコマンドの実行中にエラーが発生した場合、コミットされたコマンドはロールバックされないため、ロールバックは困難になります。 ROLLBACKコマンドを慎重に使用すると、データの破損を減らすことができます。

SQL Serverはデータベースをユーザーと共有しませ 。 データベースは、サーバー内の非共有ディスクに格納されています。 いずれかのユーザーがデータベースにアクセスする必要がある場合、そのユーザーにはログインIDが割り当てられます。

OracleとSQL Serverの主な違い

  1. Oracleで使用されている言語はPL / SQL、つまりプロシージャ言語SQLですが、SQL ServerはT-SQL、つまりTransact-SQLを使用しています。
  2. DBAがCOMMITコマンドを発行しない限り、トランザクションはコミットされません。 一方、SQLでは、BEGIN TRANSACTIONとCOMMITが指定されていない場合、各コマンドは個別に実行され、コミットされます。
  3. Oracleでは、データベースはすべてのスキーマおよびユーザー間で共有されていますが、ユーザーはロールおよび権限を介して特定のスキーマまたはテーブルへのアクセスを制限できます。 一方、SQLサーバーではデータベースはサーバー上でプライベートに保たれ、ユーザーはデータベースへのアクセスを許可するためのログインを提供されます。
  4. Oracleでは、プロシージャ、関数および変数はパッケージにカプセル化されています。 ただし、SQLにはパッケージがありません。
  5. Oracleは、Windows、Linux、Solaris、HP-UX、OS X、z / OS、AIXなどの多くのオペレーティングシステムでサポートされています。 一方、SQLはWindowsとLinuxでサポートされています。
  6. Oracleはより複雑ですが強力ですが、SQLはより単純で使いやすいです。
  7. OracleとSQLで使用されるコマンドの構文も異なります。

結論:

OracleとSQL Serverは、多くの点で異なっているため、どちらよりも望ましいとは言えません。 どちらを使用するかによって異なります。 どちらも同等に強力です。

Top