• 締切済み

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

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

みんなの回答

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

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

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

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

関連するQ&A

  • Access テーブル設計

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

  • アクセスのクエリ・リレーションの作り方について

    アクセスは初心者です。 今回顧客の保守、サポートに関するデータベースをアクセスで作ろうと考えています。 ■顧客リスト 会社名、部署名 それぞれ別々のコード番号があります。 ■業務名(訪問内容) 固有のコード番号があります。 ■毎月の訪問データ 担当者名・ID、訪問日、訪問先(会社名・部署名)、業務(訪問内容) 行先(訪問先) 会社名<部署名<業務(訪問内容)で分類し、いつ・どこに・何の業務で・誰が行ったか分かるようにしたいのですが、クエリ、リレーションはどうすればよろしいでしょうか? <例> ●マスターテーブル:(会社名、部署名、業務名(訪問内容)でtree構造になっています。) (フィールド1)(フィールド2)(フィールド3)(フィールド4) 株式会社A  総務課  点検    小泉10/10             修理    小泉10/6             調整              営業部   点検              修理    管10/15              調整    田中10/13        企画部   点検    田中10/6              修理              調整 ●訪問データテーブル: 小泉 10/6 株式会社A総務課・修理、 小泉 10/10 株式会社A総務課・点検 田中 10/6 株式会社A企画部・点検 田中 10/13 株式会社A営業部・調整 管  10/15 株式会社A営業部・修理 マスターテーブル(マスターテーブルを元にしたマスタークエリ)に新たにフィールド4をつくり、そこに訪問データテーブルとリレーションして、担当者・訪問日を入れたいのですが、どのようにしたらよろしいのでしょうか。

  • cakePHPでRDBMSを扱うには

    最近cakePHPとデータベースの勉強を始めました。 そこでリレーショナルデータベースを用いてテーブルを結合していく作業をcakePHPではどのように書けばよいのかわからないので具体的な例をあげていただけないでしょうか? よろしくお願いします。

    • 締切済み
    • PHP
  • 顧客管理で困ってます

    Access2000を使う初心者で、うまく質問できませんどうか読み取ってください。 自動車整備工場の顧客管理データベースを作ろうとしています。 一人の顧客が、複数台の自動車を所有している場合、テーブルの設計はどの様にするのがいいでしょうか? テーブルは、 顧客情報テーブル 作業履歴テーブル を用意すると思いますが、車輌情報テーブルはどの様にリレーションすればいいでしょうか? 最終目標は、顧客テーブルと作業記録テーブル・車輌テーブルをリレーションして、車両ごとの作業履歴と顧客ごとの売上管理をしたいのです。   どうかアドバイスをお願いします。

  • ACCESS2つのテーブルの情報を表形式Fにしたい

    中古車販売店です。 ・顧客テーブル・・お客様の情報 ・車両情報テーブル・・次回車検日と車名など 顧客IDでリレーションを設定しています。 車検を控えたお客さんにDM発送するため、 ダイアログボックスで指定した車検日(例:2011年3月)のお客さんを一覧表で表示したいと思っています。 いきなりフォームを作成しようとすると、どちらかがサブフォームという形になり、 思うような一覧表にできません。 表形式で、1名が1行に表示されるようなフォームを作成したいと考えています。 手順・方法をご教授ください。 よろしくお願いいたします。

  • ACCESSのクエリ内のテーブルが見えない

    今会社でデータベースの管理(というほどでもないが、データがきちんとアップデートされてきているかのチェック係)をやらなければならない立場に追い込まれているのですが、私コンピュータは大の苦手でデータベースを殆ど理解しておりません(リレーショナルの概念くらいは分かってます)。 状況は私のところがA、他にBという会社があって、データが他国Cから送られてきます。Cから生データをBに送り、Bで変換してAのサーバにアップし、Aで私が統計学的な解析を行っています。 うちのAにはLINUXにSYBASEを組み込んでサーバ筐体を構え、私が無線LANのPCでそこからACCESSを使ってデータを引っ張り出していました。もともと某社の技術者の方がそうセットしておいてくれたので、私はPC上のアクセスファイルをダブルクリックするだけでよかったのです。 ところが、最近になって、C国の入力が不十分であり、抜本的に内容を変えることになりました。B社で製作した各テーブルも姿を変えることになり、暫定版がアップされているはずなのですが、もともと存在していた”db1.mdb”ファイルからは見えません。オブジェクトの「クエリ」にのみ20種類くらいのテーブルがあり、それらをクリックすると ODBC--呼び出しが失敗しました。 [INTERSOLV][ODBC SQL Server driver][SQL Server]TABLE_001 not found. Specify owner.objectname or use sp_help to check whether the object exists (sp_help may produce lots of output). (#208) なるメッセージが出ます。これは、アクセス上で開きたいテーブルをサーバ内での名前に合わせて、そこにリンクするようにとアクセスファイルの各テーブルに対して設定しなおさなければならないのでしょうか。 冗長になって申し訳ありません。なんせドシロウトなものですから、教えてもらい方もままならないのです。どなたかお助け下さい・・・

  • 「マスタ」と「テーブル」の違いとはなんでしょうか?

    マスタとテーブルの違いについて教えてください。 DBにおける、 「マスタ」と「テーブル」の違いはなんなのでしょうか? 両方とも「テーブル」であるのにも関わらず、 どうしてある特定の「テーブル」には「マスタ」という別名が付けられているのでしょうか? [参考サイト様] ttp://homepage1.nifty.com/silabel/it/master_table.html 下記のような概念の認識、分け方で合っていますでしょうか? ■マスタ  ・DBを使用するに当たって、主体となるテーブルがマスターである。  ・主に他のテーブルに対して、登録・参照処理が行われた場合に、   マスタと位置づけされたDBがWhere条件に入る。  ・システム上で良く使用するDBである。  これらによって「マスタ」と付けられている。 ■テーブル  ・あるDB上の用途によって、ジャンル分けされたデータが格納された情報の箱。  ・リレーショナルデータベースでは二次元の表として扱われる。    テーブルとはDB上でデータを格納する為の箱である。     「マスタ」と「テーブル」の違いについて、このような認識、分け方で合っていますでしょうか?

  • リレーショナルデータベースにSQLを保存?

    コンピューターを使うには、データ(電子データ)が必要です。CPU、メモリー、グラフィックボード、チップセット、電源、ディスプレーなどが充実していても、データが空なら単なる鉄の塊で、飾るだけです。 データを保存するにはデータベースが必要と聞いた事があります。本当でしょうか?確かに、データベースにデータを保存する事が多そうですが、データベース以外にもデータの保存スペースがある気がします。私の記憶が確かなら、、キャッシュメモリーはデータベースの構成要素の一であり、キャッシュメモリーにデータがあればデータベースにデータがあるという事と聞いた気がする。 色々と記憶が曖昧で、混乱して、このように質問してます。 データベースにも色々ありますが、その王様はリレーショナルデータベースだとよく聞きます。リレーショナルデータベースは、ありとあらゆるデータを保存できて、何にでも活用できるそうです。本当でしょうか? 例えば、リレーショナルデータベースの操作にSQLが使われますが、このプログラム文をリレーショナルデータベースに保存しますでしょうか?私の認識だと、SQLはテキスト形式のSQLファイルで、マイドキュメントなどのフォルダーに保存します。 SQLの他、小説、写真、音声、ビデオ、3次元CADなども、リレーショナルデータベースに保存しますでしょうか? 私の認識だと、リレーショナルデータベースは表(2次元マトリクス)の集合です。表はセルで作られていて、行×列に配置しています。セル1つには、1行文字列、実数(整数と有限少数)、時刻、NULLだけが保存できます。これだと自由度や用途が狭く限られそうですが、セルを膨大に用意できて、これで幅広い自由度を得ます。 リレーショナルデータベースにも小説を保存できる。その方法は、小説を30字区切りで分割し、主キーを振ること。1つのセルに30字の文を保存し、その下に次の30字の文を保存し、これを終わりまで繰り返します。正しいでしょうか? リレーショナルデータベースにも写真を保存できる。先ず、赤表、青表、緑表の3つを用意する。各表のマトリクスサイズは膨大で写真のピクセルがセルに対応し、行×列に配置します。各セルには画素3原色の強度数(0~255だとgif形式だっけ?)を保存する。その後、赤青緑の3表を合成し、ビットマップで出力します。正しいでしょうか? リレーショナルデータベースは銀行でよく使われていて、お金の出入りや顧客管理でリレーショナルデータベースは大活躍しているそうです。だけど、本当はもっと用途が広い? フォルダファイルシステムとデータベースは別物と聞いた事があります。一方で、フォルダファイルシステムの基本はデータベースで、データベースに何かアプリを組み合わせてフォルダファイルシステムが形成されているとも聞いた事があります。どっちが正しいでしょう?どっちも間違い?

  • ピボットテーブル

    行に顧客名、列に契約月、交差する座標に領収日を入力するような駐車場の売上管理表をエクセルのピボットテーブルで作ろうとすると、領収日が日付でなく個数になってしまいます。何か良い方法は、ありませんか?宜しく願いします。

  • Accessで

    データベースを構築しようと今日から学習してます なんとなく形になってきましたが次のところで つまずいてます。 1、Accessで作ったテーブルをエクセル形式に   エクスポートして、それに変更を加えました   そのエクセルファイルをテーブルのリンク   で戻した場合また新たに「フォーム」をデザイン   しなおさないといけないのでしょうか?   苦労してつくったフォームなのでなんとか   流用したいのですが・・・・ 2、このデータベースがうまく稼動した場合   社内の有志で手分けしてエクセルにて   入力作業をおこないエクセルにインポート   したいのですができるでしょうか?   その場合人数分の「テーブル」を   つくらないといけませんか? 質問のが分かりにくいと思います。 何度でも補足します。初心者に力を貸して下さい よろしくお願いします