在建模数据库时如何处理"特殊情况"数据?

Cyb*_*bis 5 database data-modeling

我们的组织为客户提供各种服务(例如,网络托管,技术支持,定制编程等).我们网站上有一个页面,列出了所有可用的服务及其相应的价格.这是静态数据,但我的老板希望它全部从数据库中取出.

列出了大约100项服务.然而,其中只有两个具有"价格"的非数值(具体地,字符串"ISA"和"成本+ 8%" - 我真的不知道它们应该是什么意思,所以不要问我).

我不想仅仅因为这两个列表而使"价格"列成为varchar.我目前的做法是创建一个特殊的"price_display"字段,该字段为空白或包含要显示的文本以代替价格.这个解决方案感觉太像脏兮兮的黑客(它会不必要地使查询复杂化),那么有更好的解决方案吗?

Ed *_*ess 4

考虑此列是向客户显示的价格,可以包含任何内容。

如果您尝试将其设为数字​​列,则会招致悲伤。你已经在与两个不相容的价值观作斗争,明天你的老板可能会想要更多......

  • 申请价格!
  • 请致电我们享受今天的特别优惠!

你明白了。

如果您确实需要一个数字列,则将其称为“internalPrice”或其他名称,并将您的数字约束放在该列上。