在数据库中使用面向对象继承与规范化规则
你应该如何设计你的数据库?使用 OO 继承原则还是使用数据库规范化规则?你更喜欢哪一个?为什么?谢谢。
How should you design your database? Using OO inheritance principes or using database normalization rules? Which do you prefer? Why? Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您正在设计关系数据库,那么您应该使用关系模型。在适当的时候使用标准化技术,这是大多数时候,但并非总是如此。
关系模型与 OO 继承没有精确的相似之处。如果需要用关系模型来表达类子类关系,请查找“泛化专业化关系建模”。
If you are designing a relational database, then you should use the relational model. Use normalization techniques when appropriate, which is most of the time, but not always.
The relational model has no exact analog to OO inheritance. If you need to express the class subclass relationship in a relational model, look up "generalization specialization relational modeling".
应使用规范化技术创建数据库。
当您想要将数据库映射到 OO 模型时,可以使用 Hibernate 文档中描述的以下三种技术之一来设计数据库。 (这些技术也符合规范化规则):
继承映射策略
Database should be created using normalization techniques.
When you want to map your database to a OO model, you can use one of the following three techniques to design your DB that are described in the Hibernate documentation. (Those techniques conform to normalization rules as well):
Inheritance Mapping strategies