light-system-design
Solid后端系统设计与数据库能力。当任务涉及系统架构、数据库设计、接口设计、权限/日志/异常/性能/部署时使用。设计 ER 图、数据表结构、接口文档、用户权限、数据流转、模块划分、API 规范、数据库索引、安全策略、部署方案,尤其适合科研系统、管理系统、数据分析平台、可视化平台、竞赛作品与软著项目。
AI & Automation 77 stars
17 forks Updated today MIT
Install
Quality Score: 88/100
Stars 20%
Recency 20%
Frontmatter 20%
Documentation 15%
Issue Health 10%
License 10%
Description 5%
Skill Content
# 后端系统与数据库设计
## 适用场景
科研系统、管理系统、数据分析/可视化平台、竞赛作品、软著申请项目。设计要既能落地(交 a03 实现)又能写进软著/论文(交 m15/m07)。
## 系统架构
- 模块划分(分层:接口层/业务层/数据层)、职责边界、数据流转图。
- 技术选型按需(见 a09):
- **FastAPI**:路由 `@app.get`,Pydantic 模型做请求/响应校验,`response_model` 隐藏内部字段,`Depends` 注入(yield 依赖管理 DB session),`/docs` 自带 Swagger。
- **Django REST**:serializer + `ModelViewSet` + `DefaultRouter` 三件套;权限/认证/分页/限流在 `REST_FRAMEWORK` settings 集中配。
- **Spring Boot**:`@RestController→@Service→@Repository(JpaRepository)` 分层,构造器注入,`application-{profile}.yml` 多环境。
- 非功能性:性能(缓存/索引/分页)、可扩展、可观测。
## 数据库设计
- **ER 图**:实体、关系、基数。
- **表结构**:字段、类型、约束、主外键、范式 vs 反范式权衡。刻意选型,别无脑 text/超大 numeric。
- **索引**:按查询模式选型——B-Tree(等值/范围/排序/前缀 `LIKE 'x%'`)、GIN(数组/JSONB/全文/trigram)、BRIN(超大表+物理有序时间列)、GiST(几何/最近邻)、Hash(纯等值)。**外键必须建索引**(最常见漏建);生产建索引用 `CREATE INDEX CONCURRENTLY` 避免锁表;上线前 `EXPLAIN ANALYZE` 验证计划。
- **迁移**:
- Alembic:`env.py` 设 `target_metadata=Base.metadata`,`revision --autogenerate -m` 生成后**必须人工审**(检不出重命名/匿名约束,报成 drop+add),`upgrade head` 应用,CI 用 `alembic check`。
- Prisma:开发 `migrate dev`,**生产只能 `migrate deploy`**(不 reset/不用 shadow DB),需手改 SQL 用 `--create-only`。
- **ORM 防 N+1**:SQLAlchemy 用 `selectinload`(二次 IN 查询)/`joinedload`(JOIN) 预加载;DRF 用 `select_related`/`prefetch_related`。连接必须用连接池。
- 最佳实践参考 supabase-postgres-best-practices(下方安全段含 RLS 具体写法、命名规范)。
## 接口设计
- RESTful/OpenAPI 3.x 规范:顶层 `openapi`/`info`/`servers`(完整 base URL,版本化放 `/v1`)/`paths`/`components`。
- 资源命名、方法、状态码(201 Created/204/4xx)、版本化。
- 请求/响应 schema 放 `components.schemas` 用 `$...
Details
- Author
- Light0305
- Repository
- Light0305/Light-skills
- Created
- 5 days ago
- Last Updated
- today
- Language
- Python
- License
- MIT
Integrates with
Similar Skills
Semantically similar based on skill content — not just same category
AI & Automation Solid
architectarchitecture-design
系统架构设计方法论,包含架构模式选择、系统分层、目录结构设计
546 Updated 1 weeks ago
echoVic AI & Automation Listed
claude-backend-skill
Claude-Opus模型同款后端机制
0 Updated 3 days ago
boxiaolanya2008 API & Backend Listed
api-design
【API设计】根据业务需求设计 RESTful/GraphQL API,输出 OpenAPI 规范文档。包含路由设计、请求/响应 Schema、错误码体系、版本策略。 触发时机: - 用户要求"设计API"、"定义接口"、"写API文档" - 需要从数据库 Schema 推导 API 端点 - 需要统一团队 API 规范 不依赖外部工具,纯 prompt 模板驱动。
0 Updated 2 days ago
afine907