我实际上正在编写我的Bachelorthesis,并根据实现所需的内容对数据库进行了ER-Model升级。
我的以下问题是,我公司的数据库基本上都是基于触发器,并且没有我可以使用的实际ER模型。是否甚至可以基于数据库创建一个ER模型,该数据库几乎只使用触发器与内部表进行交互?几乎没有外键。
感谢您的回答,
干杯
答案 0 :(得分:0)
数据库[是]基于触发器,没有我可以使用的实际ER模型....
几乎没有外键。
我必须说这听起来像是你被严重的建议。你有一个学术项目,其设计不使用传统的外键,并且不能用实体关系图建模?
仅使用触发器与表进行交互
触发器是在SQL标准中定义DRI之前发明的。 IIRC,它们是由Sybase发明的,大约在1986年。如果它们的使用仅限于强制引用完整性约束 - 应该是 - 它们将被谨慎使用。自SQL-92出现以来,大多数RI强制执行都很容易并且最好在数据库模式中以声明方式提供。今天的触发器被恰当地视为过时和异国情调:在很大程度上被DRI取代,偶尔在奇怪的情况下作为解决方案有用。
数据库交互只能通过触发器 吗?平凡的,没有。触发器无法插入新数据。如果没有荒谬的回转,触发器就无法选择要返回给应用程序的数据。但无论如何,几乎没有数据库设计问题:无论有关表格如何,观察都会成立。