-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'表的外鍵。 –