Microsoft Access 掲示板

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

9 コメント
views
1
りんご 2025/06/07 (土) 18:40:41 935bc@0e907

 G_IDは、従業員IDの事ですか?時点は、所属開始年月の事ですか?Jnoは、何を示しているのでしょう?特殊な暗号ですか?修正したほうが質問者も回答者もスムーズにやりとりできるでしょう。
 名簿0は従業員テーブルですか?名簿3は従業員所属テーブルですか?名簿3は他のテーブルを外部参照するの?それとも、他のテーブルから参照されるの?

通報 ...
  • 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を付与します。