我对办公室里的东西感到有些困惑。我们为Oracle和MySQl提供了相同的数据库结构。
使用Data Modeler我们生成了两者的ER图,并且MySQL DB缺少关系。
根据我们的DBA,其原因在于这些表格是MyISAM以支持全文索引。但是我们确实在这些表上使用了很多关系,这就是Oracle版本确实显示它们的原因。
我们的数据库有什么对错?
答案 0 :(得分:1)
我不确定你的问题是什么。如果你澄清,我会尝试提供更好的答案。
无论如何,MySQL有多个存储引擎。 MyISAM和InnoDB是其中两个(还有其他)。每个引擎都有不同的属性,如性能,功能等。
外键上的对于InnoDB以外的存储引擎,MySQL Server解析FOREIGN CREATE TABLE语句中的KEY语法,但不使用或存储它。
和
MySQL为数据库开发人员提供了使用哪种方法的选择。 如果您不需要外键并希望避免开销 与强制参照完整性相关联,您可以选择 另一个存储引擎,如MyISAM。 (例如, MyISAM存储引擎为应用程序提供了非常快的性能 只执行INSERT和SELECT操作......)。
换句话说,如果您使用MyISAM,则必须自己处理外键检查。 如果外键检查对您非常重要,那么我确实强烈建议您使用InnoDB。