有三个表:
CREATE TABLE T1_HUMAN (
Id int IDENTITY PRIMARY KEY,
[Name] varchar(max) NOT NULL,
Surname varchar(max) NOT NULL,
TypePhone <???>,
PhoneNumber <???>
)
CREATE TABLE T2_PHONE (
Id int IDENTITY PRIMARY KEY,
TypePhone varchar(max) NOT NULL,
PhoneNumber char(12) NOT NULL UNIQUE,
[Name] <???>,
Surname <???>
)
CREATE TABLE T3 (
T1_PhoneNumber int NOT NULL FOREIGN KEY REFERENCES T1_HUMAN(Id),
T2_PhoneNumber int NOT NULL FOREIGN KEY REFERENCES T2_PHONE(Id),
PRIMARY KEY(T1_PhoneNumber, T2_PhoneNumber)
)
正如您所看到的,这种关系是多对多的 - 一个人可以拥有多个电话,一个电话号码可以使用多个人。
我需要以下内容:
如何更改表以满足上述要求?
表格的结构很好。
你要求的是奇怪的,而且不是很清楚。例如,如果一个人使用2部电话,您将拥有2对(打电话,电话号码):您不能将它们放在一行中。
我怀疑你要么需要逗号分隔值,要么需要多个字段。如果是这种情况,请不要改变当前正确的表格结构并违反第一个正常表格。相反,如果您必须能够查看这些数据,请创建依赖于这些表的视图。
如果您清楚了解您的确切需求,我们将很乐意为您提供答案。例如,如果A和B人共用phone1和phone2,您希望查询的外观如何?