MySQL Workbench 6 - 在将数据库/模式创建为模型和在 MySQL 连接器中的差异

kla*_*ito 1 mysql er-diagrams mysql-workbench

我正在扎根 MySQL Workbench 并且我有一个 TILT。在 MySQL Workbench 初始屏幕中有两件事我不明白。

  • 在创建连接并访问它时,我可以选择创建模式/数据库并创建表、脚本等......如果我创建一个名为example的数据库,我只能选择通过脚本创建表,而不是通过能效比图
  • 返回 MySQL Workbench 初始屏幕,还有创建模型的选项(对我来说,它是一个模式/数据库,以相同的方式)。如果我们创建一个名为example的模型,就像在此中的前一项中一样,您可以创建脚本、视图、表,并具有创建 EER 图区别

我想知道的是:

  1. 为什么有创建模式/数据库作为模型和在 MySQL 连接中的选项?

  2. 为什么我可以在两个选项中创建具有相同名称的模式/数据库来创建模式/数据库(MySQL 连接器和模型)而不会发生命名冲突?

  3. 如果它们是同一个东西,为什么当我创建模型时 MySQL Connector 不会自动同步以识别模型?

  4. 如果它们是同一件事,我可以在模型中而不是在 MySQL 连接器中为模式/数据库创建 EER 图吗?

感谢任何能回答我这些问题的人。

Mik*_*hke 5

你从错误的前提开始。模型和连接是两个完全不同的东西(如果没有,为什么 MySQL Workbench 中会有不同的部分?)。

通过连接,您可以访问服务器并对其进行处理。创建用户、检索数据、创建数据库对象等。

然而,建模是设计数据库结构的任务。您创建的所有对象仅存在于该模型中。您可以从更高的角度设计您的结构,而不是深入到纯 SQL(如果需要,您也可以这样做)。在您对模型进行正向工程或将其同步到该服务器之前,没有任何内容到达服务器。第一种是简单地按照您设计的方式创建所有对象,后者是一种双向“合并”,即在模型和服务器内容之间生成差异并应用更改以使服务器上的结构成为与模型相同,反之亦然。

了解这种根本区别可以回答您上面的所有问题。