MySQL Workbench 版本注意事項
下表顯示移轉精靈支援的各個 DBMS 產品與 MySQL 之間的比較。
表 10.1 支援的 DBMS 產品與 MySQL 之間的概念性對應
| 概念 | MS SQL Server | Sybase ASE | PostgreSQL | MySQL | 備註 |
|---|---|---|---|---|---|
| 驗證 | 是 | 是 | 是 | 是 | |
| Auto_Increment | 是 | 是 | 是 | 是 | PostgreSQL 使用序列來實現 Auto_Increment。 |
| 備份 | 是 | 是 | 是 | 是 | 請參閱 MySQL Enterprise Backup。 |
| 目錄 | 是 | 是 | 是 | 不適用 | 您可以將目錄對應到綱要,並捨棄擁有者物件,將擁有者用作綱要名稱,或將擁有者和物件名稱合併在一起。 |
| 約束 | 是 | 是 | 是 | 是 | |
| 資料字典 | 不適用 | ||||
| 資料庫 | 是 | 是 | 是 | 是 | |
| 資料庫執行個體 | |||||
| 傾印 | 是 | 是 | 是 | 是 | mysqldump |
| 事件 | 是 | 是 | 是 | 是 | |
| 外部索引鍵 | 是 | 是 | 是 | 是 | |
| 全文檢索 | 是 | 是 | 是 | 是 | 在 MySQL Server 5.6 開始的 InnoDB 以及所有 MyISAM 版本中。 |
| 索引 | 是 | 是 | 是 | 是 | |
| 資訊綱要 | 是 | 否 | 是 | 是 | |
| 物件名稱區分大小寫 | 取決於定序 | 取決於定序 | 混合 | 混合 | MySQL:資料庫、資料表和觸發程序名稱的區分大小寫與作業系統相關;其他物件名稱不區分大小寫。PostgreSQL:如 SQL-99 標準中所指定,未加引號的物件名稱會被視為不區分大小寫,而加上引號的物件名稱則區分大小寫。與標準不同的是,未加引號的物件名稱會被轉換為小寫,而不是大寫。 |
| 物件命名慣例 | 是 | 是 | 是 | 是 | |
| 套件 | 不適用 | 不適用 | 不適用 | 不適用 | |
| 分割區 | 是 | 是 | 是 | 是 | |
| 效能綱要 | 不適用 | 不適用 | 是 | 是 | |
| 權限 | 是 | 是 | 是 | 是 | |
| 主索引鍵 | 是 | 是 | 是 | 是 | |
| 參考完整性 | 是 | 是 | 是 | 是 | Sybase ASE:僅透過觸發程序實現參考完整性。 |
| 複寫 | 是 | 是 | 是 | 是 | |
| 角色 | 是 | 是 | 是 | 不適用 | 角色在 MySQL 的資料庫層級中不可用。 |
| 綱要 | 是 | 是* | 是 | 是 | 與 MySQL 中的資料庫相等。Sybase ASE:綱要對應於使用者名稱。 |
| 序列 | 是* | 是* | 是 | 是* | MySQL 中不支援獨立的序列物件。類似的功能可以使用 MSSQL 中的 IDENTITY 資料行和 MySQL 中的 AUTO_INCREMENT 資料行來實現。 |
| SQL 模式 | 是 | 是 | 是 | MSSQL 中的 SET_ANSI_* | |
| 儲存引擎 | 不適用 | 不適用 | 是* | 是 | PostgreSQL 本身僅支援並使用一個儲存引擎 (Postgresql)。其他公司已將額外的儲存引擎新增至 PostgreSQL。 |
| 預存程序 | 是 | 是 | 是 | 是 | |
| 同義詞 | 不適用 | 不適用 | 不適用 | 不適用 | |
| 資料表 | 是 | 是 | 是 | 是 | |
| 資料表空間 | 是 | 是* | 是 | 不適用 | MSSQL 將資料表分組到綱要中(除非指的是 CREATE TABLESPACE)。Sybase ASE:資料表分組到更像是使用者名稱的綱要中。 |
| 暫存資料表 | 是 | 是 | 是 | 是 | |
| 交易 | 是 | 是 | 是 | 是 | |
| 觸發程序 | 是 | 是 | 是 | 是 | |
| UDF | 是 | 是 | 是 | 是 | |
| Unicode | 是 | 是 | 是 | 是 | |
| 唯一索引鍵 | 是 | 是 | 是 | 是 | |
| 使用者 | 是 | 是 | 是 | 是 | |
| 檢視 | 是 | 是 | 是 | 是 |
處理 Microsoft SQL Server 和 MySQL 的結構差異
Microsoft SQL Server 資料庫由一個目錄和一個或多個綱要組成。MySQL 每個資料庫僅支援一個綱要(或者更確切地說,MySQL 資料庫是一個綱要),因此必須針對這種設計差異進行規劃。移轉精靈必須知道如何處理來源 (Microsoft SQL Server) 資料庫的綱要移轉。它可以保留所有綱要原樣(移轉精靈將為每個綱要建立一個資料庫),或將它們合併到一個單一的 MySQL 資料庫中。其他組態選項包括:移除綱要名稱(移轉精靈會處理沿途可能出現的名稱衝突),以及一個將綱要名稱作為前綴新增至資料庫物件名稱的選項。