数据建模器页

“Data Modeler(数据建模器)”页提供集成的 Oracle SQL Developer Data Modeler 版本,其中包含基本的报告功能。可以从现有方案创建图表、检索数据字典信息、生成 DDL 语句以及导出图表。

要导航到“Data Modeler(数据建模器)”页面,请执行以下操作之一:

  • 在“启动板”页中,选择开发选项卡,然后单击数据建模器

  • 单击 Selector(选择器)选择器图标 以显示导航菜单。在“开发”下,选择数据建模器

“Data Modeler(数据建模器)”页由用于导航对象和图表的左窗格、用于处理关系图的编辑器窗格以及用于查看在图表中选择对象的属性的右窗格组成。以下各节对这些窗格进行了介绍:

在图表和对象中导航

图表选项卡列出了已保存的数据建模器图表。

右键单击图表后,可以选择打开、保存、删除和查看属性。图 3-10 显示了在单击左侧窗格中图表的名称时显示的缩略图预览。

图 3-10 数据建模器中的图表预览

后面是图 3-10 的说明
“Data Modeler 中的图 3-10 图表预览”的说明
  • 要创建新图表,请在“图表”选项卡中单击“新建图表”新图表

  • 要打开现有图表,请在“图表”选项卡中右键单击该图表,然后单击打开

注意:

图表存储在 Database Actions 用户方案中的数据库中。首次使用 Data Modeler 时,会在您的方案中创建一个 OSDDMW_DIAGRAMS 表来存储关系图。

如果提供了连接,则 Oracle SQL Developer Data Modeler 可以从 OSDDMW_DIAGRAMS 表导入或导出到该表。有关详细信息,请参阅与 SQL Developer Data Modeler 共享图表

导航器选项卡列出了每个方案可用的对象。您可以从下拉列表中选择方案和对象类型。对于特定方案,如果选择了表对象,左侧窗格将显示属于该特定方案的所有表。可以展开表以查看其列。图 3-11 指示“导航器”选项卡中的重要元素。

在方案中,可以通过输入几个字符在“Navigator(导航器)”选项卡中搜索对象。您还可以搜索已保存图表的内容。搜索功能不区分大小写,将检索所有匹配的条目,并且不需要使用通配符。

图 3-11“导航器”选项卡

后面是图 3-11 的说明
后面是图 3-11 的说明导航器选项卡

表或视图的上下文菜单包括:

将对象添加到图表:将选定的对象添加到选定的图表。或者,您可以将对象拖放到所选图表中。

将具有相关性的对象添加到图表:将所选对象以及与该对象相关的父表和子表添加到所选图表。

将对象添加为星型方案到图表:将所选对象添加到图表中,并在数据字典中搜索与该对象相关的外键和隐式外键。相关表或视图将添加到图表中,并应用星形模式布局。请参见 Implied Foreign Keys

编辑,用作模板:打开“表属性”对话框。用于编辑特定方案的现有对象(例如表或视图),或者使用现有对象来创建初始内容的新对象。请参阅“表属性”对话框“视图属性”对话框

添加/编辑序列:打开“序列属性”对话框。用于创建或编辑所选方案的序列。请参阅“序列属性”对话框

添加索引:打开“索引属性”对话框。用于为表创建索引。请参阅“索引属性”对话框

添加同义词:打开“同义词属性”对话框。用于为所选方案中的表或视图创建同义词。请参阅“同义词属性”对话框

关于数据建模器编辑器

可以在编辑器窗格中创建并处理关系图表。

在图表中选择对象后,可以在右侧窗格中检查对象的属性。对于表,显示的属性有“Columns(列)”、“Primary Key(主键)”、“Unique Constraints(唯一约束条件)”、“Indexes(索引)”、“Foreign Keys(外键)”、“Comments(注释)”和“Colors(颜色)”。您可以编辑的唯一属性是背景和边框颜色。单击“重置 重置”以返回到默认颜色。

图 3-12 显示在编辑器窗格中选择的对象的属性。

可以拖动右上角的缩略图查看器以在编辑器窗格中显示相应的区域。在编辑器窗格中处理长图时,这非常有用。

图 3-12 检查编辑器窗格中所选对象的属性

后面是图 3-12 的说明
“图 3-12 检查编辑器窗格中选定对象的属性”的说明

创建图表时,可以执行以下操作:

  • 选择一个对象,然后拖动以使其在其中移动。

  • 调整或移动关系完好的对象。

  • 向关系线添加肘部,以避免与来自其他对象的线相交。右键单击关系线并拖动以创建肘部。单击 "Remove vertex 删除顶点"(删除顶点)以恢复原始配置。

  • 通过拖动框周围的句柄来调整对象大小。

  • 为以下选项选择对象,然后右键单击对象:

    • DDL 预览:显示对象的 DDL 语句。

    • 更新:更新对对象执行的任何操作。

    • 删除:删除对象。

    • 编辑:打开用于编辑表对象的“表属性”对话框或视图对象的“视图属性”对话框。

    • 隐式外键:打开“隐式外键”对话框。使用此选项可定义对象的隐式外键。请参见 Implied Foreign Keys

    • 查看 JSON 数据指南:打开表或视图的 JSON 数据指南图。请参阅关于查看 JSON 数据指南

工具栏上的图标包括:

  • 保存图表:保存当前选定的图表。图表存储在用户方案中所创建的表中。

  • 打印图表:打印所选图表。

  • 保存到 SVG :将当前选定的图表保存到 SVG 格式的图像文件。

  • 将对象添加到图表:将显示一个对话框,您可以在其中从特定方案中选择一个或多个类型为表或视图的对象,并将其添加到所选图表中。键入 * 可列出方案中某个对象类型(表或视图)的所有对象。您还可以通过键入几个字符进行搜索。

  • 添加注释:向所选图表添加注释。选择附注以添加文本,并在右侧窗格中查看关联的属性,例如字体大小和颜色。

    • 要输入文本,请展开“TEXT(文本)”并键入信息。单击应用

    • 要为附注选择背景、边框或文本颜色,请单击该框并选择所需的颜色。要恢复为默认颜色,请单击 "Reset 重置"。

  • 删除:从图表中删除选定的对象。要选择多个对象,请按 CTRL 键并选择对象。

  • 放大:在当前选定的图表中显示更多详细信息和可能更少的对象。

  • 缩小:在当前所选图表中显示更少的详细信息和可能更多的对象。

  • 适合屏幕:使当前所选图表的所有相关对象都适合窗口,并根据需要调整形状和文本标签的大小。

  • 实际大小:将当前选定图表中的形状和文本标签调整为默认大小。

  • 布局:自动布局:将图表中的对象重新排列为可能更有意义和有吸引力的布局。如果您不喜欢重新排列,则可以通过单击“撤消”来恢复以前的布局。

  • 布局:星形布局:将图表中的对象重新排列为星形模式布局,其中事实表位于中心,关联的维表围绕着事实表。

  • DDL 预览:显示对象的 DDL 语句。您可以选择将 DDL 语句保存或发送到工作表。要选择要显示的内容,请单击选项

  • 当前方案的 DDL 预览:显示当前方案的 DDL 语句。您可以将 DDL 语句发送到工作表。

  • 图表报表:生成图表中所有内容的数据字典报表。

  • 方案报表:生成方案中所有内容的数据字典报表。

  • 帮助:显示“数据建模”编辑器的帮助。

关于查看 JSON 数据指南

JSON 数据指南在一个包含 JSON 内容的列中表示文档的 JSON 方案。一个表可以有多个包含 JSON 内容的列。

在 Data Modeler 图表中,表或视图的上下文菜单中提供了“查看 JSON 数据指南”选项。

这适用于具有包含 JSON 内容的列的表、视图和外部表。识别包含 JSON 内容的列,并为每个此类列检索数据指南。存在 JSON 搜索索引时,此过程会更快。

JSON 方案(JSON 数据指南)以可视方式呈现,类似于实体关系图。数组呈现为一对多关系,包含对象作为一对一关系,而 "oneOf" 构造作为一个盒子,围绕着可能的选择。在页面的右上角有一个列选择器,使您可以选择包含 JSON 内容的列来进行图表表示。

以下示例是 JSON 方案及其在数据指南图中的表示形式。

{
  "type" : "object",
  "properties" :
  {
    "User" :
    {
      "type" : "string",
      "o:length" : 8,
      "o:preferred_column_name" : "DATA$User"
    },
    "PONumber" :
    {
      "type" : "number",
      "o:length" : 4,
      "o:preferred_column_name" : "DATA$PONumber"
    },
    "LineItems" :
    {
      "type" : "array",
      "o:length" : 1024,
      "o:preferred_column_name" : "DATA$LineItems",
      "items" :
      {
        "properties" :
        {
          "Part" :
          {
            "type" : "object",
            "o:length" : 256,
            "o:preferred_column_name" : "DATA$Part",
            "properties" :
            {
              "UPCCode" :
              {
                "type" : "number",
                "o:length" : 16,
                "o:preferred_column_name" : "DATA$UPCCode"
              },
              "UnitPrice" :
              {
                "type" : "number",
                "o:length" : 8,
                "o:preferred_column_name" : "DATA$UnitPrice"
              },
              "Description" :
              {
                "type" : "string",
                "o:length" : 128,
                "o:preferred_column_name" : "DATA$Description"
              }
            }
          },
          "Quantity" :
          {
            "type" : "number",
            "o:length" : 4,
            "o:preferred_column_name" : "DATA$Quantity"
          },
          "ItemNumber" :
          {
            "type" : "number",
            "o:length" : 1,
            "o:preferred_column_name" : "DATA$ItemNumber"
          }
        }
      }
    },
    "Reference" :
    {
      "type" : "string",
      "o:length" : 32,
      "o:preferred_column_name" : "DATA$Reference"
    },
    "Requestor" :
    {
      "type" : "string",
      "o:length" : 16,
      "o:preferred_column_name" : "DATA$Requestor"
    },
    "CostCenter" :
    {
      "type" : "string",
      "o:length" : 4,
      "o:preferred_column_name" : "DATA$CostCenter"
    },
    "ShippingInstructions" :
    {
      "type" : "object",
      "o:length" : 256,
      "o:preferred_column_name" : "DATA$ShippingInstructions",
      "properties" :
      {
        "name" :
        {
          "type" : "string",
          "o:length" : 16,
          "o:preferred_column_name" : "DATA$name"
        },
        "Phone" :
        {
          "type" : "array",
          "o:length" : 64,
          "o:preferred_column_name" : "DATA$Phone",
          "items" :
          {
            "properties" :
            {
              "type" :
              {
                "type" : "string",
                "o:length" : 8,
                "o:preferred_column_name" : "DATA$type"
              },
              "number" :
              {
                "type" : "string",
                "o:length" : 16,
                "o:preferred_column_name" : "DATA$number"
              }
            }
          }
        },
        "Address" :
        {
          "oneOf" :
          [
            {
              "type" : "string",
              "o:length" : 1,
              "o:preferred_column_name" : "DATA$Address"
            },
            {
              "type" : "object",
              "o:length" : 128,
              "o:preferred_column_name" : "DATA$Address_1",
              "properties" :
              {
                "city" :
                {
                  "type" : "string",
                  "o:length" : 32,
                  "o:preferred_column_name" : "DATA$city"
                },
                "state" :
                {
                  "type" : "string",
                  "o:length" : 2,
                  "o:preferred_column_name" : "DATA$state"
                },
                "street" :
                {
                  "type" : "string",
                  "o:length" : 32,
                  "o:preferred_column_name" : "DATA$street"
                },
                "country" :
                {
                  "type" : "string",
                  "o:length" : 32,
                  "o:preferred_column_name" : "DATA$country"
                },
                "zipCode" :
                {
                  "type" : "number",
                  "o:length" : 8,
                  "o:preferred_column_name" : "DATA$zipCode"
                }
              }
            }
          ]
        }
      }
    },
    "Special Instructions" :
    {
      "type" : "string",
      "o:length" : 16,
      "o:preferred_column_name" : "DATA$SpecialInstructions"
    }
  }
}

图 3-13 JSON 数据指南图

后面是图 3-13 的说明
“图 3-13 JSON 数据指南图”的说明