-1
我的要求是具有可没有类似的厂商,产品和版本,同时产品的表。SQL。唯一和主键
但是,我也希望可以通过主键上的另一个表引用此表,对于不同的供应商,产品版本我用unique
。
create table Products
(
vendor varchar(100),
product varchar(100),
version varchar(30),
unique (vendor, product, version, cve)
);
但这种方式我不能用它product_id
引用它,因为我想在另一个表:
create table Product_cve(
product_id int,
cve varchar(14),
foreign key (product_id) references Products(product_id),
foreign key (cve) references VulnerabilitiesCVE(cve)
);
,还有一件事我可以做的是,
create table Products
(
product_id int NOT NULL AUTO_INCREMENT,
vendor varchar(100),
product varchar(100),
version varchar(30),
primary key (product_id)
);
这样,我将结束有重复的产品......
您应该在'Products'表中最好维护'product_id'和'product_name',并创建另一个具有'product'和'vendor',称为'product_vendor'的映射表。然后,你可以使用'product_vendor_id'(product_vendor'表'PK)为'Product_cve'表的外键。 –