0

SQL2005/2008を使用します。ホテルテーブル(HotelID、HotelName)とルームテーブル(RoomID、HotelID、RoomName)があるとします。ホテル-> HotelIDによるルーム1:M RoomIDはルーム内のPKです。これで、コントラクトテーブル(ContractID、HotelID、ContractDescription)ができました。およびContractRate(ContractRateID、ContractID、RoomID、Rate)すべてのプライマリキーと外部キーが定義されていますが、¿ 現在、ContractRate.RoomID-> Room.RoomIDにFKがありますが、これにはRoom.HotelIDの追加フィルターがContractRate-> Contract.HotelIDである必要があります。これは、アプリケーションで適用できますが、定義/適用できるかどうかを知りたいです。データベースで(またはDBを再定義する必要がある場合)よろしくお願いします、Juanro

4

1 に答える 1

1

正規化のために、コントラクトと ContractRate テーブルの両方に RoomID を配置する必要があると思います。しかし、現在のシナリオでは誰も正規化を行っていないため、私の提案に従って、hotelID と RoomID の両方を両方のテーブルに入れます。

于 2010-05-10T10:07:01.467 に答える