作業中のOracleSQLプロジェクトで問題が発生しています。
主キーとして(Customer_id、packet_id、project_id、ticket_id)を持つ(弱い)エンティティ「Ticket」があります。Customer_id、packet_id、project_idも外部キーです。
ただし、チケットはパケットまたはプロジェクトに対してのみ使用でき、両方が主キーに含まれているため、nullにすることはできませんが、実際には一方が常にnullになります。しかし、チケットは常にどちらか一方に属しているため、両方が必要です。
考えられる解決策を考え、すべての製品に1つのIDを作成できると思いましたが、このproduct_idを外部キーとして実装する場合、どのエンティティに許可するかわからないため、別の問題があります。への参照。
テーブルを作成するときに「オプションの主キー」を作成したり、ifステートメントを操作したりする方法はありますか?または、オプションの参照を作成する方法はありますか?if文とケースを試しましたが、うまくいきませんでした。