用途
本技能用于 SQL Server 数据库架构的创建与修改、迁移脚本编写,以及应用 DDL(数据定义语言)最佳实践。
主要能力
CREATE TABLE 与数据类型指南
提供建表时的数据类型选择参考,示例包括:
- 整数 ID:
INT IDENTITY(约 21 亿行以内),超大表使用BIGINT - 字符串:
NVARCHAR(n)用于 Unicode 文本(n ≤ 4000),VARCHAR(n)用于纯 ASCII 文本,CHAR(n)/NCHAR(n)用于定长字符串(如 ISO 代码) - 日期时间:
DATETIME2(7)优先于旧版DATETIME;仅日期用DATE,仅时间用TIME(n) - 金额:
DECIMAL(p,s)或MONEY,明确禁止使用FLOAT(精度丢失) - 布尔:
BIT - GUID:
UNIQUEIDENTIFIER,默认值建议使用NEWSEQUENTIALID()以减少碎片 - 大二进制:
VARBINARY(MAX) - JSON/XML 文本:
NVARCHAR(MAX),或使用原生XML类型
资料中给出 DATETIME 与 DATETIME2 的对比:DATETIME 为旧版,精度 3.33ms,范围 1753–9999;DATETIME2 为首选,精度 100ns,范围 0001–9999,符合 ANSI SQL。
ALTER TABLE
涵盖添加列(含两步添加 NOT NULL 列的方法)、添加约束、添加外键、添加非聚集索引、删除列、删除约束,以及使用 sp_rename 重命名列。
幂等迁移脚本
提供可安全重复运行的迁移模式,包括:仅在不存在时添加列、创建索引、添加约束、创建表,以及仅在存在时删除对象。
迁移编号模式
建议目录结构示例:
migrations/
├── V001__create_customers_table.sql
├── V002__add_region_column.sql
├── V003__create_orders_table.sql
├── V004__add_orders_fk_customers.sql
每个文件要求:以 V + 零填充编号 + __ + 描述为前缀;幂等(可安全重跑);仅包含前向变更(同一文件内不含回滚);在生产前于预发布数据库测试。
外键模式
包括级联删除、删除时置 NULL、无级联(最安全,需显式删除),以及批量加载时禁用外键、加载后重新启用。
计算列
包括持久化计算列(存储于磁盘、可建索引)和用于搜索规范化的计算列。
检查约束
包括值范围、枚举值、跨列约束和字符串格式(基础)约束。
使用方式
资料未提供具体的安装命令或调用方式,仅以 SQL 代码示例形式展示各项 DDL 模式。
适用场景
- 创建和修改 SQL Server 数据库架构
- 编写可重复运行的迁移脚本
- 应用 DDL 最佳实践(数据类型选择、约束、外键、计算列)
限制
资料未说明该技能的运行环境、依赖版本、平台支持范围或收费情况,暂未提供。