この資料は、テキストをもとに、講義のために作成したものです.学習用に活用してください. この資料は、テキストをもとに、講義のために作成したものです.学習用に活用してください. それ以外の目的に使用しないこと 配信しないこと
第12回:関係データベースの利用2 重点項目 SQL文法 データ抽出 関係データベース利用例の紹介 情報科学入門 第12回:関係データベースの利用2 重点項目 SQL文法 データ抽出 関係データベース利用例の紹介 (Microsoft Access 2003の活用)
SQLとは? SQL(Structured Query Language)とは,関係データベースを操作してデータの検索や変更などの処理を行う言語のことである。SQLの持つ機能は,以下の2つに分類できる。
2つの言語に用意されている主な命令 データ定義言語とデータ操作言語には,データベースの定義や操作を行う次のような命令(コマンド)が用意されている。
SQL文の使い方 データベースのデータを操作するには,SQL文と呼ばれる文を記述する。操作したい内容を次のような形式で記述する。
条件をつけてデータを抽出する SELECT文で条件を満たす項目を抽出するには,次の書式を利用する。
抽
(例) <地方> <県庁所在地> 結合演算で生成される余分なデータ
各表の県名が抽出される
データの集計・グループ化・並べ替え
72 ×
行単位で並び替わることに注意 × × × 武田雄二 男 71 88
関係データベース利用例の紹介 利用例その1:テキストP.126の売上伝票から正規化したデータベースの例 1. ”売上情報.mdb”をダブルクリックして,Microsoft Access 2003で開きます。 注)セキュリティ警告のメッセージが表示される場合がありますが,危険なコー ドは含んでいないので,そのまま”開く”をクリックしてください。 2. ”売上情報:データベース”ウィンドウが開いていることを確認します。 左側のオブジェクトメニューで,”テーブル”が選択されていると,右側のオブジェクト一覧の中にテキストP.126に載っている4つの表がリストアップされていることが分かります。 3. 一覧の中から”顧客表”テーブルをダブルクリックすると,”顧客表:テーブル” ウィンドウが開き,登録されているデータが確認できます。 新規データの登録や,データの更新,削除等の作業もこのウィンドウで行うことができます。 (今回は用意していませんが,通常はフォームを作成して行います。)
4. ”顧客表:テーブル”ウィンドウが選択されている状態(タイトルバーが青くハイライトしている状態)で,”テーブルデザイン”ツールバーの左端にある”ビュー”ボタンをクリックすると,テーブル中の”フィールド設定”が確認できます。 ”テーブルウィンドウ”の表示状態は, ”データシートビュー”と”デザインビュー”と呼ばれる2つの状態があり,それぞれ”データの入力や列幅の変更”,”フィールド名やデータ型の変更”などを行うことができます。 ビューの切替は”ビュー”ボタンをクリックすることで行います。(トグル式) 5. ”顧客表:テーブル”ウィンドウを閉じ(タイトルバーの右端にある×ボタンをクリック),他のテーブルも同様に内容を確認してみてください。 6. ”売上情報:データベース”ウィンドウが選択されている状態で,”テーブルデザイン”ツールバーの右端の方にある”リレーションシップ”ボタンをクリックすると,各テーブル間に定義されているリレーションシップが確認できます。 注)リレーションシップの設定方法については,最後のスライドに紹介してある 参考文献を参照してください。 7. リレーションシップを確認したら,”リレーションシップ”ウィンドウを閉じます。
8. ”売上情報:データベース”ウィンドウが選択されている状態で,左側のオブジェクトメニューで,”クエリ”を選択します。 右側のオブジェクト一覧の中に,以下の2つのクエリ(データベースへの問い合わせ)がリストアップされていることが分かります。 ・”売上伝票 クエリ” : テキストP.125の第一正規形にあたる”受注表1”を得 るための問い合わせ ・”顧客番号-顧客名 クエリ” : テキストP.128にある問い合わせ例 9.一覧の中から”顧客番号-顧客名 クエリ”クエリをダブルクリックすると,”顧客番号-顧客名 クエリ:選択クエリ” ウィンドウが開き,問い合わせ結果が確認できます。 10.”顧客番号-顧客名 クエリ:選択クエリ”ウィンドウが選択されている状態で,”ビュー”ボタンをクリックすると,問い合わせ内容が確認できます。 注)ACCESSではSQL文法を知らなくても気軽にデータベースを利用できるよ うに,SQL文を使わなくて済むユーザインタフェースを実装しています。 SQL文を使う別のフリーなデータベースについては,最後のスライドの参考 文献に紹介しておきますので,興味があればトライしてみてください。
11.”顧客番号-顧客名 クエリ:選択クエリ”ウィンドウを閉じ,もうひとつのクエリも同様に内容を確認してみてください。 12.すべてを確認したら,”売上情報:データベース”ウィンドウを閉じ,ACCESSを終了します。
利用例その2:テキストP.130の<成績表>への問い合わせの例 1. ”成績.mdb”をダブルクリックして,Microsoft Access 2003で開きます。 注)セキュリティ警告のメッセージが表示される場合がありますが,危険なコー ドは含んでいないので,そのまま”開く”をクリックしてください。 2. ”成績:データベース”ウィンドウが開いていることを確認します。 左側のオブジェクトメニューで,”テーブル”が選択されていると,右側のオブジェクト一覧の中にテキストP.130に載っている<成績表>がリストアップされていることが分かります。 3. 一覧の中から”成績表”テーブルをダブルクリックすると,”成績表:テーブル” ウィンドウが開き,登録されているデータが確認できます。 4. ”成績表:テーブル”ウィンドウが選択されている状態で,”ビュー”ボタンをクリックすると,テーブル中の”フィールド設定”が確認できます。 5. 確認できたら”成績表:テーブル”ウィンドウを閉じます。
6. ”成績:データベース”ウィンドウが選択されている状態で,左側のオブジェクトメニューで,”クエリ”を選択します。 右側のオブジェクト一覧の中に,以下の12個のクエリがリストアップされていることが分かります。 【テキストP.130の抽出条件の記述例中にある問い合わせ】 ・”英語が60点以上70点以下の氏名 クエリ” ・”英語が70点以上で性別が「男」の行 クエリ” ・”氏名の末尾が「子」の氏名 クエリ” 【テキストP.131のデータを集計する中にある問い合わせ】 ・” 「英語」の平均点 クエリ” ・” 「英語」の最高点 クエリ” ・” 「英語」の最低点 クエリ” ・” 「英語」の合計点 クエリ” ・” 「英語」の点数が75以上の人数 クエリ” 【テキストP.132のデータをグループ化する中にある問い合わせ】 ・”性別ごとの「仏語」の平均点 クエリ” ・”性別ごとの「英語」と「仏語」の合計 クエリ” 【テキストP.132のデータを並べ替える中にある問い合わせ】 ・”すべての列を抽出し,「仏語」の点数の低い順に並べ替え クエリ” ・”男子学生を抽出し,「英語」の点数の高い順に並べ替え クエリ”
7. 一覧の中から”英語が60点以上70点以下の氏名 クエリ”クエリをダブルクリックすると,”英語が60点以上70点以下の氏名 クエリ:選択クエリ” ウィンドウが開き,問い合わせ結果が確認できます。 8. ”英語が60点以上70点以下の氏名 クエリ:選択クエリ”ウィンドウが選択されている状態で,”ビュー”ボタンをクリックすると,問い合わせ内容が確認できます。 9. ”英語が60点以上70点以下の氏名 クエリ:選択クエリ”ウィンドウを閉じ,他のクエリも同様に内容を確認してみてください。 10.すべてを確認したら,”成績:データベース”ウィンドウを閉じ,ACCESSを終了します。
「超図解mini ACCESS基本操作&テクニック」 株式会社エクスメディア 2005.02 ISBN4-87283-429-1 1180円 参考文献の紹介 ・エクスメディア 著 「超図解mini ACCESS基本操作&テクニック」 株式会社エクスメディア 2005.02 ISBN4-87283-429-1 1180円 ・石井達夫 監修 浅羽義之他 著 「PostgreSQL徹底入門 8対応」 株式会社翔泳社 2005.08 ISBN4-7981-0957-6 3444円