feat(数据库): 新增第四阶段前两课教学内容
This commit is contained in:
51
README.md
51
README.md
@@ -69,16 +69,24 @@
|
||||
|
||||
### 第四阶段:数据库编程
|
||||
|
||||
- 数据库和关系型数据库的基本概念;
|
||||
- SQL 基础语法;
|
||||
- 表、字段、主键和外键;
|
||||
- 数据的新增、查询、修改和删除;
|
||||
- 条件查询、排序、分组和关联查询;
|
||||
- 索引与事务基础;
|
||||
- Python 连接 MySQL 或 PostgreSQL;
|
||||
- 参数化查询与 SQL 注入防护;
|
||||
- SQLAlchemy 对象关系映射;
|
||||
- 数据库综合项目:持久化图书管理系统。
|
||||
本阶段采用精简路线。学习者已经具备数据库、SQL 和 Java 数据库开发基础,因此不再单独讲解关系型数据库、增删改查、关联查询、索引和事务等通用知识,而是重点学习 Python 数据库编程方式以及它与 JDBC、MyBatis、MyBatis-Plus、JPA/Hibernate 的差异。
|
||||
|
||||
本阶段统一使用 PostgreSQL,不同时维护 MySQL 和 PostgreSQL 两套示例。涉及常见数据库差异时,通过补充说明对照 PostgreSQL 与 MySQL,不影响后续将知识迁移到 MySQL。
|
||||
|
||||
本阶段共五课:
|
||||
|
||||
1. `4_1_PostgreSQL与Psycopg入门`:连接远程 PostgreSQL,认识 Python 数据库 API(Database API,DB-API),使用 Psycopg 3 执行参数化 SQL,并与 JDBC 的连接、语句和结果集进行对照;
|
||||
2. `4_2_Python数据库事务与数据访问层`:学习提交、回滚、异常处理、批量操作,以及数据访问对象(Data Access Object,DAO)和 Repository 分层;
|
||||
3. `4_3_SQLAlchemy基础`:学习 SQLAlchemy 2.x 的 Engine、Session、声明式模型和基本增删改查,并与 JPA/Hibernate、MyBatis-Plus 进行对照;
|
||||
4. `4_4_SQLAlchemy关系映射与工程实践`:学习一对多、多对多、级联操作、加载策略、N+1 查询问题和业务分层;
|
||||
5. `4_5_数据库综合项目`:使用 PostgreSQL 和 SQLAlchemy 2.x,把第三阶段的内存版图书管理系统升级为持久化版本。
|
||||
|
||||
本阶段采用两层数据库操作路线:
|
||||
|
||||
- Psycopg 3 对应 JDBC 驱动层,用于理解连接、游标、参数化 SQL、查询结果和事务;
|
||||
- SQLAlchemy 2.x 提供 SQL 工具和对象关系映射(Object Relational Mapping,ORM)能力,其中 ORM 的定位更接近 JPA/Hibernate,并具备部分与 MyBatis-Plus 相似的常规增删改查体验。
|
||||
|
||||
数据库连接地址、用户名和密码通过本地 `config.toml` 提供,不写入环境变量。仓库只提交脱敏的 `config.example.toml`,真实配置文件必须由 `.gitignore` 排除。课程只使用专用练习数据库和受限账号,不连接生产数据库。
|
||||
|
||||
### 第五阶段:Web 开发基础
|
||||
|
||||
@@ -192,6 +200,11 @@ Python/
|
||||
│ ├── 3_4_Python特殊方法与数据类/
|
||||
│ └── 3_5_面向对象综合项目/
|
||||
├── 04_数据库/
|
||||
│ ├── 4_1_PostgreSQL与Psycopg入门/
|
||||
│ ├── 4_2_Python数据库事务与数据访问层/
|
||||
│ ├── 4_3_SQLAlchemy基础/
|
||||
│ ├── 4_4_SQLAlchemy关系映射与工程实践/
|
||||
│ └── 4_5_数据库综合项目/
|
||||
├── 05_web基础/
|
||||
├── 06_fastapi/
|
||||
├── 07_django/
|
||||
@@ -202,13 +215,13 @@ Python/
|
||||
|
||||
## 当前学习进度
|
||||
|
||||
- 当前阶段:第三阶段——面向对象编程。
|
||||
- 当前课程:`3_5_面向对象综合项目`。
|
||||
- 当前状态:第三阶段已完成并通过综合项目验收。
|
||||
- 已完成课程:第一阶段 `1_1_hello_world` 至 `1_14_python基础综合项目`、第二阶段 `2_1_模块与包` 至 `2_9_python进阶综合项目`,以及第三阶段 `3_1` 至 `3_5`。
|
||||
- 当前阶段:第四阶段——数据库编程。
|
||||
- 当前课程:`4_2_Python数据库事务与数据访问层`。
|
||||
- 当前状态:第四阶段前两课已完成,并通过 PostgreSQL 连接、成功提交和异常回滚验证。
|
||||
- 已完成课程:第一阶段 `1_1_hello_world` 至 `1_14_python基础综合项目`、第二阶段 `2_1_模块与包` 至 `2_9_python进阶综合项目`、第三阶段 `3_1` 至 `3_5`,以及第四阶段 `4_1`、`4_2`。
|
||||
- 学习中的课程:无。
|
||||
- 已创建课程目录:第一阶段全部课程、第二阶段全部课程,以及第三阶段 `3_1` 至 `3_5`。
|
||||
- 下一步:进入第四阶段数据库编程,从数据库与关系型数据库基本概念开始。
|
||||
- 已创建课程目录:第一阶段全部课程、第二阶段全部课程、第三阶段 `3_1` 至 `3_5`,以及第四阶段 `4_1`、`4_2`。
|
||||
- 下一步:进入 `4_3_SQLAlchemy基础`,学习 Engine、Session、声明式模型和 ORM 增删改查。
|
||||
|
||||
## 建议环境
|
||||
|
||||
@@ -216,7 +229,9 @@ Python/
|
||||
- Python:学习开始时选择当前稳定版本;
|
||||
- 编辑器:PyCharm 或 Visual Studio Code;
|
||||
- 命令行:PowerShell;
|
||||
- 数据库:前期可使用 SQLite,后期学习 MySQL 或 PostgreSQL;
|
||||
- 数据库:第四阶段统一使用专用的远程 PostgreSQL 练习数据库;
|
||||
- Python 数据库驱动:Psycopg 3;
|
||||
- 对象关系映射工具:SQLAlchemy 2.x;
|
||||
- 浏览器:Chrome、Edge 或其他现代浏览器。
|
||||
|
||||
具体版本和安装步骤将在第一课中核对并讲解,避免因为版本变化使用过时的安装方式。
|
||||
@@ -232,4 +247,4 @@ Python/
|
||||
5. 使用鸭子类型接入通知器;
|
||||
6. 验证正常流程和主要异常流程。
|
||||
|
||||
下一步进入第四阶段数据库编程,将逐步学习 SQL,并把内存版图书管理系统升级为持久化版本。
|
||||
第四阶段前两课已经完成,能够使用本地 TOML 配置、Psycopg 3 和参数化 SQL 安全访问远程 PostgreSQL,并通过转账场景掌握事务提交、异常回滚、批量操作以及 Repository/Service 分层。下一步进入 SQLAlchemy 2.x 基础。
|
||||
|
||||
Reference in New Issue
Block a user