我有四个表Store
,Employee
,Customer
,Address
。我已将前三个表格链接到Address
。现在,我想删除此FK
并将这些表引用到Address
。我该怎么办?
表格结构:
商品:
StoreID(PK), BranchName
员工:
EmpID(PK), Name
客户:
CustID(PK), Name
地址:
AddID(PK),
ID(FK to Store.StoreID, Employee.EmpID, Customer.CustID),
AddressDetail
我想删除FK
上的Address.ID
,并将其引用到三个表格。
答案 0 :(得分:1)
您可以使用ALTER TABLE语句删除FOREIGN KEY约束。例如
ALTER TABLE [Address] DROP CONSTRAINT [FK_Address_Store]
再次删除列,ALTER TABLE语句。
ALTER TABLE [Address] DROP COLUMN [ID]
您正在尝试实施的数据模型一点也不清楚。有多少地址可以与客户相关?只有一个,还是多个?可以将同一地址与客户和员工相关联吗?特定地址是否可以与多个客户相关?
在我的实体关系模型中,"地址"通常是复合属性,而不是实体。通常,Address是一个多值属性(例如,客户可以拥有多个地址,或多个PhoneNumber)。有时,地址将是特定类型的地址(送货地址,账单地址,办公地址,家庭住址),就像电话号码可以是一种类型(主要,移动,办公室,传真等)。
如果不了解数据模型,就无法就数据库表中应对您实施模型所做的更改提出建议。