数据库课程相关仓库:包含讲义笔记(.dbcnb / .md)、Vue 示例工程 opening/,以及 TypeScript + MySQL 演示项目 sql-in-ts/。
根目录编号讲义与文档大致对应以下主题(文件名中的序号即建议学习顺序):
| 材料 | 内容概要 |
|---|---|
0. 数据库初始化.md | MySQL/MariaDB 与 MongoDB 的安装与账号、库、示例数据初始化 |
1. 初识DB.dbcnb | 数据库基本概念与入门 |
2. SQL数据类型.dbcnb | SQL 常见数据类型与使用要点 |
3. SQL 键、约束与关系.dbcnb | 主键/外键、约束与表间关系建模 |
4. SQL 索引.dbcnb | 索引原理与查询优化相关基础 |
5. SQL注入与ORM.dbcnb | SQL 注入风险与 ORM 等防护思路 |
6. SQL事务.dbcnb | 事务、ACID 与并发下的数据一致性 |
7. JSON.md | JSON 数据格式及其与数据存储/交换的常见用法 |
8. MongoDB 简介.dbcnb | 文档型数据库 MongoDB 的基本概念与操作入门 |
sql-in-ts/ 将上述部分主题落地为可运行代码:批量造数、故意不安全的注入示例、参数化/简单 ORM、TypeORM、转账场景的事务演示等(详见该目录 README)。opening/ 为 Vue 3 + Vite 前端工程,可用于配合课堂展示或扩展练习。
以下步骤与仓库根目录的 0. 数据库初始化.md 一致,按顺序在本地或容器内执行即可。
mysql 或 mariadb):mysql
test,密码 123456,可从任意主机 % 连接):create user 'test'@'%' identified by '123456';
grant all on *.* to 'test'@'%' with grant option;
说明:
sql-in-ts/.env已默认使用DB_USER=test、DB_PASSWORD=123456。若你改用其他账号,请同步修改.env。
mongosh:mongosh
admin 库创建管理员用户(与文档一致的用户名与密码):use admin
db.createUser({
user: "test",
pwd: "123456",
roles: [{ role: "userAdminAnyDatabase", db: "admin"}]
})
LearnDB(若尚未存在会在首次写入时创建):use LearnDB
db.students.insertOne({
name: "张三",
age: 20
});
| 目录 | 说明 |
|---|---|
sql-in-ts/ | MySQL 安全与 ORM 等 TypeScript 示例;依赖已初始化的 MySQL 账号,并需创建 LearnDB 及表结构,详见该目录下的 sql-in-ts/README.md。 |
opening/ | Vue 3 + Vite 前端示例,见 opening/README.md。 |
.ide/Dockerfile | 可选:集成 MariaDB、MongoDB、Node 等的教学环境镜像参考。 |
更多课堂材料见仓库内各编号讲义文件。