你可以有多对多的关系,
此表存储服务提供者列表。
CREATE TABLE ServiceProvider
(
ProviderID INT NOT NULL,
ProviderName VARCHAR(50),
.......,
CONSTRAINT tb_pk PRIMARY KEY (ProviderID),
CONSTRAINT tb_uq UNIQUE (ProviderName)
);
CREATE TABLE ServiceList
(
ServiceID INT NOT NULL,
ServiceName VARCHAR(50),
.......,
CONSTRAINT tba_pk PRIMARY KEY (ServiceID),
CONSTRAINT tba_uq UNIQUE (ServiceName)
);
此表将服务提供商列表映射到他们提供的服务。
CREATE TABLE Provider_Service
(
RecID INT,
ProviderID INT NOT NULL,
ServiceID INT NOT NULL,
CONSTRAINT tbb_pk PRIMARY KEY (RecID),
CONSTRAINT tbb_fk1 FOREIGN KEY (ProviderID)
REFERENCES ServiceProvider(ProviderID),
CONSTRAINT tbb_fk2 FOREIGN KEY (ServiceID)
REFERENCES ServiceList(ServiceID),
CONSTRAINT tba_uq UNIQUE (ServiceName, ProviderID)
);