Day 069 练习题清单
练习 1:博客系统模型 ⭐⭐
设计一个博客系统的数据模型: - User(用户)→ Post(文章)→ Comment(评论) - Post 可以有多个 Tag(多对多) - 实现功能: - 查询某用户的所有文章及评论数 - 查询某标签下的所有文章 - 查询最新 10 篇文章(含作者信息)
练习 2:图书馆管理系统 ⭐⭐⭐
设计一个图书馆数据模型: - Book(图书)、Author(作者)、Category(分类) - Book 和 Author 是多对多关系 - 实现功能: - 查询某作者的所有图书 - 查询某分类下的图书数量 - 查询借阅次数最多的 5 本书
练习 3:论坛系统 ⭐⭐⭐
设计一个论坛系统: - User、Board(版块)、Thread(帖子)、Reply(回复) - 实现功能: - 查询某版块的所有帖子(含回复数) - 查询某用户的所有帖子 - 查询今日热门帖子(按回复数排序)
练习 4:数据迁移 ⭐⭐⭐⭐
编写一个 ORM 数据迁移脚本: - 从旧数据库读取数据 - 转换为新模型格式 - 写入新数据库 - 记录迁移日志
练习 5:性能优化 ⭐⭐⭐⭐
对比以下查询方式的性能: - 懒加载 vs 预加载(joinedload) - 批量插入 vs 逐条插入 - 不同索引策略的查询速度 - 生成性能报告
提交要求
- 所有练习的代码文件放在 exercises/ 目录
- 使用 SQLAlchemy 2.0 风格(DeclarativeBase)
- 添加必要的注释和文档字符串