web-dev-qa-db-ja.com

三元関係をどのように解釈するのですか?

これらの三者関係を解釈する方法をオンラインで検索しようとしましたが、明確な答えは見つかりませんでした。解釈の仕方が分からないので、リレーション化にも困っています。このような例では:

enter image description here

これをどのように正確に解釈しますか?例えば:

EmployeeエンティティからWorks_in3に入る矢印のある線は、DepartmentsエンティティまたはLocationsエンティティを指しているか?それでは、従業員が1つの部門でしか作業できないということですか、それとも従業員が1つの場所でしか作業できないということですか、それとも両方を意味するのですか?

2
CapturedTree

これは、ある時点からある場所の部署で従業員が働いているように見えます。ダイアグラムのタイプをERDとして認識していないため、それらがどのようなタイプの関係であるかはわかりませんが、1対多であることを期待しています。つまり、works_in3テーブルは、従業員と部門の多対多の関係を容易にするリンクテーブルです。場所については、これは従業員がこの部門で働いていた場所であると予想します。これは、多対多の関係を表します。1つの場所で、部門に対して多くの役割を実行する多くの従業員を収容できるためです。しかし、それは私の意見です。

1
Steve

あなたのイメージを見て、私は以下を解釈します:

まず、あなたの質問に答えるために、矢印はworks_in3テーブルのみを指している必要があります。部門テーブルを指している場合は、問題を回避する必要があります。

テーブルとフィールドの関係:

従業員テーブル:ssn-名前-ロット間の1対1の関係(このフィールドが実際に何であるかはわかりません。)キーフィールドはssnのようです。

Works-in3-従業員の識別子(おそらくssn)とそれ以降(1か所に部門名または部門番号があると推測)の1対多の関係。

場所:works-in3(多くの場所)と場所テーブル(1つの住所、各場所に1つの容量)の間の1対多の関係。住所はキーフィールド(?)-住所は適切なキーではないため、 mある種の位置識別子があると思います。

部署:部署(キーフィールドであるように思われました)とワークイン3の間の1対多の関係。

テーブルとテーブルの関係:矢印があるのはEmployees-> works_in3だけなので、従業員(1人の従業員)とworks_in3(保持されているジョブに応じて、各従業員に可能な多くの潜在的なエントリ)の間には1対多の関係があると思います。 )

したがって、各従業員(常に1人の従業員レコードのみ)には、以降の識別子としての現在のworks_in3レコードがあります。レコード内の他のデータは、部門(詳細)と場所(詳細)からのものです。各従業員は、作業履歴を示す多くのworks_in3レコードを持つことができます。

1
Ben Schmeltzer