是否可以创建在数据库中不是真正外键的外键?

joh*_*nny 1 database-design foreign-keys

我有这个模拟数据库:

用户:

  • 用户身份

公司:

  • COMPANY_ID
  • 用户身份

特许经营:

  • franchise_id
  • COMPANY_ID

商店:

  • STORE_ID
  • franchise_id

这些都是主键和外键.

我想知道如果把做user_id放在特许经营表中是不好的做法.

这样我可以在没有所有关系的情况下进行报告,并且万一"丢失"我可以找到它的去向.它们不是数据库中定义的外键,但它们看起来像外键.或者我应该把它们变成外键?

谢谢您的意见.

编辑:我还认为像我一样思考的非规范化可能有助于加快速度,而不必使用所有连接.

wll*_*cnt 6

你在说什么是计划数据非规范化.您最好为报告访问表创建视图.这样您就不必更改表及其完整性(或存储冗余),但您仍然可以在报告中使用关联.