こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Access正規化の方法を教えてください。

会社で請求書をExcel(1枚の請求に1BookのExcelデータを持ちます。)で作っています。毎月、固定で請求(150件位)とスポット(30件位)で請求する場合があります。1枚の請求書の中には営業担当者別、部門(当社管理向け)が一緒になって請求するので集計用として別にExcelデータを営業担当者別、部門別に入力し直しています。請求書を発行れば、営業担当者、部門別に集計また簡単に検索できるようにしたいと思っています。Accessの操作方法は大体?分かりましたが、テーブルが作れません。本を見るとテーブルを作るのには正規化が必要になってくると記載してありますがどうも理解できずテーブルが作れません。今、困っているのは、取引先を本支店別に請求書を分けるということ、営業担当者別、部門別に分けられるようなテーブルの作り方です。まだありますが。

このようなテーブル
111 ○○○会社 本店
111 ○○○会社 △支店
111 ○○○会社 □支店
112 △△△会社 本店
112 △△△会社 ○支店

取引先T
 取引先ID 主キー
 取引先名
 取引先住所
こうすると同じ会社名で本支店が作れないですよね。

請求書
○○作業 一式 100,000
△△作業 一式 150,000
合計      250,000円
この請求には2人の営業担当者と2つの部署が関わっていますが取引先会社には社内情報を記載できません。

テーブルの正規化について素人でも理解しやすい書籍かホームページがあれば教えてください。

投稿日時 - 2007-03-11 18:06:49

QNo.2823766

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

取引先会社名と取引先支店名を主キーにした場合は
取引先会社名+取引先支店名が同じでなければ大丈夫です

AA銀行 AA支店
AA銀行 BB支店
BB銀行 AA支店

上記三つのデータは共存できます

投稿日時 - 2007-03-13 18:01:58

possiblyさんが何を問題としているのか良く理解できませんが。

取引先T
 取引先ID 主キー
 取引先名
 取引先住所
こうすると同じ会社名で本支店が作れないですよね。

この場合、色々な解決方法があるでしょうが一例として
取引先T
 取引先ID
 取引先会社名
 取引先支店名
 取引先住所
とすればよいのでは? 取引先会社名と取引先支店名にまたがって主キーを設定すれば、重複して登録されるミスを防ぐことができます。取引先IDはオートナンバーが適当でしょう。
さらに営業担当者テーブルや管理部担当者テーブル、請求書テーブルを作れば良いでしょう。請求書に複数の項目が入るならば、請求項目テーブルも必要でしょう。

投稿日時 - 2007-03-11 20:44:16

補足

アドバイスをありがとうございます。初歩的な質問かもしれませんが、取引先会社名と取引先支店名を主キーにした場合、取引先会社名は重複する会社名を入力できませんよね?会社名は同じで支店名別に入力したい場合は、別のテーブルを作らないといけないのでしょうか?

投稿日時 - 2007-03-12 23:48:23

お礼

もっと勉強してみます。また、教えてください。ありがとうございました。

投稿日時 - 2007-03-13 21:41:22

ANo.1

>テーブルの正規化について素人でも理解しやすい書籍かホームページ
本のほうが系統立てて学べるのでいいと思いますが
これ一冊を読めば理解できるというようなものはないでしょうね

正規化を詳しく学びたければAccessを離れて、
データベース設計とかデータモデリングの本のほうがいいかも

これなんかどうかな、
基礎からのデータベース設計
http://books-support.softbank.co.jp/isbn/2129/

投稿日時 - 2007-03-11 20:20:18

お礼

ありがとうございました。

投稿日時 - 2007-03-12 23:51:16

あなたにオススメの質問