sql >> データベース >  >> RDS >> Mysql

このER図は代わりに三項関係を使用する必要があります

    仕様を読み間違えているようです。アイテムはUPS小売センターに運ばれ、目的地に発送されます。ただし、出荷されたアイテムが特定の宛先に到達するために輸送イベントを実行するという三項関係について考えてみましょう。 。

    これは、これら3つのエンティティで考えられる多くの関係の1つです。

    はい、そうです。しかし、三項関係は、これらの図の二項関係の観点から表現できます。 (その逆ではありません。)

    すべてのテーブル(基本変数またはクエリ結果)には、特定の関係に関与する行が含まれています。関係は、述語で特徴付けることができます。 --属性によってパラメータ化されたステートメントテンプレート。

    テーブルは、属性の値がその述語から真のステートメントを作成する行を保持します。基本変数の述語はDBAによって与えられます。

    -- shipped item ItemNumber is received by retail center UniqueId
    SELECT * FROM ReceivedFrom
    -- shipped item ItemNumber takes transportation event ScheduleNumber
    SELECT * FROM ShippedVia
    

    クエリ式の述語は、その演算子と引数から構築されます。たとえば、2つのテーブルのNATURAL JOINの述語は、テーブルの述語のANDです。

    -- shipped item ItemNumber is received by retail center UniqueId
           and takes transportation event ScheduleNumber
    SELECT * FROM ReceivedFrom NATURAL JOIN ShippedVia
    

    もちろん、三項関係の特定の概念は、この正確なクエリ/テーブルではない場合があります。ただし、実際のUPSデータベースには、関連する関係を表現できる基本的な関係のテーブルがあります。

    (正規化では、「... AND ...」の形式の述語が、可能で役立つ場合は「...」の個別の述語に分割されます。元のテーブルは、コンポーネントのJOINによって返されます。)




    1. MySQLでクエリ結果をコンマ区切りリストとして返す方法

    2. mysqlawsセキュリティグループの設定によるセキュリティへの影響

    3. WSO2EMM-App Managementは、Appがインストールされている/インストールされていないユーザーのリストを返すことはありません

    4. 子のすべてのIDを再帰的に見つける方法は?