20160524水野
[ prev | next ]

1.データ定義

AccessではGUIベースでテーブル(実表)を作成するのが普通のやり方です。しかし、ここではデータ定義SQLを実行する方法で行います。演習で作成するスキーマは以下のものです。

ここで下線は主キーを示す。さらに履修の科目IDと学生IDは外部キーでそれぞれ科目、学生の表に存在する値しか許されない。 ドメインは以下のデータが格納できるように適当に自分で決めてください。

科目
001 データベース       2 7
002 プログラミング序論 2 1

学生
sc001 水野和生     2008 2012 鹿児島市鴨1-2-3 
sc002 鹿児島サクラ 2010      鹿児島市郡元4-5-6 

履修
001 sc002 A
001 sc001 B
002 sc001 C

1-1.Accessの起動

スタートメニューからMicrosoft Access2016を起動し,空のデータベースを作成

作成するデータベースのファイル名は適当で構いません

 

左端に「すべてのAccessオブジェクト」のリストが表示されます。

 

始めは空のテーブル1が作られている。これは不要なので、右端の真ん中あたりにある×ボタンで削除してください。

Accessオブジェクトには次のようなものがあります。

1-2.データ定義SQLの作成

クエリの作成と実行

作成のタブを選んで、クエリデザインを選択

 

以下のテーブルの表示ウインドウが開くが、

これは何もせずに閉じる。

メニューの左端を選んでデザインビューにする。
次のように右側にクエリのSQLによる入力枠が開く

 

このテキスト編集画面に以下のようにSQLのデータ定義のプログラム

CREATE TABLE 科目
(

  科目ID CHAR(10) NOT NULL,
  科目名 CHAR(20) NOT NULL,
  単位数 INTEGER,
  開講期 CHAR(10),

  PRIMARY KEY(科目ID)
);

をコピペして書き込んでください。

 

次に実行を選んで、SQL文のクエリを実行してみましょう

以下のように科目表ができれば成功です。

 

 構文に問題が有ると指摘された場合

SQL文に誤りがあると

のような警告が表示がされるので、SQL文を修正してください。

以下のような間違いが多い。

表にデータを入れて動作を確認

表に以下のデータを入れてみましょう。ドメインが適切でない場合はデータが入れられないかもしれません

科目
001 データベース       2 7
002 プログラミング序論 2 1

クエリの保存

編集画面の右上隅の×ボタンを押すと

のように聞いてきます。はいで保存しましょう

クエリの名前「科目表作成」を書き込んでOKで完了です。

学生と履修のテーブル作成クエリ

では残りのテーブルを作成して下さい。SQLは教科書などを参考にしてください。

(注意)

このデータ定義クエリではサポートされない記述が有るかもしれません。
実際に試してレポートに書いてください。

※このAccessでは複数の表を作成するSQL文を1つのクエリにすることはできないようです。

1-3.最後に確認

テーブルが3個できたら、「リレーションシップツール」タブのメニューから「リレーションシップ」を選択して下さい。

うまくできていれば下記の画面のような結果になるはずです。

ここで、テーブル内の鍵の項目は主キーです。テーブル間をつなぐ線は参照整合性を示しこの場合は外部キーの1対多の関係を示しています。 多の側に∞の記号が書かれています。

1-4. 表の削除

表削除のSQL文を作ってみましょう。HELPを使ったり、教科書をみて探すなど自分で調べましょう。
削除する順番にも注意すること。

1-5. レポート課題

1)教科書通りのSQL文が通るか? サポートされないSQL文などを見つけたら書いてください。

2)表の作成クエリ3個

3)削除クエリ 
削除の順番が大事です。

4)時間が余る人は、2で作成した表の履修に科目IDや学生IDに無いデータを追加すると何が起きるかなど、自分なりに色々と試して報告してください。

レポートは印刷物とし初めに名前と学籍番号を必ず書くこと。


[ prev | next ]