ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

Re: 外部リンクデータで範囲絞り、インデックスの有無、速度について

このトピックの投稿一覧へ

なし Re: 外部リンクデータで範囲絞り、インデックスの有無、速度について

msg# 1.3
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2016-10-13 20:22 | 最終変更
nkmt  長老   投稿数: 1668
fjksudou様、pu様、レスありがとうございます。
感謝します。

Puさんの正規化を重視する・・・・という部分をお教えください。

Btrieve時代の名残で、売上伝票鑑の項目
「売上日、得意先コード、営業所コード、営業担当コード」などを
売上明細データにも 重複して 保持する事がよく有ります。

これは正規化に反する、データの容量が無駄に大きくなりSQLの利点を殺しているといった事なのでしょうか?

正規化を突き詰めていない私です。

売上伝票データ と
売上明細データ で項目の重複をしないようにしたとした場合


売上明細の商品コード別に売上金額を集計し、
外部リンクで売上伝票を読み、絞込みは売上伝票データの売上日でインデックスがあれば
売上伝票の売上日での絞込みといった事もSQLは得意であるという事なのでしょうか。

正規化の例では、売上伝票と売上明細の事で書きましたが
今回の悩み事は、10万件の商品マスタがあり、
営業所毎に主仕入先が異なる以下の件です。

商品マスタは、商品コードでインデックスを用意。

商品別営業所別 主仕入先情報は
 商品コード+営業所コードで主インデックスを用意しつつ
 主仕入先コードで 重複可 のインデックスも用意。

10万件の商品マスタを一覧表示するマスタメンテナンスPG
で商品別営業所別 主仕入先情報を外部リンクし、
主仕入先コードで 範囲絞り を行う。

全商品 全営業所 に 主仕入先が登録されていれば
10万件×営業所数分だけのレコードが有りますが、実際には
一部の商品、一部の営業所にだけ 主仕入先が登録されている
といった具合です。

主仕入先で絞りたいのであれば、
商品マスタをメインソースにせずに
商品別営業所別 主仕入先情報をメインソースにした
タスクを別途用意した方がベターなのですかね?

仕入先によっては、10万件の商品のうち50商品しか登録がない
といった事も有るかもしれませんので、見付けにいく量が
圧倒的に違うと思いまして。

Magicの普通の作りでは全然作りの異なるデータで
メインソースの切替は不可能ですが、SQLコマンドにすれば
それも可能なので、速度面も活かしつつ、タスクも分けずに
一つで済み、かつ速度面も問題ない利点も有るのでしょうね。



指定した仕入先で商品登録がない時などに時間がかかるような
気がするので、検索へ行く前の仕入先コードを指定した時点で
商品別営業所別 主仕入先情報を照会リンクして
登録がない場合には、商品表示タスクへ
突入しないようにしたいと思います。

正規化を突き詰めていき、外部リンクや
場合によってはSQLコマンドを多用すれば速度面も
問題ないのかもしれないなという事なのかな、と想像しつつ
この件、継続して実験していきたいと思います。
投票数:0 平均点:0.00

投稿ツリー

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約