c# - SQL/C# - 为具有 50 多个功能的产品设计表(真/假)
问题描述
我在设计一张具有我们产品功能的新桌子时遇到了问题。起初,我将这些功能硬编码到这样的列中:
ProductExtrasID | Feature 1 | Feature 2 | Feature.. 50
1 true true false
2 false true false
.. 等等.. 我使用 ProductExtrasID 作为产品表的外键,只显示“真”的特征。
现在我被要求动态完成功能,以便站点的每个管理员都可以添加新功能。
到目前为止我想做的是这个
ProductExtrasID |ProductID | Feature Description | FeatureActive
1 20 feature1 description false
2 20 feature2 description true
3 30 feature1 description true
...
然后显示 FeatureActive 为 true 的每个产品 ID 的特征。
这是实现我想要的好方法还是可以做得更好?
谢谢
解决方案
为所有特征创建一个表:
ID | Feature Description
1 feature1 description
2 feature2 description
3 feature1 description
然后在表 ProductsFeatures 中使用它:
ProductExtrasID |ProductID | FeatureID
1 20 1
2 20 2
3 30 1
如果您需要显示如下内容:
Product20:
feature1: true,
feature2: true,
feature10: false.
(and not show another 47 features)
您需要创建附加表 ProductTypesFeatures:
ProductTypeID |FeatureID
1 1
1 2
1 10
2 1
推荐阅读
- java - AuthenticationVoters 没有有效的属性。SpringSecurity
- python - 具有“变形”变量的 Python 函数
- python - 有没有办法参数化 sparql 过滤条件?
- r - scale_x_date 错误:date_trans 仅适用于 Date 类的对象 ggplot 2
- python - 通过 python 脚本发送电子邮件时获取 smtplib.SMTPRecipientsRefused
- python - 检查标签,一个数据框中的位置是否在标签中,不同长度的第二个数据框的范围熊猫
- algorithm - Elixir中频率计算的快速并发算法
- ios - 为 watchOS Simulator 构建现有框架不起作用
- windows - singtool 由于缺少私钥而失败
- sql - sql 中最新条目的状态