数据库架构设计错误会导致性能问题和数据完整性问题。此技能提供针对 PostgreSQL 的最佳实践,包括数据类型、索引、约束和可扩展性模式。
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "postgresql". 设计一个包含 email、name 和时间戳的 users 表
النتيجة المتوقعة:
- CREATE TABLE users (
- user_id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
- email TEXT NOT NULL UNIQUE,
- name TEXT NOT NULL,
- created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
- updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
- );
- CREATE UNIQUE INDEX ON users (LOWER(email));
استخدام "postgresql". 我应该使用 UUID 还是 BIGINT 作为主键?
النتيجة المتوقعة:
- 在以下情况下使用 BIGINT GENERATED ALWAYS AS IDENTITY:
- - 顺序 ID 可接受
- - 索引性能至关重要
- - 较小的索引大小很重要
- 在以下情况下使用 UUID:
- - 需要全局唯一性
- - ID 不透明性是安全要求
- - 从多个源合并数据
التدقيق الأمني
آمنAll 221 static analyzer findings were determined to be false positives. The skill consists entirely of markdown documentation (SKILL.md) with no executable code. Backtick characters are markdown formatting for code examples, not shell execution. References to security features like Row Level Security are PostgreSQL documentation, not Windows SAM access. The skill provides educational guidance for database schema design with no security risks.
درجة الجودة
ماذا يمكنك بناءه
新应用程序架构设计
为新的 Web 应用程序设计完整的数据库架构,包括适当的数据类型、主键、外键关系以及常见查询模式的索引。
架构审查和优化
审查现有表设计,查找性能问题、缺失的索引、不合适的数据类型或可能导致数据完整性问题的约束缺陷。
迁移规划
规划安全的架构演进,包括事务性 DDL、并发索引创建以及在不停机的情况下向大表添加列的策略。
جرّب هذه الموجهات
设计一个用于存储用户配置文件的 PostgreSQL 表,包含 email、name、registration date 和可选配置设置字段。使用适当的数据类型和约束。
我有一个查询表,包含列:id、user_id、status、created_at。常见查询按 user_id 和 status 过滤,并按 created_at 降序排序。推荐索引策略。
我应该在 JSONB 列中存��产品属性还是创建单独的列?属性因产品类别而异,用户经常按特定属性搜索。
我有一个事件表,每月增长 1000 万行。查询通常按 event_date 和 device_id 过滤。推荐分区策略并解释权衡。
أفضل الممارسات
- 对所有事件时间戳使用 TIMESTAMPTZ 而不是 TIMESTAMP,以避免时区混淆
- 在外键列上添加显式索引,因为 PostgreSQL 不会自动创建它们
- 首先规范化到 3NF,然后仅对已证明的高投资回报率读取性能提升进行反规范化
تجنب
- 使用带长度限制的 VARCHAR 而不是带 CHECK 约束的 TEXT
- 在不分析实际查询模式的情况下为每列创建索引
- 对自增列使用 SERIAL 而不是 GENERATED ALWAYS AS IDENTITY