我确实对数据库规范化有一些了解,但有时我认为,在某些情况下,有一种比一个数据对象=一个表模式(我相信)更优雅的解决方案。
例如:文章和静态页面的存储。数据非常相似,我们可以使用一个简单的标识符列将它们放在一个表中,由于我们实际存储的数据不同,每种数据类型都会有一些空白的未使用的cols:
id | title(both) | author(article only) | content(both) | datetime(article only) | type(identificator - article/page)这种方法是否仍然正确,或者无论相似性如何,每个数据都应该有表?
发布于 2013-07-02 04:32:21
您正在描述单表继承。这是一个合法的模式,请参阅http://martinfowler.com/eaaCatalog/singleTableInheritance.html
优势包括:
缺点包括:
对于特定于子类型的列,您不能定义
NOT NULL约束(根据您可能希望了解替代方案,例如类表继承(http://martinfowler.com/eaaCatalog/classTableInheritance.html)。
https://stackoverflow.com/questions/17412276
复制相似问题