你问SAP如何设计数据库,或者问金蝶如何设计数据库,或者问一个三线城市的ERP如何设计数据库,得到的是完全不同的解决方案,
没有一个放知天下而皆准的答案的。
开发效率、运行效率理论上是反向指标。要不然怎么会有一大堆SB在指责ORM性能差呢。
有多少资源办多少事,别问沙特王子如何在黑五更好的抢购美亚的电子产品,如何走物流才能更省钱,
他们一般是买完直接用私人专机运回家的。
咋设计都行,在客户没意见的时候咋快咋开发
必须设置,不然你死定了!
不用设置外键关联,这是成熟作法,在程序中设置就行,不要听书本的
能不能说些详细的理由?
你知道 为啥不设置外键不知道。因为这样子的话做的话 可以省去你很多不必要的麻烦。
比如说我有一个表关联了很多外键。要删除它的子表的一些数据。那我还得把主表数据给清了,才行。
但是不关联的话,想怎么删除怎么删除。先删除哪个,后删除哪个都无所谓。
这个是最大的用处。至于楼上说的什么影响性能,纯属扯淡。
但是如何不设置外键的话,你用像EF,Hibernate这类ORM框架的时候,就不那么方便了。
我们公司没有设置,或者换种说法,我们知道谁是谁的外键,但是数据库不知道。
数据库只知道主键。
每个项目的需要不一样,做需要分析,建立数据模型时,是否要建立外键,具体情况具体快定。
个人拙见,建议不用设置,因为数据库更多的职责是做存储,而不是去做业务逻辑。 所以你这些关系 如果是ef 可以通过映射指定,如果是sql那就更方便了,不管是维护还是优化,都能更好的下手! 那么你的那些业务逻辑就交给你的业务模型吧,根据业务场景和模型来约束。