アプリ版:「スタンプのみでお礼する」機能のリリースについて

初歩的な質問になってしまって申し訳ないのですが、テーブルを作成するさい正規化をするかと思います。

通常のDBの作成を考えた場合、商品名のテーブルを別に作りそれを利用する形になるかと思うのですが、
商品はすでに決まっており増えることが今後無く、数品目に固定されております。

こういった場合、フィールド項目を商品名にするのは不味いのでしょうか?
利点としては、項目がフィールドとして固定されていると、
原稿どおりに入力フォームを作成することが可能になるので入力が楽になりますし、入力ミスが減るかと思います。

しかし、欠点として、ユニオンクエリを作成しておかなければクエリを作成する際にクエリ数が多くなると考えられます。
(同じ抽出条件を指定する場合など)

最終的には円グラフ、棒グラフを各商品ごとに作成したり、データごとの一つの表(売上伝票のようなもの)を作成するのですが、
最終結果を考えると、エクセル、ワードを使用しなければなりません。
本のような印刷物にすることを考えているので、操作面から考えてエクセルで最終的なものを作成しようと考えています。

仮にエクセルのグラフ機能、ワードの差込印刷をしようするとして、
そうした場合、商品項目事にフィールドを並び替えなくてはいけなくなります。
クロス集計クエリをすれば可能かと思いますが、処理に若干時間がかかることが考えられます。

これらのことから考えて、商品項目をフィールドごとに作成しようかと考えているのですが、
何か問題になるようなことはあるでしょうか?

A 回答 (3件)

>こういった場合、フィールド項目を商品名にするのは不味いのでしょうか?


フィールド名を商品名にするということ?

>しかし、欠点として、ユニオンクエリを作成しておかなければクエリを作成する際にクエリ数>が多くなると考えられます。
>(同じ抽出条件を指定する場合など)
難しい文章だけどユニオンクエリで正規化された形のものに変形してから
抽出を行うという意味ですか?

だったらこれは想定される問題点のひとつに過ぎません
同様の問題が次々と出てくるでしょうね(例えば集計)

この回答への補足

>フィールド名を商品名にするということ?
仰るとおりです。

商品テーブル
商品ID_商品名
1_○○

というテーブルを作るのではなくフィールドを商品名にするということです。

>難しい文章だけどユニオンクエリで正規化された形のものに変形してから抽出を行うという意味ですか?
そのとおりです。

テーブルではなく正規化されたユニオンクエリを集計する相手として利用すればよさそうですが、
スムーズに作成することを考えるとやめたほうがよさそうですね。

補足日時:2008/06/18 09:41
    • good
    • 0

難しい表現で何を聞いているのかわかり難い。


ーー
システムを通して
(1)商品名の漢字カナで入力するか
(2)商品コードで入力するか(商品名の漢字カナをシステムで導出するのは難しくない)
のどちらを採るべきかの問題を、聞いているのでは無いですか。
ーー
悩ましい点だがやはり商品コードをメインとして、システムを作るべきでは。
昔は商品名ーコードの対応コードブックを人が引いて、伝票にコードを書き込む
とか
コード数字入りの商品名のゴム判を伝票に押す
とかなどしたものだ。
今後はバーコード利用などに進むべきなのかなと思う。
伝票入力時には、カナ2ー3文字で候補商品名が出て、選択すると
コード+商品名がシステムに入力されるようなインプットシステムを
作るべきと思う。そちらに力を入れるべきで、毎回商品名を入力するのは煩に耐えないでしょう。
処理キーと言う点からもコードでしょう。
毎回コード=商品名のファイルをクエリでキッカケ無いといけないが
入力が楽かどうかがシステムを大きく左右します。

この回答への補足

商品コードを使うか、商品名を直接利用するかという問題ではなく
フィールドを商品名とするという考え方です。

要するにフィールドを商品名にしてその中に数値を入力するということです。考え方としてはエクセル方式です。

テーブル
トマトフィールド_ナスフィールド_・・・
10%←これが比率や価格
15%




なぜこのような考え方をしたかといいますと、質問内容に書いたとおりです。
(入力フォームやワード、エクセルを使う関係上)

現在作成中のDBは集計する内容についてはすでに決まっているので
それらを検証していけば、問題があるかないか分かりそうですが、無難に作るためにはやめたほうがよさそうですね。

補足日時:2008/06/18 10:08
    • good
    • 0

難解な文章ですがやっと理解。



結論から言うと、やはり分けたほうがいいと思います。
品目で並べたいならクロス集計機能を使ったほうが便利かも
逆に品目別月別集計なども使えますから。

この回答への補足

>クロス集計クエリをすれば可能かと思いますが、処理に若干時間がかかることが考えられます。

質問文に書いたとおりなのですが、クロス集計クエリを利用して並びを変え、必要項目をまとめたクエリを作成すると
ファイルを開くのに10分程度かかってしまうのが難点ですね。

このことから集計などに関係なくDBとして問題が出ないような項目、備考欄などはわざと 備考1、備考2、備考3とフィールドを分けています。

補足日時:2008/06/18 09:45
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!