术语解释
以下列出了与「SQL建表语句生成器」相关的专业术语及其详细解释,帮助您更好地理解和使用本工具。
DDL(Data Definition Language)
数据定义语言,是SQL的一个子集,专门用于定义和管理数据库中的数据结构。DDL的核心语句包括CREATE(创建表、索引等数据库对象)、ALTER(修改已有对象的结构)和DROP(删除数据库对象)。本工具生成的CREATE TABLE语句就是最常用的DDL语句之一,它定义了表的名称、字段列表、字段类型和各种约束条件。
CREATE TABLE语句
SQL中用于创建新数据表的核心DDL语句。一条标准的CREATE TABLE语句包含表名定义、字段列表(每个字段包含名称和数据类型)、主键约束、非空约束、默认值约束、唯一约束、外键约束等。不同的数据库方言在CREATE TABLE的语法细节上存在差异,例如MySQL使用AUTO_INCREMENT而PostgreSQL使用SERIAL或IDENTITY。
数据类型映射
将JSON中的值类型转换为对应SQL数据库字段类型的过程。例如JSON中的整数值可能映射为MySQL的INT或BIGINT类型,字符串值可能映射为VARCHAR或TEXT类型,布尔值映射为TINYINT(1)(MySQL)或BOOLEAN(PostgreSQL),日期字符串映射为DATE或TIMESTAMP类型。准确的数据类型映射是保证数据完整性和查询性能的基础。
MySQL方言
MySQL数据库特有的SQL语法规范。在DDL方面,MySQL使用反引号(`)包裹标识符以避免与关键字冲突,自增字段使用AUTO_INCREMENT关键字,布尔类型实际使用TINYINT(1)实现,字符串默认使用单引号。本工具在MySQL模式下会自动应用这些语法特征。
PostgreSQL方言
PostgreSQL数据库特有的SQL语法规范。PostgreSQL使用双引号(")包裹标识符,自增字段使用SERIAL伪类型或GENERATED ALWAYS AS IDENTITY,原生支持BOOLEAN类型,支持JSONB字段类型存储结构化数据。PostgreSQL的类型系统更加严格和标准化,本工具在PostgreSQL模式下会生成完全符合该方言规范的DDL。
主键(Primary Key)
表中唯一标识每条记录的一个或多个字段。主键必须满足唯一性约束(不允许重复值)和非空约束(不允许NULL值)。常见的主键策略包括自增整数主键(适合单机环境)、UUID主键(适合分布式系统)和复合主键(由多个字段组合而成)。本工具支持自增ID和UUID两种主键生成策略。
外键约束(Foreign Key)
用于建立两个表之间关联关系的约束。外键字段的值必须是另一个表中主键的现有值或NULL。外键约束确保了数据的参照完整性,防止出现「孤儿记录」。当JSON结构中包含嵌套对象时,本工具在「展平模式」下会自动为子表创建指向父表的外键约束。
嵌套对象(Nested Object)
JSON数据中值为另一个JSON对象的字段。例如一个用户对象中包含一个address对象,address对象内含city、street等字段。在关系型数据库中,嵌套对象通常需要展平为独立的关联表,或序列化为JSON字段存储。本工具提供了两种处理策略以适应不同的业务需求。
数组字段(Array Field)
JSON数据中值为数组的字段。数组可能包含基本类型元素(如字符串数组、整数数组)或对象类型元素。对于基本类型数组,工具会推断为逗号分隔的TEXT字段或数据库原生数组类型;对于对象类型数组,工具会创建关联表来存储数组元素。数组字段的处理是JSON到关系型数据库转换中最复杂的部分之一。
自增字段(Auto Increment)
数据库自动为新插入的记录生成唯一递增数值的字段特性。在MySQL中使用AUTO_INCREMENT关键字实现,在PostgreSQL中使用SERIAL伪类型或GENERATED ALWAYS AS IDENTITY子句实现。自增字段通常用作表的主键,确保每条记录都有唯一的标识符。
UD5工具箱