如果设计一个供应商表,当中一个供应商能提供多个物料类别,那边这个关联物料类别的字段,用什么类型好呢,应该可能有好几个,这是设计在mysql当中
时间: 2024-09-15 21:04:32 浏览: 28
在MySQL设计中,如果你需要表示一个供应商可以提供多种物料类别,你可以考虑使用“一对一”(One-to-Many)的关系模型。在这种场景下,通常的做法是在供应商表(Supplier)里创建一个外键字段(如`supplier_id`),而在另一个表——物料类别供应表(MaterialCategorySuppliers)中,将存储供应商ID(关联到供应商表的主键)以及对应的物料类别ID(如`material_category_id`)。每个物料类别对应一条记录,这样就允许一个供应商有多个物料类别。
物料类别表(MaterialCategories)可能会有一个独立的主键和其它属性,例如`category_name`。
设计SQL表结构如下:
```sql
CREATE TABLE Suppliers (
supplier_id INT PRIMARY KEY,
supplier_name VARCHAR(100),
-- 其他供应商信息...
);
CREATE TABLE MaterialCategories (
category_id INT PRIMARY KEY,
category_name VARCHAR(100),
-- 其他物料类别信息...
);
CREATE TABLE MaterialCategorySuppliers (
id INT AUTO_INCREMENT PRIMARY KEY,
supplier_id INT,
material_category_id INT,
FOREIGN KEY (supplier_id) REFERENCES Suppliers(supplier_id),
FOREIGN KEY (material_category_id) REFERENCES MaterialCategories(category_id)
);
```
阅读全文