【より良い】データモデリング【モデルを】 (542レス)
1-

333: 2005/08/28(日)15:30 ID:??? AAS
>>329
DWHは書籍とかネットとかの情報は少ないよ。

というかね、そもそもモデリングとか正規化とか無縁の世界。
どういう切り口でデータを分析するかが目的だから、
正規化とかを ”しない” のが普通。
どうすれば必要なデータをだせるのかを最優先に考え、
その為ならば、データベースの構造がどうであってもOK。

だから、通常は業務でデータを蓄積してる、ちゃんとモデリングや正規化されたDBとは別に
DWH用のDBを別に構築して、そこへ必要なデータを夜間バッチとかで流し込む。
334: 2005/08/29(月)17:39 ID:??? AAS
>>329
M$のSQL鯖に付いてる。
使ってみると分かるとおもうし、
MSDNにも資料落ちてるんじゃないかな。

要は、どんな分析をしたいのかをある程度
見極めとくことだと思う。
335
(2): 2005/09/01(木)22:49 ID:3lCOPcx7(1) AAS
アドバイスお願いします。

現在、商品のテーブルに商品区分のフィールドがあります。
商品区分が'1'の時、計算で使用する項目は標準単価のみ(数量x標準単価=金額)。
商品区分が'2'の時、計算で使用する項目は重量、重量当りの単価。(数量x重量x重量当りの単価=金額)
商品区分が'3'の時、計算で使用する項目は縦、横、奥行、サイズ当りの単価。(縦x横x奥行xサイズ当りの単価=金額)
このような時、商品のテーブルには標準単価、重量、重量当りの単価、縦、横、奥行、サイズ当りの単価のフィールドを設けるべきでしょうか?
それとも商品区分毎に各テーブルを設けるべきでしょうか?

このシステムの前担当者は商品テーブルに全てのフィールドを設けているようですが、
ちょっとひっかかるところがあって、質問しました。

以上よろしくおねがいします。
336
(1): 2005/09/02(金)04:00 ID:??? AAS
なぜ2に数量があって3には無いんです?

標準単価は例外なく全ての商品に入りません?
商品テーブルに単位(1:個 2:kg 3:cm^3 など)が入ってれば・・・

重量 2kg と 5kg 、あるいはサイズ 1m×2m×0.4m と 0.2mm×0.5m×0.05m とで、
商品名(商品コード)は同じですか?異なるんですか?
重量やサイズは注文ごとに計量加工して出荷するんですか?定重量・定サイズのもので在庫してるんですか?

その辺の業態の違いで変わってくるように思いますが…
337
(2): 2005/09/02(金)05:25 ID:??? AAS
>>336
>なぜ2に数量があって3には無いんです?
申し訳ありません。私のミスです。
仰るとおり3は数量x縦x横x奥行xサイズ当りの単価=金額となります。

>標準単価は例外なく全ての商品に入りません?
この点なのですが、各商品区分によって標準単価の少数以下の有効桁数が微妙に違うのです。
例えば1の時は少数以下無し、2の時は少数第二位等・・・。
汎用性を考えFloatやDouble等で定義すれば解決なのですが、
仕様通りの型に何とか当てはめれないかと悩んでおります。

>重量 2kg と 5kg 、あるいはサイズ 1m×2m×0.4m と 0.2mm×0.5m×0.05m とで、
省14
338
(1): 2005/09/02(金)08:11 ID:??? AAS
>>337
数量もCurrencyで問題ないかと思いますが・・・
浮動小数点じゃ誤差が出てしまうのではないかと
339
(1): 2005/09/02(金)16:12 ID:??? AAS
>>338
>数量もCurrencyで問題ないかと思いますが・・・
>浮動小数点じゃ誤差が出てしまうのではないかと
商品のテーブルには数量は含めない予定です。
数量はあくまで伝票入力時に入力するものとし、標準では常に1とするからです。

>>335
>このような時、商品のテーブルには標準単価、重量、重量当りの単価、縦、横、奥行、サイズ当りの単価のフィールドを設けるべきでしょうか?
>それとも商品区分毎に各テーブルを設けるべきでしょうか?
この点はどのように考えると良いのでしょうか?
設計1
省24
340: 2005/09/02(金)21:53 ID:??? AAS
だれが数量を商品マスタに入れようと思うかよ
複数の重量にしてもそんなこと聞いてないと思うが
341: 2005/09/03(土)02:22 ID:??? AAS
>>337
> 汎用性を考えFloatやDouble等で定義すれば解決
> 重量に関しては、2kg,5kg等というような複数の重量は無いとのことです
>>339
> 商品のテーブルには数量は含めない予定です。
> 数量はあくまで伝票入力時に入力するものとし、標準では常に1とするからです
342: 2005/09/03(土)02:26 ID:??? AAS
 重量
 縦
 横
 奥行

って数量ですよ?
お客さんから寸法や重量を指定されるたびに商品を追加するとか?
343: 2005/09/03(土)02:47 ID:??? AAS
洗剤10kgタンクを10本
洗剤500gビンを200本
洗剤50kg特大タンクを2個
コレが同じ値段。
じゃあ重量73gと指定して1370本下さいと言ったら
計量してビンに入れて同じ値段で売ってくれる?

アクリル板 500×200×0.2
アクリル板 400×125×0.4
アクリル板 1000×400×0.05
コレも同じ値段。
省5
344
(3): 2005/09/04(日)04:09 ID:hkkDWCwF(1) AAS
>>335
これはRDBMS(ER図)の限界として、とてもよく出てくる典型的な問題ではないかな?
商品をオブジェクトとして保存できるのであれば、
商品基礎クラスを継承した3つの商品クラスを別途用意してしまえばいい。

でも、RDB使ってるなら当然そんなことは出来ないので、解決策としては
(1)1つの商品テーブルを作って、そこに全部の項目を用意する
(2)3つの商品テーブルを別に作る
のどちらかを採用することになる。

これらはどっちが正しいということは無くて、状況に応じて使い分ける。
テーブルを分けると後で検索にjoinを多用しないといけなくなるので、
省1
345: 2005/09/04(日)18:53 ID:??? AAS
>>344
自分は商品基礎情報テーブルと個別商品テーブル×3を作ることが多いけど。
346
(1): 2005/09/04(日)19:13 ID:??? AAS
>>344
10個くらいが境界かな。
さすがにsubclass tableを100個tableを作る気はしない。

ちなみに(1)は正規化違反なんだっけ?
347: [0] 2005/09/05(月)08:51 ID:??? AAS
ORACLE Designer vs ERwin
比較したメリットデメリットをあげてください。
使用するデータベースはOracle 10g
348: 2005/09/05(月)11:23 ID:Kv8Ouo/7(1) AAS
両方使い込んでる奴なんて居ない。
349
(1): 2005/09/05(月)12:03 ID:??? AAS
>>344
この問題、そもそもの現実のものを、どのように扱ってるかが主眼だと思う。
その3つの商品群が混在して扱われているのであれば、テーブルは1つ。
部署違いでまったく別の群をたまたま同じように扱っているのであればテーブル3つ。
データベースってのはあくまで現実の記録だから、そこを主眼にすることは大事だと思う。

で、システム上の扱いで1つにまとまってたり3つに割れてたりして困るならば、そこはViewでカバーする。
1つのテーブルをあるコードで3つそれぞれに分けて表示したり、逆に結合したり。

あと、理想論・原則論からいけば、NULLフィールドやダミー値のフィールドを設けるのは良くない。
同一テーブルでどっかのフラグがこれなら、このフィールドは何とか。
なので、本来は3テーブル分割でまとめてみるViewを提供でよいと思う。
350: 2005/09/05(月)20:57 ID:??? AAS
>>349
>>346も言ってるが、もし3個でなくて100個だったら?
351: 2005/09/05(月)21:27 ID:??? AAS
商品マスタ・部品マスタはあくまで一元化しないとヤバいとおもうが…
縦横高さなんて仕様情報を、基本マスタに、要素ごとに列を与えて載せるべきなのか?
352: 2005/09/05(月)23:22 ID:??? AAS
DB設計の場合、パフォーマンス用件がどうしたって重要になってくるからね。
多少汚くても一個のテーブルで収まってくれると嬉しい
1-
あと 190 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 2.172s*