2016年11月9日水曜日

【SQL Server】ER図作成&DDLを手動で書かずにテーブル作成

◆メニュー
 【SQL Server】開発環境構築(ER図作成にSSMSを使用)

◆概要
SSMSでER図を作成し、DDL文を手動で作成することなく、テーブルを作成する。

◆事前準備
 下記を参考にして、SQL Serverをインストールし、ER図用のインスタンスを生成しておく。

 【SQL Server】 【Win10】Express2016&SSMS インストール
 【SQL Server】新規インスタンス作成(ER図作成用)

  補足事項

  • インスタンス作成は任意。(デフォルトのインスタンスでもOK)
  • Win10でなくてもOK。
  • ExpressでなくてもOK。
  • SQL Server2016でなくてもOK。

◆手順
1. Winロゴキーを押下し、「ssms」と入力。「Microsoft SQL Server Management Studio」を選択。

2. ERDIAGRAMインスタンスに接続。


3. 右クリックして、「新しいデータベース」を選択。

4. 「データベース名」に「DB_EMPLOYEES」と入力。

5. 「OK」ボタンを押下。

6. オブジェクトエクスプローラーで、[データベース]-[DB_EMPLOYEES]-[データベースダイアグラム]の順に選択。

7. 「はい」を選択。

8. 「データベースダイアグラム」を右クリックし、「新しいデータベースダイアグラム」を選択。

9. 「閉じる」ボタン押下。

10. エディタ上を右クリックし、「新しいテーブル」を選択。

11. 「T_社員」と入力。

12. 下記のようにテーブル内に「社員ID」「姓」「名」「所属部署ID」とそのデータ型を入力する。

13. 同様に「T_部署」テーブルを作成し、「部署ID」「部署名」を入力する。

14. 「社員ID」を右クリックし、「主キーの設定」を選択。
  同様に「部署ID」を右クリックし、「主キーの設定」を選択。

15. 「T_社員」テーブルを右クリックし、「リレーションシップ」を選択。

16. 「追加」ボタン押下。

17. 「テーブルと列の設定」の右側の「...」ボタンを押下。

18. 「主キーテーブル」を「T_部署」に、主キーを「部署ID」にする。同様に外部キーテーブルを
 「T_社員」、外部キーを「所属部署ID」にして、「OK」ボタンを押下する。

19. すべて保存(Ctrl+Shift+Sキー)を押下する。

20. 適切なファイル名を入力し、「OK」ボタンを押下。例)ER図_従業員

21. 「はい」ボタンを押下。

22. オブジェクトエクスプローラーで、[データベース]-[DB_EMPLOYEES]-[テーブル]の順に選択。

24. 「dbo.T_社員」を右クリックして「上位200行の編集」を選択。同様に、「dbo.T_部署」に「上位200行の編集」を選択。

25. テーブルが作成され、以下のように入力可能となる。(下記は、入力する必要はない)

以上

2016年11月7日月曜日

【SQL Server】開発環境構築(ER図作成にSSMSを使用)

◆概要
 SQL Serverでの開発の流れをまとめる。その際、SSMS(Microsoft SQL Server Management Studio)でER図を作成することを前提とする。

◆設計の流れ
主題とは離れるが、設計の全体像は【設計】設計・開発・試験の流れと設計書

◆開発環境・試験環境構築の方針
 ER図作成・単体試験・結合試験・総合試験をそれぞれ別のSQL Serverインスタンスとする。
場合によっては、もっとたくさん環境が必要かもしれないし、少ない場合もある。
(結合試験無しとか、総合試験無しとか、お客さん試験環境有りとか、運用環境有りとか)
ただし、環境を増やすと保守コストがかかるので注意が必要。

◆環境(DB)
  • 開発メンバのPC(DB開発者のみでも良い。アプリケーション開発者は必要に応じて。)
    • ER図作成用インスタンス
    • アプリ開発用インスタンス
    • 単体試験用インスタンス(ほとんどの場合アプリ開発用と同一でいい)
  • 結合試験PC
    • 結合試験用インスタンス
  • 総合試験PC
    • 総合試験用インスタンス(実機を1セットは必須。ESXiなどのVMで複数セット作っておくと並列で試験できる。しかし、保守コストがかかる。)
◆環境(アプリ)
  • Visual Studio Pro以上が最低1台欲しい。DBインスタンスからC#コードの変換がかなり楽。Expressでもできると思うが、GUIではできず、結構面倒臭いと思う。Community版は未調査。欲を言うとより高価なEditionのFakesや自動テストコード作成機能も欲しい。
◆環境構築手順
  1. SQL Server&SSMS(SQL Server Management Studio)インストール
  2. ER図作成用インスタンス作成
  3. ER図作成&DDLを手動で書かずにテーブル作成
  4. DDL文をエクスポート(SQL Server Management Studio)
  5. DDL文をSVNやGitへ登録
  6. (必要に応じて)開発用DBインスタンス作成
  7. DBからC#コード生成DBからC#コード更新(上書き)
  8. 単体試験環境/結合試験環境/総合試験へ反映
  • 一度構築完了したら、その後、1,2,6は不要。
  • 設計では3を実施。
  • 開発では、4,7。ただし、設計漏れ・設計ミスがあったら、3,4,7を行う。
  • 試験では、8のみ。ただし、テーブル設計ミスなどのバグがあったら3,4,7,8を行う。
※ ER図作成をSQL Serverで行うなら、上記と思われる。
 (SQL Serverは初めて使用するので、手探りで手順を確立中。)

◆基盤作業
 基盤作業も平行して作業を進める。
  • フェイルオーバの要否でかなり工数が違ってくる。手順自体はさほど大変でなくても負荷かけた状態でフェイルオーバする試験などは負荷をかける準備が大変。
  • バックアップの方式(差分バックアップの有無)、圧縮の有無、容量設計、…
◆基盤手順


【SQL Server】新規インスタンス作成(ER図作成用)

◆メニュー
 【SQL Server】開発環境構築(ER図作成にSSMSを使用)

◆SSMSでもER図が描けて、そのままDBに反映可能とのことなので、使ってみる。
事前準備:SQL Server(ExpressでもOK)・SSMSがインストールされていること。
 手順は【SQL Server】 【Win10】Express2016 インストールを参照のこと。

1. エクスプローラを起動し、「C:\SQLServer2016Meia\Express」へ移動し、SETUP.exeを起動

2. 「はい」を選択。(OSによってウィンドウが異なる) 

3. 一番上の 「SQL Serverの新規スタンドアロン~」をクリック。

4. 必要に応じて、チェックボックスをONにして、「次へ」ボタン押下。

5. しばらく待つ。

6. 「次へ」ボタン押下。

7. 「SQL Server 2016 の新規インストールを実行する」を選択し、「次へ」ボタン押下。

8. チェックボックスをONにして、「次へ」ボタン押下。

9. 「次へ」ボタン押下。

10. 「名前付きインスタンス」を選択し、「ERDIAGRAM」を入力し、「次へ」ボタン押下。

11. 「次へ」ボタン押下。

12. 必要に応じて、カスタマイズしてから「次へ」ボタン押下。

13. しばらく待つ。

14. 「閉じる」ボタン押下。

15. 右上の「×」ボタン押下。

16. Winキーを押下してssmsを入力し、Enter(Microsoft SQL Server Management Studio選択)。

17. 上記で作成したERDIAGRAMへ接続。(ドロップダウンリストから<参照>で選択可能)

18. ERDIAGRAMへ接続完了。(ERDIAGRAMだけでなく、SQLEXPRESSも接続できるはず)

以上。

2016年11月3日木曜日

【SQL Server】 【Win10】Express2016&SSMS インストール

◆メニュー
 【SQL Server】開発環境構築(ER図作成にSSMSを使用)

SQL Server ExpressをWindows10 Pro(x64)にインストールした。その時の手順。

◆手順
1. SQLServer2016-SSEI-Expr.exeをダウンロードして、実行。

以下のエラーが出た場合、ウィンドウ内のリンク先に同名のexeがあるので、それを実行。
以下のエラーが出なかった場合は手順2へ進む。
エラー:このバージョンのインストーラーはサポートされなくなりました。ダウンロード サイトからもう一度ダウンロードしてください。

2. 「基本」を選択。

2. 「同意する」を選択。

3. 「インストール」 を選択。

4. しばらく待つ。(5分~40分位?)

5. 「SSMSのインストール」を選択。(主にSQLクエリ実行などで使用。大抵の場合は入れておいていいと思う。)

6. 「SQL Server Management Studio (XX.X.X)のダウンロード」をクリック。
 その後、上記の画面の「閉じる」押下。

7. 「保存」を選択。

8. エクスプローラから「SSMS-Setup-JPN.exe」を実行。

9. 「インストール」を押下。

10. しばらく待つ。(5分~40分位?)

11. 「閉じる」を押下。

12. スタートメニュー 、Microsoft SQL Server 2016、Microsoft SQL Server Management Studioの順にクリック。
または、ウィンドウズロゴキー押下して、ssmsと入力し、Enter押下。(下記参照)

13. 「サーバー名」欄の右端の V を選択。

14. 「<参照..>」を選択。

15. データベース エンジン配下の「ホスト名\SQLEXPRESS」を選択し、「OK」ボタン押下。

16. 「接続(C)」ボタン押下。

17. 完了。

◆環境
 ■対象のPCは仮想マシンで、以下。
  • CPU数:4
  • メモリ:2GB
  • OS:Windows10 Pro
  • 仮想マシン:VMWare ESXi6.0上の仮想マシン
■ホストPCの性能(参考)
  • CPU:Intel Core i5-4250U(2Core 2スレッド)
  • メモリ:16GB
  • ドライブ:SSD(ウルトラ II mSATA SSD SDMSATA-512G-G25C)
  • ハイパーバイザー:VMWare ESXi 6.0