The following table shows a comparison between each DBMS product supported by the Migration Wizard and MySQL.
Table 10.1 Conceptual equivalents between supported DBMS products and MySQL
Concept | MS SQL Server | Sybase ASE | PostgreSQL | MySQL | Note |
---|---|---|---|---|---|
Authentication | Yes | Yes | Yes | Yes | |
Auto_Increment | Yes | Yes | Yes | Yes | PostgreSQL uses sequences for Auto_Increment. |
Backup | Yes | Yes | Yes | Yes | See MySQL Enterprise Backup. |
Catalog | Yes | Yes | Yes | N/A | You can map a catalog into a schema and drop the ownerobject, use the owner as the schema name, or merge the owner and object name together. |
Constraints | Yes | Yes | Yes | Yes | |
Data Dictionary | N/A | ||||
Database | Yes | Yes | Yes | Yes | |
Database Instance | |||||
Dump | Yes | Yes | Yes | Yes | mysqldump |
Events | Yes | Yes | Yes | Yes | |
Foreign Keys | Yes | Yes | Yes | Yes | |
Full Text Search | Yes | Yes | Yes | Yes | In InnoDB as of MySQL Server 5.6, and in all versions of MyISAM. |
Index | Yes | Yes | Yes | Yes | |
Information Schema | Yes | No | Yes | Yes | |
Object Names Case Sensitivity | Depends on collation | Depends on collation | Mixed | Mixed | MySQL: sensitivity of database, table, and trigger names OS dependent; other object names are not case-sensitive. PostgreSQL: as specified in the SQL-99 standard, unquoted object names are treated as not case-sensitive while quoted object names are case-sensitive. Unlike the standard, unquoted object names are converted to lowercase instead of uppercase. |
Object Naming Conventions | Yes | Yes | Yes | Yes | |
Packages | N/A | N/A | N/A | N/A | |
Partitioning | Yes | Yes | Yes | Yes | |
Performance Schema | N/A | N/A | Yes | Yes | |
Permissions | Yes | Yes | Yes | Yes | |
Primary Key | Yes | Yes | Yes | Yes | |
Referential Integrity | Yes | Yes | Yes | Yes | Sybase ASE: referential integrity only through triggers. |
Replication | Yes | Yes | Yes | Yes | |
Role | Yes | Yes | Yes | N/A | Roles are not available in MySQL at the database level. |
Schema | Yes | Yes* | Yes | Yes | Equivalent to database in MySQL. Sybase ASE: Schemas corresponds to user names. |
Sequences | Yes* | Yes* | Yes | Yes* | Standalone sequence objects are not supported in MySQL. Similar functionality can be obtained with IDENTITY columns in MSSQL and AUTO_INCREMENT columns in MySQL. |
SQL Modes | Yes | Yes | Yes | SET_ANSI_* in MSSQL | |
Storage Engines | N/A | N/A | Yes* | Yes | PostgreSQL itself supports and uses only one storage engine (Postgresql). Other companies have added extra storage engines to PostgreSQL. |
Stored Procedures | Yes | Yes | Yes | Yes | |
Synonyms | N/A | N/A | N/A | N/A | |
Table | Yes | Yes | Yes | Yes | |
Tablespace | Yes | Yes* | Yes | N/A | MSSQL groups tables in schemas (unless referring to CREATE TABLESPACE). Sybase ASE: tables are grouped in schemas that are more like user names. |
Temporary Tables | Yes | Yes | Yes | Yes | |
Transactions | Yes | Yes | Yes | Yes | |
Triggers | Yes | Yes | Yes | Yes | |
UDFs | Yes | Yes | Yes | Yes | |
Unicode | Yes | Yes | Yes | Yes | |
Unique Key | Yes | Yes | Yes | Yes | |
User | Yes | Yes | Yes | Yes | |
Views | Yes | Yes | Yes | Yes |
A Microsoft SQL Server database is made up of one catalog and one or more schemas. MySQL only supports one schema for each database (or rather, a MySQL database is a schema) so this difference in design must be planned for. The Migration Wizard must know how to handle the migration of schemas for the source (Microsoft SQL Server) database. It can either keep all of the schemas as they are (the Migration Wizard will create one database per schema), or merge them into a single MySQL database. Additional configure options include: either remove the schema names (the Migration Wizard will handle the possible name collisions that may appear along the way), and an option to add the schema name to the database object names as a prefix.