我有一个关于将弱实体从 e-r 模型转移到 sql 表的问题。 具体来说,我正在使用 mysql。
假设我有一张酒店表,其中我有每个酒店的主键 ID,名为 id。
然后我想为房间创建一张 table 。一个房间被认为是弱实体,因为如果不引用酒店就无法识别它,并且没有酒店它就不可能存在。
假设房间包含包含数据的列和另外两个列。 第一列是酒店 ID 的外键,第二列是房间号。
请注意,许多房间可以有相同的号码,但同一家酒店的房间不能有相同的号码。所以这是一种识别特定房间的方法。
如何将其放入表格中? 我不能将数字声明为唯一的,因为它不是唯一的,出于同样的原因,我也不能将其声明为主键。那么我是否创建了一个没有主键的表?
此外,外键“hotel_id”是唯一键,因为它是酒店表中的主键。 我想我在使用具有相同外键的多个房间时不会有问题。
总结一下。 我的问题是如何创建表房间,除了明显的房间(通过选择具有特定编号和 hotel_id 的房间来识别房间)之外,是否有任何方法可以自动识别每个房间?
提前谢谢你。
最佳答案
Rooms 表中的主键由两列(HotelID、RoomNumber)组成。该组合必须是唯一的,您的数据模型才能正常运行。
关于mysql - mysql 上没有主键的弱实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21960555/