- PR -

SQLサーバーのテーブル設計について

投稿者投稿内容
Beatle
ぬし
会議室デビュー日: 2003/06/09
投稿数: 394
投稿日時: 2004-10-13 11:08
引用:

未記入さんの書き込み (2004-10-13 09:31) より:

まず、テーブルが正規化されていません。常識的に正規化するなら、日別事業所別売上テーブル (売上年月日, 事業所CD, 売上金額) となるはずです。

この正規化されたテーブルを使用したとしても、当月累計(区分=1)は、高々31件の集約ですし、区分=2(その他)というのも一般的な利用ケースを考えると、その他すべてではなくて当年累計なんじゃないですか? であれば区分=2(当年累計)も高々365件の集約になりますよね。この程度の集約であれば、リアルタイムで集計しても問題ないと私なら判断します。




ちょっと違うような...
多分、b−maxさんは、
 PKEY 売上年月日
 PKEY 事業所CD
 PKEY 区分
と書かれていますが意味的には、
 PKEY (売上年月日、事業所CD、区分)
の事でしょうから、年間のMAX件数は365日×事業所数×区分数3ですね。
ですから、事業所が5箇所か、1000箇所か等で結構件数的には差が出ます。

>別テーブルの方がいいのかなぁーと悩んでおります。区分1or2にも、年月をセットする
>必要があるのもちょっと?と考えてます。(業務上、必要ありません)

これもちょっと理解できない部分があります。
「売上日とは異なる年月になっているものの集計だけが必要」というのは実際には
どんな時なんでしょう。売上月で締めた後、赤黒なり補正する値だけを出して差額処理
でもするのでしょうか。まぁこの辺は業務仕様なので関係無いのですが...

で、本題の年月の項目ですが...
まぁ、現状があるわけですから、できるだけ変更箇所を少なくするというのも必要な事
ですが、あえてそれを無視することとして。

「年月」という項目よりも「年月日」(計上年月日)という項目を追加してはいかがで
しょうか。
そうすると、そもそも区分なんて項目は不要になりますよね。
 区分0 ⇒ 売上年月日=計上年月日
 区分1 ⇒ 売上年月日の年月=計上年月日の年月
 区分2 ⇒ 売上年月日の年月≠計上年月日の年月
という判断です。まぁこの場合、区分0:当日と区分1:当月の違いが必要か?という
こともありますが。

「入力上日付を入力するより、区分の方が楽」ということもありますがそのあたりは
デフォルト表示するとか工夫すればそう面倒でも無いようにできると思いますが...

というような事がまず考えられる事で、ここから先、別テーブルにするかどうかに
ついては、ここで知り得る情報だけでは、「必要無い」としか言えないですね。
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2004-10-13 11:42
引用:

 PKEY (売上年月日、事業所CD、区分)
の事でしょうから、年間のMAX件数は365日×事業所数×区分数3ですね。
ですから、事業所が5箇所か、1000箇所か等で結構件数的には差が出ます。


いえ、事業所の数は 日別事業所別を月別事業所別, 年別事業所別へ集約するときの集約率には影響しません。
はにまる
ぬし
会議室デビュー日: 2003/12/19
投稿数: 969
お住まい・勤務地: 誤字脱字の国
投稿日時: 2004-10-13 11:54
引用:

b-maxさんの書き込み (2004-10-13 00:52) より:
投稿させていただいた内容は、テーブルを分ける、分けないのどちらでも
対応が可能です。


であれば、サイコロを振って奇数ならば「分ける」偶数ならば「分け無い」でOKです。
もし、フザケルな!と思われたならば、その理由を列挙して下さい。

その理由が、現時点のレベルでのb-maxさんが本当に伺いたい具体的な事でしょう。
もしかすると、何がワカナイのか判らない、何を知りたいのか自分でも判らない
なんて結果になるかも知れません。
# それを認識しただけでも、儲けモノです。

引用:

双方にメリット/デメリットがあるかと思い


仰る通りメリット/デメリットはありますが、
何事もメリット/デメリットは環境や状態、それを判断する人の立場により変わるモノです。
つまり環境や状態となる前提条件が提示出来ていない事が、
当スレッドにてb-maxさんが希望の内容の返答がされない大きな1つの理由であり、
また「設計」を勘違いされている理由でもあると思います。

スキルアップ/キャリアアップ(JOB@IT)