林子雨主讲《数据库系统原理》2017班级主页

厦门大学计算机系本科生课程

《数据库系统原理》

2017春季学期班级主页

时间地点:周二上午34节,周五上午34节,海韵教学楼308

主讲人:厦门大学计算机科学系  林子雨  博士/助理教授

(E-mail: ziyulin@xmu.edu.cn, 个人主页:http://www.cs.xmu.edu.cn/linziyu)


班级信息|课程简介|教师简介|学生名单|公告板|上课进度表|课件下载|课后作业|上机实验|课外阅读|班级相册


%e6%95%b0%e6%8d%ae%e5%ba%93%e7%b3%bb%e7%bb%9f%e5%8e%9f%e7%90%862017%e7%8f%ad%e7%ba%a7%e4%b8%bb%e9%a1%b5%e4%ba%8c%e7%bb%b4%e7%a0%81

(扫一扫手机访问本主页)

IMG_0615

班级信息

班级名称:林子雨主讲《数据库系统原理》2017班级

课程性质:厦门大学计算机系科学系本科生必修课

上课学生:厦门大学计算机系科学系2014级本科生(大三下学期)42人

授课教师:林子雨

开课学期:2017年春季学期(2月到6月)

课程学时:每周4节理论课,2节实验课,4学分,80学时

上课时间地点:(1)理论课:星期二第34节 海韵教学楼308;星期五第34节 海韵教学楼308;(2)实验课:3-13(单)周 星期五 第5-8节 ;海韵实验楼404

课程助教:厦门大学数据库实验室2016级硕士研究生魏亮同学(E-mail:851189929@qq.com)和厦门大学数据库实验室2016级硕士研究生曾冠华同学(E-mail:1393723173@qq.com)。

(图 2017年3月3日 同学们在上机实验室)

(2017年3月24日 学生在做课堂作业)

(2017年5月19日 林子雨老师为沈灿辉同学签名赠书)

(图 2017年6月6日 期末考试现场)

课程简介

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年出生,博士(毕业于北京大学),现为厦门大学计算机科学系助理教授(或者“讲师”),海峡云计算与大数据应用研究中心副主任。曾任晋江市发展和改革局副局长、厦门大学信息科学与技术学院院长助理。中国高校首个“数字教师”提出者和建设者,O2O大数据教学理念提出者和践行者,中国高校首个大数据课程公共服务平台建设者,厦门大学数据库实验室负责人,厦门大学云计算与大数据研究中心主要建设者和骨干成员,中国计算机学会数据库专业委员会委员,中国计算机学会信息系统专业委员会委员,荣获“2016中国大数据创新百人”称号。于2001年获得福州大学水利水电专业学士学位,2005年获得厦门大学计算机专业硕士学位,2009年获得北京大学计算机专业博士学位。主要研究方向为数据库、数据仓库、数据挖掘、大数据、云计算和物联网,并以第一作者身份在《软件学报》《计算机学报》和《计算机研究与发展》等国家重点期刊以及国际学术会议上发表多篇学术论文。作为项目负责人主持的科研项目包括1项国家自然科学青年基金项目(No.61303004)、1项福建省自然科学青年基金项目(No.2013J05099)和1项中央高校基本科研业务费项目(No.2011121049)。主讲厦门大学本科生课程《数据库系统原理》、《大数据技术原理与应用》、《C语言程序设计》、《计算机基础》和研究生课程《分布式数据库》、《大数据处理技术》,在教学过程中形成班级网站、结课仪式、师生互动等创新性教学模式方法,志愿编写了多本服务计算机系全体教师教学工作的教学指南;因在教学领域的突出贡献和学生的认可,成为2013年度厦门大学教学类奖教金获得者,并获得由厦门大学计算机系2012级全体硕士研究生集体赠送的“铭记师恩牌匾”。中国高校首个“数字教师”提出者和建设者,2009年至今,“数字教师”大平台累计向网络免费发布超过100万字高价值的研究和教学资料,累计网络访问量超过100万次。打造了中国高校大数据教学知名品牌,编著出版了中国高校第一本系统介绍大数据知识的专业教材《大数据技术原理与应用》,并成为京东、当当网等网店畅销书籍;建设了国内高校首个大数据课程公共服务平台,为教师教学和学生学习大数据课程提供全方位、一站式服务,年访问量超过50万次。具有丰富的政府和企业信息化培训经验,厦门大学管理学院EDP中心、浙江大学管理学院EDP中心、厦门大学继续教育学院、泉州市科技培训中心特邀培训讲师,曾给中国移动通信集团公司、福州马尾区政府、福建龙岩卷烟厂、福建省物联网科学研究院、石狮市物流协会、厦门市物流协会、浙江省中小企业家、四川泸州企业家、江苏沛县企业家等开展信息化培训,累计培训人数达3000人以上。作为课题负责人完成了国家发改委城市信息化重大课题、国家物联网重大应用示范工程区域试点泉州市工作方案、2015泉州市互联网经济调研等课题。

公告板

发布时间 内容
2017年1月5日 班级主页正式发布
2017年2月13日 新学期第1天,备课,更新第1章PPT
2017年2月14日 第1次课顺利完成
2017年2月17日 第2次课顺利完成,请到“课后作业”栏目下载作业并在下次课提交纸质作业
2017年3月3日 第1次上机实验室顺利举行
2017年5月5日 期末大作业正式发布,实验7-大实验,请到“上机实验”栏目下载,5月31日晚11点之前提交
2017年5月17日 确定期末考试时间为2017年6月6日周二上午10点30分到12点30分
2017年6月6日 2017年6月6日周二上午期末考试顺利结束,班级42名同学全部参加考试

学生名单

本班级具体名单如下(42人):

沈灿辉、蔡瑛珈、陈大松、陈俊华、陈思悦、陈泽伟、陈兆彬、杜伊涵、韩文凯、洪凯璇、胡志龙、黄可文、黄玥、黄泽龙、季宛霖、蒋之晗、李焱阳、连乐烁、林晖、林日荣、林诗捷、刘畅、刘丹、孟祥毅、阮德莲、沈琳、施俊杰、施卓衡、斯金磊、汪家诚、吴子涵、肖惠楚、杨凯、张凌、张韦妮、郑宁涵、钟鑫玥、黄宗超、臧铮

上课进度表

次数 周数 日期 章节 教材进度 内容
1 1 2017年2月14日周二上午34节 第1章绪论 第5版教材第6页讲完第1.1.1节 第1节自我介绍、教学大纲、考核方法、班级网站和助教介绍,讲解了数据库发展里程碑式人物,

第2节课

讲完了1.1.1数据、数据库、数据库管理系统、数据库系统和
1.1.3 数据管理技术的产生与发展
1.1.4 数据库系统的特点

2 1 2017年2月17日周五上午34节 第1章绪论  第5版教材第27页 讲到1.2.3.5 概念模型的一种表示方法:实体-联系方法,讲到职工自己实体的联系

第2节课讲完了第1.2节数据模型

3 2 2017年2月21日周二上午34节 第1章 绪论

第2章 关系数据库

第1章 绪论结束

第2章 关系数据库讲完了2.3.3参照完整性

4 2 2017年2月24日周五上午34节 第2章 关系数据库 讲完第2章 第2.4.2节专门的关系运算
5 3 2017年2月28日周二上午34节 第2章 关系数据库
第3章 关系数据库标准语言SQL
第1节课讲完第2章的最后作业,并且10分钟给同学做课堂作业
第2节课讲解第3章 关系数据库标准语言SQL 讲完了第3.2节 学生-课程数据库
6 3 2017年3月3日周五上午34节 第3章 关系数据库标准语言SQL 第1节课讲解数据库创建和表的创建、修改方法
第2节课讲解索引概念和创建方法
7 4 2017年3月7日周二上午34节 第3章 关系数据库标准语言SQL 第1节讲LIKE\NULL\IN\ORDER BY聚集函数、GROUP BY

第2节 课堂10分钟完成作业,讲HAVING、连接查询

8 4 2017年3月10日周五上午34节 第3章 关系数据库标准语言SQL 第1节讲等值连接、自然连接、外连接、非等值连接、自身连接、复合条件连接、多表连接

第2节讲嵌套查询IN、带有比较运算符的嵌套查询、带有ANY和ALL的子查询

9 5 2017年3月14日周二上午34节 第3章 关系数据库标准语言SQL 第1节讲了SQL分页语句、EXISTS语句

第2节讲了EXISTS语句两个实例,并布置课堂作业

10 5 2017年3月17日周五上午34节 第3章 关系数据库标准语言SQL 第1节课讲集合操作(并、交、差)、数据更新

第2节课讲视图,最后10分钟讲上一节课的课堂作业

11 6 2017年3月21日周二上午34节 第4章数据库安全性 第1节课前10分钟讲解了上一节课的关于数据库先行课的作业,然后两节课时间讲解第4章,详解讲解了SQL SERVER2008中的登录名和用户名创建,以及授权SELECT权限给U1
12 6 2017年3月24日周五上午34节 第4章数据库安全性 第1节讲解传递授权、回收权限

第2节讲解角色、视图

13 7 2017年3月28日周二上午34节 第4章数据库安全性第5章数据库完整性 第4章的审计和加密

第1节讲解了第5章数据库完整性的理论知识

第2节上机操作演示了实体完整性和参照完整性的定义方法

14 7 2017年3月31日周五上午34节 第5章数据库完整性 介绍了各种约束创建方法和触发器的创建方法
15 8 2017年4月4日周二上午34节 放假 放假 清明节放假,冲掉一次课
16 8 2017年4月7日周五上午34节 第5章数据库完整性
第6章关系数据理论
第5章数据库完整性,讲解触发器和断言
第6章关系数据理论,讲解了“问题的提出”
17 9 2017年4月11日周二上午34节 第6章关系数据理论 第6章关系数据理论
6.2规范化理论
1NF,2NF,3NF
18 9 2017年4月14日周五上午34节 第6章关系数据理论 第6章关系数据理论
6.2规范化理论
BCNF,4NF
6.3 数据依赖的公理系统
自反律、增广律、传递律
19 10 2017年4月18日周二上午34届 第6章关系数据理论 第6章关系数据理论
6.3 数据依赖的公理系统
自反律、增广律、传递律的证明
Armstrong公里系统有效性和完备性证明
20 10 2017年4月21日周五上午34节 第6章关系数据理论 第6章关系数据理论
6.3 数据依赖的公理系统
函数依赖集等价、最小依赖集、极小化过程、候选码的求解
21 11 2017年4月25日周二上午34届 第6章关系数据理论 第6章关系数据理论
6.4 模式的分解
第6章全部讲完
22 11 2017年4月28日周五上午34节 第8章数据库编程 第8章数据库编程
8.1 嵌入式SQL
23 12 2017年5月2日星期二上午34节 第8章数据库编程 第8章数据库编程
8.2存储过程
8.3 ODBC编程
8.4 JDBC编程
24 12 2017年5月5日周五上午34节 第7章数据库设计 7.1 数据库设计概述
7.2 需求分析
7.3 概念结构设计
7.4 逻辑结构设计
7.5 数据库的物理设计
7.6 数据库实施和维护
25 13 2017年5月9日星期二上午34节 第9章 数据库查询优化 9.1 关系数据库系统的查询处理
9.2 关系数据库系统的查询优化
9.3 基于半联接的查询优化
9.4 基于枚举法的查询优化
26 13 2017年5月12日周五上午34节 拓展:NoSQL数据库 NoSQL数据库
27 14 2017年5月16日星期二上午34节 期末复习 讲解往年考试试卷
28 14 2017年5月19日周五上午34节 拓展:大数据技术概述 大数据技术概述

课件下载

章节 内容提要 讲义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章 绪论  2017年2月17日周五上午布置作业,请在2月21日周二上午课堂提交纸质作业 王珊、萨师煊《数据库系统概论(第四版)》教材第38页第12和13题

12.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中,有的教授和副教授每人各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。

13.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所需的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用ER-图画出此工厂产品、零件、材料、仓库的概念模型。

下载
第2章关系数据库  课堂作业
2017年2月28日周二课堂当堂完成
 学生关系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章关系数据库 2017年2月28日周二上午34节布置,请在3月3日周五上午当堂提交纸质作业 王珊、萨师煊《数据库系统概论(第5版)》教材第70页第6题,只需要写出关系代数,不需要写ALPHA语言和QBE语言。  下载
第3章关系数据库标准语言SQL  课堂作业 我们拥有下面这个 “Orders” 表:

现在,我们希望查找每个客户的总金额(总订单)。

O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter

语句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。

实验报告请统一发送电子邮件到:xmudblab2017@163.com,助教会统计收到作业情况上报给老师,然后由老师通知哪些同学作业没有提交(或没有提交成功)。

实验题目 上机日期 下载实验指南 上机报告提交截止日期
实验1:数据库的基本使用 2017年3月3日周五下午5678节 下载 2017年 3月9日周四晚上11点之前提交到xmudblab2017@163.com
实验2:数据查询 2017年3月17日周五下午5678节 下载  2017年 3月23日周四晚上11点之前提交到xmudblab2017@163.com
实验3:数据更新、视图、权限管理 2017年3月31日周五下午5678节 下载 2017年 4月6日周四晚上11点之前提交到xmudblab2017@163.com
实验4:数据库完整性 2017年4月14日周五下午5678节 下载 2017年 4月20日周四晚上11点之前提交到xmudblab2017@163.com
实验5:基于Sql2005的C/S程序开发 2017年4月28日周五下午5678节 下载 2017年 5月4日周四晚上11点之前提交到xmudblab2017@163.com
实验6:过程语言 2016年5月12日周五下午5678节 下载 2017年 5月18日周四晚上11点之前提交到xmudblab2017@163.com
实验7-大实验(期末,小组2-3人合作) 课后在宿舍或实验室完成 下载 2017年 5月31日周三晚上11点之前提交到xmudblab2017@163.com

超过截止提交时间一律以 0分计算

实验相关资料下载

SQL Server 2008 JDBC驱动程序下载

课程助教

魏亮
厦大计算机系2016级研究生
E-mai:851189929@qq.com
曾冠华
厦大计算机系2016级研究生
E-mail:1393723173@qq.com

班级相册

为同学留下美好的课堂记忆