.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を利用してのスキーマ作成方法を紹介します。
-
- スキーマを新しく作成したいデータベースを展開し、「セキュリティ」→「スキーマ」→「新しいスキーマ」を選択します。
-
- スキーマの所有者を選択します。検索ボタンを押下し、所有者を選択します。
-
- 参照ボタンを続けて押下します。
-
- ユーザーを選択します。
-
- スキーマ名は所有者と同じにするのが一般的です。
-
- 以下のテーブルクリエイト文を「DB_TOKYO」データベースに対して実行します。
1
|
CREATE TABLE test.table_1 (ID int, width dec(10,2));
|
-
- 新しく作成したスキーマ以下にテーブルが作成できたことを確認できました。
- SE
- 新しくスキーマを作成できました。次はT-SQLを使用しても作成してみます。
- PL
- そうですね。やり方は多く覚えておいて損はないですよ。多くの現場で活躍できるエンジニアになるためにも、できることをどんどん増やしていきましょうね。
同じスキーマでもデータベースによって微妙に異なる
OracleなどのSQL Server以外のデータベースにもこのスキーマは存在します。しかし、同じスキーマでも指し示すものが微妙に違ってきます。データベース全体の概念としてスキーマを覚える場合と、データベース固有で覚えるスキーマの場合と2パターンがあると思いますので、混在しないようにしましょう。
Search キーワード検索
Popular 人気の記事
-
.NET Framework 3.5をWindows10にインストールする方法
2019年10月24日 -
EdgeとChromeはどう違う?それぞれのスペック7つを比較解説!
2020年09月28日 -
【VB.NET入門】DataGridViewの使い方まとめ
2019年12月22日 -
VB.NETをおすすめする3つの理由とは?VBAとの違いや勉強方法を解説
2019年12月21日 -
Windows10のテキストエディタおすすめ20選!選ぶポイント3つ
2020年04月28日
reccomended おすすめ記事
-
C#のusingステートメントでリソースの解放【Disposeとの違いとは】
2020年03月17日 -
【SQL Serverログの操作】トランザクションログの使用量を確認する方法
2020年03月16日 -
【.NETが統合】.NET 5の概要と今後のリリース予定
2020年03月05日
Categories 連載一覧
Tags タグ一覧
Jobs 新着案件
-
開発エンジニア/東京都品川区/【WEB面談可】/在宅ワーク
月給29万~30万円東京都品川区(大崎駅) -
遠隔テストサービス機能改修/JavaScript/東京都港区/【WEB面談可】/テレワーク
月給45万~60万円東京都港区(六本木駅) -
病院内システムの不具合対応、保守/東京都豊島区/【WEB面談可】/テレワーク
月給30万~30万円東京都豊島区(池袋駅) -
ソフトを用いた3DCGアート/東京都千代田区/【WEB面談可】/テレワーク
月給50万~50万円東京都千代田区(秋葉原駅) -
開発/JavaScript/東京都豊島区/【WEB面談可】/テレワーク
月給50万~50万円東京都豊島区(大塚駅)