次のデータベース設計の要件があります。
DEVICE という名前のすべてのデバイス用のテーブルと、ROOM という名前の部屋用のテーブルがあります。各デバイスは、別のデバイスまたは部屋に割り当てる必要があります。現在、フィールド名Device.RoomIdのデバイスからルームへのnull可能な外部キー関係接続と、Device.ContainerIdのデバイスをそれ自体に結合する別のnull可能な外部キー関係があります。
データベースの制約/fk の関係を通じて適用できる、より適切な設計はありますか? 悪いデータが保存されるのを防ぐために適切なコードを作成する必要があることは理解していますが、データベースにルールを適用することで安全性を高めたいと考えています。