厦门大学计算机系本科生课程
《数据库系统原理》
2019春季学期班级主页
时间地点:周一上午34节学生公寓教学楼302,周五上午34节学生公寓教学楼302
主讲人:厦门大学计算机科学系 林子雨 博士/助理教授
(E-mail: ziyulin@xmu.edu.cn, 个人主页:https://dblab.xmu.edu.cn/post/linziyu)
6月4日(周二)上午10点30分到12点30分期末考试
期末大作业已经发布,6月2日(周日)晚23点之前提交
班级信息|课程简介|教师简介|学生名单|公告板|上课进度表|课件下载|课后作业|上机实验|课外阅读| 班级相册
(扫一扫手机访问本主页)
2019年3月25日教学示范岗全校观摩课
班级名称:林子雨主讲《数据库系统原理》2019班级
课程性质:厦门大学计算机系科学系本科生必修课
上课学生:厦门大学计算机系科学系2016级本科生(大三下学期)56人
授课教师:林子雨
开课学期:2019年春季学期(2月到6月)
课程学时:每周4节理论课,2节实验课,4学分,70学时
上课时间地点:(1)理论课:周一上午34节学生公寓教学楼302;周五上午34节学生公寓教学楼302;(2)实验课:3-13(单)周 星期五 第5-8节 ;海韵实验楼
课程助教:厦门大学数据库实验室2018级硕士研究生郑宛玉同学(E-mail:zhwy1996@yeah.net)和厦门大学数据库实验室2018级硕士研究生陈杰祥同学(E-mail:cj14348@126.com)。
1. 课程基本信息
课程编号:212019
课程名称(中文):数据库系统原理
课程名称(英文):Principle of Database System
开课学期:本科生大三下学期
课程类别: 核心专业基础课程
总学时数与学分: 56学时(4学分,不含实验课时,4学时/周)
先修课程:计算机导论、高级语言程序设计、集合论与图论、数据结构。
教学形式:课堂讲授 + 课外教学 + 实验教学(实验部分实行单列)
使用教材: 王珊,萨师煊:数据库系统概论(第五版),高等教育出版社,2014第五版
教学参考书(更多的内容见参考书目录):
考核形式:期末闭卷笔试,期末成绩由平时成绩和笔试成绩构成,其中,平时成绩占30%,笔试成绩占70%。
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 | 复习 |
林子雨,男,1978年出生,博士(毕业于北京大学),现为厦门大学计算机科学系助理教授(讲师),曾任厦门大学信息科学与技术学院院长助理、晋江市发展和改革局副局长。中国计算机学会数据库专业委员会委员,中国计算机学会信息系统专业委员会委员。国内高校首个“数字教师”提出者和建设者,厦门大学数据库实验室负责人,厦门大学云计算与大数据研究中心主要建设者和骨干成员,2013年度和2017年度厦门大学教学类奖教金获得者,荣获2017年福建省精品在线开放课程、2018年厦门大学高等教育成果特等奖、2018年福建省高等教育教学成果二等奖和2018年国家精品在线开放课程。主要研究方向为数据库、数据仓库、数据挖掘、大数据、云计算和物联网,并以第一作者身份在《软件学报》《计算机学报》和《计算机研究与发展》等国家重点期刊以及国际学术会议上发表多篇学术论文。作为项目负责人主持的科研项目包括1项国家自然科学青年基金项目(No.61303004)、1项福建省自然科学青年基金项目(No.2013J05099)和1项中央高校基本科研业务费项目(No.2011121049),主持的教改课题包括1项2016年福建省教改课题和1项2016年教育部产学协作育人项目,同时,作为课题负责人完成了国家发改委城市信息化重大课题、国家物联网重大应用示范工程区域试点泉州市工作方案、2015泉州市互联网经济调研等课题。中国高校首个“数字教师”提出者和建设者,2009年至今,“数字教师”大平台累计向网络免费发布超过500万字高价值的研究和教学资料,累计网络访问量超过500万次。打造了中国高校大数据教学知名品牌,编著出版了中国高校第一本系统介绍大数据知识的专业教材《大数据技术原理与应用》,并成为京东、当当网等网店畅销书籍;建设了国内高校首个大数据课程公共服务平台,为教师教学和学生学习大数据课程提供全方位、一站式服务,年访问量超过100万次。
发布时间 | 内容 |
2019年2月13日 | 班级主页正式发布 |
2019年2月13日 | 认真备课,迎接第1次课 |
2019年3月18日 | 雷蕴奇、谢怡、冯少荣等老师来听课 |
2019年3月22日 | 学校派游佰强老师来听课 |
2019年3月25日 | 数据库全校观摩课,黄保和、王连生、曲延云、谢怡、曹刘娟等老师来听课,学校派来摄像师全程录像 |
2019年4月1日 | 学校教务处派老师来教室听课,听课老师评价林子雨老师的课,是他听过的所有课程中,学生课堂互动最好的课程 |
2019年4月15日 | 学校教务处派老师来教室听课,听课老师评价林子雨老师的课,效果很好 |
2019年5月7日 | 期末考试确定在6月4日(周二)上午10点30分到12点30分 |
2019年6月4日 | 期末考试顺利结束 |
本班级具体名单如下(人):
次数 | 周数 | 日期 | 章节 | 教材进度 | 内容 |
1 | 1 | 2019年2月18日周一上午34节 | 第1章绪论 | 第5版教材第6页讲完第1.1.1节 | 第1节自我介绍、教学大纲、考核方法、班级网站和助教介绍,讲解了数据库发展里程碑式人物,第2节课
讲完了1.1.1数据、数据库、数据库管理系统、数据库系统和 |
2 | 1 | 2019年2月22日周五上午34节 | 第1章绪论 | 讲到1.2.3.5 概念模型的一种表示方法:实体-联系方法,讲到职工自己实体的联系第2节课讲完了第1.2节数据模型 | |
3 | 2 | 2019年2月25日周一上午34节 | 第1章 绪论第2章 关系数据库 | 第1章 绪论结束第2章 关系数据库讲完了2.3.3参照完整性 | |
4 | 2 | 2019年 3月1日周五上午34节 | 第2章 关系数据库 | 讲完第2章 第2.4.2节专门的关系运算 | |
5 | 3 | 2019年 3月4日周一上午34节 | 第2章 关系数据库 第3章 关系数据库标准语言SQL |
第1节课讲完第2章的最后作业,并且10分钟给同学做课堂作业 第2节课讲解第3章 关系数据库标准语言SQL 讲完了第3.2节 学生-课程数据库 |
|
6 | 3 | 2019年 3月8日周五上午34节 | 第3章 关系数据库标准语言SQL | 第1节课讲解数据库创建和表的创建、修改方法 第2节课讲解索引概念和创建方法 |
|
7 | 4 | 2019年 3月11日周一上午34节 | 第3章 关系数据库标准语言SQL | 第1节讲LIKE\NULL\IN\ORDER BY聚集函数、GROUP BY第2节 课堂10分钟完成作业 | |
8 | 4 | 2019年 3月15日周五上午34节 | 第3章 关系数据库标准语言SQL | 第1节讲等值连接、自然连接、外连接、非等值连接、自身连接、复合条件连接、多表连接第2节讲嵌套查询IN、带有比较运算符的嵌套查询、带有ANY和ALL的子查询 | |
9 | 5 | 2019年 3月18日周一上午34节 | 第3章 关系数据库标准语言SQL | 第1节讲了SQL分页语句、EXISTS语句第2节讲了EXISTS语句两个实例,并布置课堂作业 | |
10 | 5 | 2019年 3月22日周五上午34节 | 第3章 关系数据库标准语言SQL | 第1节课讲集合操作(并、交、差)、数据更新第2节课讲视图 | |
11 | 6 | 2019年3月25日周一上午 | 第3章关系数据库标准语言SQL | 第1节课讲解课堂作业(2018年期末试卷题目),第2节课讲完了作业以后,讲解视图,讲完了3.6.2查询视图 | |
12 | 6 | 2019年3月29日周五上午34届 | 第3章关系数据库标准语言SQL
第4章数据库安全性 |
第1节课讲完第3章剩余内容,第2节课讲解第4章数据库安全性,并讲解了登录名和用户的创建,以及grant和revoke授权语句。 | |
13 | 7 | 2019年4月1日周一上午34节 | 第4章数据库安全性和第5章数据库完整性 | 第1节课继续讲完角色授权,并做了课堂作业(视图授权),第2节课讲解第5章数据库完整性,讲完了5.2参照完整性 | |
14 | 7 | 2019年4月5日周五上午34节 | 清明节放假冲掉一次课 | ||
15 | 8 | 2019年4月8日周一上午34节 | 第5章数据库完整性 | 第5章数据库完整性,第1节课讲课清单(1),第2节课讲课清单(2),完整性约束 | |
16 | 8 | 2019年4月12日周五上午34节 | 第5章数据库完整性 | 第5章数据库完整性,触发器,实例加上课堂作业,5.7断言 | |
17 | 9 | 2019年4月15日周一上午34节 | 第6章 关系数据库 | 第6章关系数据理论,讲解了“问题的提出”和1NF | |
18 | 9 | 2019年4月19日周五上午34节 | 第6章 关系数据库 | 第6章关系数据理论,讲完了4NF和规范化理论 | |
19 | 10 | 2019年4月22日周一上午34节 | 第6章 关系数据库 | 第6章关系数据理论,讲完了Armstrong公理系统完备性证明 | |
20 | 10 | 2019年4月26日周五上午34节 | 第6章 关系数据库 | 第6章关系数据理论,讲完了6.3数据依赖的公理系统,下节课该讲6.4模式的分解 | |
21 | 11 | 2019年4月29日周一上午34节 | 第6章 关系数据库 | 第6章关系数据理论 全部结束 | |
22 | 11 | 2019年5月5日(周日) | 第8章数据库编程 | 五一节调休,补上5月3日周五的课
第8章数据库编程 讲完8.1节嵌入式SQL |
|
23 | 12 | 2019年5月6日周一上午34届 | 第8章数据库编程
第7章数据库设计 |
讲完第8章所有剩余内容。讲了第7.1数据库设计概述 | |
24 | 12 | ||||
25 | 13 | ||||
26 | 13 | ||||
27 | 14 | ||||
28 | 14 |
章节 | 内容提要 | 讲义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。
实验报告请统一发送电子邮件到:xmudblab2019@163.com,助教会统计收到作业情况上报给老师,然后由老师通知哪些同学作业没有提交(或没有提交成功)。
实验题目 | 上机日期 | 下载实验指南 | 上机报告提交截止日期 |
实验1:数据库的基本使用 | 2019年3月8日周五下午5678节 | 下载 | 2019年 3月14日周四晚上11点之前提交到xmudblab2019@163.com |
实验2:数据查询 | 2019年3月22日周五下午5678节 | 下载 | 2019年3月28日周四晚上11点之前提交到xmudblab2019@163.com |
实验3:数据更新、视图、权限管理 | 2019年4月5日周五下午5678节 | 下载 | 2019年 4月11日周四晚上11点之前提交到xmudblab2019@163.com |
实验4:数据库完整性 | 2019年4月19日周五下午5678节 | 下载 | 2019年 4月25日周四晚上11点之前提交到xmudblab2019@163.com |
实验5:基于Sql2005的C/S程序开发 | 2019年5月3日周五下午5678节 | 下载 | 2019年 5月9日周四晚上11点之前提交到xmudblab2019@163.com |
实验6:过程语言 | 2019年5月17日周五下午5678节 | 下载 | 2019年 5月23日周四晚上11点之前提交到xmudblab2019@163.com |
实验7-大实验(期末,小组2-3人合作) | 课后在宿舍或实验室完成 | 下载 | 2019年6月2日(周日)晚上23点之前提交到xmudblab2019@163.com超过截止提交时间一律以 0分计算 |
实验相关资料下载
课程助教
郑宛玉 厦大计算机系2018级研究生 E-mail:zhwy1996@yeah.net |
陈杰祥 厦大计算机系2018级研究生 E-mail:cj14348@126.com |
为同学留下美好的课堂记忆