2021/04/05
アビリンピック過去問題|第38回全国(2018)データベース
本ページはプロモーションが含まれています
ぱっと見て分かりやすいデータベースは業務の効率化に欠かせません。顧客管理やコミュニケーション履歴の管理、商品の受発注や人材の採用・育成など、使われる場面もさまざまです。アビリンピックにも、データベース構築の技術を競う種目「データベース」があります。
2018年全国アビリンピックでは、「受発注システム」の構築が出題されました。受発注システムにはどのような機能が必要なのかを確認する上でも、とても参考になる課題です。
競技種目「データベース」の課題概要と使用されたOS・ソフト
業務の効率化や適切なデータ管理に不可欠なデータベース。アビリンピック競技種目「データベース」では、実際に現場で使われることを想定した内容のデータベース構築が出題されます。
身体障害者・知的障害者・精神障害者が参加可能で、2018年大会では9名の選手が技能を競いました。
課題のほとんどの内容は事前に公開されますが、一部分だけは当日にならないと分かりません。公開されている内容を制限時間内で余裕をもって構築できるよう、何度も練習することが本競技の準備では最も重要です。
2018年大会では、以下の10個の課題が出されました。
- 課題1:受発注システムのメニューを作成する
- 課題2:ブラックリスト台帳データを登録できるようにする
- 課題3:顧客台帳データを登録できるようにする
- 課題4:顧客注文台帳データを登録できるようにする
- 課題5:在庫商品台帳データを登録できるようにする
- 課題6:顧客からの注文を画面から登録できるようにする
- 課題7:受注品の納品請求書を作成できるようにする
- 課題8:商品在庫数が最低在庫数より少なくなった商品の発注書を印刷できるようにする
- 課題9:発注した商品の入荷情報を登録できるようにする
- 課題10:在庫商品一覧表を印刷できるようにする
データベース構築にあたっては、例年Microsoft Accessが用いられています。
<使用されたOSとソフト>
- OS:Microsoft Windows 7 Pro
- データベースMicrosoft Access 2010
制限時間・配布されるファイル・持ち込み禁止のもの
「データベース」では、使用するデータ類は会場側で用意され、CSVファイルで提供されます。それらのデータをデータベースできちんと活用できることが評価の条件となっています。大会前の練習でも自分なりにデータを用意して練習を行いましょう。
制限時間
「データベース」の制限時間は、3時間です。
2018年大会では、午前中の9:00-12:00に実施されました。
配布されるファイル
大会当日には、以下のファイルが提供されます。データベース本体のファイルとなるAccessファイルの他、データベースで使用するいくつかのCSVファイルがありますので、不足がないか必ずチェックしてください。
<当日配布されるファイル>
- Accessファイル
- CSVファイル
- ブラックリスト台帳
- 顧客台帳
- 顧客注文台帳
- 在庫商品台帳
当日の競技で持ち込めないもの
「データベース」の競技本番では、障害特性のために必要となるもの以外は持ち込めません。以下の物を持ち込むと不正行為となりますので気をつけてください。
<当日の競技で持ち込めないもの>
- ノートやメモ紙
- 参考図書
- CD-RやUSBメモリなど
ただし、本番前日の会場下見の際は持ち込み可能です。
「データベース」の仕様や各課題の概要
「データベース」では例年10個ほどの課題が出されます。3時間の中でこれらの条件を満たし、かつ利用者にとって使いやすく分かりやすいデータベースにしなければなりません。
今大会で出題されたのは「受発注システム」です。顧客台帳や注文商品、在庫管理などに関わる各種データを登録できる機能の他、商品発注書や納品請求書の作成・印刷ができる機能の実装も求められました。
仕様条件等
課題に取り組むにあたり、まず以下の仕様条件を確認しましょう。データの条件や使用するテーブル、使える機能などに関する規定があります。
<「データベース」の仕様条件>
- 顧客に同姓同名はいない
- 顧客番号は他の顧客と重複しない
- 顧客は同じ日にすでに注文している商品と同じ物を注文することはできない
- 使用するテーブルはすでに用意されているものを使う
- マクロ、VBAなど、Accessの機能全てを使用してよい
- CSVデータの各要素データはダブルクォーテーションで囲っていない
- CSVデータの区切り文字はカンマとする
課題の詳細仕様として指定されたテーブルは、以下の通りです。
<ブラックリスト台帳>
- クレジットカード番号:半角数字・短いテキスト・最大16桁・空文字列は許可しない
- ブラックリスト対象者:1.該当 0.非該当・数値型・長整数型
<顧客台帳>
- 顧客番号:半角英数字・短いテキスト・最大10桁・空文字列は許可しない
- 氏名:半角全角・短いテキスト・最大10文字・空文字列は許可しない
- 郵便番号:半角英数字・書式自由・最大8桁・空文字列は許可しない
- 住所:半角全角・短いテキスト・最大20文字・空文字列は許可しない
- 電話番号:半角英数字・書式自由・短いテキスト・最大16桁・空文字列は許可しない
- クレジットカード番号:半角数字・短いテキスト・最大16桁・空文字列は許可しない
- クレジットカード有効期限:半角英数字 mm/yy・短いテキスト・最大5桁・空文字列は許可しない
<顧客注文台帳>
- 顧客番号:半角英数字・短いテキスト・最大10桁・空文字列は許可しない
- 注文日:半角英数字・日付/時刻型・日付(S)
- 商品コード:半角英数字・短いテキスト・最大6桁・空文字列は許可しない
- 注文数量:数値型・長整数型
- 注文合計金額:通過型・通貨
<在庫商品台帳>
- 商品コード:半角英数字・短いテキスト・最大6桁・空文字列は許可しない
- 商品名:半角全角・短いテキスト・最大20文字・空文字列は許可しない
- 在庫数:数値型・長整数型
- 最低在庫数:数値型・長整数型
- 販売単価:通過型・通貨
<在庫商品発注台帳>
- 商品コード:半角英数字・短いテキスト・最大6桁・空文字列は許可しない
- 発注日:日付/時刻型・日付(S)
- 発注数:数値型・長整数型
- 納品日:日付/時刻型・日付(S)
- 在庫更新:1.更新済 0.未更新・数値型・長整数型
課題1の概要:受発注システムのメニューを作成
課題1では、受発注システムのメニューを作成します。各CSVファイルを使ったデータの登録ができるようにする最初の画面ですので、配置するボタン等の要素がたくさんあります。
<配置するメニュー(ボタン形式)>
- CSVファイルからブラックリスト台帳の登録
- CSVファイルから顧客台帳の登録
- CSVファイルから顧客注文台帳の登録
- CSVファイルから在庫商品台帳の登録
- 顧客からの注文内容を画面から追加登録・修正・削除
- 注文品の請求書を印刷
- 商品在庫数が最低在庫数より少なくなった商品の発注書を印刷
- 発注した商品の入荷情報の登録
- 在庫商品一覧表を印刷
- メニューを閉じる
「メニューを閉じる」ボタンをクリックすることで、Access自体を終了できるようにしてください。
課題2の概要:ブラックリスト台帳データを登録できるようにする
課題2では、「ブラックリスト台帳.csv」からブラックリスト台帳データを登録できるようにします。
<配置する要素>
- 「検索」ボタン:「ファイルを開く」ダイアログボックスを表示させてCSVファイルを選択できるようにする
- テキストボックス:検索したCVSファイル名をフルパス名で表示及び入力できるようにする
- オプションボタン:登録方法を選択する
- 「登録」ボタン:処理を実行する
- 「閉じる」ボタン:メニューに戻る
オプションボタンでは、次の2つのどちらかを選択できるようにしましょう。
- ブラックリスト台帳のデータを全て削除した後に新規登録する
- 同じクレジット番号があれば上書きし、なければ新規登録する
ブラックリスト対象者については、該当者には[1]、被害当社には[0]が入っているようにしなければなりません。
なお、以下のエラーが1つ以上ある場合は、そのエラー内容をモーダルフォームで表示し、CSVファイルの中の全てのデータを登録しないように設定してください。
<想定するエラー内容>
- テキストボックスに入力したCSVファイルが存在しない
- 指定した桁数以上のデータがある
- 数値型データの中に数値以外の文字データがある
課題3の概要:顧客台帳データを登録できるようにする
課題3では、CSVファイルをもとに顧客台帳データを登録できるようにします。使うCSVファイルは「顧客台帳.csv」です。
<配置する要素>
- 「検索」ボタン:「ファイルを開く」ダイアログボックスを表示させてCSVファイルを選択できるようにする
- テキストボックス:検索したCVSファイル名をフルパス名で表示及び入力できるようにする
- オプションボタン:登録方法を選択する
- 「登録」ボタン:処理を実行する
- 「閉じる」ボタン:メニューに戻る
課題3でのオプションボタンでは、次の2つのどちらかを選択できるようにしましょう。
- 顧客台帳データをすべて削除した後に新規登録する
- 同じ顧客番号があれば上書きし、なければ新規登録する
課題3で装置絵されるエラーは次の2つです。課題2と同様に、エラー内容を表示した上でCSVファイルの中のすべてのデータを登録しないように設定してください。
<想定するエラー内容>
- テキストボックスに入力したCSVファイルが存在しない
- 指定した桁数以上のデータがある
課題4の概要:顧客注文台帳データを登録できるようにする
課題4では、CSVデータをもとに顧客注文台帳データを登録できるようにします。「顧客注文台帳.csv」を使います。
<配置する要素>
- 「検索」ボタン:「ファイルを開く」ダイアログボックスを表示させてCSVファイルを選択できるようにする
- テキストボックス:検索したCVSファイル名をフルパス名で表示及び入力できるようにする
- オプションボタン:登録方法を選択する
- 「登録」ボタン:処理を実行する
- 「閉じる」ボタン:メニューに戻る
課題4でのオプションボタンでは、次の2つのどちらかを選択できるようにします。
- 顧客注文台帳データをすべて削除した後に新規登録する
- 顧客番号・注文日・商品コードの組み合わせで、同じデータがあれば上書きし、なければ新規登録する
想定するエラーは次の5つです。
<想定するエラー内容>
- テキストボックスに入力したCSVファイルが存在しない
- 指定した桁数以上のデータがある
- 数値型データの中に数値以外の文字データがある
- 顧客番号が顧客台帳テーブルに存在しない
- 商品コードが在庫商品台帳テーブルに存在しない
課題5の概要:在庫商品台帳データを登録できるようにする
課題5では、CSVファイル「在庫商品台帳.csv」をもとに在庫商品台帳データを登録できるようにしましょう。
<配置する要素>
- 「検索」ボタン:「ファイルを開く」ダイアログボックスを表示させてCSVファイルを選択できるようにする
- テキストボックス:検索したCVSファイル名をフルパス名で表示及び入力できるようにする
- オプションボタン:登録方法を選択する
- 「登録」ボタン:処理を実行する
- 「閉じる」ボタン:メニューに戻る
課題5でのオプションボタンでは、次の2つのどちらかを選択できるようにする
- 在庫商品台帳データをすべて削除した後に新規登録する
- 商品コードが同じデータがあれば上書きし、なければ新規に登録する
また、課題5で想定するエラーは次の3つです。これまでの課題と同様、エラー内容の表示を行い、データを登録しないように設定しましょう。
<想定するエラー内容>
- テキストボックスに入力したCSVファイルが存在しない
- 指定した桁数以上のデータがある
- 数値型データの中に数値以外の文字データがある
課題6の概要:顧客からの注文を画面から登録できるようにする
課題6では、顧客からの注文を画面から登録できるようにします。
<配置する要素>
- 「登録」ボタン:入力した内容をデータベースに書き込む処理を実行する
- 「閉じる」ボタン:メニューに戻る
上記以外に、次のこともできるようにしましょう。
- 顧客番号か氏名で検索ができて、抽出されたリストから顧客を選択できる(中間一致も可能とする)
- 顧客を選択すると、その顧客について以下の注文履歴内容がリスト表示される
- 注文日
- 商品コード
- 商品名
- 数量
- 注文合計金額
課題7の概要:注文品の納品請求書を作成できるようにする
課題7では、注文品の納品請求書を作成できるようにします。
<配置する要素>
- 「印刷」ボタン:印刷を実行する
- 「閉じる」ボタン:メニューに戻る
上記以外に、次のこともできるようにしましょう。
- 印刷対象となる注文日を入力できる
- A4縦で顧客1人に対して1ページで印刷されるようにする
印刷内容は、以下の6項目です。
- 顧客コード
- 氏名
- 郵便番号・住所
- 注文日
- 総合計金額
- 注文内容(複数件):商品名・数量・注文合計金額
課題8の概要:商品在庫数が最低在庫数より少なくなった商品の発注書を印刷できるようにする
課題8の内容は、商品在庫数が最低在庫数よりも少なくなった商品があるとき、その商品の発注書を印刷できるようにすることです。
<配置する要素>
- 「印刷」ボタン:印刷を実行する
- 「閉じる」ボタン:メニューに戻る
上記以外に、以下のこともできるようにしましょう。
- 商品在庫数が最低在庫数より少なくなった商品を抽出、印刷できる
- 印刷した商品の発注情報を在庫商品発注台帳に追加する(納品日には何も書き込まず、在庫更新は「0.未更新」で書き込む)
- 発注数は、前回発注日以降に注文を受けた個数の合計
- 1ページには10商品まで印刷(超えた場合は改ページする)
- 総合計金額は1ページ目だけに印刷
- 発注合計金額は、発注単価(販売単価×70%)×発注数
印刷内容は、以下の通りです。1ページあたり10商品までをA4縦で印刷できるようにしてください。
- 発注日
- 総合計金額
- 発注内容
- 商品コード
- 商品名
- 数量と発注単価
- 発注合計金額
課題9の概要:発注した商品の入荷情報を登録できるようにする
課題9では、発注した商品の入荷情報を登録できるようにしましょう。
<配置する要素>
- 「登録」ボタン:入力した内容をデータベースに書き込む
- 「閉じる」ボタン:メニューに戻る
上記以外に、次のこともできるようにしてください。
- 在庫商品発注台帳から在庫更新が「0.未更新」となっているデータを抽出して、以下の項目を表示する
- 商品コード
- 商品名
- 発注日
- 発注数
- 現在庫数
- 受入後の在庫数(発注数+現在庫数)
- カレンダーまたはテキストボックスで納品日を入力できる
- 「実行」ボタンをクリックすることで、リスト表示された発注商品について次の処理を行う
- 在庫商品台帳の在庫数を受入後の在庫数にする
- 在庫商品発注台帳の在庫更新を「1.更新済」にする
- 在庫商品発注台帳の納品日を画面で入力した日付にする
課題10の概要:在庫商品一覧表を印刷できるようにする
最後となる課題10では、在庫商品一覧表を印刷できるようにしましょう。
<配置する要素>
- 「登録」ボタン:入力した内容をデータベースに書き込む
- 「閉じる」ボタン:メニューに戻る
印刷は、A4縦で1枚に20商品まで。20商品を超える場合は、次のページに印刷されるようにしなければなりません。
印刷内容は、以下の通りです。
- 印刷日
- 商品内容
- 商品コード
- 商品名
- 数量
- 最低在庫数
- 販売単価
- 発注単価(販売単価×70%)
「データベース」で高評価につながるポイント
「データベース」で高評価を得るには、まず事前に公開された課題をじっくり確認することが大切です。
当日は短い時間の中で作り上げなければならないため、公開されている内容について、あらかじめ課題の読み間違い等がないように何度も確認してください。
出題の意図や課題内容を理解したあとは、ひたすら3時間以内で完成させる練習を。当日は公開されていない部分の課題にも取り組む必要があります。練習段階では「3時間きっちり」ではなく、少し余裕をもって終わらせることを意識しましょう。
技術的に不安を感じるなら、SQL文作成力やVBAコーディング力の向上に努める必要もあるでしょう。
当日課題の評価ポイントには、以下の5つの観点があります。
<「データベース」の評価ポイント>
- 登録されたデータがあるかどうか
- どのようなAccessの機能を使っているか
- 可視性(マニュアルを見なくても直感的に操作できるように画面を見やすく作っているか)
- 操作性(マニュアルを見なくても直感的に操作できるようにしているか)
- 機能性(処理が正確か)
ケアレスミスを防ぎつつ、シンプルで使いやすいデータベースの構築を目指しましょう。