（備忘録）SQL Serverのインストール、データベースおよびテーブルの作成方法

# まえがき
　システム初学者がSQL Serverを用いたデータベースサーバーの開発実務に向け、学習、実施したことをまとめています。極力注意していますが、初学者であるため、間違い、解釈ミス等が含まれていた場合はご了承、ご指摘いただけると幸いです。
　本記事では、関連用語の整理、SQL Serverのインストール、基本的な使用方法、サンプルとなるデータベースとテーブルの作成方法についてまとめます。

## 関連用語の整理
### RDB（Relational Data Base：リレーショナルデータベース、関係データベース）
　行、列で構成された複数の表（テーブル）に格納されているデータを関連付けて管理するデータース方式。リレーショナルデータベース以外には、階層型データベース、ネットワーク型データベースがある。

### SQL（Structued Query Language）
　リレーショナルデータベースを操作するための言語。SQL言語を用いて実際にデータベースを操作するコードを記述していく。

### SQL Server(Microsoft SQL Server)
 SQL ServerはMicrosoft社が提供するRDBMS(Relational Database Management System：リレーショナル型のデータベース管理システム)であり、Windowsサーバーで利用されることが多い。SQL Serverを利用することにより、データベースへのデータの登録、削除および検索、抽出処理等を実行できるようになる。

# SQL Serverによるデータベースの作成
　SQL ServerはMicrosoft社が提供するRDBMS(Relational Database Management System：リレーショナル型のデータベース管理システム)である。SQL Serverを利用することにより、Windowsサーバー上のデータベースへのデータ登録、削除および検索、抽出処理等を実行できるようになる。
　学習用途に利用できる無償版SQL Serverは「Express」と「Developer」がある。Expressはいわゆる機能制約版で、小規模サーバー向けの開発、運用に使用できるエディションである。Developerは全機能を備えているが、開発およびテストのみに使用可能であり、運用には別途費用が必要なエディションである。今回はExpress版で学習を進めることにする。

## SQL Serverのダウンロード
　以下のMicrosoft公式サイトからダウンロードする。ページの半ばにあるExpessエディションの「今すぐダウンロードする」を押すとダウンロードが始まる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/45ff2b12-63a9-d0cb-ed4d-9e3143f106f8.png)

https://www.microsoft.com/ja-jp/sql-server/sql-server-downloads

ダウンロードしてきたSQL Serverのインストールファイルを実行
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/99d0ab8d-cbd2-855f-d9b9-8c424a56c13d.png)

「基本」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/3d41c12f-3ce0-f7e1-0820-866030d44015.png)

ライセンス条項を読み、「同意する」

「インストール」を押すと、ダウンロードおよびインストールがはじまる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/3f2c732e-79ad-8b3d-0c49-bd8198cb0945.png)

　インストールが完了すると、以下の画面となる。学習にあたってはSSMS（SQL Server Management Studio）も必要になってくるので、画面右下の「SSMSのインストール」を選択すると、ブラウザが開かれ「SQL Server Management Studio (SSMS) のダウンロード」ページが表示される。 ※ブラウザを開いた後は、SQL Serverのインストーラは閉じてもOK
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/fa754e63-46c4-0940-4d16-400ae8e8dcbf.png)


ページを下にスクロールし、「日本語」を選択すると日本語版がダウンロードされる。　
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/b708dad3-d9b5-bfb3-acd1-7acd89153bff.png)

ダウンロードされたSSMSインストールファイルを実行
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/80a75400-a184-de18-63a5-2484634946ec.png)

インストールを選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/224da05c-23cb-98f2-dd67-f3c5bf50d0a6.png)

閉じるを選択。これでSSMSのインストールも完了

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/26e4597b-bee5-874b-53e6-4473272d3214.png)

## SQL Serverの動作状況の確認
　" スタートメニュー ⇒ Microsoft SQL Server 2019 ⇒ SQL Server 2019 構成マネージャー "の順にたどりSQL Server 2019 構成マネージャーを起動すると、SQL ServerをインストールしたPC上で動作しているSQL Serverの動作状況を確認することができる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/808f3298-e439-defe-7e5f-15286ec26979.png)
　左側のペインで「SQL Serverのサービス」を選択すると、右側のペインにSQL Serverのサービス一覧（サービス：バックグラウンドで動動作するプログラム）が表示される。このうち、「SQL Server（SQLEXPRESS）」という名称のSQL Serverが実行中であることがわかる。この「SQLEXPRESS」という名のSQL ServerはSQLServer 2019 Expressエディションをインストールした際に自動的に生成、実行されるインスタンス（サービスの単位）であり、このインスタンス上にデータベースを作成していく。１つのインスタンスに複数のデータベースを作成することも可能。

# データベースの作成手順
　データベースを作成するために、Microsoft SQL Server Management Studioを使用する。Management StudioはSQL Serverにおけるデータベースの作成やテーブルの定義、各種データの登録、データベースのバックアップ設定など、SQL Serverデータベースに関する管理操作を行うことができるツールである。
　"スタートメニュー ⇒ Microsoft SQL Server Tools 18 ⇒ Microsoft SQL Server Management Studio"からManagement Studioを起動すると下のような「サーバーへの接続」ウインドウが表示されるので、「接続」。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/c4c11b06-c27d-b00d-f15a-2585fa114fa6.png)

接続したら、Management Studioの左側ペインにある「オブジェクト エクスプローラー」から「データベース」を右クリックし、メニューの「新しいデータベース」を選択する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/f14bff25-abf0-7186-1fa6-7d2e9984bd2a.png)

新しいデータベースを作成するためのウインドウが開く。ここではデータベース名欄に「testdb」と入力し、OK。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/e2d36dc1-c6e0-d13d-6027-33466b711e16.png)

Management Studioの画面に戻り「データベース」を展開すると、先ほど作成した「testdb」が作られていることが分かる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/70c2ed39-7892-2ea0-db22-272891cb07b1.png)


# テーブルの作成
　次に、作成したtestdbデータベースにテーブルを作成する。オブジェクトエクスプローラーのtestdbを展開すると、「テーブル」という項目があるので、右クリック ⇒ 新規作成 ⇒ テーブル を選ぶ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/3c3a58c3-9f69-033d-5a00-a28775042d5c.png)

テーブルが作成されると、下のようにテーブルデザイナが表示される。テーブルデザイナでは、テーブルの列を定義することができる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/213f004b-af34-066b-50ba-c3d8db85dc9e.png)

ここではサンプルテーブルとして、列を下記のように設定した。（※縦に並んでいるが、設定しているのは「列」である点に注意）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/03bfe695-fe34-acbf-e107-413108afa6d6.png)

テーブルが出来たら、「主キー」を設定する。ここでは、idを主キーとする。idの左側のセル部分を右クリックし、「主キーの設定」を選ぶ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/6e5f2ad1-1fcc-8409-0d30-ae38b70cc415.png)

主キーとして設定されると、idの左側のセルに、鍵マークのアイコンが表示される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/84bce76a-4f6d-a1ad-ad47-4b6247a89c44.png)

ここでいったん保存する(Ctrl + S)。テーブル名を設定するよう聞かれるので、ここでは「Table_test」とした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/d8b4ca99-b340-cd53-3a36-be6d53ea2269.png)

## サンプルデータの登録方法
　Management Studioを用いて、作成したテーブルTable_testにサンプルデータを登録する。オブジェクトエクスプローラーからデータベース ⇒ testdb ⇒ テーブル ⇒ dbo.Table_testに進み、dbo.Table_testを右クリックしたら「上位200行の編集」を選ぶ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/4ed82b8a-fb2c-a584-9ed5-7d05f8c41e4d.png)

　テーブル作成時に列として設定した「id」「name」「flag」が表示された。セルにはNULLと記入されており、データが全く登録されていない状態であることが分かる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/961491c6-c5f0-44e6-2bc9-89ab02baa435.png)

　Excelと同じ要領でサンプルデータを入力できる。今回は下記のようにid1～3の3行を設定した。ビックリマーク（！）が表示されているが、セルの中身が変更された際に表示されるものであるため、気にせず先に進める。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/96988e21-f3cf-738d-7d77-0d30cd473224.png)

　なお、データを再度NULLにしたい場合は、ショートカットの「Ctrl +0」を入力すること。下記のようにDeleteキーなどで消した場合、「NULL」ではなく「空の文字列」として認識されてしまう点に注意である。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1235688/37e3ad15-7745-065f-d7f5-f9c59c027683.png)


備忘録は以上です。

# 環境およびアプリケーション
・Microsoft Windows 10 Home 20H2
・Microsoft SQL Server 2019
・Microsoft SQL Server Management Studio 18