愛知県障害者技能競技大会データベース競技課題 1 課題公立図書館の業務を管理するシステムを後述 (P14) するDFD 図 (Data Flow Diagram) および仕様に基づいて作成しなさい データベースの名称は 図書館業務管理システム とする 課題は以下の1から 9 とする 課題 1. システムで必要とされるデータに関して それぞれのテーブルを作成し必要に応じて適切な主キーおよび制約 リレーションップを設定する 課題 2. ACCESS の操作により 蔵書管理テーブル 利用者登録テーブル 貸出台帳テーブル のデータをインポートする 課題 3. 図書館業務管理システム のメニューを作成する 課題 4. 蔵書検索機能を作成する 課題 5. 貸出処理機能を作成する 課題 6. 返却処理機能を作成する 課題 7. 利用者登録 編集機能を作成する 課題 8. 蔵書登録 編集機能を作成する 課題 9. 貸出期限を超えている利用者一覧表のレポートを作成する 注意点 1 指定がない限りオブジェクトの名称は自由とする 2 ACCESS の全ての機能を使うことができることとする 3 競技委員は課せられた課題が正しく実現されているかを採点する 4 課題が正しく実現されているとは 操作が完了しているか 課せられた機能が正しく動作するかをいう ただし Windows OS 基本操作はできることが前提とする 5 課題のシステムを作成するに当たり誤操作等によるイレギュラーなエラーに対する処理は不要とする 2 競技時間 2 時間 30 分 1
3 課題提出方法競技者は 完成した作品 ( 未完成作品も含む ) を大会主催者側の用意する外付けの USB メモリに保存し提出する なお作品を保存した USB メモリは競技時間終了と同時に競技委員が回収する 4 注意事項 (1) 各テーブル用の CSV データは事前に配布されるファイルを使用する (2) 競技中に万一機器が故障した場合は競技委員の指示に従うこと (3) 競技時間内に競技を終了する場合は競技委員に申し出ること (4) 競技会場での座席位置は予め競技委員が決定しておく (5) ノートやメモ紙 参考図書 CD-R USB メモリ等の持ち込みは不可とする ( 注 ) パソコンに導入が必要なパソコン操作支援技術 ( ハード及びソフト ) を必要とする場合は事前に事務局に申し出ること それらは原則 競技者自身がパソコン操作支援技術を持参し 事前に競技委員立会いのもと導入する ただし 導入に関して不具合があっても特別な配慮はしないこととする 5 競技会場に準備してあるもの (1) OS:Microsoft Windows 7 Professional (2) データベース :Microsoft Access2013(Microsft Office2013) (3) PC:DOS/V 互換機 (4) USB メモリ :64MB 以上 6 仕様条件 (1) テーブルの作成において使用するデータを参考にして適正な型とプロパティならびに主キー インデックス リレーションを決めること (2) テキスト型データ 日付 時間型データにおいては指定の書式に従うこと 特に指定の無い場合には自由な書式とする (3) ACCESS の全ての機能を使用してよい 2
課題の詳細仕様を以下に示す 課題 1. システムで必要とされるデータに関して それぞれのテーブルを作成し必要に 応じて適切な主キーおよび制約 リレーションップを設定する 1 蔵書管理テーブル データ名 データ型 最大桁数 NULL 許可 蔵書コード テキスト型 ( 書式は下記参照 ) 8 いいえ 書名 テキスト型 40 いいえ 著者 テキスト型 20 はい キーワード テキスト型 20 はい 出版社 テキスト型 20 いいえ ISBN13 テキスト型 ( 書式は下記参照 ) 14 はい 発行日 日付 時間型 ( 書式は下記参照 ) はい 価格 通貨型 10 はい 購入日 日付 時間型 ( 書式は下記参照 ) はい 貸出可否 テキスト型 ( 書式は下記参照 ) 2 いいえ 備考 テキスト型 50 はい 蔵書コードの書式 NO****** 先頭の NO は固定の文字列 続く ****** には一意な連番を使う ISBN13 の書式 ***-********** ( 例 ) 978-4063959093 文字列中の - ( ハイフォン ) は文頭から4 文字目のみを利用し他は全て省く * には書籍に記載されている番号を使う 発行日 購入日の書式 西暦表示 ( 例 ) 2012/05/30 貸出可否の書式 許可 もしくは 不可 と入力する 3
2 利用者登録テーブル データ名 データ型 最大桁数 NULL 許可 利用者コード テキスト型 ( 書式は下記参照 ) 10 いいえ 氏名 テキスト型 15 いいえ ふりがな テキスト型 20 いいえ 生年月日 日付型 ( 書式は下記参照 ) いいえ 性別 テキスト型 ( 書式は下記参照 ) 2 いいえ 電話番号 テキスト型 ( 書式は下記参照 ) 15 はい Email テキスト型 30 はい 郵便番号 テキスト型 ( 書式は下記参照 ) 8 いいえ 住所 テキスト型 50 いいえ 保護者氏名 テキスト型 15 はい 登録日 日付型 ( 書式は下記参照 ) いいえ 備考 テキスト型 50 はい 利用者コードの書式 US******** 先頭の US は固定の文字列 続く ******** には一意な連番を使う 生年月日 登録日の書式 西暦表示 ( 例 ) 2012/05/30 性別の書式 男性 もしくは 女性 と入力する 電話番号の書式 ****-***-**** 番号は ( ハイフォン ) を使い市外局番 局番 番号を区別する 郵便番号の書式 ***-**** 番号は ( ハイフォン ) を使い前 3 文字と後ろ 4 文字を区別する 4
3 貸出台帳テーブル データ名 データ型 最大桁数 NULL 許可 貸出コード テキスト型 ( 書式は下記参照 ) 10 いいえ 蔵書コード テキスト型 ( 書式は下記参照 ) 8 いいえ 利用者コード テキスト型 ( 書式は下記参照 ) 10 いいえ 貸出日 日付型 ( 書式は下記参照 ) いいえ 貸出期限 日付型 ( 書式は下記参照 ) いいえ 返却日 日付型 ( 書式は下記参照 ) はい 備考 テキスト型 50 はい 貸出コードの書式 RE******** 先頭の RE は固定の文字列 続く ******** には一意な連番を使う 蔵書コードの書式 蔵書管理テーブル の 蔵書コード と同等 利用者コードの書式 利用者登録テーブル の 利用者コード と同等 貸出日 貸出期限 返却日の書式 西暦表示 ( 例 ) 2012/05/30 5
課題 2.ACCESS の操作により 蔵書管理テーブル 利用者登録テーブル 貸出台帳 テーブル のデータをインポートする 各テーブルデータは CSV ファイル形式により保存されている 蔵書管理テーブル には 蔵書管理テーブル.csv ファイルを使用する 利用者登録テーブル には 利用者登録テーブル.csv ファイルを使用する 貸出台帳テーブル には 貸出台帳テーブル.csv ファイルを使用する 6
課題 3. 図書館業務管理システム のメニューを作成する メニューは以下の通りとする 1 メニューはフォームに作成し これを メニュー フォームとする 2 メニュー フォームにはメニュー項目に対応したボタンを配置する 3 各項目に対応したボタンをクリックし それぞれの機能を実行する 4 メニュー項目は以下の通り 蔵書検索 貸出処理 返却処理 利用者登録 編集 蔵書登録 編集 貸出超過者 督促該当者一覧印刷 メニューを閉じる 5 メニューを閉じる 項目をクリックすると ACCESS 自体を終了させる 7
課題 4. 蔵書検索機能を作成する 蔵書検索では以下のことを行う 1 蔵書検索フォームを作成する 2 蔵書検索フォームには 検索 ボタンと検索項目を配置する 3 検索項目は単票形式で配置する 4 検索項目を設定し 検索 ボタンをクリックすることにより検索を実行する 5 検索項目を空白にした場合は検索対象としない 6 検索できる項目は以下の通り 蔵書コード 書名( 一部を含むあいまい検索が可能 ) 著者( 一部を含むあいまい検索が可能 ) キーワード( 一部を含むあいまい検索が可能 ) 出版社( 一部を含むあいまい検索が可能 ) ISBN13( 一部を含むあいまい検索が可能 ) 7 検索項目は同時に複数設定することも可能とする 8 複数選択した場合は これらの条件を OR 条件として検索する 9 検索結果表示フォームを作成する 10 検索結果は検索結果表示フォームに一覧表示する 11 該当する書籍がない場合にはメッセージボックスで 該当無し と表示する 12 蔵書検索フォーム 検索結果表示フォーム各々に 閉じる ボタンを配置してクリックされた場合はフォームを閉じる 8
課題 5. 貸出処理機能を作成する 貸出処理では以下のことを行う 1 貸出登録フォームを作成する 2 貸出登録フォームは単票形式とする 3 貸出登録フォームに 登録 ボタンを配置する 4 貸出コード 貸出日 貸出期限 返却日 の項目は編集をロックしておく 5 新規貸出する場合には次の項目にデータを登録する 蔵書コード 利用者コード 備考( 必要に応じて記入する ) 6 必要事項を記入後 登録 ボタンをクリックし登録する 7 貸出コード は最新の 貸出コード の連番に1を加算したものを登録する 8 貸出日 は 登録 ボタンをクリックした日を登録する 9 貸出期限 は貸出当日から算出し登録する 10 利用者コード に該当者がいない場合には 利用者未登録 のメッセージを表示し登録を行わない 11 蔵書コード に該当が無い場合には 蔵書コード未登録 のメッセージを表示し登録を行わない 12 貸出不可の蔵書を申請した場合には 貸出不可 のメッセージを表示し登録を行わない 13 貸出許可であっても 購入日 より 3 ヶ月を超えていない書籍は 貸出不可 のメッセージを表示して登録を行わない 9
課題 6. 返却処理機能を作成する 返却処理機能では以下のことを行う 1 書籍に貼付してある 蔵書コード をパラメータとし 返却日 が未記入のレコードを抽出する 返却処理 クエリを作成する 2 上記クエリを基に 返却処理 フォームを作成する 3 単票形式で表示する 4 備考 以外 全ての項目を編集不可とする 5 返却処理 ボタンを配置する 6 返却処理 ボタンがクリックされた日を 返却日 として登録する 7 閉じる ボタンを配置してクリックされた場合はフォームを閉じる 10
課題 7. 利用者登録 編集機能を作成する 利用者登録 編集機能では以下のことを行う 1 利用者登録 編集 フォームを作成する 2 単票形式で表示する 3 新規 編集 登録 ボタンを配置する 4 新規 ボタンでは 利用者コード 登録日 以外の項目を空白にし 該当データを記入後 登録 ボタンにより新規利用者の登録を行う 5 利用者コード の項目は編集ロックを掛ける 6 利用者コード は最新の 利用者コード の連番に1を加算したものを登録する 7 登録日 は 登録 ボタンが押された日を登録する 8 Email 保護者氏名 備考 以外の空白がある場合 未記入項目が有ります のメッセージを表示し登録は行わない 9 登録時点において利用者が未成年で保護者氏名が空白の場合には 保護者氏名を入力して下さい のメッセージを表示し登録は行わない 10 編集 ボタンをクリックした場合は 氏名 で検索する 11 検索データはインプットボックスを使い入力する 12 検索の結果 該当利用者がある場合は該当データを各項目に表示する 13 検索の結果 該当利用者がいない場合には 該当者無し のメッセージを表示する 14 編集終了後は 登録 ボタンのクリックによりデータを更新する 15 閉じる ボタンを配置してクリックされた場合はフォームを閉じる 16 登録データの削除は行わない 特記事項は備考に記述する 11
課題 8. 蔵書登録 編集機能を作成する 蔵書登録 編集機能では以下のことを行う 1 蔵書登録 編集機能 フォームを作成する 2 単票形式で表示する 3 新規 編集 登録 ボタンを配置する 4 新規 ボタンでは 蔵書コード 以外の項目を空白にし 該当データを記入後 登録 ボタンにより新規蔵書の登録を行う 5 蔵書コード の項目は編集ロックを掛ける 6 蔵書コード は最新の 蔵書コード の連番に1を加算したものを登録する 7 価格 キーワード 備考 著者 以外の空白がある場合には 未記入項目有り のメッセージを表示し登録は行わない 8 編集 ボタンをクリックした場合は 蔵書コード で検索する 9 検索データはインプットボックスを使い入力する 10 検索の結果 該当蔵書がある場合は該当データを各項目に表示する 11 検索の結果 該当蔵書が無い場合には 該当蔵書無し のメッセージを表示する 12 編集終了後は 登録 ボタンのクリックによりデータを更新する 13 閉じる ボタンを配置してクリックされた場合はフォームを閉じる 14 登録データの削除は行わない 特記事項は備考に記述する 12
課題 9. 貸出期限を超えている利用者一覧表のレポートを作成する 貸出期限を超えている利用者一覧表では以下のことを行う 1 貸出期限を超過している全ての利用者を抽出するクエリを作成する 2 上記クエリは 氏名 で並び替えをする ( 昇順 降順は問わない ) 3 上記クエリを基に 貸出期限超過一覧 のレポートを作成する 4 レポートは横印刷の一覧表形式で印刷する 5 レポートに印刷する項目は以下の通り 氏名 貸出コード 書名 貸出日 貸出期限 備考 6 督促期限を超過している全ての利用者を抽出するクエリを作成する 7 上記クエリを基に 督促期限超過 のレポートを作成する 8 レポートは横印刷の帳票形式とする 9 レポートに印刷する項目は以下の通り 氏名 貸出コード 蔵書コード ふりがな 電話番号 郵便番号 住所 保護者氏名 備考 10 督促期限超過 レポートは 貸出期限超過一覧 レポートのサブレポートとして 貸出期限超過一覧 レポートの各表示レコードの下に印刷する 11 メインフォームとリンクするフィールドの指定は 貸出コード でリンクし 貸出期限超過一覧 の各レコードに対し 督促期間超過 を表示する 13
図書館業務管理システムの DFD 図 利用者登録処理 利用者登録テーブル 返却督促処理 返却処理 図書館職員 利用者 貸出処理 貸出台帳テーブル 蔵書検索 蔵書管理テーブル 蔵書登録処理 仕様 公共の図書館なので貸出しは無料とする 貸出不可の蔵書は図書館内での閲覧だけとする 貸出許可の蔵書でも購入日より3ヶ月間は貸出不可とする 貸出しの手順は以下の通り 1 利用者は利用者登録をして利用者登録証を取得する ( 一度だけ実施 ) 2 借りたい書籍と利用者登録証を窓口に持参する 3 窓口職員は貸出台帳に貸出しを登録する 4 貸出しの登録は書籍に貼付してある蔵書コードと利用者登録証の利用者コードを貸出データとして登録する 貸出しは利用者登録した者についてのみ貸出す 利用者が登録時に未成年の場合には保護者氏名も登録する 貸出期限は申請日の翌日から 2 週間とする 貸出期限を超えてさらに2 週間後から督促の連絡をする 14