预订演示
前页 后页

DDL 限制

数据库管理系统(DBMS)的A基本特征是允许通过结构化语言定义数据库对象;这种语言称为 DDL(数据定义语言,或数据描述语言)。每个 DBMS 的 DDL 语法都是唯一的。虽然在所有 DBMS 中都有通用的 DDL 语句和关键字,但存在一些差异,要求每个 DBMS 在Enterprise Architect中有自己的一组 DDL 模板。

本页总结了每个受支持的数据库管理系统的主要限制。

MS Access

  • 评论不能应用于(或更改)表、库表列、库表约束或视图,因此Enterprise Architect忽略这些差异
  • CREATE TABLE 语句不支持列默认值的定义,因此Enterprise Architect将默认定义从所有生成的 DDL 中排除;但是,它确实突出了比较逻辑中的默认差异
  • 通常 DDL 中的object名称可以用方括号 ([ ]) 括起来,以便它们可以包含空格和其他非标准字符,但是 CREATE VIEW DDL 语句不支持方括号表示法; “创建视图” DDL模板用下划线 ('_') 字符替换所有空格

MySQL

  • 只有MySQL版本大于 5.5.3 时,才能对 Indexes 和 Unique约束应用注释
  • 评论只能在创建时应用于索引和唯一约束,因此更改索引或唯一约束的评论会导致约束被删除并重新创建
  • 不支持选择约束;虽然MySQL DDL 引擎可以解析此类语句,但它只是忽略它们
  • 评论不能应用于(或更改)视图、过程或函数,因此Enterprise Architect忽略这些差异

甲骨文

  • 注释不能应用于(或更改)过程、序列或函数,因此Enterprise Architect忽略这些差异

PostgreSQL

  • 目前Enterprise Architect不支持函数参数,因此任何通过名称引用函数的语句(COMMENT ON 或 DROP)都会失败,因为它们必须使用函数名称和参数的组合

#
精简版

  • 约束不能添加到现有的库表中;必须删除和创建库表(包括创建语句中的新约束)
  • 任何object类型都不支持注释,因此Enterprise Architect忽略所有注释差异