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 資料庫中。其他組態選項包括:移除綱要名稱(移轉精靈會處理沿途可能出現的名稱衝突),以及一個將綱要名稱作為前綴新增至資料庫物件名稱的選項。