帮助我连接继承和关系概念

Chr*_*all 7 inheritance rdbms

我正在与我的程序员谈论继承及其在设计模型中的用法.他是一个很大的支持者,我有点不温不火.主要是因为我倾向于从下到上设计系统:数据库 - >应用程序 - >演示文稿(老实说,我不是一个前端人员,所以我经常将演示文稿完全留给其他人).我发现关系数据库系统不支持继承而没有与其他表的很多一对一关系.

如果我从概念角度进行设计,则管理员是用户是个人.从数据库开始,管理员是UserType ="Administrator"的用户.调和这些方法对我来说似乎很难,因此我只使用非持久对象的继承.

我的想法有什么问题?如果它与传统的关系结构具有这些固有的不兼容性,为什么继承这样一个着名的OO方面呢?或者,是不是我没有正确地将继承映射到关系数据?那里有一些指导可能会为我解决这个问题吗?

对于漫无边际的问题感到抱歉,并提前感谢您的回答.如果在响应中包含代码,则C#是我的"本地语言".

Joh*_*ica 5

这通常被称为对象关系阻抗不匹配:

架构继承 - 大多数关系数据库不支持架构继承.尽管可以在理论上添加这样的特征以减少与OOP的冲突,但是关系支持者不太可能相信分层分类法和子分类的效用,因为它们倾向于将基于集合的分类法或分类系统视为更强大和灵活的比树.OO倡导者指出,继承/子类型模型不必局限于树(尽管这是许多流行的OO语言(例如Java)的限制),但非树OO解决方案被认为比基于集合的变体更难以制定 - 关系型首选的主题管理技术.至少,它们与关系代数中常用的技术不同.

另见:敏捷数据,C2 Wiki

  • 那个词是:白痴.开玩笑. (3认同)