.net column

.NET開発者のためのブログメディア
変数のイメージ

SQL Server 2017でスキーマを作成する方法

2020年03月18日

スキーマはご存知でしょうか?データベース関連の学習をしていると、よく出てくる単語だと思います。スキーマを別の言い方で表すと「データベースの構造」といわれます。このスキーマはSQL Serverでも当然ですが理解しておくべき事柄ですので、ここでスキーマについて一緒に確認していきましょう。

SE
SQL Serverの学習をしていくと、SQLでデータの取得や登録を行うこと以外にもたくさん覚えるべき事柄がありますよね。今回はスキーマについて学習していこうと思います。
PL
スキーマって聞いて何だか難しそうなイメージを持つ方も多いかと思います。しかし、理解していれば簡単にSSMSから作成できますので、確認していきましょう。

SQL Serverにおけるスキーマ

SQL Serverを使用している場合、SSMSを利用してデータベースとやり取りすることが多いと思います。テーブルの内容を確認しようと、テーブル上で右クリックを行い、上位1000行の選択を実行すると、データを簡単に取得、閲覧できます。

その際によく目にするのが「dbo」という単語だと思います。これがスキーマと呼ばれるものです。「dbo」はもとから定義されているスキーマで、新しく作成されたデータベースに使用される既定のスキーマです。加えて、削除不可能なスキーマでもあります。

SQL Serverでは、データベースに複数のスキーマを作成することができます。
テーブルに対するアクセスの完全名は、「データベース」.「スキーマ」.「テーブル」となります。

SSMSを使ってスキーマを作成する方法

T-SQLを使用してもスキーマは作成できます。しかし、SSMSを使って作成する方がより簡単に作成できますので、ここではSSMSを利用してのスキーマ作成方法を紹介します。

    1. スキーマを新しく作成したいデータベースを展開し、「セキュリティ」→「スキーマ」→「新しいスキーマ」を選択します。

スキーマの作成

    1. スキーマの所有者を選択します。検索ボタンを押下し、所有者を選択します。

所有者の設定

    1. 参照ボタンを続けて押下します。

参照の選択

    1. ユーザーを選択します。

ユーザーにチェック

    1. スキーマ名は所有者と同じにするのが一般的です。

スキーマ名の設定

    1. 以下のテーブルクリエイト文を「DB_TOKYO」データベースに対して実行します。
    1. 新しく作成したスキーマ以下にテーブルが作成できたことを確認できました。

新しいスキーマの確認

SE
新しくスキーマを作成できました。次はT-SQLを使用しても作成してみます。
PL
そうですね。やり方は多く覚えておいて損はないですよ。多くの現場で活躍できるエンジニアになるためにも、できることをどんどん増やしていきましょうね。

同じスキーマでもデータベースによって微妙に異なる

OracleなどのSQL Server以外のデータベースにもこのスキーマは存在します。しかし、同じスキーマでも指し示すものが微妙に違ってきます。データベース全体の概念としてスキーマを覚える場合と、データベース固有で覚えるスキーマの場合と2パターンがあると思いますので、混在しないようにしましょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)