约束的意外结果 - 数据库SQL

时间:2015-10-07 03:31:48

标签: mysql database constraints

试图弄清楚为什么这个约束没有按预期工作并试图找到解决方案。

以下表格和属性的说明:

Table Hotel
hotel_id - primary key - INT(5)

Table Room
room_id - primary key - INT(5)
hotel_id - primary key - INT(5)
room_type - VARCHAR(25)

Table RoomType
room_type - primary key - VARCHAR(25)
hotel_id - primary key - INT(5)
type_description - VARCHAR(100)
price - INT(5)

所以这些建议者:

room.room_type references roomtype.room_type
room.hotel_id references hotel.hotel_id
roomtype.hotel_id references hotel.hotel_id

因此,期望的结果是,所有酒店都将拥有独特的房型。然后酒店还将拥有与房型相关的房间。因此,这些示例数据将是:

Hotel:
hotel_id
1
2


Room:
room_id     hotel_id     room_type
1           1            Single
2           2            Double

RoomType:
room_type  hotel_id    type_description   price
Single     1           Random             500
Double     2           Random             500

因此,如果我尝试将此行添加到Rooms中,我希望它不会因为约束而无效。至于hotel_id 1,房间类型表中没有房型Double。这仍然有效,并且不会被约束阻止。

Room
room_id   hotel_id  room_type
3         1         Double

那你怎么做呢?

0 个答案:

没有答案