MySQL设计表
我们有三张桌子MySQL设计表,mysql,sql,database-design,Mysql,Sql,Database Design,我们有三张桌子 Instructor ID (PK, AI) Name Surname Activity ID (PK, AI) Name given_activity A_ID (FK to Activity ID) I_ID (FK to Instructor ID) Slot (PK) 我们的桌子是这样设计的,但我们不能满足这个条件 “讲师不应同时进行活动” 我们如何更改表?您的主键可以帮助您 在给定活动的表上创建主键 PRIMARY KEY(a_id,i_id) 条件: 讲师不
Instructor
ID (PK, AI)
Name
Surname
Activity
ID (PK, AI)
Name
given_activity
A_ID (FK to Activity ID)
I_ID (FK to Instructor ID)
Slot (PK)
我们的桌子是这样设计的,但我们不能满足这个条件
“讲师不应同时进行活动”
我们如何更改表?您的主键可以帮助您 在给定活动的表上创建主键
PRIMARY KEY(a_id,i_id)
条件:
讲师不应同时进行活动
表示给定的\u活动中的讲师/插槽没有重复项。您可以通过一个唯一的索引/约束来实现这一点:
create unique index unq_givenactivity_instructor_slot on given_activity(I_ID, slot);
@达维加尔
做一个身份证和身份证PK会导致
“讲师不能在不同时间进行活动”
你的意思是说,在给定的活动中,讲师不能有相同的时间???请详细说明。是的,讲师在给定的_活动表中不能有相同的插槽值。通过这样做,我是否能够满足条件?使此主键唯一,是的,它将满足您的要求
a_id (PK) i_id (PK) slot
1 2 10-12
1 2 12-14