UniMate AI

COMP3311

数据库系统

6 学分难度 中等

课程定位 COMP3311 是 UNSW 计算机专业最实用、选课量最大的必修课之一。在数据驱动的今天,几乎所有软件系统的核心都是数据库。这门课教你如何设计、查询、管理并优化支撑大规模应用的数据底层。它不仅涵盖了基础的 SQL 编写,更深入探讨了关系代数、范式理论及存储引擎原理。它是通往后端开发、数据分析及系统架构师岗位的必经之路。 技术栈与学习内容 课程以 PostgreSQL 为核心载体,深度攻克:关系模型与 ER 建模、复杂的 SQL 查询(多表联查、窗口函数、CTE)、关系代数 (Relational Algebra)、数据库范式理论 (1NF/2NF/3NF/BCNF)、存储过程与触发器 (PL/pgSQL)、以及索引优化基础。此外,课程还重点探讨了事务管理 (ACID) 与并发控制。学生将学习如何利用 Python 与数据库进行驱动交互。 课程结构 10 周理论与快节奏实验(Labs)结合。前期聚焦数据建模与关系代数,中期深入 SQL 极限挑战与范式理论,后期转向数据库内部机制与优化。评估体系包含:每周的高压 SQL 练习、两个极具实战性的编程项目(Assignment,通常是编写复杂的分析查询或构建数据库驱动的 Web 后端)、以及一场考察逻辑严密性与查询优化能力的期末大考。 适合人群 计算机、IT 专业大二/大三学生。如果你想搞清楚‘为什么我的网页加载这么慢’或者想在面试中秒杀复杂的 SQL 联查题,这门课是你的宝典。建议每周投入 12-15 小时。

Syllabus

每周大纲

  1. 1

    数据库概论与 ER 建模

    数据模型分类,实体关系图 (ER) 设计,将需求转化为物理模式的逻辑路径。

  2. 2

    关系模型与代数

    元组、属性与域,关系代数六大基本运算(选择、投影、连接等)深度推导。

  3. 3

    SQL 基础与单表查询

    Select-From-Where 结构,聚合函数 (Group By),过滤条件逻辑判定。

  4. 4

    SQL 进阶:多表与联查

    各种 Join 区别,子查询与相关子查询,集合运算 (Union, Intersect, Except)。

  5. 5

    复杂查询与视图

    通用表达式 (CTE),视图 (Views) 的物理实现,利用 SQL 处理递归数据结构。

  6. 6

    灵活性周 (Flex Week)

    复习关系代数,冲刺第一个大型 SQL 统计分析 Assignment。

  7. 7

    数据库范式理论

    函数依赖 (FD),求候选码算法,3NF 与 BCNF 分解,保持依赖与无损连接判定。

  8. 8

    存储过程与触发器

    PL/pgSQL 编程,触发器逻辑,如何利用后端函数实现复杂商业约束。

  9. 9

    索引与查询优化

    B-Tree 索引原理,执行计划 (Explain),Hash 索引,优化慢查询的工程策略。

  10. 10

    事务管理与总结

    事务 ACID 特性,并发冲突类型,全学期数据版图大回顾;考前冲刺。

Assessment

考核结构

Weekly SQL Exercises

每周发布的在线挑战,涵盖从基础筛选到复杂递归的 SQL 编写任务。

15%

Week 10

Programming Assignment 1

针对一大型政府数据集(如人口调查)编写一系列高难度的统计分析 SQL。

20%

Week 6

Programming Assignment 2

利用 Python/Flask 结合 PostgreSQL 构建一个动态数据库驱动的信息管理系统。

25%

Week 9

Final ExaminationHurdle

综合考察关系代数转换、范式分解证明及 SQL 优化逻辑的笔试。

40%

Week 11

From Seniors

学长留下的

基础信息谁都查得到,真正值钱的是过来人的经验。

学姐说

比你早一年的学长留下的真实经验 —— ChatGPT 给不了。

这门课还没有学长经验,你可以是第一个 —— 注册后在课内分享。

往年考点 / 踩坑

这门课暂无往年考点记录。

毕业生去向(整体)

下面是匠人学院毕业生整体去过的公司分布(来自脱敏校友证言)。这是全平台的总体去向,不代表选这门课的人一定去这些公司。

统计自 313 份脱敏校友证言

Deloitte

6 位校友

岗位:Graduate Program · Graduate Consulting · Platform Engineer · Web developer · Platform engineer

Zerologix

4 位校友

岗位:Frontend Dev · junior frontend developer · Front-end Developer · Full Stack Developer

Servian

4 位校友

岗位:Full-stack Developer · Data Engineer · Consultant

关于这块数据,我们说实话

雇主墙来自脱敏毕业生证言(testimonials)的整体分布,无法关联到具体学员或其所选课程;仅作为毕业生去向的总体社会证明展示。

我们没有"某位学长选了这门课、后来进了哪家公司"这种可查询的个人去向档案 —— 校友证言是脱敏的,无法关联到具体的人或他选过的课。所以这里只给整体分布,不给个人路径,不编。