LoginSignup
10
10

More than 3 years have passed since last update.

SQL Server と Oracle の構成についての大雑把な理解

Last updated at Posted at 2019-08-13

はじめに

DBMSごとに概念や用語は微妙に違います。にもかかわらず、自分の知っているDBMSの概念をベースに会話をする人が多く、会話が微妙に噛み合わないことがあります。そこで、この機会に SQL SERVER と Oracle について構成概念をまとめてみました。

SQL Server

構成

サーバ名
├ master
├ tempdb
├ ユーザーデータベース
│ ├ スキーマ.table
│ │ :
│ └ スキーマ.table
└ ユーザーデータベース
  ├ スキーマ.table
  │ :
  └ スキーマ.table
  • サーバ名:インスタンス(PC名) or 名前付きインスタンス(PC名\インスタンスID)。

SQL Server Management の接続情報との関係

  • サーバ名:インスタンス(PC名) or 名前付きインスタンス(PC名\インスタンスID)。
  • ログイン:サーバに対するログイン名。

ポイント

  • インスタンスごとに独立。(異なる ver も同居可能)
  • スキーマ≠ユーザなので、1つのユーザーデータベースに複数のスキーマを作成することが可能。(一般的には、dbo or ユーザー名 で統一する。)
    = テーブルに対するアクセスの完全名:ユーザデータベース.スキーマ.テーブル

補足

  • サーバー名(インスタンス)とユーザーデータベースをゴチャゴチャにして会話していることがあります。なので、データベースの作成を依頼された場合は、以下の2パターンが考えられます。
    • 既存のインスタンス内に新しいユーザーデータベースを作成する。
    • 新しいインスタンス+ユーザーデータベースを作成する。

Oracle

構成

データベース:インスタンス(≒SID, =NET_SERVICE_NAME)
├ SYS
├ スキーマ(≒ユーザ)
│ ├ table
│ │ :
│ └ table
└ スキーマ(≒ユーザ)
  ├ table
  │ :
  └ table
  • Oracle は、データベースを示すものがいっぱいありまが、単純構成の場合は、以下の全てがデータベース(インスタンス)を示していると思ってほぼ問題ないです。
名前 説明 補足
DB_NAME データベース名。
DB_UNIQUE_NAME プライマリDBとスタンバイDBは、DB_NAMEに対してこれを変更。 通常 DB_NAMEと同じ。
SID システム識別子。インスタンスを識別するID. 通常 DB_NAME と同じ。
ORACLE_SID ローカル接続先 インスタンスを指定する環境変数。 通常 SID と同じ。
INSTANCE_NAME インスタンス名。 通常 DB_NAMEと同じ。
SERVICE_NAME リモート接続(リスナ経由の接続先)を指定する名前。 通常 DB_UNIQUE_NAME と同じ。
NET_SERVICE_NAME SERVICE_NAME+接続先情報。 通常 DB_NAME と同じ。

SI Object Browser の接続情報との関係

  • データベース:NET_SERVICE_NAME(tnsname.ora に定義されているSERVICE_NAME を含む接続情報)。
  • ユーザID:スキーマ。

ポイント

  • インスタンスごとに独立。(異なる ver も同居可能)
  • スキーマ=ユーザとなり、SQL Server のユーザーテーブルという概念がない。
    = テーブルに対するアクセスの完全名:スキーマ.テーブル

補足

  • データベース(インスタンス)とスキーマをゴチャゴチャにして会話しているがあります。なので、データベースの作成を依頼された場合は、以下の2パターンが考えられます。
    • 既存のインスタンス内に新しいスキーマを作成する。
    • 新しいインスタンス+スキーマを作成する。
  • ローカルPCの tnsname.ora の内容を他人と異なる設定にすると、同一の接続設定で、自分だけ異なるデータベースへ接続することになるので、会話が噛み合わなくなります。

おわりに

なんとなく理解していて、そのまま会話しても、たいていの場合は問題ないのですが、極力、正確に理解したうえで、相手が何のことを言っているかを理解できるようになりたいですね。

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10