我创建了一个包含3个表的数据库。
我的问题是如何将ButlerSchedule表的主键组合成ButlerID,CustID和ScheduleDateTime?
我相信我需要在ButlerSchedule中使用外键来引用其他两个表中的主键,但我不确定如何完成此任务。谢谢。
我正在使用SQL-Server
1。管家
ButlerID (PK, int, not null)
ButlerModel (varchar (70), null)
ButlerName (varchar (70), null)
ButlerType (varchar (70), null)
ButlerMadeOnDate (date, null)
ButlerActive (bit, null)
ButlerOutOfServiceDate (date, null)
Primary
密钥为PK_Butler_ButlerID
2。 ButlerCustomer
CustID (PK, int, not null)
CustFName (varchar (70), null)
CustLName (varchar (70), null)
CustAddress (varchar (70), null)
CustCity (varchar (70), null)
CustState (varchar (70), null)
CustZip (char (10), null)
CustCurrent (bit, null)
CustPITA (bit, null)
Primary
密钥为PK_ButlerCustomer_CustID
第3。 ButlerSchedule
ScheduleDateTime (PK, date, not null)
PaidStatus (char (1), null)
CompletedStatus (char (1), null)
ButlerReview (varchar (max), null)
CustReview (varchar (max), null)
EnteredDate (date, null)
ModifiedDate (date, null)
Primary
密钥为PK_ButlerSchedule_ScheduleDateTime
答案 0 :(得分:2)
将此添加到您的init.bat
表架构中。
ButlerSchedule
现在,您的ButlerID int FOREIGN KEY REFERENCES Butler(ButlerID)
CustID int FOREIGN KEY REFERENCES ButlerCustomer(CustID)
架构将如下所示。
BustlerSchedule
如果您已经有了架构,则必须更改表架构。
使用以下查询来更改表架构。
ScheduleDateTime (PK, date, not null)
ButlerID (PK, int, not null)
CustID (PK, int, not null)
PaidStatus (char (1), null)
CompletedStatus (char (1), null)
ButlerReview (varchar (max), null)
CustReview (varchar (max), null)
EnteredDate (date, null)
ModifiedDate (date, null)
ButlerId int FOREIGN KEY REFERENCES Butler(ButlerID)
CustId int FOREIGN KEY REFERENCES ButlerCustomer(CustID)