厦门大学计算机系本科生课程
《数据库系统原理》
2023春季学期班级主页
时间地点:3-16周 星期一 1-2节 学武楼(1号楼)C107,6-16周(双) 星期一 5-8节 文宣楼(4号楼)B311,6-16周(双) 星期一 5-8节 文宣楼(4号楼)B312,3-16周 星期四 3-4节 学武楼(1号楼)C107
主讲人:厦门大学计算机科学系 林子雨 博士/副教授
(E-mail: ziyulin@xmu.edu.cn, 个人主页:https://dblab.xmu.edu.cn/post/linziyu)
班级信息|课程简介|教师简介|学生名单|公告板|课件下载|课后作业|上机实验|课外阅读| 班级相册
(扫一扫手机访问本主页)
班级名称:林子雨主讲《数据库系统原理》2023班级
课程性质:厦门大学计算机系科学系本科生必修课
上课学生:厦门大学计算机系科学系2020级本科生(大三下学期)
授课教师:林子雨
开课学期:2023年春季学期(2023年2月到6月)
课程学时:每周4节理论课,2节实验课,4学分,70学时
上课时间地点:(1)理论课:3-16周 星期一 1-2节 学武楼(1号楼)C107,3-16周 星期四 3-4节 学武楼(1号楼)C107(2)实验课:6-16周(双) 星期一 5-8节 文宣楼(4号楼)B404,6-16周(双) 星期一 5-8节 文宣楼(4号楼)B405
课程助教:厦门大学数据库实验室2022级硕士研究生刘浩然同学和厦门大学数据库实验室2022级硕士研究生周宗涛同学。
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 | 3 | 2023年2月27日周一上午12节 | 第1章绪论 | 第1节自我介绍、教学大纲、考核方法、班级网站和助教介绍,讲解了数据库发展里程碑式人物,第2节课讲完了1.1.1数据、数据库、数据库管理系统、数据库系统和 1.1.3 数据管理技术的产生与发展 1.1.4 数据库系统的特点 |
|
2 | 3 | 2023年3月2日周四上午34节 | 第1章绪论 | 讲到1.2.3.5 概念模型的一种表示方法:实体-联系方法,讲到职工自己实体的联系第2节课讲完了第1.2节数据模型 | |
3 | 4 | 2023年3月6日周一上午12节 | 第1章 绪论第2章 关系数据库 | 第1章 绪论结束第2章 关系数据库讲完了2.3.3参照完整性 | |
4 | 4 | 2023年3月9日周四上午34节 | 第2章 关系数据库 | 讲完第2章 第2.4.2节专门的关系运算 | |
5 | 5 | 2023年3月13日周一上午12节 | 第2章 关系数据库 第3章 关系数据库标准语言SQL |
第1节课讲完第2章的最后作业,并且10分钟给同学做课堂作业 第2节课讲解第3章 关系数据库标准语言SQL 讲完了第3.2节 学生-课程数据库 |
|
6 | 5 | 2023年3月16日周四上午34节 | 第3章 关系数据库标准语言SQL | 第1节课讲解数据库创建和表的创建、修改方法 第2节课讲解索引概念和创建方法 |
|
7 | 6 | 2023年3月20日周一上午12节 | 第3章 关系数据库标准语言SQL | 第1节讲LIKE\NULL\IN\ORDER BY聚集函数、GROUP BY第2节 课堂10分钟完成作业 | |
8 | 6 | 2023年3月23日周四上午34节 | 第3章 关系数据库标准语言SQL | 第1节讲等值连接、自然连接、外连接、非等值连接、自身连接、复合条件连接、多表连接第2节讲嵌套查询IN、带有比较运算符的嵌套查询、带有ANY和ALL的子查询 | |
9 | 7 | 2023年3月27日周一上午12节 | 第3章 关系数据库标准语言SQL | 第1节讲了SQL分页语句、EXISTS语句第2节讲了EXISTS语句两个实例,并布置课堂作业 | |
10 | 7 | 2023年3月30日周四上午34节 | 第3章 关系数据库标准语言SQL | 第1节课讲集合操作(并、交、差)、数据更新第2节课讲视图,并且用25分钟做了考试真题 | |
11 | 8 | 2023年4月3日周一上午12节 | 第3章 关系数据库标准语言SQL | 第1节课让学生做SQL综合练习题目2道并讲解,第2节课课程思政 | |
12 | 8 | 2023年4月6日周四上午34节 | 第4章数据库安全性 | 讲解第4章数据库安全性,讲完4.2.6强制存取控制方法MAC | |
13 | 9 | 2023年4月10日周一上午12节 |
第4章数据库安全性 第5章数据库完整性 |
讲完第4章数据库安全性,讲了第5章数据库完整性,讲完了讲课任务清单(1)。 | |
14 | 9 | 2023年4月13日周四上午34节 | 第5章数据库完整性 | 讲了第5章数据库完整性,讲完了5.6触发器 | |
15 | 10 | 2023年4月17日周一上午12节 |
第5章数据库完整性 |
第1节课用20分钟讲完了触发器,结束了第5章。 剩余时间讲解第6章关系数据理论,讲解到6.2.4 2NF |
|
16 | 10 | 2023年4月20日周四上午34节 | 第6章关系数据理论 | 从2NF开始,讲完了BCNF范式 | |
17 | 11 | 2023年4月24日周一上午12节 | 第6章关系数据理论 | 从4NF开始讲,讲到了函数依赖集等价 | |
18 | 11 | 2023年4月27日周四上午34节 | 第6章关系数据理论 | 讲了最小依赖集,极小化过程,候选码的求解,做了45分钟的几道课堂作业 | |
19 | 12 | 2023年5月1日周一上午12节 | 五一节放假冲掉一次课,下午实验课也被冲掉1次 | ||
20 | 12 | 2023年5月4日周四上午34节 | 第6章关系数据理论 第8章数据库编程 |
第1节课和第2节课前25分钟讲解6.4 模式分解。 第2节课后20分钟讲解第8章数据库编程,讲到“建立和关闭数据库连接” |
|
21 | 13 | 2023年5月8日周一上午12节 | 第8章数据库编程 | 讲完了ODBC编程 | |
22 | 13 | 2023年5月11日周四上午34节 | 第8章数据库编程 第7章数据库设计 |
第1节课做了2道课堂作业(存储过程) 第2节课 讲解第7章数据库设计,讲到了7.3.2 概念结构设计的方法与步骤之混合策略 |
|
23 | 14 | 2023年5月15日周一上午12节 | 第7章数据库设计 第9章数据库查询与优化 |
第7章数据库设计 第9章数据库查询与优化 |
|
24 | 14 | 2023年5月18日周四上午34节 | 大数据技术 | ||
25 | 15 | 2023年5月22日周一上午12节 | 云计算与物联网 | ||
26 | 15 | 2023年5月25日周四上午34节 | 区块链技术 | ||
27 | 16 | 2023年5月29日周一上午12节 | 期末试卷讲解与复习要点 | ||
28 | 16 | 2023年6月1日周四上午34节 | 第1节讲解NoSQL数据库,第2节课程思政,介绍林子雨老师通过不懈努力逆天改命的故事 | ||
林子雨,男,1978年出生,博士(毕业于北京大学),现为厦门大学计算机科学系副教授,厦门大学信息学院实验教学中心主任,曾任厦门大学信息科学与技术学院院长助理、晋江市发展和改革局副局长。中国计算机学会数据库专业委员会委员,中国计算机学会信息系统专业委员会委员。国内高校首个“数字教师”提出者和建设者,厦门大学数据库实验室负责人,厦门大学云计算与大数据研究中心主要建设者和骨干成员,2013年度和2017年度厦门大学教学类奖教金获得者,荣获2017年福建省精品在线开放课程、2018年厦门大学高等教育成果特等奖、2018年福建省高等教育教学成果二等奖、2018年国家精品在线开放课程和2022年福建省高等教育教学成果奖特等奖。主要研究方向为数据库、数据仓库、数据挖掘、大数据、云计算和物联网,并以第一作者身份在《软件学报》《计算机学报》和《计算机研究与发展》等国家重点期刊以及国际学术会议上发表多篇学术论文。作为项目负责人主持的科研项目包括1项国家自然科学青年基金项目(No.61303004)、1项福建省自然科学青年基金项目(No.2013J05099)和1项中央高校基本科研业务费项目(No.2011121049),主持的教改课题包括1项2016年福建省教改课题和1项2016年教育部产学协作育人项目,同时,作为课题负责人完成了国家发改委城市信息化重大课题、国家物联网重大应用示范工程区域试点泉州市工作方案、2015泉州市互联网经济调研等课题。中国高校首个“数字教师”提出者和建设者,2009年至今,“数字教师”大平台累计向网络免费发布超过1000万字高价值的研究和教学资料,累计网络访问量超过2000万次。打造了中国高校大数据教学知名品牌,编著出版了中国高校第一本系统介绍大数据知识的专业教材《大数据技术原理与应用》,并成为京东、当当网等网店畅销书籍;建设了国内高校首个大数据课程公共服务平台,为教师教学和学生学习大数据课程提供全方位、一站式服务,累计访问量超过2000万次。
发布时间 | 内容 |
2023年1月19日 | 班级主页正式发布 |
吴凯文 李炜海 梁沐华 宿正昊 谢嘉欣 范阳烂 李其兴 刘思盈 张培良 朱乐天 安怡璐 陈凌辉 陈琦 董芮希 段瑞钦 李帅浩 刘静洋 卢泽英 骆宇华 彭硕 赵小曼 周诚宇 李凯华 江逸涵 张嘉昌 李雯怡 代绍辉 胡轩恺 姜俊宇 黎若涵 李婧 吕铭峰 王芝婧 杨夏婕 杨政 张晋铭 章雨铖 陈湘竹 陈雨轩 成林霖 姜雷 李德艺 李薛恒 李政权 林晨兴 林秋涵 刘政柱 麦润埔 孙志超 王心怡 翁燕冰 吴怡可 肖凯欣 谢哲涵 徐泽森 杨琳 张梓敬 赵淇奥 郑华迪 周文龙 庄常琦 祖丕壹 安竹琳 邓凯文 范留奎 黄婧文 黄昕焕 李佳临 刘景旭 刘苏洁 邵义豪 王卿 徐杰 杨鑫 杨鑫婷 殷天亮 余杰 余兴睿 周芳宇 姚仁杰 范祖鑫 宁孟川 张楷威 李煜 叶韦宏
章节 | 内容提要 | 讲义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 2008,请同学自己本地电脑上安装SQL Server 2008。安装-序-列-号是 PTTFM-X467G-P7RH2-3Q6CG-4DMYB。
实验报告请统一发送电子邮件到:xmudatabase2023@163.com,助教会统计收到作业情况上报给老师,然后由老师通知哪些同学作业没有提交(或没有提交成功)。
实验题目 | 上机日期 | 下载实验指南 | 上机报告提交截止日期 |
实验1:数据库的基本使用 | 下载 | ||
实验2:数据查询 | 下载 | ||
实验3:数据更新、视图、权限管理 | 下载 | ||
实验4:数据库完整性 | 下载 | ||
实验5:基于Sql2005的C/S程序开发 | 下载 | ||
实验6:过程语言 | 下载 | ||
实验7-大实验(期末,小组2-3人合作) | 课后在宿舍或实验室完成 | 下载 | ***之前提交到xmudatabase2023@163.com超过截止提交时间一律以 0分计算 |
实验相关资料下载
课程助教
刘浩然 厦大计算机系2022级研究生 |
周宗涛 厦大计算机系2022级研究生 |
为同学留下美好的课堂记忆
(上图 林子雨老师为周芳宇同学签名赠书2023年4月17日)
(上图 2023年4月24日林子雨为刘思盈同学签名赠书)
(上图 2023年4月27日林子雨为章雨铖同学签名赠书)