我被要求允许用户在每个字段中输入多个值。所以选择是无限的。
例如。列是:CompanyID-公司名称网站Key_Markets M&A_History Highlights Region Comments
一个场景是一家公司可以有多个网站、主要市场、地区、蚀刻。我将如何专业地做到这一点?我正在考虑将每一列放在一个单独的表格中。
基本上有三种方法可以实现这一点。
1)将多个字段分别写入一列。这将是一个非常糟糕的设计,您必须处理应用程序中的拆分 - 不要这样做;-)
2)使用一张表多组来存储数据。这对于参数是有意义的,但如果您对每个客户都有不同的值,则不是真的。例如:
例子:
108001, 'homepage', 1, 'www.mypage.com';
108001, 'homepage', 2, 'www.mysecondpage.com';
108001, 'homepage', 3, 'www.anotherpage.com';
108001, 'markets', 1, 'erp';
108001, 'markets', 2, 'software';
108001, 'region', 1, 'germany';
108001, 'region', 2, 'austria';
108001, 'region', 3, 'poland';
3) 为每个 1:n 关系使用单独的表!我猜这将是满足您需求的最佳解决方案。这样做的好处是您可以轻松扩展架构并在其中存储更多数据。例如,如果您决定存储每个地区或主要市场的用户数量等。
还有一点:使用 n:m 关系来避免数据库中的双重内容!例如,关键市场和地区是否应该存储在一个完全独立的表中,而您将客户的 ID 和关键市场存储在交叉表中。因此,您不需要将关键市场存储为每个客户的字符串!
您将需要一个数据库结构,例如:
table_master_companies
- record_id
- company_name
table_websites
- record_id
- company_id
- website_address
table_key_markets
- record_id
- company_id
- key_market
等等。然后,您需要使用连接将所有信息连接到一个记录集中。