I’m a bit puzzled to something we got here at the office. We have the same database structure for Oracle and MySQl.
Using Data Modeler we generated the ER diagram of both, and the MySQL DB is missing relationships.
The reason of that, according our DBA, is that those tables are MyISAM to favor full text indexing. But we do use a lot of relations on those tables too, which is why the Oracle version does show them.
Whats right and wrong on our DBs?
I’m not exactly sure what your question is. If you clarify, I’ll try and provide a better answer.
Anyway, MySQL has multiple storage engines. MyISAM and InnoDB are two of them (there are others). Each engine has different properties, such as performance, features, etc.
Here’s the MySQL docs on foreign keys:
and
In other words, if you use MyISAM, you’ll have to take care of foreign key checks yourself. If foreign key checks are very important to you, then I would indeed strongly suggest using InnoDB.