Oracle Serverにおけるオブジェクトとしては、表、ビュー、索引、シノニム、順序などが挙げられます。そのうちSQL Serverでは、シノニムと順序は実装していません。ただし、順序については列のIDENTITYプロパティにて実装します。あえてシノニムのような使い方をするのであれば、ビューまたはファンクションを利用して実装することができます。別ユーザーの所有する表を検索するビューを作成するか、表の検索結果を戻すファンクションを作成し、SELECT文 のFROM句にファンクションを指定することで、シノニムのような使い方をする ことができます。 ☆さらに詳細はこちら→
「このDBにはどのような表が存在するのか」など、Oracleデータベース内の情報を知りたいときには、データディクショナリで検索します。SQL Serverで、そのようなシステム情報(メタデータ)を取得する場合には、次の3つの方法があります。 (1)システム ストアドプロシージャ 主に接頭語sp_で始まる、あらかじめ作成されているSQL文の集合。 (2)システム関数およびメタデータ関数 ユーザー名や列の長さなどを返す、システム定義の関数。 (3)情報スキーマ ビュー ANSI準拠の特別なビューで、表一覧などのシステム情報を検索できる。
Oracleでいうスキーマとは、オブジェクトの集合です。ユーザーの持ち物リス トということもできます。SQL Serverでスキーマに相当するのは所有者です。Oracleと違うのは、システム提供のプロシージャを使用して、オブジェクトの 所有者を変更することができる点です。また、SQL Serverのスキーマは表・ ビュー・権限の定義を含むオブジェクトのことです。同じ言葉でも意味が違い ますので、注意しましょう。
Oracle Serverでは行の一意識別子としてROWIDがあります。索引を使った検索時に利用される、行の論理的なアドレスです。ROWIDは、オブジェクト番号、相対ファイル番号、ブロック番号、行番号の4種の情報で構成されます。SQL Serverでも、行識別子(RIDとも言います)がROWIDに相当します。SQL Serverにはクラスタ化インデックス、非クラスタ化インデックスという2種のインデックスがありますが、非クラスタ化インデックスを作成し、ヒープ(クラスタ化インデックスを作成していないテーブルのデータ)を参照する時にだけ行識別子がインデックスのリーフ行の中に作成されます。行識別子は、ファイル識別子、ページ番号、行番号で構成されます。
OracleではNLSという仕組みによって、ユーザーが母国語でデータベースと対話できます。SQL Serverでは、データを格納・検索する際の言語関連の決まり事として、インストール時に「照合順序」と呼ばれる設定をします。照合順序とは、言語毎の個々の文字を表すビットパターンや、文字を並べ替え、比較するときの規則セットです。たとえば「あ」を格納して検索時に「あ」と読むために、日本語コードページを使うといった指定をします。照合順序の変更はデータベース単位、テーブルの列単位に可能です。またクライアントに返るエラーメッセージはログイン(接続ユーザー/グループ)の「既定の言語」設定により、何語で表示するかを変えることができます。
OO4Oは、WindowsのActiveXテクノロジをサポートするプログラミング言語から、Oracle データベース内のデータにアクセスできるように設計されたOracle製品(ミドルウェア)です。SQL Serverの場合も、フロントエンドとなるVisual Basic、Visual C++などの開発ツールからミドルウェアを使用してデータベースアクセスしますが、OO4OはOracle専用ですので使用できません。SQL Serverへのアクセスに使用される主なミドルウェアはADO(.NETではADO.NET)とOLE DBです。OLE DBは異なるデータソースに共通の手順でアクセスするためのインターフェイスなので、SQL Serverのみならず、OracleやAccessなどに接続する際にも使用できます。