避免冗余
冗余的定义,用不同的方式表达了同样的事务。
冗余带来空间的浪费和容易引起数据不一致性。

右图manufacter of beer 被表示了两次,一次作为beers的属性,一次作为实体,manfs.
这个设计的问题是如果某个manufacter当前没有beers,则它的地址丢失了。
表示为实体集需要至少满足以下两个条件之一。
1.至少有一个非key的属性。即它不仅仅是某个名字而已。
2.处于多对多或者多对一关系中多的一方。
beers,处于多对一关系的多的一方,manfs有非key属性address.
如果manfs仅仅有name属性那么不需要成为一个实体,作为beers的属性即可。

【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步