記事

IoTの格納先を考える(5)SQL Server Management Studioでテーブルの作成

■テーブルの検討(2)

●正規化したテーブル
 今回は、次のようなテーブルを利用することにしました。当初、ブルーレイディスクの整理を考えていました。中身よりブルーレイディスクのメディアの整理のほうが念頭にあったので、メディアテーブルと名付けました。このメディアテーブルのメディアコードは、メディアに格納されたコンテンツに対応させています。

◆メディアテーブル
 メディアコード(キー)、タイトル、作者、劇場コード、公演日、ソース
コンテンツごとに
 ここで指定した作者は、アーティストテーブルにセットされているアーティストコードをセットしています。アーティストテーブルには歌手、指揮者、作曲家、役者などが登録されています。

◆出演者テーブル
 「メディアコード、サブNo(キー)」、配役、アーティストコード、アーティスト名

◆アーティストテーブル
  アーティストコード(キー)、アーティスト名、カテゴリ、性別

◆団体劇場テーブル
  劇場コード(キー)、劇場・団体名
 団体劇場テーブルには、歌劇場、劇団、交響曲団などの団体名などが登録されています。

◆記録媒体テーブル
  「メディアコード、コピーNo(キー)」、媒体、媒体識別コード、保存場所識別1、保存場所識別2
 メディアコードはコンテンツに対して割り当てられています。コピーすると同じものができるので、その管理をコピーNoで管理します。

テーブルの作成、データ入力
 テーブルの作成は、前回説明したMicrosoft SQL Server Management Studioを利用して行いました。
 メディアテーブルの作成は、SQL Server Management Studioでテーブルの上位200行の編集を行う機能で作成、編集を行いました。
 この機能を利用するためには次に示すように、オブジェクトエクスプローラで該当するテーブルを表示しマウスの右ボタンをクリックしリストを表示「上位200行の編集」を選択し、レコード追加編集を行います。

 データの作成開始時ですから、200行のデータの入力が終わるまでにはレコードの追加編集を行うためのプログラムを作る予定です。

SQLエディタ
 SQL Server Management StudioでSQL文の作成実行を行うために、SQLエディタを開きます。
 ツールバーの「新しいクエリ」をクリックすると、SQLエディタが開きます。次に示すのは、アーティストテーブルの内容を選択して表示するためのSQL文をSQLエディタで作成している途中です。テーブル名や配列名を途中まで入力すると、候補が表示され少し助かります。

 アーティストテーブルから全列を選択するSQL文

  select * from アーティストテーブル

を実行した結果が、エディタのペインの下半分に表示されています。
 Select で対象テーブルのどの列を選択するか指定します。* は全列を選択することを示します。並び順は、テーブル上の並び順になります。from アーティストテーブルで、対象のテーブルはアーティストテーブルであることが示されています。
 ここでは、アーティストテーブルから無条件に全データ選択するので、何も条件は記述されていません。


クエリデザイナーを利用する
 SQLエディタのSQL文を入力する方法のほかに、次に示すクエリデザイナーを利用する方法があります。GUIの画面で要件を設定すると、デザイナーがSQL文を生成します。

 SQLエディタのペインを選択し、ショートカットキー (Ctrl + Shift + Q)を押すか、ペインをマウスの右ボタンでクリックして表示されるメニューのリストから「エディタでクエリをデザイン」を選択すると、次に示すテーブルの選択の画面が表示されます。
 ここでは、メディアテーブルのデータに、作者(アーティストコード)とアーティストテーブルから作者名、劇場コードと団体劇場テーブルから団体名を表示します。そのため、メディアテーブル、アーティストテーブル、団体劇場テーブルを選択し、デザイナーにこれらのテーブルを追加するために追加のボタンをクリックします。

 デザイナーを使用して表示する列、テーブル間を結合する配列を指定できます。
◆選択する列
 選択する列はチェックします。アスタリスクを選択すると全列が選択されます。
◆テーブルの結合
 テーブルの結合は、結合する列を選択して結合先のテーブルの列にドラッグすることで行えます。

 メディアテーブルの作者とアーティストテーブルのアーティストコードを結合し、メディアテーブルの劇場コードと団体劇場テーブルの団体コードを結合しています。生成されるSQL文は、デザイナーの下段のペインに表示されます。

 OKボタンをクリックすると、SQLエディタにSQL文が生成されます。ツールバーの「実行」をクリックするとSQLエディタの下半分に選択された列が表示されます。
 メディアテーブルには、コードしかなかった作者と劇場がそれぞれのテーブルから名称が取り出され表示されています。作者がnullのままのレコードは結合できなかったために選択されていません。

 次回このSQL文をもとに引き続き検討を進めます。

(2017/4/12 V1.0)

<神崎康宏>

IoTの格納先を考える

(1) SQL Server Express

(2) ユーティリティのインストール

(3) 音楽データを題材に

(4) テーブルの検討

(5) SQL Server Management Studioでテーブルの作成

(6) Visual StudioでSQLSeverと連携

(7) Visual Studio 2017を利用

(8) メインテナンス・プログラムの作成

(9) メインテナンス・プログラムの作成 その2