In my talk “DBA Tales from the Front – from Oracle to MySQL”, I said that the terminology is different between Oracle and MySQL. I gave the example of ‘database’ vs ‘schema’ and said I’d have a “cheat sheet” of terms and their differences.
Only problem is, I couldn’t find much to put on the cheat sheet besides ‘database’ and ‘schema’. (There’s ‘catalog’, but I’m not really sure what Oracle OR MySQL means by it. In MySQL it sometimes seems to mean the same as ‘database’ (eg, in MySQL Administrator). I don’t remember seeing it in Oracle. I know they use it in MS SQL…)
As for ‘database’ vs ‘schema’, I initially thought that a ‘database’ in MySQL was like a ‘schema’ in Oracle. Why? Because you have multiple databases in an instance, and you can do selects like ‘select id from scott.emp’ where ‘scott’ is a database. (See? They look like schemas.)
In reality, they’re not the same, because the database an object is in is not determined by who creates it (as it is for a schema). It’s just that you don’t have the same notion of a schema in MySQL, and Oracle doesn’t have multiple databases managed by one instance.
On the other hand, in the data dictionary, MySQL seems to use ‘schema’ to mean the same thing as ‘database’. (Eg, in schema_information.tables or schema_information.schema_privileges.)
Anyone have any better examples of terms that are used differently between Oracle and MySQL (along these lines)?
Meantime, I did find these nice cheat sheets for MySQL usage in general:
http://www.ilovejackdaniels.com/mysql_cheat_sheet.pdf
shows functions, datatypes, etc, and
http://www.nparikh.org/unix/mysql.php
shows some common commands.