【より良い】データモデリング【モデルを】 (543レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
478: 2007/11/19(月)21:31 ID:YgXjo0NC(1/2)調 AAS
次のケースの一般的なデータモデルをご教授ください。
長文で申し訳ありませんが宜しくお願いします。

<前提条件>
製造業向けの部品加工を想定(在庫関連の処理は無し)
製品・部品・工程・実績の4つのエンティティがあるとして、、、

製品 … 製品というよりは製造指示Noのようなもの
部品 … 製品を構成する部品です。(※一般的なBOMのような親品目,子品目を再帰で保持するような複雑な構造ではない)
工程 … 部品を加工するための加工工程手順です。(手順1:旋盤, 手順2:マシニング...)
実績 … 加工工程に対する実績(労務費、労務時間)

4つのエンティティの関連は次のような階層構造を考えています。
(※この考え方がおかしい場合はご指摘ください)

 製品 → 部品 → 工程 → 実績
(1:n) (1:n) (1:n)

部品には材料や購入品といった部品区分があり、データ属性が異なるため、
部品をスーパータイプ、材料・購入品をサブタイプで持たせようと思っています。
 製品 → +部品(部品id(PK), 部品区分...) → 工程 → 実績

+材料(部品id(PK), 仕入先cd(FK), 寸法...)
  +購入品(部品id(PK), 仕入先cd(FK), 購入品品番(FK)...)

*** 質問1***
各エンティティの主キー(PK)をどのように設けるのが一般的なのでしょうか?
上記のようなデータ構造の場合の一般的な主キーの設け方をご教授ください。
今考えているのが?と?の方法です。

?各エンティティに単独の主キー(PK)を設けて、親への参照キー(FK)をそれぞれ持たせる。
製品: 製品id(PK), 製造指示No, 型番...
部品: 部品id(PK), 製品id(FK), 部品区分, 部品cd, 部品数...
材料: 部品id(PK), 製品id(FK), 仕入先cd(FK), 寸法...
購入品: 部品id(PK), 製品id(FK), 仕入先cd(FK), 購入品品番(FK)...
工程: 工程id(PK), 製品id(FK), 部品id(FK), 工程cd, 工程手順No, 標準時間, 数量...
実績: 実績id(PK), 製品id(FK), 部品id(FK), 工程id(FK), 加工状況flg, 数量, 作業者cd, 機械cd, 着手日, 労務費, 労務時間...

?各エンティティの主キー(PK)を複合キーで持たせる。
製品: {製品id}(PK), 製造指示No, 型番...
部品: {製品id, 部品id}(PK), 部品区分, 部品cd, 部品数...
材料: {製品id, 部品id}(PK), 仕入先cd(FK), 寸法...
購入品: {製品id, 部品id}(PK), 仕入先cd(FK), 購入品品番(FK)...
工程: {製品id, 部品id, 工程id}(PK), 工程cd, 工程手順No, 標準時間, 数量...
実績: {製品id, 部品id, 工程id, 実績id}(PK), 加工状況flg, 数量, 作業者cd, 機械cd, 着手日, 労務費, 労務時間...

そもそも考え方がおかしい場合はご指摘ください。
479: 2007/11/19(月)21:32 ID:YgXjo0NC(2/2)調 AAS
続きです。
*** 質問2***
次の原価をリアルタイムで把握したい場合には原価データをどのように保持するのが一般的なのでしょうか?
(※ここでは外注費は無いもとする)

 1.製品別原価(製品別の材料費計+購入品費計+労務費計)
 2.部品別原価(部品別の材料費計+購入品費計+労務費計)
 3.工程別原価(工程別の労務費計)

考えているのは次のとおりです。

?製品エンティティに"材料費計", "購入品費計", "労務費計"のデータ項目を持たせる。
?部品のスーパータイプエンティティに"材料費計", "購入品費計", "労務費計" のデータ項目を持たせる。
?工程エンティティに"労務費計"のデータ項目を持たせる。

各計データの更新はトリガーやストアドにて行う

そもそも考え方がおかしい場合はご指摘ください。
以上、宜しくお願いします。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.022s