我正在为我的一个宠物项目设计数据库的一部分,而我处于这种困境。
我有3张桌子:PET,预订,服务。
PET (attributes):-
Pet_Id => Primary Key,
Pet_Name,
Pet_Species,
Pet_Breed,
DoB,
Gender
BOOKING (attributes):-
Booking_Id => Primary Key,
Booking_Location,
Booking_Date
SERVICE (attributes):-
Service_Id => Primary Key,
Service_Name
情况是,M个预订(预订)服务N个宠物(PET),即预订和宠物之间存在m:n基数关系。由于这种关系而形成的表称为SCHEDULE
,两个表的主键结合起来形成SCHEDULE
我之所以建立这种关系,是因为在特定的时间通过特定的预订可以服务多只宠物,而在不同的时间可以通过多次的预订来服务特定的宠物。
现在,特定预订时间表(SCHEDULE)中的单个宠物可以为其提供多种服务,类似于时间表(SCHEDULE)与服务(SERVICE)之间的m:n关系。
该如何处理? 首先想到的是,计划表与服务表之间具有m:n关系,如下图所示。
但是Schedule已经是一个m:n表。 通过m:n关系创建的表是否可以说“ A”与表“ B”具有任何基数的关系。
如果可能的话,我该如何构建它?如果没有,该如何设计上述表之间的关系?