厦门大学计算机系本科生课程
《数据库系统原理》
2024春季学期班级主页
时间地点:1-14周 星期四 第3节-第4节 坤銮楼(2号楼)C204,1-14周 星期一 第5节-第6节 坤銮楼(2号楼)C204,4-14周(双) 星期四 第5节-第8节 文宣楼(4号楼)A402
期末考试定在6月17日(周一)上午8点到10点,学武楼(1号楼)A302
主讲人:厦门大学计算机科学系 林子雨 博士/副教授
(E-mail: ziyulin@xmu.edu.cn, 个人主页:https://dblab.xmu.edu.cn/post/linziyu)
班级信息|课程简介|教师简介|学生名单|公告板|课件下载|课后作业|上机实验|课外阅读| 班级相册
(扫一扫手机访问本主页)
班级名称:林子雨主讲《数据库系统原理》2024班级
课程性质:厦门大学计算机系科学系本科生必修课
上课学生:厦门大学计算机系科学系2021级本科生(大三下学期)
授课教师:林子雨
开课学期:2024年春季学期(2024年2月到6月)
课程学时:每周4节理论课,2节实验课,4学分,70学时
上课时间地点:1-14周 星期四 第3节-第4节 坤銮楼(2号楼)C204,1-14周 星期一 第5节-第6节 坤銮楼(2号楼)C204,4-14周(双) 星期四 第5节-第8节 文宣楼(4号楼)A402
课程助教:厦门大学数据库实验室2023级硕士研究生黄万嘉同学和厦门大学数据库实验室2023级硕士研究生曹基民同学。
1. 课程基本信息
课程编号:212019
课程名称(中文):数据库系统原理
课程名称(英文):Principle of Database System
开课学期:本科生大三下学期
课程类别: 核心专业基础课程
总学时数与学分: 56学时(4学分,不含实验课时,4学时/周)
先修课程:计算机导论、高级语言程序设计、集合论与图论、数据结构。
教学形式:课堂讲授 + 课外教学 + 实验教学(实验部分实行单列)
使用教材: 王珊,萨师煊:数据库系统概论(第五版),高等教育出版社,2014第五版
教学参考书(更多的内容见参考书目录):
考核形式:期末闭卷笔试,期末成绩由平时成绩和笔试成绩构成,其中,平时成绩占10%,实验成绩占40%,笔试成绩占50%。
Date C J, An Introduction to Database System (Ed.8), Addison-Wesley,2003
施伯乐 周傲英 著《数据库系统教程》,高等教育出版社,2000
大纲制定者:张东站、林子雨
2.课程简介
数据库理论和技术是计算机专业基础课,也是计算机工程技术人员必备的知识和技能,属于必修课。本课程的教学任务是针对大量数据管理操作,全面介绍数据库系统的基本概念、基本原理和核心技术,使学生建立扎实的关系数据库理论基础,掌握现代信息系统中数据库开发技术,简单了解目前数据库发展的前沿技术。课程内容包括数据库的基本概念、关系数据库的模型和操作语言、数据库操作语言SQL、数据库安全性、数据库完整性、关系数据库理论、数据库设计、数据库编程、数据库技术新发展等。
3.培养目标
本课程旨在帮助学生系统掌握数据库系统的基本原理、概念、模型、结构、方法,能够从事复杂数据库系统的设计、开发、研究和应用工作,并为从事计算机各领域的科研及毕业后走向各工作岗位打下数据库基础,在教学过程中注重通过各种形式加强对学生下列能力的培养:
(1)分析、归纳和设计能力:深刻理解基本概念和方法,学会数据库系统的分析方法,归纳各种概念,权衡各方因素,设计合理系统。
(2)实践开发,调试能力:能够动手开发成功的数据库应用系统。
(3)自学能力:数据库软件很多、发展快,绝大多数软件和技术,都需要学生在实验或课余时间自学掌握,课堂重在讲方法和个案剖析。
(4)系统集成能力:掌握数据库与其他部分、数据库与数据库之间、各种异构系统之间的集成能力,把握复杂系统的整体结构。
(5)研究创新能力:数据库技术发展快,新内容层出不穷,课程需要培养学生学习类比能力,观察提炼,提出新问题、新概念、新方法。
4.教学进度表
周数
(按校历) |
各章节教学内容纲要 | 课时安排(学时) | ||||
授课 | 讨论 | 实验/上机 | 实践 | 其他 | ||
1 | 第一章绪论 数据库基本概念 |
4 | 0 | 0 | 0 | 0 |
2 | 第一章绪论 数据模型、数据库系统结构 第二章关系数据库 关系数据库结构及形式化定义、关系操作、关系的完整性 |
4 | 0 | 0 | 0 | 0 |
3 | 第二章关系数据库 关系代数 |
4 | 0 | 4 | 0 | 0 |
4 | 第三章 关系数据库操作语言-SQL 关系数据库SQL语句、数据定义 |
4 | 0 | 0 | 0 | 0 |
5 | 第三章 关系数据库操作语言-SQL 数据查询、数据更新、视图 |
4 | 0 | 4 | 0 | 0 |
6 | 第四章 数据库安全性 自主存取控制、强制存取控制、视图机制、审计、数据加密 |
4 | 0 | 0 | 0 | 0 |
7 | 第五章 数据库完整性 实体完整性、参照完整性、用户定义的完整性、完整性约束命名子句、断言、触发器 |
4 | 0 | 4 | 0 | 0 |
8 | 第六章 关系数据库理论 规范化(2NF/3NF/BCNF/4NF) |
4 | 0 | 0 | 0 | 0 |
9 | 第六章 关系数据库理论 数据依赖的公理系统 |
4 | 0 | 4 | 0 | 0 |
10 | 第六章 关系数据库理论 模式分解 |
4 | 0 | 0 | 0 | 0 |
11 | 第七章 数据库设计 需求分析、概念设计 |
4 | 0 | 4 | 0 | 0 |
12 | 第七章 数据库设计 逻辑设计、物理设计第八章 数据库编程 嵌入式SQL、存储过程 |
4 | 0 | 0 | 0 | 0 |
13 | 第八章 数据库编程 ODBC编程第九章 数据库新技术 数据仓库 |
4 | 0 | 4 | 0 | 0 |
14 | 第九章 数据库新技术 NoSQL、大数据 |
4 | 0 | 0 | 0 | 0 |
15 | 复习 | |||||
16 | 复习 |
次数 | 周数 | 日期 | 章节 | 教材进度 | 内容 |
1 | 1 | 2024年2月26日周一下午56节 | 第1章绪论 | 第1节自我介绍、教学大纲、考核方法、班级网站和助教介绍,讲解了数据库发展里程碑式人物,第2节课讲完了1.1.1数据、数据库、数据库管理系统、数据库系统和 1.1.3 数据管理技术的产生与发展 1.1.4 数据库系统的特点 |
|
2 | 1 | 2024年2月29日周四34节 | 第1章绪论 | 讲到1.2.3.5 概念模型的一种表示方法:实体-联系方法,讲到职工自己实体的联系第2节课讲完了第1.2节数据模型 | |
3 | 2 | 2024年3月4日周一下午56节 | 第1章 绪论第2章 关系数据库 | 第1章 绪论结束第2章 关系数据库讲完了2.3.3参照完整性 | |
4 | 2 | 2024年3月7日周四34节 | 第2章 关系数据库 | 讲完第2章 第2.4.2节专门的关系运算 | |
5 | 3 | 2024年3月11日周一下午56节 | 第2章 关系数据库 第3章 关系数据库标准语言SQL |
第1节课讲完第2章的最后作业,并且10分钟给同学做课堂作业 第2节课讲解第3章 关系数据库标准语言SQL 讲完了第3.2节 学生-课程数据库 |
|
6 | 3 | 2024年3月14日周四34节 | 第3章 关系数据库标准语言SQL | 第1节课讲解数据库创建和表的创建、修改方法 第2节课讲解索引概念和创建方法 |
|
7 | 4 | 2024年3月18日周一下午56节 | 第3章 关系数据库标准语言SQL | 第1节讲LIKE\NULL\IN\ORDER BY聚集函数、GROUP BY第2节 课堂10分钟完成作业 | |
8 | 4 | 2024年3月21日周四34节 | 第3章 关系数据库标准语言SQL | 第1节讲等值连接、自然连接、外连接、非等值连接、自身连接、复合条件连接、多表连接第2节讲嵌套查询IN、带有比较运算符的嵌套查询、带有ANY和ALL的子查询 | |
9 | 5 | 2024年3月25日周一下午56节 | 第3章 关系数据库标准语言SQL | 第1节讲了SQL分页语句、EXISTS语句第2节讲了EXISTS语句两个实例,并布置课堂作业 | |
10 | 5 | 2024年3月28日周四34节 | 第3章 关系数据库标准语言SQL | 第1节课讲集合操作(并、交、差)、数据更新第2节课讲视图,并且用25分钟做了考试真题 | |
11 | 6 | 2024年4月1日周一下午56节 | 第3章 关系数据库标准语言SQL | 第1节课让学生做SQL综合练习题目2道并讲解,第2节课课程思政 | |
6 | 2024年4月4日周四34节 | 清明节放假停课一次 | |||
12 | 7 | 2024年4月8日周一下午56节 | 第4章数据库安全性 | 讲解第4章数据库安全性,讲完4.2.6强制存取控制方法MAC | |
13 | 7 | 2024年4月11日周四34节 |
第4章数据库安全性 第5章数据库完整性 |
讲完第4章数据库安全性,讲了第5章数据库完整性,讲完了讲课任务清单(1)。 | |
14 | 8 | 2024年4月12日周五晚上9、10节 | 第5章数据库完整性 | 讲了第5章数据库完整性,讲完了5.6触发器 (林子雨老师去成都出差,把4月18日课程调整到4月12日) |
|
15 | 8 | 2024年4月15日周一下午56节 |
第5章数据库完整性 |
第1节课用20分钟讲完了触发器,结束了第5章。 剩余时间讲解第6章关系数据理论,讲解到6.2.4 2NF |
|
8 | 2024年4月18日周四34节 |
|
(林子雨老师去成都出差,把4月18日课程调整到4月12日) | ||
16 | 9 | 2024年4月22日周一下午56节 | 第6章关系数据理论 | 从2NF开始,讲完了BCNF范式 | |
17 | 9 | 2024年4月25日周四34节 | 第6章关系数据理论 | 从4NF开始讲,讲到了函数依赖集等价 | |
18 | 9 | 2024年4月28日周日上午34节 | 第6章关系数据理论 |
讲了最小依赖集,极小化过程,候选码的求解,做了45分钟的几道课堂作业 (五一放假调休,5月2日课程调整到4月28日) |
|
19 | 10 | 2024年4月29日周一下午56节 | 第6章关系数据理论 第8章数据库编程 |
第1节课和第2节课前25分钟讲解6.4 模式分解。 第2节课后20分钟讲解第8章数据库编程,讲到“建立和关闭数据库连接” |
|
20 | 10 | 2024年5月2日周四34节 | 五一节放假 | ||
21 | 11 | 2024年5月6日周一下午56节 | 第8章数据库编程 | 讲解第8章数据库编程,讲了C语言编写嵌入式程序、游标,做了2道课堂作业 | |
22 | 11 | 2024年5月9日周四34节 | 第8章数据库编程 第7章数据库设计 |
第1节课做了2道课堂作业(存储过程) 第2节课 讲解JDBC编程,第7章数据库设计,讲到了7.1数据库设计步骤 |
|
23 | 12 | 2024年5月13日周一下午56节 | 第7章数据库设计 第9章数据库查询与优化 |
第7章数据库设计 第9章数据库查询与优化 |
|
24 | 12 | 2024年5月16日周四34节 | 第9章数据库查询与优化 云计算概念 |
||
25 | 13 | 2024年5月20日周一下午56节 | 云计算 | ||
26 | 13 | 2024年5月23日周四34节 | 区块链 | ||
27 | 14 | 2024年5月27日周一下午56节 | 期末试卷讲解与复习要点 | ||
28 | 14 | 2024年5月30日周四34节 | 第1节讲解区块链,第2节课程思政,介绍学生未来发展路径 | ||
林子雨,男,1978年出生,博士,国内高校知名大数据教师,厦门大学计算机科学与技术系副教授,厦门大学数据库实验室负责人,中国计算机学会数据库专委会委员,中国计算机学会信息系统专委会委员,全国工业大数据行业产教融合共同体特聘专家,入选“2021年高校计算机专业优秀教师奖励计划”,荣获“2022年福建省高等教育教学成果奖特等奖(个人排名第一)”和“2018年福建省高等教育教学成果奖二等奖(个人排名第一)”,编著出版13本大数据系列教材,被国内500多所高校采用,建设了国内高校首个大数据课程公共服务平台,平台累计网络访问量超过2500万次,成为全国高校大数据教学知名品牌,主持的课程《大数据技术原理与应用》获评“2018年国家精品在线开放课程”和“2020年国家级线上一流本科课程”,主持的课程《Spark编程基础》获评“2021年国家级线上一流本科课程”。建设的大数据系列MOOC课程入选“教育部国家智慧教育公共服务平台应用典型案例”。
发布时间 | 内容 |
2024年1月3日 | 班级主页正式发布 |
邓标涌、王奕通、秦莹莹、谢允豪、张腾家、吴昕桦、刘焕华、白飞、毕岑、蔡奇志、陈金富、陈景轩、陈凌云、陈钦炜、陈宇坤、陈梓翔、邓语苏、杜俊鹏、傅梦琦、郭潇、洪培钧、洪子茹、黄成选、黄浩真、黄硕、黄洋、简子皓、雷杰、李东骏、李好、廖建钧、廖智宇、林晨、林丹凤、林立铭、林彦辉、林于昕、刘浩然、刘心雨、刘鑫、刘俣璇、骆志颜、马佳瑶、聂志成、彭溢炜、邱剑斌、尚钰哲、沈煜、覃玮婷、汪程、王嘉庆、吴佳君、吴逸轩、徐文韵、许晓莉、杨联锴、杨尚学、杨煜韬、杨智夫、姚岚杰、余承恩、袁奇、袁烨、张浩宇、张欣珏、张永程、赵薪迦、郑子睿、周若妍、周知达、周子夏、朱卉祥、朱纪玉、朱鹏宇、莊孟潔、韩可可、刘昊洋、郭智明、屈方园、张杰、宾浩然、吕培望、赖文豪、毕新博、黄智林、阮华、唐佳伟
章节 | 内容提要 | 讲义PPT(PPT格式) | 讲义PPT(PDF格式) |
第1章 绪论 | 课程介绍、数据库的基本概念 | 下载 | 下载 |
第2章 关系数据库 | 关系数据库结构及形式化定义、关系操作、关系的完整性、关系代数 | 下载 | 下载 |
第3章关系数据库标准语言SQL | 关系数据库SQL语句、数据定义、数据查询、数据更新、视图 第3章老师上课用来创建数据库的SQL语句 |
下载 | 下载 |
第4章数据库安全性 | 自主存取控制、强制存取控制、视图机制、审计、数据加密 | 下载 | 下载 |
第5章数据库完整性 | 实体完整性、参照完整性、用户定义的完整性、完整性约束命名子句、断言、触发器 | 下载 | 下载 |
第6章关系数据理论 | 规范化(2NF/3NF/BCNF/4NF)、数据依赖的公理系统、模式的分解 | 下载 | 下载 |
第7章数据库设计 | 需求分析、概念设计、逻辑设计、物理设计 | 下载 | 下载 |
第8章数据库编程 | 嵌入式SQL、存储过程、ODBC编程 | 下载 | 下载 |
第9章 数据库查询优化 | 查询优化原理、基于半连接技术的查询优化、基于枚举法的连接优化 | 下载 | 下载 |
往年期末试卷讲解 | 往年期末试卷讲解(2013年、2014年、2015年、2016年) | 下载 |
章节 | 作业布置和提交时间 | 作业内容 | 答案下载 |
第1章 绪论 | 王珊、萨师煊《数据库系统概论(第四版)》教材第38页第12和13题
12.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中,有的教授和副教授每人各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。 13.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所需的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用ER-图画出此工厂产品、零件、材料、仓库的概念模型。 |
下载 | |
第2章关系数据库 | 学生关系S(snum,sname,age,sex)学习关系SC(snum,cnum,grade) 课程关系C(cnum,cname,teacher)(1)检索学习课程号为C2的学生学号与成绩(2)检索学习课程号为C2的学生学号与姓名(3) 检索选修课程名为MATHS的学生学号与姓名(4) 检索选修课程号为C2或C4的学生学号(5)检索至少选修课程号为C2和C4的学生学号(6)检索不学课程号为C2的学生姓名与年龄(7)检索学习全部课程的学生姓名(8)检索所学课程包含学生S3所学课程的学生号 |
见第2章讲义PPT | |
第2章关系数据库 | 王珊、萨师煊《数据库系统概论(第5版)》教材第70页第6题,只需要写出关系代数,不需要写ALPHA语言和QBE语言。 | 下载 | |
第3章关系数据库标准语言SQL | 课堂作业 | 我们拥有下面这个 “Orders” 表:
现在,我们希望查找每个客户的总金额(总订单)。 O_Id OrderDate OrderPrice Customer 语句1:SELECT Customer, SUM(OrderPrice) FROM Orders 语句2:SELECT Customer,SUM(OrderPrice) FROM Orders GROUP BY Customer |
见讲义第3章PPT |
第3章关系数据库标准语言SQL | 课堂作业 | 查询选修了“以数据库作为先行课”的课程的学生姓名和学号 要求: (1)第一种方法:使用多表连接 (2)第二种方法:使用嵌套查询 |
见讲义第3章PPT |
第3章关系数据库标准语言SQL | 第5版教材第3章第130页习题4和习题5 | 下载 | |
第4章数据库安全性 | 第5版教材第155页第7、8题 | 下载 | |
第5章数据库完整性 | 第5版教材第173页 第6题 | 下载 | |
第6章关系数据理论 | 讲义PPT上的作业 | 下载 |
为了拓展自己的知识面,在完成本课程内容的学习以后,感兴趣的同学可以阅读一些老师推荐的课外读物。
读物名称 | 内容提要 | 查看 |
《Architecture of a Database System(中文版)》 |
2015年度图领奖(计算机领域诺贝尔奖)获得者迈克尔.斯通布雷克的经典作品,林子雨老师团队在2013年12月翻译发布后网络转发和浏览量超过50万次。 本文翻译自经典英文论文《Architecture of a Database System》,原文作者是Joseph M. Hellerstein, Michael Stonebraker和James Hamilton。该论文可以作为中国各大高校数据库实验室研究生的入门读物,帮助学生快速了解数据库的内部运行机制。本文一共包括8章,分别是:第1章概述,第2章进程模型,第3章并行体系结构:进程和内存协调,第4章关系查询处理器,第5章存储管理,第6章事务:并发控制和恢复,第7章共享组件,第8章结束语。本文翻译由厦门大学数据库实验室林子雨老师团队合力完成。 |
查看 |
《SQL Server 2008基础教程》 |
详细介绍了SQL Server 2008的组件功能和使用方法 |
查看 |
《深入解析SQL Server 2008 笔记》 |
详细介绍了SQL Server 2008的各种操作 |
查看 |
《SQL Server 2005入门教程》 |
详细介绍SQL Server 2005各种操作 |
下载 |
本课程教学上机实验采用数据库管理系统软件SQL Server 2022,请同学自己本地电脑上安装SQL Server 2022。
实验报告请统一发送电子邮件到:xmudatabase2024@163.com,助教会统计收到作业情况上报给老师,然后由老师通知哪些同学作业没有提交(或没有提交成功)。
实验题目 | 上机日期 | 下载实验指南 | 上机报告提交截止日期 |
实验1:数据库的基本使用 | 下载 | ||
实验2:数据查询 | 下载 | ||
实验3:数据更新、视图、权限管理 | 下载 | ||
实验4:数据库完整性 | 下载 | ||
实验5:基于Sql2005的C/S程序开发 | 下载 | ||
实验6:过程语言 | 下载 | ||
实验7-大实验(期末,小组2-3人合作) | 课后在宿舍或实验室完成 | 下载 | ***之前提交到xmudatabase2024@163.com超过截止提交时间一律以 0分计算 |
课程助教
黄万嘉 厦大计算机系2023级研究生 |
曹基民 厦大计算机系2023级研究生 |
(上图 实验课辅导教师苏淑文、林子雨和张琦老师)
为同学留下美好的课堂记忆