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
スタートメニューからMicrosoft
Access2016を起動し,空のデータベースを作成
作成するデータベースのファイル名は適当で構いません
左端に「すべてのAccessオブジェクト」のリストが表示されます。
始めは空のテーブル1が作られている。これは不要なので、右端の真ん中あたりにある×ボタンで削除してください。
Accessオブジェクトには次のようなものがあります。
作成のタブを選んで、クエリデザインを選択
以下のテーブルの表示ウインドウが開くが、
これは何もせずに閉じる。
メニューの左端を選んでデザインビューにする。
次のように右側にクエリの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つのクエリにすることはできないようです。
テーブルが3個できたら、「リレーションシップツール」タブのメニューから「リレーションシップ」を選択して下さい。
うまくできていれば下記の画面のような結果になるはずです。
ここで、テーブル内の鍵の項目は主キーです。テーブル間をつなぐ線は参照整合性を示しこの場合は外部キーの1対多の関係を示しています。 多の側に∞の記号が書かれています。
表削除のSQL文を作ってみましょう。HELPを使ったり、教科書をみて探すなど自分で調べましょう。
削除する順番にも注意すること。
1)教科書通りのSQL文が通るか? サポートされないSQL文などを見つけたら書いてください。
2)表の作成クエリ3個
3)削除クエリ
削除の順番が大事です。
4)時間が余る人は、2で作成した表の履修に科目IDや学生IDに無いデータを追加すると何が起きるかなど、自分なりに色々と試して報告してください。
レポートは印刷物とし初めに名前と学籍番号を必ず書くこと。