- 締切済み
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つの部署が関わっていますが取引先会社には社内情報を記載できません。 テーブルの正規化について素人でも理解しやすい書籍かホームページがあれば教えてください。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
取引先会社名と取引先支店名を主キーにした場合は 取引先会社名+取引先支店名が同じでなければ大丈夫です AA銀行 AA支店 AA銀行 BB支店 BB銀行 AA支店 上記三つのデータは共存できます
possiblyさんが何を問題としているのか良く理解できませんが。 取引先T 取引先ID 主キー 取引先名 取引先住所 こうすると同じ会社名で本支店が作れないですよね。 この場合、色々な解決方法があるでしょうが一例として 取引先T 取引先ID 取引先会社名 取引先支店名 取引先住所 とすればよいのでは? 取引先会社名と取引先支店名にまたがって主キーを設定すれば、重複して登録されるミスを防ぐことができます。取引先IDはオートナンバーが適当でしょう。 さらに営業担当者テーブルや管理部担当者テーブル、請求書テーブルを作れば良いでしょう。請求書に複数の項目が入るならば、請求項目テーブルも必要でしょう。
- CHRONOS_0
- ベストアンサー率54% (457/838)
>テーブルの正規化について素人でも理解しやすい書籍かホームページ 本のほうが系統立てて学べるのでいいと思いますが これ一冊を読めば理解できるというようなものはないでしょうね 正規化を詳しく学びたければAccessを離れて、 データベース設計とかデータモデリングの本のほうがいいかも これなんかどうかな、 基礎からのデータベース設計 http://books-support.softbank.co.jp/isbn/2129/
お礼
ありがとうございました。
お礼
もっと勉強してみます。また、教えてください。ありがとうございました。
補足
アドバイスをありがとうございます。初歩的な質問かもしれませんが、取引先会社名と取引先支店名を主キーにした場合、取引先会社名は重複する会社名を入力できませんよね?会社名は同じで支店名別に入力したい場合は、別のテーブルを作らないといけないのでしょうか?