MySQL Workbench 发行说明
下表显示了迁移向导支持的每个 DBMS 产品与 MySQL 之间的比较。
表 10.1 支持的 DBMS 产品和 MySQL 之间的概念性等效项
概念 | MS SQL Server | Sybase ASE | PostgreSQL | MySQL | 注意 |
---|---|---|---|---|---|
身份验证 | 是 | 是 | 是 | 是 | |
Auto_Increment | 是 | 是 | 是 | 是 | PostgreSQL 使用序列来实现 Auto_Increment。 |
备份 | 是 | 是 | 是 | 是 | 参见 MySQL Enterprise Backup. |
目录 | 是 | 是 | 是 | N/A | 您可以将目录映射到架构中,并删除所有者对象,使用所有者作为架构名称,或将所有者和对象名称合并在一起。 |
约束 | 是 | 是 | 是 | 是 | |
数据字典 | N/A | ||||
数据库 | 是 | 是 | 是 | 是 | |
数据库实例 | |||||
转储 | 是 | 是 | 是 | 是 | mysqldump |
事件 | 是 | 是 | 是 | 是 | |
外键 | 是 | 是 | 是 | 是 | |
全文检索 | 是 | 是 | 是 | 是 | 在 MySQL Server 5.6 及更高版本的 InnoDB 中,以及 MyISAM 的所有版本中。 |
索引 | 是 | 是 | 是 | 是 | |
信息架构 | 是 | 否 | 是 | 是 | |
对象名称大小写敏感 | 取决于排序规则 | 取决于排序规则 | 混合 | 混合 | MySQL:数据库、表和触发器名称的大小写敏感性取决于操作系统;其他对象名称不区分大小写。PostgreSQL:根据 SQL-99 标准,未引用的对象名称被视为不区分大小写,而引用的对象名称区分大小写。与标准不同,未引用的对象名称被转换为小写而不是大写。 |
对象命名约定 | 是 | 是 | 是 | 是 | |
包 | N/A | N/A | N/A | N/A | |
分区 | 是 | 是 | 是 | 是 | |
性能架构 | N/A | N/A | 是 | 是 | |
权限 | 是 | 是 | 是 | 是 | |
主键 | 是 | 是 | 是 | 是 | |
参照完整性 | 是 | 是 | 是 | 是 | Sybase ASE:参照完整性仅通过触发器实现。 |
复制 | 是 | 是 | 是 | 是 | |
角色 | 是 | 是 | 是 | N/A | MySQL 在数据库级别不支持角色。 |
架构 | 是 | 是* | 是 | 是 | 等效于 MySQL 中的数据库。Sybase ASE:架构对应于用户名。 |
序列 | 是* | 是* | 是 | 是* | MySQL 不支持独立的序列对象。类似的功能可以通过 MSSQL 中的 IDENTITY 列和 MySQL 中的 AUTO_INCREMENT 列获得。 |
SQL 模式 | 是 | 是 | 是 | MSSQL 中的 SET_ANSI_* | |
存储引擎 | N/A | N/A | 是* | 是 | PostgreSQL 本身只支持和使用一个存储引擎(Postgresql)。其他公司已经为 PostgreSQL 添加了额外的存储引擎。 |
存储过程 | 是 | 是 | 是 | 是 | |
同义词 | N/A | N/A | N/A | N/A | |
表 | 是 | 是 | 是 | 是 | |
表空间 | 是 | 是* | 是 | N/A | MSSQL 将表分组到架构中(除非引用 CREATE TABLESPACE)。Sybase ASE:表分组到架构中,这些架构更像是用户名。 |
临时表 | 是 | 是 | 是 | 是 | |
事务 | 是 | 是 | 是 | 是 | |
触发器 | 是 | 是 | 是 | 是 | |
UDF | 是 | 是 | 是 | 是 | |
Unicode | 是 | 是 | 是 | 是 | |
唯一键 | 是 | 是 | 是 | 是 | |
用户 | 是 | 是 | 是 | 是 | |
视图 | 是 | 是 | 是 | 是 |
处理 Microsoft SQL Server 和 MySQL 结构差异
Microsoft SQL Server 数据库由一个目录和一个或多个架构组成。MySQL 仅支持每个数据库的一个架构(或者更确切地说,MySQL 数据库是一个架构),因此必须计划好这种设计上的差异。迁移向导必须知道如何处理源(Microsoft SQL Server)数据库的架构迁移。它可以保留所有架构的现状(迁移向导将为每个架构创建一个数据库),或者将它们合并到一个 MySQL 数据库中。其他配置选项包括:删除架构名称(迁移向导将处理可能出现的名称冲突),以及将架构名称作为前缀添加到数据库对象名称的选项。