• 締切済み

Access テーブル設計お願いします

架空のコンピュータ保守会社のデータベースを作るように課題を出されたのですが テーブル設計をどう作れば良いのか分かりません。 契約している顧客から出張作業を行うような会社のリレーショナル型データベースの管理システムを作りたいと思っています。 主に点検、修理、整備、移設・・・などの作業をしていく形で 訪問、保守履歴を記録できるようにし、契約者の検索や、請求書発行、作業予定表の表示などができるようにしたいです。 どのようなテーブルが必要になってくるのか教えてください。 具体的に○○表(○○○、○○○、○○○、○○○)という形でお願いします。

みんなの回答

  • layy
  • ベストアンサー率23% (292/1222)
回答No.2

>どのようなテーブルが必要になってくるのか教えてください。 >具体的に○○表(○○○、○○○、○○○、○○○)という形でお願いします。 仕組みで必要となるだろう要素やキーワード(○○○、○○○、○○○、○○○)を とにかく洗い出してみてください。 その中で同じ分類のものは1つのテーブルに分けていきます。 契約している顧客→だれが、だれにどんな、契約名、いつから・・・ 出張作業→だれがどこにいつ、どんな要件で・・・・ 各テーブルにまとまってきたらリレーションも考えます。 会社:その所属社員=1:n とか。 「どのようなテーブルが必要になってくるか」 の前にまずどんな項目が存在するのか、になってきます。

  • xKENx
  • ベストアンサー率65% (21/32)
回答No.1

いろいろ手法はあると思いますが、やりたい事(アウトプット)から作るのが取り掛かりやすいと思います。 質問内容に書いてある内容をシステムではなく、手書きで作業しようと考えた場合、「訪問・保守カード」を作って顧客名や作業予定日、作業種類、金額を記入していけば要件を満たせそうです。 ・契約者を検索 →「訪問・保守カード」をめくっていけば探せる ・請求書発行 →作業完了印、請求書済印など押しておけばもれなくできそう ・作業予定表 →未作業のものを日付順に並べれば作成できそう ただし、顧客データは別に管理するのが普通でしょうから、下記が最小構成かと思います。 ・顧客マスタ(顧客名、連絡先、請求方法等) ・作業テーブル(顧客マスタのキー、作業予定日、作業実績日、作業種類、金額) どういった課題かわかりませんが、あとは実際のアプリケーションなら細かい要件に合わせて、関連するマスタやテーブルをリレーションし、正規化すると思います。 リレーション例) ・作業依頼1件に対して複数の作業が発生する →作業明細テーブルを作成し、作業テーブルとリレーション 正規化例) ・点検/修理/整備/移設などの作業種類を別テーブルにする

関連するQ&A