Microsoft Access 掲示板

PostgreSQL、ODBCリンクテーブルの内部結合をした抽出 / 2

9 コメント
views
2
はづき 2025/06/07 (土) 19:22:59 修正 69f3e@da8eb >> 1

りんごさん、ありがとうございます。
説明不足でしたので補足します。

G_IDは雇用元(本籍)の従業員IDです、Jnoは出向(兼務)している会社毎に付与されるIDです。
つまり、出向元JnoをG_IDとして、出向した場合に、出向先会社毎にJnoを付与します。
G_ID:111 A社本籍 Jno:111
G_ID:111 B社出向 Jno:112
G_ID:111 C社出向 Jno:113

社員0は社員の属性管理
(G_ID:111、生年月日:2000/1/3、性別:男性、現住所:台東区浅草1-1-1)
社員1はG_IDとJnoの組み合わせ管理(出向先管理)
(G_ID:111、Jno:111
 G_ID:111、Jno:112
 G_ID:111、Jno:113)
社員2は、出向先の所属管理
(jno:111、会社:A社、部門:総務
 jno:112、会社:B社、部門:人事総務
 jno:113、会社:C社、部門:人事)

以上、よろしくお願いいたします。

通報 ...
  • 3
    はづき 2025/06/07 (土) 19:27:09 69f3e@da8eb >> 2

    名簿0のG_ID(主キー)と名簿1のG_ID(主キー、かつ、外部キー)が内部結合、
    名簿1のJno(主キー)と名簿2のJno(外部キー)が内部結合
    しています

  • 4
    りんご 2025/06/07 (土) 21:18:27 935bc@0e907 >> 2

    >2
    >3
     これを記載通りに読むと次のようになります。社員テーブル、会社部門テーブル、社員会社部門テーブルで、会社部門テーブルの主キーはautoNoではなくJnoです。そして、ほとんどの場合出向元Jno=G_IDになり得ません。
     主キーの変更、リレーションシップの設定からやり直しが必要になるので、急がば回れ、まずはきちんと土台から正規化するのはどうでしょう。

  • 7
    はづき 2025/06/09 (月) 07:55:28 69f3e@da8eb >> 2

    繰り返しになりますが、こいう運用をしているのです。

    G_IDは雇用元(本籍)の従業員IDです、Jnoは出向(兼務)している会社毎に付与されるIDです。
    つまり、出向元JnoをG_IDとして、出向した場合に、出向先会社毎にJnoを付与します。