在3个表之间建立关系

时间:2019-02-22 19:35:54

标签: database-design entity-relationship

我正在为我的一个宠物项目设计数据库的一部分,而我处于这种困境。

我有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关系,如下图所示。 enter image description here

但是Schedule已经是一个m:n表。 通过m:n关系创建的表是否可以说“ A”与表“ B”具有任何基数的关系。

如果可能的话,我该如何构建它?如果没有,该如何设计上述表之间的关系?

0 个答案:

没有答案